@pod-os/elements 0.29.1-rc.80aa77e.0 → 0.29.1-rc.b185fa2.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/cjs/elements.cjs.js +1 -1
- package/dist/cjs/ion-icon_33.cjs.entry.js +49 -28
- package/dist/cjs/ion-icon_33.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pos-document.cjs.entry.js +1 -1
- package/dist/cjs/pos-document.cjs.entry.js.map +1 -1
- package/dist/collection/components/pos-document/pos-document.css +1 -1
- package/dist/collection/components/pos-tool-select/pos-tool-select.css +47 -8
- package/dist/collection/components/pos-tool-select/pos-tool-select.js +31 -2
- package/dist/collection/components/pos-tool-select/pos-tool-select.js.map +1 -1
- package/dist/collection/components/pos-type-router/pos-type-router.css +1 -1
- package/dist/collection/components/pos-type-router/pos-type-router.js +12 -3
- package/dist/collection/components/pos-type-router/pos-type-router.js.map +1 -1
- package/dist/collection/components/pos-type-router/selectToolsForTypes.js +28 -22
- package/dist/collection/components/pos-type-router/selectToolsForTypes.js.map +1 -1
- package/dist/components/pos-document2.js +1 -1
- package/dist/components/pos-document2.js.map +1 -1
- package/dist/components/pos-tool-select2.js +9 -2
- package/dist/components/pos-tool-select2.js.map +1 -1
- package/dist/components/pos-type-router2.js +41 -26
- package/dist/components/pos-type-router2.js.map +1 -1
- package/dist/elements/elements.esm.js +1 -1
- package/dist/elements/elements.esm.js.map +1 -1
- package/dist/elements/{p-2a77781a.entry.js → p-32a795b5.entry.js} +5 -5
- package/dist/elements/p-32a795b5.entry.js.map +1 -0
- package/dist/elements/p-f2e65e83.entry.js +2 -0
- package/dist/elements/p-f2e65e83.entry.js.map +1 -0
- package/dist/esm/elements.js +1 -1
- package/dist/esm/ion-icon_33.entry.js +49 -28
- package/dist/esm/ion-icon_33.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pos-document.entry.js +1 -1
- package/dist/esm/pos-document.entry.js.map +1 -1
- package/dist/types/components/pos-tool-select/pos-tool-select.d.ts +7 -0
- package/dist/types/components/pos-type-router/pos-type-router.d.ts +1 -1
- package/dist/types/components/pos-type-router/selectToolsForTypes.d.ts +4 -4
- package/dist/types/components.d.ts +14 -0
- package/package.json +1 -1
- package/dist/elements/p-2a77781a.entry.js.map +0 -1
- package/dist/elements/p-38edfa6d.entry.js +0 -2
- package/dist/elements/p-38edfa6d.entry.js.map +0 -1
|
@@ -542,7 +542,7 @@ import{d as t,r as e,h as n,H as i,e as s,f as r,w as o,i as a,j as c,k as l}fro
|
|
|
542
542
|
${this.submenuController.renderSubmenu()}
|
|
543
543
|
${this.loading?ca` <sl-spinner part="spinner" exportparts="base:spinner__base"></sl-spinner> `:""}
|
|
544
544
|
</div>
|
|
545
|
-
`}};yd.styles=[Qa,Wh];yd.dependencies={"sl-icon":vd,"sl-popup":Sh,"sl-spinner":ed};st([rc("slot:not([name])")],yd.prototype,"defaultSlot",2);st([rc(".menu-item")],yd.prototype,"menuItem",2);st([nc()],yd.prototype,"type",2);st([nc({type:Boolean,reflect:true})],yd.prototype,"checked",2);st([nc()],yd.prototype,"value",2);st([nc({type:Boolean,reflect:true})],yd.prototype,"loading",2);st([nc({type:Boolean,reflect:true})],yd.prototype,"disabled",2);st([Oh("checked")],yd.prototype,"handleCheckedChange",1);st([Oh("disabled")],yd.prototype,"handleDisabledChange",1);st([Oh("type")],yd.prototype,"handleTypeChange",1);yd.define("sl-menu-item");const kd="button.main {\n display: flex;\n transition:\n width 200ms,\n background-color 500ms,\n color 500ms,\n border-color 500ms;\n max-width: var(--size-40);\n flex-direction: row;\n overflow: hidden;\n height: var(--pos-navigation-bar-height);\n width: var(--pos-navigation-bar-height);\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-md);\n color: var(--pos-subtle-text-color);\n border: var(--size-px) dashed var(--pos-subtle-text-color);\n background-color: var(--pos-background-color);\n\n p {\n padding: 0;\n margin: 0;\n display: none;\n white-space: nowrap;\n }\n\n &.success {\n color: var(--color-green-700);\n border-color: var(--color-green-700);\n border-style: solid;\n background-color: var(--color-green-100);\n }\n\n &:active {\n transform: scale(0.99);\n filter: brightness(90%);\n }\n &:focus {\n outline: var(--pos-input-focus-outline);\n }\n}\n\nsvg {\n display: inline-block;\n height: var(--size-6);\n flex-shrink: 0;\n flex-grow: 0;\n width: var(--size-6);\n}\n\nbutton.main:hover,\nsl-dropdown[open] button {\n &.success {\n background: var(--color-green-200);\n color: var(--color-green-700);\n }\n width: var(--size-full);\n height: var(--pos-navigation-bar-height);\n background: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n\n p {\n display: inline-block;\n }\n}\n";const xd=kd;const Sd=class{constructor(t){e(this,t);this.subscribePodOs=a(this,"pod-os:init",7);this.errorEmitter=a(this,"pod-os:error",7);this.indexUpdatedEmitter=a(this,"pod-os:search:index-updated",7);this.indexCreatedEmitter=a(this,"pod-os:search:index-created",7);this.indexes=[];this.showOptions=false;this.isIndexed=false;this.receivePodOs=async t=>{this.os=t;this.thing=this.os.store.get(this.uri);this.getLabelIndexes(M.state.profile);this.unsubscribeSessionChange=M.onChange("profile",(t=>{this.getLabelIndexes(t)}))}}componentWillLoad(){B(this)}disconnectedCallback(){this.unsubscribeSessionChange&&this.unsubscribeSessionChange()}updateUri(t){this.thing=this.os.store.get(t);this.isIndexed=this.checkIfIndexed(t)}checkIfIndexed(t){return this.indexes.some((e=>e.contains(t)))}getLabelIndexes(t){if(t){this.indexes=t.getPrivateLabelIndexes().map((t=>this.os.store.get(t).assume(N)));this.showOptions=this.indexes.length>1;this.isIndexed=this.checkIfIndexed(this.uri)}}async onClick(t){t.preventDefault();if(this.indexes.length===1){const t=this.indexes[0];await this.addToLabelIndex(t);this.indexUpdatedEmitter.emit(t)}else if(this.indexes.length===0){const t=await this.createDefaultLabelIndex();await this.addToLabelIndex(t);this.indexCreatedEmitter.emit(t)}}async addToLabelIndex(t){try{await this.os.addToLabelIndex(this.thing,t);this.isIndexed=true}catch(t){this.errorEmitter.emit(t)}}async createDefaultLabelIndex(){try{return await this.os.createDefaultLabelIndex(M.state.profile)}catch(t){this.errorEmitter.emit(t)}}render(){if(!M.state.isLoggedIn||!this.uri){return null}const t="Make this findable";const e=n("button",{type:"button",slot:"trigger","aria-label":t,class:{main:true,success:this.isIndexed},onClick:t=>this.onClick(t),title:""},this.isIndexed?n(Ed,null):n(_d,null),n("p",null,t));if(this.showOptions){return n(i,null,n("sl-dropdown",null,e,n("sl-menu",{role:"listbox"},this.indexes.map((t=>n("sl-menu-item",{role:"option",value:t,type:"checkbox",checked:t.contains(this.uri)},n("pos-resource",{uri:t.uri,lazy:true},n("pos-label",null))))))))}else{return e}}async onSelect(t){const e=t.detail.item.value;t.preventDefault();await this.addToLabelIndex(e);this.indexUpdatedEmitter.emit(e)}get el(){return s(this)}static get watchers(){return{uri:["updateUri"]}}};const _d=()=>n("svg",{role:"presentation",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},n("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m5.231 13.481L15 17.25m-4.5-15H5.625c-.621 0-1.125.504-1.125 1.125v16.5c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Zm3.75 11.625a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z"}));const Ed=()=>n("svg",{role:"presentation",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},n("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.125 2.25h-4.5c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125v-9M10.125 2.25h.375a9 9 0 0 1 9 9v.375M10.125 2.25A3.375 3.375 0 0 1 13.5 5.625v1.5c0 .621.504 1.125 1.125 1.125h1.5a3.375 3.375 0 0 1 3.375 3.375M9 15l2.25 2.25L15 12"}));Sd.style=xd;const Ad=":host {\n --pos-navigation-bar-height: var(--size-10);\n}\n\nsearch {\n position: relative;\n}\n\n.suggestions ol {\n border: 1px solid var(--pos-border-color);\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n\n.suggestions {\n width: 100%;\n overflow-y: auto;\n max-height: 90dvh;\n li {\n padding: 1rem;\n background-color: var(--pos-background-color);\n pos-rich-link {\n --background-color: inherit;\n }\n &[aria-selected='true'] {\n background-color: var(--pos-primary-color);\n &:hover {\n background-color: var(--pos-primary-color);\n }\n }\n &:hover {\n background-color: var(--pos-border-color);\n }\n }\n}\n\n.suggestions li.selected pos-rich-link {\n --label-color: white;\n --description-color: var(--pos-border-color);\n --uri-color: var(--pos-subtle-text-color);\n}\n\ndialog {\n position: absolute;\n margin-top: calc(-1 * var(--pos-navigation-bar-height));\n padding: 0;\n width: 100%;\n max-width: 100%;\n min-width: 100%;\n overflow: hidden;\n max-height: 100dvh;\n background-color: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n border: var(--pos-border-color);\n border-radius: var(--radius-md);\n box-shadow: var(--shadow-md);\n form {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n align-items: center;\n input {\n display: flex;\n font-size: var(--scale-1);\n height: var(--pos-navigation-bar-height);\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n padding-left: var(--size-2);\n width: 100%;\n border: none;\n outline: none;\n color: var(--pos-normal-text-color);\n background-color: var(--pos-input-background-color);\n box-sizing: border-box;\n }\n }\n}\n\ndialog[open] {\n display: flex;\n z-index: var(--layer-top);\n animation: slideIn 100ms ease-out;\n}\n\n@media (max-width: 640px) {\n search {\n position: unset;\n }\n dialog {\n margin-top: var(--size-1);\n top: 0;\n width: 95dvw;\n max-width: unset;\n min-width: unset;\n form {\n input {\n height: var(--size-12);\n font-size: var(--scale-fluid-3);\n }\n }\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n";const Cd=Ad;const Td=class{constructor(t){e(this,t);this.subscribePodOs=a(this,"pod-os:init",7);this.linkEmitter=a(this,"pod-os:link",7);this.uri="";this.inputValue=this.uri;this.searchIndex=undefined;this.suggestions=[];this.selectedIndex=-1;this.resource=null;this.changeEvents=new Ln;this.debouncedSearch=null;this.receivePodOs=async t=>{this.os=t}}updateResource(){var t;try{this.resource=this.uri?(t=this.os)===null||t===void 0?void 0:t.store.get(this.uri):null}catch(t){this.resource=null}}componentWillLoad(){B(this);this.updateResource();M.onChange("isLoggedIn",(async t=>{if(t){await this.buildSearchIndex()}else{this.clearSearchIndex()}}));this.debouncedSearch=this.changeEvents.pipe(mi(300)).subscribe((()=>this.search()))}disconnectedCallback(){var t;(t=this.debouncedSearch)===null||t===void 0?void 0:t.unsubscribe()}async buildSearchIndex(){this.searchIndex=await this.os.buildSearchIndex(M.state.profile)}rebuildSearchIndex(){this.searchIndex.rebuild()}openNavigationDialog(t){var e,n;this.resource=t.detail;if(t.detail){this.inputValue=t.detail.uri;this.search()}(e=this.inputRef)===null||e===void 0?void 0:e.select();(n=this.dialogRef)===null||n===void 0?void 0:n.show()}clearSearchIndex(){var t;(t=this.searchIndex)===null||t===void 0?void 0:t.clear()}onChange(t){this.inputValue=t.target.value;this.changeEvents.next()}closeDialog(){var t;(t=this.dialogRef)===null||t===void 0?void 0:t.close();this.selectedIndex=-1}clearSuggestions(){var t;this.suggestions=[];(t=this.dialogRef)===null||t===void 0?void 0:t.close();this.selectedIndex=-1}onClickSelf(t){t.stopPropagation()}handleKeyDown(t){if(t.key==="Escape"){this.closeDialog()}else if(t.key==="ArrowDown"){t.preventDefault();this.selectedIndex=Math.min(this.selectedIndex+1,this.suggestions.length-1)}else if(t.key==="ArrowUp"){t.preventDefault();this.selectedIndex=Math.max(this.selectedIndex-1,0)}}search(){if(this.searchIndex){this.suggestions=this.inputValue?this.searchIndex.search(this.inputValue):[]}}onSubmit(){if(this.suggestions&&this.selectedIndex>-1){this.linkEmitter.emit(this.suggestions[this.selectedIndex].ref)}else{this.linkEmitter.emit(this.inputValue)}}render(){return n("nav",{key:"75fef6f1c6fd945150ebb4123a2cce80537c46e1"},n("search",{key:"eb81710c97b1edcc9295050585e14b505cc4e9ca"},n("pos-navigation-bar",{key:"5566254cee17f0ebc923b61f08d0765f2e51db08",searchIndexReady:this.searchIndex!==undefined,current:this.resource}),n("dialog",{key:"bed472296c931b2409094b9d3d5ca875b262b4b2",ref:t=>this.dialogRef=t},n("form",{key:"1bfbb8191a04fc215da7250ef533f8c7cb65fca9",method:"dialog",onSubmit:()=>this.onSubmit()},n("input",{key:"532bdbabb64164b879d60e5f7f944dc79eebeb2b",ref:t=>this.inputRef=t,enterkeyhint:"search","aria-label":"Search or enter URI",placeholder:"Search or enter URI",value:this.uri,onChange:t=>this.onChange(t),onInput:t=>this.onChange(t),role:"combobox","aria-autocomplete":"list","aria-expanded":this.suggestions.length>0,"aria-controls":"suggestions-list","aria-activedescendant":this.selectedIndex>=0?`option-${this.selectedIndex}`:null}),this.suggestions.length>0?n("div",{class:"suggestions"},n("ol",{id:"suggestions-list",role:"listbox","aria-label":"Search results"},this.suggestions.map(((t,e)=>n("li",{id:`option-${e}`,role:"option","aria-selected":e===this.selectedIndex?"true":"false"},n("pos-rich-link",{uri:t.ref})))))):null))))}static get watchers(){return{uri:["updateResource"],os:["updateResource"]}}};Td.style=Cd;const zd="section.current {\n display: flex;\n height: var(--pos-navigation-bar-height);\n flex-grow: 1;\n gap: 0;\n background-color: var(--pos-input-background-color);\n border-radius: var(--radius-md);\n width: 100%;\n &:focus-within {\n outline: var(--pos-input-focus-outline);\n }\n}\n\nsection.current button {\n cursor: pointer;\n font-size: var(--scale-1);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n background: none;\n color: var(--pos-normal-text-color);\n outline: none;\n border: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n &:focus {\n text-decoration: underline;\n }\n :first-child {\n flex-grow: 1;\n }\n svg {\n width: var(--size-6);\n color: var(--pos-subtle-text-color);\n }\n}\n";const $d=zd;const Pd=class{constructor(t){e(this,t);this.navigate=a(this,"pod-os:navigate",7)}onClick(){this.navigate.emit(this.current)}activate(t){if((t.ctrlKey||t.metaKey)&&t.key==="k"){t.preventDefault();this.navigate.emit(this.current)}}render(){const t=this.current?`${this.current.label()} (Click to search or enter URI)`:"Search or enter URI";return n("section",{key:"d8b48cc6908244bb35139ead157687f1a6f05bd7",class:"current"},this.current&&this.searchIndexReady&&n("pos-make-findable",{key:"215e525705b27a7a30de2f32a1bc57aba72652c2",uri:this.current.uri}),n("button",{key:"55b79e62adac3f10e8b9f5a514c5d4191af251d9","aria-label":t,onClick:()=>this.onClick()},n("div",{key:"7b1a9ebe7fb3c90ac3694826f3202ba4617925cb"},this.current?this.current.label():"Search or enter URI"),this.icon()))}icon(){return n("svg",{"aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},n("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"}))}};Pd.style=$d;const Id=":host{display:block}form{display:grid;grid-template-columns:var(--size-16) 1fr;grid-gap:var(--scale-0)}label{grid-column:1 / 2;display:flex;align-items:center;justify-content:flex-end}input,pos-select-term,button{grid-column:2 / 3}input,pos-select-term::part(input){outline:var(--pos-input-outline);padding:var(--scale-000);border:none;border-radius:var(--radius-xs);width:var(--size-full);box-sizing:border-box;background:var(--pos-input-background-color);color:var(--pos-normal-text-color)}input:focus-within,pos-select-term::part(input):focus-within{outline:var(--pos-input-focus-outline)}#new-uri{grid-column:1/3;cursor:default;word-break:break-all;color:var(--pos-normal-text-color);font-weight:var(--weight-light);background:var(--pos-disabled-color);padding:var(--scale-000);border-radius:var(--radius-xs)}input#create{outline:none;box-shadow:var(--shadow-sm);cursor:pointer;color:var(--pos-primary-text-color);background-color:var(--pos-primary-color)}input#create:disabled{cursor:default;color:var(--pos-disabled-text-color);background-color:var(--pos-disabled-color);box-shadow:none}input#create:hover:not(:disabled),input#create:focus{filter:brightness(110%);box-shadow:var(--shadow-md)}";const Rd=Id;const Od=class{constructor(t){e(this,t);this.linkEmitter=a(this,"pod-os:link",7);this.errorEmitter=a(this,"pod-os:error",7);this.subscribePodOs=a(this,"pod-os:init",7);this.canSubmit=false;this.receivePodOs=async t=>{this.os=t}}validate(){this.canSubmit=Boolean(this.name&&this.selectedTypeUri)}componentWillLoad(){B(this)}render(){return n("form",{key:"0d52a6b85338d0353876f0fde0a7ef45e5ebe104",method:"dialog",onSubmit:t=>this.handleSubmit(t)},n("label",{key:"6765ada99850150a6a1dc9135a6ec0c575e3066d",htmlFor:"type"},"Type"),n("pos-select-term",{key:"375ca79b6ffa3d363954578cf83d2eab10b0e486",id:"type",placeholder:"",value:this.selectedTypeUri,"onPod-os:term-selected":t=>this.onTermSelected(t)}),n("label",{key:"9da148cb532d236a5dc9ad73fc75e1bd2d277d17",htmlFor:"name"},"Name"),n("input",{key:"81b5a4bf51eb403bfebfa0c9e023935ddde48194",id:"name",type:"text",value:this.name,onInput:t=>this.handleChange(t)}),this.newUri?n("div",{id:"new-uri",title:"This will be the URI of the new thing"},this.newUri):null,n("input",{key:"5f4ff09818262ad875f80bce3a0f942b0428335f",id:"create",type:"submit",value:"Create",disabled:!this.canSubmit}))}handleChange(t){this.name=t.target.value;this.newUri=this.os.proposeUriForNewThing(this.referenceUri,this.name)}onTermSelected(t){this.selectedTypeUri=t.detail.uri}async handleSubmit(t){try{await this.os.addNewThing(this.newUri,this.name,this.selectedTypeUri);this.linkEmitter.emit(this.newUri);this.reset()}catch(e){t.preventDefault();this.errorEmitter.emit(e)}}reset(){this.name="";this.newUri="";this.selectedTypeUri=""}static get delegatesFocus(){return true}static get watchers(){return{name:["validate"],selectedTypeUri:["validate"]}}};Od.style=Rd;const Dd=":host{--width:300px;--height:300px;--border-radius:var(--border-radius, 0);--object-fit:var(--object-fit, cover)}";const jd=Dd;const Ld=class{constructor(t){e(this,t);this.subscribeResource=a(this,"pod-os:resource",7);this.blurredBackground=false;this.receiveResource=t=>{this.resource=t}}componentWillLoad(){J(this)}render(){const t=this.resource?this.resource.picture():null;if(!t)return n("slot",null);return n("pos-image",{blurredBackground:this.blurredBackground,src:t.url,alt:this.resource.label()})}};Ld.style=jd;const Md="details.error {\n margin: var(--size-2);\n background-color: var(--pos-error-background-color);\n border: var(--size-px) solid var(--pos-error-border-color);\n padding: var(--size-2);\n border-radius: var(--radius-md);\n\n a {\n color: var(--pos-normal-text-color);\n }\n}\n";const Wd=Md;const Ud=class{constructor(t){e(this,t);this.subscribePodOs=a(this,"pod-os:init",7);this.resourceLoadedEmitter=a(this,"pod-os:resource-loaded",7);this.consumers=[];this.lazy=false;this.loading=true;this.receivePodOs=async t=>{this.os=t}}componentWillLoad(){M.onChange("isLoggedIn",(()=>this.loadResource()));B(this)}async provideResource(t){t.stopPropagation();if(this.resource){t.detail(this.resource)}this.consumers.push(t)}async loadResource(){await this.getResource(!this.lazy)}async fetch(){await this.getResource(true)}async getResource(t=false){try{if(t){this.loading=true;await this.os.fetch(this.uri);this.resourceLoadedEmitter.emit(this.uri)}this.resource=this.os.store.get(this.uri);this.error=null;this.consumers.forEach((t=>{t.detail(this.resource)}))}catch(t){this.error=t}finally{this.loading=false}}render(){if(this.loading){return n("ion-progress-bar",{type:"indeterminate"})}if(this.error){return n("details",{class:"error"},n("summary",{title:"Click to expand"},"⚠ Sorry, something went wrong"),n("p",null,"Status:",this.error.status),n("p",null,this.error.message),n("p",null,"You can try to open the link outside PodOS: ",n("a",{href:this.uri},this.uri)))}return n("slot",null)}static get watchers(){return{os:["loadResource"],uri:["loadResource"]}}};Ud.style=Wd;const Hd=":host {\n --background-color: inherit;\n --label-color: var(--pos-normal-text-color);\n --description-color: var(--pos-normal-text-color);\n --uri-color: var(--pos-subtle-text-color);\n --font-family: var(--font-sans);\n}\n\np.content {\n background-color: var(--background-color);\n line-height: var(--line-xs);\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: baseline;\n gap: var(--size-1);\n\n .url {\n font-size: var(--scale-fluid-1);\n color: var(--pos-subtle-text-color);\n }\n}\n\na {\n color: var(--label-color);\n max-width: min(100%, var(--prose-lg));\n text-decoration: underline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-decoration-thickness: var(--size-px);\n}\n\npos-label {\n color: var(--label-color);\n font-size: var(--scale-fluid-2);\n margin-bottom: var(--size-1);\n}\n\npos-description {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n font-weight: var(--weight-light);\n color: var(--description-color);\n font-size: var(--scale-fluid-2);\n}\n\n@media (min-width: 640px) {\n pos-label {\n font-size: var(--scale-fluid-0);\n }\n pos-description {\n font-size: var(--scale-fluid-1);\n }\n\n p.content {\n .url {\n font-size: var(--scale-fluid-000);\n }\n }\n}\n";const Nd=Hd;const Jd=class{constructor(t){e(this,t);this.linkEmitter=a(this,"pod-os:link",7);this.subscribeResource=a(this,"pod-os:resource",7);this.errorEmitter=a(this,"pod-os:error",7);this.followPredicate=false;this.error=null;this.showCustomContent=false;this.receiveResource=t=>{const e=(t,e,n,i)=>{if(t.length==0){this.error="No matching link found";this.errorEmitter.emit(new Error(`pos-rich-link: No matching link found from ${e.uri} ${i}=${n}`))}else if(t[0].uris.length>1){this.error="More than one matching link found";this.errorEmitter.emit(new Error(`pos-rich-link: More than one matching link found from ${e.uri} ${i}=${n}`))}else{this.link=t[0].uris[0];this.followPredicate=true}};if(this.rel){e(t.relations(this.rel),t,this.rel,"rel")}else if(this.rev){e(t.reverseRelations(this.rev),t,this.rev,"rev")}else{this.link=t.uri}}}componentWillLoad(){this.showCustomContent=!!this.host.lastElementChild||this.host.textContent.trim()!="";if(!this.uri)J(this)}render(){const t=t=>this.showCustomContent?n("a",{href:t,onClick:e=>{e.preventDefault();this.linkEmitter.emit(t)}},n("slot",null)):n("p",{class:"content"},n("a",{href:t,onClick:e=>{e.preventDefault();this.linkEmitter.emit(t)}},n("pos-label",null)),n("span",{class:"url"},new URL(t).host),n("pos-description",null));if(this.error){return this.error}else if(this.followPredicate){return n("pos-resource",{lazy:true,uri:this.link},t(this.link))}else if(this.link){return t(this.link)}else if(this.uri){return n("pos-resource",{lazy:true,uri:this.uri},t(this.uri))}else{return null}}get host(){return s(this)}};Jd.style=Nd;const Bd=(t,e,n)=>{const i=t.get(e);if(!i){t.set(e,[n])}else if(!i.includes(n)){i.push(n)}};const Kd=(t,e)=>{let n;return(...i)=>{if(n){clearTimeout(n)}n=setTimeout((()=>{n=0;t(...i)}),e)}};const Fd=t=>!("isConnected"in t)||t.isConnected;const Xd=Kd((t=>{for(let e of t.keys()){t.set(e,t.get(e).filter(Fd))}}),2e3);const Vd=()=>{if(typeof c!=="function"){return{}}const t=new Map;return{dispose:()=>t.clear(),get:e=>{const n=c();if(n){Bd(t,e,n)}},set:e=>{const n=t.get(e);if(n){t.set(e,n.filter(l))}Xd(t)},reset:()=>{t.forEach((t=>t.forEach(l)));Xd(t)}}};const Yd=(t,e=((t,e)=>t!==e))=>{let n=new Map(Object.entries(t!==null&&t!==void 0?t:{}));const i={dispose:[],get:[],set:[],reset:[]};const s=()=>{n=new Map(Object.entries(t!==null&&t!==void 0?t:{}));i.reset.forEach((t=>t()))};const r=()=>{i.dispose.forEach((t=>t()));s()};const o=t=>{i.get.forEach((e=>e(t)));return n.get(t)};const a=(t,s)=>{const r=n.get(t);if(e(s,r,t)){n.set(t,s);i.set.forEach((e=>e(t,s,r)))}};const c=typeof Proxy==="undefined"?{}:new Proxy(t,{get(t,e){return o(e)},ownKeys(t){return Array.from(n.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(t,e){return n.has(e)},set(t,e,n){a(e,n);return true}});const l=(t,e)=>{i[t].push(e);return()=>{qd(i[t],e)}};const h=(e,n)=>{const i=l("set",((t,i)=>{if(t===e){n(i)}}));const s=l("reset",(()=>n(t[e])));return()=>{i();s()}};const d=(...t)=>{const e=t.reduce(((t,e)=>{if(e.set){t.push(l("set",e.set))}if(e.get){t.push(l("get",e.get))}if(e.reset){t.push(l("reset",e.reset))}if(e.dispose){t.push(l("dispose",e.dispose))}return t}),[]);return()=>e.forEach((t=>t()))};const u=t=>{const e=n.get(t);i.set.forEach((n=>n(t,e,e)))};return{state:c,get:o,set:a,on:l,onChange:h,use:d,dispose:r,reset:s,forceUpdate:u}};const qd=(t,e)=>{const n=t.indexOf(e);if(n>=0){t[n]=t[t.length-1];t.length--}};const Gd=(t,e)=>{const n=Yd(t,e);n.use(Vd());return n};const Zd=t=>{var e;const n=window;const i=new URL(n.location.href);const s=(e=t===null||t===void 0?void 0:t.parseURL)!==null&&e!==void 0?e:tu;const{state:r,onChange:o,dispose:a}=Gd({url:i,activePath:s(i)},((t,e,n)=>{if(n==="url"){return t.href!==e.href}return t!==e}));const c=t=>{history.pushState(null,null,t);const e=new URL(t,document.baseURI);r.url=e;r.activePath=s(e)};const l=t=>{const{activePath:e}=r;for(let n of t){const i=Qd(e,n.path);if(i){if(n.to!=null){const i=typeof n.to==="string"?n.to:n.to(e);c(i);return l(t)}else{return{params:i,route:n}}}}return undefined};const h=()=>{const t=new URL(n.location.href);r.url=t;r.activePath=s(t)};const d=(t,e)=>{const n=l(e);if(n){if(typeof n.route.jsx==="function"){return n.route.jsx(n.params)}else{return n.route.jsx}}};const u=()=>{n.removeEventListener("popstate",h);a()};const f={Switch:d,get url(){return r.url},get activePath(){return r.activePath},push:c,onChange:o,dispose:u};h();n.addEventListener("popstate",h);return f};const Qd=(t,e)=>{if(typeof e==="string"){if(e===t){return{}}}else if(typeof e==="function"){const n=e(t);if(n){return n===true?{}:{...n}}}else{const n=e.exec(t);if(n){e.lastIndex=0;return{...n}}}return undefined};const tu=t=>t.pathname.toLowerCase();const eu=".toolbar{display:flex;flex-direction:row;gap:0;align-items:center;margin-left:0.5rem}pos-navigation{flex-grow:1}";const nu=eu;const iu=Zd();const su=class{constructor(t){e(this,t);this.routeChanged=a(this,"pod-os:route-changed",7);this.mode="standalone"}linkClicked(t){this.navigate(t.detail)}sessionRestored(t){iu.push(t.detail.url)}componentWillLoad(){this.updateUri();iu.onChange("url",(()=>{this.updateUri()}))}navigate(t){iu.push("?uri="+encodeURIComponent(t))}updateUri(){this.uri=new URLSearchParams(window.location.search).get("uri")||(this.mode==="standalone"?"pod-os:dashboard":window.location.href);this.routeChanged.emit(this.uri)}render(){return n("slot",{key:"5d39b495d0835298a50ff39ec55d83481764c376"})}};su.style=nu;const ru=":host{display:block}input{background-color:transparent;color:var(--pos-normal-text-color);border:none;padding-top:1rem;padding-bottom:1rem}input:focus{outline:none}";const ou=ru;const au=class{constructor(t){e(this,t);this.subscribePodOs=a(this,"pod-os:init",7);this.termSelected=a(this,"pod-os:term-selected",7);this.placeholder="Type to search...";this.value="";this.terms=[];this.receivePodOs=async t=>{this.os=t}}componentWillLoad(){B(this)}setTerms(){this.terms=this.os.listKnownTerms()}handleChange(t){this.termSelected.emit({uri:t.target.value})}render(){return n(i,{key:"19fcf00d5d0b45657e304307b52249d0d387a44a"},n("input",{key:"0ed3ff623d93a3b940a7615683aa4428e69da56f",part:"input",list:"terms",placeholder:this.placeholder,value:this.value,onChange:t=>this.handleChange(t)}),n("datalist",{key:"cc518b371003586cf9a4df1423bf3588666b3ebd",part:"terms",id:"terms"},this.terms.map((t=>n("option",{value:t.uri},t.shorthand)))))}static get delegatesFocus(){return true}static get watchers(){return{os:["setTerms"]}}};au.style=ou;const cu=":host{border:var(--size-px) solid var(--pos-border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--size-8);max-width:var(--size-96);background:var(--pos-card-background)}svg{width:var(--size-8)}h2{display:flex;align-items:center}p{padding:var(--size-2)}.info{color:var(--color-grey-900);background-color:var(--color-blue-200)}.warn{color:var(--color-grey-900);background-color:var(--color-yellow-200)}";const lu=cu;const hu=class{constructor(t){e(this,t)}render(){return n(i,{key:"f024e7d542cfc87a4dc0a1f22694b664086ebd60"},n("div",{key:"e88e694cefa4a2361ca8c67f1bd023fda1b70f2a"},n("h2",{key:"c4b2e6270f26a2eb7f62e5076b40834903fc10e4"},n("svg",{key:"d63643c1ed908c6fe9ab4ff6c47b13848c714c32",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},n("path",{key:"78f055556bb175ea17d0db1ccf78c16343d67d3f","stroke-linecap":"round","stroke-linejoin":"round",d:"M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125"})),"Cache Settings"),n("p",{key:"3045ae3214b9e91feb34857ce45a3db6529f2959",class:"info"},"ℹ Enable offline cache to be able to access previously loaded data while offline."),n("p",{key:"9987c1cb59b62e1eb06c67a9c646a9a2f125529a",class:"warn"},"⚠ Private data may be stored on this device. Only enable it, if you trust this device."),n("label",{key:"55dd3c0fa7ece9a59437e7818d6cfa9b0e9eb5bf"},n("input",{key:"22874f8a39b5016b71818fa1d6226bf66ff969c3",type:"checkbox",checked:ge.state.offlineCache,onChange:t=>ge.state.offlineCache=t.target.checked}),"Enable offline cache")))}};hu.style=lu;vd.define("sl-icon");const du=":host {\n --button-size: var(--size-14);\n display: block;\n position: sticky;\n align-self: flex-start;\n top: 0;\n overflow: auto;\n min-width: var(--button-size);\n}\n\naside {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n button {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 0;\n font-size: var(--size-6);\n .text {\n font-size: var(--size-3);\n white-space: nowrap;\n text-overflow: ellipsis;\n width: 100%;\n overflow: hidden;\n }\n outline: none;\n border: none;\n width: var(--button-size);\n min-width: var(--button-size);\n height: var(--button-size);\n min-height: var(--button-size);\n background-color: var(--pos-background-color);\n }\n}\n\n@media (max-width: 640px) {\n :host {\n position: fixed;\n top: unset;\n bottom: 0;\n width: 100dvw;\n }\n aside {\n flex-direction: row;\n background-color: var(--pos-background-color);\n }\n}\n";const uu=du;const fu=class{constructor(t){e(this,t);this.toolSelected=a(this,"pod-os:tool-selected",7);this.tools=[]}render(){if(this.tools.length>1){return n("aside",null,this.tools.map((t=>n("button",{onClick:()=>this.toolSelected.emit(t)},n("sl-icon",{name:t.icon}),n("span",{class:"text"},t.label)))))}return null}};fu.style=uu;const pu={Generic:{element:"pos-app-generic",label:"Generic",icon:"list-ul",types:[]},RdfDocument:{element:"pos-app-rdf-document",label:"RDF Document",icon:"file-earmark-ruled",types:[{type:"http://www.w3.org/2007/ont/link#RDFDocument",priority:20}]},DocumentViewer:{element:"pos-app-document-viewer",label:"Document",icon:"file-text",types:[{type:bu("application/pdf"),priority:30},{type:"http://www.w3.org/2007/ont/link#Document",priority:10}]},ImageViewer:{element:"pos-app-image-viewer",label:"Image",icon:"file-image",types:[{type:"http://purl.org/dc/terms/Image",priority:20}]},LdpContainer:{element:"pos-app-ldp-container",label:"Container",icon:"folder",types:[{type:"http://www.w3.org/ns/ldp#Container",priority:30}]}};function bu(t){return"http://www.w3.org/ns/iana/media-types/"+t+"#Resource"}function mu(t){const e=[];Object.values(pu).forEach((n=>{const i=n.types.filter((e=>t.some((t=>t.uri===e.type))));if(i.length>0){const t=Math.max(...i.map((t=>t.priority)));e.push({tool:n,priority:t})}}));e.push({tool:pu.Generic,priority:0});return e.toSorted(((t,e)=>e.priority-t.priority)).map((t=>t.tool))}const gu="section {\n display: flex;\n flex-direction: row;\n}\n\nsection > :last-child {\n flex-grow: 1;\n}\n\n@media (max-width: 640px) {\n section {\n --toolbar-size: var(--size-14);\n flex-direction: column-reverse;\n padding-bottom: var(--toolbar-size);\n pos-tool-select {\n --button-size: var(--toolbar-size);\n }\n }\n}\n";const wu=gu;const vu=class{constructor(t){e(this,t);this.subscribeResource=a(this,"pod-os:resource",7);this.receiveResource=t=>{this.types=t.types()}}componentWillLoad(){J(this)}handleToolSelected(t){this.selectedTool=t.detail}render(){return this.types?this.renderApp():null}renderApp(){var t;const e=mu(this.types);const i=((t=this.selectedTool)===null||t===void 0?void 0:t.element)||e[0].element;return n("section",null,n("pos-tool-select",{tools:e}),n(i,null))}};vu.style=wu;var yu=So`
|
|
545
|
+
`}};yd.styles=[Qa,Wh];yd.dependencies={"sl-icon":vd,"sl-popup":Sh,"sl-spinner":ed};st([rc("slot:not([name])")],yd.prototype,"defaultSlot",2);st([rc(".menu-item")],yd.prototype,"menuItem",2);st([nc()],yd.prototype,"type",2);st([nc({type:Boolean,reflect:true})],yd.prototype,"checked",2);st([nc()],yd.prototype,"value",2);st([nc({type:Boolean,reflect:true})],yd.prototype,"loading",2);st([nc({type:Boolean,reflect:true})],yd.prototype,"disabled",2);st([Oh("checked")],yd.prototype,"handleCheckedChange",1);st([Oh("disabled")],yd.prototype,"handleDisabledChange",1);st([Oh("type")],yd.prototype,"handleTypeChange",1);yd.define("sl-menu-item");const kd="button.main {\n display: flex;\n transition:\n width 200ms,\n background-color 500ms,\n color 500ms,\n border-color 500ms;\n max-width: var(--size-40);\n flex-direction: row;\n overflow: hidden;\n height: var(--pos-navigation-bar-height);\n width: var(--pos-navigation-bar-height);\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-md);\n color: var(--pos-subtle-text-color);\n border: var(--size-px) dashed var(--pos-subtle-text-color);\n background-color: var(--pos-background-color);\n\n p {\n padding: 0;\n margin: 0;\n display: none;\n white-space: nowrap;\n }\n\n &.success {\n color: var(--color-green-700);\n border-color: var(--color-green-700);\n border-style: solid;\n background-color: var(--color-green-100);\n }\n\n &:active {\n transform: scale(0.99);\n filter: brightness(90%);\n }\n &:focus {\n outline: var(--pos-input-focus-outline);\n }\n}\n\nsvg {\n display: inline-block;\n height: var(--size-6);\n flex-shrink: 0;\n flex-grow: 0;\n width: var(--size-6);\n}\n\nbutton.main:hover,\nsl-dropdown[open] button {\n &.success {\n background: var(--color-green-200);\n color: var(--color-green-700);\n }\n width: var(--size-full);\n height: var(--pos-navigation-bar-height);\n background: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n\n p {\n display: inline-block;\n }\n}\n";const xd=kd;const Sd=class{constructor(t){e(this,t);this.subscribePodOs=a(this,"pod-os:init",7);this.errorEmitter=a(this,"pod-os:error",7);this.indexUpdatedEmitter=a(this,"pod-os:search:index-updated",7);this.indexCreatedEmitter=a(this,"pod-os:search:index-created",7);this.indexes=[];this.showOptions=false;this.isIndexed=false;this.receivePodOs=async t=>{this.os=t;this.thing=this.os.store.get(this.uri);this.getLabelIndexes(M.state.profile);this.unsubscribeSessionChange=M.onChange("profile",(t=>{this.getLabelIndexes(t)}))}}componentWillLoad(){B(this)}disconnectedCallback(){this.unsubscribeSessionChange&&this.unsubscribeSessionChange()}updateUri(t){this.thing=this.os.store.get(t);this.isIndexed=this.checkIfIndexed(t)}checkIfIndexed(t){return this.indexes.some((e=>e.contains(t)))}getLabelIndexes(t){if(t){this.indexes=t.getPrivateLabelIndexes().map((t=>this.os.store.get(t).assume(N)));this.showOptions=this.indexes.length>1;this.isIndexed=this.checkIfIndexed(this.uri)}}async onClick(t){t.preventDefault();if(this.indexes.length===1){const t=this.indexes[0];await this.addToLabelIndex(t);this.indexUpdatedEmitter.emit(t)}else if(this.indexes.length===0){const t=await this.createDefaultLabelIndex();await this.addToLabelIndex(t);this.indexCreatedEmitter.emit(t)}}async addToLabelIndex(t){try{await this.os.addToLabelIndex(this.thing,t);this.isIndexed=true}catch(t){this.errorEmitter.emit(t)}}async createDefaultLabelIndex(){try{return await this.os.createDefaultLabelIndex(M.state.profile)}catch(t){this.errorEmitter.emit(t)}}render(){if(!M.state.isLoggedIn||!this.uri){return null}const t="Make this findable";const e=n("button",{type:"button",slot:"trigger","aria-label":t,class:{main:true,success:this.isIndexed},onClick:t=>this.onClick(t),title:""},this.isIndexed?n(Ed,null):n(_d,null),n("p",null,t));if(this.showOptions){return n(i,null,n("sl-dropdown",null,e,n("sl-menu",{role:"listbox"},this.indexes.map((t=>n("sl-menu-item",{role:"option",value:t,type:"checkbox",checked:t.contains(this.uri)},n("pos-resource",{uri:t.uri,lazy:true},n("pos-label",null))))))))}else{return e}}async onSelect(t){const e=t.detail.item.value;t.preventDefault();await this.addToLabelIndex(e);this.indexUpdatedEmitter.emit(e)}get el(){return s(this)}static get watchers(){return{uri:["updateUri"]}}};const _d=()=>n("svg",{role:"presentation",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},n("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m5.231 13.481L15 17.25m-4.5-15H5.625c-.621 0-1.125.504-1.125 1.125v16.5c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Zm3.75 11.625a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z"}));const Ed=()=>n("svg",{role:"presentation",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},n("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M10.125 2.25h-4.5c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125v-9M10.125 2.25h.375a9 9 0 0 1 9 9v.375M10.125 2.25A3.375 3.375 0 0 1 13.5 5.625v1.5c0 .621.504 1.125 1.125 1.125h1.5a3.375 3.375 0 0 1 3.375 3.375M9 15l2.25 2.25L15 12"}));Sd.style=xd;const Ad=":host {\n --pos-navigation-bar-height: var(--size-10);\n}\n\nsearch {\n position: relative;\n}\n\n.suggestions ol {\n border: 1px solid var(--pos-border-color);\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n\n.suggestions {\n width: 100%;\n overflow-y: auto;\n max-height: 90dvh;\n li {\n padding: 1rem;\n background-color: var(--pos-background-color);\n pos-rich-link {\n --background-color: inherit;\n }\n &[aria-selected='true'] {\n background-color: var(--pos-primary-color);\n &:hover {\n background-color: var(--pos-primary-color);\n }\n }\n &:hover {\n background-color: var(--pos-border-color);\n }\n }\n}\n\n.suggestions li.selected pos-rich-link {\n --label-color: white;\n --description-color: var(--pos-border-color);\n --uri-color: var(--pos-subtle-text-color);\n}\n\ndialog {\n position: absolute;\n margin-top: calc(-1 * var(--pos-navigation-bar-height));\n padding: 0;\n width: 100%;\n max-width: 100%;\n min-width: 100%;\n overflow: hidden;\n max-height: 100dvh;\n background-color: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n border: var(--pos-border-color);\n border-radius: var(--radius-md);\n box-shadow: var(--shadow-md);\n form {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n align-items: center;\n input {\n display: flex;\n font-size: var(--scale-1);\n height: var(--pos-navigation-bar-height);\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n padding-left: var(--size-2);\n width: 100%;\n border: none;\n outline: none;\n color: var(--pos-normal-text-color);\n background-color: var(--pos-input-background-color);\n box-sizing: border-box;\n }\n }\n}\n\ndialog[open] {\n display: flex;\n z-index: var(--layer-top);\n animation: slideIn 100ms ease-out;\n}\n\n@media (max-width: 640px) {\n search {\n position: unset;\n }\n dialog {\n margin-top: var(--size-1);\n top: 0;\n width: 95dvw;\n max-width: unset;\n min-width: unset;\n form {\n input {\n height: var(--size-12);\n font-size: var(--scale-fluid-3);\n }\n }\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n";const Cd=Ad;const Td=class{constructor(t){e(this,t);this.subscribePodOs=a(this,"pod-os:init",7);this.linkEmitter=a(this,"pod-os:link",7);this.uri="";this.inputValue=this.uri;this.searchIndex=undefined;this.suggestions=[];this.selectedIndex=-1;this.resource=null;this.changeEvents=new Ln;this.debouncedSearch=null;this.receivePodOs=async t=>{this.os=t}}updateResource(){var t;try{this.resource=this.uri?(t=this.os)===null||t===void 0?void 0:t.store.get(this.uri):null}catch(t){this.resource=null}}componentWillLoad(){B(this);this.updateResource();M.onChange("isLoggedIn",(async t=>{if(t){await this.buildSearchIndex()}else{this.clearSearchIndex()}}));this.debouncedSearch=this.changeEvents.pipe(mi(300)).subscribe((()=>this.search()))}disconnectedCallback(){var t;(t=this.debouncedSearch)===null||t===void 0?void 0:t.unsubscribe()}async buildSearchIndex(){this.searchIndex=await this.os.buildSearchIndex(M.state.profile)}rebuildSearchIndex(){this.searchIndex.rebuild()}openNavigationDialog(t){var e,n;this.resource=t.detail;if(t.detail){this.inputValue=t.detail.uri;this.search()}(e=this.inputRef)===null||e===void 0?void 0:e.select();(n=this.dialogRef)===null||n===void 0?void 0:n.show()}clearSearchIndex(){var t;(t=this.searchIndex)===null||t===void 0?void 0:t.clear()}onChange(t){this.inputValue=t.target.value;this.changeEvents.next()}closeDialog(){var t;(t=this.dialogRef)===null||t===void 0?void 0:t.close();this.selectedIndex=-1}clearSuggestions(){var t;this.suggestions=[];(t=this.dialogRef)===null||t===void 0?void 0:t.close();this.selectedIndex=-1}onClickSelf(t){t.stopPropagation()}handleKeyDown(t){if(t.key==="Escape"){this.closeDialog()}else if(t.key==="ArrowDown"){t.preventDefault();this.selectedIndex=Math.min(this.selectedIndex+1,this.suggestions.length-1)}else if(t.key==="ArrowUp"){t.preventDefault();this.selectedIndex=Math.max(this.selectedIndex-1,0)}}search(){if(this.searchIndex){this.suggestions=this.inputValue?this.searchIndex.search(this.inputValue):[]}}onSubmit(){if(this.suggestions&&this.selectedIndex>-1){this.linkEmitter.emit(this.suggestions[this.selectedIndex].ref)}else{this.linkEmitter.emit(this.inputValue)}}render(){return n("nav",{key:"75fef6f1c6fd945150ebb4123a2cce80537c46e1"},n("search",{key:"eb81710c97b1edcc9295050585e14b505cc4e9ca"},n("pos-navigation-bar",{key:"5566254cee17f0ebc923b61f08d0765f2e51db08",searchIndexReady:this.searchIndex!==undefined,current:this.resource}),n("dialog",{key:"bed472296c931b2409094b9d3d5ca875b262b4b2",ref:t=>this.dialogRef=t},n("form",{key:"1bfbb8191a04fc215da7250ef533f8c7cb65fca9",method:"dialog",onSubmit:()=>this.onSubmit()},n("input",{key:"532bdbabb64164b879d60e5f7f944dc79eebeb2b",ref:t=>this.inputRef=t,enterkeyhint:"search","aria-label":"Search or enter URI",placeholder:"Search or enter URI",value:this.uri,onChange:t=>this.onChange(t),onInput:t=>this.onChange(t),role:"combobox","aria-autocomplete":"list","aria-expanded":this.suggestions.length>0,"aria-controls":"suggestions-list","aria-activedescendant":this.selectedIndex>=0?`option-${this.selectedIndex}`:null}),this.suggestions.length>0?n("div",{class:"suggestions"},n("ol",{id:"suggestions-list",role:"listbox","aria-label":"Search results"},this.suggestions.map(((t,e)=>n("li",{id:`option-${e}`,role:"option","aria-selected":e===this.selectedIndex?"true":"false"},n("pos-rich-link",{uri:t.ref})))))):null))))}static get watchers(){return{uri:["updateResource"],os:["updateResource"]}}};Td.style=Cd;const zd="section.current {\n display: flex;\n height: var(--pos-navigation-bar-height);\n flex-grow: 1;\n gap: 0;\n background-color: var(--pos-input-background-color);\n border-radius: var(--radius-md);\n width: 100%;\n &:focus-within {\n outline: var(--pos-input-focus-outline);\n }\n}\n\nsection.current button {\n cursor: pointer;\n font-size: var(--scale-1);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n background: none;\n color: var(--pos-normal-text-color);\n outline: none;\n border: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n &:focus {\n text-decoration: underline;\n }\n :first-child {\n flex-grow: 1;\n }\n svg {\n width: var(--size-6);\n color: var(--pos-subtle-text-color);\n }\n}\n";const $d=zd;const Pd=class{constructor(t){e(this,t);this.navigate=a(this,"pod-os:navigate",7)}onClick(){this.navigate.emit(this.current)}activate(t){if((t.ctrlKey||t.metaKey)&&t.key==="k"){t.preventDefault();this.navigate.emit(this.current)}}render(){const t=this.current?`${this.current.label()} (Click to search or enter URI)`:"Search or enter URI";return n("section",{key:"d8b48cc6908244bb35139ead157687f1a6f05bd7",class:"current"},this.current&&this.searchIndexReady&&n("pos-make-findable",{key:"215e525705b27a7a30de2f32a1bc57aba72652c2",uri:this.current.uri}),n("button",{key:"55b79e62adac3f10e8b9f5a514c5d4191af251d9","aria-label":t,onClick:()=>this.onClick()},n("div",{key:"7b1a9ebe7fb3c90ac3694826f3202ba4617925cb"},this.current?this.current.label():"Search or enter URI"),this.icon()))}icon(){return n("svg",{"aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},n("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"}))}};Pd.style=$d;const Id=":host{display:block}form{display:grid;grid-template-columns:var(--size-16) 1fr;grid-gap:var(--scale-0)}label{grid-column:1 / 2;display:flex;align-items:center;justify-content:flex-end}input,pos-select-term,button{grid-column:2 / 3}input,pos-select-term::part(input){outline:var(--pos-input-outline);padding:var(--scale-000);border:none;border-radius:var(--radius-xs);width:var(--size-full);box-sizing:border-box;background:var(--pos-input-background-color);color:var(--pos-normal-text-color)}input:focus-within,pos-select-term::part(input):focus-within{outline:var(--pos-input-focus-outline)}#new-uri{grid-column:1/3;cursor:default;word-break:break-all;color:var(--pos-normal-text-color);font-weight:var(--weight-light);background:var(--pos-disabled-color);padding:var(--scale-000);border-radius:var(--radius-xs)}input#create{outline:none;box-shadow:var(--shadow-sm);cursor:pointer;color:var(--pos-primary-text-color);background-color:var(--pos-primary-color)}input#create:disabled{cursor:default;color:var(--pos-disabled-text-color);background-color:var(--pos-disabled-color);box-shadow:none}input#create:hover:not(:disabled),input#create:focus{filter:brightness(110%);box-shadow:var(--shadow-md)}";const Rd=Id;const Od=class{constructor(t){e(this,t);this.linkEmitter=a(this,"pod-os:link",7);this.errorEmitter=a(this,"pod-os:error",7);this.subscribePodOs=a(this,"pod-os:init",7);this.canSubmit=false;this.receivePodOs=async t=>{this.os=t}}validate(){this.canSubmit=Boolean(this.name&&this.selectedTypeUri)}componentWillLoad(){B(this)}render(){return n("form",{key:"0d52a6b85338d0353876f0fde0a7ef45e5ebe104",method:"dialog",onSubmit:t=>this.handleSubmit(t)},n("label",{key:"6765ada99850150a6a1dc9135a6ec0c575e3066d",htmlFor:"type"},"Type"),n("pos-select-term",{key:"375ca79b6ffa3d363954578cf83d2eab10b0e486",id:"type",placeholder:"",value:this.selectedTypeUri,"onPod-os:term-selected":t=>this.onTermSelected(t)}),n("label",{key:"9da148cb532d236a5dc9ad73fc75e1bd2d277d17",htmlFor:"name"},"Name"),n("input",{key:"81b5a4bf51eb403bfebfa0c9e023935ddde48194",id:"name",type:"text",value:this.name,onInput:t=>this.handleChange(t)}),this.newUri?n("div",{id:"new-uri",title:"This will be the URI of the new thing"},this.newUri):null,n("input",{key:"5f4ff09818262ad875f80bce3a0f942b0428335f",id:"create",type:"submit",value:"Create",disabled:!this.canSubmit}))}handleChange(t){this.name=t.target.value;this.newUri=this.os.proposeUriForNewThing(this.referenceUri,this.name)}onTermSelected(t){this.selectedTypeUri=t.detail.uri}async handleSubmit(t){try{await this.os.addNewThing(this.newUri,this.name,this.selectedTypeUri);this.linkEmitter.emit(this.newUri);this.reset()}catch(e){t.preventDefault();this.errorEmitter.emit(e)}}reset(){this.name="";this.newUri="";this.selectedTypeUri=""}static get delegatesFocus(){return true}static get watchers(){return{name:["validate"],selectedTypeUri:["validate"]}}};Od.style=Rd;const Dd=":host{--width:300px;--height:300px;--border-radius:var(--border-radius, 0);--object-fit:var(--object-fit, cover)}";const jd=Dd;const Ld=class{constructor(t){e(this,t);this.subscribeResource=a(this,"pod-os:resource",7);this.blurredBackground=false;this.receiveResource=t=>{this.resource=t}}componentWillLoad(){J(this)}render(){const t=this.resource?this.resource.picture():null;if(!t)return n("slot",null);return n("pos-image",{blurredBackground:this.blurredBackground,src:t.url,alt:this.resource.label()})}};Ld.style=jd;const Md="details.error {\n margin: var(--size-2);\n background-color: var(--pos-error-background-color);\n border: var(--size-px) solid var(--pos-error-border-color);\n padding: var(--size-2);\n border-radius: var(--radius-md);\n\n a {\n color: var(--pos-normal-text-color);\n }\n}\n";const Wd=Md;const Ud=class{constructor(t){e(this,t);this.subscribePodOs=a(this,"pod-os:init",7);this.resourceLoadedEmitter=a(this,"pod-os:resource-loaded",7);this.consumers=[];this.lazy=false;this.loading=true;this.receivePodOs=async t=>{this.os=t}}componentWillLoad(){M.onChange("isLoggedIn",(()=>this.loadResource()));B(this)}async provideResource(t){t.stopPropagation();if(this.resource){t.detail(this.resource)}this.consumers.push(t)}async loadResource(){await this.getResource(!this.lazy)}async fetch(){await this.getResource(true)}async getResource(t=false){try{if(t){this.loading=true;await this.os.fetch(this.uri);this.resourceLoadedEmitter.emit(this.uri)}this.resource=this.os.store.get(this.uri);this.error=null;this.consumers.forEach((t=>{t.detail(this.resource)}))}catch(t){this.error=t}finally{this.loading=false}}render(){if(this.loading){return n("ion-progress-bar",{type:"indeterminate"})}if(this.error){return n("details",{class:"error"},n("summary",{title:"Click to expand"},"⚠ Sorry, something went wrong"),n("p",null,"Status:",this.error.status),n("p",null,this.error.message),n("p",null,"You can try to open the link outside PodOS: ",n("a",{href:this.uri},this.uri)))}return n("slot",null)}static get watchers(){return{os:["loadResource"],uri:["loadResource"]}}};Ud.style=Wd;const Hd=":host {\n --background-color: inherit;\n --label-color: var(--pos-normal-text-color);\n --description-color: var(--pos-normal-text-color);\n --uri-color: var(--pos-subtle-text-color);\n --font-family: var(--font-sans);\n}\n\np.content {\n background-color: var(--background-color);\n line-height: var(--line-xs);\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: baseline;\n gap: var(--size-1);\n\n .url {\n font-size: var(--scale-fluid-1);\n color: var(--pos-subtle-text-color);\n }\n}\n\na {\n color: var(--label-color);\n max-width: min(100%, var(--prose-lg));\n text-decoration: underline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-decoration-thickness: var(--size-px);\n}\n\npos-label {\n color: var(--label-color);\n font-size: var(--scale-fluid-2);\n margin-bottom: var(--size-1);\n}\n\npos-description {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n font-weight: var(--weight-light);\n color: var(--description-color);\n font-size: var(--scale-fluid-2);\n}\n\n@media (min-width: 640px) {\n pos-label {\n font-size: var(--scale-fluid-0);\n }\n pos-description {\n font-size: var(--scale-fluid-1);\n }\n\n p.content {\n .url {\n font-size: var(--scale-fluid-000);\n }\n }\n}\n";const Nd=Hd;const Jd=class{constructor(t){e(this,t);this.linkEmitter=a(this,"pod-os:link",7);this.subscribeResource=a(this,"pod-os:resource",7);this.errorEmitter=a(this,"pod-os:error",7);this.followPredicate=false;this.error=null;this.showCustomContent=false;this.receiveResource=t=>{const e=(t,e,n,i)=>{if(t.length==0){this.error="No matching link found";this.errorEmitter.emit(new Error(`pos-rich-link: No matching link found from ${e.uri} ${i}=${n}`))}else if(t[0].uris.length>1){this.error="More than one matching link found";this.errorEmitter.emit(new Error(`pos-rich-link: More than one matching link found from ${e.uri} ${i}=${n}`))}else{this.link=t[0].uris[0];this.followPredicate=true}};if(this.rel){e(t.relations(this.rel),t,this.rel,"rel")}else if(this.rev){e(t.reverseRelations(this.rev),t,this.rev,"rev")}else{this.link=t.uri}}}componentWillLoad(){this.showCustomContent=!!this.host.lastElementChild||this.host.textContent.trim()!="";if(!this.uri)J(this)}render(){const t=t=>this.showCustomContent?n("a",{href:t,onClick:e=>{e.preventDefault();this.linkEmitter.emit(t)}},n("slot",null)):n("p",{class:"content"},n("a",{href:t,onClick:e=>{e.preventDefault();this.linkEmitter.emit(t)}},n("pos-label",null)),n("span",{class:"url"},new URL(t).host),n("pos-description",null));if(this.error){return this.error}else if(this.followPredicate){return n("pos-resource",{lazy:true,uri:this.link},t(this.link))}else if(this.link){return t(this.link)}else if(this.uri){return n("pos-resource",{lazy:true,uri:this.uri},t(this.uri))}else{return null}}get host(){return s(this)}};Jd.style=Nd;const Bd=(t,e,n)=>{const i=t.get(e);if(!i){t.set(e,[n])}else if(!i.includes(n)){i.push(n)}};const Kd=(t,e)=>{let n;return(...i)=>{if(n){clearTimeout(n)}n=setTimeout((()=>{n=0;t(...i)}),e)}};const Fd=t=>!("isConnected"in t)||t.isConnected;const Xd=Kd((t=>{for(let e of t.keys()){t.set(e,t.get(e).filter(Fd))}}),2e3);const Vd=()=>{if(typeof c!=="function"){return{}}const t=new Map;return{dispose:()=>t.clear(),get:e=>{const n=c();if(n){Bd(t,e,n)}},set:e=>{const n=t.get(e);if(n){t.set(e,n.filter(l))}Xd(t)},reset:()=>{t.forEach((t=>t.forEach(l)));Xd(t)}}};const Yd=(t,e=((t,e)=>t!==e))=>{let n=new Map(Object.entries(t!==null&&t!==void 0?t:{}));const i={dispose:[],get:[],set:[],reset:[]};const s=()=>{n=new Map(Object.entries(t!==null&&t!==void 0?t:{}));i.reset.forEach((t=>t()))};const r=()=>{i.dispose.forEach((t=>t()));s()};const o=t=>{i.get.forEach((e=>e(t)));return n.get(t)};const a=(t,s)=>{const r=n.get(t);if(e(s,r,t)){n.set(t,s);i.set.forEach((e=>e(t,s,r)))}};const c=typeof Proxy==="undefined"?{}:new Proxy(t,{get(t,e){return o(e)},ownKeys(t){return Array.from(n.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(t,e){return n.has(e)},set(t,e,n){a(e,n);return true}});const l=(t,e)=>{i[t].push(e);return()=>{qd(i[t],e)}};const h=(e,n)=>{const i=l("set",((t,i)=>{if(t===e){n(i)}}));const s=l("reset",(()=>n(t[e])));return()=>{i();s()}};const d=(...t)=>{const e=t.reduce(((t,e)=>{if(e.set){t.push(l("set",e.set))}if(e.get){t.push(l("get",e.get))}if(e.reset){t.push(l("reset",e.reset))}if(e.dispose){t.push(l("dispose",e.dispose))}return t}),[]);return()=>e.forEach((t=>t()))};const u=t=>{const e=n.get(t);i.set.forEach((n=>n(t,e,e)))};return{state:c,get:o,set:a,on:l,onChange:h,use:d,dispose:r,reset:s,forceUpdate:u}};const qd=(t,e)=>{const n=t.indexOf(e);if(n>=0){t[n]=t[t.length-1];t.length--}};const Gd=(t,e)=>{const n=Yd(t,e);n.use(Vd());return n};const Zd=t=>{var e;const n=window;const i=new URL(n.location.href);const s=(e=t===null||t===void 0?void 0:t.parseURL)!==null&&e!==void 0?e:tu;const{state:r,onChange:o,dispose:a}=Gd({url:i,activePath:s(i)},((t,e,n)=>{if(n==="url"){return t.href!==e.href}return t!==e}));const c=t=>{history.pushState(null,null,t);const e=new URL(t,document.baseURI);r.url=e;r.activePath=s(e)};const l=t=>{const{activePath:e}=r;for(let n of t){const i=Qd(e,n.path);if(i){if(n.to!=null){const i=typeof n.to==="string"?n.to:n.to(e);c(i);return l(t)}else{return{params:i,route:n}}}}return undefined};const h=()=>{const t=new URL(n.location.href);r.url=t;r.activePath=s(t)};const d=(t,e)=>{const n=l(e);if(n){if(typeof n.route.jsx==="function"){return n.route.jsx(n.params)}else{return n.route.jsx}}};const u=()=>{n.removeEventListener("popstate",h);a()};const f={Switch:d,get url(){return r.url},get activePath(){return r.activePath},push:c,onChange:o,dispose:u};h();n.addEventListener("popstate",h);return f};const Qd=(t,e)=>{if(typeof e==="string"){if(e===t){return{}}}else if(typeof e==="function"){const n=e(t);if(n){return n===true?{}:{...n}}}else{const n=e.exec(t);if(n){e.lastIndex=0;return{...n}}}return undefined};const tu=t=>t.pathname.toLowerCase();const eu=".toolbar{display:flex;flex-direction:row;gap:0;align-items:center;margin-left:0.5rem}pos-navigation{flex-grow:1}";const nu=eu;const iu=Zd();const su=class{constructor(t){e(this,t);this.routeChanged=a(this,"pod-os:route-changed",7);this.mode="standalone"}linkClicked(t){this.navigate(t.detail)}sessionRestored(t){iu.push(t.detail.url)}componentWillLoad(){this.updateUri();iu.onChange("url",(()=>{this.updateUri()}))}navigate(t){iu.push("?uri="+encodeURIComponent(t))}updateUri(){this.uri=new URLSearchParams(window.location.search).get("uri")||(this.mode==="standalone"?"pod-os:dashboard":window.location.href);this.routeChanged.emit(this.uri)}render(){return n("slot",{key:"5d39b495d0835298a50ff39ec55d83481764c376"})}};su.style=nu;const ru=":host{display:block}input{background-color:transparent;color:var(--pos-normal-text-color);border:none;padding-top:1rem;padding-bottom:1rem}input:focus{outline:none}";const ou=ru;const au=class{constructor(t){e(this,t);this.subscribePodOs=a(this,"pod-os:init",7);this.termSelected=a(this,"pod-os:term-selected",7);this.placeholder="Type to search...";this.value="";this.terms=[];this.receivePodOs=async t=>{this.os=t}}componentWillLoad(){B(this)}setTerms(){this.terms=this.os.listKnownTerms()}handleChange(t){this.termSelected.emit({uri:t.target.value})}render(){return n(i,{key:"19fcf00d5d0b45657e304307b52249d0d387a44a"},n("input",{key:"0ed3ff623d93a3b940a7615683aa4428e69da56f",part:"input",list:"terms",placeholder:this.placeholder,value:this.value,onChange:t=>this.handleChange(t)}),n("datalist",{key:"cc518b371003586cf9a4df1423bf3588666b3ebd",part:"terms",id:"terms"},this.terms.map((t=>n("option",{value:t.uri},t.shorthand)))))}static get delegatesFocus(){return true}static get watchers(){return{os:["setTerms"]}}};au.style=ou;const cu=":host{border:var(--size-px) solid var(--pos-border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--size-8);max-width:var(--size-96);background:var(--pos-card-background)}svg{width:var(--size-8)}h2{display:flex;align-items:center}p{padding:var(--size-2)}.info{color:var(--color-grey-900);background-color:var(--color-blue-200)}.warn{color:var(--color-grey-900);background-color:var(--color-yellow-200)}";const lu=cu;const hu=class{constructor(t){e(this,t)}render(){return n(i,{key:"f024e7d542cfc87a4dc0a1f22694b664086ebd60"},n("div",{key:"e88e694cefa4a2361ca8c67f1bd023fda1b70f2a"},n("h2",{key:"c4b2e6270f26a2eb7f62e5076b40834903fc10e4"},n("svg",{key:"d63643c1ed908c6fe9ab4ff6c47b13848c714c32",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},n("path",{key:"78f055556bb175ea17d0db1ccf78c16343d67d3f","stroke-linecap":"round","stroke-linejoin":"round",d:"M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125"})),"Cache Settings"),n("p",{key:"3045ae3214b9e91feb34857ce45a3db6529f2959",class:"info"},"ℹ Enable offline cache to be able to access previously loaded data while offline."),n("p",{key:"9987c1cb59b62e1eb06c67a9c646a9a2f125529a",class:"warn"},"⚠ Private data may be stored on this device. Only enable it, if you trust this device."),n("label",{key:"55dd3c0fa7ece9a59437e7818d6cfa9b0e9eb5bf"},n("input",{key:"22874f8a39b5016b71818fa1d6226bf66ff969c3",type:"checkbox",checked:ge.state.offlineCache,onChange:t=>ge.state.offlineCache=t.target.checked}),"Enable offline cache")))}};hu.style=lu;vd.define("sl-icon");const du=":host {\n --button-size: var(--size-16);\n display: block;\n position: sticky;\n align-self: flex-start;\n top: 0;\n overflow: auto;\n min-width: var(--button-size);\n z-index: var(--layer-1);\n}\n\naside {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n button {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 0;\n font-size: var(--size-6);\n position: relative;\n overflow: hidden;\n outline: none;\n border: none;\n width: var(--button-size);\n min-width: var(--button-size);\n height: var(--button-size);\n min-height: var(--button-size);\n background-color: var(--pos-background-color);\n\n &::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n width: 0;\n height: 0;\n border-radius: 100%;\n background: color-mix(in srgb, var(--pos-primary-color), transparent 50%);\n transform: translate(-50%, -50%);\n opacity: 1;\n }\n\n &:active::after,\n &:focus::after {\n width: calc(var(--button-size) * 1.5);\n height: calc(var(--button-size) * 1.5);\n opacity: 0;\n transition:\n width 0.5s ease-out,\n height 0.5s ease-out,\n opacity 1s ease-out;\n }\n\n &[aria-selected] {\n border-right: var(--size-1) solid var(--pos-primary-color);\n }\n\n .text {\n font-size: var(--size-3);\n white-space: nowrap;\n text-overflow: ellipsis;\n width: 100%;\n overflow: hidden;\n }\n }\n}\n\n@media (max-width: 640px) {\n :host {\n position: fixed;\n top: unset;\n bottom: 0;\n width: 100dvw;\n }\n aside {\n flex-direction: row;\n background-color: var(--pos-background-color);\n\n button {\n &[aria-selected] {\n border-right: none;\n border-top: var(--size-1) solid var(--pos-primary-color);\n }\n }\n }\n}\n";const uu=du;const fu=class{constructor(t){e(this,t);this.toolSelected=a(this,"pod-os:tool-selected",7);this.tools=[]}render(){if(this.tools.length>1){return n("aside",null,this.tools.map((t=>{var e;return n("button",{role:"tab","aria-selected":((e=this.selected)===null||e===void 0?void 0:e.element)===t.element,onClick:()=>this.toolSelected.emit(t)},n("sl-icon",{name:t.icon}),n("span",{class:"text"},t.label))})))}return null}};fu.style=uu;const pu={Generic:{element:"pos-app-generic",label:"Data",icon:"list-ul",types:[]},RdfDocument:{element:"pos-app-rdf-document",label:"Things",icon:"diagram-2",types:[{uri:"http://www.w3.org/2007/ont/link#RDFDocument",priority:20}]},DocumentViewer:{element:"pos-app-document-viewer",label:"Doc",icon:"file-text",types:[{uri:bu("application/pdf"),priority:30},{uri:"http://www.w3.org/2007/ont/link#Document",priority:10}]},ImageViewer:{element:"pos-app-image-viewer",label:"Pic",icon:"file-image",types:[{uri:"http://purl.org/dc/terms/Image",priority:20}]},LdpContainer:{element:"pos-app-ldp-container",label:"Content",icon:"folder",types:[{uri:"http://www.w3.org/ns/ldp#Container",priority:30}]}};function bu(t){return"http://www.w3.org/ns/iana/media-types/"+t+"#Resource"}function mu(t){const e=new Set(t.map((t=>t.uri)));return Object.values(pu).map(gu(e)).filter(vu).toSorted(yu).map((t=>t.tool)).concat(pu.Generic)}const gu=t=>e=>({tool:e,priority:wu(e.types,t)});function wu(t,e){return t.filter((t=>e.has(t.uri))).reduce(((t,e)=>Math.max(t,e.priority)),0)}const vu=t=>t.priority>0;const yu=(t,e)=>e.priority-t.priority;const ku="section {\n display: flex;\n flex-direction: row;\n}\n\nsection > :last-child {\n flex-grow: 1;\n}\n\n@media (max-width: 640px) {\n section {\n --toolbar-size: var(--size-16);\n flex-direction: column-reverse;\n padding-bottom: var(--toolbar-size);\n pos-tool-select {\n --button-size: var(--toolbar-size);\n }\n }\n}\n";const xu=ku;const Su=class{constructor(t){e(this,t);this.subscribeResource=a(this,"pod-os:resource",7);this.receiveResource=t=>{this.types=t.types()}}componentWillLoad(){J(this);const t=new URLSearchParams(window.location.search);const e=t.get("tool");if(e){this.selectedTool=e}}handleToolSelected(t){this.selectedTool=t.detail.element;const e=new URL(window.location.href);e.searchParams.set("tool",t.detail.element);window.history.replaceState({},"",e.toString())}render(){return this.types?this.renderApp():null}renderApp(){var t;const e=mu(this.types);const i=(t=e.find((t=>t.element===this.selectedTool)))!==null&&t!==void 0?t:e[0];const s=i.element;return n("section",null,n("pos-tool-select",{selected:i,tools:e}),n(s,null))}};Su.style=xu;var _u=So`
|
|
546
546
|
:host {
|
|
547
547
|
display: inline-block;
|
|
548
548
|
|
|
@@ -605,7 +605,7 @@ import{d as t,r as e,h as n,H as i,e as s,f as r,w as o,i as a,j as c,k as l}fro
|
|
|
605
605
|
object-fit: cover;
|
|
606
606
|
overflow: hidden;
|
|
607
607
|
}
|
|
608
|
-
`;var
|
|
608
|
+
`;var Eu=class extends ac{constructor(){super(...arguments);this.hasError=false;this.image="";this.label="";this.initials="";this.loading="eager";this.shape="circle"}handleImageChange(){this.hasError=false}handleImageLoadError(){this.hasError=true;this.emit("sl-error")}render(){const t=ca`
|
|
609
609
|
<img
|
|
610
610
|
part="image"
|
|
611
611
|
class="avatar__image"
|
|
@@ -629,7 +629,7 @@ import{d as t,r as e,h as n,H as i,e as s,f as r,w as o,i as a,j as c,k as l}fro
|
|
|
629
629
|
>
|
|
630
630
|
${this.image&&!this.hasError?t:e}
|
|
631
631
|
</div>
|
|
632
|
-
`}};
|
|
632
|
+
`}};Eu.styles=[Qa,_u];Eu.dependencies={"sl-icon":vd};st([ic()],Eu.prototype,"hasError",2);st([nc()],Eu.prototype,"image",2);st([nc()],Eu.prototype,"label",2);st([nc()],Eu.prototype,"initials",2);st([nc()],Eu.prototype,"loading",2);st([nc({reflect:true})],Eu.prototype,"shape",2);st([Oh("image")],Eu.prototype,"handleImageChange",1);Eu.define("sl-avatar");var Au=So`
|
|
633
633
|
:host {
|
|
634
634
|
--color: var(--sl-panel-border-color);
|
|
635
635
|
--width: var(--sl-panel-border-width);
|
|
@@ -648,5 +648,5 @@ import{d as t,r as e,h as n,H as i,e as s,f as r,w as o,i as a,j as c,k as l}fro
|
|
|
648
648
|
border-left: solid var(--width) var(--color);
|
|
649
649
|
margin: 0 var(--spacing);
|
|
650
650
|
}
|
|
651
|
-
`;var
|
|
652
|
-
//# sourceMappingURL=p-
|
|
651
|
+
`;var Cu=class extends ac{constructor(){super(...arguments);this.vertical=false}connectedCallback(){super.connectedCallback();this.setAttribute("role","separator")}handleVerticalChange(){this.setAttribute("aria-orientation",this.vertical?"vertical":"horizontal")}};Cu.styles=[Qa,Au];st([nc({type:Boolean,reflect:true})],Cu.prototype,"vertical",2);st([Oh("vertical")],Cu.prototype,"handleVerticalChange",1);Cu.define("sl-divider");const Tu="button {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n margin: 0;\n border: none;\n background: none;\n cursor: pointer;\n border-radius: 50%;\n pos-picture {\n --width: 40px;\n --height: 40px;\n --border-radius: 50%;\n }\n sl-avatar {\n --size: 40px;\n }\n}\n\nsl-dropdown {\n display: block;\n}\n";const zu=Tu;const $u=class{constructor(t){e(this,t);this.logout=a(this,"pod-os:logout",7);this.link=a(this,"pod-os:link",7)}onSelect(t){const{value:e}=t.detail.item;if(e==="logout"){this.logout.emit()}else if(e==="profile"){this.link.emit(this.webId)}else if(e==="dashboard"){this.link.emit("pod-os:dashboard")}else if(e==="settings"){this.link.emit("pod-os:settings")}}render(){if(!this.webId)return null;return n("pos-resource",{uri:this.webId},n("sl-dropdown",null,n("button",{slot:"trigger","aria-label":"User menu"},n("pos-picture",null,n("sl-avatar",null))),n("sl-menu",null,n("sl-menu-item",{value:"dashboard"},"Dashboard"),n("sl-menu-item",{value:"profile"},n("pos-label",null)),n("sl-menu-item",{value:"settings"},"Settings"),n("sl-divider",null),n("sl-menu-item",{value:"logout"},"Logout"))))}};$u.style=zu;export{It as ion_icon,Wt as ion_progress_bar,Bt as ion_ripple_effect,qt as ion_skeleton_text,le as ion_toast,pe as pos_add_new_thing,Lr as pos_app,Ur as pos_app_browser,Br as pos_app_dashboard,Xr as pos_app_settings,Vr as pos_description,Gr as pos_dialog,Zr as pos_error_toast,eo as pos_example_resources,so as pos_getting_started,ao as pos_image,co as pos_internal_router,lo as pos_label,fo as pos_login,mo as pos_login_form,Sd as pos_make_findable,Td as pos_navigation,Pd as pos_navigation_bar,Od as pos_new_thing_form,Ld as pos_picture,Ud as pos_resource,Jd as pos_rich_link,su as pos_router,au as pos_select_term,hu as pos_setting_offline_cache,fu as pos_tool_select,Su as pos_type_router,$u as pos_user_menu};
|
|
652
|
+
//# sourceMappingURL=p-32a795b5.entry.js.map
|