solid-panes 5.0.0-1 → 5.0.0
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/RDFXMLPane2.cjs.js.map +1 -1
- package/dist/RDFXMLPane2.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/arrow-left.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/arrow-left.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/folder-open.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/folder-open.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/folder.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/folder.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/globe.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/globe.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/help-circle.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/help-circle.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/pencil.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/pencil.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/settings-2.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/settings-2.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/share-2.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/share-2.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/user-round-cog.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/user-round-cog.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/user.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/user.esm.js.map +1 -1
- package/dist/_virtual/~icons/lucide/users.cjs.js.map +1 -1
- package/dist/_virtual/~icons/lucide/users.esm.js.map +1 -1
- package/dist/audio/audioPane.cjs.js.map +1 -1
- package/dist/audio/audioPane.esm.js.map +1 -1
- package/dist/classInstancePane.cjs.js.map +1 -1
- package/dist/classInstancePane.esm.js.map +1 -1
- package/dist/components/editor-card/EditorCard.cjs.js.map +1 -1
- package/dist/components/editor-card/EditorCard.esm.js.map +1 -1
- package/dist/components/editor-card/EditorCard.styles.cjs.js.map +1 -1
- package/dist/components/editor-card/EditorCard.styles.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerProvider.esm.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js.map +1 -1
- package/dist/components/header/Header.cjs.js.map +1 -1
- package/dist/components/header/Header.esm.js.map +1 -1
- package/dist/components/header/Header.styles.cjs.js.map +1 -1
- package/dist/components/header/Header.styles.esm.js.map +1 -1
- package/dist/components/navbar/Navbar.cjs.js.map +1 -1
- package/dist/components/navbar/Navbar.esm.js.map +1 -1
- package/dist/components/navbar/Navbar.styles.cjs.js.map +1 -1
- package/dist/components/navbar/Navbar.styles.esm.js.map +1 -1
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -1
- package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.map +1 -1
- package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.cjs.js.map +1 -1
- package/dist/components/resource-actions-menu/ResourceActionsMenu.styles.esm.js.map +1 -1
- package/dist/dashboard/basicPreferences.cjs.js.map +1 -1
- package/dist/dashboard/basicPreferences.esm.js.map +1 -1
- package/dist/dashboard/dashboardPane.cjs.js.map +1 -1
- package/dist/dashboard/dashboardPane.esm.js.map +1 -1
- package/dist/dashboard/homepage.cjs.js.map +1 -1
- package/dist/dashboard/homepage.esm.js.map +1 -1
- package/dist/dashboard/ontologyData.cjs.js.map +1 -1
- package/dist/dashboard/ontologyData.esm.js.map +1 -1
- package/dist/dashboard/preferencesFormText.cjs.js.map +1 -1
- package/dist/dashboard/preferencesFormText.esm.js.map +1 -1
- package/dist/dataContentPane2.cjs.js.map +1 -1
- package/dist/dataContentPane2.esm.js.map +1 -1
- package/dist/defaultPane2.cjs.js.map +1 -1
- package/dist/defaultPane2.esm.js.map +1 -1
- package/dist/dokieli/dokieliPane.cjs.js.map +1 -1
- package/dist/dokieli/dokieliPane.esm.js.map +1 -1
- package/dist/dokieli/new.cjs.js.map +1 -1
- package/dist/dokieli/new.esm.js.map +1 -1
- package/dist/form/pane.cjs.js.map +1 -1
- package/dist/form/pane.esm.js.map +1 -1
- package/dist/home/homePane.cjs.js.map +1 -1
- package/dist/home/homePane.esm.js.map +1 -1
- package/dist/humanReadablePane2.cjs.js.map +1 -1
- package/dist/humanReadablePane2.esm.js.map +1 -1
- package/dist/icons/folder.cjs.js.map +1 -1
- package/dist/icons/folder.esm.js.map +1 -1
- package/dist/icons/friends.cjs.js.map +1 -1
- package/dist/icons/friends.esm.js.map +1 -1
- package/dist/icons/person.cjs.js.map +1 -1
- package/dist/icons/person.esm.js.map +1 -1
- package/dist/imagePane2.cjs.js.map +1 -1
- package/dist/imagePane2.esm.js.map +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/internal/internalPane2.cjs.js.map +1 -1
- package/dist/internal/internalPane2.esm.js.map +1 -1
- package/dist/mainPage/header.cjs.js.map +1 -1
- package/dist/mainPage/header.esm.js.map +1 -1
- package/dist/mainPage/index.cjs.js.map +1 -1
- package/dist/mainPage/index.esm.js.map +1 -1
- package/dist/mainPage/navbar.cjs.js.map +1 -1
- package/dist/mainPage/navbar.esm.js.map +1 -1
- package/dist/n3Pane2.cjs.js.map +1 -1
- package/dist/n3Pane2.esm.js.map +1 -1
- package/dist/outline/context.cjs.js.map +1 -1
- package/dist/outline/context.esm.js.map +1 -1
- package/dist/outline/manager2.cjs.js +1 -1
- package/dist/outline/manager2.cjs.js.map +1 -1
- package/dist/outline/manager2.esm.js +1 -1
- package/dist/outline/manager2.esm.js.map +1 -1
- package/dist/outline/outlineIcons.cjs.js.map +1 -1
- package/dist/outline/outlineIcons.esm.js.map +1 -1
- package/dist/outline/propertyViews.cjs.js.map +1 -1
- package/dist/outline/propertyViews.esm.js.map +1 -1
- package/dist/outline/queryByExample.cjs.js.map +1 -1
- package/dist/outline/queryByExample.esm.js.map +1 -1
- package/dist/outline/userInput.cjs.js.map +1 -1
- package/dist/outline/userInput.esm.js.map +1 -1
- package/dist/outline/viewAsImage.cjs.js.map +1 -1
- package/dist/outline/viewAsImage.esm.js.map +1 -1
- package/dist/outline/viewAsMbox.cjs.js.map +1 -1
- package/dist/outline/viewAsMbox.esm.js.map +1 -1
- package/dist/pad/padPane2.cjs.js.map +1 -1
- package/dist/pad/padPane2.esm.js.map +1 -1
- package/dist/playlist/playlistPane.cjs.js.map +1 -1
- package/dist/playlist/playlistPane.esm.js.map +1 -1
- package/dist/registerPanes.cjs.js.map +1 -1
- package/dist/registerPanes.esm.js.map +1 -1
- package/dist/schedule/formsForSchedule.cjs.js.map +1 -1
- package/dist/schedule/formsForSchedule.esm.js.map +1 -1
- package/dist/schedule/schedulePane2.cjs.js.map +1 -1
- package/dist/schedule/schedulePane2.esm.js.map +1 -1
- package/dist/sharing/sharingPane.cjs.js.map +1 -1
- package/dist/sharing/sharingPane.esm.js.map +1 -1
- package/dist/slideshow/slideshowPane.cjs.js.map +1 -1
- package/dist/slideshow/slideshowPane.esm.js.map +1 -1
- package/dist/social/editProfileDetails.cjs.js.map +1 -1
- package/dist/social/editProfileDetails.esm.js.map +1 -1
- package/dist/social/icons.cjs.js.map +1 -1
- package/dist/social/icons.esm.js.map +1 -1
- package/dist/social/socialPane2.cjs.js.map +1 -1
- package/dist/social/socialPane2.esm.js.map +1 -1
- package/dist/social/socialSections.cjs.js.map +1 -1
- package/dist/social/socialSections.esm.js.map +1 -1
- package/dist/social/triage.cjs.js.map +1 -1
- package/dist/social/triage.esm.js.map +1 -1
- package/dist/tabbed/tabbedPane.cjs.js.map +1 -1
- package/dist/tabbed/tabbedPane.esm.js.map +1 -1
- package/dist/tableViewPane.cjs.js.map +1 -1
- package/dist/tableViewPane.esm.js.map +1 -1
- package/dist/transaction/pane.cjs.js.map +1 -1
- package/dist/transaction/pane.esm.js.map +1 -1
- package/dist/transaction/period.cjs.js.map +1 -1
- package/dist/transaction/period.esm.js.map +1 -1
- package/dist/trip/tripPane.cjs.js.map +1 -1
- package/dist/trip/tripPane.esm.js.map +1 -1
- package/dist/trustedApplications/trustedApplications.dom.cjs.js.map +1 -1
- package/dist/trustedApplications/trustedApplications.dom.esm.js.map +1 -1
- package/dist/trustedApplications/trustedApplications.utils.cjs.js.map +1 -1
- package/dist/trustedApplications/trustedApplications.utils.esm.js.map +1 -1
- package/dist/trustedApplications/trustedApplications.view.cjs.js.map +1 -1
- package/dist/trustedApplications/trustedApplications.view.esm.js.map +1 -1
- package/dist/ui/pane.cjs.js.map +1 -1
- package/dist/ui/pane.esm.js.map +1 -1
- package/dist/utils/paneUtils.cjs.js.map +1 -1
- package/dist/utils/paneUtils.esm.js.map +1 -1
- package/dist/utils/podUtils.cjs.js.map +1 -1
- package/dist/utils/podUtils.esm.js.map +1 -1
- package/dist/utils/webIdUtils.cjs.js.map +1 -1
- package/dist/utils/webIdUtils.esm.js.map +1 -1
- package/dist/versionInfo.cjs.js +1 -1
- package/dist/versionInfo.cjs.js.map +1 -1
- package/dist/versionInfo.esm.js +3 -3
- package/dist/versionInfo.esm.js.map +1 -1
- package/dist/video/videoPane.cjs.js.map +1 -1
- package/dist/video/videoPane.esm.js.map +1 -1
- package/package.json +13 -13
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require("../../utils/podUtils.cjs.js");require("../../_virtual/~icons/lucide/pencil.cjs.js"),require("../../_virtual/~icons/lucide/user-round-cog.cjs.js");const t=require("./FileExplorerHeaderControls.styles.cjs.js");require("../resource-actions-menu/ResourceActionsMenu.cjs.js");let n=require("solid-ui"),r=require("lit/decorators.js"),i=require("@lit/context"),a=require("lit");require("solid-ui/components/button");var o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w;function T(e,t,n){E(e,t),t.set(e,n)}function E(e,t){if(t.has(e))throw TypeError(`Cannot initialize the same private elements twice on an object`)}function D(e,t,n){return e.set(k(e,t),n),n}function O(e,t){return e.get(k(e,t))}function k(e,t,n){if(typeof e==`function`?e===t:e.has(t))return arguments.length<3?t:n;throw TypeError(`Private element is not present on this object`)}function A(e,t,n){return(t=M(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j(e,t,n,r,i,a){function o(e,t,n){return function(r,i){return n&&n(r),e[t].call(r,i)}}function s(e,t){for(var n=0;n<e.length;n++)e[n].call(t);return t}function c(e,t,n,r){if(typeof e!=`function`&&(r||e!==void 0))throw TypeError(t+` must `+(n||`be`)+` a function`+(r?``:` or undefined`));return e}function l(e,t,n,r,i,a,s,l,u,d,f,p,m){function h(e){if(!m(e))throw TypeError(`Attempted to access private element on non-instance`)}var g,_=t[0],v=t[3],y=!l;if(!y){n||Array.isArray(_)||(_=[_]);var b={},x=[],S=i===3?`get`:i===4||p?`set`:`value`;d?(f||p?b={get:P(function(){return v(this)},r,`get`),set:function(e){t[4](this,e)}}:b[S]=v,f||P(b[S],r,i===2?``:S)):f||(b=Object.getOwnPropertyDescriptor(e,r))}for(var C=e,w=_.length-1;w>=0;w-=n?2:1){var T=_[w],E=n?_[w-1]:void 0,D={},O={kind:[`field`,`accessor`,`method`,`getter`,`setter`,`class`][i],name:r,metadata:a,addInitializer:function(e,t){if(e.v)throw Error(`attempted to call addInitializer after decoration was finished`);c(t,`An initializer`,`be`,!0),s.push(t)}.bind(null,D)};try{if(y)(g=c(T.call(E,C,O),`class decorators`,`return`))&&(C=g);else{var k,A;O.static=u,O.private=d,d?i===2?k=function(e){return h(e),b.value}:(i<4&&(k=o(b,`get`,h)),i!==3&&(A=o(b,`set`,h))):(k=function(e){return e[r]},(i<2||i===4)&&(A=function(e,t){e[r]=t}));var j=O.access={has:d?m.bind():function(e){return r in e}};if(k&&(j.get=k),A&&(j.set=A),C=T.call(E,p?{get:b.get,set:b.set}:b[S],O),p){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);else if(C!==void 0)throw TypeError(`accessor decorators must return an object with get, set, or init properties or void 0`)}else c(C,(f?`field`:`method`)+` decorators`,`return`)&&(f?x.push(C):b[S]=C)}}finally{D.v=!0}}return(f||p)&&l.push(function(e,t){for(var n=x.length-1;n>=0;n--)t=x[n].call(e,t);return t}),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}function u(e,t){return Object.defineProperty(e,Symbol.metadata||Symbol.for(`Symbol.metadata`),{configurable:!0,enumerable:!0,value:t})}if(arguments.length>=6)var d=a[Symbol.metadata||Symbol.for(`Symbol.metadata`)];var f=Object.create(d??null),p=function(e,t,n,r){var i,a,o=[],c=function(t){return F(t)===e},u=new Map;function d(e){e&&o.push(s.bind(null,e))}for(var f=0;f<t.length;f++){var p=t[f];if(Array.isArray(p)){var m=p[1],h=p[2],g=p.length>3,_=16&m,v=!!(8&m),y=(m&=7)==0,b=h+`/`+v;if(!y&&!g){var x=u.get(b);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);u.set(b,!(m>2)||m)}l(v?e:e.prototype,p,_,g?`#`+h:M(h),m,r,v?a||=[]:i||=[],o,v,g,y,m===1,v&&g?c:n)}}return d(i),d(a),o}(e,t,i,f);return n.length||u(e,f),{e:p,get c(){var t=[];return n.length&&[u(l(e,[n],r,e.name,5,f,t),f),s.bind(null,t,e)]}}}function M(e){var t=N(e,`string`);return typeof t==`symbol`?t:t+``}function N(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function P(e,t,n){typeof t==`symbol`&&(t=(t=t.description)?`[`+t+`]`:``);try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+` `+t:t})}catch{}return e}function F(e){if(Object(e)!==e)throw TypeError(`right-hand side of 'in' should be an object, got `+(e===null?`null`:typeof e));return e}function I(e){return e}m=[(0,r.customElement)(`file-explorer-header-controls`)];var L;new(C=(c=new WeakMap,l=new WeakMap,u=new WeakMap,d=new WeakMap,w=(h=(0,i.consume)({context:n.fileExplorerContext,subscribe:!0}),_=(0,r.property)({attribute:!1}),y=(0,r.property)({type:Boolean}),x=(0,r.state)(),`mobileMediaQuery`),s=class extends n.WebComponent{constructor(...e){super(...e),A(this,w,void f(this)),A(this,`mobileQuery`,`(max-width: 600px)`),A(this,`handleMobileMediaChange`,e=>{this.isMobile=e.matches}),T(this,c,g(this,void 0)),T(this,l,v(this,[])),T(this,u,b(this,!1)),T(this,d,S(this,typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(max-width: 600px)`).matches))}get fileExplorerContext(){return O(c,this)}set fileExplorerContext(e){D(c,this,e)}get menuItems(){return O(l,this)}set menuItems(e){D(l,this,e)}get canEdit(){return O(u,this)}set canEdit(e){D(u,this,e)}get isMobile(){return O(d,this)}set isMobile(e){D(d,this,e)}connectedCallback(){super.connectedCallback()
|
|
1
|
+
const e=require("../../utils/podUtils.cjs.js");require("../../_virtual/~icons/lucide/pencil.cjs.js"),require("../../_virtual/~icons/lucide/user-round-cog.cjs.js");const t=require("./FileExplorerHeaderControls.styles.cjs.js");require("../resource-actions-menu/ResourceActionsMenu.cjs.js");let n=require("solid-ui"),r=require("lit/decorators.js"),i=require("@lit/context"),a=require("lit");require("solid-ui/components/button");var o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w;function T(e,t,n){E(e,t),t.set(e,n)}function E(e,t){if(t.has(e))throw TypeError(`Cannot initialize the same private elements twice on an object`)}function D(e,t,n){return e.set(k(e,t),n),n}function O(e,t){return e.get(k(e,t))}function k(e,t,n){if(typeof e==`function`?e===t:e.has(t))return arguments.length<3?t:n;throw TypeError(`Private element is not present on this object`)}function A(e,t,n){return(t=M(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j(e,t,n,r,i,a){function o(e,t,n){return function(r,i){return n&&n(r),e[t].call(r,i)}}function s(e,t){for(var n=0;n<e.length;n++)e[n].call(t);return t}function c(e,t,n,r){if(typeof e!=`function`&&(r||e!==void 0))throw TypeError(t+` must `+(n||`be`)+` a function`+(r?``:` or undefined`));return e}function l(e,t,n,r,i,a,s,l,u,d,f,p,m){function h(e){if(!m(e))throw TypeError(`Attempted to access private element on non-instance`)}var g,_=t[0],v=t[3],y=!l;if(!y){n||Array.isArray(_)||(_=[_]);var b={},x=[],S=i===3?`get`:i===4||p?`set`:`value`;d?(f||p?b={get:P(function(){return v(this)},r,`get`),set:function(e){t[4](this,e)}}:b[S]=v,f||P(b[S],r,i===2?``:S)):f||(b=Object.getOwnPropertyDescriptor(e,r))}for(var C=e,w=_.length-1;w>=0;w-=n?2:1){var T=_[w],E=n?_[w-1]:void 0,D={},O={kind:[`field`,`accessor`,`method`,`getter`,`setter`,`class`][i],name:r,metadata:a,addInitializer:function(e,t){if(e.v)throw Error(`attempted to call addInitializer after decoration was finished`);c(t,`An initializer`,`be`,!0),s.push(t)}.bind(null,D)};try{if(y)(g=c(T.call(E,C,O),`class decorators`,`return`))&&(C=g);else{var k,A;O.static=u,O.private=d,d?i===2?k=function(e){return h(e),b.value}:(i<4&&(k=o(b,`get`,h)),i!==3&&(A=o(b,`set`,h))):(k=function(e){return e[r]},(i<2||i===4)&&(A=function(e,t){e[r]=t}));var j=O.access={has:d?m.bind():function(e){return r in e}};if(k&&(j.get=k),A&&(j.set=A),C=T.call(E,p?{get:b.get,set:b.set}:b[S],O),p){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);else if(C!==void 0)throw TypeError(`accessor decorators must return an object with get, set, or init properties or void 0`)}else c(C,(f?`field`:`method`)+` decorators`,`return`)&&(f?x.push(C):b[S]=C)}}finally{D.v=!0}}return(f||p)&&l.push(function(e,t){for(var n=x.length-1;n>=0;n--)t=x[n].call(e,t);return t}),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}function u(e,t){return Object.defineProperty(e,Symbol.metadata||Symbol.for(`Symbol.metadata`),{configurable:!0,enumerable:!0,value:t})}if(arguments.length>=6)var d=a[Symbol.metadata||Symbol.for(`Symbol.metadata`)];var f=Object.create(d??null),p=function(e,t,n,r){var i,a,o=[],c=function(t){return F(t)===e},u=new Map;function d(e){e&&o.push(s.bind(null,e))}for(var f=0;f<t.length;f++){var p=t[f];if(Array.isArray(p)){var m=p[1],h=p[2],g=p.length>3,_=16&m,v=!!(8&m),y=(m&=7)==0,b=h+`/`+v;if(!y&&!g){var x=u.get(b);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);u.set(b,!(m>2)||m)}l(v?e:e.prototype,p,_,g?`#`+h:M(h),m,r,v?a||=[]:i||=[],o,v,g,y,m===1,v&&g?c:n)}}return d(i),d(a),o}(e,t,i,f);return n.length||u(e,f),{e:p,get c(){var t=[];return n.length&&[u(l(e,[n],r,e.name,5,f,t),f),s.bind(null,t,e)]}}}function M(e){var t=N(e,`string`);return typeof t==`symbol`?t:t+``}function N(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function P(e,t,n){typeof t==`symbol`&&(t=(t=t.description)?`[`+t+`]`:``);try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+` `+t:t})}catch{}return e}function F(e){if(Object(e)!==e)throw TypeError(`right-hand side of 'in' should be an object, got `+(e===null?`null`:typeof e));return e}function I(e){return e}m=[(0,r.customElement)(`file-explorer-header-controls`)];var L;new(C=(c=new WeakMap,l=new WeakMap,u=new WeakMap,d=new WeakMap,w=(h=(0,i.consume)({context:n.fileExplorerContext,subscribe:!0}),_=(0,r.property)({attribute:!1}),y=(0,r.property)({type:Boolean}),x=(0,r.state)(),`mobileMediaQuery`),s=class extends n.WebComponent{constructor(...e){super(...e),A(this,w,void f(this)),A(this,`mobileQuery`,`(max-width: 600px)`),A(this,`handleMobileMediaChange`,e=>{this.isMobile=e.matches}),T(this,c,g(this,void 0)),T(this,l,v(this,[])),T(this,u,b(this,!1)),T(this,d,S(this,typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(max-width: 600px)`).matches))}get fileExplorerContext(){return O(c,this)}set fileExplorerContext(e){D(c,this,e)}get menuItems(){return O(l,this)}set menuItems(e){D(l,this,e)}get canEdit(){return O(u,this)}set canEdit(e){D(u,this,e)}get isMobile(){return O(d,this)}set isMobile(e){D(d,this,e)}connectedCallback(){super.connectedCallback(),typeof window<`u`&&typeof window.matchMedia==`function`&&(this.mobileMediaQuery=window.matchMedia(this.mobileQuery),this.isMobile=this.mobileMediaQuery.matches,this.mobileMediaQuery.addEventListener(`change`,this.handleMobileMediaChange))}disconnectedCallback(){this.mobileMediaQuery?.removeEventListener(`change`,this.handleMobileMediaChange),this.mobileMediaQuery=void 0,super.disconnectedCallback()}getEditTooltip(){return this.canEdit?`Edit`:`No Access`}renderDirtyIndicator(){return this.fileExplorerContext.edit?.isDirty?a.html`<span class="dirtyIndicator" title="This file has unsaved changes">Unsaved</span>`:a.nothing}render(){let t=e.isContainerSubject(this.fileExplorerContext.store,this.fileExplorerContext.subjectUri),n=this.fileExplorerContext.paneSupportsEditing;return a.html`
|
|
2
2
|
<div>
|
|
3
3
|
${this.renderDirtyIndicator()}
|
|
4
4
|
${!t&&!this.isMobile?a.html`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderControls.cjs.js","names":["WebComponent","customElement","property","state","consume","html","nothing","styles","fileExplorerContext","isContainerSubject","_classDecs","_FileExplorerHeaderCo","_FileExplorerHeaderCo2","_A","WeakMap","_B","_C","_D","_ref","_fileExplorerContextDecs","context","subscribe","_menuItemsDecs","attribute","_canEditDecs","type","Boolean","_isMobileDecs","_FileExplorerHeaderControls","FileExplorerHeaderControls","constructor","args","_defineProperty","_initProto","event","isMobile","matches","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_menuItems","_init_canEdit","_init_isMobile","window","matchMedia","_classPrivateFieldGet","v","_classPrivateFieldSet","menuItems","canEdit","connectedCallback","mobileMediaQuery","mobileQuery","addEventListener","handleMobileMediaChange","disconnectedCallback","removeEventListener","getEditTooltip","renderDirtyIndicator","edit","isDirty","render","isContainerResource","store","subjectUri","supportsEditing","paneSupportsEditing","handleAccessClick","onEdit","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.ts"],"sourcesContent":["import { WebComponent } from 'solid-ui'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { consume } from '@lit/context'\nimport { html, nothing } from 'lit'\nimport 'solid-ui/components/button'\nimport '~icons/lucide/user-round-cog'\nimport '~icons/lucide/pencil'\nimport styles from './FileExplorerHeaderControls.styles.css'\nimport '../resource-actions-menu/ResourceActionsMenu'\nimport { fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport { isContainerSubject } from '../../utils/podUtils'\n\n@customElement('file-explorer-header-controls')\nexport default class FileExplorerHeaderControls extends WebComponent {\n static styles = styles\n\n private mobileMediaQuery: MediaQueryList | undefined\n private readonly mobileQuery = '(max-width: 600px)'\n private readonly handleMobileMediaChange = (event: MediaQueryListEvent) => {\n this.isMobile = event.matches\n }\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor menuItems: Array<{ label: string, action: (event: Event) => void, icon?: HTMLElement }> = []\n\n @property({ type: Boolean })\n accessor canEdit: boolean = false\n\n @state()\n accessor isMobile = typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n ? window.matchMedia('(max-width: 600px)').matches\n : false\n\n connectedCallback () {\n super.connectedCallback()\n\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return\n }\n\n this.mobileMediaQuery = window.matchMedia(this.mobileQuery)\n this.isMobile = this.mobileMediaQuery.matches\n this.mobileMediaQuery.addEventListener('change', this.handleMobileMediaChange)\n }\n\n disconnectedCallback () {\n this.mobileMediaQuery?.removeEventListener('change', this.handleMobileMediaChange)\n this.mobileMediaQuery = undefined\n super.disconnectedCallback()\n }\n\n // TODO: Add broken then use this function to set tooltip and disable edit button\n /* private setEditable() {\n const sourcePaneState = this.sourceContext?.sourcePaneState\n const { canEdit } = this.sourceContext?.headerMetadata ?? { canEdit: false }\n const subject = this.sourceContext?.subject\n if (!sourcePaneState || !canEdit || sourcePaneState.broken || (subject && subject.endsWith('/'))) return\n\n this.sourceContext?.setEditing?.()\n } */\n\n private getEditTooltip () {\n if (!this.canEdit) return 'No Access'\n return 'Edit'\n }\n\n private renderDirtyIndicator () {\n if (!this.fileExplorerContext.edit?.isDirty) return nothing\n\n return html`<span class=\"dirtyIndicator\" title=\"This file has unsaved changes\">Unsaved</span>`\n }\n\n render () {\n const isContainerResource = isContainerSubject(this.fileExplorerContext.store, this.fileExplorerContext.subjectUri)\n const supportsEditing = this.fileExplorerContext.paneSupportsEditing\n\n return html`\n <div>\n ${this.renderDirtyIndicator()}\n ${!isContainerResource && !this.isMobile\n ? html`\n <solid-ui-button class=\"file-explorer-header-action-button\" variant=\"ghost\" title=\"Manage Access\" @click=${this.fileExplorerContext.handleAccessClick}>\n <icon-lucide-user-round-cog slot=\"icon\"></icon-lucide-user-round-cog>\n </solid-ui-button>\n ${supportsEditing\n ? html`\n <solid-ui-button\n class=\"file-explorer-header-action-button\"\n variant=\"ghost\"\n title=${this.getEditTooltip()}\n ?disabled=${!this.canEdit}\n @click=${this.fileExplorerContext.edit?.onEdit}\n >\n <icon-lucide-pencil slot=\"icon\"></icon-lucide-pencil>\n </solid-ui-button>\n `\n : nothing}\n `\n : nothing}\n <resource-actions-menu\n .store=${this.fileExplorerContext.store}\n .handleAccessClick=${this.fileExplorerContext.handleAccessClick}\n .handleEditingClick=${this.fileExplorerContext.edit?.onEdit}\n .paneSupportsEditing=${this.fileExplorerContext.paneSupportsEditing}\n .canEdit=${this.canEdit}\n .subjectUri=${this.fileExplorerContext?.subjectUri}\n .menuItems=${this.menuItems}\n .isMobile=${this.isMobile}\n ></resource-actions-menu>\n </div>\n `\n }\n}\n"],"mappings":"wgJAUyDU,EAAA,EAAA,EAExDT,EAAAA,cAAAA,CAAc,+BAA+B,CAAC,EAAA,IAAAU,EAAA,IAAAC,GAAAC,EAAA,IAAAC,QAAAC,EAAA,IAAAD,QAAAE,EAAA,IAAAF,QAAAG,EAAA,IAAAH,QAAAI,GAAAC,GAAAA,EAU5Cf,EAAAA,QAAAA,CAAQ,CAAEgB,QAASZ,EAAAA,oBAAqBa,UAAW,EAAK,CAAC,EAACC,GAAAA,EAG1DpB,EAAAA,SAAAA,CAAS,CAAEqB,UAAW,EAAM,CAAC,EAACC,GAAAA,EAG9BtB,EAAAA,SAAAA,CAAS,CAAEuB,KAAMC,OAAQ,CAAC,EAACC,GAAAA,EAG3BxB,EAAAA,MAAAA,CAAM,EAAC,oBAAAyB,EAnBV,cACwD5B,EAAAA,YAAa,CAAA8B,YAAA,GAAAC,EAAA,CAAA,MAAA,GAAAA,CAAA,EAAAC,EAAA,KAAAd,EAAA,KAAAe,EAAA,IAAA,CAAA,EAAAD,EAAA,KAAA,cAIpC,oBAAoB,EAAAA,EAAA,KAAA,0BACPE,GAA+B,CACzE,KAAKC,SAAWD,EAAME,OACxB,CAAC,EAAAC,EAAA,KAAAxB,EAAAyB,EAAA,KAGmDC,IAAAA,EAAS,CAAA,EAAAF,EAAA,KAAAtB,EAAAyB,EAAA,KAGsC,CAAA,CAAE,CAAA,EAAAH,EAAA,KAAArB,EAAAyB,EAAA,KAGzE,EAAK,CAAA,EAAAJ,EAAA,KAAApB,EAAAyB,EAAA,KAGb,OAAOC,OAAW,KAAe,OAAOA,OAAOC,YAAe,YAC9ED,OAAOC,WAAW,oBAAoB,CAAC,CAACR,OACnC,CAAA,CAAA,CAAA,IAXA5B,qBAAmB,CAAA,OAAAqC,EAAAhC,EAAA,IAAA,CAAA,CAAA,IAAnBL,oBAAmBsC,EAAA,CAAAC,EAAAlC,EAAA,KAAAiC,CAAA,CAAA,CAAA,IAGnBE,WAAS,CAAA,OAAAH,EAAA9B,EAAA,IAAA,CAAA,CAAA,IAATiC,UAASF,EAAA,CAAAC,EAAAhC,EAAA,KAAA+B,CAAA,CAAA,CAAA,IAGTG,SAAO,CAAA,OAAAJ,EAAA7B,EAAA,IAAA,CAAA,CAAA,IAAPiC,QAAOH,EAAA,CAAAC,EAAA/B,EAAA,KAAA8B,CAAA,CAAA,CAAA,IAGPX,UAAQ,CAAA,OAAAU,EAAA5B,EAAA,IAAA,CAAA,CAAA,IAARkB,SAAQW,EAAA,CAAAC,EAAA9B,EAAA,KAAA6B,CAAA,CAAA,CAIjBI,mBAAqB,CACnB,MAAMA,kBAAkB,EAEpB,
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderControls.cjs.js","names":["WebComponent","customElement","property","state","consume","html","nothing","styles","fileExplorerContext","isContainerSubject","_classDecs","_FileExplorerHeaderCo","_FileExplorerHeaderCo2","_A","WeakMap","_B","_C","_D","_ref","_fileExplorerContextDecs","context","subscribe","_menuItemsDecs","attribute","_canEditDecs","type","Boolean","_isMobileDecs","_FileExplorerHeaderControls","FileExplorerHeaderControls","constructor","args","_defineProperty","_initProto","event","isMobile","matches","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_menuItems","_init_canEdit","_init_isMobile","window","matchMedia","_classPrivateFieldGet","v","_classPrivateFieldSet","menuItems","canEdit","connectedCallback","mobileMediaQuery","mobileQuery","addEventListener","handleMobileMediaChange","disconnectedCallback","removeEventListener","getEditTooltip","renderDirtyIndicator","edit","isDirty","render","isContainerResource","store","subjectUri","supportsEditing","paneSupportsEditing","handleAccessClick","onEdit","e","c","_initClass","_applyDecs","_Class","_identity","default","customElement","consume","fileExplorerContext","property","state","WebComponent","nothing","isContainerSubject","styles","require_podUtils","require_FileExplorerHeaderControls_styles","solid_ui","lit_decorators_js","_lit_context","lit","_Class","_FileExplorerHeaderControls","_A","_B","_C","_D","_initProto","_initClass","_classDecs","_fileExplorerContextDecs","_init_fileExplorerContext","_menuItemsDecs","_init_menuItems","_canEditDecs","_init_canEdit","_isMobileDecs","_init_isMobile","_FileExplorerHeaderCo2","_ref","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","f","p","_setFunctionName","P","j","D","I","F","l","N","_checkInRHS","_toPrimitive","e","_identity","_FileExplorerHeaderCo","args","event","isContainerResource","supportsEditing"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.ts"],"sourcesContent":["import { WebComponent } from 'solid-ui'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { consume } from '@lit/context'\nimport { html, nothing } from 'lit'\nimport 'solid-ui/components/button'\nimport '~icons/lucide/user-round-cog'\nimport '~icons/lucide/pencil'\nimport styles from './FileExplorerHeaderControls.styles.css'\nimport '../resource-actions-menu/ResourceActionsMenu'\nimport { fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport { isContainerSubject } from '../../utils/podUtils'\n\n@customElement('file-explorer-header-controls')\nexport default class FileExplorerHeaderControls extends WebComponent {\n static styles = styles\n\n private mobileMediaQuery: MediaQueryList | undefined\n private readonly mobileQuery = '(max-width: 600px)'\n private readonly handleMobileMediaChange = (event: MediaQueryListEvent) => {\n this.isMobile = event.matches\n }\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor menuItems: Array<{ label: string, action: (event: Event) => void, icon?: HTMLElement }> = []\n\n @property({ type: Boolean })\n accessor canEdit: boolean = false\n\n @state()\n accessor isMobile = typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n ? window.matchMedia('(max-width: 600px)').matches\n : false\n\n connectedCallback () {\n super.connectedCallback()\n\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return\n }\n\n this.mobileMediaQuery = window.matchMedia(this.mobileQuery)\n this.isMobile = this.mobileMediaQuery.matches\n this.mobileMediaQuery.addEventListener('change', this.handleMobileMediaChange)\n }\n\n disconnectedCallback () {\n this.mobileMediaQuery?.removeEventListener('change', this.handleMobileMediaChange)\n this.mobileMediaQuery = undefined\n super.disconnectedCallback()\n }\n\n // TODO: Add broken then use this function to set tooltip and disable edit button\n /* private setEditable() {\n const sourcePaneState = this.sourceContext?.sourcePaneState\n const { canEdit } = this.sourceContext?.headerMetadata ?? { canEdit: false }\n const subject = this.sourceContext?.subject\n if (!sourcePaneState || !canEdit || sourcePaneState.broken || (subject && subject.endsWith('/'))) return\n\n this.sourceContext?.setEditing?.()\n } */\n\n private getEditTooltip () {\n if (!this.canEdit) return 'No Access'\n return 'Edit'\n }\n\n private renderDirtyIndicator () {\n if (!this.fileExplorerContext.edit?.isDirty) return nothing\n\n return html`<span class=\"dirtyIndicator\" title=\"This file has unsaved changes\">Unsaved</span>`\n }\n\n render () {\n const isContainerResource = isContainerSubject(this.fileExplorerContext.store, this.fileExplorerContext.subjectUri)\n const supportsEditing = this.fileExplorerContext.paneSupportsEditing\n\n return html`\n <div>\n ${this.renderDirtyIndicator()}\n ${!isContainerResource && !this.isMobile\n ? html`\n <solid-ui-button class=\"file-explorer-header-action-button\" variant=\"ghost\" title=\"Manage Access\" @click=${this.fileExplorerContext.handleAccessClick}>\n <icon-lucide-user-round-cog slot=\"icon\"></icon-lucide-user-round-cog>\n </solid-ui-button>\n ${supportsEditing\n ? html`\n <solid-ui-button\n class=\"file-explorer-header-action-button\"\n variant=\"ghost\"\n title=${this.getEditTooltip()}\n ?disabled=${!this.canEdit}\n @click=${this.fileExplorerContext.edit?.onEdit}\n >\n <icon-lucide-pencil slot=\"icon\"></icon-lucide-pencil>\n </solid-ui-button>\n `\n : nothing}\n `\n : nothing}\n <resource-actions-menu\n .store=${this.fileExplorerContext.store}\n .handleAccessClick=${this.fileExplorerContext.handleAccessClick}\n .handleEditingClick=${this.fileExplorerContext.edit?.onEdit}\n .paneSupportsEditing=${this.fileExplorerContext.paneSupportsEditing}\n .canEdit=${this.canEdit}\n .subjectUri=${this.fileExplorerContext?.subjectUri}\n .menuItems=${this.menuItems}\n .isMobile=${this.isMobile}\n ></resource-actions-menu>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -217,7 +217,7 @@ new (D = (f = /*#__PURE__*/ new WeakMap(), p = /*#__PURE__*/ new WeakMap(), m =
|
|
|
217
217
|
j(h, this, e);
|
|
218
218
|
}
|
|
219
219
|
connectedCallback() {
|
|
220
|
-
super.connectedCallback(),
|
|
220
|
+
super.connectedCallback(), typeof window < "u" && typeof window.matchMedia == "function" && (this.mobileMediaQuery = window.matchMedia(this.mobileQuery), this.isMobile = this.mobileMediaQuery.matches, this.mobileMediaQuery.addEventListener("change", this.handleMobileMediaChange));
|
|
221
221
|
}
|
|
222
222
|
disconnectedCallback() {
|
|
223
223
|
this.mobileMediaQuery?.removeEventListener("change", this.handleMobileMediaChange), this.mobileMediaQuery = void 0, super.disconnectedCallback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderControls.esm.js","names":["WebComponent","customElement","property","state","consume","html","nothing","styles","fileExplorerContext","isContainerSubject","_classDecs","_FileExplorerHeaderCo","_FileExplorerHeaderCo2","_A","WeakMap","_B","_C","_D","_ref","_fileExplorerContextDecs","context","subscribe","_menuItemsDecs","attribute","_canEditDecs","type","Boolean","_isMobileDecs","_FileExplorerHeaderControls","FileExplorerHeaderControls","constructor","args","_defineProperty","_initProto","event","isMobile","matches","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_menuItems","_init_canEdit","_init_isMobile","window","matchMedia","_classPrivateFieldGet","v","_classPrivateFieldSet","menuItems","canEdit","connectedCallback","mobileMediaQuery","mobileQuery","addEventListener","handleMobileMediaChange","disconnectedCallback","removeEventListener","getEditTooltip","renderDirtyIndicator","edit","isDirty","render","isContainerResource","store","subjectUri","supportsEditing","paneSupportsEditing","handleAccessClick","onEdit","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.ts"],"sourcesContent":["import { WebComponent } from 'solid-ui'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { consume } from '@lit/context'\nimport { html, nothing } from 'lit'\nimport 'solid-ui/components/button'\nimport '~icons/lucide/user-round-cog'\nimport '~icons/lucide/pencil'\nimport styles from './FileExplorerHeaderControls.styles.css'\nimport '../resource-actions-menu/ResourceActionsMenu'\nimport { fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport { isContainerSubject } from '../../utils/podUtils'\n\n@customElement('file-explorer-header-controls')\nexport default class FileExplorerHeaderControls extends WebComponent {\n static styles = styles\n\n private mobileMediaQuery: MediaQueryList | undefined\n private readonly mobileQuery = '(max-width: 600px)'\n private readonly handleMobileMediaChange = (event: MediaQueryListEvent) => {\n this.isMobile = event.matches\n }\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor menuItems: Array<{ label: string, action: (event: Event) => void, icon?: HTMLElement }> = []\n\n @property({ type: Boolean })\n accessor canEdit: boolean = false\n\n @state()\n accessor isMobile = typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n ? window.matchMedia('(max-width: 600px)').matches\n : false\n\n connectedCallback () {\n super.connectedCallback()\n\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return\n }\n\n this.mobileMediaQuery = window.matchMedia(this.mobileQuery)\n this.isMobile = this.mobileMediaQuery.matches\n this.mobileMediaQuery.addEventListener('change', this.handleMobileMediaChange)\n }\n\n disconnectedCallback () {\n this.mobileMediaQuery?.removeEventListener('change', this.handleMobileMediaChange)\n this.mobileMediaQuery = undefined\n super.disconnectedCallback()\n }\n\n // TODO: Add broken then use this function to set tooltip and disable edit button\n /* private setEditable() {\n const sourcePaneState = this.sourceContext?.sourcePaneState\n const { canEdit } = this.sourceContext?.headerMetadata ?? { canEdit: false }\n const subject = this.sourceContext?.subject\n if (!sourcePaneState || !canEdit || sourcePaneState.broken || (subject && subject.endsWith('/'))) return\n\n this.sourceContext?.setEditing?.()\n } */\n\n private getEditTooltip () {\n if (!this.canEdit) return 'No Access'\n return 'Edit'\n }\n\n private renderDirtyIndicator () {\n if (!this.fileExplorerContext.edit?.isDirty) return nothing\n\n return html`<span class=\"dirtyIndicator\" title=\"This file has unsaved changes\">Unsaved</span>`\n }\n\n render () {\n const isContainerResource = isContainerSubject(this.fileExplorerContext.store, this.fileExplorerContext.subjectUri)\n const supportsEditing = this.fileExplorerContext.paneSupportsEditing\n\n return html`\n <div>\n ${this.renderDirtyIndicator()}\n ${!isContainerResource && !this.isMobile\n ? html`\n <solid-ui-button class=\"file-explorer-header-action-button\" variant=\"ghost\" title=\"Manage Access\" @click=${this.fileExplorerContext.handleAccessClick}>\n <icon-lucide-user-round-cog slot=\"icon\"></icon-lucide-user-round-cog>\n </solid-ui-button>\n ${supportsEditing\n ? html`\n <solid-ui-button\n class=\"file-explorer-header-action-button\"\n variant=\"ghost\"\n title=${this.getEditTooltip()}\n ?disabled=${!this.canEdit}\n @click=${this.fileExplorerContext.edit?.onEdit}\n >\n <icon-lucide-pencil slot=\"icon\"></icon-lucide-pencil>\n </solid-ui-button>\n `\n : nothing}\n `\n : nothing}\n <resource-actions-menu\n .store=${this.fileExplorerContext.store}\n .handleAccessClick=${this.fileExplorerContext.handleAccessClick}\n .handleEditingClick=${this.fileExplorerContext.edit?.onEdit}\n .paneSupportsEditing=${this.fileExplorerContext.paneSupportsEditing}\n .canEdit=${this.canEdit}\n .subjectUri=${this.fileExplorerContext?.subjectUri}\n .menuItems=${this.menuItems}\n .isMobile=${this.isMobile}\n ></resource-actions-menu>\n </div>\n `\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUyDU,IAAA,CAExDT,EAAc,+BAA+B,CAAC;AAAA,IAAAU;AAAA,KAAAC,KAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA,GAAAE,kBAAA,IAAAF,QAAA,GAAAG,kBAAA,IAAAH,QAAA,GAAAI,KAAAC,IAU5Cf,EAAQ;CAAEgB,SAASZ;CAAqBa,WAAW;AAAK,CAAC,GAACC,IAG1DpB,EAAS,EAAEqB,WAAW,GAAM,CAAC,GAACC,IAG9BtB,EAAS,EAAEuB,MAAMC,QAAQ,CAAC,GAACC,IAG3BxB,EAAM,GAAC,qBAAAyB,IAnBV,cACwD5B,EAAa;CAAA8B,YAAA,GAAAC,GAAA;EAgBlCM,AAhBkC,MAAA,GAAAN,CAAA,GAAAC,EAAA,MAAAd,GAAA,KAAAe,EAAA,IAAA,CAAA,GAAAD,EAAA,MAAA,eAIpC,oBAAoB,GAAAA,EAAA,MAAA,4BACPE,MAA+B;GACzE,KAAKC,WAAWD,EAAME;EACxB,CAAC,GAAAC,EAAA,MAAAxB,GAAAyB,EAAA,MAGmDC,KAAAA,CAAS,CAAA,GAAAF,EAAA,MAAAtB,GAAAyB,EAAA,MAGsC,CAAA,CAAE,CAAA,GAAAH,EAAA,MAAArB,GAAAyB,EAAA,MAGzE,EAAK,CAAA,GAAAJ,EAAA,MAAApB,GAAAyB,EAAA,MAGb,OAAOC,SAAW,OAAe,OAAOA,OAAOC,cAAe,cAC9ED,OAAOC,WAAW,oBAAoB,CAAC,CAACR,OACnC,CAAA;CAAA;CAAA,IAXA5B,sBAAmB;EAAA,OAAAqC,EAAAhC,GAAA,IAAA;CAAA;CAAA,IAAnBL,oBAAmBsC,GAAA;EAAAC,EAAAlC,GAAA,MAAAiC,CAAA;CAAA;CAAA,IAGnBE,YAAS;EAAA,OAAAH,EAAA9B,GAAA,IAAA;CAAA;CAAA,IAATiC,UAASF,GAAA;EAAAC,EAAAhC,GAAA,MAAA+B,CAAA;CAAA;CAAA,IAGTG,UAAO;EAAA,OAAAJ,EAAA7B,GAAA,IAAA;CAAA;CAAA,IAAPiC,QAAOH,GAAA;EAAAC,EAAA/B,GAAA,MAAA8B,CAAA;CAAA;CAAA,IAGPX,WAAQ;EAAA,OAAAU,EAAA5B,GAAA,IAAA;CAAA;CAAA,IAARkB,SAAQW,GAAA;EAAAC,EAAA9B,GAAA,MAAA6B,CAAA;CAAA;CAIjBI,oBAAqB;
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderControls.esm.js","names":["WebComponent","customElement","property","state","consume","html","nothing","styles","fileExplorerContext","isContainerSubject","_classDecs","_FileExplorerHeaderCo","_FileExplorerHeaderCo2","_A","WeakMap","_B","_C","_D","_ref","_fileExplorerContextDecs","context","subscribe","_menuItemsDecs","attribute","_canEditDecs","type","Boolean","_isMobileDecs","_FileExplorerHeaderControls","FileExplorerHeaderControls","constructor","args","_defineProperty","_initProto","event","isMobile","matches","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_menuItems","_init_canEdit","_init_isMobile","window","matchMedia","_classPrivateFieldGet","v","_classPrivateFieldSet","menuItems","canEdit","connectedCallback","mobileMediaQuery","mobileQuery","addEventListener","handleMobileMediaChange","disconnectedCallback","removeEventListener","getEditTooltip","renderDirtyIndicator","edit","isDirty","render","isContainerResource","store","subjectUri","supportsEditing","paneSupportsEditing","handleAccessClick","onEdit","e","c","_initClass","_applyDecs","_Class","_identity","default","customElement","styles","FileExplorerHeaderControls_styles_default","customElement$1","_Class","_FileExplorerHeaderControls","_A","_B","_C","_D","_initProto","_initClass","_classDecs","_fileExplorerContextDecs","_init_fileExplorerContext","_menuItemsDecs","_init_menuItems","_canEditDecs","_init_canEdit","_isMobileDecs","_init_isMobile","_FileExplorerHeaderCo2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","p","_setFunctionName","P","j","D","I","F","l","f","N","_checkInRHS","_toPrimitive","e","_identity","_FileExplorerHeaderCo","consume","fileExplorerContext","property","state","WebComponent","args","event","nothing","isContainerResource","isContainerSubject","supportsEditing"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.ts"],"sourcesContent":["import { WebComponent } from 'solid-ui'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { consume } from '@lit/context'\nimport { html, nothing } from 'lit'\nimport 'solid-ui/components/button'\nimport '~icons/lucide/user-round-cog'\nimport '~icons/lucide/pencil'\nimport styles from './FileExplorerHeaderControls.styles.css'\nimport '../resource-actions-menu/ResourceActionsMenu'\nimport { fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport { isContainerSubject } from '../../utils/podUtils'\n\n@customElement('file-explorer-header-controls')\nexport default class FileExplorerHeaderControls extends WebComponent {\n static styles = styles\n\n private mobileMediaQuery: MediaQueryList | undefined\n private readonly mobileQuery = '(max-width: 600px)'\n private readonly handleMobileMediaChange = (event: MediaQueryListEvent) => {\n this.isMobile = event.matches\n }\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor menuItems: Array<{ label: string, action: (event: Event) => void, icon?: HTMLElement }> = []\n\n @property({ type: Boolean })\n accessor canEdit: boolean = false\n\n @state()\n accessor isMobile = typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n ? window.matchMedia('(max-width: 600px)').matches\n : false\n\n connectedCallback () {\n super.connectedCallback()\n\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return\n }\n\n this.mobileMediaQuery = window.matchMedia(this.mobileQuery)\n this.isMobile = this.mobileMediaQuery.matches\n this.mobileMediaQuery.addEventListener('change', this.handleMobileMediaChange)\n }\n\n disconnectedCallback () {\n this.mobileMediaQuery?.removeEventListener('change', this.handleMobileMediaChange)\n this.mobileMediaQuery = undefined\n super.disconnectedCallback()\n }\n\n // TODO: Add broken then use this function to set tooltip and disable edit button\n /* private setEditable() {\n const sourcePaneState = this.sourceContext?.sourcePaneState\n const { canEdit } = this.sourceContext?.headerMetadata ?? { canEdit: false }\n const subject = this.sourceContext?.subject\n if (!sourcePaneState || !canEdit || sourcePaneState.broken || (subject && subject.endsWith('/'))) return\n\n this.sourceContext?.setEditing?.()\n } */\n\n private getEditTooltip () {\n if (!this.canEdit) return 'No Access'\n return 'Edit'\n }\n\n private renderDirtyIndicator () {\n if (!this.fileExplorerContext.edit?.isDirty) return nothing\n\n return html`<span class=\"dirtyIndicator\" title=\"This file has unsaved changes\">Unsaved</span>`\n }\n\n render () {\n const isContainerResource = isContainerSubject(this.fileExplorerContext.store, this.fileExplorerContext.subjectUri)\n const supportsEditing = this.fileExplorerContext.paneSupportsEditing\n\n return html`\n <div>\n ${this.renderDirtyIndicator()}\n ${!isContainerResource && !this.isMobile\n ? html`\n <solid-ui-button class=\"file-explorer-header-action-button\" variant=\"ghost\" title=\"Manage Access\" @click=${this.fileExplorerContext.handleAccessClick}>\n <icon-lucide-user-round-cog slot=\"icon\"></icon-lucide-user-round-cog>\n </solid-ui-button>\n ${supportsEditing\n ? html`\n <solid-ui-button\n class=\"file-explorer-header-action-button\"\n variant=\"ghost\"\n title=${this.getEditTooltip()}\n ?disabled=${!this.canEdit}\n @click=${this.fileExplorerContext.edit?.onEdit}\n >\n <icon-lucide-pencil slot=\"icon\"></icon-lucide-pencil>\n </solid-ui-button>\n `\n : nothing}\n `\n : nothing}\n <resource-actions-menu\n .store=${this.fileExplorerContext.store}\n .handleAccessClick=${this.fileExplorerContext.handleAccessClick}\n .handleEditingClick=${this.fileExplorerContext.edit?.onEdit}\n .paneSupportsEditing=${this.fileExplorerContext.paneSupportsEditing}\n .canEdit=${this.canEdit}\n .subjectUri=${this.fileExplorerContext?.subjectUri}\n .menuItems=${this.menuItems}\n .isMobile=${this.isMobile}\n ></resource-actions-menu>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderControls.styles.cjs.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.styles.css"],"sourcesContent":[":host {\n flex: 0 1 auto;\n min-width: 0;\n\n div {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 6px;\n flex: 0 0 auto;\n text-align: right;\n }\n\n /* generative ai */\n div > * {\n flex: 0 1 auto;\n }\n\n .file-explorer-header-action-button {\n width: var(--solid-ui-clickable-area, 42px);\n height: var(--solid-ui-clickable-area, 42px);\n padding: 0;\n }\n\n /* TODO: look into what colors to use this is just to show */\n .dirtyIndicator {\n display: inline-flex;\n align-items: center;\n border: 1px solid #F59E0B;\n color: #92400E;\n background: #FFFBEB;\n border-radius: 999px;\n font-size: 0.72rem;\n font-weight: 600;\n line-height: 1;\n padding: 4px 8px;\n white-space: nowrap;\n }\n\n icon-lucide-user-round-cog,\n icon-lucide-pencil {\n width: 16px;\n height: 16px;\n }\n\n @media (max-width: 900px) {\n div {\n padding-right: 3px;\n }\n }\n\n @media (max-width: 600px) {\n div {\n justify-content: flex-start;\n gap: 5px;\n }\n\n .file-explorer-header-action-button {\n display: none;\n }\n\n icon-lucide-ellipsis-vertical {\n width: 15.36px;\n height: 15.36px;\n flex-shrink: 0;\n aspect-ratio: 1 / 1;\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderControls.styles.cjs.js","names":["FileExplorerHeaderControls_styles_default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.styles.css"],"sourcesContent":[":host {\n flex: 0 1 auto;\n min-width: 0;\n\n div {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 6px;\n flex: 0 0 auto;\n text-align: right;\n }\n\n /* generative ai */\n div > * {\n flex: 0 1 auto;\n }\n\n .file-explorer-header-action-button {\n width: var(--solid-ui-clickable-area, 42px);\n height: var(--solid-ui-clickable-area, 42px);\n padding: 0;\n }\n\n /* TODO: look into what colors to use this is just to show */\n .dirtyIndicator {\n display: inline-flex;\n align-items: center;\n border: 1px solid #F59E0B;\n color: #92400E;\n background: #FFFBEB;\n border-radius: 999px;\n font-size: 0.72rem;\n font-weight: 600;\n line-height: 1;\n padding: 4px 8px;\n white-space: nowrap;\n }\n\n icon-lucide-user-round-cog,\n icon-lucide-pencil {\n width: 16px;\n height: 16px;\n }\n\n @media (max-width: 900px) {\n div {\n padding-right: 3px;\n }\n }\n\n @media (max-width: 600px) {\n div {\n justify-content: flex-start;\n gap: 5px;\n }\n\n .file-explorer-header-action-button {\n display: none;\n }\n\n icon-lucide-ellipsis-vertical {\n width: 15.36px;\n height: 15.36px;\n flex-shrink: 0;\n aspect-ratio: 1 / 1;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderControls.styles.esm.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.styles.css"],"sourcesContent":[":host {\n flex: 0 1 auto;\n min-width: 0;\n\n div {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 6px;\n flex: 0 0 auto;\n text-align: right;\n }\n\n /* generative ai */\n div > * {\n flex: 0 1 auto;\n }\n\n .file-explorer-header-action-button {\n width: var(--solid-ui-clickable-area, 42px);\n height: var(--solid-ui-clickable-area, 42px);\n padding: 0;\n }\n\n /* TODO: look into what colors to use this is just to show */\n .dirtyIndicator {\n display: inline-flex;\n align-items: center;\n border: 1px solid #F59E0B;\n color: #92400E;\n background: #FFFBEB;\n border-radius: 999px;\n font-size: 0.72rem;\n font-weight: 600;\n line-height: 1;\n padding: 4px 8px;\n white-space: nowrap;\n }\n\n icon-lucide-user-round-cog,\n icon-lucide-pencil {\n width: 16px;\n height: 16px;\n }\n\n @media (max-width: 900px) {\n div {\n padding-right: 3px;\n }\n }\n\n @media (max-width: 600px) {\n div {\n justify-content: flex-start;\n gap: 5px;\n }\n\n .file-explorer-header-action-button {\n display: none;\n }\n\n icon-lucide-ellipsis-vertical {\n width: 15.36px;\n height: 15.36px;\n flex-shrink: 0;\n aspect-ratio: 1 / 1;\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderControls.styles.esm.js","names":["FileExplorerHeaderControls_styles_default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.styles.css"],"sourcesContent":[":host {\n flex: 0 1 auto;\n min-width: 0;\n\n div {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 6px;\n flex: 0 0 auto;\n text-align: right;\n }\n\n /* generative ai */\n div > * {\n flex: 0 1 auto;\n }\n\n .file-explorer-header-action-button {\n width: var(--solid-ui-clickable-area, 42px);\n height: var(--solid-ui-clickable-area, 42px);\n padding: 0;\n }\n\n /* TODO: look into what colors to use this is just to show */\n .dirtyIndicator {\n display: inline-flex;\n align-items: center;\n border: 1px solid #F59E0B;\n color: #92400E;\n background: #FFFBEB;\n border-radius: 999px;\n font-size: 0.72rem;\n font-weight: 600;\n line-height: 1;\n padding: 4px 8px;\n white-space: nowrap;\n }\n\n icon-lucide-user-round-cog,\n icon-lucide-pencil {\n width: 16px;\n height: 16px;\n }\n\n @media (max-width: 900px) {\n div {\n padding-right: 3px;\n }\n }\n\n @media (max-width: 600px) {\n div {\n justify-content: flex-start;\n gap: 5px;\n }\n\n .file-explorer-header-action-button {\n display: none;\n }\n\n icon-lucide-ellipsis-vertical {\n width: 15.36px;\n height: 15.36px;\n flex-shrink: 0;\n aspect-ratio: 1 / 1;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderSummary.cjs.js","names":["sym","widgets","utils","WebComponent","fileExplorerContext","customElement","property","query","state","html","consume","styles","getContainerItemCount","isContainerSubject","_classDecs","_FileExplorerHeaderSu","_FileExplorerHeaderSu2","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_fileExplorerContextDecs","context","subscribe","_paneIconDecs","attribute","_onBackClickDecs","_responseMetadataDecs","_resolvedPaneIconDecs","_titleHeadingDecs","_FileExplorerHeaderSummary","FileExplorerHeaderSummary","constructor","args","_defineProperty","_initProto","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_paneIcon","_init_onBackClick","_init_responseMetadata","modified","isPublic","_init_resolvedPaneIcon","_init_titleHeading","_classPrivateFieldGet","v","_classPrivateFieldSet","paneIcon","onBackClick","responseMetadata","resolvedPaneIcon","titleHeading","formatModifiedDate","date","Date","Number","isNaN","getTime","parts","Intl","DateTimeFormat","day","month","year","hour","minute","hour12","formatToParts","getPart","type","find","part","value","dayPeriod","toUpperCase","updated","_resolvedPaneIconFor","resolvePaneIcon","subjectUri","_draggableSubjectUri","makeDraggable","icon","error","console","warn","renderContainerResourceHeader","label","itemCount","store","renderResourceHeader","render","subject","isContainerResource","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.ts"],"sourcesContent":["import { sym } from 'rdflib'\nimport { widgets, utils, WebComponent, fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport 'solid-ui/components/button'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { html } from 'lit'\nimport { consume } from '@lit/context'\nimport { PaneIcon } from './types'\nimport '~icons/lucide/globe'\nimport '~icons/lucide/lock-keyhole'\nimport '~icons/lucide/arrow-left'\nimport '~icons/lucide/folder'\nimport styles from './FileExplorerHeaderSummary.styles.css'\nimport { getContainerItemCount, isContainerSubject } from '../../utils/podUtils'\nimport type { FileExplorerResourceMetadata } from './types'\n\n@customElement('file-explorer-header-summary')\nexport default class FileExplorerHeaderSummary extends WebComponent {\n static styles = styles\n\n private _draggableSubjectUri: string | undefined\n private _resolvedPaneIconFor: PaneIcon | undefined\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor paneIcon: PaneIcon | undefined\n\n @property({ attribute: false })\n accessor onBackClick: (() => void) | undefined\n\n @property({ attribute: false })\n accessor responseMetadata: Pick<FileExplorerResourceMetadata, 'modified' | 'isPublic'> = {\n modified: undefined,\n isPublic: false\n }\n\n @state()\n accessor resolvedPaneIcon: string | undefined = undefined\n\n @query('h1')\n private accessor titleHeading: HTMLHeadingElement | null = null\n\n private formatModifiedDate (modified: string | undefined) {\n if (!modified) return ''\n\n const date = new Date(modified)\n if (Number.isNaN(date.getTime())) return modified\n\n const parts = new Intl.DateTimeFormat('en-GB', {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n }).formatToParts(date)\n\n const getPart = (type: Intl.DateTimeFormatPartTypes) => parts.find(part => part.type === type)?.value ?? ''\n const day = getPart('day')\n const month = getPart('month')\n const year = getPart('year')\n const hour = getPart('hour')\n const minute = getPart('minute')\n const dayPeriod = getPart('dayPeriod').toUpperCase()\n\n return `${day} ${month}, ${year} at ${hour}:${minute} ${dayPeriod}`\n }\n\n protected updated () {\n if (this.paneIcon !== undefined && this._resolvedPaneIconFor !== this.paneIcon) {\n this._resolvedPaneIconFor = this.paneIcon\n this.resolvePaneIcon()\n }\n\n if (!this.titleHeading || !this.fileExplorerContext?.subjectUri || this._draggableSubjectUri === this.fileExplorerContext.subjectUri) return\n\n widgets.makeDraggable(this.titleHeading, sym(this.fileExplorerContext.subjectUri)) // doing it this way for now, just to keep the same functionality\n this._draggableSubjectUri = this.fileExplorerContext.subjectUri\n }\n\n // Needed because humanReadable pane can return a promise for an icon.\n private async resolvePaneIcon () {\n try {\n if (this.paneIcon == null) {\n this.resolvedPaneIcon = undefined\n return\n }\n\n const icon = await this.paneIcon\n this.resolvedPaneIcon = icon ?? undefined\n } catch (error) {\n this.resolvedPaneIcon = undefined\n console.warn('file-explorer-header-summary: failed to resolve pane icon', error)\n }\n }\n\n private renderContainerResourceHeader (label: string, isPublic: boolean) {\n const itemCount = getContainerItemCount(this.fileExplorerContext?.store, this.fileExplorerContext?.subjectUri) ?? 0\n return html`\n <div class=\"container-info\">\n <h1>\n <span>${label}</span>\n </h1>\n <p>\n ${itemCount} items\n ${isPublic\n ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe></span>`\n : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole></span>`}\n </p>\n </div>\n `\n }\n\n private renderResourceHeader (label: string, isPublic: boolean) {\n const modified = this.formatModifiedDate(this.responseMetadata.modified)\n\n return html`\n <div class=\"resource-info\">\n <h1>\n <span>${label}</span>\n </h1>\n <p><span class=\"resource-date\">${modified}</span> ${isPublic ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe> Public</span>` : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole> Private</span>`}</p>\n </div>\n `\n }\n\n render () {\n const subject = this.fileExplorerContext?.subjectUri ? sym(this.fileExplorerContext.subjectUri) : undefined\n const label = subject ? utils.label(subject) : ''\n const isPublic = this.responseMetadata.isPublic\n const isContainerResource = isContainerSubject(this.fileExplorerContext?.store, this.fileExplorerContext?.subjectUri)\n\n return html`\n <div class=\"file-explorer-header-summary\">\n <solid-ui-button\n variant=\"ghost\"\n @click=${this.onBackClick}\n title=\"Back\"\n >\n <icon-lucide-arrow-left></icon-lucide-arrow-left>\n </solid-ui-button>\n <span class=\"pane-icon\">\n ${this.resolvedPaneIcon ? html`<img src=${this.resolvedPaneIcon} alt=\"\" />` : ''}\n </span>\n ${isContainerResource ? this.renderContainerResourceHeader(label, isPublic) : this.renderResourceHeader(label, isPublic)}\n </div>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderSummary.cjs.js","names":["sym","widgets","utils","WebComponent","fileExplorerContext","customElement","property","query","state","html","consume","styles","getContainerItemCount","isContainerSubject","_classDecs","_FileExplorerHeaderSu","_FileExplorerHeaderSu2","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_fileExplorerContextDecs","context","subscribe","_paneIconDecs","attribute","_onBackClickDecs","_responseMetadataDecs","_resolvedPaneIconDecs","_titleHeadingDecs","_FileExplorerHeaderSummary","FileExplorerHeaderSummary","constructor","args","_defineProperty","_initProto","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_paneIcon","_init_onBackClick","_init_responseMetadata","modified","isPublic","_init_resolvedPaneIcon","_init_titleHeading","_classPrivateFieldGet","v","_classPrivateFieldSet","paneIcon","onBackClick","responseMetadata","resolvedPaneIcon","titleHeading","formatModifiedDate","date","Date","Number","isNaN","getTime","parts","Intl","DateTimeFormat","day","month","year","hour","minute","hour12","formatToParts","getPart","type","find","part","value","dayPeriod","toUpperCase","updated","_resolvedPaneIconFor","resolvePaneIcon","subjectUri","_draggableSubjectUri","makeDraggable","icon","error","console","warn","renderContainerResourceHeader","label","itemCount","store","renderResourceHeader","render","subject","isContainerResource","e","c","_initClass","_applyDecs","_Class","_identity","default","customElement","consume","fileExplorerContext","property","state","query","WebComponent","sym","getContainerItemCount","utils","isContainerSubject","styles","require_podUtils","require_FileExplorerHeaderSummary_styles","solid_ui","rdflib","lit_decorators_js","_lit_context","lit","_Class","_FileExplorerHeaderSummary","_A","_B","_C","_D","_E","_F","_initProto","_initClass","_classDecs","_fileExplorerContextDecs","_init_fileExplorerContext","_paneIconDecs","_init_paneIcon","_onBackClickDecs","_init_onBackClick","_responseMetadataDecs","_init_responseMetadata","_resolvedPaneIconDecs","_init_resolvedPaneIcon","_titleHeadingDecs","_init_titleHeading","_FileExplorerHeaderSu2","_ref","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","f","p","_setFunctionName","P","j","D","I","F","l","N","_checkInRHS","_toPrimitive","e","_identity","_FileExplorerHeaderSu","args","modified","date","parts","getPart","part","type","icon","error","itemCount","label","isPublic","subject","isContainerResource"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.ts"],"sourcesContent":["import { sym } from 'rdflib'\nimport { widgets, utils, WebComponent, fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport 'solid-ui/components/button'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { html } from 'lit'\nimport { consume } from '@lit/context'\nimport { PaneIcon } from './types'\nimport '~icons/lucide/globe'\nimport '~icons/lucide/lock-keyhole'\nimport '~icons/lucide/arrow-left'\nimport '~icons/lucide/folder'\nimport styles from './FileExplorerHeaderSummary.styles.css'\nimport { getContainerItemCount, isContainerSubject } from '../../utils/podUtils'\nimport type { FileExplorerResourceMetadata } from './types'\n\n@customElement('file-explorer-header-summary')\nexport default class FileExplorerHeaderSummary extends WebComponent {\n static styles = styles\n\n private _draggableSubjectUri: string | undefined\n private _resolvedPaneIconFor: PaneIcon | undefined\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor paneIcon: PaneIcon | undefined\n\n @property({ attribute: false })\n accessor onBackClick: (() => void) | undefined\n\n @property({ attribute: false })\n accessor responseMetadata: Pick<FileExplorerResourceMetadata, 'modified' | 'isPublic'> = {\n modified: undefined,\n isPublic: false\n }\n\n @state()\n accessor resolvedPaneIcon: string | undefined = undefined\n\n @query('h1')\n private accessor titleHeading: HTMLHeadingElement | null = null\n\n private formatModifiedDate (modified: string | undefined) {\n if (!modified) return ''\n\n const date = new Date(modified)\n if (Number.isNaN(date.getTime())) return modified\n\n const parts = new Intl.DateTimeFormat('en-GB', {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n }).formatToParts(date)\n\n const getPart = (type: Intl.DateTimeFormatPartTypes) => parts.find(part => part.type === type)?.value ?? ''\n const day = getPart('day')\n const month = getPart('month')\n const year = getPart('year')\n const hour = getPart('hour')\n const minute = getPart('minute')\n const dayPeriod = getPart('dayPeriod').toUpperCase()\n\n return `${day} ${month}, ${year} at ${hour}:${minute} ${dayPeriod}`\n }\n\n protected updated () {\n if (this.paneIcon !== undefined && this._resolvedPaneIconFor !== this.paneIcon) {\n this._resolvedPaneIconFor = this.paneIcon\n this.resolvePaneIcon()\n }\n\n if (!this.titleHeading || !this.fileExplorerContext?.subjectUri || this._draggableSubjectUri === this.fileExplorerContext.subjectUri) return\n\n widgets.makeDraggable(this.titleHeading, sym(this.fileExplorerContext.subjectUri)) // doing it this way for now, just to keep the same functionality\n this._draggableSubjectUri = this.fileExplorerContext.subjectUri\n }\n\n // Needed because humanReadable pane can return a promise for an icon.\n private async resolvePaneIcon () {\n try {\n if (this.paneIcon == null) {\n this.resolvedPaneIcon = undefined\n return\n }\n\n const icon = await this.paneIcon\n this.resolvedPaneIcon = icon ?? undefined\n } catch (error) {\n this.resolvedPaneIcon = undefined\n console.warn('file-explorer-header-summary: failed to resolve pane icon', error)\n }\n }\n\n private renderContainerResourceHeader (label: string, isPublic: boolean) {\n const itemCount = getContainerItemCount(this.fileExplorerContext?.store, this.fileExplorerContext?.subjectUri) ?? 0\n return html`\n <div class=\"container-info\">\n <h1>\n <span>${label}</span>\n </h1>\n <p>\n ${itemCount} items\n ${isPublic\n ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe></span>`\n : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole></span>`}\n </p>\n </div>\n `\n }\n\n private renderResourceHeader (label: string, isPublic: boolean) {\n const modified = this.formatModifiedDate(this.responseMetadata.modified)\n\n return html`\n <div class=\"resource-info\">\n <h1>\n <span>${label}</span>\n </h1>\n <p><span class=\"resource-date\">${modified}</span> ${isPublic ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe> Public</span>` : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole> Private</span>`}</p>\n </div>\n `\n }\n\n render () {\n const subject = this.fileExplorerContext?.subjectUri ? sym(this.fileExplorerContext.subjectUri) : undefined\n const label = subject ? utils.label(subject) : ''\n const isPublic = this.responseMetadata.isPublic\n const isContainerResource = isContainerSubject(this.fileExplorerContext?.store, this.fileExplorerContext?.subjectUri)\n\n return html`\n <div class=\"file-explorer-header-summary\">\n <solid-ui-button\n variant=\"ghost\"\n @click=${this.onBackClick}\n title=\"Back\"\n >\n <icon-lucide-arrow-left></icon-lucide-arrow-left>\n </solid-ui-button>\n <span class=\"pane-icon\">\n ${this.resolvedPaneIcon ? html`<img src=${this.resolvedPaneIcon} alt=\"\" />` : ''}\n </span>\n ${isContainerResource ? this.renderContainerResourceHeader(label, isPublic) : this.renderResourceHeader(label, isPublic)}\n </div>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderSummary.esm.js","names":["sym","widgets","utils","WebComponent","fileExplorerContext","customElement","property","query","state","html","consume","styles","getContainerItemCount","isContainerSubject","_classDecs","_FileExplorerHeaderSu","_FileExplorerHeaderSu2","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_fileExplorerContextDecs","context","subscribe","_paneIconDecs","attribute","_onBackClickDecs","_responseMetadataDecs","_resolvedPaneIconDecs","_titleHeadingDecs","_FileExplorerHeaderSummary","FileExplorerHeaderSummary","constructor","args","_defineProperty","_initProto","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_paneIcon","_init_onBackClick","_init_responseMetadata","modified","isPublic","_init_resolvedPaneIcon","_init_titleHeading","_classPrivateFieldGet","v","_classPrivateFieldSet","paneIcon","onBackClick","responseMetadata","resolvedPaneIcon","titleHeading","formatModifiedDate","date","Date","Number","isNaN","getTime","parts","Intl","DateTimeFormat","day","month","year","hour","minute","hour12","formatToParts","getPart","type","find","part","value","dayPeriod","toUpperCase","updated","_resolvedPaneIconFor","resolvePaneIcon","subjectUri","_draggableSubjectUri","makeDraggable","icon","error","console","warn","renderContainerResourceHeader","label","itemCount","store","renderResourceHeader","render","subject","isContainerResource","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.ts"],"sourcesContent":["import { sym } from 'rdflib'\nimport { widgets, utils, WebComponent, fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport 'solid-ui/components/button'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { html } from 'lit'\nimport { consume } from '@lit/context'\nimport { PaneIcon } from './types'\nimport '~icons/lucide/globe'\nimport '~icons/lucide/lock-keyhole'\nimport '~icons/lucide/arrow-left'\nimport '~icons/lucide/folder'\nimport styles from './FileExplorerHeaderSummary.styles.css'\nimport { getContainerItemCount, isContainerSubject } from '../../utils/podUtils'\nimport type { FileExplorerResourceMetadata } from './types'\n\n@customElement('file-explorer-header-summary')\nexport default class FileExplorerHeaderSummary extends WebComponent {\n static styles = styles\n\n private _draggableSubjectUri: string | undefined\n private _resolvedPaneIconFor: PaneIcon | undefined\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor paneIcon: PaneIcon | undefined\n\n @property({ attribute: false })\n accessor onBackClick: (() => void) | undefined\n\n @property({ attribute: false })\n accessor responseMetadata: Pick<FileExplorerResourceMetadata, 'modified' | 'isPublic'> = {\n modified: undefined,\n isPublic: false\n }\n\n @state()\n accessor resolvedPaneIcon: string | undefined = undefined\n\n @query('h1')\n private accessor titleHeading: HTMLHeadingElement | null = null\n\n private formatModifiedDate (modified: string | undefined) {\n if (!modified) return ''\n\n const date = new Date(modified)\n if (Number.isNaN(date.getTime())) return modified\n\n const parts = new Intl.DateTimeFormat('en-GB', {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n }).formatToParts(date)\n\n const getPart = (type: Intl.DateTimeFormatPartTypes) => parts.find(part => part.type === type)?.value ?? ''\n const day = getPart('day')\n const month = getPart('month')\n const year = getPart('year')\n const hour = getPart('hour')\n const minute = getPart('minute')\n const dayPeriod = getPart('dayPeriod').toUpperCase()\n\n return `${day} ${month}, ${year} at ${hour}:${minute} ${dayPeriod}`\n }\n\n protected updated () {\n if (this.paneIcon !== undefined && this._resolvedPaneIconFor !== this.paneIcon) {\n this._resolvedPaneIconFor = this.paneIcon\n this.resolvePaneIcon()\n }\n\n if (!this.titleHeading || !this.fileExplorerContext?.subjectUri || this._draggableSubjectUri === this.fileExplorerContext.subjectUri) return\n\n widgets.makeDraggable(this.titleHeading, sym(this.fileExplorerContext.subjectUri)) // doing it this way for now, just to keep the same functionality\n this._draggableSubjectUri = this.fileExplorerContext.subjectUri\n }\n\n // Needed because humanReadable pane can return a promise for an icon.\n private async resolvePaneIcon () {\n try {\n if (this.paneIcon == null) {\n this.resolvedPaneIcon = undefined\n return\n }\n\n const icon = await this.paneIcon\n this.resolvedPaneIcon = icon ?? undefined\n } catch (error) {\n this.resolvedPaneIcon = undefined\n console.warn('file-explorer-header-summary: failed to resolve pane icon', error)\n }\n }\n\n private renderContainerResourceHeader (label: string, isPublic: boolean) {\n const itemCount = getContainerItemCount(this.fileExplorerContext?.store, this.fileExplorerContext?.subjectUri) ?? 0\n return html`\n <div class=\"container-info\">\n <h1>\n <span>${label}</span>\n </h1>\n <p>\n ${itemCount} items\n ${isPublic\n ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe></span>`\n : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole></span>`}\n </p>\n </div>\n `\n }\n\n private renderResourceHeader (label: string, isPublic: boolean) {\n const modified = this.formatModifiedDate(this.responseMetadata.modified)\n\n return html`\n <div class=\"resource-info\">\n <h1>\n <span>${label}</span>\n </h1>\n <p><span class=\"resource-date\">${modified}</span> ${isPublic ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe> Public</span>` : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole> Private</span>`}</p>\n </div>\n `\n }\n\n render () {\n const subject = this.fileExplorerContext?.subjectUri ? sym(this.fileExplorerContext.subjectUri) : undefined\n const label = subject ? utils.label(subject) : ''\n const isPublic = this.responseMetadata.isPublic\n const isContainerResource = isContainerSubject(this.fileExplorerContext?.store, this.fileExplorerContext?.subjectUri)\n\n return html`\n <div class=\"file-explorer-header-summary\">\n <solid-ui-button\n variant=\"ghost\"\n @click=${this.onBackClick}\n title=\"Back\"\n >\n <icon-lucide-arrow-left></icon-lucide-arrow-left>\n </solid-ui-button>\n <span class=\"pane-icon\">\n ${this.resolvedPaneIcon ? html`<img src=${this.resolvedPaneIcon} alt=\"\" />` : ''}\n </span>\n ${isContainerResource ? this.renderContainerResourceHeader(label, isPublic) : this.renderResourceHeader(label, isPublic)}\n </div>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderSummary.esm.js","names":["sym","widgets","utils","WebComponent","fileExplorerContext","customElement","property","query","state","html","consume","styles","getContainerItemCount","isContainerSubject","_classDecs","_FileExplorerHeaderSu","_FileExplorerHeaderSu2","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_fileExplorerContextDecs","context","subscribe","_paneIconDecs","attribute","_onBackClickDecs","_responseMetadataDecs","_resolvedPaneIconDecs","_titleHeadingDecs","_FileExplorerHeaderSummary","FileExplorerHeaderSummary","constructor","args","_defineProperty","_initProto","_classPrivateFieldInitSpec","_init_fileExplorerContext","undefined","_init_paneIcon","_init_onBackClick","_init_responseMetadata","modified","isPublic","_init_resolvedPaneIcon","_init_titleHeading","_classPrivateFieldGet","v","_classPrivateFieldSet","paneIcon","onBackClick","responseMetadata","resolvedPaneIcon","titleHeading","formatModifiedDate","date","Date","Number","isNaN","getTime","parts","Intl","DateTimeFormat","day","month","year","hour","minute","hour12","formatToParts","getPart","type","find","part","value","dayPeriod","toUpperCase","updated","_resolvedPaneIconFor","resolvePaneIcon","subjectUri","_draggableSubjectUri","makeDraggable","icon","error","console","warn","renderContainerResourceHeader","label","itemCount","store","renderResourceHeader","render","subject","isContainerResource","e","c","_initClass","_applyDecs","_Class","_identity","default","customElement","styles","FileExplorerHeaderSummary_styles_default","customElement$1","_Class","_FileExplorerHeaderSummary","_A","_B","_C","_D","_E","_F","_initProto","_initClass","_classDecs","_fileExplorerContextDecs","_init_fileExplorerContext","_paneIconDecs","_init_paneIcon","_onBackClickDecs","_init_onBackClick","_responseMetadataDecs","_init_responseMetadata","_resolvedPaneIconDecs","_init_resolvedPaneIcon","_titleHeadingDecs","_init_titleHeading","_FileExplorerHeaderSu2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","p","_setFunctionName","P","j","D","I","F","l","f","N","_checkInRHS","_toPrimitive","e","_identity","_FileExplorerHeaderSu","consume","fileExplorerContext","property","state","query","WebComponent","args","modified","date","parts","getPart","part","type","widgets","sym","icon","error","itemCount","getContainerItemCount","label","isPublic","subject","utils","isContainerResource","isContainerSubject"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.ts"],"sourcesContent":["import { sym } from 'rdflib'\nimport { widgets, utils, WebComponent, fileExplorerContext, type FileExplorerContext } from 'solid-ui'\nimport 'solid-ui/components/button'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { html } from 'lit'\nimport { consume } from '@lit/context'\nimport { PaneIcon } from './types'\nimport '~icons/lucide/globe'\nimport '~icons/lucide/lock-keyhole'\nimport '~icons/lucide/arrow-left'\nimport '~icons/lucide/folder'\nimport styles from './FileExplorerHeaderSummary.styles.css'\nimport { getContainerItemCount, isContainerSubject } from '../../utils/podUtils'\nimport type { FileExplorerResourceMetadata } from './types'\n\n@customElement('file-explorer-header-summary')\nexport default class FileExplorerHeaderSummary extends WebComponent {\n static styles = styles\n\n private _draggableSubjectUri: string | undefined\n private _resolvedPaneIconFor: PaneIcon | undefined\n\n @consume({ context: fileExplorerContext, subscribe: true })\n accessor fileExplorerContext: FileExplorerContext = undefined as unknown as FileExplorerContext\n\n @property({ attribute: false })\n accessor paneIcon: PaneIcon | undefined\n\n @property({ attribute: false })\n accessor onBackClick: (() => void) | undefined\n\n @property({ attribute: false })\n accessor responseMetadata: Pick<FileExplorerResourceMetadata, 'modified' | 'isPublic'> = {\n modified: undefined,\n isPublic: false\n }\n\n @state()\n accessor resolvedPaneIcon: string | undefined = undefined\n\n @query('h1')\n private accessor titleHeading: HTMLHeadingElement | null = null\n\n private formatModifiedDate (modified: string | undefined) {\n if (!modified) return ''\n\n const date = new Date(modified)\n if (Number.isNaN(date.getTime())) return modified\n\n const parts = new Intl.DateTimeFormat('en-GB', {\n day: '2-digit',\n month: 'short',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true\n }).formatToParts(date)\n\n const getPart = (type: Intl.DateTimeFormatPartTypes) => parts.find(part => part.type === type)?.value ?? ''\n const day = getPart('day')\n const month = getPart('month')\n const year = getPart('year')\n const hour = getPart('hour')\n const minute = getPart('minute')\n const dayPeriod = getPart('dayPeriod').toUpperCase()\n\n return `${day} ${month}, ${year} at ${hour}:${minute} ${dayPeriod}`\n }\n\n protected updated () {\n if (this.paneIcon !== undefined && this._resolvedPaneIconFor !== this.paneIcon) {\n this._resolvedPaneIconFor = this.paneIcon\n this.resolvePaneIcon()\n }\n\n if (!this.titleHeading || !this.fileExplorerContext?.subjectUri || this._draggableSubjectUri === this.fileExplorerContext.subjectUri) return\n\n widgets.makeDraggable(this.titleHeading, sym(this.fileExplorerContext.subjectUri)) // doing it this way for now, just to keep the same functionality\n this._draggableSubjectUri = this.fileExplorerContext.subjectUri\n }\n\n // Needed because humanReadable pane can return a promise for an icon.\n private async resolvePaneIcon () {\n try {\n if (this.paneIcon == null) {\n this.resolvedPaneIcon = undefined\n return\n }\n\n const icon = await this.paneIcon\n this.resolvedPaneIcon = icon ?? undefined\n } catch (error) {\n this.resolvedPaneIcon = undefined\n console.warn('file-explorer-header-summary: failed to resolve pane icon', error)\n }\n }\n\n private renderContainerResourceHeader (label: string, isPublic: boolean) {\n const itemCount = getContainerItemCount(this.fileExplorerContext?.store, this.fileExplorerContext?.subjectUri) ?? 0\n return html`\n <div class=\"container-info\">\n <h1>\n <span>${label}</span>\n </h1>\n <p>\n ${itemCount} items\n ${isPublic\n ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe></span>`\n : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole></span>`}\n </p>\n </div>\n `\n }\n\n private renderResourceHeader (label: string, isPublic: boolean) {\n const modified = this.formatModifiedDate(this.responseMetadata.modified)\n\n return html`\n <div class=\"resource-info\">\n <h1>\n <span>${label}</span>\n </h1>\n <p><span class=\"resource-date\">${modified}</span> ${isPublic ? html`<span class=\"public\"><icon-lucide-globe></icon-lucide-globe> Public</span>` : html`<span class=\"private\"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole> Private</span>`}</p>\n </div>\n `\n }\n\n render () {\n const subject = this.fileExplorerContext?.subjectUri ? sym(this.fileExplorerContext.subjectUri) : undefined\n const label = subject ? utils.label(subject) : ''\n const isPublic = this.responseMetadata.isPublic\n const isContainerResource = isContainerSubject(this.fileExplorerContext?.store, this.fileExplorerContext?.subjectUri)\n\n return html`\n <div class=\"file-explorer-header-summary\">\n <solid-ui-button\n variant=\"ghost\"\n @click=${this.onBackClick}\n title=\"Back\"\n >\n <icon-lucide-arrow-left></icon-lucide-arrow-left>\n </solid-ui-button>\n <span class=\"pane-icon\">\n ${this.resolvedPaneIcon ? html`<img src=${this.resolvedPaneIcon} alt=\"\" />` : ''}\n </span>\n ${isContainerResource ? this.renderContainerResourceHeader(label, isPublic) : this.renderResourceHeader(label, isPublic)}\n </div>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderSummary.styles.cjs.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.styles.css"],"sourcesContent":[" :host {\n .file-explorer-header-summary {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n flex: 1 1 auto;\n min-width: 0;\n text-align: left;\n }\n\n h1 {\n color: var(--solid-ui-color-gray-700, #364153);\n font-size: var(--solid-ui-font-size-xl, 1.25rem); /* while in expand; will go to 2xl when new design is complete */\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n }\n\n .resource-info {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .container-info {\n display: flex;\n flex-direction: row;\n gap: 10px;\n min-width: 0;\n }\n\n .pane-icon {\n display: flex;\n width: 40px;\n height: 40px;\n padding: 7.5px 7px 6.5px 7px;\n justify-content: center;\n align-items: center;\n aspect-ratio: 1/1;\n /* border-radius: 100px; */\n /* background: var(--slate-600, #45556C); */\n }\n\n .pane-icon img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n display: block;\n }\n\n p {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--solid-ui-gray-500, #6A7282);\n font-size: var(--solid-ui-font-size-xs, .75rem);\n font-weight: 500;\n }\n\n .public {\n display: flex;\n padding: 2px 5px;\n justify-content: center;\n align-items: center;\n gap: 3px;\n color: var(--blue-400, #51A2FF);\n border-radius: 5px;\n background: var(--blue-50, #EFF6FF);\n }\n\n icon-lucide-globe {\n stroke-width: 1.021px;\n stroke: var(--blue-400, #51A2FF);\n }\n\n .private {\n display: flex;\n padding: 2px 5px;\n justify-content: center;\n align-items: center;\n gap: 3px;\n color: var(--yellow-600, #D08700);\n border-radius: 5px;\n background: var(--yellow-100, #FEF9C2);\n }\n\n icon-lucide-lock-keyhole {\n stroke-width: 1.021px;\n stroke: var(--yellow-600, #D08700);\n }\n\n icon-lucide-globe,\n icon-lucide-lock-keyhole {\n width: 0.875rem;\n height: 0.875rem;\n }\n\n .resource-date {\n font-size: inherit;\n }\n\n icon-lucide-arrow-left {\n width: 1.125rem;\n height: 1.125rem;\n }\n\n @media (max-width: 600px) {\n .file-explorer-header-summary {\n gap: 7px;\n }\n\n h1 {\n font-size: 14px;\n }\n\n .pane-icon {\n width: 18.2px;\n height: 18.2px;\n flex-shrink: 0;\n aspect-ratio: 1 / 1;\n padding: 0;\n }\n\n p {\n font-size: 14px;\n }\n\n .resource-date {\n font-size: 10px;\n }\n\n .public,\n .private {\n font-size: 9px;\n }\n\n icon-lucide-arrow-left {\n width: 15px;\n height: 18px;\n flex-shrink: 0;\n aspect-ratio: 5 / 6;\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderSummary.styles.cjs.js","names":["FileExplorerHeaderSummary_styles_default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.styles.css"],"sourcesContent":[" :host {\n .file-explorer-header-summary {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n flex: 1 1 auto;\n min-width: 0;\n text-align: left;\n }\n\n h1 {\n color: var(--solid-ui-color-gray-700, #364153);\n font-size: var(--solid-ui-font-size-xl, 1.25rem); /* while in expand; will go to 2xl when new design is complete */\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n }\n\n .resource-info {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .container-info {\n display: flex;\n flex-direction: row;\n gap: 10px;\n min-width: 0;\n }\n\n .pane-icon {\n display: flex;\n width: 40px;\n height: 40px;\n padding: 7.5px 7px 6.5px 7px;\n justify-content: center;\n align-items: center;\n aspect-ratio: 1/1;\n /* border-radius: 100px; */\n /* background: var(--slate-600, #45556C); */\n }\n\n .pane-icon img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n display: block;\n }\n\n p {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--solid-ui-gray-500, #6A7282);\n font-size: var(--solid-ui-font-size-xs, .75rem);\n font-weight: 500;\n }\n\n .public {\n display: flex;\n padding: 2px 5px;\n justify-content: center;\n align-items: center;\n gap: 3px;\n color: var(--blue-400, #51A2FF);\n border-radius: 5px;\n background: var(--blue-50, #EFF6FF);\n }\n\n icon-lucide-globe {\n stroke-width: 1.021px;\n stroke: var(--blue-400, #51A2FF);\n }\n\n .private {\n display: flex;\n padding: 2px 5px;\n justify-content: center;\n align-items: center;\n gap: 3px;\n color: var(--yellow-600, #D08700);\n border-radius: 5px;\n background: var(--yellow-100, #FEF9C2);\n }\n\n icon-lucide-lock-keyhole {\n stroke-width: 1.021px;\n stroke: var(--yellow-600, #D08700);\n }\n\n icon-lucide-globe,\n icon-lucide-lock-keyhole {\n width: 0.875rem;\n height: 0.875rem;\n }\n\n .resource-date {\n font-size: inherit;\n }\n\n icon-lucide-arrow-left {\n width: 1.125rem;\n height: 1.125rem;\n }\n\n @media (max-width: 600px) {\n .file-explorer-header-summary {\n gap: 7px;\n }\n\n h1 {\n font-size: 14px;\n }\n\n .pane-icon {\n width: 18.2px;\n height: 18.2px;\n flex-shrink: 0;\n aspect-ratio: 1 / 1;\n padding: 0;\n }\n\n p {\n font-size: 14px;\n }\n\n .resource-date {\n font-size: 10px;\n }\n\n .public,\n .private {\n font-size: 9px;\n }\n\n icon-lucide-arrow-left {\n width: 15px;\n height: 18px;\n flex-shrink: 0;\n aspect-ratio: 5 / 6;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerHeaderSummary.styles.esm.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.styles.css"],"sourcesContent":[" :host {\n .file-explorer-header-summary {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n flex: 1 1 auto;\n min-width: 0;\n text-align: left;\n }\n\n h1 {\n color: var(--solid-ui-color-gray-700, #364153);\n font-size: var(--solid-ui-font-size-xl, 1.25rem); /* while in expand; will go to 2xl when new design is complete */\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n }\n\n .resource-info {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .container-info {\n display: flex;\n flex-direction: row;\n gap: 10px;\n min-width: 0;\n }\n\n .pane-icon {\n display: flex;\n width: 40px;\n height: 40px;\n padding: 7.5px 7px 6.5px 7px;\n justify-content: center;\n align-items: center;\n aspect-ratio: 1/1;\n /* border-radius: 100px; */\n /* background: var(--slate-600, #45556C); */\n }\n\n .pane-icon img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n display: block;\n }\n\n p {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--solid-ui-gray-500, #6A7282);\n font-size: var(--solid-ui-font-size-xs, .75rem);\n font-weight: 500;\n }\n\n .public {\n display: flex;\n padding: 2px 5px;\n justify-content: center;\n align-items: center;\n gap: 3px;\n color: var(--blue-400, #51A2FF);\n border-radius: 5px;\n background: var(--blue-50, #EFF6FF);\n }\n\n icon-lucide-globe {\n stroke-width: 1.021px;\n stroke: var(--blue-400, #51A2FF);\n }\n\n .private {\n display: flex;\n padding: 2px 5px;\n justify-content: center;\n align-items: center;\n gap: 3px;\n color: var(--yellow-600, #D08700);\n border-radius: 5px;\n background: var(--yellow-100, #FEF9C2);\n }\n\n icon-lucide-lock-keyhole {\n stroke-width: 1.021px;\n stroke: var(--yellow-600, #D08700);\n }\n\n icon-lucide-globe,\n icon-lucide-lock-keyhole {\n width: 0.875rem;\n height: 0.875rem;\n }\n\n .resource-date {\n font-size: inherit;\n }\n\n icon-lucide-arrow-left {\n width: 1.125rem;\n height: 1.125rem;\n }\n\n @media (max-width: 600px) {\n .file-explorer-header-summary {\n gap: 7px;\n }\n\n h1 {\n font-size: 14px;\n }\n\n .pane-icon {\n width: 18.2px;\n height: 18.2px;\n flex-shrink: 0;\n aspect-ratio: 1 / 1;\n padding: 0;\n }\n\n p {\n font-size: 14px;\n }\n\n .resource-date {\n font-size: 10px;\n }\n\n .public,\n .private {\n font-size: 9px;\n }\n\n icon-lucide-arrow-left {\n width: 15px;\n height: 18px;\n flex-shrink: 0;\n aspect-ratio: 5 / 6;\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderSummary.styles.esm.js","names":["FileExplorerHeaderSummary_styles_default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.styles.css"],"sourcesContent":[" :host {\n .file-explorer-header-summary {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n flex: 1 1 auto;\n min-width: 0;\n text-align: left;\n }\n\n h1 {\n color: var(--solid-ui-color-gray-700, #364153);\n font-size: var(--solid-ui-font-size-xl, 1.25rem); /* while in expand; will go to 2xl when new design is complete */\n font-weight: 500;\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n }\n\n .resource-info {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .container-info {\n display: flex;\n flex-direction: row;\n gap: 10px;\n min-width: 0;\n }\n\n .pane-icon {\n display: flex;\n width: 40px;\n height: 40px;\n padding: 7.5px 7px 6.5px 7px;\n justify-content: center;\n align-items: center;\n aspect-ratio: 1/1;\n /* border-radius: 100px; */\n /* background: var(--slate-600, #45556C); */\n }\n\n .pane-icon img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n display: block;\n }\n\n p {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--solid-ui-gray-500, #6A7282);\n font-size: var(--solid-ui-font-size-xs, .75rem);\n font-weight: 500;\n }\n\n .public {\n display: flex;\n padding: 2px 5px;\n justify-content: center;\n align-items: center;\n gap: 3px;\n color: var(--blue-400, #51A2FF);\n border-radius: 5px;\n background: var(--blue-50, #EFF6FF);\n }\n\n icon-lucide-globe {\n stroke-width: 1.021px;\n stroke: var(--blue-400, #51A2FF);\n }\n\n .private {\n display: flex;\n padding: 2px 5px;\n justify-content: center;\n align-items: center;\n gap: 3px;\n color: var(--yellow-600, #D08700);\n border-radius: 5px;\n background: var(--yellow-100, #FEF9C2);\n }\n\n icon-lucide-lock-keyhole {\n stroke-width: 1.021px;\n stroke: var(--yellow-600, #D08700);\n }\n\n icon-lucide-globe,\n icon-lucide-lock-keyhole {\n width: 0.875rem;\n height: 0.875rem;\n }\n\n .resource-date {\n font-size: inherit;\n }\n\n icon-lucide-arrow-left {\n width: 1.125rem;\n height: 1.125rem;\n }\n\n @media (max-width: 600px) {\n .file-explorer-header-summary {\n gap: 7px;\n }\n\n h1 {\n font-size: 14px;\n }\n\n .pane-icon {\n width: 18.2px;\n height: 18.2px;\n flex-shrink: 0;\n aspect-ratio: 1 / 1;\n padding: 0;\n }\n\n p {\n font-size: 14px;\n }\n\n .resource-date {\n font-size: 10px;\n }\n\n .public,\n .private {\n font-size: 9px;\n }\n\n icon-lucide-arrow-left {\n width: 15px;\n height: 18px;\n flex-shrink: 0;\n aspect-ratio: 5 / 6;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerProvider.cjs.js","names":["html","nothing","utils","WebComponent","provide","fileExplorerContext","customElement","property","state","styles","personIcon","friendsIcon","PERSON_ICON","FRIENDS_ICON","createFileExplorerContextValue","value","store","subjectUri","pane","soloPane","onBack","openPane","handleAccessClick","paneSupportsEditing","edit","_classDecs","_FileExplorerProvider","_FileExplorerProvider2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_ref","_contextDecs","attribute","_subjectUriDecs","_onBackDecs","_relevantPanesDecs","_paneDecs","_paneRenderOptionsDecs","_showHeaderDecs","_handleAccessClickDecs","_soloPaneDecs","_openPaneDecs","_menuItemsDecs","_isEditingDecs","_isDirtyDecs","_paneSupportsEditingDecs","_editDecs","_fileExplorerContextValueDecs","context","_FileExplorerProvider3","FileExplorerProvider","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_context","undefined","_init_subjectUri","_init_onBack","_init_relevantPanes","_init_pane","_init_paneRenderOptions","_init_showHeader","_init_handleAccessClick","_init_soloPane","_init_openPane","_init_menuItems","_init_isEditing","_init_isDirty","_init_paneSupportsEditing","_defineProperty","sourceProvider","querySelector","beginEditing","_init_edit","onEdit","beginEditingInSourcePane","isDirty","updateDirtyState","dirty","refreshFileExplorerContextValue","_init_fileExplorerContextValue","session","_classPrivateFieldGet","v","_classPrivateFieldSet","relevantPanes","paneRenderOptions","showHeader","menuItems","isEditing","fileExplorerContextValue","openSelectedPane","name","getPaneIcon","subject","icon","getPaneItems","dom","Promise","all","map","label","iconSrc","AJARImage","setAttribute","action","refreshMenuItems","sym","willUpdate","changedProperties","Error","has","catch","error","console","warn","render","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/file-explorer-header/FileExplorerProvider.ts"],"sourcesContent":["import { html, nothing, type PropertyValues } from 'lit'\nimport type { NamedNode, LiveStore } from 'rdflib'\nimport { DataBrowserContext, type PaneDefinition } from 'pane-registry'\nimport { utils, WebComponent } from 'solid-ui'\nimport { provide } from '@lit/context'\nimport { fileExplorerContext, type FileExplorerContext, type FileExplorerEdit } from 'solid-ui'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport './FileExplorerHeader'\nimport styles from './FileExplorerProvider.styles.css'\nimport personIcon from '../../icons/person.svg'\nimport friendsIcon from '../../icons/friends.svg'\nimport '~icons/lucide/share-2'\n\nconst PERSON_ICON = personIcon\nconst FRIENDS_ICON = friendsIcon\n\nfunction createFileExplorerContextValue (value: {\n store: LiveStore | undefined\n subjectUri: string | undefined\n pane?: PaneDefinition\n soloPane?: boolean\n onBack?: () => void\n openPane?: (subject: NamedNode, paneName: string) => void\n handleAccessClick?: () => void\n paneSupportsEditing?: boolean\n edit?: {\n onEdit?: () => void\n isDirty?: boolean\n updateDirtyState?: (dirty: boolean) => void\n }\n}): FileExplorerContext {\n return {\n store: value.store as LiveStore,\n subjectUri: value.subjectUri,\n pane: value.pane,\n soloPane: value.soloPane,\n onBack: value.onBack,\n openPane: value.openPane,\n handleAccessClick: value.handleAccessClick,\n paneSupportsEditing: value.paneSupportsEditing,\n edit: value.edit\n }\n}\n@customElement('file-explorer-provider')\nexport default class FileExplorerProvider extends WebComponent {\n static styles = styles\n\n @property({ attribute: false })\n accessor context: DataBrowserContext | undefined = undefined\n\n @property({ attribute: false })\n accessor subjectUri: string | undefined = undefined\n\n @property({ attribute: false })\n accessor onBack: (() => void) | undefined = undefined\n\n @property({ attribute: false })\n accessor relevantPanes: PaneDefinition[] = []\n\n @property({ attribute: false })\n accessor pane: PaneDefinition | undefined = undefined\n\n @property({ attribute: false })\n accessor paneRenderOptions: Record<string, unknown> = {}\n\n @property({ attribute: false })\n accessor showHeader: boolean = true\n\n @property({ attribute: false })\n accessor handleAccessClick: (() => void) | undefined = undefined\n\n // TODO: Need to research this more, brought it over from manager.\n @property({ attribute: false })\n accessor soloPane: boolean | undefined = undefined\n\n @property({ attribute: false })\n accessor openPane: ((subject: NamedNode, paneName: string) => void) | undefined = undefined\n\n @state()\n accessor menuItems: Array<{ label: string, icon?: HTMLElement, action: (event: Event) => void }> = []\n\n @state()\n accessor isEditing: boolean = false\n\n @state()\n accessor isDirty: boolean = false\n\n @state()\n accessor paneSupportsEditing: boolean = false\n\n // TODO: For now this works, but check if there is a better way.\n // because this means file explorer will know about the pane.\n // what if other panes want to use this. If so maybe we should\n // add more to the context to capture the provider for the pane that\n // will be editing... anyway this shouldn't be just for source pane.\n private beginEditingInSourcePane = () => {\n const sourceProvider = this.querySelector('source-pane-source-provider') as {\n beginEditing?: () => void\n } | null\n\n sourceProvider?.beginEditing?.()\n }\n\n // TODO: same as below. on Edit should be something more generic\n @state()\n accessor edit: FileExplorerEdit = {\n onEdit: this.beginEditingInSourcePane,\n isDirty: false,\n updateDirtyState: (dirty: boolean) => {\n if (this.isDirty === dirty) return\n\n this.isDirty = dirty\n this.edit = {\n ...this.edit,\n isDirty: dirty\n }\n this.refreshFileExplorerContextValue()\n }\n }\n\n @provide({ context: fileExplorerContext })\n accessor fileExplorerContextValue: FileExplorerContext = createFileExplorerContextValue({\n store: this.context?.session.store as LiveStore,\n subjectUri: this.subjectUri,\n pane: this.pane,\n soloPane: this.soloPane,\n onBack: this.onBack,\n openPane: this.openPane,\n handleAccessClick: this.handleAccessClick,\n paneSupportsEditing: false,\n edit: this.edit\n })\n\n // Change the state for the pane so it can show the new icon.\n openSelectedPane (pane: PaneDefinition) {\n const store = this.context?.session.store as LiveStore\n if (!store || !this.subjectUri) return\n this.paneSupportsEditing = pane.name === 'source'\n this.pane = pane\n }\n\n private getPaneIcon (pane, subject, context) {\n if (!pane) return undefined\n\n const icon = typeof pane.icon === 'function'\n ? pane.icon(subject, context)\n : pane.icon\n return icon\n }\n\n private async getPaneItems (subject, context, relevantPanes) {\n const dom = context.dom\n const menuItems = await Promise.all(relevantPanes.map(async pane => {\n const label = pane.label(subject, context)\n\n let iconSrc = ''\n if (pane.name === 'profile') {\n iconSrc = PERSON_ICON\n } else if (pane.name === 'social') {\n iconSrc = FRIENDS_ICON\n } else {\n iconSrc = await this.getPaneIcon(pane, subject, context)\n }\n\n const icon = utils.AJARImage(iconSrc, label, label, dom)\n icon.setAttribute('slot', 'left-icon')\n\n return {\n label,\n icon,\n action: () => this.openPane?.(subject, pane.name)\n }\n }))\n return menuItems\n }\n\n private refreshFileExplorerContextValue () {\n this.fileExplorerContextValue = createFileExplorerContextValue({\n store: this.context?.session.store as LiveStore,\n subjectUri: this.subjectUri,\n pane: this.pane,\n soloPane: this.soloPane,\n onBack: this.onBack,\n openPane: this.openPane,\n handleAccessClick: this.handleAccessClick,\n paneSupportsEditing: this.paneSupportsEditing,\n edit: this.edit\n })\n }\n\n private async refreshMenuItems () {\n const store = this.context?.session.store as LiveStore\n if (!store || !this.subjectUri) return\n\n const subject = store.sym(this.subjectUri)\n const menuItems = await this.getPaneItems(subject, this.context as DataBrowserContext, this.relevantPanes)\n\n this.menuItems = menuItems\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n const store = this.context?.session.store as LiveStore\n if (!store) {\n throw new Error('The element is missing the required `context.session.store` value. Ensure the `context` property is set.')\n }\n if (!this.subjectUri) {\n throw new Error('The element is missing the required `subjectUri` property.')\n }\n\n if (\n changedProperties.has('subjectUri') ||\n changedProperties.has('relevantPanes') ||\n changedProperties.has('context')\n ) {\n this.refreshMenuItems().catch(error => {\n console.warn('Failed to refresh menu items', error)\n })\n }\n\n if (changedProperties.has('pane') || changedProperties.has('subjectUri') || changedProperties.has('context')) {\n this.paneSupportsEditing = this.pane?.name === 'source'\n }\n\n if (\n changedProperties.has('context') ||\n changedProperties.has('subjectUri') ||\n changedProperties.has('pane') ||\n changedProperties.has('soloPane') ||\n changedProperties.has('onBack') ||\n changedProperties.has('openPane') ||\n changedProperties.has('handleAccessClick') ||\n changedProperties.has('pane') ||\n changedProperties.has('isDirty')\n ) {\n this.refreshFileExplorerContextValue()\n }\n }\n\n render () {\n const store = this.context?.session.store as LiveStore\n const subject = store.sym(this.subjectUri as string)\n return html`\n <div class=\"file-explorer-provider\">\n ${this.showHeader\n ? html`\n <file-explorer-header\n .paneIcon=${this.getPaneIcon(this.pane, subject, this.context as DataBrowserContext)}\n .menuItems=${this.menuItems}\n .paneSupportsEditing=${this.paneSupportsEditing}\n ></file-explorer-header>\n `\n : nothing}\n <slot class=\"pane\"></slot>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileExplorerProvider.cjs.js","names":["html","nothing","utils","WebComponent","provide","fileExplorerContext","customElement","property","state","styles","personIcon","friendsIcon","PERSON_ICON","FRIENDS_ICON","createFileExplorerContextValue","value","store","subjectUri","pane","soloPane","onBack","openPane","handleAccessClick","paneSupportsEditing","edit","_classDecs","_FileExplorerProvider","_FileExplorerProvider2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_ref","_contextDecs","attribute","_subjectUriDecs","_onBackDecs","_relevantPanesDecs","_paneDecs","_paneRenderOptionsDecs","_showHeaderDecs","_handleAccessClickDecs","_soloPaneDecs","_openPaneDecs","_menuItemsDecs","_isEditingDecs","_isDirtyDecs","_paneSupportsEditingDecs","_editDecs","_fileExplorerContextValueDecs","context","_FileExplorerProvider3","FileExplorerProvider","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_context","undefined","_init_subjectUri","_init_onBack","_init_relevantPanes","_init_pane","_init_paneRenderOptions","_init_showHeader","_init_handleAccessClick","_init_soloPane","_init_openPane","_init_menuItems","_init_isEditing","_init_isDirty","_init_paneSupportsEditing","_defineProperty","sourceProvider","querySelector","beginEditing","_init_edit","onEdit","beginEditingInSourcePane","isDirty","updateDirtyState","dirty","refreshFileExplorerContextValue","_init_fileExplorerContextValue","session","_classPrivateFieldGet","v","_classPrivateFieldSet","relevantPanes","paneRenderOptions","showHeader","menuItems","isEditing","fileExplorerContextValue","openSelectedPane","name","getPaneIcon","subject","icon","getPaneItems","dom","Promise","all","map","label","iconSrc","AJARImage","setAttribute","action","refreshMenuItems","sym","willUpdate","changedProperties","Error","has","catch","error","console","warn","render","e","c","_initClass","_applyDecs","_Class","_identity","default","personIcon","friendsIcon","customElement","property","state","provide","fileExplorerContext","WebComponent","utils","nothing","styles","require_FileExplorerProvider_styles","require_person","require_friends","solid_ui","lit_decorators_js","_lit_context","lit","_Class","_FileExplorerProvider3","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_initProto","_initClass","_classDecs","_contextDecs","_init_context","_subjectUriDecs","_init_subjectUri","_onBackDecs","_init_onBack","_relevantPanesDecs","_init_relevantPanes","_paneDecs","_init_pane","_paneRenderOptionsDecs","_init_paneRenderOptions","_showHeaderDecs","_init_showHeader","_handleAccessClickDecs","_init_handleAccessClick","_soloPaneDecs","_init_soloPane","_openPaneDecs","_init_openPane","_menuItemsDecs","_init_menuItems","_isEditingDecs","_init_isEditing","_isDirtyDecs","_init_isDirty","_paneSupportsEditingDecs","_init_paneSupportsEditing","_editDecs","_init_edit","_fileExplorerContextValueDecs","_init_fileExplorerContextValue","_FileExplorerProvider2","_ref","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","f","p","_setFunctionName","P","j","D","I","F","l","N","_checkInRHS","_toPrimitive","e","_identity","PERSON_ICON","FRIENDS_ICON","createFileExplorerContextValue","value","_FileExplorerProvider","args","dirty","pane","subject","context","dom","relevantPanes","label","iconSrc","icon","store","menuItems","changedProperties","error"],"sources":["../../../src/components/file-explorer-header/FileExplorerProvider.ts"],"sourcesContent":["import { html, nothing, type PropertyValues } from 'lit'\nimport type { NamedNode, LiveStore } from 'rdflib'\nimport { DataBrowserContext, type PaneDefinition } from 'pane-registry'\nimport { utils, WebComponent } from 'solid-ui'\nimport { provide } from '@lit/context'\nimport { fileExplorerContext, type FileExplorerContext, type FileExplorerEdit } from 'solid-ui'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport './FileExplorerHeader'\nimport styles from './FileExplorerProvider.styles.css'\nimport personIcon from '../../icons/person.svg'\nimport friendsIcon from '../../icons/friends.svg'\nimport '~icons/lucide/share-2'\n\nconst PERSON_ICON = personIcon\nconst FRIENDS_ICON = friendsIcon\n\nfunction createFileExplorerContextValue (value: {\n store: LiveStore | undefined\n subjectUri: string | undefined\n pane?: PaneDefinition\n soloPane?: boolean\n onBack?: () => void\n openPane?: (subject: NamedNode, paneName: string) => void\n handleAccessClick?: () => void\n paneSupportsEditing?: boolean\n edit?: {\n onEdit?: () => void\n isDirty?: boolean\n updateDirtyState?: (dirty: boolean) => void\n }\n}): FileExplorerContext {\n return {\n store: value.store as LiveStore,\n subjectUri: value.subjectUri,\n pane: value.pane,\n soloPane: value.soloPane,\n onBack: value.onBack,\n openPane: value.openPane,\n handleAccessClick: value.handleAccessClick,\n paneSupportsEditing: value.paneSupportsEditing,\n edit: value.edit\n }\n}\n@customElement('file-explorer-provider')\nexport default class FileExplorerProvider extends WebComponent {\n static styles = styles\n\n @property({ attribute: false })\n accessor context: DataBrowserContext | undefined = undefined\n\n @property({ attribute: false })\n accessor subjectUri: string | undefined = undefined\n\n @property({ attribute: false })\n accessor onBack: (() => void) | undefined = undefined\n\n @property({ attribute: false })\n accessor relevantPanes: PaneDefinition[] = []\n\n @property({ attribute: false })\n accessor pane: PaneDefinition | undefined = undefined\n\n @property({ attribute: false })\n accessor paneRenderOptions: Record<string, unknown> = {}\n\n @property({ attribute: false })\n accessor showHeader: boolean = true\n\n @property({ attribute: false })\n accessor handleAccessClick: (() => void) | undefined = undefined\n\n // TODO: Need to research this more, brought it over from manager.\n @property({ attribute: false })\n accessor soloPane: boolean | undefined = undefined\n\n @property({ attribute: false })\n accessor openPane: ((subject: NamedNode, paneName: string) => void) | undefined = undefined\n\n @state()\n accessor menuItems: Array<{ label: string, icon?: HTMLElement, action: (event: Event) => void }> = []\n\n @state()\n accessor isEditing: boolean = false\n\n @state()\n accessor isDirty: boolean = false\n\n @state()\n accessor paneSupportsEditing: boolean = false\n\n // TODO: For now this works, but check if there is a better way.\n // because this means file explorer will know about the pane.\n // what if other panes want to use this. If so maybe we should\n // add more to the context to capture the provider for the pane that\n // will be editing... anyway this shouldn't be just for source pane.\n private beginEditingInSourcePane = () => {\n const sourceProvider = this.querySelector('source-pane-source-provider') as {\n beginEditing?: () => void\n } | null\n\n sourceProvider?.beginEditing?.()\n }\n\n // TODO: same as below. on Edit should be something more generic\n @state()\n accessor edit: FileExplorerEdit = {\n onEdit: this.beginEditingInSourcePane,\n isDirty: false,\n updateDirtyState: (dirty: boolean) => {\n if (this.isDirty === dirty) return\n\n this.isDirty = dirty\n this.edit = {\n ...this.edit,\n isDirty: dirty\n }\n this.refreshFileExplorerContextValue()\n }\n }\n\n @provide({ context: fileExplorerContext })\n accessor fileExplorerContextValue: FileExplorerContext = createFileExplorerContextValue({\n store: this.context?.session.store as LiveStore,\n subjectUri: this.subjectUri,\n pane: this.pane,\n soloPane: this.soloPane,\n onBack: this.onBack,\n openPane: this.openPane,\n handleAccessClick: this.handleAccessClick,\n paneSupportsEditing: false,\n edit: this.edit\n })\n\n // Change the state for the pane so it can show the new icon.\n openSelectedPane (pane: PaneDefinition) {\n const store = this.context?.session.store as LiveStore\n if (!store || !this.subjectUri) return\n this.paneSupportsEditing = pane.name === 'source'\n this.pane = pane\n }\n\n private getPaneIcon (pane, subject, context) {\n if (!pane) return undefined\n\n const icon = typeof pane.icon === 'function'\n ? pane.icon(subject, context)\n : pane.icon\n return icon\n }\n\n private async getPaneItems (subject, context, relevantPanes) {\n const dom = context.dom\n const menuItems = await Promise.all(relevantPanes.map(async pane => {\n const label = pane.label(subject, context)\n\n let iconSrc = ''\n if (pane.name === 'profile') {\n iconSrc = PERSON_ICON\n } else if (pane.name === 'social') {\n iconSrc = FRIENDS_ICON\n } else {\n iconSrc = await this.getPaneIcon(pane, subject, context)\n }\n\n const icon = utils.AJARImage(iconSrc, label, label, dom)\n icon.setAttribute('slot', 'left-icon')\n\n return {\n label,\n icon,\n action: () => this.openPane?.(subject, pane.name)\n }\n }))\n return menuItems\n }\n\n private refreshFileExplorerContextValue () {\n this.fileExplorerContextValue = createFileExplorerContextValue({\n store: this.context?.session.store as LiveStore,\n subjectUri: this.subjectUri,\n pane: this.pane,\n soloPane: this.soloPane,\n onBack: this.onBack,\n openPane: this.openPane,\n handleAccessClick: this.handleAccessClick,\n paneSupportsEditing: this.paneSupportsEditing,\n edit: this.edit\n })\n }\n\n private async refreshMenuItems () {\n const store = this.context?.session.store as LiveStore\n if (!store || !this.subjectUri) return\n\n const subject = store.sym(this.subjectUri)\n const menuItems = await this.getPaneItems(subject, this.context as DataBrowserContext, this.relevantPanes)\n\n this.menuItems = menuItems\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n const store = this.context?.session.store as LiveStore\n if (!store) {\n throw new Error('The element is missing the required `context.session.store` value. Ensure the `context` property is set.')\n }\n if (!this.subjectUri) {\n throw new Error('The element is missing the required `subjectUri` property.')\n }\n\n if (\n changedProperties.has('subjectUri') ||\n changedProperties.has('relevantPanes') ||\n changedProperties.has('context')\n ) {\n this.refreshMenuItems().catch(error => {\n console.warn('Failed to refresh menu items', error)\n })\n }\n\n if (changedProperties.has('pane') || changedProperties.has('subjectUri') || changedProperties.has('context')) {\n this.paneSupportsEditing = this.pane?.name === 'source'\n }\n\n if (\n changedProperties.has('context') ||\n changedProperties.has('subjectUri') ||\n changedProperties.has('pane') ||\n changedProperties.has('soloPane') ||\n changedProperties.has('onBack') ||\n changedProperties.has('openPane') ||\n changedProperties.has('handleAccessClick') ||\n changedProperties.has('pane') ||\n changedProperties.has('isDirty')\n ) {\n this.refreshFileExplorerContextValue()\n }\n }\n\n render () {\n const store = this.context?.session.store as LiveStore\n const subject = store.sym(this.subjectUri as string)\n return html`\n <div class=\"file-explorer-provider\">\n ${this.showHeader\n ? html`\n <file-explorer-header\n .paneIcon=${this.getPaneIcon(this.pane, subject, this.context as DataBrowserContext)}\n .menuItems=${this.menuItems}\n .paneSupportsEditing=${this.paneSupportsEditing}\n ></file-explorer-header>\n `\n : nothing}\n <slot class=\"pane\"></slot>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerProvider.esm.js","names":["html","nothing","utils","WebComponent","provide","fileExplorerContext","customElement","property","state","styles","personIcon","friendsIcon","PERSON_ICON","FRIENDS_ICON","createFileExplorerContextValue","value","store","subjectUri","pane","soloPane","onBack","openPane","handleAccessClick","paneSupportsEditing","edit","_classDecs","_FileExplorerProvider","_FileExplorerProvider2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_ref","_contextDecs","attribute","_subjectUriDecs","_onBackDecs","_relevantPanesDecs","_paneDecs","_paneRenderOptionsDecs","_showHeaderDecs","_handleAccessClickDecs","_soloPaneDecs","_openPaneDecs","_menuItemsDecs","_isEditingDecs","_isDirtyDecs","_paneSupportsEditingDecs","_editDecs","_fileExplorerContextValueDecs","context","_FileExplorerProvider3","FileExplorerProvider","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_context","undefined","_init_subjectUri","_init_onBack","_init_relevantPanes","_init_pane","_init_paneRenderOptions","_init_showHeader","_init_handleAccessClick","_init_soloPane","_init_openPane","_init_menuItems","_init_isEditing","_init_isDirty","_init_paneSupportsEditing","_defineProperty","sourceProvider","querySelector","beginEditing","_init_edit","onEdit","beginEditingInSourcePane","isDirty","updateDirtyState","dirty","refreshFileExplorerContextValue","_init_fileExplorerContextValue","session","_classPrivateFieldGet","v","_classPrivateFieldSet","relevantPanes","paneRenderOptions","showHeader","menuItems","isEditing","fileExplorerContextValue","openSelectedPane","name","getPaneIcon","subject","icon","getPaneItems","dom","Promise","all","map","label","iconSrc","AJARImage","setAttribute","action","refreshMenuItems","sym","willUpdate","changedProperties","Error","has","catch","error","console","warn","render","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/file-explorer-header/FileExplorerProvider.ts"],"sourcesContent":["import { html, nothing, type PropertyValues } from 'lit'\nimport type { NamedNode, LiveStore } from 'rdflib'\nimport { DataBrowserContext, type PaneDefinition } from 'pane-registry'\nimport { utils, WebComponent } from 'solid-ui'\nimport { provide } from '@lit/context'\nimport { fileExplorerContext, type FileExplorerContext, type FileExplorerEdit } from 'solid-ui'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport './FileExplorerHeader'\nimport styles from './FileExplorerProvider.styles.css'\nimport personIcon from '../../icons/person.svg'\nimport friendsIcon from '../../icons/friends.svg'\nimport '~icons/lucide/share-2'\n\nconst PERSON_ICON = personIcon\nconst FRIENDS_ICON = friendsIcon\n\nfunction createFileExplorerContextValue (value: {\n store: LiveStore | undefined\n subjectUri: string | undefined\n pane?: PaneDefinition\n soloPane?: boolean\n onBack?: () => void\n openPane?: (subject: NamedNode, paneName: string) => void\n handleAccessClick?: () => void\n paneSupportsEditing?: boolean\n edit?: {\n onEdit?: () => void\n isDirty?: boolean\n updateDirtyState?: (dirty: boolean) => void\n }\n}): FileExplorerContext {\n return {\n store: value.store as LiveStore,\n subjectUri: value.subjectUri,\n pane: value.pane,\n soloPane: value.soloPane,\n onBack: value.onBack,\n openPane: value.openPane,\n handleAccessClick: value.handleAccessClick,\n paneSupportsEditing: value.paneSupportsEditing,\n edit: value.edit\n }\n}\n@customElement('file-explorer-provider')\nexport default class FileExplorerProvider extends WebComponent {\n static styles = styles\n\n @property({ attribute: false })\n accessor context: DataBrowserContext | undefined = undefined\n\n @property({ attribute: false })\n accessor subjectUri: string | undefined = undefined\n\n @property({ attribute: false })\n accessor onBack: (() => void) | undefined = undefined\n\n @property({ attribute: false })\n accessor relevantPanes: PaneDefinition[] = []\n\n @property({ attribute: false })\n accessor pane: PaneDefinition | undefined = undefined\n\n @property({ attribute: false })\n accessor paneRenderOptions: Record<string, unknown> = {}\n\n @property({ attribute: false })\n accessor showHeader: boolean = true\n\n @property({ attribute: false })\n accessor handleAccessClick: (() => void) | undefined = undefined\n\n // TODO: Need to research this more, brought it over from manager.\n @property({ attribute: false })\n accessor soloPane: boolean | undefined = undefined\n\n @property({ attribute: false })\n accessor openPane: ((subject: NamedNode, paneName: string) => void) | undefined = undefined\n\n @state()\n accessor menuItems: Array<{ label: string, icon?: HTMLElement, action: (event: Event) => void }> = []\n\n @state()\n accessor isEditing: boolean = false\n\n @state()\n accessor isDirty: boolean = false\n\n @state()\n accessor paneSupportsEditing: boolean = false\n\n // TODO: For now this works, but check if there is a better way.\n // because this means file explorer will know about the pane.\n // what if other panes want to use this. If so maybe we should\n // add more to the context to capture the provider for the pane that\n // will be editing... anyway this shouldn't be just for source pane.\n private beginEditingInSourcePane = () => {\n const sourceProvider = this.querySelector('source-pane-source-provider') as {\n beginEditing?: () => void\n } | null\n\n sourceProvider?.beginEditing?.()\n }\n\n // TODO: same as below. on Edit should be something more generic\n @state()\n accessor edit: FileExplorerEdit = {\n onEdit: this.beginEditingInSourcePane,\n isDirty: false,\n updateDirtyState: (dirty: boolean) => {\n if (this.isDirty === dirty) return\n\n this.isDirty = dirty\n this.edit = {\n ...this.edit,\n isDirty: dirty\n }\n this.refreshFileExplorerContextValue()\n }\n }\n\n @provide({ context: fileExplorerContext })\n accessor fileExplorerContextValue: FileExplorerContext = createFileExplorerContextValue({\n store: this.context?.session.store as LiveStore,\n subjectUri: this.subjectUri,\n pane: this.pane,\n soloPane: this.soloPane,\n onBack: this.onBack,\n openPane: this.openPane,\n handleAccessClick: this.handleAccessClick,\n paneSupportsEditing: false,\n edit: this.edit\n })\n\n // Change the state for the pane so it can show the new icon.\n openSelectedPane (pane: PaneDefinition) {\n const store = this.context?.session.store as LiveStore\n if (!store || !this.subjectUri) return\n this.paneSupportsEditing = pane.name === 'source'\n this.pane = pane\n }\n\n private getPaneIcon (pane, subject, context) {\n if (!pane) return undefined\n\n const icon = typeof pane.icon === 'function'\n ? pane.icon(subject, context)\n : pane.icon\n return icon\n }\n\n private async getPaneItems (subject, context, relevantPanes) {\n const dom = context.dom\n const menuItems = await Promise.all(relevantPanes.map(async pane => {\n const label = pane.label(subject, context)\n\n let iconSrc = ''\n if (pane.name === 'profile') {\n iconSrc = PERSON_ICON\n } else if (pane.name === 'social') {\n iconSrc = FRIENDS_ICON\n } else {\n iconSrc = await this.getPaneIcon(pane, subject, context)\n }\n\n const icon = utils.AJARImage(iconSrc, label, label, dom)\n icon.setAttribute('slot', 'left-icon')\n\n return {\n label,\n icon,\n action: () => this.openPane?.(subject, pane.name)\n }\n }))\n return menuItems\n }\n\n private refreshFileExplorerContextValue () {\n this.fileExplorerContextValue = createFileExplorerContextValue({\n store: this.context?.session.store as LiveStore,\n subjectUri: this.subjectUri,\n pane: this.pane,\n soloPane: this.soloPane,\n onBack: this.onBack,\n openPane: this.openPane,\n handleAccessClick: this.handleAccessClick,\n paneSupportsEditing: this.paneSupportsEditing,\n edit: this.edit\n })\n }\n\n private async refreshMenuItems () {\n const store = this.context?.session.store as LiveStore\n if (!store || !this.subjectUri) return\n\n const subject = store.sym(this.subjectUri)\n const menuItems = await this.getPaneItems(subject, this.context as DataBrowserContext, this.relevantPanes)\n\n this.menuItems = menuItems\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n const store = this.context?.session.store as LiveStore\n if (!store) {\n throw new Error('The element is missing the required `context.session.store` value. Ensure the `context` property is set.')\n }\n if (!this.subjectUri) {\n throw new Error('The element is missing the required `subjectUri` property.')\n }\n\n if (\n changedProperties.has('subjectUri') ||\n changedProperties.has('relevantPanes') ||\n changedProperties.has('context')\n ) {\n this.refreshMenuItems().catch(error => {\n console.warn('Failed to refresh menu items', error)\n })\n }\n\n if (changedProperties.has('pane') || changedProperties.has('subjectUri') || changedProperties.has('context')) {\n this.paneSupportsEditing = this.pane?.name === 'source'\n }\n\n if (\n changedProperties.has('context') ||\n changedProperties.has('subjectUri') ||\n changedProperties.has('pane') ||\n changedProperties.has('soloPane') ||\n changedProperties.has('onBack') ||\n changedProperties.has('openPane') ||\n changedProperties.has('handleAccessClick') ||\n changedProperties.has('pane') ||\n changedProperties.has('isDirty')\n ) {\n this.refreshFileExplorerContextValue()\n }\n }\n\n render () {\n const store = this.context?.session.store as LiveStore\n const subject = store.sym(this.subjectUri as string)\n return html`\n <div class=\"file-explorer-provider\">\n ${this.showHeader\n ? html`\n <file-explorer-header\n .paneIcon=${this.getPaneIcon(this.pane, subject, this.context as DataBrowserContext)}\n .menuItems=${this.menuItems}\n .paneSupportsEditing=${this.paneSupportsEditing}\n ></file-explorer-header>\n `\n : nothing}\n <slot class=\"pane\"></slot>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileExplorerProvider.esm.js","names":["html","nothing","utils","WebComponent","provide","fileExplorerContext","customElement","property","state","styles","personIcon","friendsIcon","PERSON_ICON","FRIENDS_ICON","createFileExplorerContextValue","value","store","subjectUri","pane","soloPane","onBack","openPane","handleAccessClick","paneSupportsEditing","edit","_classDecs","_FileExplorerProvider","_FileExplorerProvider2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_ref","_contextDecs","attribute","_subjectUriDecs","_onBackDecs","_relevantPanesDecs","_paneDecs","_paneRenderOptionsDecs","_showHeaderDecs","_handleAccessClickDecs","_soloPaneDecs","_openPaneDecs","_menuItemsDecs","_isEditingDecs","_isDirtyDecs","_paneSupportsEditingDecs","_editDecs","_fileExplorerContextValueDecs","context","_FileExplorerProvider3","FileExplorerProvider","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_context","undefined","_init_subjectUri","_init_onBack","_init_relevantPanes","_init_pane","_init_paneRenderOptions","_init_showHeader","_init_handleAccessClick","_init_soloPane","_init_openPane","_init_menuItems","_init_isEditing","_init_isDirty","_init_paneSupportsEditing","_defineProperty","sourceProvider","querySelector","beginEditing","_init_edit","onEdit","beginEditingInSourcePane","isDirty","updateDirtyState","dirty","refreshFileExplorerContextValue","_init_fileExplorerContextValue","session","_classPrivateFieldGet","v","_classPrivateFieldSet","relevantPanes","paneRenderOptions","showHeader","menuItems","isEditing","fileExplorerContextValue","openSelectedPane","name","getPaneIcon","subject","icon","getPaneItems","dom","Promise","all","map","label","iconSrc","AJARImage","setAttribute","action","refreshMenuItems","sym","willUpdate","changedProperties","Error","has","catch","error","console","warn","render","e","c","_initClass","_applyDecs","_Class","_identity","default","personIcon","friendsIcon","customElement","styles","FileExplorerProvider_styles_default","person_default","friends_default","customElement$1","_Class","_FileExplorerProvider3","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_initProto","_initClass","_classDecs","_contextDecs","_init_context","_subjectUriDecs","_init_subjectUri","_onBackDecs","_init_onBack","_relevantPanesDecs","_init_relevantPanes","_paneDecs","_init_pane","_paneRenderOptionsDecs","_init_paneRenderOptions","_showHeaderDecs","_init_showHeader","_handleAccessClickDecs","_init_handleAccessClick","_soloPaneDecs","_init_soloPane","_openPaneDecs","_init_openPane","_menuItemsDecs","_init_menuItems","_isEditingDecs","_init_isEditing","_isDirtyDecs","_init_isDirty","_paneSupportsEditingDecs","_init_paneSupportsEditing","_editDecs","_init_edit","_fileExplorerContextValueDecs","_init_fileExplorerContextValue","_FileExplorerProvider2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","p","_setFunctionName","P","j","D","I","F","l","f","N","_checkInRHS","_toPrimitive","e","_identity","PERSON_ICON","FRIENDS_ICON","createFileExplorerContextValue","value","_FileExplorerProvider","property","state","provide","fileExplorerContext","WebComponent","args","dirty","pane","subject","context","dom","relevantPanes","label","iconSrc","icon","utils","store","menuItems","changedProperties","error","nothing"],"sources":["../../../src/components/file-explorer-header/FileExplorerProvider.ts"],"sourcesContent":["import { html, nothing, type PropertyValues } from 'lit'\nimport type { NamedNode, LiveStore } from 'rdflib'\nimport { DataBrowserContext, type PaneDefinition } from 'pane-registry'\nimport { utils, WebComponent } from 'solid-ui'\nimport { provide } from '@lit/context'\nimport { fileExplorerContext, type FileExplorerContext, type FileExplorerEdit } from 'solid-ui'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport './FileExplorerHeader'\nimport styles from './FileExplorerProvider.styles.css'\nimport personIcon from '../../icons/person.svg'\nimport friendsIcon from '../../icons/friends.svg'\nimport '~icons/lucide/share-2'\n\nconst PERSON_ICON = personIcon\nconst FRIENDS_ICON = friendsIcon\n\nfunction createFileExplorerContextValue (value: {\n store: LiveStore | undefined\n subjectUri: string | undefined\n pane?: PaneDefinition\n soloPane?: boolean\n onBack?: () => void\n openPane?: (subject: NamedNode, paneName: string) => void\n handleAccessClick?: () => void\n paneSupportsEditing?: boolean\n edit?: {\n onEdit?: () => void\n isDirty?: boolean\n updateDirtyState?: (dirty: boolean) => void\n }\n}): FileExplorerContext {\n return {\n store: value.store as LiveStore,\n subjectUri: value.subjectUri,\n pane: value.pane,\n soloPane: value.soloPane,\n onBack: value.onBack,\n openPane: value.openPane,\n handleAccessClick: value.handleAccessClick,\n paneSupportsEditing: value.paneSupportsEditing,\n edit: value.edit\n }\n}\n@customElement('file-explorer-provider')\nexport default class FileExplorerProvider extends WebComponent {\n static styles = styles\n\n @property({ attribute: false })\n accessor context: DataBrowserContext | undefined = undefined\n\n @property({ attribute: false })\n accessor subjectUri: string | undefined = undefined\n\n @property({ attribute: false })\n accessor onBack: (() => void) | undefined = undefined\n\n @property({ attribute: false })\n accessor relevantPanes: PaneDefinition[] = []\n\n @property({ attribute: false })\n accessor pane: PaneDefinition | undefined = undefined\n\n @property({ attribute: false })\n accessor paneRenderOptions: Record<string, unknown> = {}\n\n @property({ attribute: false })\n accessor showHeader: boolean = true\n\n @property({ attribute: false })\n accessor handleAccessClick: (() => void) | undefined = undefined\n\n // TODO: Need to research this more, brought it over from manager.\n @property({ attribute: false })\n accessor soloPane: boolean | undefined = undefined\n\n @property({ attribute: false })\n accessor openPane: ((subject: NamedNode, paneName: string) => void) | undefined = undefined\n\n @state()\n accessor menuItems: Array<{ label: string, icon?: HTMLElement, action: (event: Event) => void }> = []\n\n @state()\n accessor isEditing: boolean = false\n\n @state()\n accessor isDirty: boolean = false\n\n @state()\n accessor paneSupportsEditing: boolean = false\n\n // TODO: For now this works, but check if there is a better way.\n // because this means file explorer will know about the pane.\n // what if other panes want to use this. If so maybe we should\n // add more to the context to capture the provider for the pane that\n // will be editing... anyway this shouldn't be just for source pane.\n private beginEditingInSourcePane = () => {\n const sourceProvider = this.querySelector('source-pane-source-provider') as {\n beginEditing?: () => void\n } | null\n\n sourceProvider?.beginEditing?.()\n }\n\n // TODO: same as below. on Edit should be something more generic\n @state()\n accessor edit: FileExplorerEdit = {\n onEdit: this.beginEditingInSourcePane,\n isDirty: false,\n updateDirtyState: (dirty: boolean) => {\n if (this.isDirty === dirty) return\n\n this.isDirty = dirty\n this.edit = {\n ...this.edit,\n isDirty: dirty\n }\n this.refreshFileExplorerContextValue()\n }\n }\n\n @provide({ context: fileExplorerContext })\n accessor fileExplorerContextValue: FileExplorerContext = createFileExplorerContextValue({\n store: this.context?.session.store as LiveStore,\n subjectUri: this.subjectUri,\n pane: this.pane,\n soloPane: this.soloPane,\n onBack: this.onBack,\n openPane: this.openPane,\n handleAccessClick: this.handleAccessClick,\n paneSupportsEditing: false,\n edit: this.edit\n })\n\n // Change the state for the pane so it can show the new icon.\n openSelectedPane (pane: PaneDefinition) {\n const store = this.context?.session.store as LiveStore\n if (!store || !this.subjectUri) return\n this.paneSupportsEditing = pane.name === 'source'\n this.pane = pane\n }\n\n private getPaneIcon (pane, subject, context) {\n if (!pane) return undefined\n\n const icon = typeof pane.icon === 'function'\n ? pane.icon(subject, context)\n : pane.icon\n return icon\n }\n\n private async getPaneItems (subject, context, relevantPanes) {\n const dom = context.dom\n const menuItems = await Promise.all(relevantPanes.map(async pane => {\n const label = pane.label(subject, context)\n\n let iconSrc = ''\n if (pane.name === 'profile') {\n iconSrc = PERSON_ICON\n } else if (pane.name === 'social') {\n iconSrc = FRIENDS_ICON\n } else {\n iconSrc = await this.getPaneIcon(pane, subject, context)\n }\n\n const icon = utils.AJARImage(iconSrc, label, label, dom)\n icon.setAttribute('slot', 'left-icon')\n\n return {\n label,\n icon,\n action: () => this.openPane?.(subject, pane.name)\n }\n }))\n return menuItems\n }\n\n private refreshFileExplorerContextValue () {\n this.fileExplorerContextValue = createFileExplorerContextValue({\n store: this.context?.session.store as LiveStore,\n subjectUri: this.subjectUri,\n pane: this.pane,\n soloPane: this.soloPane,\n onBack: this.onBack,\n openPane: this.openPane,\n handleAccessClick: this.handleAccessClick,\n paneSupportsEditing: this.paneSupportsEditing,\n edit: this.edit\n })\n }\n\n private async refreshMenuItems () {\n const store = this.context?.session.store as LiveStore\n if (!store || !this.subjectUri) return\n\n const subject = store.sym(this.subjectUri)\n const menuItems = await this.getPaneItems(subject, this.context as DataBrowserContext, this.relevantPanes)\n\n this.menuItems = menuItems\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n const store = this.context?.session.store as LiveStore\n if (!store) {\n throw new Error('The element is missing the required `context.session.store` value. Ensure the `context` property is set.')\n }\n if (!this.subjectUri) {\n throw new Error('The element is missing the required `subjectUri` property.')\n }\n\n if (\n changedProperties.has('subjectUri') ||\n changedProperties.has('relevantPanes') ||\n changedProperties.has('context')\n ) {\n this.refreshMenuItems().catch(error => {\n console.warn('Failed to refresh menu items', error)\n })\n }\n\n if (changedProperties.has('pane') || changedProperties.has('subjectUri') || changedProperties.has('context')) {\n this.paneSupportsEditing = this.pane?.name === 'source'\n }\n\n if (\n changedProperties.has('context') ||\n changedProperties.has('subjectUri') ||\n changedProperties.has('pane') ||\n changedProperties.has('soloPane') ||\n changedProperties.has('onBack') ||\n changedProperties.has('openPane') ||\n changedProperties.has('handleAccessClick') ||\n changedProperties.has('pane') ||\n changedProperties.has('isDirty')\n ) {\n this.refreshFileExplorerContextValue()\n }\n }\n\n render () {\n const store = this.context?.session.store as LiveStore\n const subject = store.sym(this.subjectUri as string)\n return html`\n <div class=\"file-explorer-provider\">\n ${this.showHeader\n ? html`\n <file-explorer-header\n .paneIcon=${this.getPaneIcon(this.pane, subject, this.context as DataBrowserContext)}\n .menuItems=${this.menuItems}\n .paneSupportsEditing=${this.paneSupportsEditing}\n ></file-explorer-header>\n `\n : nothing}\n <slot class=\"pane\"></slot>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerProvider.styles.cjs.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerProvider.styles.css"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n min-width: 0;\n\n .file-explorer-provider {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n }\n\n slot.pane {\n display: block;\n flex: 1 1 auto;\n width: 100%;\n min-width: 0;\n overflow: auto;\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FileExplorerProvider.styles.cjs.js","names":["FileExplorerProvider_styles_default"],"sources":["../../../src/components/file-explorer-header/FileExplorerProvider.styles.css"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n min-width: 0;\n\n .file-explorer-provider {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n }\n\n slot.pane {\n display: block;\n flex: 1 1 auto;\n width: 100%;\n min-width: 0;\n overflow: auto;\n }\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerProvider.styles.esm.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerProvider.styles.css"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n min-width: 0;\n\n .file-explorer-provider {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n }\n\n slot.pane {\n display: block;\n flex: 1 1 auto;\n width: 100%;\n min-width: 0;\n overflow: auto;\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"FileExplorerProvider.styles.esm.js","names":["FileExplorerProvider_styles_default"],"sources":["../../../src/components/file-explorer-header/FileExplorerProvider.styles.css"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n min-width: 0;\n\n .file-explorer-provider {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n }\n\n slot.pane {\n display: block;\n flex: 1 1 auto;\n width: 100%;\n min-width: 0;\n overflow: auto;\n }\n}\n"],"mappings":""}
|