solid-panes 4.4.2-4 → 4.4.2-6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -30
- package/dist/_virtual/_rolldown/runtime.cjs.js +1 -1
- package/dist/_virtual/~icons/lucide/arrow-left.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/arrow-left.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/arrow-left.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/arrow-left.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/folder-open.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/folder-open.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/folder-open.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/folder-open.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/globe.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/globe.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/globe.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/globe.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/pencil.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/pencil.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/pencil.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/pencil.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/settings-2.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/settings-2.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/settings-2.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/settings-2.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/share-2.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/share-2.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/share-2.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/share-2.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/trash-2.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/trash-2.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/trash-2.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/trash-2.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/users.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/users.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/users.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/users.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js +14 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.d.ts +19 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.esm.js +292 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js +7 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +22 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts +15 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +266 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js +7 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +19 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts +19 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +321 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js +7 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js +13 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.d.ts +36 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.esm.js +468 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js +7 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/helper.cjs.js +2 -0
- package/dist/components/file-explorer-header/helper.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/helper.d.ts +15 -0
- package/dist/components/file-explorer-header/helper.d.ts.map +1 -0
- package/dist/components/file-explorer-header/helper.esm.js +64 -0
- package/dist/components/file-explorer-header/helper.esm.js.map +1 -0
- package/dist/components/file-explorer-header/types.d.ts +2 -0
- package/dist/components/file-explorer-header/types.d.ts.map +1 -0
- package/dist/components/header/Header.cjs.js +1 -1
- package/dist/components/header/Header.cjs.js.map +1 -1
- package/dist/components/header/Header.esm.js +3 -3
- package/dist/components/navbar/Navbar.cjs.js +15 -0
- package/dist/components/navbar/Navbar.cjs.js.map +1 -0
- package/dist/components/navbar/Navbar.d.ts +14 -0
- package/dist/components/navbar/Navbar.d.ts.map +1 -0
- package/dist/components/navbar/Navbar.esm.js +232 -0
- package/dist/components/navbar/Navbar.esm.js.map +1 -0
- package/dist/components/navbar/Navbar.styles.cjs.js +2 -0
- package/dist/components/navbar/Navbar.styles.cjs.js.map +1 -0
- package/dist/components/navbar/Navbar.styles.esm.js +7 -0
- package/dist/components/navbar/Navbar.styles.esm.js.map +1 -0
- package/dist/components/navbar/index.cjs.js +1 -0
- package/dist/components/navbar/index.d.ts +4 -0
- package/dist/components/navbar/index.d.ts.map +1 -0
- package/dist/components/navbar/index.esm.js +1 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js +16 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js.map +1 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts +8 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts.map +1 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js +215 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +18 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts +16 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +260 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.map +1 -0
- package/dist/dashboard/homepage.cjs.js +1 -1
- package/dist/dashboard/homepage.cjs.js.map +1 -1
- package/dist/dashboard/homepage.esm.js +2 -2
- package/dist/dashboard/homepage.esm.js.map +1 -1
- package/dist/form/pane.cjs.js +1 -1
- package/dist/form/pane.cjs.js.map +1 -1
- package/dist/form/pane.esm.js +2 -1
- package/dist/form/pane.esm.js.map +1 -1
- package/dist/humanReadablePane2.cjs.js.map +1 -1
- package/dist/humanReadablePane2.esm.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +12 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/internal/internalPane2.cjs.js.map +1 -1
- package/dist/mainPage/header.cjs.js +1 -1
- package/dist/mainPage/header.cjs.js.map +1 -1
- package/dist/mainPage/header.d.ts.map +1 -1
- package/dist/mainPage/header.esm.js +64 -17
- package/dist/mainPage/header.esm.js.map +1 -1
- package/dist/mainPage/index.cjs.js +1 -1
- package/dist/mainPage/index.cjs.js.map +1 -1
- package/dist/mainPage/index.d.ts +1 -9
- package/dist/mainPage/index.d.ts.map +1 -1
- package/dist/mainPage/index.esm.js +19 -21
- package/dist/mainPage/index.esm.js.map +1 -1
- package/dist/mainPage/navbar.cjs.js +2 -0
- package/dist/mainPage/navbar.cjs.js.map +1 -0
- package/dist/mainPage/navbar.d.ts +3 -0
- package/dist/mainPage/navbar.d.ts.map +1 -0
- package/dist/mainPage/navbar.esm.js +66 -0
- package/dist/mainPage/navbar.esm.js.map +1 -0
- package/dist/outline/context.d.ts +1 -1
- package/dist/outline/manager2.cjs.js +1 -2
- package/dist/outline/manager2.cjs.js.map +1 -1
- package/dist/outline/manager2.esm.js +366 -532
- package/dist/outline/manager2.esm.js.map +1 -1
- package/dist/outline/queryByExample.esm.js +1 -0
- package/dist/outline/queryByExample.esm.js.map +1 -1
- package/dist/outline/sourcePaneIcon.d.ts +2 -0
- package/dist/outline/sourcePaneIcon.d.ts.map +1 -0
- package/dist/outline/userInput.cjs.js +3 -3
- package/dist/outline/userInput.cjs.js.map +1 -1
- package/dist/outline/userInput.esm.js +4 -6
- package/dist/outline/userInput.esm.js.map +1 -1
- package/dist/pad/padPane2.cjs.js +1 -1
- package/dist/pad/padPane2.cjs.js.map +1 -1
- package/dist/pad/padPane2.esm.js +2 -1
- package/dist/pad/padPane2.esm.js.map +1 -1
- package/dist/schedule/schedulePane2.cjs.js +1 -1
- package/dist/schedule/schedulePane2.cjs.js.map +1 -1
- package/dist/schedule/schedulePane2.esm.js +2 -1
- package/dist/schedule/schedulePane2.esm.js.map +1 -1
- package/dist/social/editProfileDetails.cjs.js +1 -1
- package/dist/social/editProfileDetails.esm.js +1 -1
- package/dist/social/socialPane2.cjs.js +1 -1
- package/dist/social/socialPane2.esm.js +1 -1
- package/dist/social/socialSections.cjs.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/trustedApplications/trustedApplications.dom.cjs.js.map +1 -1
- package/dist/trustedApplications/trustedApplications.utils.cjs.js.map +1 -1
- package/dist/utils/paneUtils.cjs.js +2 -0
- package/dist/utils/paneUtils.cjs.js.map +1 -0
- package/dist/utils/paneUtils.d.ts +19 -0
- package/dist/utils/paneUtils.d.ts.map +1 -0
- package/dist/utils/paneUtils.esm.js +52 -0
- package/dist/utils/paneUtils.esm.js.map +1 -0
- package/dist/utils/podUtils.cjs.js +2 -0
- package/dist/utils/podUtils.cjs.js.map +1 -0
- package/dist/utils/podUtils.d.ts +4 -0
- package/dist/utils/podUtils.d.ts.map +1 -0
- package/dist/utils/podUtils.esm.js +46 -0
- package/dist/utils/podUtils.esm.js.map +1 -0
- package/dist/utils/webIdUtils.cjs.js +2 -0
- package/dist/utils/webIdUtils.cjs.js.map +1 -0
- package/dist/utils/webIdUtils.d.ts +6 -0
- package/dist/utils/webIdUtils.d.ts.map +1 -0
- package/dist/utils/webIdUtils.esm.js +48 -0
- package/dist/utils/webIdUtils.esm.js.map +1 -0
- 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/package.json +10 -13
- package/dist/icons/dashboard.cjs.js +0 -2
- package/dist/icons/dashboard.cjs.js.map +0 -1
- package/dist/icons/dashboard.esm.js +0 -6
- package/dist/icons/dashboard.esm.js.map +0 -1
- package/dist/icons/iconHelper.cjs.js +0 -2
- package/dist/icons/iconHelper.cjs.js.map +0 -1
- package/dist/icons/iconHelper.esm.js +0 -17
- package/dist/icons/iconHelper.esm.js.map +0 -1
- package/dist/icons/menu.cjs.js +0 -9
- package/dist/icons/menu.cjs.js.map +0 -1
- package/dist/icons/menu.esm.js +0 -6
- package/dist/icons/menu.esm.js.map +0 -1
- package/dist/mainPage/footer.cjs.js +0 -2
- package/dist/mainPage/footer.cjs.js.map +0 -1
- package/dist/mainPage/footer.d.ts +0 -13
- package/dist/mainPage/footer.d.ts.map +0 -1
- package/dist/mainPage/footer.esm.js +0 -18
- package/dist/mainPage/footer.esm.js.map +0 -1
- package/dist/mainPage/menu.d.ts +0 -6
- package/dist/mainPage/menu.d.ts.map +0 -1
- package/dist/mainPage/menu2.cjs.js +0 -2
- package/dist/mainPage/menu2.cjs.js.map +0 -1
- package/dist/mainPage/menu2.esm.js +0 -184
- package/dist/mainPage/menu2.esm.js.map +0 -1
- package/dist/profileUtils/ownerProfile.cjs.js +0 -2
- package/dist/profileUtils/ownerProfile.cjs.js.map +0 -1
- package/dist/profileUtils/ownerProfile.d.ts +0 -5
- package/dist/profileUtils/ownerProfile.d.ts.map +0 -1
- package/dist/profileUtils/ownerProfile.esm.js +0 -50
- package/dist/profileUtils/ownerProfile.esm.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderControls.esm.js","names":["WebComponent","customElement","property","consume","html","nothing","styles","fileExplorerContext","_classDecs","_FileExplorerHeaderCo","_FileExplorerHeaderCo2","_A","WeakMap","_B","_C","_ref","_fileExplorerContextDecs","context","subscribe","_menuItemsDecs","attribute","_canEditDecs","type","Boolean","_FileExplorerHeaderControls","FileExplorerHeaderControls","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_fileExplorerContext","undefined","_init_menuItems","_init_canEdit","_classPrivateFieldGet","v","_classPrivateFieldSet","menuItems","canEdit","handleEditingClick","edit","onEdit","getEditTooltip","paneSupportsEditing","renderDirtyIndicator","isDirty","render","handleSharingClick","store","subjectUri","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default"],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.ts"],"sourcesContent":["import { WebComponent } from 'solid-ui'\nimport { customElement, property } from 'lit/decorators.js'\nimport { consume } from '@lit/context'\nimport { html, nothing } from 'lit'\nimport 'solid-ui/components/button'\nimport '~icons/lucide/share-2'\nimport '~icons/lucide/pencil'\nimport styles from './FileExplorerHeaderControls.styles.css'\nimport '../resource-actions-menu/ResourceActionsMenu'\nimport { fileExplorerContext, type FileExplorerContext } from 'solid-ui'\n\n@customElement('file-explorer-header-controls')\nexport default class FileExplorerHeaderControls extends WebComponent {\n static styles = styles\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 }> = []\n\n @property({ type: Boolean })\n accessor canEdit: boolean = false\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 handleEditingClick () {\n this.fileExplorerContext.edit?.onEdit?.()\n }\n\n private getEditTooltip () {\n if (!this.fileExplorerContext.paneSupportsEditing) return 'Not Supported'\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 return html`\n <div>\n ${this.renderDirtyIndicator()}\n <solid-ui-button variant=\"ghost\" title=\"Share\" @click=${this.fileExplorerContext.handleSharingClick}>\n <icon-lucide-share-2 slot=\"icon\"></icon-lucide-share-2>\n </solid-ui-button>\n <solid-ui-button\n variant=\"ghost\"\n title=${this.getEditTooltip()}\n ?disabled=${!this.fileExplorerContext.paneSupportsEditing || !this.canEdit}\n @click=${this.handleEditingClick}\n >\n <icon-lucide-pencil slot=\"icon\"></icon-lucide-pencil>\n </solid-ui-button>\n <resource-actions-menu\n .store=${this.fileExplorerContext?.store}\n .subjectUri=${this.fileExplorerContext?.subjectUri}\n .menuItems=${this.menuItems}\n ></resource-actions-menu>\n </div>\n `\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASwEQ,IAAA,CAEvEP,EAAc,+BAA+B,CAAC;AAAA,IAAAQ;AAAA,KAAAC,KAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA,GAAAE,kBAAA,IAAAF,QAAA,GAAAG,KAAAC,IAI5Cb,EAAQ;CAAEc,SAASV;CAAqBW,WAAW;AAAK,CAAC,GAACC,IAG1DjB,EAAS,EAAEkB,WAAW,GAAM,CAAC,GAACC,IAG9BnB,EAAS,EAAEoB,MAAMC,QAAQ,CAAC,GAAC,wBAAAC,IAV9B,cACwDxB,EAAa;CAAA0B,YAAA,GAAAC,GAAA;EAOcC,AAPd,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAjB,IAAAkB,EAAA,IAAA,GAAAC,EAAA,MAIfC,KAAAA,CAAS,EAAA,GAAAH,EAAA,MAAAf,GAAAmB,EAAA,MAGkB,CAAA,CAAE,CAAA,GAAAJ,EAAA,MAAAd,GAAAmB,EAAA,MAGrD,EAAK,CAAA;CAAA;CAAA,KAAAlB,KAAA;EAAA,OAAAmB,EAAAvB,GAAA,IAAA;CAAA;CAAA,IANxBJ,oBAAmB4B,GAAA;EAAAC,EAAAzB,GAAA,MAAAwB,CAAA;CAAA;CAAA,IAGnBE,YAAS;EAAA,OAAAH,EAAArB,GAAA,IAAA;CAAA;CAAA,IAATwB,UAASF,GAAA;EAAAC,EAAAvB,GAAA,MAAAsB,CAAA;CAAA;CAMlB,IAHSG,UAAO;EAAA,OAAAJ,EAAApB,GAAA,IAAA;CAAA;CAAA,IAAPwB,QAAOH,GAAA;EAAAC,EAAAtB,GAAA,MAAAqB,CAAA;CAAA;CAYRI,qBAAsB;EAC5B,KAAKhC,oBAAoBiC,MAAMC,SAAS;CAC1C;CAEQC,iBAAkB;EAGxB,OAFK,KAAKnC,oBAAoBoC,sBACzB,KAAKL,UACH,SADmB,cADgC;CAG5D;CAEQM,uBAAwB;EAG9B,OAFK,KAAKrC,oBAAoBiC,MAAMK,UAE7BzC,CAAI,sFAFyCC;CAGtD;CAEAyC,SAAU;EACR,OAAO1C,CAAI;;UAEL,KAAKwC,qBAAqB,EAAC;gEAC2B,KAAKrC,oBAAoBwC,mBAAkB;;;;;kBAKzF,KAAKL,eAAe,EAAC;sBACjB,CAAC,KAAKnC,oBAAoBoC,uBAAuB,CAAC,KAAKL,QAAO;mBACjE,KAAKC,mBAAkB;;;;;mBAKvB,KAAKhC,qBAAqByC,MAAK;wBAC1B,KAAKzC,qBAAqB0C,WAAU;uBACrC,KAAKZ,UAAS;;;;CAInC;AACF,GAAC,CAAAa,GAAA,CAAApB,GAAAE,GAAAC,GAAAJ,IAAAsB,GAAA,CAAA1C,GAAA2C,MAAAC,EAAA7B,GAAA;CAAA;EAAAR;EAAA;EAAA;CAAA;CAAA;EAAAG;EAAA;EAAA;CAAA;CAAA;EAAAE;EAAA;EAAA;CAAA;AAAA,GAAAb,GAAA,GAAA,KAAA,GA7DuDR,CAAY,GAAAwB,IAAA8B,IAAA,cAAAC,EAAA;CAAA7B,cAAA;EAAA,MAAAjB,CAAA,GAAA+C,EAAA,MAAA,UAClDlD,CAAM,GAAA8C,EAAA;CAAA;AAAA,GAAAI,EAAAF,GAAA5C,GAAA,KAAA,CAAA,GAAA4C,GAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=require("lit").css`:host div{text-align:right;flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}:host div>*{flex:0 auto}:host .dirtyIndicator{color:#92400e;white-space:nowrap;background:#fffbeb;border:1px solid #f59e0b;border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}@media (width<=900px){:host div{padding-right:3px}}@media (width<=600px){:host div{justify-content:flex-start;gap:5px}}`;exports.default=e;
|
|
2
|
+
//# sourceMappingURL=FileExplorerHeaderControls.styles.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderControls.styles.cjs.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.styles.css"],"sourcesContent":[":host {\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 /* 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 @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}\n"],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { css as e } from "lit";
|
|
2
|
+
//#region src/components/file-explorer-header/FileExplorerHeaderControls.styles.css
|
|
3
|
+
var t = e`:host div{text-align:right;flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}:host div>*{flex:0 auto}:host .dirtyIndicator{color:#92400e;white-space:nowrap;background:#fffbeb;border:1px solid #f59e0b;border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}@media (width<=900px){:host div{padding-right:3px}}@media (width<=600px){:host div{justify-content:flex-start;gap:5px}}`;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { t as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=FileExplorerHeaderControls.styles.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderControls.styles.esm.js","names":[],"sources":["../../../src/components/file-explorer-header/FileExplorerHeaderControls.styles.css"],"sourcesContent":[":host {\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 /* 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 @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}\n"],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require("../../_virtual/~icons/lucide/globe.cjs.js"),require("../../_virtual/~icons/lucide/lock-keyhole.cjs.js"),require("../../_virtual/~icons/lucide/arrow-left.cjs.js");const e=require("./FileExplorerHeaderSummary.styles.cjs.js");let t=require("solid-ui"),n=require("rdflib"),r=require("lit"),i=require("@lit/context"),a=require("lit/decorators.js");require("solid-ui/components/button");var o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A;function j(e,t,n){M(e,t),t.set(e,n)}function M(e,t){if(t.has(e))throw TypeError(`Cannot initialize the same private elements twice on an object`)}function N(e,t,n){return e.set(F(e,t),n),n}function P(e,t){return e.get(F(e,t))}function F(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 I(e,t,n){return(t=R(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function L(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:B(function(){return v(this)},r,`get`),set:function(e){t[4](this,e)}}:b[S]=v,f||B(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 V(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:R(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 R(e){var t=z(e,`string`);return typeof t==`symbol`?t:t+``}function z(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 B(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 V(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 H(e){return e}g=[(0,a.customElement)(`file-explorer-header-summary`)];var U;new(k=(c=new WeakMap,l=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,p=new WeakMap,A=(_=(0,i.consume)({context:t.fileExplorerContext,subscribe:!0}),y=(0,a.property)({attribute:!1}),x=(0,a.property)({attribute:!1}),C=(0,a.property)({attribute:!1}),T=(0,a.state)(),D=(0,a.query)(`h1`),`_draggableSubjectUri`),s=class extends t.WebComponent{constructor(...e){super(...e),I(this,A,void m(this)),I(this,`_resolvedPaneIconFor`,void 0),j(this,c,v(this,void 0)),j(this,l,b(this)),j(this,u,S(this)),j(this,d,w(this,{modified:void 0,isPublic:!1})),j(this,f,E(this,void 0)),j(this,p,O(this,null))}get fileExplorerContext(){return P(c,this)}set fileExplorerContext(e){N(c,this,e)}get paneIcon(){return P(l,this)}set paneIcon(e){N(l,this,e)}get onBackClick(){return P(u,this)}set onBackClick(e){N(u,this,e)}get responseMetadata(){return P(d,this)}set responseMetadata(e){N(d,this,e)}get resolvedPaneIcon(){return P(f,this)}set resolvedPaneIcon(e){N(f,this,e)}get titleHeading(){return P(p,this)}set titleHeading(e){N(p,this,e)}formatModifiedDate(e){if(!e)return``;let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=new Intl.DateTimeFormat(`en-GB`,{day:`2-digit`,month:`short`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!0}).formatToParts(t),r=e=>n.find(t=>t.type===e)?.value??``;return`${r(`day`)} ${r(`month`)}, ${r(`year`)} at ${r(`hour`)}:${r(`minute`)} ${r(`dayPeriod`).toUpperCase()}`}updated(){this.paneIcon!==void 0&&this._resolvedPaneIconFor!==this.paneIcon&&(this._resolvedPaneIconFor=this.paneIcon,this.resolvePaneIcon()),!(!this.titleHeading||!this.fileExplorerContext?.subjectUri||this._draggableSubjectUri===this.fileExplorerContext.subjectUri)&&(t.widgets.makeDraggable(this.titleHeading,(0,n.sym)(this.fileExplorerContext.subjectUri)),this._draggableSubjectUri=this.fileExplorerContext.subjectUri)}async resolvePaneIcon(){try{if(this.paneIcon==null){this.resolvedPaneIcon=void 0;return}let e=await this.paneIcon;this.resolvedPaneIcon=e??void 0}catch(e){this.resolvedPaneIcon=void 0,console.warn(`file-explorer-header-summary: failed to resolve pane icon`,e)}}render(){let e=this.fileExplorerContext?.subjectUri?(0,n.sym)(this.fileExplorerContext.subjectUri):void 0,i=e?t.utils.label(e):``,a=this.formatModifiedDate(this.responseMetadata.modified),o=this.responseMetadata.isPublic;return r.html`
|
|
2
|
+
<div class="file-explorer-header-summary">
|
|
3
|
+
<solid-ui-button
|
|
4
|
+
variant="ghost"
|
|
5
|
+
@click=${this.onBackClick}
|
|
6
|
+
title="Back"
|
|
7
|
+
>
|
|
8
|
+
<icon-lucide-arrow-left></icon-lucide-arrow-left>
|
|
9
|
+
</solid-ui-button>
|
|
10
|
+
<span class="pane-icon">
|
|
11
|
+
${this.resolvedPaneIcon?r.html`<img src=${this.resolvedPaneIcon} alt="" />`:``}
|
|
12
|
+
</span>
|
|
13
|
+
<div>
|
|
14
|
+
<h1>${i}</h1>
|
|
15
|
+
<p>${a} ${o?r.html`<span class="public"><icon-lucide-globe></icon-lucide-globe> Public</span>`:r.html`<span class="private"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole> Private</span>`}</p>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
`}},{e:[v,b,S,w,E,O,m],c:[U,h]}=L(s,[[_,1,`fileExplorerContext`],[y,1,`paneIcon`],[x,1,`onBackClick`],[C,1,`responseMetadata`],[T,1,`resolvedPaneIcon`],[D,1,`titleHeading`]],g,0,void 0,t.WebComponent),s),o=class extends H{constructor(){super(U),I(this,`styles`,e.default),h()}},I(o,k,void 0),o),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return U}});
|
|
19
|
+
//# sourceMappingURL=FileExplorerHeaderSummary.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderSummary.cjs.js","names":["sym","widgets","utils","WebComponent","fileExplorerContext","customElement","property","query","state","html","consume","styles","_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","render","subject","label","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 styles from './FileExplorerHeaderSummary.styles.css'\nimport { type FileExplorerResourceMetadata } from './helper'\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 render () {\n const subject = this.fileExplorerContext?.subjectUri ? sym(this.fileExplorerContext.subjectUri) : undefined\n const label = subject ? utils.label(subject) : ''\n const modified = this.formatModifiedDate(this.responseMetadata.modified)\n const isPublic = this.responseMetadata.isPublic\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 <div>\n <h1>${label}</h1>\n <p>${modified} ${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 </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { WebComponent, FileExplorerContext } from 'solid-ui';
|
|
2
|
+
import { PaneIcon } from './types';
|
|
3
|
+
import { FileExplorerResourceMetadata } from './helper';
|
|
4
|
+
export default class FileExplorerHeaderSummary extends WebComponent {
|
|
5
|
+
static styles: any;
|
|
6
|
+
private _draggableSubjectUri;
|
|
7
|
+
private _resolvedPaneIconFor;
|
|
8
|
+
accessor fileExplorerContext: FileExplorerContext;
|
|
9
|
+
accessor paneIcon: PaneIcon | undefined;
|
|
10
|
+
accessor onBackClick: (() => void) | undefined;
|
|
11
|
+
accessor responseMetadata: Pick<FileExplorerResourceMetadata, 'modified' | 'isPublic'>;
|
|
12
|
+
accessor resolvedPaneIcon: string | undefined;
|
|
13
|
+
private accessor titleHeading;
|
|
14
|
+
private formatModifiedDate;
|
|
15
|
+
protected updated(): void;
|
|
16
|
+
private resolvePaneIcon;
|
|
17
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=FileExplorerHeaderSummary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderSummary.d.ts","sourceRoot":"","sources":["../../../src/components/file-explorer-header/FileExplorerHeaderSummary.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,YAAY,EAAuB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACtG,OAAO,4BAA4B,CAAA;AAInC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,qBAAqB,CAAA;AAC5B,OAAO,4BAA4B,CAAA;AACnC,OAAO,0BAA0B,CAAA;AAEjC,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAG5D,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,YAAY;IACjE,MAAM,CAAC,MAAM,MAAS;IAEtB,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,oBAAoB,CAAsB;IAGlD,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAA8C;IAG/F,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAA;IAGvC,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;IAG9C,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,UAAU,CAAC,CAGrF;IAGD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAY;IAGzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAE/D,OAAO,CAAC,kBAAkB;IA0B1B,SAAS,CAAC,OAAO;YAaH,eAAe;IAe7B,MAAM;CAyBP"}
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
import "../../_virtual/~icons/lucide/globe.esm.js";
|
|
2
|
+
import "../../_virtual/~icons/lucide/lock-keyhole.esm.js";
|
|
3
|
+
import "../../_virtual/~icons/lucide/arrow-left.esm.js";
|
|
4
|
+
import e from "./FileExplorerHeaderSummary.styles.esm.js";
|
|
5
|
+
import { WebComponent as t, fileExplorerContext as n, utils as r, widgets as i } from "solid-ui";
|
|
6
|
+
import { sym as a } from "rdflib";
|
|
7
|
+
import { html as o } from "lit";
|
|
8
|
+
import { consume as s } from "@lit/context";
|
|
9
|
+
import { customElement as c, property as l, query as u, state as d } from "lit/decorators.js";
|
|
10
|
+
import "solid-ui/components/button";
|
|
11
|
+
//#region src/components/file-explorer-header/FileExplorerHeaderSummary.ts
|
|
12
|
+
var f, p, m, h, g, _, v, y, b, x, S, C, w, T, E, D, O, k, A, j, M, N, P, F, I;
|
|
13
|
+
function L(e, t, n) {
|
|
14
|
+
R(e, t), t.set(e, n);
|
|
15
|
+
}
|
|
16
|
+
function R(e, t) {
|
|
17
|
+
if (t.has(e)) throw TypeError("Cannot initialize the same private elements twice on an object");
|
|
18
|
+
}
|
|
19
|
+
function z(e, t, n) {
|
|
20
|
+
return e.set(V(e, t), n), n;
|
|
21
|
+
}
|
|
22
|
+
function B(e, t) {
|
|
23
|
+
return e.get(V(e, t));
|
|
24
|
+
}
|
|
25
|
+
function V(e, t, n) {
|
|
26
|
+
if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
|
|
27
|
+
throw TypeError("Private element is not present on this object");
|
|
28
|
+
}
|
|
29
|
+
function H(e, t, n) {
|
|
30
|
+
return (t = W(t)) in e ? Object.defineProperty(e, t, {
|
|
31
|
+
value: n,
|
|
32
|
+
enumerable: !0,
|
|
33
|
+
configurable: !0,
|
|
34
|
+
writable: !0
|
|
35
|
+
}) : e[t] = n, e;
|
|
36
|
+
}
|
|
37
|
+
function U(e, t, n, r, i, a) {
|
|
38
|
+
function o(e, t, n) {
|
|
39
|
+
return function(r, i) {
|
|
40
|
+
return n && n(r), e[t].call(r, i);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function s(e, t) {
|
|
44
|
+
for (var n = 0; n < e.length; n++) e[n].call(t);
|
|
45
|
+
return t;
|
|
46
|
+
}
|
|
47
|
+
function c(e, t, n, r) {
|
|
48
|
+
if (typeof e != "function" && (r || e !== void 0)) throw TypeError(t + " must " + (n || "be") + " a function" + (r ? "" : " or undefined"));
|
|
49
|
+
return e;
|
|
50
|
+
}
|
|
51
|
+
function l(e, t, n, r, i, a, s, l, u, d, f, p, m) {
|
|
52
|
+
function h(e) {
|
|
53
|
+
if (!m(e)) throw TypeError("Attempted to access private element on non-instance");
|
|
54
|
+
}
|
|
55
|
+
var g, _ = t[0], v = t[3], y = !l;
|
|
56
|
+
if (!y) {
|
|
57
|
+
n || Array.isArray(_) || (_ = [_]);
|
|
58
|
+
var b = {}, x = [], S = i === 3 ? "get" : i === 4 || p ? "set" : "value";
|
|
59
|
+
d ? (f || p ? b = {
|
|
60
|
+
get: K(function() {
|
|
61
|
+
return v(this);
|
|
62
|
+
}, r, "get"),
|
|
63
|
+
set: function(e) {
|
|
64
|
+
t[4](this, e);
|
|
65
|
+
}
|
|
66
|
+
} : b[S] = v, f || K(b[S], r, i === 2 ? "" : S)) : f || (b = Object.getOwnPropertyDescriptor(e, r));
|
|
67
|
+
}
|
|
68
|
+
for (var C = e, w = _.length - 1; w >= 0; w -= n ? 2 : 1) {
|
|
69
|
+
var T = _[w], E = n ? _[w - 1] : void 0, D = {}, O = {
|
|
70
|
+
kind: [
|
|
71
|
+
"field",
|
|
72
|
+
"accessor",
|
|
73
|
+
"method",
|
|
74
|
+
"getter",
|
|
75
|
+
"setter",
|
|
76
|
+
"class"
|
|
77
|
+
][i],
|
|
78
|
+
name: r,
|
|
79
|
+
metadata: a,
|
|
80
|
+
addInitializer: function(e, t) {
|
|
81
|
+
if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
|
|
82
|
+
c(t, "An initializer", "be", !0), s.push(t);
|
|
83
|
+
}.bind(null, D)
|
|
84
|
+
};
|
|
85
|
+
try {
|
|
86
|
+
if (y) (g = c(T.call(E, C, O), "class decorators", "return")) && (C = g);
|
|
87
|
+
else {
|
|
88
|
+
var k, A;
|
|
89
|
+
O.static = u, O.private = d, d ? i === 2 ? k = function(e) {
|
|
90
|
+
return h(e), b.value;
|
|
91
|
+
} : (i < 4 && (k = o(b, "get", h)), i !== 3 && (A = o(b, "set", h))) : (k = function(e) {
|
|
92
|
+
return e[r];
|
|
93
|
+
}, (i < 2 || i === 4) && (A = function(e, t) {
|
|
94
|
+
e[r] = t;
|
|
95
|
+
}));
|
|
96
|
+
var j = O.access = { has: d ? m.bind() : function(e) {
|
|
97
|
+
return r in e;
|
|
98
|
+
} };
|
|
99
|
+
if (k && (j.get = k), A && (j.set = A), C = T.call(E, p ? {
|
|
100
|
+
get: b.get,
|
|
101
|
+
set: b.set
|
|
102
|
+
} : b[S], O), p) {
|
|
103
|
+
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);
|
|
104
|
+
else if (C !== void 0) throw TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
|
|
105
|
+
} else c(C, (f ? "field" : "method") + " decorators", "return") && (f ? x.push(C) : b[S] = C);
|
|
106
|
+
}
|
|
107
|
+
} finally {
|
|
108
|
+
D.v = !0;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return (f || p) && l.push(function(e, t) {
|
|
112
|
+
for (var n = x.length - 1; n >= 0; n--) t = x[n].call(e, t);
|
|
113
|
+
return t;
|
|
114
|
+
}), 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;
|
|
115
|
+
}
|
|
116
|
+
function u(e, t) {
|
|
117
|
+
return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), {
|
|
118
|
+
configurable: !0,
|
|
119
|
+
enumerable: !0,
|
|
120
|
+
value: t
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
if (arguments.length >= 6) var d = a[Symbol.metadata || Symbol.for("Symbol.metadata")];
|
|
124
|
+
var f = Object.create(d ?? null), p = function(e, t, n, r) {
|
|
125
|
+
var i, a, o = [], c = function(t) {
|
|
126
|
+
return q(t) === e;
|
|
127
|
+
}, u = /* @__PURE__ */ new Map();
|
|
128
|
+
function d(e) {
|
|
129
|
+
e && o.push(s.bind(null, e));
|
|
130
|
+
}
|
|
131
|
+
for (var f = 0; f < t.length; f++) {
|
|
132
|
+
var p = t[f];
|
|
133
|
+
if (Array.isArray(p)) {
|
|
134
|
+
var m = p[1], h = p[2], g = p.length > 3, _ = 16 & m, v = !!(8 & m), y = (m &= 7) == 0, b = h + "/" + v;
|
|
135
|
+
if (!y && !g) {
|
|
136
|
+
var x = u.get(b);
|
|
137
|
+
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);
|
|
138
|
+
u.set(b, !(m > 2) || m);
|
|
139
|
+
}
|
|
140
|
+
l(v ? e : e.prototype, p, _, g ? "#" + h : W(h), m, r, v ? a ||= [] : i ||= [], o, v, g, y, m === 1, v && g ? c : n);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return d(i), d(a), o;
|
|
144
|
+
}(e, t, i, f);
|
|
145
|
+
return n.length || u(e, f), {
|
|
146
|
+
e: p,
|
|
147
|
+
get c() {
|
|
148
|
+
var t = [];
|
|
149
|
+
return n.length && [u(l(e, [n], r, e.name, 5, f, t), f), s.bind(null, t, e)];
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function W(e) {
|
|
154
|
+
var t = G(e, "string");
|
|
155
|
+
return typeof t == "symbol" ? t : t + "";
|
|
156
|
+
}
|
|
157
|
+
function G(e, t) {
|
|
158
|
+
if (typeof e != "object" || !e) return e;
|
|
159
|
+
var n = e[Symbol.toPrimitive];
|
|
160
|
+
if (n !== void 0) {
|
|
161
|
+
var r = n.call(e, t || "default");
|
|
162
|
+
if (typeof r != "object") return r;
|
|
163
|
+
throw TypeError("@@toPrimitive must return a primitive value.");
|
|
164
|
+
}
|
|
165
|
+
return (t === "string" ? String : Number)(e);
|
|
166
|
+
}
|
|
167
|
+
function K(e, t, n) {
|
|
168
|
+
typeof t == "symbol" && (t = (t = t.description) ? "[" + t + "]" : "");
|
|
169
|
+
try {
|
|
170
|
+
Object.defineProperty(e, "name", {
|
|
171
|
+
configurable: !0,
|
|
172
|
+
value: n ? n + " " + t : t
|
|
173
|
+
});
|
|
174
|
+
} catch {}
|
|
175
|
+
return e;
|
|
176
|
+
}
|
|
177
|
+
function q(e) {
|
|
178
|
+
if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (e === null ? "null" : typeof e));
|
|
179
|
+
return e;
|
|
180
|
+
}
|
|
181
|
+
function J(e) {
|
|
182
|
+
return e;
|
|
183
|
+
}
|
|
184
|
+
S = [c("file-explorer-header-summary")];
|
|
185
|
+
var Y;
|
|
186
|
+
new (F = (m = /*#__PURE__*/ new WeakMap(), h = /*#__PURE__*/ new WeakMap(), g = /*#__PURE__*/ new WeakMap(), _ = /*#__PURE__*/ new WeakMap(), v = /*#__PURE__*/ new WeakMap(), y = /*#__PURE__*/ new WeakMap(), I = (C = s({
|
|
187
|
+
context: n,
|
|
188
|
+
subscribe: !0
|
|
189
|
+
}), T = l({ attribute: !1 }), D = l({ attribute: !1 }), k = l({ attribute: !1 }), j = d(), N = u("h1"), "_draggableSubjectUri"), p = class extends t {
|
|
190
|
+
constructor(...e) {
|
|
191
|
+
super(...e), H(this, I, void b(this)), H(this, "_resolvedPaneIconFor", void 0), L(this, m, w(this, void 0)), L(this, h, E(this)), L(this, g, O(this)), L(this, _, A(this, {
|
|
192
|
+
modified: void 0,
|
|
193
|
+
isPublic: !1
|
|
194
|
+
})), L(this, v, M(this, void 0)), L(this, y, P(this, null));
|
|
195
|
+
}
|
|
196
|
+
get fileExplorerContext() {
|
|
197
|
+
return B(m, this);
|
|
198
|
+
}
|
|
199
|
+
set fileExplorerContext(e) {
|
|
200
|
+
z(m, this, e);
|
|
201
|
+
}
|
|
202
|
+
get paneIcon() {
|
|
203
|
+
return B(h, this);
|
|
204
|
+
}
|
|
205
|
+
set paneIcon(e) {
|
|
206
|
+
z(h, this, e);
|
|
207
|
+
}
|
|
208
|
+
get onBackClick() {
|
|
209
|
+
return B(g, this);
|
|
210
|
+
}
|
|
211
|
+
set onBackClick(e) {
|
|
212
|
+
z(g, this, e);
|
|
213
|
+
}
|
|
214
|
+
get responseMetadata() {
|
|
215
|
+
return B(_, this);
|
|
216
|
+
}
|
|
217
|
+
set responseMetadata(e) {
|
|
218
|
+
z(_, this, e);
|
|
219
|
+
}
|
|
220
|
+
get resolvedPaneIcon() {
|
|
221
|
+
return B(v, this);
|
|
222
|
+
}
|
|
223
|
+
set resolvedPaneIcon(e) {
|
|
224
|
+
z(v, this, e);
|
|
225
|
+
}
|
|
226
|
+
get titleHeading() {
|
|
227
|
+
return B(y, this);
|
|
228
|
+
}
|
|
229
|
+
set titleHeading(e) {
|
|
230
|
+
z(y, this, e);
|
|
231
|
+
}
|
|
232
|
+
formatModifiedDate(e) {
|
|
233
|
+
if (!e) return "";
|
|
234
|
+
let t = new Date(e);
|
|
235
|
+
if (Number.isNaN(t.getTime())) return e;
|
|
236
|
+
let n = new Intl.DateTimeFormat("en-GB", {
|
|
237
|
+
day: "2-digit",
|
|
238
|
+
month: "short",
|
|
239
|
+
year: "numeric",
|
|
240
|
+
hour: "2-digit",
|
|
241
|
+
minute: "2-digit",
|
|
242
|
+
hour12: !0
|
|
243
|
+
}).formatToParts(t), r = (e) => n.find((t) => t.type === e)?.value ?? "";
|
|
244
|
+
return `${r("day")} ${r("month")}, ${r("year")} at ${r("hour")}:${r("minute")} ${r("dayPeriod").toUpperCase()}`;
|
|
245
|
+
}
|
|
246
|
+
updated() {
|
|
247
|
+
this.paneIcon !== void 0 && this._resolvedPaneIconFor !== this.paneIcon && (this._resolvedPaneIconFor = this.paneIcon, this.resolvePaneIcon()), !(!this.titleHeading || !this.fileExplorerContext?.subjectUri || this._draggableSubjectUri === this.fileExplorerContext.subjectUri) && (i.makeDraggable(this.titleHeading, a(this.fileExplorerContext.subjectUri)), this._draggableSubjectUri = this.fileExplorerContext.subjectUri);
|
|
248
|
+
}
|
|
249
|
+
async resolvePaneIcon() {
|
|
250
|
+
try {
|
|
251
|
+
if (this.paneIcon == null) {
|
|
252
|
+
this.resolvedPaneIcon = void 0;
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
let e = await this.paneIcon;
|
|
256
|
+
this.resolvedPaneIcon = e ?? void 0;
|
|
257
|
+
} catch (e) {
|
|
258
|
+
this.resolvedPaneIcon = void 0, console.warn("file-explorer-header-summary: failed to resolve pane icon", e);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
render() {
|
|
262
|
+
let e = this.fileExplorerContext?.subjectUri ? a(this.fileExplorerContext.subjectUri) : void 0, t = e ? r.label(e) : "", n = this.formatModifiedDate(this.responseMetadata.modified), i = this.responseMetadata.isPublic;
|
|
263
|
+
return o`
|
|
264
|
+
<div class="file-explorer-header-summary">
|
|
265
|
+
<solid-ui-button
|
|
266
|
+
variant="ghost"
|
|
267
|
+
@click=${this.onBackClick}
|
|
268
|
+
title="Back"
|
|
269
|
+
>
|
|
270
|
+
<icon-lucide-arrow-left></icon-lucide-arrow-left>
|
|
271
|
+
</solid-ui-button>
|
|
272
|
+
<span class="pane-icon">
|
|
273
|
+
${this.resolvedPaneIcon ? o`<img src=${this.resolvedPaneIcon} alt="" />` : ""}
|
|
274
|
+
</span>
|
|
275
|
+
<div>
|
|
276
|
+
<h1>${t}</h1>
|
|
277
|
+
<p>${n} ${i ? o`<span class="public"><icon-lucide-globe></icon-lucide-globe> Public</span>` : o`<span class="private"><icon-lucide-lock-keyhole></icon-lucide-lock-keyhole> Private</span>`}</p>
|
|
278
|
+
</div>
|
|
279
|
+
</div>
|
|
280
|
+
`;
|
|
281
|
+
}
|
|
282
|
+
}, {e: [w, E, O, A, M, P, b], c: [Y, x]} = U(p, [
|
|
283
|
+
[
|
|
284
|
+
C,
|
|
285
|
+
1,
|
|
286
|
+
"fileExplorerContext"
|
|
287
|
+
],
|
|
288
|
+
[
|
|
289
|
+
T,
|
|
290
|
+
1,
|
|
291
|
+
"paneIcon"
|
|
292
|
+
],
|
|
293
|
+
[
|
|
294
|
+
D,
|
|
295
|
+
1,
|
|
296
|
+
"onBackClick"
|
|
297
|
+
],
|
|
298
|
+
[
|
|
299
|
+
k,
|
|
300
|
+
1,
|
|
301
|
+
"responseMetadata"
|
|
302
|
+
],
|
|
303
|
+
[
|
|
304
|
+
j,
|
|
305
|
+
1,
|
|
306
|
+
"resolvedPaneIcon"
|
|
307
|
+
],
|
|
308
|
+
[
|
|
309
|
+
N,
|
|
310
|
+
1,
|
|
311
|
+
"titleHeading"
|
|
312
|
+
]
|
|
313
|
+
], S, 0, void 0, t), p), f = class extends J {
|
|
314
|
+
constructor() {
|
|
315
|
+
super(Y), H(this, "styles", e), x();
|
|
316
|
+
}
|
|
317
|
+
}, H(f, F, void 0), f)();
|
|
318
|
+
//#endregion
|
|
319
|
+
export { Y as default };
|
|
320
|
+
|
|
321
|
+
//# sourceMappingURL=FileExplorerHeaderSummary.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileExplorerHeaderSummary.esm.js","names":["sym","widgets","utils","WebComponent","fileExplorerContext","customElement","property","query","state","html","consume","styles","_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","render","subject","label","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 styles from './FileExplorerHeaderSummary.styles.css'\nimport { type FileExplorerResourceMetadata } from './helper'\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 render () {\n const subject = this.fileExplorerContext?.subjectUri ? sym(this.fileExplorerContext.subjectUri) : undefined\n const label = subject ? utils.label(subject) : ''\n const modified = this.formatModifiedDate(this.responseMetadata.modified)\n const isPublic = this.responseMetadata.isPublic\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 <div>\n <h1>${label}</h1>\n <p>${modified} ${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 </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=require("lit").css`:host .file-explorer-header-summary{text-align:left;flex-wrap:wrap;flex:auto;justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex}:host h1{color:var(--solid-ui-color-gray-700,#364153);font-size:var(--solid-ui-font-size-2xl,1.5rem);font-weight:500}:host .pane-icon{aspect-ratio:1;justify-content:center;align-items:center;width:40px;height:40px;padding:7.5px 7px 6.5px;display:flex}:host .pane-icon img{object-fit:contain;width:100%;height:100%;display:block}:host p{color:var(--solid-ui-gray-500,#6a7282);font-size:var(--solid-ui-font-size-xs,.75rem);align-items:center;gap:5px;font-weight:500;display:flex}:host .public{color:var(--blue-400,#51a2ff);background:var(--blue-50,#eff6ff);border-radius:5px;justify-content:center;align-items:center;gap:3px;padding:2px 5px;display:flex}:host icon-lucide-globe{stroke-width:1.021px;stroke:var(--blue-400,#51a2ff)}:host .private{color:var(--yellow-600,#d08700);background:var(--yellow-100,#fef9c2);border-radius:5px;justify-content:center;align-items:center;gap:3px;padding:2px 5px;display:flex}:host icon-lucide-lock-keyhole{stroke-width:1.021px;stroke:var(--yellow-600,#d08700)}:host icon-lucide-globe,:host icon-lucide-lock-keyhole{width:.875rem;height:.875rem}:host icon-lucide-arrow-left{width:1.125rem;height:1.125rem}`;exports.default=e;
|
|
2
|
+
//# sourceMappingURL=FileExplorerHeaderSummary.styles.cjs.js.map
|
|
@@ -0,0 +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-2xl, 1.5rem);\n font-weight: 500;\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 icon-lucide-arrow-left {\n width: 1.125rem;\n height: 1.125rem;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { css as e } from "lit";
|
|
2
|
+
//#region src/components/file-explorer-header/FileExplorerHeaderSummary.styles.css
|
|
3
|
+
var t = e`:host .file-explorer-header-summary{text-align:left;flex-wrap:wrap;flex:auto;justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex}:host h1{color:var(--solid-ui-color-gray-700,#364153);font-size:var(--solid-ui-font-size-2xl,1.5rem);font-weight:500}:host .pane-icon{aspect-ratio:1;justify-content:center;align-items:center;width:40px;height:40px;padding:7.5px 7px 6.5px;display:flex}:host .pane-icon img{object-fit:contain;width:100%;height:100%;display:block}:host p{color:var(--solid-ui-gray-500,#6a7282);font-size:var(--solid-ui-font-size-xs,.75rem);align-items:center;gap:5px;font-weight:500;display:flex}:host .public{color:var(--blue-400,#51a2ff);background:var(--blue-50,#eff6ff);border-radius:5px;justify-content:center;align-items:center;gap:3px;padding:2px 5px;display:flex}:host icon-lucide-globe{stroke-width:1.021px;stroke:var(--blue-400,#51a2ff)}:host .private{color:var(--yellow-600,#d08700);background:var(--yellow-100,#fef9c2);border-radius:5px;justify-content:center;align-items:center;gap:3px;padding:2px 5px;display:flex}:host icon-lucide-lock-keyhole{stroke-width:1.021px;stroke:var(--yellow-600,#d08700)}:host icon-lucide-globe,:host icon-lucide-lock-keyhole{width:.875rem;height:.875rem}:host icon-lucide-arrow-left{width:1.125rem;height:1.125rem}`;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { t as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=FileExplorerHeaderSummary.styles.esm.js.map
|
|
@@ -0,0 +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-2xl, 1.5rem);\n font-weight: 500;\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 icon-lucide-arrow-left {\n width: 1.125rem;\n height: 1.125rem;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require("./FileExplorerHeader.cjs.js");const e=require("./FileExplorerProvider.styles.cjs.js"),t=require("../../icons/person.cjs.js"),n=require("../../icons/friends.cjs.js");let r=require("solid-ui"),i=require("lit"),a=require("@lit/context"),o=require("lit/decorators.js");var s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,ee,te,ne,re,ie,ae,N,P,F,I,L,R,z,B,V,H,U,W,G,K,q,J,oe,se,ce,le,ue,de,fe;function Y(e,t,n){pe(e,t),t.set(e,n)}function pe(e,t){if(t.has(e))throw TypeError(`Cannot initialize the same private elements twice on an object`)}function X(e,t,n){return e.set(me(e,t),n),n}function Z(e,t){return e.get(me(e,t))}function me(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 Q(e,t,n){return(t=ge(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function he(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:ve(function(){return v(this)},r,`get`),set:function(e){t[4](this,e)}}:b[S]=v,f||ve(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 ye(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:ge(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 ge(e){var t=_e(e,`string`);return typeof t==`symbol`?t:t+``}function _e(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 ve(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 ye(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 be(e){return e}var xe=t.default,Se=n.default;function Ce(e){return{store:e.store,subjectUri:e.subjectUri,pane:e.pane,soloPane:e.soloPane,onBack:e.onBack,openPane:e.openPane,handleSharingClick:e.handleSharingClick,paneSupportsEditing:e.paneSupportsEditing,edit:e.edit}}D=[(0,o.customElement)(`file-explorer-provider`)];var $;new(de=(l=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,h=new WeakMap,g=new WeakMap,_=new WeakMap,v=new WeakMap,y=new WeakMap,b=new WeakMap,x=new WeakMap,S=new WeakMap,C=new WeakMap,w=new WeakMap,fe=(O=(0,o.property)({attribute:!1}),A=(0,o.property)({attribute:!1}),M=(0,o.property)({attribute:!1}),te=(0,o.property)({attribute:!1}),re=(0,o.property)({attribute:!1}),ae=(0,o.property)({attribute:!1}),P=(0,o.property)({attribute:!1}),I=(0,o.property)({attribute:!1}),R=(0,o.property)({attribute:!1}),B=(0,o.property)({attribute:!1}),H=(0,o.state)(),W=(0,o.state)(),K=(0,o.state)(),J=(0,o.state)(),se=(0,o.state)(),le=(0,a.provide)({context:r.fileExplorerContext}),`context`),c=class extends r.WebComponent{constructor(...e){super(...e),Y(this,l,(T(this),k(this,void 0))),Y(this,u,j(this,void 0)),Y(this,d,ee(this,void 0)),Y(this,f,ne(this,[])),Y(this,p,ie(this,void 0)),Y(this,m,N(this,{})),Y(this,h,F(this,!0)),Y(this,g,L(this,void 0)),Y(this,_,z(this,void 0)),Y(this,v,V(this,void 0)),Y(this,y,U(this,[])),Y(this,b,G(this,!1)),Y(this,x,q(this,!1)),Y(this,S,oe(this,!1)),Q(this,`beginEditingInSourcePane`,()=>{this.querySelector(`source-pane-source-provider`)?.beginEditing?.()}),Y(this,C,ce(this,{onEdit:this.beginEditingInSourcePane,isDirty:!1,updateDirtyState:e=>{this.isDirty!==e&&(this.isDirty=e,this.edit={...this.edit,isDirty:e},this.refreshFileExplorerContextValue())}})),Y(this,w,ue(this,Ce({store:this.context?.session.store,subjectUri:this.subjectUri,pane:this.pane,soloPane:this.soloPane,onBack:this.onBack,openPane:this.openPane,handleSharingClick:this.handleSharingClick,paneSupportsEditing:!1,edit:this.edit})))}get[fe](){return Z(l,this)}set context(e){X(l,this,e)}get subjectUri(){return Z(u,this)}set subjectUri(e){X(u,this,e)}get onBack(){return Z(d,this)}set onBack(e){X(d,this,e)}get relevantPanes(){return Z(f,this)}set relevantPanes(e){X(f,this,e)}get pane(){return Z(p,this)}set pane(e){X(p,this,e)}get paneRenderOptions(){return Z(m,this)}set paneRenderOptions(e){X(m,this,e)}get showHeader(){return Z(h,this)}set showHeader(e){X(h,this,e)}get handleSharingClick(){return Z(g,this)}set handleSharingClick(e){X(g,this,e)}get soloPane(){return Z(_,this)}set soloPane(e){X(_,this,e)}get openPane(){return Z(v,this)}set openPane(e){X(v,this,e)}get menuItems(){return Z(y,this)}set menuItems(e){X(y,this,e)}get isEditing(){return Z(b,this)}set isEditing(e){X(b,this,e)}get isDirty(){return Z(x,this)}set isDirty(e){X(x,this,e)}get paneSupportsEditing(){return Z(S,this)}set paneSupportsEditing(e){X(S,this,e)}get edit(){return Z(C,this)}set edit(e){X(C,this,e)}get fileExplorerContextValue(){return Z(w,this)}set fileExplorerContextValue(e){X(w,this,e)}openSelectedPane(e){!this.context?.session.store||!this.subjectUri||(this.paneSupportsEditing=e.name===`source`,this.pane=e)}getPaneIcon(e,t,n){if(e)return typeof e.icon==`function`?e.icon(t,n):e.icon}async getPaneItems(e,t,n){let i=t.dom;return await Promise.all(n.map(async n=>{let a=n.label(e,t),o=``;o=n.name===`profile`?xe:n.name===`social`?Se:await this.getPaneIcon(n,e,t);let s=r.utils.AJARImage(o,a,a,i);return s.setAttribute(`slot`,`left-icon`),{label:a,icon:s,action:()=>this.openPane?.(e,n.name)}}))}refreshFileExplorerContextValue(){this.fileExplorerContextValue=Ce({store:this.context?.session.store,subjectUri:this.subjectUri,pane:this.pane,soloPane:this.soloPane,onBack:this.onBack,openPane:this.openPane,handleSharingClick:this.handleSharingClick,paneSupportsEditing:this.paneSupportsEditing,edit:this.edit})}async refreshMenuItems(){let e=this.context?.session.store;if(!e||!this.subjectUri)return;let t=e.sym(this.subjectUri),n=await this.getPaneItems(t,this.context,this.relevantPanes);this.menuItems=n}willUpdate(e){if(super.willUpdate(e),!this.context?.session.store)throw Error("The element is missing the required `context.session.store` value. Ensure the `context` property is set.");if(!this.subjectUri)throw Error("The element is missing the required `subjectUri` property.");(e.has(`subjectUri`)||e.has(`relevantPanes`)||e.has(`context`))&&this.refreshMenuItems().catch(e=>{console.warn(`Failed to refresh menu items`,e)}),(e.has(`pane`)||e.has(`subjectUri`)||e.has(`context`))&&(this.paneSupportsEditing=this.pane?.name===`source`),(e.has(`context`)||e.has(`subjectUri`)||e.has(`pane`)||e.has(`soloPane`)||e.has(`onBack`)||e.has(`openPane`)||e.has(`handleSharingClick`)||e.has(`pane`)||e.has(`isDirty`))&&this.refreshFileExplorerContextValue()}render(){let e=(this.context?.session.store).sym(this.subjectUri);return i.html`
|
|
2
|
+
<div class="file-explorer-provider">
|
|
3
|
+
${this.showHeader?i.html`
|
|
4
|
+
<file-explorer-header
|
|
5
|
+
.paneIcon=${this.getPaneIcon(this.pane,e,this.context)}
|
|
6
|
+
.menuItems=${this.menuItems}
|
|
7
|
+
.paneSupportsEditing=${this.paneSupportsEditing}
|
|
8
|
+
></file-explorer-header>
|
|
9
|
+
`:i.nothing}
|
|
10
|
+
<slot class="pane"></slot>
|
|
11
|
+
</div>
|
|
12
|
+
`}},{e:[k,j,ee,ne,ie,N,F,L,z,V,U,G,q,oe,ce,ue,T],c:[$,E]}=he(c,[[O,1,`context`],[A,1,`subjectUri`],[M,1,`onBack`],[te,1,`relevantPanes`],[re,1,`pane`],[ae,1,`paneRenderOptions`],[P,1,`showHeader`],[I,1,`handleSharingClick`],[R,1,`soloPane`],[B,1,`openPane`],[H,1,`menuItems`],[W,1,`isEditing`],[K,1,`isDirty`],[J,1,`paneSupportsEditing`],[se,1,`edit`],[le,1,`fileExplorerContextValue`]],D,0,void 0,r.WebComponent),c),s=class extends be{constructor(){super($),Q(this,`styles`,e.default),E()}},Q(s,de,void 0),s),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return $}});
|
|
13
|
+
//# sourceMappingURL=FileExplorerProvider.cjs.js.map
|
|
@@ -0,0 +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","handleSharingClick","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","_handleSharingClickDecs","_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_handleSharingClick","_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'\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 handleSharingClick?: () => 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 handleSharingClick: value.handleSharingClick,\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 handleSharingClick: (() => 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 handleSharingClick: this.handleSharingClick,\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 handleSharingClick: this.handleSharingClick,\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('handleSharingClick') ||\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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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PropertyValues } from 'lit';
|
|
2
|
+
import { NamedNode } from '../../../node_modules/rdflib';
|
|
3
|
+
import { DataBrowserContext, PaneDefinition } from '../../../node_modules/pane-registry';
|
|
4
|
+
import { WebComponent, FileExplorerContext, FileExplorerEdit } from 'solid-ui';
|
|
5
|
+
export default class FileExplorerProvider extends WebComponent {
|
|
6
|
+
static styles: any;
|
|
7
|
+
accessor context: DataBrowserContext | undefined;
|
|
8
|
+
accessor subjectUri: string | undefined;
|
|
9
|
+
accessor onBack: (() => void) | undefined;
|
|
10
|
+
accessor relevantPanes: PaneDefinition[];
|
|
11
|
+
accessor pane: PaneDefinition | undefined;
|
|
12
|
+
accessor paneRenderOptions: Record<string, unknown>;
|
|
13
|
+
accessor showHeader: boolean;
|
|
14
|
+
accessor handleSharingClick: (() => void) | undefined;
|
|
15
|
+
accessor soloPane: boolean | undefined;
|
|
16
|
+
accessor openPane: ((subject: NamedNode, paneName: string) => void) | undefined;
|
|
17
|
+
accessor menuItems: Array<{
|
|
18
|
+
label: string;
|
|
19
|
+
icon?: HTMLElement;
|
|
20
|
+
action: (event: Event) => void;
|
|
21
|
+
}>;
|
|
22
|
+
accessor isEditing: boolean;
|
|
23
|
+
accessor isDirty: boolean;
|
|
24
|
+
accessor paneSupportsEditing: boolean;
|
|
25
|
+
private beginEditingInSourcePane;
|
|
26
|
+
accessor edit: FileExplorerEdit;
|
|
27
|
+
accessor fileExplorerContextValue: FileExplorerContext;
|
|
28
|
+
openSelectedPane(pane: PaneDefinition): void;
|
|
29
|
+
private getPaneIcon;
|
|
30
|
+
private getPaneItems;
|
|
31
|
+
private refreshFileExplorerContextValue;
|
|
32
|
+
private refreshMenuItems;
|
|
33
|
+
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
34
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=FileExplorerProvider.d.ts.map
|