@datalayer/agent-runtimes 1.5.53 → 1.5.55
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-embed/chunks/ChatView-D4hFmYbm.js +32 -0
- package/dist-embed/chunks/{DeckComponent-C7AztSPA.js → DeckComponent-y0KZOMsH.js} +1 -1
- package/dist-embed/chunks/{DocumentView-DwpK2feQ.js → DocumentView-BKeO-v4k.js} +1 -1
- package/dist-embed/chunks/{EphemeralDocument-rusBlgBp.js → EphemeralDocument-BvbG68Jm.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawComponent-Qv9LHutW.js → ExcalidrawComponent-DeNgg0ms.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawModal-D6Mb9nmf.js → ExcalidrawModal-X6Yh6FKI.js} +1 -1
- package/dist-embed/chunks/{JupyterLexicalExtension-r47Jyrrd.js → JupyterLexicalExtension-Ght2bbbp.js} +5 -5
- package/dist-embed/chunks/{YouTubePlugin-4pUBJORX.js → YouTubePlugin-BnaV5Sxl.js} +1 -1
- package/dist-embed/chunks/{ar-SA-G6X2FPQ2-CD4X_3wm.js → ar-SA-G6X2FPQ2-DFML-KO4.js} +1 -1
- package/dist-embed/chunks/{az-AZ-76LH7QW2-oMbKQcB-.js → az-AZ-76LH7QW2-DTzTpRpk.js} +1 -1
- package/dist-embed/chunks/{bg-BG-XCXSNQG7-lSIB5dDU.js → bg-BG-XCXSNQG7-DMTmzgtc.js} +1 -1
- package/dist-embed/chunks/{bn-BD-2XOGV67Q-B5PkHAFO.js → bn-BD-2XOGV67Q-D1xy-Djm.js} +1 -1
- package/dist-embed/chunks/{ca-ES-6MX7JW3Y-BPeavtUl.js → ca-ES-6MX7JW3Y-hTO_csy7.js} +1 -1
- package/dist-embed/chunks/{cs-CZ-2BRQDIVT-DrBOFpi4.js → cs-CZ-2BRQDIVT-DBcXv81g.js} +1 -1
- package/dist-embed/chunks/{da-DK-5WZEPLOC-G5bUTE3Z.js → da-DK-5WZEPLOC-Rp51nhJX.js} +1 -1
- package/dist-embed/chunks/{de-DE-XR44H4JA-Drpt3qDZ.js → de-DE-XR44H4JA-DIgLamrP.js} +1 -1
- package/dist-embed/chunks/{el-GR-BZB4AONW-D4taPxaF.js → el-GR-BZB4AONW-XWt7TL7f.js} +1 -1
- package/dist-embed/chunks/{es-ES-U4NZUMDT-BvIGVphk.js → es-ES-U4NZUMDT-Bh1eks-u.js} +1 -1
- package/dist-embed/chunks/{eu-ES-A7QVB2H4-B8nvrNDk.js → eu-ES-A7QVB2H4-Bslg2HDc.js} +1 -1
- package/dist-embed/chunks/{fa-IR-HGAKTJCU-hwisHoU4.js → fa-IR-HGAKTJCU-9fGOejth.js} +1 -1
- package/dist-embed/chunks/{fi-FI-Z5N7JZ37-DKrDvTXs.js → fi-FI-Z5N7JZ37-DctXrD-R.js} +1 -1
- package/dist-embed/chunks/{fr-FR-RHASNOE6-DPtlBK_j.js → fr-FR-RHASNOE6-PUSl_g5c.js} +1 -1
- package/dist-embed/chunks/{gl-ES-HMX3MZ6V-B1ngwQkd.js → gl-ES-HMX3MZ6V-C5hGec18.js} +1 -1
- package/dist-embed/chunks/{he-IL-6SHJWFNN-BaoAQZ3f.js → he-IL-6SHJWFNN-rdU3Uatf.js} +1 -1
- package/dist-embed/chunks/{hi-IN-IWLTKZ5I-DzPeRmLM.js → hi-IN-IWLTKZ5I-CbVBP2OS.js} +1 -1
- package/dist-embed/chunks/{hu-HU-A5ZG7DT2-BgLcm8oA.js → hu-HU-A5ZG7DT2-BqNM3HXj.js} +1 -1
- package/dist-embed/chunks/{id-ID-SAP4L64H-egIA8l8_.js → id-ID-SAP4L64H-Z7074d-A.js} +1 -1
- package/dist-embed/chunks/{index-cYM4KfdD.js → index-2ciQBsIP.js} +1 -1
- package/dist-embed/chunks/{index-CkQ6IAoY.js → index-BIbnsdGY.js} +1 -1
- package/dist-embed/chunks/{index-Z2pxzg3H.js → index-BP84Dsqq.js} +1 -1
- package/dist-embed/chunks/{index-BzMt3uYX.js → index-BdQdhGo5.js} +1 -1
- package/dist-embed/chunks/{index-BKB97UwL.js → index-BpX_2Evh.js} +1 -1
- package/dist-embed/chunks/{index-CEbnhuIo.js → index-BrPjTG8-.js} +1 -1
- package/dist-embed/chunks/{index-Di3aBGLV.js → index-CAPuT1O_.js} +1 -1
- package/dist-embed/chunks/{index-5N0EOEHV.js → index-CC3OzP1C.js} +1 -1
- package/dist-embed/chunks/{index-D9_026K2.js → index-COWwWw7v.js} +1 -1
- package/dist-embed/chunks/{index-BTdq_niO.js → index-C_IEokTU.js} +1 -1
- package/dist-embed/chunks/{index-_H5U6gal.js → index-CalzGdbU.js} +1 -1
- package/dist-embed/chunks/{index-DVaPKQyL.js → index-CynaHotU.js} +1 -1
- package/dist-embed/chunks/{index-Cd5CgKFr.js → index-D4zET-qQ.js} +1 -1
- package/dist-embed/chunks/{index-BKOQQ5Ku.js → index-DJq5Nwi9.js} +1 -1
- package/dist-embed/chunks/{index-CZB8DyUw.js → index-Dx_VgK3b.js} +1 -1
- package/dist-embed/chunks/{index-BN8Bbau-.js → index-Dzf9vro3.js} +2 -2
- package/dist-embed/chunks/{index-DWfzdTZo.js → index-IGJ-OsCO.js} +1 -1
- package/dist-embed/chunks/{index-b6e3y1R-.js → index-mjwdOWLk.js} +1 -1
- package/dist-embed/chunks/{index-Gngo0bXi.js → index-wuTQQ7uK.js} +1 -1
- package/dist-embed/chunks/{index-CCRwowMu.js → index-zOsAyJ2Z.js} +1 -1
- package/dist-embed/chunks/{it-IT-JPQ66NNP-DDwc6pzw.js → it-IT-JPQ66NNP-CMr44eTw.js} +1 -1
- package/dist-embed/chunks/{ja-JP-DBVTYXUO-TrA2khDT.js → ja-JP-DBVTYXUO-DT0NU6hE.js} +1 -1
- package/dist-embed/chunks/{kaa-6HZHGXH3-GwFnOAIz.js → kaa-6HZHGXH3-C7H2NR4A.js} +1 -1
- package/dist-embed/chunks/{kab-KAB-ZGHBKWFO-xYS1Kjfb.js → kab-KAB-ZGHBKWFO-CNMStwQY.js} +1 -1
- package/dist-embed/chunks/{kk-KZ-P5N5QNE5-BwDJRk5I.js → kk-KZ-P5N5QNE5-D6IFMubV.js} +1 -1
- package/dist-embed/chunks/{km-KH-HSX4SM5Z-Di9J-9zc.js → km-KH-HSX4SM5Z-sh4HcGEj.js} +1 -1
- package/dist-embed/chunks/{ko-KR-MTYHY66A-BxF1Locw.js → ko-KR-MTYHY66A-Bgk5LE7Q.js} +1 -1
- package/dist-embed/chunks/{ku-TR-6OUDTVRD-mGflwIcv.js → ku-TR-6OUDTVRD-CoM0o1jW.js} +1 -1
- package/dist-embed/chunks/{lt-LT-XHIRWOB4-DWluphZ2.js → lt-LT-XHIRWOB4-1uHPL6b-.js} +1 -1
- package/dist-embed/chunks/{lv-LV-5QDEKY6T-D9EEzVQ9.js → lv-LV-5QDEKY6T-DYKbCrq6.js} +1 -1
- package/dist-embed/chunks/{mr-IN-CRQNXWMA-DoMvP_Jp.js → mr-IN-CRQNXWMA-C7qlI0yH.js} +1 -1
- package/dist-embed/chunks/{my-MM-5M5IBNSE-CPPbx93K.js → my-MM-5M5IBNSE-BWSQ_5V3.js} +1 -1
- package/dist-embed/chunks/{nb-NO-T6EIAALU-m2hgNNww.js → nb-NO-T6EIAALU-BVQfX-Pe.js} +1 -1
- package/dist-embed/chunks/{nl-NL-IS3SIHDZ-B809T0Iy.js → nl-NL-IS3SIHDZ-BXjyEe9g.js} +1 -1
- package/dist-embed/chunks/{nn-NO-6E72VCQL-DcMxKEVg.js → nn-NO-6E72VCQL-3eaL8woM.js} +1 -1
- package/dist-embed/chunks/{oc-FR-POXYY2M6-BZTBaY64.js → oc-FR-POXYY2M6-CDqoITm8.js} +1 -1
- package/dist-embed/chunks/{pa-IN-N4M65BXN-Cs4i3fnS.js → pa-IN-N4M65BXN-CoKaIMNa.js} +1 -1
- package/dist-embed/chunks/{percentages-BXMCSKIN-D82iCuEy.js → percentages-BXMCSKIN-X4aF_7zv.js} +3 -3
- package/dist-embed/chunks/{pl-PL-T2D74RX3-B3jg7qOY.js → pl-PL-T2D74RX3-DDD5SgtT.js} +1 -1
- package/dist-embed/chunks/{pt-BR-5N22H2LF-aCJuloaY.js → pt-BR-5N22H2LF-BIIRVQqv.js} +1 -1
- package/dist-embed/chunks/{pt-PT-UZXXM6DQ-8ZZdQp1P.js → pt-PT-UZXXM6DQ-HB1n3nNc.js} +1 -1
- package/dist-embed/chunks/{ro-RO-JPDTUUEW-BmyO5zyl.js → ro-RO-JPDTUUEW-CDxFIF2P.js} +1 -1
- package/dist-embed/chunks/{ru-RU-B4JR7IUQ-BneR_2Bm.js → ru-RU-B4JR7IUQ-CM2wpzEh.js} +1 -1
- package/dist-embed/chunks/{si-LK-N5RQ5JYF-CDB0IyVm.js → si-LK-N5RQ5JYF-u_f-pZ4T.js} +1 -1
- package/dist-embed/chunks/{sk-SK-C5VTKIMK-ypZmPMe_.js → sk-SK-C5VTKIMK-1MdhriDY.js} +1 -1
- package/dist-embed/chunks/{sl-SI-NN7IZMDC-D9OrZXr7.js → sl-SI-NN7IZMDC-BtkaEwYy.js} +1 -1
- package/dist-embed/chunks/{subset-shared.chunk-cQajIUFT.js → subset-shared.chunk-Ca3xPoZL.js} +1 -1
- package/dist-embed/chunks/{subset-worker.chunk-DEC9qaDu.js → subset-worker.chunk-CEgJtfh9.js} +1 -1
- package/dist-embed/chunks/{sv-SE-XGPEYMSR-CXBRqMMZ.js → sv-SE-XGPEYMSR-CX9l-s8b.js} +1 -1
- package/dist-embed/chunks/{ta-IN-2NMHFXQM-BuB9HEjH.js → ta-IN-2NMHFXQM-Bs3QMZdy.js} +1 -1
- package/dist-embed/chunks/{th-TH-HPSO5L25-Ci7wR5dZ.js → th-TH-HPSO5L25-yCfu_zLh.js} +1 -1
- package/dist-embed/chunks/{tr-TR-DEFEU3FU-CEJUT8zN.js → tr-TR-DEFEU3FU-PnpIJqSm.js} +1 -1
- package/dist-embed/chunks/{uk-UA-QMV73CPH-Ceh5JIiD.js → uk-UA-QMV73CPH--aODafpt.js} +1 -1
- package/dist-embed/chunks/{url-DuKx0yk0.js → url-CzjbCo42.js} +1 -1
- package/dist-embed/chunks/{vi-VN-M7AON7JQ-8-R9Ohxp.js → vi-VN-M7AON7JQ-BruA8Fg-.js} +1 -1
- package/dist-embed/chunks/{zh-CN-LNUGB5OW-D4q5wqKm.js → zh-CN-LNUGB5OW-DtbH5pJi.js} +1 -1
- package/dist-embed/chunks/{zh-HK-E62DVLB3-_UiIVKpk.js → zh-HK-E62DVLB3-CPacR6Re.js} +1 -1
- package/dist-embed/chunks/{zh-TW-RAJ6MFWO-DyXZ-PXI.js → zh-TW-RAJ6MFWO-CImbtPSf.js} +1 -1
- package/dist-embed/datalayer-app-main.js +86 -86
- package/lib/apps/core/index.d.ts +11 -0
- package/lib/apps/plugins/app-rules/AppRulesCard.d.ts +6 -0
- package/lib/apps/plugins/app-rules/AppRulesCard.js +9 -1
- package/lib/apps/plugins/chat/ChatView.js +18 -3
- package/lib/apps/shell/LoopWorkspace.js +8 -0
- package/lib/portable/hosts/contracts.json +30 -0
- package/lib/specs/agents/agents.d.ts +6 -0
- package/lib/specs/agents/agents.js +294 -0
- package/lib/voice/HandsFree.js +11 -1
- package/lib/voice/VoiceInput.js +10 -2
- package/lib/voice/handsFree.d.ts +4 -2
- package/lib/voice/handsFree.js +4 -2
- package/package.json +1 -1
- package/dist-embed/chunks/ChatView-CRp8Mt57.js +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as j,cv as Y,cw as X,c6 as C,J as Z,ak as S,c2 as ee,v as k,b$ as te,af as I,cx as oe,ai as F,cy as re,cz as V,b_ as _,cA as ie,cB as W,cC as ne,cD as L,cE as se,aj as ae,c8 as le,c5 as O,cF as E,cG as ce,cH as de,cI as pe,cJ as ue,cK as me,c3 as he,cL as fe,cM as ge,cN as we,cO as be,cP as ye,cQ as _e,cR as ve,cS as A}from"../datalayer-app-main.js";import{T as q,G as Fe,b as U,I as xe,d as H}from"./index-CFP9psRB.js";import{I as Be}from"./tokens-BHMD_ju9.js";import{d as Ce,e as ke,J as Pe,c as R,f as Te,g as Se,F as Ie,h as je}from"./index-BN8Bbau-.js";import{I as J}from"./tokens-CENaHAHm.js";import{a as B,I as P,b as G}from"./tokens-BvmYCqiu.js";import{I as M}from"./tokens-BHLmeqjP.js";import{I as We}from"./treepathupdater-BPaxwIOs.js";import{g as Ne}from"./kernelfilestypes-D2B-sFfi.js";import"./hoverbox-CStlKQWE.js";import"./Output-no9rnFJ7.js";import"./index-DSN70XMH.js";import"./index-S4sn4R3i.js";import"./color-CG7_7V2-.js";import"./isEqual-g-jK7vY0.js";import"./defaultLocale-5voVPcsN.js";import"./index-DbMBnR4l.js";import"./KebabHorizontalIcon-CXDXtkuL.js";import"./PaintbrushIcon-CLU8RilX.js";import"./index-BJhxZF_K.js";import"./RestartIcon-Ca6_HoK0.js";import"./CellSidebarExtension-B-73cmcQ.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./renderer-DKKfWkWv.js";import"./SquareIcon-e3ygcjpv.js";import"./SortAscIcon-CVKVWIWQ.js";import"./url-DuKx0yk0.js";/* empty css */import"./index-Dro44tIm.js";/* empty css *//* empty css */import"./index-DsG9xhMj.js";/* empty css */import"./index-CNU-WVhQ.js";import"./index--OLIX362.js";import"./index-DYGslHkf.js";import"./index-BSRVX3UN.js";import"./index-BH2OX5l8.js";import"./index-C3vDfO5_.js";import"./index-Ko8lxXFd.js";import"./index-CB9u17_J.js";import"./index-BUVtc_FV.js";import"./ArrowLeftIcon-Y3PTljcl.js";import"./SkubbleIcon-tlg17jBG.js";import"./usePrimerThemeBridge-CoHussa9.js";import"./index-Dobs-OKl.js";import"./KernelVariables-CS6h5HyK.js";import"./index-BvgsWH_d.js";import"./SortDescIcon-CS4EzHeS.js";import"./NotebookToolbar-rtMQZWHQ.js";import"./RepoPushIcon-Cm8g9NuL.js";import"./Toolbar-CGQDY041.js";import"./sessions-BRALW9Yv.js";import"./tokens-DTIgYcNS.js";import"./drivecontents-CxwZz_5W.js";import"./kernel-BI-BLP-K.js";function Me(o){const{width:a,percentage:u,...p}=o;return j.createElement("div",{className:"jp-Statusbar-ProgressBar-progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":u},j.createElement(Le,{percentage:u,...p,contentWidth:a}))}function Le(o){return j.createElement("div",{style:{width:`${o.percentage}%`}},j.createElement("p",null,o.content))}class K extends Y{constructor(a){super({icon:X,label:a.label,onClick:()=>{this._input.click()},tooltip:N.translateToolTip(a.translator),enabled:a.model.allowFileUploads}),this._onInputChanged=()=>{const p=Array.prototype.slice.call(this._input.files).map(r=>this.fileBrowserModel.upload(r));Promise.all(p).then(r=>{this._filesUploaded.emit(r)}).catch(r=>{C(this._trans._p("showErrorMessage","Upload Error"),r)})},this._onInputClicked=()=>{this._input.value=""},this._input=N.createUploadInput(),this._filesUploaded=new Z(this),this.fileBrowserModel=a.model,this.translator=a.translator||S,this._trans=this.translator.load("jupyterlab"),this._input.onclick=this._onInputClicked,this._input.onchange=this._onInputChanged,this.addClass("jp-id-upload")}get filesUploaded(){return this._filesUploaded}}var N;(function(o){function a(){const p=document.createElement("input");return p.type="file",p.multiple=!0,p}o.createUploadInput=a;function u(p){return p=p||S,p.load("jupyterlab").__("Upload Files")}o.translateToolTip=u})(N||(N={}));const Oe=4;function z(o){const u=(o.translator||S).load("jupyterlab");return k.createElement(Fe,{spacing:Oe},k.createElement(q,{source:u.__("Uploading…")}),k.createElement(Me,{percentage:o.upload}))}const Ue=2e3;class T extends ee{constructor(a){super(new T.Model(a.tracker.currentWidget&&a.tracker.currentWidget.model)),this._onBrowserChange=(u,p)=>{p===null?this.model.browserModel=null:this.model.browserModel=p.model},this.translator=a.translator||S,this._trans=this.translator.load("jupyterlab"),this._tracker=a.tracker,this._tracker.currentChanged.connect(this._onBrowserChange)}render(){return this.model.items.length>0?this.model.items[0].complete?k.createElement(q,{source:this._trans.__("Complete!")}):k.createElement(z,{upload:this.model.items[0].progress,translator:this.translator}):k.createElement(z,{upload:100,translator:this.translator})}dispose(){super.dispose(),this._tracker.currentChanged.disconnect(this._onBrowserChange)}}(function(o){class a extends te{constructor(p){super(),this._uploadChanged=(r,s)=>{if(s.name==="start")this._items.push({path:s.newValue.path,progress:s.newValue.progress*100,complete:!1});else if(s.name==="update"){const t=I.findFirstIndex(this._items,l=>l.path===s.oldValue.path);t!==-1&&(this._items[t].progress=s.newValue.progress*100)}else if(s.name==="finish"){const t=I.findFirstValue(this._items,l=>l.path===s.oldValue.path);t&&(t.complete=!0,setTimeout(()=>{I.removeFirstOf(this._items,t),this.stateChanged.emit(void 0)},Ue))}else if(s.name==="failure")I.removeFirstWhere(this._items,t=>t.path===s.newValue.path);else return;this.stateChanged.emit(void 0)},this._items=[],this._browserModel=null,this.browserModel=p}get items(){return this._items}get browserModel(){return this._browserModel}set browserModel(p){const r=this._browserModel;r&&r.uploadChanged.disconnect(this._uploadChanged),this._browserModel=p,this._items=[],this._browserModel!==null&&this._browserModel.uploadChanged.connect(this._uploadChanged),this.stateChanged.emit(void 0)}}o.Model=a})(T||(T={}));const $="FileBrowser",y="@jupyterlab/filebrowser-extension:browser";var m;(function(o){o.copy="filebrowser:copy",o.copyDownloadLink="filebrowser:copy-download-link",o.cut="filebrowser:cut",o.del="filebrowser:delete",o.download="filebrowser:download",o.duplicate="filebrowser:duplicate",o.selectAll="filebrowser:select-all",o.hideBrowser="filebrowser:hide-main",o.goToPath="filebrowser:go-to-path",o.goUp="filebrowser:go-up",o.openPath="filebrowser:open-path",o.openUrl="filebrowser:open-url",o.open="filebrowser:open",o.openBrowserTab="filebrowser:open-browser-tab",o.paste="filebrowser:paste",o.createNewDirectory="filebrowser:create-new-directory",o.createNewFile="filebrowser:create-new-file",o.createNewMarkdownFile="filebrowser:create-new-markdown-file",o.refresh="filebrowser:refresh",o.rename="filebrowser:rename",o.copyShareableLink="filebrowser:share-main",o.copyPath="filebrowser:copy-path",o.showBrowser="filebrowser:activate",o.shutdown="filebrowser:shutdown",o.toggleBrowser="filebrowser:toggle-main",o.toggleFileFilter="filebrowser:toggle-file-filter",o.toggleNavigateToCurrentDirectory="filebrowser:toggle-navigate-to-current-directory",o.toggleLastModified="filebrowser:toggle-last-modified",o.toggleShowFullPath="filebrowser:toggle-show-full-path",o.toggleFileSize="filebrowser:toggle-file-size",o.toggleSortNotebooksFirst="filebrowser:toggle-sort-notebooks-first",o.toggleHiddenFiles="filebrowser:toggle-hidden-files",o.toggleSingleClick="filebrowser:toggle-single-click-navigation",o.toggleFileCheckboxes="filebrowser:toggle-file-checkboxes"})(m||(m={}));const D="filebrowser",Ee={id:y,description:"Set up the default file browser commands and state restoration",requires:[P,B,F],optional:[Te,M,We,U],provides:G,autoStart:!0,activate:async(o,a,u,p,r,s,t,l)=>{const i=a;r&&r.add(i,D);const c=_.PageConfig.getOption("preferredPath");return c&&await i.model.cd(c),Qe(o,i,u,p,s,l),Promise.all([o.restored,i.model.restored]).then(()=>{t&&i.model.pathChanged.connect((h,e)=>{t(e.newValue)})}),{openPath:m.openPath}}},Ae={id:"@jupyterlab/filebrowser-extension:settings",description:"Set up the default file browser settings",requires:[P],optional:[M],autoStart:!0,activate:(o,a,u)=>{u&&u.load(y).then(p=>{const r={navigateToCurrentDirectory:!1,singleClickNavigation:!1,showLastModifiedColumn:!0,showFileSizeColumn:!1,showHiddenFiles:!1,showFileCheckboxes:!1,sortNotebooksFirst:!1,showFullPath:!1,allowFileUploads:!0};function s(t){let l;for(l in r){const e=t.get(l).composite;a[l]=e}const i=t.get("breadcrumbs").composite;a.minimumBreadcrumbsLeftItems=i.minimumLeftItems,a.minimumBreadcrumbsRightItems=i.minimumRightItems;const c=t.get("filterDirectories").composite,h=t.get("useFuzzyFilter").composite;a.model.filterDirectories=c,a.model.useFuzzyFilter=h}p.changed.connect(s),s(p)})}},ze={id:"@jupyterlab/filebrowser-extension:factory",description:"Provides the file browser factory.",provides:B,requires:[J,F],optional:[oe.IStateDB,Ce.IInfo],activate:async(o,a,u,p,r)=>{const s=new re({namespace:D});return{createFileBrowser:(l,i={})=>{var c,h;const e=i.state===null?void 0:i.state||p||void 0,n=new Ie({translator:u,auto:(c=i.auto)!==null&&c!==void 0?c:!0,manager:a,driveName:i.driveName||"",refreshInterval:i.refreshInterval,refreshStandby:()=>r&&!r.isConnected||"when-hidden",state:e,allowFileUploads:(h=i.allowFileUploads)!==null&&h!==void 0?h:!0}),d=i.restore,f=new je({id:l,model:n,restore:d,translator:u,state:e});return s.add(f),f},tracker:s}}},$e={id:"@jupyterlab/filebrowser-extension:default-file-browser",description:"Provides the default file browser",provides:P,requires:[B],optional:[ke,Pe.ITreeResolver,R,F],activate:async(o,a,u,p,r,s)=>{const{commands:t}=o,l=(s??S).load("jupyterlab"),i=a.createFileBrowser("filebrowser",{auto:!1,restore:!1});i.node.setAttribute("role","region"),i.node.setAttribute("aria-label",l.__("File Browser Section")),i.title.icon=V;const c=()=>{const h=o.commands.keyBindings.find(e=>e.command===m.toggleBrowser);if(h){const e=h.keys.map(ce.formatKeystroke).join(", ");i.title.caption=l.__("File Browser (%1)",e)}else i.title.caption=l.__("File Browser")};return c(),o.commands.keyBindingChanged.connect(()=>{c()}),v.restoreBrowser(i,t,u,p,o,r),i}},Ve={id:"@jupyterlab/filebrowser-extension:download",description:"Adds the download file commands. Disabling this plugin will NOT disable downloading files from the server, if the user enters the appropriate download URLs.",requires:[B,F],autoStart:!0,activate:(o,a,u)=>{const p=u.load("jupyterlab"),{commands:r}=o,{tracker:s}=a;r.addCommand(m.download,{execute:()=>{const t=s.currentWidget;if(t)return t.download()},icon:ne.bindprops({stylesheet:"menuItem"}),label:p.__("Download"),describedBy:{args:{type:"object",properties:{}}}}),r.addCommand(m.copyDownloadLink,{execute:()=>{const t=s.currentWidget;if(t)return t.model.manager.services.contents.getDownloadUrl(t.selectedItems().next().value.path).then(l=>{W.copyToSystem(l)})},isVisible:()=>!!s.currentWidget&&Array.from(s.currentWidget.selectedItems()).length===1,icon:L.bindprops({stylesheet:"menuItem"}),label:p.__("Copy Download Link"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}})}},qe={id:"@jupyterlab/filebrowser-extension:create-new-language-file",description:"Adds context menu entries for creating Python/R/Julia files",requires:[F],autoStart:!0,activate:async(o,a)=>{const u=a.load("jupyterlab");let p=new A;const r=o.serviceManager.kernelspecs,s=async()=>{var t,l;p&&(p.dispose(),p=new A);const i=await Ne(r);for(const c of i)p.add(o.contextMenu.addItem({command:m.createNewFile,selector:".jp-DirListing-content",args:{ext:c.extensions[0],label:u.__("New %1 File",c.displayName),iconName:(l=(t=c.icon)===null||t===void 0?void 0:t.toString())!==null&&l!==void 0?l:""},rank:52}))};r.specsChanged.connect(s),s().catch(console.warn)}},Q={id:"@jupyterlab/filebrowser-extension:widget",description:"Adds the file browser to the application shell.",requires:[J,P,B,M,xe,F,R,G],optional:[U],autoStart:!0,activate:(o,a,u,p,r,s,t,l,i,c)=>{const{commands:h}=o,{tracker:e}=p,n=t.load("jupyterlab");s.addFactory($,"uploader",d=>new K({model:d.model,translator:t})),se(u,ae(s,r,$,Q.id,t)),l.add(u,"left",{rank:100,type:"File Browser"}),h.addCommand(m.toggleBrowser,{label:n.__("File Browser"),describedBy:{args:{type:"object",properties:{}}},execute:()=>u.isHidden?h.execute(m.showBrowser,void 0):h.execute(m.hideBrowser,void 0)}),h.addCommand(m.showBrowser,{label:n.__("Open the file browser for the provided `path`."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:n.__("The path to open in the file browser")}}}},execute:d=>{const f=d.path||"",w=v.getBrowserForPath(f,u,p);if(w)if(u===w){l.activateById(u.id);return}else{const g=["left","right"];for(const b of g)for(const x of l.widgets(b))if(x.contains(w)){l.activateById(x.id);return}}}}),h.addCommand(m.hideBrowser,{label:n.__("Hide the file browser."),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const d=e.currentWidget;d&&!d.isHidden&&l.collapseLeft()}}),h.addCommand(m.toggleNavigateToCurrentDirectory,{label:n.__("Show Active File in File Browser"),isToggled:()=>u.navigateToCurrentDirectory,execute:()=>{const d=!u.navigateToCurrentDirectory;return r.set(y,"navigateToCurrentDirectory",d).catch(w=>{console.error("Failed to set navigateToCurrentDirectory setting")})},describedBy:{args:{type:"object",properties:{}}}}),c&&c.addItem({command:m.toggleNavigateToCurrentDirectory,category:n.__("File Operations")}),l.restored.then(d=>{d.fresh&&l.mode!=="single-document"&&h.execute(m.showBrowser,void 0)}),Promise.all([o.restored,u.model.restored]).then(()=>{l.currentChanged.connect(async(d,f)=>{if(u.navigateToCurrentDirectory&&f.newValue){const{newValue:w}=f,g=a.contextForWidget(w);if(g){const{path:b}=g;try{await v.navigateToPath(b,u,p,t)}catch(x){console.warn(`${m.goToPath} failed to open: ${b}`,x)}}}})})}},He={id:"@jupyterlab/filebrowser-extension:share-file",description:'Adds the "Copy Shareable Link" command; useful for JupyterHub deployment for example.',requires:[B,F],autoStart:!0,activate:(o,a,u)=>{const p=u.load("jupyterlab"),{commands:r}=o,{tracker:s}=a;r.addCommand(m.copyShareableLink,{execute:()=>{const t=s.currentWidget,l=t?.selectedItems().next();l===void 0||l.done||W.copyToSystem(_.PageConfig.getUrl({workspace:_.PageConfig.defaultWorkspace,treePath:l.value.path,toShare:!0}))},isVisible:()=>!!s.currentWidget&&Array.from(s.currentWidget.selectedItems()).length===1,icon:ie.bindprops({stylesheet:"menuItem"}),label:p.__("Copy Shareable Link"),describedBy:{args:{type:"object",properties:{}}}})}},Re={id:"@jupyterlab/filebrowser-extension:open-with",description:"Adds the open-with feature allowing an user to pick the non-preferred document viewer.",requires:[B],autoStart:!0,activate:(o,a)=>{const{docRegistry:u}=o,{tracker:p}=a;let r=[];function s(t){var l,i;const c=(i=(l=t.menu.items.find(e=>{var n;return e.type==="submenu"&&((n=e.submenu)===null||n===void 0?void 0:n.id)==="jp-contextmenu-open-with"}))===null||l===void 0?void 0:l.submenu)!==null&&i!==void 0?i:null;if(!c)return;r.forEach(e=>e.dispose()),r.length=0,c.clearItems(),r=[...p.currentWidget?v.OpenWith.intersection(O(p.currentWidget.selectedItems(),e=>v.OpenWith.getFactories(u,e))):new Set].map(e=>c.addItem({args:{factory:e.name,label:e.label||e.name},command:m.open}))}o.contextMenu.opened.connect(s)}},Je={id:"@jupyterlab/filebrowser-extension:open-browser-tab",description:"Adds the open-in-new-browser-tab features.",requires:[B,F],autoStart:!0,activate:(o,a,u)=>{const{commands:p}=o,r=u.load("jupyterlab"),{tracker:s}=a;p.addCommand(m.openBrowserTab,{execute:t=>{const l=s.currentWidget;if(!l)return;const i=t.mode;return Promise.all(Array.from(O(l.selectedItems(),c=>{if(i==="single-document"){const h=_.PageConfig.getUrl({mode:"single-document",treePath:c.path}),e=window.open();if(e)e.opener=null,e.location.href=h;else throw new Error("Failed to open new browser tab.")}else return p.execute("docmanager:open-browser-tab",{path:c.path})})))},icon:le.bindprops({stylesheet:"menuItem"}),label:t=>t.mode==="single-document"?r.__("Open in Simple Mode"):r.__("Open in New Browser Tab"),mnemonic:0,describedBy:{args:{type:"object",properties:{mode:{type:"string",description:r.__("Mode for opening files (e.g., single-document)")}}}}})}},Ge={id:"@jupyterlab/filebrowser-extension:file-upload-status",description:"Adds a file upload status widget.",autoStart:!0,requires:[B,F],optional:[Be],activate:(o,a,u,p)=>{if(!p)return;const r=new T({tracker:a.tracker,translator:u});p.registerStatusItem("@jupyterlab/filebrowser-extension:file-upload-status",{item:r,align:"middle",isActive:()=>!!r.model&&r.model.items.length>0,activeStateChanged:r.model.stateChanged})}},Ke={id:"@jupyterlab/filebrowser-extension:open-url",description:'Adds the feature "Open files from remote URLs".',autoStart:!0,requires:[P,F],optional:[U],activate:(o,a,u,p)=>{const{commands:r}=o,s=u.load("jupyterlab"),t=m.openUrl;r.addCommand(t,{label:l=>l.url?s.__("Open %1",l.url):s.__("Open from URL…"),caption:l=>l.url?s.__("Open %1",l.url):s.__("Open from URL"),execute:async l=>{var i,c,h;let e=(i=l?.url)!==null&&i!==void 0?i:"";if(e||(e=(c=(await H.getText({label:s.__("URL"),placeholder:"https://example.com/path/to/file",title:s.__("Open URL"),okLabel:s.__("Open")})).value)!==null&&c!==void 0?c:void 0),!e)return;let n="",d;try{const f=await fetch(e);d=await f.blob(),n=(h=f.headers.get("Content-Type"))!==null&&h!==void 0?h:""}catch(f){return f.response&&f.response.status!==200&&(f.message=s.__("Could not open URL: %1",e)),C(s.__("Cannot fetch"),f)}try{const f=_.PathExt.basename(e),w=new File([d],f,{type:n}),g=await a.model.upload(w);return r.execute("docmanager:open",{path:g.path})}catch(f){return C(s._p("showErrorMessage","Upload Error"),f)}},describedBy:{args:{type:"object",properties:{url:{type:"string",description:s.__("URL of the file to open")}}}}}),p&&p.addItem({command:t,category:s.__("File Operations")})}},De={id:"@jupyterlab/filebrowser-extension:notify-upload",requires:[P,M,F],description:"Adds feature to auto-open supported files after upload",autoStart:!0,activate:async(o,a,u,p)=>{const r=p.load("jupyterlab"),s=await u.load(y);let t=s.get("autoOpenUploads").composite,l=s.get("maxAutoOpenSizeMB").composite*1024*1024;s.changed.connect(()=>{t=s.get("autoOpenUploads").composite,l=s.get("maxAutoOpenSizeMB").composite*1024*1024}),o.restored.then(()=>{const c=Array.from(a.toolbar.children()).find(h=>h instanceof K);if(!c){console.warn("Uploader widget not found");return}c.filesUploaded.connect((h,e)=>{const d=Array.from(o.docRegistry.fileTypes()).reduce((g,b)=>{if(b.extensions)for(const x of b.extensions)g.push(x.toLowerCase());return g},[]),f=e[0].name.toLowerCase(),w=d.some(g=>f.endsWith(g));if(e.length===1&&(e[0].type==="notebook"||e[0].type==="file")){const g=e[0];t&&g.size&&g.size<=l&&w?o.commands.execute("docmanager:open",{path:g.path}).catch(b=>{C(`Opening ${g.name} failed`,b)}):E.emit(r.__("Uploaded %1%2",g.name,g.size?` (${Se(g.size,1,1024)})`:""),"info",{autoClose:5e3,actions:[{label:r.__("Open File"),callback:()=>{o.commands.execute("docmanager:open",{path:g.path}).catch(b=>{C(`Could not open ${g.name}`,b)})}}]})}else E.emit(r.__("Upload complete (%1 files)",e.length),"info",{autoClose:5e3,actions:[{label:r.__("Open All"),callback:()=>{e.forEach(g=>{o.commands.execute("docmanager:open",{path:g.path}).catch(b=>{C(`Could not open ${g.path}`,b)})})}}]})})})}};function Qe(o,a,u,p,r,s){const t=p.load("jupyterlab"),{docRegistry:l,commands:i}=o,{tracker:c}=u,h=_.PageConfig.getOption("delete_to_trash")==="true";i.addCommand(m.del,{execute:()=>{const e=c.currentWidget;if(e)return e.delete()},icon:de.bindprops({stylesheet:"menuItem"}),label:h?t.__("Move to Trash"):t.__("Delete"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.copy,{execute:()=>{const e=c.currentWidget;if(e)return e.copy()},icon:L.bindprops({stylesheet:"menuItem"}),label:t.__("Copy"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.cut,{execute:()=>{const e=c.currentWidget;if(e)return e.cut()},icon:pe.bindprops({stylesheet:"menuItem"}),label:t.__("Cut"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.duplicate,{execute:()=>{const e=c.currentWidget;if(e)return e.duplicate()},icon:L.bindprops({stylesheet:"menuItem"}),label:t.__("Duplicate"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.selectAll,{execute:()=>{const e=c.currentWidget;if(e)return e.selectAll()},label:t.__("Select All"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.goToPath,{label:t.__("Update the file browser to display the provided `path`."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:t.__("The path to navigate to")},dontShowBrowser:{type:"boolean",description:t.__("Whether to avoid showing the browser")}}}},execute:async e=>{var n;const d=e.path||"",f=!((n=e?.dontShowBrowser)!==null&&n!==void 0&&n);try{if((await v.navigateToPath(d,a,u,p)).type!=="directory"&&f){const g=v.getBrowserForPath(d,a,u);if(g){g.clearSelectedItems();const b=d.split("/"),x=b[b.length-1];x&&await g.selectItemByName(x)}}}catch(w){console.warn(`${m.goToPath} failed to go to: ${d}`,w)}if(f)return i.execute(m.showBrowser,{path:d})}}),i.addCommand(m.goUp,{label:"go up",execute:async()=>{const e=v.getBrowserForPath("",a,u);if(!e)return;const{model:n}=e;await n.restored,e.goUp()},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.openPath,{label:e=>e.path?t.__("Open %1",e.path):t.__("Open from Path…"),caption:e=>e.path?t.__("Open %1",e.path):t.__("Open from path"),execute:async e=>{var n;let d;if(e?.path?d=e.path:d=(n=(await H.getText({label:t.__("Path"),placeholder:"/path/relative/to/jlab/root",title:t.__("Open Path"),okLabel:t.__("Open")})).value)!==null&&n!==void 0?n:void 0,!!d)try{const f=d!=="/"&&d.endsWith("/");f&&(d=d.slice(0,d.length-1));const w=v.getBrowserForPath(d,a,u),{services:g}=w.model.manager,b=await g.contents.get(d,{content:!1});if(f&&b.type!=="directory")throw new Error(`Path ${d}/ is not a directory`);return await i.execute(m.goToPath,{path:d,dontShowBrowser:e.dontShowBrowser}),b.type==="directory"?void 0:i.execute("docmanager:open",{path:d})}catch(f){return f.response&&f.response.status===404&&(f.message=t.__("Could not find path: %1",d)),C(t.__("Cannot open"),f)}},describedBy:{args:{type:"object",properties:{path:{type:"string",description:t.__("Path to the file or directory to open")},dontShowBrowser:{type:"boolean",description:t.__("Whether to avoid showing the file browser")}}}}}),s&&s.addItem({command:m.openPath,category:t.__("File Operations")}),i.addCommand(m.open,{execute:e=>{const n=e.factory||void 0,d=c.currentWidget;if(!d)return;const{contents:f}=d.model.manager.services;return Promise.all(Array.from(O(d.selectedItems(),w=>{if(w.type==="directory"){const g=f.localPath(w.path);return d.model.cd(`/${g}`)}return i.execute("docmanager:open",{factory:n,path:w.path,kernelPreference:e.kernelPreference})})))},icon:e=>{var n;const d=e.factory||void 0;if(d){const f=l.getFileType(d);return(n=f?.icon)===null||n===void 0?void 0:n.bindprops({stylesheet:"menuItem"})}else return V.bindprops({stylesheet:"menuItem"})},label:e=>e.label||e.factory||t.__("Open"),mnemonic:0,describedBy:{args:{type:"object",properties:{factory:{type:"string",description:t.__("The name of the widget factory to use")},label:{type:"string",description:t.__("The label to display for the command")}}}}}),i.addCommand(m.paste,{execute:()=>{const e=c.currentWidget;if(e)return e.paste()},icon:ue.bindprops({stylesheet:"menuItem"}),label:t.__("Paste"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.createNewDirectory,{execute:()=>{const e=c.currentWidget;if(e)return e.createNewDirectory()},icon:me.bindprops({stylesheet:"menuItem"}),label:t.__("New Folder"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.createNewFile,{execute:e=>{var n;const d=c.currentWidget;if(d)return d.createNewFile({ext:(n=e.ext)!==null&&n!==void 0?n:"txt"})},icon:e=>e.iconName?he.resolve({icon:e.iconName}):fe.bindprops({stylesheet:"menuItem"}),label:e=>{var n;return t.__((n=e.label)!==null&&n!==void 0?n:"New File")},describedBy:{args:{type:"object",properties:{label:{type:"string",default:"New File",description:t.__("The command label.")},iconName:{type:"string",description:t.__("The command icon.")},ext:{type:"string",default:"txt",description:t.__("The file extension.")}}}}}),i.addCommand(m.createNewMarkdownFile,{execute:()=>{const e=c.currentWidget;if(e)return e.createNewFile({ext:"md"})},icon:ge.bindprops({stylesheet:"menuItem"}),label:t.__("New Markdown File"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.refresh,{execute:e=>{const n=c.currentWidget;if(n)return n.model.refresh()},icon:we.bindprops({stylesheet:"menuItem"}),caption:t.__("Refresh the file browser."),label:t.__("Refresh File List"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.rename,{execute:e=>{const n=c.currentWidget;if(n)return n.rename()},isVisible:()=>!!c.currentWidget&&Array.from(c.currentWidget.selectedItems()).length===1,icon:be.bindprops({stylesheet:"menuItem"}),label:t.__("Rename"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.copyPath,{execute:()=>{var e;const n=c.currentWidget;if(!n)return;const d=n.selectedItems().next();if(!d.done)if(_.PageConfig.getOption("copyAbsolutePath")==="true"){const f=_.PathExt.joinWithLeadingSlash((e=_.PageConfig.getOption("serverRoot"))!==null&&e!==void 0?e:"",d.value.path);W.copyToSystem(f)}else W.copyToSystem(d.value.path)},isVisible:()=>!!c.currentWidget&&Array.from(c.currentWidget.selectedItems()).length===1,icon:ye.bindprops({stylesheet:"menuItem"}),label:t.__("Copy Path"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.shutdown,{execute:()=>{const e=c.currentWidget;if(e)return e.shutdownKernels()},icon:_e.bindprops({stylesheet:"menuItem"}),label:t.__("Shut Down Kernel"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleFileFilter,{execute:()=>{a.showFileFilter=!a.showFileFilter,i.notifyCommandChanged(m.toggleFileFilter)},isToggled:()=>a.showFileFilter,icon:ve.bindprops({stylesheet:"menuItem"}),label:t.__("Toggle File Filter"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleLastModified,{label:t.__("Show Last Modified Column"),isToggled:()=>a.showLastModifiedColumn,execute:()=>{const e=!a.showLastModifiedColumn,n="showLastModifiedColumn";if(r)return r.set(y,n,e).catch(d=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleShowFullPath,{label:t.__("Show Full Path"),isToggled:()=>a.showFullPath,execute:()=>{const e=!a.showFullPath,n="showFullPath";if(r)return r.set(y,n,e).catch(d=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleSortNotebooksFirst,{label:t.__("Sort Notebooks Above Files"),isToggled:()=>a.sortNotebooksFirst,execute:()=>{const e=!a.sortNotebooksFirst,n="sortNotebooksFirst";if(r)return r.set(y,n,e).catch(d=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleFileSize,{label:t.__("Show File Size Column"),isToggled:()=>a.showFileSizeColumn,execute:()=>{const e=!a.showFileSizeColumn,n="showFileSizeColumn";if(r)return r.set(y,n,e).catch(d=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleSingleClick,{label:t.__("Enable Single Click Navigation"),isToggled:()=>a.singleClickNavigation,execute:()=>{const e=!a.singleClickNavigation,n="singleClickNavigation";if(r)return r.set(y,n,e).catch(d=>{console.error("Failed to set singleClickNavigation setting")})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleHiddenFiles,{label:t.__("Show Hidden Files"),isToggled:()=>a.showHiddenFiles,isVisible:()=>_.PageConfig.getOption("allow_hidden_files")==="true",execute:()=>{const e=!a.showHiddenFiles,n="showHiddenFiles";if(r)return r.set(y,n,e).catch(d=>{console.error("Failed to set showHiddenFiles setting")})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleFileCheckboxes,{label:t.__("Show File Checkboxes"),isToggled:()=>a.showFileCheckboxes,execute:()=>{const e=!a.showFileCheckboxes,n="showFileCheckboxes";if(r)return r.set(y,n,e).catch(d=>{console.error("Failed to set showFileCheckboxes setting")})},describedBy:{args:{type:"object",properties:{}}}})}const eo=[ze,$e,Ee,Ae,He,Ge,Ve,Q,Re,Je,Ke,De,qe];var v;(function(o){function a(r,s,t){const{tracker:l}=t,i=s.model.manager.services.contents.driveName(r);if(i){const c=l.find(h=>h.model.driveName===i);if(!c){console.warn(`${m.goToPath} failed to find filebrowser for path: ${r}`);return}return c}return s}o.getBrowserForPath=a;async function u(r,s,t,l){const i=l.load("jupyterlab"),c=o.getBrowserForPath(r,s,t);if(!c)throw new Error(i.__("No browser for path"));const{services:h}=c.model.manager,e=h.contents.localPath(r);await h.ready;const n=await h.contents.get(r,{content:!1}),{model:d}=c;return await d.restored,n.type==="directory"?await d.cd(`/${e}`):await d.cd(`/${_.PathExt.dirname(e)}`),n}o.navigateToPath=u;async function p(r,s,t,l,i,c){const h="jp-mod-restoring";if(r.addClass(h),!t){await r.model.restore(r.id),await r.model.refresh(),r.removeClass(h);return}const e=async()=>{t.routed.disconnect(e);const n=await l?.paths;n?.file||n?.browser?(await r.model.restore(r.id,!1),n.file&&await s.execute(m.openPath,{path:n.file,dontShowBrowser:!0}),n.browser&&await s.execute(m.openPath,{path:n.browser,dontShowBrowser:!0})):(await r.model.restore(r.id),await r.model.refresh()),r.removeClass(h),c?.isEmpty("main")&&s.execute("launcher:create")};t.routed.connect(e)}o.restoreBrowser=p,(function(r){function s(l,i){const c=l.preferredWidgetFactories(i.path),h=l.getWidgetFactory("notebook");return h&&i.type==="notebook"&&c.indexOf(h)===-1&&c.unshift(h),c}r.getFactories=s;function t(l){let i;for(const c of l){if(i===void 0){i=new Set(c);continue}if(i.size===0)return i;let h=new Set;for(const e of c)i.has(e)&&h.add(e);i=h}return i??new Set}r.intersection=t})(o.OpenWith||(o.OpenWith={}))})(v||(v={}));export{eo as default,Ge as fileUploadStatus};
|
|
1
|
+
import{r as j,cv as Y,cw as X,c6 as C,J as Z,ak as S,c2 as ee,v as k,b$ as te,af as I,cx as oe,ai as F,cy as re,cz as V,b_ as _,cA as ie,cB as W,cC as ne,cD as L,cE as se,aj as ae,c8 as le,c5 as O,cF as E,cG as ce,cH as de,cI as pe,cJ as ue,cK as me,c3 as he,cL as fe,cM as ge,cN as we,cO as be,cP as ye,cQ as _e,cR as ve,cS as A}from"../datalayer-app-main.js";import{T as q,G as Fe,b as U,I as xe,d as H}from"./index-CFP9psRB.js";import{I as Be}from"./tokens-BHMD_ju9.js";import{d as Ce,e as ke,J as Pe,c as R,f as Te,g as Se,F as Ie,h as je}from"./index-Dzf9vro3.js";import{I as J}from"./tokens-CENaHAHm.js";import{a as B,I as P,b as G}from"./tokens-BvmYCqiu.js";import{I as M}from"./tokens-BHLmeqjP.js";import{I as We}from"./treepathupdater-BPaxwIOs.js";import{g as Ne}from"./kernelfilestypes-D2B-sFfi.js";import"./hoverbox-CStlKQWE.js";import"./Output-no9rnFJ7.js";import"./index-DSN70XMH.js";import"./index-S4sn4R3i.js";import"./color-CG7_7V2-.js";import"./isEqual-g-jK7vY0.js";import"./defaultLocale-5voVPcsN.js";import"./index-DbMBnR4l.js";import"./KebabHorizontalIcon-CXDXtkuL.js";import"./PaintbrushIcon-CLU8RilX.js";import"./index-BJhxZF_K.js";import"./RestartIcon-Ca6_HoK0.js";import"./CellSidebarExtension-B-73cmcQ.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./renderer-DKKfWkWv.js";import"./SquareIcon-e3ygcjpv.js";import"./SortAscIcon-CVKVWIWQ.js";import"./url-CzjbCo42.js";/* empty css */import"./index-Dro44tIm.js";/* empty css *//* empty css */import"./index-DsG9xhMj.js";/* empty css */import"./index-CNU-WVhQ.js";import"./index--OLIX362.js";import"./index-DYGslHkf.js";import"./index-BSRVX3UN.js";import"./index-BH2OX5l8.js";import"./index-C3vDfO5_.js";import"./index-Ko8lxXFd.js";import"./index-CB9u17_J.js";import"./index-BUVtc_FV.js";import"./ArrowLeftIcon-Y3PTljcl.js";import"./SkubbleIcon-tlg17jBG.js";import"./usePrimerThemeBridge-CoHussa9.js";import"./index-Dobs-OKl.js";import"./KernelVariables-CS6h5HyK.js";import"./index-BvgsWH_d.js";import"./SortDescIcon-CS4EzHeS.js";import"./NotebookToolbar-rtMQZWHQ.js";import"./RepoPushIcon-Cm8g9NuL.js";import"./Toolbar-CGQDY041.js";import"./sessions-BRALW9Yv.js";import"./tokens-DTIgYcNS.js";import"./drivecontents-CxwZz_5W.js";import"./kernel-BI-BLP-K.js";function Me(o){const{width:a,percentage:u,...p}=o;return j.createElement("div",{className:"jp-Statusbar-ProgressBar-progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":u},j.createElement(Le,{percentage:u,...p,contentWidth:a}))}function Le(o){return j.createElement("div",{style:{width:`${o.percentage}%`}},j.createElement("p",null,o.content))}class K extends Y{constructor(a){super({icon:X,label:a.label,onClick:()=>{this._input.click()},tooltip:N.translateToolTip(a.translator),enabled:a.model.allowFileUploads}),this._onInputChanged=()=>{const p=Array.prototype.slice.call(this._input.files).map(r=>this.fileBrowserModel.upload(r));Promise.all(p).then(r=>{this._filesUploaded.emit(r)}).catch(r=>{C(this._trans._p("showErrorMessage","Upload Error"),r)})},this._onInputClicked=()=>{this._input.value=""},this._input=N.createUploadInput(),this._filesUploaded=new Z(this),this.fileBrowserModel=a.model,this.translator=a.translator||S,this._trans=this.translator.load("jupyterlab"),this._input.onclick=this._onInputClicked,this._input.onchange=this._onInputChanged,this.addClass("jp-id-upload")}get filesUploaded(){return this._filesUploaded}}var N;(function(o){function a(){const p=document.createElement("input");return p.type="file",p.multiple=!0,p}o.createUploadInput=a;function u(p){return p=p||S,p.load("jupyterlab").__("Upload Files")}o.translateToolTip=u})(N||(N={}));const Oe=4;function z(o){const u=(o.translator||S).load("jupyterlab");return k.createElement(Fe,{spacing:Oe},k.createElement(q,{source:u.__("Uploading…")}),k.createElement(Me,{percentage:o.upload}))}const Ue=2e3;class T extends ee{constructor(a){super(new T.Model(a.tracker.currentWidget&&a.tracker.currentWidget.model)),this._onBrowserChange=(u,p)=>{p===null?this.model.browserModel=null:this.model.browserModel=p.model},this.translator=a.translator||S,this._trans=this.translator.load("jupyterlab"),this._tracker=a.tracker,this._tracker.currentChanged.connect(this._onBrowserChange)}render(){return this.model.items.length>0?this.model.items[0].complete?k.createElement(q,{source:this._trans.__("Complete!")}):k.createElement(z,{upload:this.model.items[0].progress,translator:this.translator}):k.createElement(z,{upload:100,translator:this.translator})}dispose(){super.dispose(),this._tracker.currentChanged.disconnect(this._onBrowserChange)}}(function(o){class a extends te{constructor(p){super(),this._uploadChanged=(r,s)=>{if(s.name==="start")this._items.push({path:s.newValue.path,progress:s.newValue.progress*100,complete:!1});else if(s.name==="update"){const t=I.findFirstIndex(this._items,l=>l.path===s.oldValue.path);t!==-1&&(this._items[t].progress=s.newValue.progress*100)}else if(s.name==="finish"){const t=I.findFirstValue(this._items,l=>l.path===s.oldValue.path);t&&(t.complete=!0,setTimeout(()=>{I.removeFirstOf(this._items,t),this.stateChanged.emit(void 0)},Ue))}else if(s.name==="failure")I.removeFirstWhere(this._items,t=>t.path===s.newValue.path);else return;this.stateChanged.emit(void 0)},this._items=[],this._browserModel=null,this.browserModel=p}get items(){return this._items}get browserModel(){return this._browserModel}set browserModel(p){const r=this._browserModel;r&&r.uploadChanged.disconnect(this._uploadChanged),this._browserModel=p,this._items=[],this._browserModel!==null&&this._browserModel.uploadChanged.connect(this._uploadChanged),this.stateChanged.emit(void 0)}}o.Model=a})(T||(T={}));const $="FileBrowser",y="@jupyterlab/filebrowser-extension:browser";var m;(function(o){o.copy="filebrowser:copy",o.copyDownloadLink="filebrowser:copy-download-link",o.cut="filebrowser:cut",o.del="filebrowser:delete",o.download="filebrowser:download",o.duplicate="filebrowser:duplicate",o.selectAll="filebrowser:select-all",o.hideBrowser="filebrowser:hide-main",o.goToPath="filebrowser:go-to-path",o.goUp="filebrowser:go-up",o.openPath="filebrowser:open-path",o.openUrl="filebrowser:open-url",o.open="filebrowser:open",o.openBrowserTab="filebrowser:open-browser-tab",o.paste="filebrowser:paste",o.createNewDirectory="filebrowser:create-new-directory",o.createNewFile="filebrowser:create-new-file",o.createNewMarkdownFile="filebrowser:create-new-markdown-file",o.refresh="filebrowser:refresh",o.rename="filebrowser:rename",o.copyShareableLink="filebrowser:share-main",o.copyPath="filebrowser:copy-path",o.showBrowser="filebrowser:activate",o.shutdown="filebrowser:shutdown",o.toggleBrowser="filebrowser:toggle-main",o.toggleFileFilter="filebrowser:toggle-file-filter",o.toggleNavigateToCurrentDirectory="filebrowser:toggle-navigate-to-current-directory",o.toggleLastModified="filebrowser:toggle-last-modified",o.toggleShowFullPath="filebrowser:toggle-show-full-path",o.toggleFileSize="filebrowser:toggle-file-size",o.toggleSortNotebooksFirst="filebrowser:toggle-sort-notebooks-first",o.toggleHiddenFiles="filebrowser:toggle-hidden-files",o.toggleSingleClick="filebrowser:toggle-single-click-navigation",o.toggleFileCheckboxes="filebrowser:toggle-file-checkboxes"})(m||(m={}));const D="filebrowser",Ee={id:y,description:"Set up the default file browser commands and state restoration",requires:[P,B,F],optional:[Te,M,We,U],provides:G,autoStart:!0,activate:async(o,a,u,p,r,s,t,l)=>{const i=a;r&&r.add(i,D);const c=_.PageConfig.getOption("preferredPath");return c&&await i.model.cd(c),Qe(o,i,u,p,s,l),Promise.all([o.restored,i.model.restored]).then(()=>{t&&i.model.pathChanged.connect((h,e)=>{t(e.newValue)})}),{openPath:m.openPath}}},Ae={id:"@jupyterlab/filebrowser-extension:settings",description:"Set up the default file browser settings",requires:[P],optional:[M],autoStart:!0,activate:(o,a,u)=>{u&&u.load(y).then(p=>{const r={navigateToCurrentDirectory:!1,singleClickNavigation:!1,showLastModifiedColumn:!0,showFileSizeColumn:!1,showHiddenFiles:!1,showFileCheckboxes:!1,sortNotebooksFirst:!1,showFullPath:!1,allowFileUploads:!0};function s(t){let l;for(l in r){const e=t.get(l).composite;a[l]=e}const i=t.get("breadcrumbs").composite;a.minimumBreadcrumbsLeftItems=i.minimumLeftItems,a.minimumBreadcrumbsRightItems=i.minimumRightItems;const c=t.get("filterDirectories").composite,h=t.get("useFuzzyFilter").composite;a.model.filterDirectories=c,a.model.useFuzzyFilter=h}p.changed.connect(s),s(p)})}},ze={id:"@jupyterlab/filebrowser-extension:factory",description:"Provides the file browser factory.",provides:B,requires:[J,F],optional:[oe.IStateDB,Ce.IInfo],activate:async(o,a,u,p,r)=>{const s=new re({namespace:D});return{createFileBrowser:(l,i={})=>{var c,h;const e=i.state===null?void 0:i.state||p||void 0,n=new Ie({translator:u,auto:(c=i.auto)!==null&&c!==void 0?c:!0,manager:a,driveName:i.driveName||"",refreshInterval:i.refreshInterval,refreshStandby:()=>r&&!r.isConnected||"when-hidden",state:e,allowFileUploads:(h=i.allowFileUploads)!==null&&h!==void 0?h:!0}),d=i.restore,f=new je({id:l,model:n,restore:d,translator:u,state:e});return s.add(f),f},tracker:s}}},$e={id:"@jupyterlab/filebrowser-extension:default-file-browser",description:"Provides the default file browser",provides:P,requires:[B],optional:[ke,Pe.ITreeResolver,R,F],activate:async(o,a,u,p,r,s)=>{const{commands:t}=o,l=(s??S).load("jupyterlab"),i=a.createFileBrowser("filebrowser",{auto:!1,restore:!1});i.node.setAttribute("role","region"),i.node.setAttribute("aria-label",l.__("File Browser Section")),i.title.icon=V;const c=()=>{const h=o.commands.keyBindings.find(e=>e.command===m.toggleBrowser);if(h){const e=h.keys.map(ce.formatKeystroke).join(", ");i.title.caption=l.__("File Browser (%1)",e)}else i.title.caption=l.__("File Browser")};return c(),o.commands.keyBindingChanged.connect(()=>{c()}),v.restoreBrowser(i,t,u,p,o,r),i}},Ve={id:"@jupyterlab/filebrowser-extension:download",description:"Adds the download file commands. Disabling this plugin will NOT disable downloading files from the server, if the user enters the appropriate download URLs.",requires:[B,F],autoStart:!0,activate:(o,a,u)=>{const p=u.load("jupyterlab"),{commands:r}=o,{tracker:s}=a;r.addCommand(m.download,{execute:()=>{const t=s.currentWidget;if(t)return t.download()},icon:ne.bindprops({stylesheet:"menuItem"}),label:p.__("Download"),describedBy:{args:{type:"object",properties:{}}}}),r.addCommand(m.copyDownloadLink,{execute:()=>{const t=s.currentWidget;if(t)return t.model.manager.services.contents.getDownloadUrl(t.selectedItems().next().value.path).then(l=>{W.copyToSystem(l)})},isVisible:()=>!!s.currentWidget&&Array.from(s.currentWidget.selectedItems()).length===1,icon:L.bindprops({stylesheet:"menuItem"}),label:p.__("Copy Download Link"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}})}},qe={id:"@jupyterlab/filebrowser-extension:create-new-language-file",description:"Adds context menu entries for creating Python/R/Julia files",requires:[F],autoStart:!0,activate:async(o,a)=>{const u=a.load("jupyterlab");let p=new A;const r=o.serviceManager.kernelspecs,s=async()=>{var t,l;p&&(p.dispose(),p=new A);const i=await Ne(r);for(const c of i)p.add(o.contextMenu.addItem({command:m.createNewFile,selector:".jp-DirListing-content",args:{ext:c.extensions[0],label:u.__("New %1 File",c.displayName),iconName:(l=(t=c.icon)===null||t===void 0?void 0:t.toString())!==null&&l!==void 0?l:""},rank:52}))};r.specsChanged.connect(s),s().catch(console.warn)}},Q={id:"@jupyterlab/filebrowser-extension:widget",description:"Adds the file browser to the application shell.",requires:[J,P,B,M,xe,F,R,G],optional:[U],autoStart:!0,activate:(o,a,u,p,r,s,t,l,i,c)=>{const{commands:h}=o,{tracker:e}=p,n=t.load("jupyterlab");s.addFactory($,"uploader",d=>new K({model:d.model,translator:t})),se(u,ae(s,r,$,Q.id,t)),l.add(u,"left",{rank:100,type:"File Browser"}),h.addCommand(m.toggleBrowser,{label:n.__("File Browser"),describedBy:{args:{type:"object",properties:{}}},execute:()=>u.isHidden?h.execute(m.showBrowser,void 0):h.execute(m.hideBrowser,void 0)}),h.addCommand(m.showBrowser,{label:n.__("Open the file browser for the provided `path`."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:n.__("The path to open in the file browser")}}}},execute:d=>{const f=d.path||"",w=v.getBrowserForPath(f,u,p);if(w)if(u===w){l.activateById(u.id);return}else{const g=["left","right"];for(const b of g)for(const x of l.widgets(b))if(x.contains(w)){l.activateById(x.id);return}}}}),h.addCommand(m.hideBrowser,{label:n.__("Hide the file browser."),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const d=e.currentWidget;d&&!d.isHidden&&l.collapseLeft()}}),h.addCommand(m.toggleNavigateToCurrentDirectory,{label:n.__("Show Active File in File Browser"),isToggled:()=>u.navigateToCurrentDirectory,execute:()=>{const d=!u.navigateToCurrentDirectory;return r.set(y,"navigateToCurrentDirectory",d).catch(w=>{console.error("Failed to set navigateToCurrentDirectory setting")})},describedBy:{args:{type:"object",properties:{}}}}),c&&c.addItem({command:m.toggleNavigateToCurrentDirectory,category:n.__("File Operations")}),l.restored.then(d=>{d.fresh&&l.mode!=="single-document"&&h.execute(m.showBrowser,void 0)}),Promise.all([o.restored,u.model.restored]).then(()=>{l.currentChanged.connect(async(d,f)=>{if(u.navigateToCurrentDirectory&&f.newValue){const{newValue:w}=f,g=a.contextForWidget(w);if(g){const{path:b}=g;try{await v.navigateToPath(b,u,p,t)}catch(x){console.warn(`${m.goToPath} failed to open: ${b}`,x)}}}})})}},He={id:"@jupyterlab/filebrowser-extension:share-file",description:'Adds the "Copy Shareable Link" command; useful for JupyterHub deployment for example.',requires:[B,F],autoStart:!0,activate:(o,a,u)=>{const p=u.load("jupyterlab"),{commands:r}=o,{tracker:s}=a;r.addCommand(m.copyShareableLink,{execute:()=>{const t=s.currentWidget,l=t?.selectedItems().next();l===void 0||l.done||W.copyToSystem(_.PageConfig.getUrl({workspace:_.PageConfig.defaultWorkspace,treePath:l.value.path,toShare:!0}))},isVisible:()=>!!s.currentWidget&&Array.from(s.currentWidget.selectedItems()).length===1,icon:ie.bindprops({stylesheet:"menuItem"}),label:p.__("Copy Shareable Link"),describedBy:{args:{type:"object",properties:{}}}})}},Re={id:"@jupyterlab/filebrowser-extension:open-with",description:"Adds the open-with feature allowing an user to pick the non-preferred document viewer.",requires:[B],autoStart:!0,activate:(o,a)=>{const{docRegistry:u}=o,{tracker:p}=a;let r=[];function s(t){var l,i;const c=(i=(l=t.menu.items.find(e=>{var n;return e.type==="submenu"&&((n=e.submenu)===null||n===void 0?void 0:n.id)==="jp-contextmenu-open-with"}))===null||l===void 0?void 0:l.submenu)!==null&&i!==void 0?i:null;if(!c)return;r.forEach(e=>e.dispose()),r.length=0,c.clearItems(),r=[...p.currentWidget?v.OpenWith.intersection(O(p.currentWidget.selectedItems(),e=>v.OpenWith.getFactories(u,e))):new Set].map(e=>c.addItem({args:{factory:e.name,label:e.label||e.name},command:m.open}))}o.contextMenu.opened.connect(s)}},Je={id:"@jupyterlab/filebrowser-extension:open-browser-tab",description:"Adds the open-in-new-browser-tab features.",requires:[B,F],autoStart:!0,activate:(o,a,u)=>{const{commands:p}=o,r=u.load("jupyterlab"),{tracker:s}=a;p.addCommand(m.openBrowserTab,{execute:t=>{const l=s.currentWidget;if(!l)return;const i=t.mode;return Promise.all(Array.from(O(l.selectedItems(),c=>{if(i==="single-document"){const h=_.PageConfig.getUrl({mode:"single-document",treePath:c.path}),e=window.open();if(e)e.opener=null,e.location.href=h;else throw new Error("Failed to open new browser tab.")}else return p.execute("docmanager:open-browser-tab",{path:c.path})})))},icon:le.bindprops({stylesheet:"menuItem"}),label:t=>t.mode==="single-document"?r.__("Open in Simple Mode"):r.__("Open in New Browser Tab"),mnemonic:0,describedBy:{args:{type:"object",properties:{mode:{type:"string",description:r.__("Mode for opening files (e.g., single-document)")}}}}})}},Ge={id:"@jupyterlab/filebrowser-extension:file-upload-status",description:"Adds a file upload status widget.",autoStart:!0,requires:[B,F],optional:[Be],activate:(o,a,u,p)=>{if(!p)return;const r=new T({tracker:a.tracker,translator:u});p.registerStatusItem("@jupyterlab/filebrowser-extension:file-upload-status",{item:r,align:"middle",isActive:()=>!!r.model&&r.model.items.length>0,activeStateChanged:r.model.stateChanged})}},Ke={id:"@jupyterlab/filebrowser-extension:open-url",description:'Adds the feature "Open files from remote URLs".',autoStart:!0,requires:[P,F],optional:[U],activate:(o,a,u,p)=>{const{commands:r}=o,s=u.load("jupyterlab"),t=m.openUrl;r.addCommand(t,{label:l=>l.url?s.__("Open %1",l.url):s.__("Open from URL…"),caption:l=>l.url?s.__("Open %1",l.url):s.__("Open from URL"),execute:async l=>{var i,c,h;let e=(i=l?.url)!==null&&i!==void 0?i:"";if(e||(e=(c=(await H.getText({label:s.__("URL"),placeholder:"https://example.com/path/to/file",title:s.__("Open URL"),okLabel:s.__("Open")})).value)!==null&&c!==void 0?c:void 0),!e)return;let n="",d;try{const f=await fetch(e);d=await f.blob(),n=(h=f.headers.get("Content-Type"))!==null&&h!==void 0?h:""}catch(f){return f.response&&f.response.status!==200&&(f.message=s.__("Could not open URL: %1",e)),C(s.__("Cannot fetch"),f)}try{const f=_.PathExt.basename(e),w=new File([d],f,{type:n}),g=await a.model.upload(w);return r.execute("docmanager:open",{path:g.path})}catch(f){return C(s._p("showErrorMessage","Upload Error"),f)}},describedBy:{args:{type:"object",properties:{url:{type:"string",description:s.__("URL of the file to open")}}}}}),p&&p.addItem({command:t,category:s.__("File Operations")})}},De={id:"@jupyterlab/filebrowser-extension:notify-upload",requires:[P,M,F],description:"Adds feature to auto-open supported files after upload",autoStart:!0,activate:async(o,a,u,p)=>{const r=p.load("jupyterlab"),s=await u.load(y);let t=s.get("autoOpenUploads").composite,l=s.get("maxAutoOpenSizeMB").composite*1024*1024;s.changed.connect(()=>{t=s.get("autoOpenUploads").composite,l=s.get("maxAutoOpenSizeMB").composite*1024*1024}),o.restored.then(()=>{const c=Array.from(a.toolbar.children()).find(h=>h instanceof K);if(!c){console.warn("Uploader widget not found");return}c.filesUploaded.connect((h,e)=>{const d=Array.from(o.docRegistry.fileTypes()).reduce((g,b)=>{if(b.extensions)for(const x of b.extensions)g.push(x.toLowerCase());return g},[]),f=e[0].name.toLowerCase(),w=d.some(g=>f.endsWith(g));if(e.length===1&&(e[0].type==="notebook"||e[0].type==="file")){const g=e[0];t&&g.size&&g.size<=l&&w?o.commands.execute("docmanager:open",{path:g.path}).catch(b=>{C(`Opening ${g.name} failed`,b)}):E.emit(r.__("Uploaded %1%2",g.name,g.size?` (${Se(g.size,1,1024)})`:""),"info",{autoClose:5e3,actions:[{label:r.__("Open File"),callback:()=>{o.commands.execute("docmanager:open",{path:g.path}).catch(b=>{C(`Could not open ${g.name}`,b)})}}]})}else E.emit(r.__("Upload complete (%1 files)",e.length),"info",{autoClose:5e3,actions:[{label:r.__("Open All"),callback:()=>{e.forEach(g=>{o.commands.execute("docmanager:open",{path:g.path}).catch(b=>{C(`Could not open ${g.path}`,b)})})}}]})})})}};function Qe(o,a,u,p,r,s){const t=p.load("jupyterlab"),{docRegistry:l,commands:i}=o,{tracker:c}=u,h=_.PageConfig.getOption("delete_to_trash")==="true";i.addCommand(m.del,{execute:()=>{const e=c.currentWidget;if(e)return e.delete()},icon:de.bindprops({stylesheet:"menuItem"}),label:h?t.__("Move to Trash"):t.__("Delete"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.copy,{execute:()=>{const e=c.currentWidget;if(e)return e.copy()},icon:L.bindprops({stylesheet:"menuItem"}),label:t.__("Copy"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.cut,{execute:()=>{const e=c.currentWidget;if(e)return e.cut()},icon:pe.bindprops({stylesheet:"menuItem"}),label:t.__("Cut"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.duplicate,{execute:()=>{const e=c.currentWidget;if(e)return e.duplicate()},icon:L.bindprops({stylesheet:"menuItem"}),label:t.__("Duplicate"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.selectAll,{execute:()=>{const e=c.currentWidget;if(e)return e.selectAll()},label:t.__("Select All"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.goToPath,{label:t.__("Update the file browser to display the provided `path`."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:t.__("The path to navigate to")},dontShowBrowser:{type:"boolean",description:t.__("Whether to avoid showing the browser")}}}},execute:async e=>{var n;const d=e.path||"",f=!((n=e?.dontShowBrowser)!==null&&n!==void 0&&n);try{if((await v.navigateToPath(d,a,u,p)).type!=="directory"&&f){const g=v.getBrowserForPath(d,a,u);if(g){g.clearSelectedItems();const b=d.split("/"),x=b[b.length-1];x&&await g.selectItemByName(x)}}}catch(w){console.warn(`${m.goToPath} failed to go to: ${d}`,w)}if(f)return i.execute(m.showBrowser,{path:d})}}),i.addCommand(m.goUp,{label:"go up",execute:async()=>{const e=v.getBrowserForPath("",a,u);if(!e)return;const{model:n}=e;await n.restored,e.goUp()},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.openPath,{label:e=>e.path?t.__("Open %1",e.path):t.__("Open from Path…"),caption:e=>e.path?t.__("Open %1",e.path):t.__("Open from path"),execute:async e=>{var n;let d;if(e?.path?d=e.path:d=(n=(await H.getText({label:t.__("Path"),placeholder:"/path/relative/to/jlab/root",title:t.__("Open Path"),okLabel:t.__("Open")})).value)!==null&&n!==void 0?n:void 0,!!d)try{const f=d!=="/"&&d.endsWith("/");f&&(d=d.slice(0,d.length-1));const w=v.getBrowserForPath(d,a,u),{services:g}=w.model.manager,b=await g.contents.get(d,{content:!1});if(f&&b.type!=="directory")throw new Error(`Path ${d}/ is not a directory`);return await i.execute(m.goToPath,{path:d,dontShowBrowser:e.dontShowBrowser}),b.type==="directory"?void 0:i.execute("docmanager:open",{path:d})}catch(f){return f.response&&f.response.status===404&&(f.message=t.__("Could not find path: %1",d)),C(t.__("Cannot open"),f)}},describedBy:{args:{type:"object",properties:{path:{type:"string",description:t.__("Path to the file or directory to open")},dontShowBrowser:{type:"boolean",description:t.__("Whether to avoid showing the file browser")}}}}}),s&&s.addItem({command:m.openPath,category:t.__("File Operations")}),i.addCommand(m.open,{execute:e=>{const n=e.factory||void 0,d=c.currentWidget;if(!d)return;const{contents:f}=d.model.manager.services;return Promise.all(Array.from(O(d.selectedItems(),w=>{if(w.type==="directory"){const g=f.localPath(w.path);return d.model.cd(`/${g}`)}return i.execute("docmanager:open",{factory:n,path:w.path,kernelPreference:e.kernelPreference})})))},icon:e=>{var n;const d=e.factory||void 0;if(d){const f=l.getFileType(d);return(n=f?.icon)===null||n===void 0?void 0:n.bindprops({stylesheet:"menuItem"})}else return V.bindprops({stylesheet:"menuItem"})},label:e=>e.label||e.factory||t.__("Open"),mnemonic:0,describedBy:{args:{type:"object",properties:{factory:{type:"string",description:t.__("The name of the widget factory to use")},label:{type:"string",description:t.__("The label to display for the command")}}}}}),i.addCommand(m.paste,{execute:()=>{const e=c.currentWidget;if(e)return e.paste()},icon:ue.bindprops({stylesheet:"menuItem"}),label:t.__("Paste"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.createNewDirectory,{execute:()=>{const e=c.currentWidget;if(e)return e.createNewDirectory()},icon:me.bindprops({stylesheet:"menuItem"}),label:t.__("New Folder"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.createNewFile,{execute:e=>{var n;const d=c.currentWidget;if(d)return d.createNewFile({ext:(n=e.ext)!==null&&n!==void 0?n:"txt"})},icon:e=>e.iconName?he.resolve({icon:e.iconName}):fe.bindprops({stylesheet:"menuItem"}),label:e=>{var n;return t.__((n=e.label)!==null&&n!==void 0?n:"New File")},describedBy:{args:{type:"object",properties:{label:{type:"string",default:"New File",description:t.__("The command label.")},iconName:{type:"string",description:t.__("The command icon.")},ext:{type:"string",default:"txt",description:t.__("The file extension.")}}}}}),i.addCommand(m.createNewMarkdownFile,{execute:()=>{const e=c.currentWidget;if(e)return e.createNewFile({ext:"md"})},icon:ge.bindprops({stylesheet:"menuItem"}),label:t.__("New Markdown File"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.refresh,{execute:e=>{const n=c.currentWidget;if(n)return n.model.refresh()},icon:we.bindprops({stylesheet:"menuItem"}),caption:t.__("Refresh the file browser."),label:t.__("Refresh File List"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.rename,{execute:e=>{const n=c.currentWidget;if(n)return n.rename()},isVisible:()=>!!c.currentWidget&&Array.from(c.currentWidget.selectedItems()).length===1,icon:be.bindprops({stylesheet:"menuItem"}),label:t.__("Rename"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.copyPath,{execute:()=>{var e;const n=c.currentWidget;if(!n)return;const d=n.selectedItems().next();if(!d.done)if(_.PageConfig.getOption("copyAbsolutePath")==="true"){const f=_.PathExt.joinWithLeadingSlash((e=_.PageConfig.getOption("serverRoot"))!==null&&e!==void 0?e:"",d.value.path);W.copyToSystem(f)}else W.copyToSystem(d.value.path)},isVisible:()=>!!c.currentWidget&&Array.from(c.currentWidget.selectedItems()).length===1,icon:ye.bindprops({stylesheet:"menuItem"}),label:t.__("Copy Path"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.shutdown,{execute:()=>{const e=c.currentWidget;if(e)return e.shutdownKernels()},icon:_e.bindprops({stylesheet:"menuItem"}),label:t.__("Shut Down Kernel"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleFileFilter,{execute:()=>{a.showFileFilter=!a.showFileFilter,i.notifyCommandChanged(m.toggleFileFilter)},isToggled:()=>a.showFileFilter,icon:ve.bindprops({stylesheet:"menuItem"}),label:t.__("Toggle File Filter"),describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleLastModified,{label:t.__("Show Last Modified Column"),isToggled:()=>a.showLastModifiedColumn,execute:()=>{const e=!a.showLastModifiedColumn,n="showLastModifiedColumn";if(r)return r.set(y,n,e).catch(d=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleShowFullPath,{label:t.__("Show Full Path"),isToggled:()=>a.showFullPath,execute:()=>{const e=!a.showFullPath,n="showFullPath";if(r)return r.set(y,n,e).catch(d=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleSortNotebooksFirst,{label:t.__("Sort Notebooks Above Files"),isToggled:()=>a.sortNotebooksFirst,execute:()=>{const e=!a.sortNotebooksFirst,n="sortNotebooksFirst";if(r)return r.set(y,n,e).catch(d=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleFileSize,{label:t.__("Show File Size Column"),isToggled:()=>a.showFileSizeColumn,execute:()=>{const e=!a.showFileSizeColumn,n="showFileSizeColumn";if(r)return r.set(y,n,e).catch(d=>{console.error(`Failed to set ${n} setting`)})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleSingleClick,{label:t.__("Enable Single Click Navigation"),isToggled:()=>a.singleClickNavigation,execute:()=>{const e=!a.singleClickNavigation,n="singleClickNavigation";if(r)return r.set(y,n,e).catch(d=>{console.error("Failed to set singleClickNavigation setting")})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleHiddenFiles,{label:t.__("Show Hidden Files"),isToggled:()=>a.showHiddenFiles,isVisible:()=>_.PageConfig.getOption("allow_hidden_files")==="true",execute:()=>{const e=!a.showHiddenFiles,n="showHiddenFiles";if(r)return r.set(y,n,e).catch(d=>{console.error("Failed to set showHiddenFiles setting")})},describedBy:{args:{type:"object",properties:{}}}}),i.addCommand(m.toggleFileCheckboxes,{label:t.__("Show File Checkboxes"),isToggled:()=>a.showFileCheckboxes,execute:()=>{const e=!a.showFileCheckboxes,n="showFileCheckboxes";if(r)return r.set(y,n,e).catch(d=>{console.error("Failed to set showFileCheckboxes setting")})},describedBy:{args:{type:"object",properties:{}}}})}const eo=[ze,$e,Ee,Ae,He,Ge,Ve,Q,Re,Je,Ke,De,qe];var v;(function(o){function a(r,s,t){const{tracker:l}=t,i=s.model.manager.services.contents.driveName(r);if(i){const c=l.find(h=>h.model.driveName===i);if(!c){console.warn(`${m.goToPath} failed to find filebrowser for path: ${r}`);return}return c}return s}o.getBrowserForPath=a;async function u(r,s,t,l){const i=l.load("jupyterlab"),c=o.getBrowserForPath(r,s,t);if(!c)throw new Error(i.__("No browser for path"));const{services:h}=c.model.manager,e=h.contents.localPath(r);await h.ready;const n=await h.contents.get(r,{content:!1}),{model:d}=c;return await d.restored,n.type==="directory"?await d.cd(`/${e}`):await d.cd(`/${_.PathExt.dirname(e)}`),n}o.navigateToPath=u;async function p(r,s,t,l,i,c){const h="jp-mod-restoring";if(r.addClass(h),!t){await r.model.restore(r.id),await r.model.refresh(),r.removeClass(h);return}const e=async()=>{t.routed.disconnect(e);const n=await l?.paths;n?.file||n?.browser?(await r.model.restore(r.id,!1),n.file&&await s.execute(m.openPath,{path:n.file,dontShowBrowser:!0}),n.browser&&await s.execute(m.openPath,{path:n.browser,dontShowBrowser:!0})):(await r.model.restore(r.id),await r.model.refresh()),r.removeClass(h),c?.isEmpty("main")&&s.execute("launcher:create")};t.routed.connect(e)}o.restoreBrowser=p,(function(r){function s(l,i){const c=l.preferredWidgetFactories(i.path),h=l.getWidgetFactory("notebook");return h&&i.type==="notebook"&&c.indexOf(h)===-1&&c.unshift(h),c}r.getFactories=s;function t(l){let i;for(const c of l){if(i===void 0){i=new Set(c);continue}if(i.size===0)return i;let h=new Set;for(const e of c)i.has(e)&&h.add(e);i=h}return i??new Set}r.intersection=t})(o.OpenWith||(o.OpenWith={}))})(v||(v={}));export{eo as default,Ge as fileUploadStatus};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b$ as E,ae as I,af as j,c2 as N,ak as x,r as s,c3 as w,c4 as k,c5 as A,ag as D,c6 as O,c7 as P,ai as M,c8 as T,c9 as R,ca as U,cb as W}from"../datalayer-app-main.js";import{I as $}from"./tokens-CBD7cd6p.js";import{c as q}from"./index-
|
|
1
|
+
import{b$ as E,ae as I,af as j,c2 as N,ak as x,r as s,c3 as w,c4 as k,c5 as A,ag as D,c6 as O,c7 as P,ai as M,c8 as T,c9 as R,ca as U,cb as W}from"../datalayer-app-main.js";import{I as $}from"./tokens-CBD7cd6p.js";import{c as q}from"./index-Dzf9vro3.js";import{b as F}from"./index-CFP9psRB.js";import{I as H}from"./tokens-BvmYCqiu.js";import"./Output-no9rnFJ7.js";import"./index-DSN70XMH.js";import"./hoverbox-CStlKQWE.js";import"./index-S4sn4R3i.js";import"./color-CG7_7V2-.js";import"./isEqual-g-jK7vY0.js";import"./defaultLocale-5voVPcsN.js";import"./index-DbMBnR4l.js";import"./KebabHorizontalIcon-CXDXtkuL.js";import"./PaintbrushIcon-CLU8RilX.js";import"./index-BJhxZF_K.js";import"./RestartIcon-Ca6_HoK0.js";import"./CellSidebarExtension-B-73cmcQ.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./renderer-DKKfWkWv.js";import"./SquareIcon-e3ygcjpv.js";import"./SortAscIcon-CVKVWIWQ.js";import"./url-CzjbCo42.js";/* empty css */import"./index-Dro44tIm.js";/* empty css *//* empty css */import"./index-DsG9xhMj.js";/* empty css */import"./index-CNU-WVhQ.js";import"./index--OLIX362.js";import"./index-DYGslHkf.js";import"./index-BSRVX3UN.js";import"./index-BH2OX5l8.js";import"./index-C3vDfO5_.js";import"./index-Ko8lxXFd.js";import"./index-CB9u17_J.js";import"./index-BUVtc_FV.js";import"./ArrowLeftIcon-Y3PTljcl.js";import"./SkubbleIcon-tlg17jBG.js";import"./usePrimerThemeBridge-CoHussa9.js";import"./index-Dobs-OKl.js";import"./KernelVariables-CS6h5HyK.js";import"./index-BvgsWH_d.js";import"./SortDescIcon-CS4EzHeS.js";import"./NotebookToolbar-rtMQZWHQ.js";import"./RepoPushIcon-Cm8g9NuL.js";import"./Toolbar-CGQDY041.js";import"./sessions-BRALW9Yv.js";import"./tokens-DTIgYcNS.js";import"./drivecontents-CxwZz_5W.js";import"./kernel-BI-BLP-K.js";const K="jp-Launcher";class V extends E{constructor(){super(...arguments),this.itemsList=[]}add(t){const n=y.createItem(t);return this.itemsList.push(n),this.stateChanged.emit(void 0),new I(()=>{j.removeFirstOf(this.itemsList,n),this.stateChanged.emit(void 0)})}items(){return this.itemsList[Symbol.iterator]()}}class z extends N{constructor(t){super(t.model),this._pending=!1,this._cwd="",this._cwd=t.cwd,this.translator=t.translator||x,this._trans=this.translator.load("jupyterlab"),this._callback=t.callback,this._commands=t.commands,this.addClass(K)}get cwd(){return this._cwd}set cwd(t){this._cwd=t,this.update()}get pending(){return this._pending}set pending(t){this._pending=t}render(){if(!this.model)return null;const t=[this._trans.__("Notebook"),this._trans.__("Console"),this._trans.__("Other")],n=[this._trans.__("Notebook"),this._trans.__("Console")],o=Object.create(null);for(const e of this.model.items()){const a=e.category||this._trans.__("Other");a in o||(o[a]=[]),o[a].push(e)}for(const e in o)o[e]=o[e].sort((a,i)=>y.sortCmp(a,i,this._cwd,this._commands));const r=[];let h;const c=[];for(const e of t)c.push(e);for(const e in o)t.indexOf(e)===-1&&c.push(e);return c.forEach(e=>{if(!o[e])return;const a=o[e][0],i={...a.args,cwd:this.cwd},m=n.indexOf(e)>-1,p=this._commands.iconClass(a.command,i),u=this._commands.icon(a.command,i);e in o&&(h=s.createElement("div",{className:"jp-Launcher-section",key:e},s.createElement("div",{className:"jp-Launcher-sectionHeader"},s.createElement(w.resolveReact,{icon:u,iconClass:k(p,"jp-Icon-cover"),stylesheet:"launcherSection","aria-hidden":"true"}),s.createElement("h2",{className:"jp-Launcher-sectionTitle"},e)),s.createElement("div",{className:"jp-Launcher-cardContainer"},Array.from(A(o[e],f=>G(m,f,this,this._commands,this._trans,this._callback))))),r.push(h))}),s.createElement("div",{className:"jp-Launcher-body"},s.createElement("div",{className:"jp-Launcher-content"},s.createElement("div",{className:"jp-Launcher-cwd"},s.createElement("h3",null,this.cwd)),r))}}function G(d,t,n,o,r,h){const c=t.command,e={...t.args,cwd:n.cwd},a=o.caption(c,e),i=o.label(c,e),m=d?i:a||i,p=()=>{n.pending!==!0&&(n.pending=!0,o.execute(c,{...t.args,cwd:n.cwd}).then(l=>{n.pending=!1,l instanceof D&&h(l)}).catch(l=>{console.error(l),n.pending=!1,O(r._p("Error","Launcher Error"),l)}))},u=l=>{l.key==="Enter"&&p()},f=o.iconClass(c,e),C=o.icon(c,e);return s.createElement("div",{className:"jp-LauncherCard",title:m,role:"button",onClick:p,onKeyDown:u,tabIndex:0,"data-category":t.category||r.__("Other"),key:y.keyProperty.get(t)},s.createElement("div",{className:"jp-LauncherCard-icon"},d?t.kernelIconUrl?s.createElement("img",{src:t.kernelIconUrl,className:"jp-Launcher-kernelIcon",alt:m}):s.createElement("div",{className:"jp-LauncherCard-noKernelIcon"},i[0].toUpperCase()):s.createElement(w.resolveReact,{icon:C,iconClass:k(f,"jp-Icon-cover"),stylesheet:"launcherCard"})),s.createElement("div",{className:"jp-LauncherCard-label",title:m},s.createElement("p",null,i)))}var y;(function(d){let t=0;d.keyProperty=new P({name:"key",create:()=>t++});function n(r){return{...r,category:r.category||"",rank:r.rank!==void 0?r.rank:1/0}}d.createItem=n;function o(r,h,c,e){const a=r.rank,i=h.rank;if(a!==i&&a!==void 0&&i!==void 0)return a<i?-1:1;const m=e.label(r.command,{...r.args,cwd:c}),p=e.label(h.command,{...h.args,cwd:c});return m.localeCompare(p)}d.sortCmp=o})(y||(y={}));var g;(function(d){d.create="launcher:create"})(g||(g={}));const Je={activate:J,id:"@jupyterlab/launcher-extension:plugin",description:"Provides the launcher tab service.",requires:[M],optional:[q,F,H],provides:$,autoStart:!0};function J(d,t,n,o,r){const{commands:h,shell:c}=d,e=t.load("jupyterlab"),a=new V;return h.addCommand(g.create,{label:e.__("New Launcher"),icon:i=>i.toolbar?T:void 0,describedBy:{args:{type:"object",properties:{cwd:{type:"string",description:e.__("The current working directory")},toolbar:{type:"boolean",description:e.__("Whether the command is executed from a toolbar")},activate:{type:"boolean",description:e.__("Whether to activate the widget")},ref:{type:"string",description:e.__("The reference widget id")}}}},execute:i=>{var m,p;const u=(p=(m=i.cwd)!==null&&m!==void 0?m:r?.model.path)!==null&&p!==void 0?p:"",f=`launcher-${L.id++}`,C=v=>{W(c.widgets("main"),b=>b===v)&&(c.add(v,"main",{ref:f}),l.dispose())},l=new z({model:a,cwd:u,callback:C,commands:h,translator:t});l.model=a,l.title.icon=R,l.title.label=e.__("Launcher");const _=new U({content:l});if(_.title.closable=!!Array.from(c.widgets("main")).length,_.id=f,c.add(_,"main",{activate:i.activate,ref:i.ref}),n&&n.layoutModified.connect(()=>{_.title.closable=Array.from(n.widgets("main")).length>1},_),r){const v=b=>{l.cwd=b.path};r.model.pathChanged.connect(v),l.disposed.connect(()=>{r.model.pathChanged.disconnect(v)})}return _}}),n&&Promise.all([d.restored,r?.model.restored]).then(()=>{function i(){n.isEmpty("main")&&h.execute(g.create)}n.layoutModified.connect(()=>{i()})}),o&&o.addItem({command:g.create,category:e.__("Launcher")}),n&&(n.addButtonEnabled=!0,n.addRequested.connect((i,m)=>{var p;const u=((p=m.currentTitle)===null||p===void 0?void 0:p.owner.id)||m.titles[m.titles.length-1].owner.id;return h.execute(g.create,{ref:u})})),a}var L;(function(d){d.id=0})(L||(L={}));export{Je as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as o,c1 as S,ef as I,dH as K,eg as x,eh as E,ei as A,ej as R,af as T,v as F,ai as L,ak as B,J as O,d9 as M,cG as D,cS as q}from"../datalayer-app-main.js";import{o as H}from"./index-BN8Bbau-.js";import{a as U}from"./tokens-_fLcuFXz.js";import{I as W}from"./tokens-BHLmeqjP.js";import"./Output-no9rnFJ7.js";import"./index-CFP9psRB.js";import"./hoverbox-CStlKQWE.js";import"./index-DSN70XMH.js";import"./index-S4sn4R3i.js";import"./color-CG7_7V2-.js";import"./isEqual-g-jK7vY0.js";import"./defaultLocale-5voVPcsN.js";import"./index-DbMBnR4l.js";import"./KebabHorizontalIcon-CXDXtkuL.js";import"./PaintbrushIcon-CLU8RilX.js";import"./index-BJhxZF_K.js";import"./RestartIcon-Ca6_HoK0.js";import"./CellSidebarExtension-B-73cmcQ.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./renderer-DKKfWkWv.js";import"./SquareIcon-e3ygcjpv.js";import"./SortAscIcon-CVKVWIWQ.js";import"./url-DuKx0yk0.js";/* empty css */import"./index-Dro44tIm.js";/* empty css *//* empty css */import"./index-DsG9xhMj.js";/* empty css */import"./index-CNU-WVhQ.js";import"./index--OLIX362.js";import"./index-DYGslHkf.js";import"./index-BSRVX3UN.js";import"./index-BH2OX5l8.js";import"./index-C3vDfO5_.js";import"./index-Ko8lxXFd.js";import"./index-CB9u17_J.js";import"./index-BUVtc_FV.js";import"./ArrowLeftIcon-Y3PTljcl.js";import"./SkubbleIcon-tlg17jBG.js";import"./usePrimerThemeBridge-CoHussa9.js";import"./index-Dobs-OKl.js";import"./KernelVariables-CS6h5HyK.js";import"./index-BvgsWH_d.js";import"./SortDescIcon-CS4EzHeS.js";import"./NotebookToolbar-rtMQZWHQ.js";import"./RepoPushIcon-Cm8g9NuL.js";import"./Toolbar-CGQDY041.js";import"./sessions-BRALW9Yv.js";import"./tokens-DTIgYcNS.js";import"./drivecontents-CxwZz_5W.js";import"./kernel-BI-BLP-K.js";var _;(function(a){a.editBinding="shortcuts:edit-keybinding",a.addBinding="shortcuts:add-keybinding",a.deleteBinding="shortcuts:delete-keybinding",a.toggleSelectors="shortcuts:toggle-selectors",a.resetAll="shortcuts:reset-all"})(_||(_={}));const j="jp-Shortcuts-ConflictContainer";class C extends o.Component{constructor(e){super(e),this.handleSubmit=async()=>{this._isReplacingExistingKeybinding?this.state.selected?this.props.toggleInput():await this._updateShortcut():(await this._updateShortcut(),this.props.toggleInput())},this._updateShortcut=async()=>{const t=[...this.state.keys,this.state.currentChain];this.setState({keys:t}),this.props.keybinding?await this.props.replaceKeybinding(this.props.shortcut,this.props.keybinding,t):await this.props.addKeybinding(this.props.shortcut,t)},this._handleOverwrite=async(t,i)=>{for(const s of t){const n=s.keybindings.filter(r=>S.deepEqual(r.keys,i)||i.some(h=>S.deepEqual(r.keys,[h])))[0];if(!n){console.error(`Conflicting binding could not be found for ${s} using keys ${i}`);continue}await this.props.deleteKeybinding(s,n)}await this._updateShortcut()},this.parseChaining=(t,i,s,n,r)=>{let h=I.keyForKeydownEvent(t.nativeEvent);const m=["Shift","Control","Alt","Meta","Ctrl","Accel"];if(t.key==="Backspace")s="",i="",n=[],r="",this.setState({value:i,userInput:s,keys:n,currentChain:r});else if(t.key!=="CapsLock"){const y=s.substr(s.lastIndexOf(" ")+1,s.length).trim();m.lastIndexOf(y)===-1&&y!=""?(s=s+",",n.push(r),r="",t.ctrlKey&&t.key!="Control"&&(s=(s+" Ctrl").trim(),r=(r+" Ctrl").trim()),t.metaKey&&t.key!="Meta"&&(s=(s+" Accel").trim(),r=(r+" Accel").trim()),t.altKey&&t.key!="Alt"&&(s=(s+" Alt").trim(),r=(r+" Alt").trim()),t.shiftKey&&t.key!="Shift"&&(s=(s+" Shift").trim(),r=(r+" Shift").trim()),m.lastIndexOf(t.key)===-1?(s=(s+" "+h).trim(),r=(r+" "+h).trim()):t.key==="Meta"?(s=(s+" Accel").trim(),r=(r+" Accel").trim()):t.key==="Control"?(s=(s+" Ctrl").trim(),r=(r+" Ctrl").trim()):t.key==="Shift"?(s=(s+" Shift").trim(),r=(r+" Shift").trim()):t.key==="Alt"?(s=(s+" Alt").trim(),r=(r+" Alt").trim()):(s=(s+" "+t.key).trim(),r=(r+" "+t.key).trim())):t.key==="Control"?(s=(s+" Ctrl").trim(),r=(r+" Ctrl").trim()):t.key==="Meta"?(s=(s+" Accel").trim(),r=(r+" Accel").trim()):t.key==="Shift"?(s=(s+" Shift").trim(),r=(r+" Shift").trim()):t.key==="Alt"?(s=(s+" Alt").trim(),r=(r+" Alt").trim()):(s=(s+" "+h).trim(),r=(r+" "+h).trim())}return this.setState({keys:n,currentChain:r}),[s,n,r]},this.checkNonFunctional=()=>{const t=["Ctrl","Alt","Accel","Shift"],i=this.state.currentChain.split(" "),s=i[i.length-1];return this.setState({isFunctional:t.indexOf(s)===-1}),t.indexOf(s)!==-1},this.checkShortcutAvailability=(t,i,s)=>{const n=this.props.findConflictsFor([...i,s],this.props.shortcut.selector),r=t===""||n.length===0;return!r&&n.length===1&&n[0].id===this.props.shortcut.id&&this._isReplacingExistingKeybinding?(this.setState({isAvailable:!0}),[]):(this.setState({isAvailable:r}),n)},this.handleInput=t=>{t.preventDefault(),this.setState({selected:!1});const i=this.parseChaining(t,this.state.value,this.state.userInput,this.state.keys,this.state.currentChain),s=i[0],n=i[1],r=i[2],h=this.props.toSymbols(s);let m=this.checkShortcutAvailability(s,n,r);this.setState({value:h,userInput:s,keys:n,currentChain:r},()=>{this.checkNonFunctional(),this._emitConflicts(m)})},this._handleBlur=t=>{var i,s;!((i=this._ref.current)===null||i===void 0)&&i.contains(t.relatedTarget)||!((s=t.relatedTarget)===null||s===void 0)&&s.closest(`.${j}`)||this.props.toggleInput()},this._ref=o.createRef(),this.state={value:this.props.placeholder,userInput:"",isAvailable:!0,isFunctional:this._isReplacingExistingKeybinding,keys:[],currentChain:"",selected:!0}}get _isReplacingExistingKeybinding(){return!!this.props.keybinding}_emitConflicts(e){const t=[...this.state.keys,this.state.currentChain];this.props.displayConflicts({conflictsWith:e,keys:this.state.keys,overwrite:async()=>{this.setState({isAvailable:!0}),await this._handleOverwrite(e,t),this.props.toggleInput()},cancel:()=>{this.props.toggleInput()}})}render(){const e=this.props.translator.load("jupyterlab");let t="jp-Shortcuts-Input";return this.state.isAvailable||(t+=" jp-mod-unavailable-Input"),o.createElement("div",{className:this.props.displayInput?this._isReplacingExistingKeybinding?"jp-Shortcuts-InputBox":"jp-Shortcuts-InputBox jp-Shortcuts-InputBoxNew":"jp-mod-hidden",ref:this._ref,onBlur:this._handleBlur},o.createElement("div",{tabIndex:0,className:t,onKeyDown:this.handleInput,ref:i=>i&&i.focus(),"data-lm-suppress-shortcuts":"true"},o.createElement("p",{className:this.state.selected&&this._isReplacingExistingKeybinding?"jp-Shortcuts-InputText jp-mod-selected-InputText":this.state.value===""?"jp-Shortcuts-InputText jp-mod-waiting-InputText":"jp-Shortcuts-InputText"},this.state.value===""?e.__("press keys"):this.state.value)),o.createElement("button",{className:this.state.isFunctional?this.state.isAvailable?"jp-Shortcuts-Submit":"jp-Shortcuts-Submit jp-mod-conflict-Submit":"jp-Shortcuts-Submit jp-mod-defunc-Submit",disabled:!this.state.isAvailable||!this.state.isFunctional,onClick:this.handleSubmit,tabIndex:0},this.state.isAvailable?o.createElement(K.react,null):o.createElement(x.react,null)))}}class Q extends o.Component{constructor(e){super(e),this.toggleInputNew=()=>{this.setState({displayNewInput:!this.state.displayNewInput,conflicts:new Map})},this.toSymbols=t=>t.split(" ").reduce((i,s)=>s==="Ctrl"?(i+" ⌃").trim():s==="Alt"?(i+" ⌥").trim():s==="Shift"?(i+" ⇧").trim():s==="Accel"&&E.IS_MAC?(i+" ⌘").trim():s==="Accel"?(i+" ⌃").trim():(i+" "+s).trim(),""),this._trans=this.props.external.translator.load("jupyterlab"),this.state={displayNewInput:!1,displayReplaceInput:Object.freeze({}),conflicts:new Map}}componentDidMount(){this.props.external.actionRequested.connect(this._onActionRequested,this)}componentWillUnmount(){this.props.external.actionRequested.disconnect(this._onActionRequested,this)}async _onActionRequested(e,t){if(!("shortcutId"in t&&t.shortcutId!==this.props.shortcut.id)){if(t.request==="add-keybinding")return this.toggleInputNew();if(t.request==="edit-keybinding"&&this.toggleInputReplaceMethod(t.keybinding),t.request==="delete-keybinding"){const i=this.props.shortcut,s=i.keybindings[t.keybinding];this.props.deleteKeybinding(i,s).catch(console.error)}}}getCategoryCell(){return o.createElement("div",{className:"jp-Shortcuts-Cell"},this.props.shortcut.category)}getLabelCell(){var e;return o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement("div",{className:"jp-label"},(e=this.props.shortcut.label)!==null&&e!==void 0?e:this._trans.__("(Command label missing)")))}getResetShortCutLink(){return o.createElement("a",{className:"jp-Shortcuts-Reset",onClick:()=>this.props.resetKeybindings(this.props.shortcut)},this._trans.__("Reset"))}getSourceCell(){const e=this.props.shortcut.keybindings.every(t=>t.isDefault);return o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement("div",{className:"jp-Shortcuts-SourceCell"},e?this._trans.__("Default"):this._trans.__("Custom")),e?"":this.getResetShortCutLink())}getOptionalSelectorCell(){return this.props.showSelectors?o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement("div",{className:"jp-selector"},this.props.shortcut.selector)):null}getClassNameForShortCuts(e){const t=["jp-Shortcuts-ShortcutCell"];switch(e.length){case 1:t.push("jp-Shortcuts-SingleCell");break;case 0:t.push("jp-Shortcuts-EmptyCell");break}return t.join(" ")}toggleInputReplaceMethod(e){const t=this.state.displayReplaceInput[e];this.setState({displayReplaceInput:{...this.state.displayReplaceInput,[e]:!t},conflicts:new Map})}getDisplayReplaceInput(e){return this.state.displayReplaceInput[e]}getOrDiplayIfNeeded(e){const t=["jp-Shortcuts-Or"];return(e||this.state.displayNewInput)&&t.push("jp-Shortcuts-Or-Forced"),o.createElement("div",{className:t.join(" ")},this._trans.__("or"))}getShortCutAsInput(e,t){return o.createElement(C,{addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,findConflictsFor:this.props.findConflictsFor,toggleInput:()=>this.toggleInputReplaceMethod(t),shortcut:this.props.shortcut,keybinding:e,displayConflicts:i=>{const s=new Map(this.state.conflicts);s.set(e,i),this.setState({conflicts:s})},toSymbols:this.toSymbols,displayInput:this.getDisplayReplaceInput(t),placeholder:this.toSymbols(e.keys.join(", ")),translator:this.props.external.translator})}getShortCutForDisplayOnly(e){return e.keys.map((t,i)=>o.createElement("div",{className:"jp-Shortcuts-ShortcutKeysContainer",key:i},o.createElement("div",{className:"jp-Shortcuts-ShortcutKeys"},this.toSymbols(t)),i+1<e.keys.length?o.createElement("div",{className:"jp-Shortcuts-Comma"},","):null))}isLocationBeingEdited(e){return this.state.displayReplaceInput[e]}getDivForKey(e,t,i){return o.createElement("div",{className:"jp-Shortcuts-ShortcutContainer",key:this.props.shortcut.id+"_"+e,"data-keybinding":e,"data-shortcut":this.props.shortcut.id,onClick:()=>this.toggleInputReplaceMethod(e)},this.isLocationBeingEdited(e)?this.getShortCutAsInput(t,e):this.getShortCutForDisplayOnly(t),!(e===this._nonEmptyBindings.length-1&&Object.values(this.state.displayReplaceInput).some(Boolean))&&this.getOrDiplayIfNeeded(e<this._nonEmptyBindings.length-1))}getAddLink(){return o.createElement("a",{className:this.state.displayNewInput?"":"jp-Shortcuts-Plus",onClick:()=>{this.toggleInputNew()}},this._trans.__("Add"))}getInputBoxWhenToggled(){return this.state.displayNewInput?o.createElement(C,{addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,findConflictsFor:this.props.findConflictsFor,toggleInput:this.toggleInputNew,shortcut:this.props.shortcut,displayConflicts:e=>{const t=new Map(this.state.conflicts);t.set(null,e),this.setState({conflicts:t})},toSymbols:this.toSymbols,displayInput:this.state.displayNewInput,placeholder:"",translator:this.props.external.translator}):o.createElement("div",null)}getShortCutsCell(e){return o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement("div",{className:this.getClassNameForShortCuts(e)},e.map((t,i)=>this.getDivForKey(i,t,e)),e.length>=1&&!this.state.displayNewInput&&!Object.values(this.state.displayReplaceInput).some(Boolean)&&this.getAddLink(),e.length===0&&!this.state.displayNewInput&&this.getAddLink(),this.getInputBoxWhenToggled()))}getConflicts(){const e=[...this.state.conflicts.values()].filter(t=>t.conflictsWith.length!==0);return e.length===0?o.createElement(o.Fragment,null):o.createElement("div",{className:"jp-Shortcuts-Row jp-Shortcuts-RowWithConflict"},o.createElement("div",{className:j},e.map(t=>{const i=t.keys.join(" ")+"_"+t.conflictsWith.map(s=>s.id).join("");return o.createElement("div",{className:"jp-Shortcuts-Conflict",key:i},o.createElement("div",{className:"jp-Shortcuts-ErrorMessage"},this._trans.__("Shortcut already in use by %1. Overwrite it?",t.conflictsWith.map(s=>{var n;return(n=s.label)!==null&&n!==void 0?n:s.command}).join(", "))),o.createElement("div",{className:"jp-Shortcuts-ErrorButton"},o.createElement("button",{className:"jp-Button jp-mod-reject jp-mod-styled",onClick:()=>{this._clearConflict(t),t.cancel()}},this._trans.__("Cancel")),o.createElement("button",{className:"jp-Button jp-mod-warn jp-mod-styled",onClick:()=>{this._clearConflict(t),t.overwrite()}},this._trans.__("Overwrite"))))})))}_clearConflict(e){const t=new Map,i=this._conflictId(e);for(const[s,n]of this.state.conflicts.entries())this._conflictId(n)!==i&&t.set(s,n);this.setState({conflicts:t})}_conflictId(e){return e.keys.join(" ")+"_"+e.conflictsWith.map(t=>t.id).join("")}get _nonEmptyBindings(){return this.props.shortcut.keybindings.filter(e=>e.keys.filter(t=>t!="").length!==0)}render(){return o.createElement(o.Fragment,null,o.createElement("div",{className:"jp-Shortcuts-Row","data-shortcut":this.props.shortcut.id},this.getCategoryCell(),this.getLabelCell(),this.getShortCutsCell(this._nonEmptyBindings),this.getSourceCell(),this.getOptionalSelectorCell()),this.getConflicts())}}const $=115;class z extends o.Component{render(){return o.createElement("div",{className:"jp-Shortcuts-ShortcutListContainer",style:{height:`${this.props.height-$}px`},id:"shortcutListContainer"},o.createElement("div",{className:"jp-Shortcuts-ShortcutList"},this.props.shortcuts.map(e=>o.createElement(Q,{key:e.id,addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,resetKeybindings:this.props.resetKeybindings,findConflictsFor:this.props.findConflictsFor,shortcut:e,showSelectors:this.props.showSelectors,external:this.props.external}))))}}class P extends o.Component{render(){return o.createElement("div",{className:this.props.title.toLowerCase()===this.props.active?"jp-Shortcuts-Header jp-Shortcuts-CurrentHeader":"jp-Shortcuts-Header",onClick:()=>this.props.updateSort(this.props.columnId)},this.props.title,o.createElement(A.react,{className:"jp-Shortcuts-SortButton jp-ShortcutTitleItem-sortButton"}))}}function J(a){return o.createElement("div",{className:"jp-Shortcuts-Symbols"},o.createElement("table",null,o.createElement("tbody",null,o.createElement("tr",null,o.createElement("td",null,o.createElement("kbd",null,"Cmd")),o.createElement("td",null,"⌘"),o.createElement("td",null,o.createElement("kbd",null,"Ctrl")),o.createElement("td",null,"⌃")),o.createElement("tr",null,o.createElement("td",null,o.createElement("kbd",null,"Alt")),o.createElement("td",null,"⌥"),o.createElement("td",null,o.createElement("kbd",null,"Shift")),o.createElement("td",null,"⇧")))))}function G(a){const e=a.translator.load("jupyterlab");return o.createElement("div",{className:"jp-Shortcuts-AdvancedOptions"},o.createElement("a",{className:"jp-Shortcuts-AdvancedOptionsLink",onClick:()=>a.toggleSelectors()},a.showSelectors?e.__("Hide Selectors"):e.__("Show Selectors")),o.createElement("a",{className:"jp-Shortcuts-AdvancedOptionsLink",onClick:()=>a.resetShortcuts()},e.__("Reset All")))}class V extends o.Component{constructor(e){super(e)}getShortCutTitleItem(e,t){return o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement(P,{title:e,updateSort:this.props.updateSort,active:this.props.currentSort,columnId:t}))}render(){const e=this.props.translator.load("jupyterlab");return o.createElement("div",{className:"jp-Shortcuts-Top"},o.createElement("div",{className:"jp-Shortcuts-TopNav"},o.createElement(J,null),o.createElement(H,{"aria-label":e.__("Search shortcuts"),updateFilter:(t,i)=>this.props.updateSearchQuery(i??""),placeholder:e.__("Search…"),useFuzzyFilter:!1}),o.createElement(G,{toggleSelectors:this.props.toggleSelectors,showSelectors:this.props.showSelectors,resetShortcuts:this.props.resetShortcuts,translator:this.props.translator})),o.createElement("div",{className:"jp-Shortcuts-HeaderRowContainer"},o.createElement("div",{className:"jp-Shortcuts-HeaderRow"},this.getShortCutTitleItem(e.__("Category"),"category"),this.getShortCutTitleItem(e.__("Command"),"command"),o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement("div",{className:"title-div"},e.__("Shortcut"))),this.getShortCutTitleItem(e.__("Source"),"source"),this.props.showSelectors&&this.getShortCutTitleItem(e.__("Selectors"),"selector"))))}}class X extends Map{constructor(e){var t,i,s;super();const{settings:n,commandRegistry:r}=e,h=(t=n.user.shortcuts)!==null&&t!==void 0?t:[],m=new Set(h.map(this._computeKeybindingId.bind(this))),y=(i=n.composite.shortcuts)!==null&&i!==void 0?i:[];for(const p of y){const c=this._computeTargetId(p),u=this._computeKeybindingId(p),d={keys:p.keys,isDefault:!m.has(u)},l=this.get(c);if(l)l.keybindings.push(d);else{const g=p.command.split(":"),f=(s=r.label(p.command,p.args))!==null&&s!==void 0?s:g.length>1?g[1]:void 0,v=g[0];this.set(c,{id:c,selector:p.selector,command:p.command,category:v,label:f,args:p.args,keybindings:[d]})}}}findConflictsFor(e,t){const i=new Y({registry:this});let s=i.findConflicts(e,t);if(s.length!==0)return s;for(const n of e)if(s=i.findConflicts([n],t),s.length!==0)return s;return[]}_computeTargetId(e){var t;return e.command+"_"+e.selector+"_"+JSON.stringify((t=e.args)!==null&&t!==void 0?t:{})}_computeKeybindingId(e){var t;return[e.command,e.selector,JSON.stringify((t=e.args)!==null&&t!==void 0?t:{}),e.keys.join(" ")].join("_")}}class Y{constructor(e){var t;const i=new Map;for(const s of e.registry.values())for(const n of s.keybindings){const r=this._keybindingHash(n.keys,s.selector),h=(t=i.get(r))!==null&&t!==void 0?t:[];h.push(s),i.set(r,h)}this._keybindingsMap=i}findConflicts(e,t){var i;const s=this._keybindingHash(e,t);return(i=this._keybindingsMap.get(s))!==null&&i!==void 0?i:[]}_keybindingHash(e,t){return e.join(" ")+"_"+t}}function Z(a){return a.replace(/\s+/g,"").toLowerCase()}function tt(a,e){var t;const i=a.category.toLowerCase(),s=((t=a.label)!==null&&t!==void 0?t:"").toLowerCase(),n=`${i} ${s}`;let r=1/0,h=null;const m=/\b\w/g;for(;;){const d=m.exec(n);if(!d)break;const l=R.matchSumOfDeltas(n,e,d.index);if(!l)break;l&&l.score<=r&&(r=l.score,h=l.indices)}if(!h||r===1/0)return null;const y=i.length+1,p=T.lowerBound(h,y,(d,l)=>d-l),c=h.slice(0,p),u=h.slice(p);for(let d=0,l=u.length;d<l;++d)u[d]-=y;return c.length===0?{matchType:0,categoryIndices:null,labelIndices:u,score:r,item:a}:u.length===0?{matchType:1,categoryIndices:c,labelIndices:null,score:r,item:a}:{matchType:2,categoryIndices:c,labelIndices:u,score:r,item:a}}function et(a,e){e=Z(e);let t=[];for(const i of a.values()){if(!e){t.push({matchType:3,categoryIndices:null,labelIndices:null,score:0,item:i});continue}let s=tt(i,e);s&&t.push(s)}return t}class st extends o.Component{constructor(e){super(e),this.updateSearchQuery=t=>{this.setState({searchQuery:t},()=>{const i=this.state.shortcutRegistry;this.setState({filteredShortcutList:this._searchFilterShortcuts(i)},()=>{this.sortShortcuts()})})},this.resetShortcuts=async()=>{await(await this.props.external.getSettings()).set("shortcuts",[]),await this._refreshShortcutList()},this.resetKeybindings=async t=>{await this._setKeybinding(t,[])},this.replaceKeybinding=async(t,i,s)=>this._setKeybinding(t,s,i),this.deleteKeybinding=async(t,i)=>{await this._setKeybinding(t,[],i)},this.addKeybinding=async(t,i)=>{await this._setKeybinding(t,i)},this.toggleSelectors=()=>{this.setState({showSelectors:!this.state.showSelectors})},this.updateSort=t=>{t!==this.state.currentSort&&this.setState({currentSort:t},this.sortShortcuts)},this.state={shortcutRegistry:null,filteredShortcutList:new Array,shortcutsFetched:!1,searchQuery:"",showSelectors:!1,currentSort:"category"}}componentDidMount(){this.props.external.actionRequested.connect(this._onActionRequested,this),this._refreshShortcutList()}componentWillUnmount(){this.props.external.actionRequested.disconnect(this._onActionRequested,this)}async _onActionRequested(e,t){if(t.request==="toggle-selectors")return this.toggleSelectors();t.request==="reset-all"&&await this.resetShortcuts()}async _refreshShortcutList(){const e=await this.props.external.getSettings(),t=new X({commandRegistry:this.props.external.commandRegistry,settings:e});this.setState({shortcutRegistry:t,filteredShortcutList:this._searchFilterShortcuts(t),shortcutsFetched:!0},()=>{this.sortShortcuts()})}_searchFilterShortcuts(e){return e?et(e,this.state.searchQuery).map(i=>i.item):[]}async _setKeybinding(e,t,i){var s,n,r,h,m;t.length===1&&t[0]==""&&(t=[]);const y=await this.props.external.getSettings(),p=(s=y.user.shortcuts)!==null&&s!==void 0?s:[],c=[];let u=!1;for(let d of p)if(d.command===e.command&&d.selector===e.selector&&S.deepEqual((n=d.args)!==null&&n!==void 0?n:{},(r=e.args)!==null&&r!==void 0?r:{})&&i&&S.deepEqual(i.keys,d.keys)){const l=i&&i.isDefault&&S.deepEqual(i.keys,t);t.length!==0&&!l&&c.push({command:d.command,selector:d.selector,keys:t}),u=!0}else{if(d.command===e.command&&d.selector===e.selector&&S.deepEqual((h=d.args)!==null&&h!==void 0?h:{},(m=e.args)!==null&&m!==void 0?m:{})&&!i&&t.length===0)continue;c.push(d)}if(!u){const d=!i||!S.deepEqual(i.keys,t);i&&i.isDefault&&d&&c.push({command:e.command,selector:e.selector,disabled:!0,keys:i.keys}),t.length!==0&&c.push({command:e.command,selector:e.selector,keys:t})}await y.set("shortcuts",c),await this._refreshShortcutList()}sortShortcuts(){const e=this.state.filteredShortcutList;let t=this.state.currentSort;t==="command"&&(t="label");const i=s=>{var n;return t==="source"?s.keybindings.every(r=>r.isDefault)?"default":"other":(n=s[t])!==null&&n!==void 0?n:""};e.sort((s,n)=>{var r,h;const m=i(s),y=i(n),p=m.localeCompare(y);if(p)return p;{const c=(r=s.label)!==null&&r!==void 0?r:"",u=(h=n.label)!==null&&h!==void 0?h:"";return c.localeCompare(u)}}),this.setState({filteredShortcutList:e})}render(){return this.state.shortcutsFetched?o.createElement("div",{className:"jp-Shortcuts-ShortcutUI",id:"jp-shortcutui"},o.createElement(V,{updateSearchQuery:this.updateSearchQuery,resetShortcuts:this.resetShortcuts,toggleSelectors:this.toggleSelectors,showSelectors:this.state.showSelectors,updateSort:this.updateSort,currentSort:this.state.currentSort,width:this.props.width,translator:this.props.external.translator}),o.createElement(z,{shortcuts:this.state.filteredShortcutList,resetKeybindings:this.resetKeybindings,addKeybinding:this.addKeybinding,replaceKeybinding:this.replaceKeybinding,deleteKeybinding:this.deleteKeybinding,showSelectors:this.state.showSelectors,findConflictsFor:(e,t)=>this.state.shortcutRegistry?this.state.shortcutRegistry.findConflictsFor(e,t):(console.error("Cannot search for keybinding conflicts at this time: registry is not ready"),[]),height:this.props.height,external:this.props.external})):null}}const it=a=>F.createElement(st,{external:a.external,height:1e3,width:1e3}),w="@jupyterlab/shortcuts-extension:shortcuts";function ot(a,e,t,i){return{translator:t,getSettings:()=>a.load(w,!0),commandRegistry:e.commands,actionRequested:i}}const b={id:w,description:"Adds the keyboard shortcuts editor.",requires:[W],optional:[L,U],activate:async(a,e,t,i)=>{const s=t??B,n=s.load("jupyterlab"),{commands:r}=a;let h,m,y={};if(i){const c=new O({}),u=l=>l.dataset.shortcut!==void 0;a.commands.addCommand(_.editBinding,{label:n.__("Edit Keybinding"),caption:n.__("Edit existing keybinding"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const l=a.contextMenuHitTest(u),g=l?.dataset.keybinding,f=l?.dataset.shortcut;if(!f||!g)return console.log("Missing shortcut id/keybinding information");c.emit({request:"edit-keybinding",keybinding:parseInt(g,10),shortcutId:f})}}),a.commands.addCommand(_.deleteBinding,{label:n.__("Delete Keybinding"),caption:n.__("Delete chosen keybinding"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const l=a.contextMenuHitTest(u),g=l?.dataset.keybinding,f=l?.dataset.shortcut;if(!f||!g)return console.log("Missing shortcut id/keybinding information");c.emit({request:"delete-keybinding",keybinding:parseInt(g,10),shortcutId:f})}}),a.commands.addCommand(_.addBinding,{label:n.__("Add Keybinding"),caption:n.__("Add new keybinding for existing shortcut target"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const l=a.contextMenuHitTest(u),g=l?.dataset.shortcut;if(!g)return console.log("Missing shortcut id to add keybinding to");c.emit({request:"add-keybinding",shortcutId:g})}}),r.addCommand(_.toggleSelectors,{label:n.__("Toggle Selectors"),caption:n.__("Toggle command selectors"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{c.emit({request:"toggle-selectors"})}}),r.addCommand(_.resetAll,{label:n.__("Reset All"),caption:n.__("Reset all shortcuts"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{c.emit({request:"reset-all"})}});const d={fieldRenderer:l=>it({external:ot(e,a,s,c),...l})};i.addRenderer(`${b.id}.shortcuts`,d)}function p(c){const u=a.commands.listCommands().join(`
|
|
1
|
+
import{r as o,c1 as S,ef as I,dH as K,eg as x,eh as E,ei as A,ej as R,af as T,v as F,ai as L,ak as B,J as O,d9 as M,cG as D,cS as q}from"../datalayer-app-main.js";import{o as H}from"./index-Dzf9vro3.js";import{a as U}from"./tokens-_fLcuFXz.js";import{I as W}from"./tokens-BHLmeqjP.js";import"./Output-no9rnFJ7.js";import"./index-CFP9psRB.js";import"./hoverbox-CStlKQWE.js";import"./index-DSN70XMH.js";import"./index-S4sn4R3i.js";import"./color-CG7_7V2-.js";import"./isEqual-g-jK7vY0.js";import"./defaultLocale-5voVPcsN.js";import"./index-DbMBnR4l.js";import"./KebabHorizontalIcon-CXDXtkuL.js";import"./PaintbrushIcon-CLU8RilX.js";import"./index-BJhxZF_K.js";import"./RestartIcon-Ca6_HoK0.js";import"./CellSidebarExtension-B-73cmcQ.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./renderer-DKKfWkWv.js";import"./SquareIcon-e3ygcjpv.js";import"./SortAscIcon-CVKVWIWQ.js";import"./url-CzjbCo42.js";/* empty css */import"./index-Dro44tIm.js";/* empty css *//* empty css */import"./index-DsG9xhMj.js";/* empty css */import"./index-CNU-WVhQ.js";import"./index--OLIX362.js";import"./index-DYGslHkf.js";import"./index-BSRVX3UN.js";import"./index-BH2OX5l8.js";import"./index-C3vDfO5_.js";import"./index-Ko8lxXFd.js";import"./index-CB9u17_J.js";import"./index-BUVtc_FV.js";import"./ArrowLeftIcon-Y3PTljcl.js";import"./SkubbleIcon-tlg17jBG.js";import"./usePrimerThemeBridge-CoHussa9.js";import"./index-Dobs-OKl.js";import"./KernelVariables-CS6h5HyK.js";import"./index-BvgsWH_d.js";import"./SortDescIcon-CS4EzHeS.js";import"./NotebookToolbar-rtMQZWHQ.js";import"./RepoPushIcon-Cm8g9NuL.js";import"./Toolbar-CGQDY041.js";import"./sessions-BRALW9Yv.js";import"./tokens-DTIgYcNS.js";import"./drivecontents-CxwZz_5W.js";import"./kernel-BI-BLP-K.js";var _;(function(a){a.editBinding="shortcuts:edit-keybinding",a.addBinding="shortcuts:add-keybinding",a.deleteBinding="shortcuts:delete-keybinding",a.toggleSelectors="shortcuts:toggle-selectors",a.resetAll="shortcuts:reset-all"})(_||(_={}));const j="jp-Shortcuts-ConflictContainer";class C extends o.Component{constructor(e){super(e),this.handleSubmit=async()=>{this._isReplacingExistingKeybinding?this.state.selected?this.props.toggleInput():await this._updateShortcut():(await this._updateShortcut(),this.props.toggleInput())},this._updateShortcut=async()=>{const t=[...this.state.keys,this.state.currentChain];this.setState({keys:t}),this.props.keybinding?await this.props.replaceKeybinding(this.props.shortcut,this.props.keybinding,t):await this.props.addKeybinding(this.props.shortcut,t)},this._handleOverwrite=async(t,i)=>{for(const s of t){const n=s.keybindings.filter(r=>S.deepEqual(r.keys,i)||i.some(h=>S.deepEqual(r.keys,[h])))[0];if(!n){console.error(`Conflicting binding could not be found for ${s} using keys ${i}`);continue}await this.props.deleteKeybinding(s,n)}await this._updateShortcut()},this.parseChaining=(t,i,s,n,r)=>{let h=I.keyForKeydownEvent(t.nativeEvent);const m=["Shift","Control","Alt","Meta","Ctrl","Accel"];if(t.key==="Backspace")s="",i="",n=[],r="",this.setState({value:i,userInput:s,keys:n,currentChain:r});else if(t.key!=="CapsLock"){const y=s.substr(s.lastIndexOf(" ")+1,s.length).trim();m.lastIndexOf(y)===-1&&y!=""?(s=s+",",n.push(r),r="",t.ctrlKey&&t.key!="Control"&&(s=(s+" Ctrl").trim(),r=(r+" Ctrl").trim()),t.metaKey&&t.key!="Meta"&&(s=(s+" Accel").trim(),r=(r+" Accel").trim()),t.altKey&&t.key!="Alt"&&(s=(s+" Alt").trim(),r=(r+" Alt").trim()),t.shiftKey&&t.key!="Shift"&&(s=(s+" Shift").trim(),r=(r+" Shift").trim()),m.lastIndexOf(t.key)===-1?(s=(s+" "+h).trim(),r=(r+" "+h).trim()):t.key==="Meta"?(s=(s+" Accel").trim(),r=(r+" Accel").trim()):t.key==="Control"?(s=(s+" Ctrl").trim(),r=(r+" Ctrl").trim()):t.key==="Shift"?(s=(s+" Shift").trim(),r=(r+" Shift").trim()):t.key==="Alt"?(s=(s+" Alt").trim(),r=(r+" Alt").trim()):(s=(s+" "+t.key).trim(),r=(r+" "+t.key).trim())):t.key==="Control"?(s=(s+" Ctrl").trim(),r=(r+" Ctrl").trim()):t.key==="Meta"?(s=(s+" Accel").trim(),r=(r+" Accel").trim()):t.key==="Shift"?(s=(s+" Shift").trim(),r=(r+" Shift").trim()):t.key==="Alt"?(s=(s+" Alt").trim(),r=(r+" Alt").trim()):(s=(s+" "+h).trim(),r=(r+" "+h).trim())}return this.setState({keys:n,currentChain:r}),[s,n,r]},this.checkNonFunctional=()=>{const t=["Ctrl","Alt","Accel","Shift"],i=this.state.currentChain.split(" "),s=i[i.length-1];return this.setState({isFunctional:t.indexOf(s)===-1}),t.indexOf(s)!==-1},this.checkShortcutAvailability=(t,i,s)=>{const n=this.props.findConflictsFor([...i,s],this.props.shortcut.selector),r=t===""||n.length===0;return!r&&n.length===1&&n[0].id===this.props.shortcut.id&&this._isReplacingExistingKeybinding?(this.setState({isAvailable:!0}),[]):(this.setState({isAvailable:r}),n)},this.handleInput=t=>{t.preventDefault(),this.setState({selected:!1});const i=this.parseChaining(t,this.state.value,this.state.userInput,this.state.keys,this.state.currentChain),s=i[0],n=i[1],r=i[2],h=this.props.toSymbols(s);let m=this.checkShortcutAvailability(s,n,r);this.setState({value:h,userInput:s,keys:n,currentChain:r},()=>{this.checkNonFunctional(),this._emitConflicts(m)})},this._handleBlur=t=>{var i,s;!((i=this._ref.current)===null||i===void 0)&&i.contains(t.relatedTarget)||!((s=t.relatedTarget)===null||s===void 0)&&s.closest(`.${j}`)||this.props.toggleInput()},this._ref=o.createRef(),this.state={value:this.props.placeholder,userInput:"",isAvailable:!0,isFunctional:this._isReplacingExistingKeybinding,keys:[],currentChain:"",selected:!0}}get _isReplacingExistingKeybinding(){return!!this.props.keybinding}_emitConflicts(e){const t=[...this.state.keys,this.state.currentChain];this.props.displayConflicts({conflictsWith:e,keys:this.state.keys,overwrite:async()=>{this.setState({isAvailable:!0}),await this._handleOverwrite(e,t),this.props.toggleInput()},cancel:()=>{this.props.toggleInput()}})}render(){const e=this.props.translator.load("jupyterlab");let t="jp-Shortcuts-Input";return this.state.isAvailable||(t+=" jp-mod-unavailable-Input"),o.createElement("div",{className:this.props.displayInput?this._isReplacingExistingKeybinding?"jp-Shortcuts-InputBox":"jp-Shortcuts-InputBox jp-Shortcuts-InputBoxNew":"jp-mod-hidden",ref:this._ref,onBlur:this._handleBlur},o.createElement("div",{tabIndex:0,className:t,onKeyDown:this.handleInput,ref:i=>i&&i.focus(),"data-lm-suppress-shortcuts":"true"},o.createElement("p",{className:this.state.selected&&this._isReplacingExistingKeybinding?"jp-Shortcuts-InputText jp-mod-selected-InputText":this.state.value===""?"jp-Shortcuts-InputText jp-mod-waiting-InputText":"jp-Shortcuts-InputText"},this.state.value===""?e.__("press keys"):this.state.value)),o.createElement("button",{className:this.state.isFunctional?this.state.isAvailable?"jp-Shortcuts-Submit":"jp-Shortcuts-Submit jp-mod-conflict-Submit":"jp-Shortcuts-Submit jp-mod-defunc-Submit",disabled:!this.state.isAvailable||!this.state.isFunctional,onClick:this.handleSubmit,tabIndex:0},this.state.isAvailable?o.createElement(K.react,null):o.createElement(x.react,null)))}}class Q extends o.Component{constructor(e){super(e),this.toggleInputNew=()=>{this.setState({displayNewInput:!this.state.displayNewInput,conflicts:new Map})},this.toSymbols=t=>t.split(" ").reduce((i,s)=>s==="Ctrl"?(i+" ⌃").trim():s==="Alt"?(i+" ⌥").trim():s==="Shift"?(i+" ⇧").trim():s==="Accel"&&E.IS_MAC?(i+" ⌘").trim():s==="Accel"?(i+" ⌃").trim():(i+" "+s).trim(),""),this._trans=this.props.external.translator.load("jupyterlab"),this.state={displayNewInput:!1,displayReplaceInput:Object.freeze({}),conflicts:new Map}}componentDidMount(){this.props.external.actionRequested.connect(this._onActionRequested,this)}componentWillUnmount(){this.props.external.actionRequested.disconnect(this._onActionRequested,this)}async _onActionRequested(e,t){if(!("shortcutId"in t&&t.shortcutId!==this.props.shortcut.id)){if(t.request==="add-keybinding")return this.toggleInputNew();if(t.request==="edit-keybinding"&&this.toggleInputReplaceMethod(t.keybinding),t.request==="delete-keybinding"){const i=this.props.shortcut,s=i.keybindings[t.keybinding];this.props.deleteKeybinding(i,s).catch(console.error)}}}getCategoryCell(){return o.createElement("div",{className:"jp-Shortcuts-Cell"},this.props.shortcut.category)}getLabelCell(){var e;return o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement("div",{className:"jp-label"},(e=this.props.shortcut.label)!==null&&e!==void 0?e:this._trans.__("(Command label missing)")))}getResetShortCutLink(){return o.createElement("a",{className:"jp-Shortcuts-Reset",onClick:()=>this.props.resetKeybindings(this.props.shortcut)},this._trans.__("Reset"))}getSourceCell(){const e=this.props.shortcut.keybindings.every(t=>t.isDefault);return o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement("div",{className:"jp-Shortcuts-SourceCell"},e?this._trans.__("Default"):this._trans.__("Custom")),e?"":this.getResetShortCutLink())}getOptionalSelectorCell(){return this.props.showSelectors?o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement("div",{className:"jp-selector"},this.props.shortcut.selector)):null}getClassNameForShortCuts(e){const t=["jp-Shortcuts-ShortcutCell"];switch(e.length){case 1:t.push("jp-Shortcuts-SingleCell");break;case 0:t.push("jp-Shortcuts-EmptyCell");break}return t.join(" ")}toggleInputReplaceMethod(e){const t=this.state.displayReplaceInput[e];this.setState({displayReplaceInput:{...this.state.displayReplaceInput,[e]:!t},conflicts:new Map})}getDisplayReplaceInput(e){return this.state.displayReplaceInput[e]}getOrDiplayIfNeeded(e){const t=["jp-Shortcuts-Or"];return(e||this.state.displayNewInput)&&t.push("jp-Shortcuts-Or-Forced"),o.createElement("div",{className:t.join(" ")},this._trans.__("or"))}getShortCutAsInput(e,t){return o.createElement(C,{addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,findConflictsFor:this.props.findConflictsFor,toggleInput:()=>this.toggleInputReplaceMethod(t),shortcut:this.props.shortcut,keybinding:e,displayConflicts:i=>{const s=new Map(this.state.conflicts);s.set(e,i),this.setState({conflicts:s})},toSymbols:this.toSymbols,displayInput:this.getDisplayReplaceInput(t),placeholder:this.toSymbols(e.keys.join(", ")),translator:this.props.external.translator})}getShortCutForDisplayOnly(e){return e.keys.map((t,i)=>o.createElement("div",{className:"jp-Shortcuts-ShortcutKeysContainer",key:i},o.createElement("div",{className:"jp-Shortcuts-ShortcutKeys"},this.toSymbols(t)),i+1<e.keys.length?o.createElement("div",{className:"jp-Shortcuts-Comma"},","):null))}isLocationBeingEdited(e){return this.state.displayReplaceInput[e]}getDivForKey(e,t,i){return o.createElement("div",{className:"jp-Shortcuts-ShortcutContainer",key:this.props.shortcut.id+"_"+e,"data-keybinding":e,"data-shortcut":this.props.shortcut.id,onClick:()=>this.toggleInputReplaceMethod(e)},this.isLocationBeingEdited(e)?this.getShortCutAsInput(t,e):this.getShortCutForDisplayOnly(t),!(e===this._nonEmptyBindings.length-1&&Object.values(this.state.displayReplaceInput).some(Boolean))&&this.getOrDiplayIfNeeded(e<this._nonEmptyBindings.length-1))}getAddLink(){return o.createElement("a",{className:this.state.displayNewInput?"":"jp-Shortcuts-Plus",onClick:()=>{this.toggleInputNew()}},this._trans.__("Add"))}getInputBoxWhenToggled(){return this.state.displayNewInput?o.createElement(C,{addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,findConflictsFor:this.props.findConflictsFor,toggleInput:this.toggleInputNew,shortcut:this.props.shortcut,displayConflicts:e=>{const t=new Map(this.state.conflicts);t.set(null,e),this.setState({conflicts:t})},toSymbols:this.toSymbols,displayInput:this.state.displayNewInput,placeholder:"",translator:this.props.external.translator}):o.createElement("div",null)}getShortCutsCell(e){return o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement("div",{className:this.getClassNameForShortCuts(e)},e.map((t,i)=>this.getDivForKey(i,t,e)),e.length>=1&&!this.state.displayNewInput&&!Object.values(this.state.displayReplaceInput).some(Boolean)&&this.getAddLink(),e.length===0&&!this.state.displayNewInput&&this.getAddLink(),this.getInputBoxWhenToggled()))}getConflicts(){const e=[...this.state.conflicts.values()].filter(t=>t.conflictsWith.length!==0);return e.length===0?o.createElement(o.Fragment,null):o.createElement("div",{className:"jp-Shortcuts-Row jp-Shortcuts-RowWithConflict"},o.createElement("div",{className:j},e.map(t=>{const i=t.keys.join(" ")+"_"+t.conflictsWith.map(s=>s.id).join("");return o.createElement("div",{className:"jp-Shortcuts-Conflict",key:i},o.createElement("div",{className:"jp-Shortcuts-ErrorMessage"},this._trans.__("Shortcut already in use by %1. Overwrite it?",t.conflictsWith.map(s=>{var n;return(n=s.label)!==null&&n!==void 0?n:s.command}).join(", "))),o.createElement("div",{className:"jp-Shortcuts-ErrorButton"},o.createElement("button",{className:"jp-Button jp-mod-reject jp-mod-styled",onClick:()=>{this._clearConflict(t),t.cancel()}},this._trans.__("Cancel")),o.createElement("button",{className:"jp-Button jp-mod-warn jp-mod-styled",onClick:()=>{this._clearConflict(t),t.overwrite()}},this._trans.__("Overwrite"))))})))}_clearConflict(e){const t=new Map,i=this._conflictId(e);for(const[s,n]of this.state.conflicts.entries())this._conflictId(n)!==i&&t.set(s,n);this.setState({conflicts:t})}_conflictId(e){return e.keys.join(" ")+"_"+e.conflictsWith.map(t=>t.id).join("")}get _nonEmptyBindings(){return this.props.shortcut.keybindings.filter(e=>e.keys.filter(t=>t!="").length!==0)}render(){return o.createElement(o.Fragment,null,o.createElement("div",{className:"jp-Shortcuts-Row","data-shortcut":this.props.shortcut.id},this.getCategoryCell(),this.getLabelCell(),this.getShortCutsCell(this._nonEmptyBindings),this.getSourceCell(),this.getOptionalSelectorCell()),this.getConflicts())}}const $=115;class z extends o.Component{render(){return o.createElement("div",{className:"jp-Shortcuts-ShortcutListContainer",style:{height:`${this.props.height-$}px`},id:"shortcutListContainer"},o.createElement("div",{className:"jp-Shortcuts-ShortcutList"},this.props.shortcuts.map(e=>o.createElement(Q,{key:e.id,addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,resetKeybindings:this.props.resetKeybindings,findConflictsFor:this.props.findConflictsFor,shortcut:e,showSelectors:this.props.showSelectors,external:this.props.external}))))}}class P extends o.Component{render(){return o.createElement("div",{className:this.props.title.toLowerCase()===this.props.active?"jp-Shortcuts-Header jp-Shortcuts-CurrentHeader":"jp-Shortcuts-Header",onClick:()=>this.props.updateSort(this.props.columnId)},this.props.title,o.createElement(A.react,{className:"jp-Shortcuts-SortButton jp-ShortcutTitleItem-sortButton"}))}}function J(a){return o.createElement("div",{className:"jp-Shortcuts-Symbols"},o.createElement("table",null,o.createElement("tbody",null,o.createElement("tr",null,o.createElement("td",null,o.createElement("kbd",null,"Cmd")),o.createElement("td",null,"⌘"),o.createElement("td",null,o.createElement("kbd",null,"Ctrl")),o.createElement("td",null,"⌃")),o.createElement("tr",null,o.createElement("td",null,o.createElement("kbd",null,"Alt")),o.createElement("td",null,"⌥"),o.createElement("td",null,o.createElement("kbd",null,"Shift")),o.createElement("td",null,"⇧")))))}function G(a){const e=a.translator.load("jupyterlab");return o.createElement("div",{className:"jp-Shortcuts-AdvancedOptions"},o.createElement("a",{className:"jp-Shortcuts-AdvancedOptionsLink",onClick:()=>a.toggleSelectors()},a.showSelectors?e.__("Hide Selectors"):e.__("Show Selectors")),o.createElement("a",{className:"jp-Shortcuts-AdvancedOptionsLink",onClick:()=>a.resetShortcuts()},e.__("Reset All")))}class V extends o.Component{constructor(e){super(e)}getShortCutTitleItem(e,t){return o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement(P,{title:e,updateSort:this.props.updateSort,active:this.props.currentSort,columnId:t}))}render(){const e=this.props.translator.load("jupyterlab");return o.createElement("div",{className:"jp-Shortcuts-Top"},o.createElement("div",{className:"jp-Shortcuts-TopNav"},o.createElement(J,null),o.createElement(H,{"aria-label":e.__("Search shortcuts"),updateFilter:(t,i)=>this.props.updateSearchQuery(i??""),placeholder:e.__("Search…"),useFuzzyFilter:!1}),o.createElement(G,{toggleSelectors:this.props.toggleSelectors,showSelectors:this.props.showSelectors,resetShortcuts:this.props.resetShortcuts,translator:this.props.translator})),o.createElement("div",{className:"jp-Shortcuts-HeaderRowContainer"},o.createElement("div",{className:"jp-Shortcuts-HeaderRow"},this.getShortCutTitleItem(e.__("Category"),"category"),this.getShortCutTitleItem(e.__("Command"),"command"),o.createElement("div",{className:"jp-Shortcuts-Cell"},o.createElement("div",{className:"title-div"},e.__("Shortcut"))),this.getShortCutTitleItem(e.__("Source"),"source"),this.props.showSelectors&&this.getShortCutTitleItem(e.__("Selectors"),"selector"))))}}class X extends Map{constructor(e){var t,i,s;super();const{settings:n,commandRegistry:r}=e,h=(t=n.user.shortcuts)!==null&&t!==void 0?t:[],m=new Set(h.map(this._computeKeybindingId.bind(this))),y=(i=n.composite.shortcuts)!==null&&i!==void 0?i:[];for(const p of y){const c=this._computeTargetId(p),u=this._computeKeybindingId(p),d={keys:p.keys,isDefault:!m.has(u)},l=this.get(c);if(l)l.keybindings.push(d);else{const g=p.command.split(":"),f=(s=r.label(p.command,p.args))!==null&&s!==void 0?s:g.length>1?g[1]:void 0,v=g[0];this.set(c,{id:c,selector:p.selector,command:p.command,category:v,label:f,args:p.args,keybindings:[d]})}}}findConflictsFor(e,t){const i=new Y({registry:this});let s=i.findConflicts(e,t);if(s.length!==0)return s;for(const n of e)if(s=i.findConflicts([n],t),s.length!==0)return s;return[]}_computeTargetId(e){var t;return e.command+"_"+e.selector+"_"+JSON.stringify((t=e.args)!==null&&t!==void 0?t:{})}_computeKeybindingId(e){var t;return[e.command,e.selector,JSON.stringify((t=e.args)!==null&&t!==void 0?t:{}),e.keys.join(" ")].join("_")}}class Y{constructor(e){var t;const i=new Map;for(const s of e.registry.values())for(const n of s.keybindings){const r=this._keybindingHash(n.keys,s.selector),h=(t=i.get(r))!==null&&t!==void 0?t:[];h.push(s),i.set(r,h)}this._keybindingsMap=i}findConflicts(e,t){var i;const s=this._keybindingHash(e,t);return(i=this._keybindingsMap.get(s))!==null&&i!==void 0?i:[]}_keybindingHash(e,t){return e.join(" ")+"_"+t}}function Z(a){return a.replace(/\s+/g,"").toLowerCase()}function tt(a,e){var t;const i=a.category.toLowerCase(),s=((t=a.label)!==null&&t!==void 0?t:"").toLowerCase(),n=`${i} ${s}`;let r=1/0,h=null;const m=/\b\w/g;for(;;){const d=m.exec(n);if(!d)break;const l=R.matchSumOfDeltas(n,e,d.index);if(!l)break;l&&l.score<=r&&(r=l.score,h=l.indices)}if(!h||r===1/0)return null;const y=i.length+1,p=T.lowerBound(h,y,(d,l)=>d-l),c=h.slice(0,p),u=h.slice(p);for(let d=0,l=u.length;d<l;++d)u[d]-=y;return c.length===0?{matchType:0,categoryIndices:null,labelIndices:u,score:r,item:a}:u.length===0?{matchType:1,categoryIndices:c,labelIndices:null,score:r,item:a}:{matchType:2,categoryIndices:c,labelIndices:u,score:r,item:a}}function et(a,e){e=Z(e);let t=[];for(const i of a.values()){if(!e){t.push({matchType:3,categoryIndices:null,labelIndices:null,score:0,item:i});continue}let s=tt(i,e);s&&t.push(s)}return t}class st extends o.Component{constructor(e){super(e),this.updateSearchQuery=t=>{this.setState({searchQuery:t},()=>{const i=this.state.shortcutRegistry;this.setState({filteredShortcutList:this._searchFilterShortcuts(i)},()=>{this.sortShortcuts()})})},this.resetShortcuts=async()=>{await(await this.props.external.getSettings()).set("shortcuts",[]),await this._refreshShortcutList()},this.resetKeybindings=async t=>{await this._setKeybinding(t,[])},this.replaceKeybinding=async(t,i,s)=>this._setKeybinding(t,s,i),this.deleteKeybinding=async(t,i)=>{await this._setKeybinding(t,[],i)},this.addKeybinding=async(t,i)=>{await this._setKeybinding(t,i)},this.toggleSelectors=()=>{this.setState({showSelectors:!this.state.showSelectors})},this.updateSort=t=>{t!==this.state.currentSort&&this.setState({currentSort:t},this.sortShortcuts)},this.state={shortcutRegistry:null,filteredShortcutList:new Array,shortcutsFetched:!1,searchQuery:"",showSelectors:!1,currentSort:"category"}}componentDidMount(){this.props.external.actionRequested.connect(this._onActionRequested,this),this._refreshShortcutList()}componentWillUnmount(){this.props.external.actionRequested.disconnect(this._onActionRequested,this)}async _onActionRequested(e,t){if(t.request==="toggle-selectors")return this.toggleSelectors();t.request==="reset-all"&&await this.resetShortcuts()}async _refreshShortcutList(){const e=await this.props.external.getSettings(),t=new X({commandRegistry:this.props.external.commandRegistry,settings:e});this.setState({shortcutRegistry:t,filteredShortcutList:this._searchFilterShortcuts(t),shortcutsFetched:!0},()=>{this.sortShortcuts()})}_searchFilterShortcuts(e){return e?et(e,this.state.searchQuery).map(i=>i.item):[]}async _setKeybinding(e,t,i){var s,n,r,h,m;t.length===1&&t[0]==""&&(t=[]);const y=await this.props.external.getSettings(),p=(s=y.user.shortcuts)!==null&&s!==void 0?s:[],c=[];let u=!1;for(let d of p)if(d.command===e.command&&d.selector===e.selector&&S.deepEqual((n=d.args)!==null&&n!==void 0?n:{},(r=e.args)!==null&&r!==void 0?r:{})&&i&&S.deepEqual(i.keys,d.keys)){const l=i&&i.isDefault&&S.deepEqual(i.keys,t);t.length!==0&&!l&&c.push({command:d.command,selector:d.selector,keys:t}),u=!0}else{if(d.command===e.command&&d.selector===e.selector&&S.deepEqual((h=d.args)!==null&&h!==void 0?h:{},(m=e.args)!==null&&m!==void 0?m:{})&&!i&&t.length===0)continue;c.push(d)}if(!u){const d=!i||!S.deepEqual(i.keys,t);i&&i.isDefault&&d&&c.push({command:e.command,selector:e.selector,disabled:!0,keys:i.keys}),t.length!==0&&c.push({command:e.command,selector:e.selector,keys:t})}await y.set("shortcuts",c),await this._refreshShortcutList()}sortShortcuts(){const e=this.state.filteredShortcutList;let t=this.state.currentSort;t==="command"&&(t="label");const i=s=>{var n;return t==="source"?s.keybindings.every(r=>r.isDefault)?"default":"other":(n=s[t])!==null&&n!==void 0?n:""};e.sort((s,n)=>{var r,h;const m=i(s),y=i(n),p=m.localeCompare(y);if(p)return p;{const c=(r=s.label)!==null&&r!==void 0?r:"",u=(h=n.label)!==null&&h!==void 0?h:"";return c.localeCompare(u)}}),this.setState({filteredShortcutList:e})}render(){return this.state.shortcutsFetched?o.createElement("div",{className:"jp-Shortcuts-ShortcutUI",id:"jp-shortcutui"},o.createElement(V,{updateSearchQuery:this.updateSearchQuery,resetShortcuts:this.resetShortcuts,toggleSelectors:this.toggleSelectors,showSelectors:this.state.showSelectors,updateSort:this.updateSort,currentSort:this.state.currentSort,width:this.props.width,translator:this.props.external.translator}),o.createElement(z,{shortcuts:this.state.filteredShortcutList,resetKeybindings:this.resetKeybindings,addKeybinding:this.addKeybinding,replaceKeybinding:this.replaceKeybinding,deleteKeybinding:this.deleteKeybinding,showSelectors:this.state.showSelectors,findConflictsFor:(e,t)=>this.state.shortcutRegistry?this.state.shortcutRegistry.findConflictsFor(e,t):(console.error("Cannot search for keybinding conflicts at this time: registry is not ready"),[]),height:this.props.height,external:this.props.external})):null}}const it=a=>F.createElement(st,{external:a.external,height:1e3,width:1e3}),w="@jupyterlab/shortcuts-extension:shortcuts";function ot(a,e,t,i){return{translator:t,getSettings:()=>a.load(w,!0),commandRegistry:e.commands,actionRequested:i}}const b={id:w,description:"Adds the keyboard shortcuts editor.",requires:[W],optional:[L,U],activate:async(a,e,t,i)=>{const s=t??B,n=s.load("jupyterlab"),{commands:r}=a;let h,m,y={};if(i){const c=new O({}),u=l=>l.dataset.shortcut!==void 0;a.commands.addCommand(_.editBinding,{label:n.__("Edit Keybinding"),caption:n.__("Edit existing keybinding"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const l=a.contextMenuHitTest(u),g=l?.dataset.keybinding,f=l?.dataset.shortcut;if(!f||!g)return console.log("Missing shortcut id/keybinding information");c.emit({request:"edit-keybinding",keybinding:parseInt(g,10),shortcutId:f})}}),a.commands.addCommand(_.deleteBinding,{label:n.__("Delete Keybinding"),caption:n.__("Delete chosen keybinding"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const l=a.contextMenuHitTest(u),g=l?.dataset.keybinding,f=l?.dataset.shortcut;if(!f||!g)return console.log("Missing shortcut id/keybinding information");c.emit({request:"delete-keybinding",keybinding:parseInt(g,10),shortcutId:f})}}),a.commands.addCommand(_.addBinding,{label:n.__("Add Keybinding"),caption:n.__("Add new keybinding for existing shortcut target"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const l=a.contextMenuHitTest(u),g=l?.dataset.shortcut;if(!g)return console.log("Missing shortcut id to add keybinding to");c.emit({request:"add-keybinding",shortcutId:g})}}),r.addCommand(_.toggleSelectors,{label:n.__("Toggle Selectors"),caption:n.__("Toggle command selectors"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{c.emit({request:"toggle-selectors"})}}),r.addCommand(_.resetAll,{label:n.__("Reset All"),caption:n.__("Reset all shortcuts"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{c.emit({request:"reset-all"})}});const d={fieldRenderer:l=>it({external:ot(e,a,s,c),...l})};i.addRenderer(`${b.id}.shortcuts`,d)}function p(c){const u=a.commands.listCommands().join(`
|
|
2
2
|
`);m||(m=S.deepCopy(c.properties.shortcuts.default)),y={},c.properties.shortcuts.default=Object.keys(e.plugins).map(d=>{const l=e.plugins[d].schema["jupyter.lab.shortcuts"]||[];return y[d]=l,l}).concat([m]).reduce((d,l)=>E.IS_MAC?d.concat(l):d.concat(l.filter(g=>!g.keys.some(f=>{const{cmd:v}=D.parseKeystroke(f);return v}))),[]).sort((d,l)=>d.command.localeCompare(l.command)),c.properties.shortcuts.description=n.__(`Note: To disable a system default shortcut,
|
|
3
3
|
copy it to User Preferences and add the
|
|
4
4
|
"disabled" key, for example:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c2 as Z,v as U,b$ as ee,b_ as F,ak as B,J as K,dJ as pe,ai as j,cx as he,dK as me,c1 as ge,ci as W,ch as C,c6 as Q,dL as fe,ao as _e,ag as ve,cF as ye,dM as be,an as we,r as X,dN as xe,dO as Ce}from"../datalayer-app-main.js";import{T as te,f as Se,b as ne,d as oe}from"./index-CFP9psRB.js";import{I as ie}from"./tokens-BHMD_ju9.js";import{a as ae,b as H,c as V,I as P}from"./tokens-CENaHAHm.js";import{I as re}from"./tokens-BHLmeqjP.js";import{j as se,d as ke,m as Re,c as G,D as z,n as We}from"./index-
|
|
1
|
+
import{c2 as Z,v as U,b$ as ee,b_ as F,ak as B,J as K,dJ as pe,ai as j,cx as he,dK as me,c1 as ge,ci as W,ch as C,c6 as Q,dL as fe,ao as _e,ag as ve,cF as ye,dM as be,an as we,r as X,dN as xe,dO as Ce}from"../datalayer-app-main.js";import{T as te,f as Se,b as ne,d as oe}from"./index-CFP9psRB.js";import{I as ie}from"./tokens-BHMD_ju9.js";import{a as ae,b as H,c as V,I as P}from"./tokens-CENaHAHm.js";import{I as re}from"./tokens-BHLmeqjP.js";import{j as se,d as ke,m as Re,c as G,D as z,n as We}from"./index-Dzf9vro3.js";import"./hoverbox-CStlKQWE.js";import"./Output-no9rnFJ7.js";import"./index-DSN70XMH.js";import"./index-S4sn4R3i.js";import"./color-CG7_7V2-.js";import"./isEqual-g-jK7vY0.js";import"./defaultLocale-5voVPcsN.js";import"./index-DbMBnR4l.js";import"./KebabHorizontalIcon-CXDXtkuL.js";import"./PaintbrushIcon-CLU8RilX.js";import"./index-BJhxZF_K.js";import"./RestartIcon-Ca6_HoK0.js";import"./CellSidebarExtension-B-73cmcQ.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./renderer-DKKfWkWv.js";import"./SquareIcon-e3ygcjpv.js";import"./SortAscIcon-CVKVWIWQ.js";import"./url-CzjbCo42.js";/* empty css */import"./index-Dro44tIm.js";/* empty css *//* empty css */import"./index-DsG9xhMj.js";/* empty css */import"./index-CNU-WVhQ.js";import"./index--OLIX362.js";import"./index-DYGslHkf.js";import"./index-BSRVX3UN.js";import"./index-BH2OX5l8.js";import"./index-C3vDfO5_.js";import"./index-Ko8lxXFd.js";import"./index-CB9u17_J.js";import"./index-BUVtc_FV.js";import"./ArrowLeftIcon-Y3PTljcl.js";import"./SkubbleIcon-tlg17jBG.js";import"./usePrimerThemeBridge-CoHussa9.js";import"./index-Dobs-OKl.js";import"./KernelVariables-CS6h5HyK.js";import"./index-BvgsWH_d.js";import"./SortDescIcon-CS4EzHeS.js";import"./NotebookToolbar-rtMQZWHQ.js";import"./RepoPushIcon-Cm8g9NuL.js";import"./Toolbar-CGQDY041.js";import"./sessions-BRALW9Yv.js";import"./tokens-DTIgYcNS.js";import"./drivecontents-CxwZz_5W.js";import"./kernel-BI-BLP-K.js";function Fe(i){return U.createElement(te,{source:i.name,title:i.fullPath})}class N extends Z{constructor(e){super(new N.Model(e.docManager)),this.node.title=this.model.path}render(){return U.createElement(Fe,{fullPath:this.model.path,name:this.model.name})}}(function(i){class e extends ee{constructor(n){super(),this._onTitleChange=r=>{const s=this._getAllState();this._name=r.label,this._triggerChange(s,this._getAllState())},this._onPathChange=(r,s)=>{const c=this._getAllState();this._path=s,this._name=F.PathExt.basename(s),this._triggerChange(c,this._getAllState())},this._path="",this._name="",this._widget=null,this._docManager=n}get path(){return this._path}get name(){return this._name}get widget(){return this._widget}set widget(n){const r=this._widget;if(r!==null){const c=this._docManager.contextForWidget(r);c?c.pathChanged.disconnect(this._onPathChange):r.title.changed.disconnect(this._onTitleChange)}const s=this._getAllState();if(this._widget=n,this._widget===null)this._path="",this._name="";else{const c=this._docManager.contextForWidget(this._widget);c?(this._path=c.path,this._name=F.PathExt.basename(c.path),c.pathChanged.connect(this._onPathChange)):(this._path="",this._name=this._widget.title.label,this._widget.title.changed.connect(this._onTitleChange))}this._triggerChange(s,this._getAllState())}_getAllState(){return[this._path,this._name]}_triggerChange(n,r){(n[0]!==r[0]||n[1]!==r[1])&&this.stateChanged.emit(void 0)}}i.Model=e})(N||(N={}));function Te(i){return U.createElement(te,{source:i.fileStatus})}const De=2e3;class O extends Z{constructor(e){super(new O.Model(e.docManager));const n=(e.translator||B).load("jupyterlab");this._statusMap={completed:n.__("Saving completed"),started:n.__("Saving started"),failed:n.__("Saving failed")}}render(){return this.model===null||this.model.status===null?null:U.createElement(Te,{fileStatus:this._statusMap[this.model.status]})}}(function(i){class e extends ee{constructor(n){super(),this._onStatusChange=(r,s)=>{this._status=s,this._status==="completed"?(setTimeout(()=>{this._status=null,this.stateChanged.emit(void 0)},De),this.stateChanged.emit(void 0)):this.stateChanged.emit(void 0)},this._status=null,this._widget=null,this._status=null,this.widget=null,this._docManager=n}get status(){return this._status}get widget(){return this._widget}set widget(n){var r,s;const c=this._widget;if(c!==null){const p=this._docManager.contextForWidget(c);p?p.saveState.disconnect(this._onStatusChange):!((r=this._widget.content)===null||r===void 0)&&r.saveStateChanged&&this._widget.content.saveStateChanged.disconnect(this._onStatusChange)}if(this._widget=n,this._widget===null)this._status=null;else{const p=this._docManager.contextForWidget(this._widget);p?p.saveState.connect(this._onStatusChange):!((s=this._widget.content)===null||s===void 0)&&s.saveStateChanged&&this._widget.content.saveStateChanged.connect(this._onStatusChange)}}}i.Model=e})(O||(O={}));class Be{constructor(e){this._recentsChanged=new K(this),this._recents={opened:[],closed:[]},this._isDisposed=!1,this._maxRecentsLength=10,this._saveDebouncer=new pe(this._save.bind(this),500),this._stateDB=e.stateDB,this._contentsManager=e.contents,this.updateRootDir(),this._loadRecents().catch(t=>{console.error(`Failed to load recent list from state:
|
|
2
2
|
${t}`)})}get isDisposed(){return this._isDisposed}get recentlyOpened(){return(this._recents.opened||[]).filter(t=>t.root===this._serverRoot)}get recentlyClosed(){return(this._recents.closed||[]).filter(t=>t.root===this._serverRoot)}get changed(){return this._recentsChanged}get maximalRecentsLength(){return this._maxRecentsLength}set maximalRecentsLength(e){this._maxRecentsLength=Math.round(Math.max(1,e));let t=!1;for(const n of["opened","closed"])this._recents[n].length>this._maxRecentsLength&&(this._recents[n].length=this._maxRecentsLength,t=!0);t&&this._recentsChanged.emit(void 0)}dispose(){this.isDisposed||(this._isDisposed=!0,K.clearData(this),this._saveDebouncer.dispose())}addRecent(e,t){const n={...e,root:this._serverRoot},r=this._recents[t],s=r.findIndex(c=>c.path===e.path);s>=0&&r.splice(s,1),r.unshift(n),this._setRecents(r,t),this._recentsChanged.emit(void 0)}clearRecents(){this._setRecents([],"opened"),this._setRecents([],"closed"),this._recentsChanged.emit(void 0)}removeRecent(e,t){this._removeRecent(e.path,[t])}async validate(e){const t=await this._isValid(e);return t||this._removeRecent(e.path),t}updateRootDir(){this._serverRoot=F.PageConfig.getOption("serverRoot")}_removeRecent(e,t=["opened","closed"]){let n=!1;for(const r of t){const s=this._recents[r],c=s.filter(p=>e!==p.path);s.length!==c.length&&(this._setRecents(c,r),n=!0)}n&&this._recentsChanged.emit(void 0)}async _isValid(e){var t;try{await this._contentsManager.get(e.path,{content:!1})}catch(n){if(((t=n.response)===null||t===void 0?void 0:t.status)===404)return!1}return!0}_setRecents(e,t){this._recents[t]=e.slice(0,this.maximalRecentsLength).sort((n,r)=>n.root===r.root?0:n.root!==this._serverRoot?1:-1),this._saveDebouncer.invoke().catch(console.warn)}async _loadRecents(){const e=await this._stateDB.fetch(L.stateDBKey)||{opened:[],closed:[]},t=[...e.opened,...e.closed],n=new Set(await this._getInvalidPaths(t));for(const r of["opened","closed"])this._setRecents(e[r].filter(s=>!n.has(s.path)),r);this._recentsChanged.emit(void 0)}async _getInvalidPaths(e){return(await Promise.all(e.map(async n=>await this._isValid(n)?null:n.path))).filter(n=>typeof n=="string")}async _save(){try{await this._stateDB.save(L.stateDBKey,this._recents)}catch(e){console.log("Saving recents failed",e)}}}var L;(function(i){i.stateDBKey="docmanager:recents"})(L||(L={}));var J;(function(i){i.clearRecents="docmanager:clear-recents"})(J||(J={}));var M;(function(i){i.recentsManager="@jupyterlab/docmanager-extension:recents",i.reopenClosed="@jupyterlab/docmanager-extension:reopen-recently-closed",i.mainPlugin="@jupyterlab/docmanager-extension:plugin"})(M||(M={}));const je={id:M.recentsManager,description:"Provides a manager of recently opened and closed documents.",autoStart:!0,requires:[he.IStateDB],optional:[re,j],provides:ae,activate:(i,e,t,n)=>{const{serviceManager:r}=i,s=(n??B).load("jupyterlab"),c=new Be({stateDB:e,contents:r.contents}),p=m=>{c.maximalRecentsLength=m.get("maxNumberRecents").composite};return t&&Promise.all([i.restored,t.load(M.mainPlugin)]).then(([m,a])=>{a.changed.connect(p),p(a)}),i.commands.addCommand(J.clearRecents,{execute:()=>{c.clearRecents()},isEnabled:()=>c.recentlyOpened.length!=0||c.recentlyClosed.length!=0,label:s.__("Clear Recent Documents"),caption:s.__("Clear the list of recently opened items."),describedBy:{args:{type:"object",properties:{}}}}),c}};var h;(function(i){i.clone="docmanager:clone",i.deleteFile="docmanager:delete-file",i.newUntitled="docmanager:new-untitled",i.open="docmanager:open",i.openBrowserTab="docmanager:open-browser-tab",i.reload="docmanager:reload",i.rename="docmanager:rename",i.del="docmanager:delete",i.duplicate="docmanager:duplicate",i.restoreCheckpoint="docmanager:restore-checkpoint",i.save="docmanager:save",i.saveAll="docmanager:save-all",i.saveAs="docmanager:save-as",i.download="docmanager:download",i.toggleAutosave="docmanager:toggle-autosave",i.showInFileBrowser="docmanager:show-in-file-browser"})(h||(h={}));const D="@jupyterlab/docmanager-extension:plugin",Pe={id:"@jupyterlab/docmanager-extension:opener",description:"Provides the widget opener.",autoStart:!0,provides:V,activate:i=>{const{shell:e}=i;return new class{constructor(){this._opened=new K(this)}open(t,n){var r;t.id||(t.id=`document-manager-${++$.id}`),t.title.dataset={type:"document-title",...t.title.dataset},t.isAttached||e.add(t,"main",n||{}),(!((r=n?.activate)!==null&&r!==void 0)||r)&&e.activateById(t.id),this._opened.emit(t)}get opened(){return this._opened}}}},Ee={id:"@jupyterlab/docmanager-extension:contexts",description:"Adds the handling of opened documents dirty state.",autoStart:!0,requires:[P,V],optional:[se],activate:(i,e,t,n)=>{const r=new WeakSet;t.opened.connect((s,c)=>{const p=e.contextForWidget(c);p&&!r.has(p)&&(n&&Ve(n,p),r.add(p))})}},Ae={id:"@jupyterlab/docmanager-extension:manager",description:"Provides the document manager.",provides:P,requires:[V],optional:[j,se,Se,ke.IInfo,ae,Re,H],activate:(i,e,t,n,r,s,c,p,m)=>{var a;const{serviceManager:d,docRegistry:u}=i,_=t??B,f=r??new me({translator:_}),y=m??new z({translator:_}),x=i.restored.then(()=>{});return new We({registry:u,manager:d,opener:e,when:x,setBusy:(a=n&&(()=>n.setBusy()))!==null&&a!==void 0?a:void 0,sessionDialogs:f,translator:_??B,isConnectedCallback:()=>s?s.isConnected:!0,recentsManager:c??void 0,urlResolverFactory:p??void 0,docManagerDialogs:y})}},Ie={id:D,description:"Adds commands and settings to the document manager.",autoStart:!0,requires:[P,V,re],optional:[j,ne,G,H],activate:(i,e,t,n,r,s,c,p)=>{r=r??B;const m=r.load("jupyterlab"),a=i.docRegistry;Me(i,e,t,n,r,c,s,p);const d=u=>{const _=u.get("autosave").composite;e.autosave=_===!0||_===!1?_:!0,i.commands.notifyCommandChanged(h.toggleAutosave);const f=u.get("confirmClosingDocument").composite;e.confirmClosingDocument=f??!0;const y=u.get("autosaveInterval").composite;e.autosaveInterval=y||120;const x=u.get("lastModifiedCheckMargin").composite;e.lastModifiedCheckMargin=x||500;const w=u.get("renameUntitledFileOnSave").composite;e.renameUntitledFileOnSave=w??!0;const T=u.get("defaultViewers").composite,o={};Object.keys(T).forEach(l=>{if(!a.getFileType(l)){console.warn(`File Type ${l} not found`);return}a.getWidgetFactory(T[l])||console.warn(`Document viewer ${T[l]} not found`),o[l]=T[l]});for(const l of a.fileTypes())try{a.setDefaultWidgetFactory(l.name,o[l.name])}catch{console.warn(`Failed to set default viewer ${o[l.name]} for file type ${l.name}`)}};Promise.all([n.load(D),i.restored]).then(([u])=>{u.changed.connect(d),d(u);const _=(f,y)=>{["autosave","autosaveInterval","confirmClosingDocument","lastModifiedCheckMargin","renameUntitledFileOnSave"].includes(y.name)&&u.get(y.name).composite!==y.newValue&&u.set(y.name,y.newValue).catch(x=>{console.error(`Failed to set the setting '${y.name}':
|
|
3
3
|
${x}`)})};e.stateChanged.connect(_)}).catch(u=>{console.error(u.message)}),n.transform(D,{fetch:u=>{const _=Array.from(a.fileTypes()).map(w=>w.name).join(`
|
|
4
4
|
`),f=Array.from(a.widgetFactories()).map(w=>w.name).join(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./percentages-BXMCSKIN-
|
|
1
|
+
import"./percentages-BXMCSKIN-X4aF_7zv.js";import"../datalayer-app-main.js";import"./JupyterLexicalExtension-Ght2bbbp.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./url-CzjbCo42.js";import"./isSymbol-BLtK9CV6.js";import"./toNumber-B1wj8-wx.js";import"./VideoIcon-BjP_LDa4.js";import"./LinkIcon-DUI0jw25.js";import"./Toolbar-CGQDY041.js";import"./KebabHorizontalIcon-CXDXtkuL.js";import"./ArrowUpIcon-BUCpIXDR.js";import"./SortDescIcon-CS4EzHeS.js";import"./PaintbrushIcon-CLU8RilX.js";import"./PrismCss-CcU1ChRk.js";import"./Output-no9rnFJ7.js";import"./index-CFP9psRB.js";import"./hoverbox-CStlKQWE.js";import"./index-DSN70XMH.js";import"./index-S4sn4R3i.js";import"./color-CG7_7V2-.js";import"./isEqual-g-jK7vY0.js";import"./defaultLocale-5voVPcsN.js";import"./index-DbMBnR4l.js";import"./index-BJhxZF_K.js";import"./RestartIcon-Ca6_HoK0.js";import"./LexicalToolRegistry-8wJyLumb.js";import"./extends-CF3RwP-h.js";import"./index-BvgsWH_d.js";import"./index-DoBkwclg.js";var e={paste:"Incolla",pasteAsPlaintext:"Incolla come testo normale",pasteCharts:"Incolla grafici",selectAll:"Seleziona tutto",multiSelect:"Aggiungi elemento alla selezione",moveCanvas:"Sposta tela",cut:"Taglia",copy:"Copia",copyAsPng:"Copia negli appunti come PNG",copyAsSvg:"Copia negli appunti come SVG",copyText:"Copia negli appunti come testo",copySource:"Copia sorgente negli appunti",convertToCode:"Converti in codice",bringForward:"Porta avanti",sendToBack:"Manda in fondo",bringToFront:"Porta in cima",sendBackward:"Manda dietro",delete:"Elimina",copyStyles:"Copia stili",pasteStyles:"Incolla stili",stroke:"Tratto",background:"Sfondo",fill:"Riempimento",strokeWidth:"Spessore del tratto",strokeStyle:"Stile del tratto",strokeStyle_solid:"Pieno",strokeStyle_dashed:"Tratteggiato",strokeStyle_dotted:"Punteggiato",sloppiness:"Imprecisione",opacity:"Opacità",textAlign:"Allineamento del testo",edges:"Bordi",sharp:"Acuto",round:"Rotondo",arrowheads:"Punta della freccia",arrowhead_none:"Nessuno",arrowhead_arrow:"Freccia",arrowhead_bar:"Barra",arrowhead_circle:"Cerchio",arrowhead_circle_outline:"Cerchio (contorno)",arrowhead_triangle:"Triangolo",arrowhead_triangle_outline:"Triangolo (contorno)",arrowhead_diamond:"Diamante",arrowhead_diamond_outline:"Diamante (contorno)",fontSize:"Dimensione carattere",fontFamily:"Carattere",addWatermark:'Aggiungi "Creato con Excalidraw"',handDrawn:"A mano libera",normal:"Normale",code:"Codice",small:"Piccolo",medium:"Medio",large:"Grande",veryLarge:"Molto grande",solid:"Pieno",hachure:"Tratteggio obliquo",zigzag:"Zig zag",crossHatch:"Tratteggio incrociato",thin:"Sottile",bold:"Grassetto",left:"Sinistra",center:"Centro",right:"Destra",extraBold:"Extra Grassetto",architect:"Architetto",artist:"Artista",cartoonist:"Fumettista",fileTitle:"Nome del file",colorPicker:"Selettore colore",canvasColors:"Usato su tela",canvasBackground:"Sfondo tela",drawingCanvas:"Area di disegno",layers:"Livelli",actions:"Azioni",language:"Lingua",liveCollaboration:"Collaborazione dal vivo...",duplicateSelection:"Duplica",untitled:"Senza titolo",name:"Nome",yourName:"Il vostro nome",madeWithExcalidraw:"Creato con Excalidraw",group:"Crea gruppo da selezione",ungroup:"Dividi gruppo da selezione",collaborators:"Collaboratori",showGrid:"Visualizza griglia",addToLibrary:"Aggiungi alla libreria",removeFromLibrary:"Rimuovi dalla libreria",libraryLoadingMessage:"Caricamento libreria…",libraries:"Sfoglia librerie",loadingScene:"Caricamento della scena…",align:"Allinea",alignTop:"Allinea in alto",alignBottom:"Allinea in basso",alignLeft:"Allinea a sinistra",alignRight:"Allinea a destra",centerVertically:"Centra Verticalmente",centerHorizontally:"Centra orizzontalmente",distributeHorizontally:"Distribuisci orizzontalmente",distributeVertically:"Distribuisci verticalmente",flipHorizontal:"Capovolgi orizzontalmente",flipVertical:"Capovolgi verticalmente",viewMode:"Modalità visualizzazione",share:"Condividi",showStroke:"Mostra selettore colore del tratto",showBackground:"Mostra selettore colore di sfondo",toggleTheme:"Cambia tema",personalLib:"Libreria Personale",excalidrawLib:"Libreria di Excalidraw",decreaseFontSize:"Riduci dimensione dei caratteri",increaseFontSize:"Aumenta la dimensione dei caratteri",unbindText:"Scollega testo",bindText:"Associa il testo al container",createContainerFromText:"Avvolgi il testo in un container",link:{edit:"Modifica link",editEmbed:"Modifica collegamento e incorpora",create:"Crea link",createEmbed:"Crea collegamento e incorpora",label:"Link",labelEmbed:"Collega & incorpora",empty:"Nessun collegamento impostato"},lineEditor:{edit:"Modifica linea",exit:"Esci dall'editor di linea"},elementLock:{lock:"Blocca",unlock:"Sblocca",lockAll:"Blocca tutto",unlockAll:"Sblocca tutto"},statusPublished:"Pubblicato",sidebarLock:"Mantieni aperta la barra laterale",selectAllElementsInFrame:"Seleziona tutti gli elementi nel riquadro",removeAllElementsFromFrame:"Rimuovi tutti gli elementi dal riquadro",eyeDropper:"Scegli il colore della tela",textToDiagram:"Testo a diagramma",prompt:"Prompt"},i={noItems:"Nessun elemento ancora aggiunto...",hint_emptyLibrary:"Seleziona un elemento sulla tela per aggiungerlo qui, o installa una libreria dal repository pubblico qui sotto.",hint_emptyPrivateLibrary:"Seleziona un elemento sulla tela per aggiungerlo qui."},a={clearReset:"Svuota la tela",exportJSON:"Esporta su file",exportImage:"Esporta immagine...",export:"Salva in...",copyToClipboard:"Copia negli appunti",save:"Salva sul file corrente",saveAs:"Salva con nome",load:"Apri",getShareableLink:"Ottieni link condivisibile",close:"Chiudi",selectLanguage:"Seleziona lingua",scrollBackToContent:"Scorri indietro fino al contenuto",zoomIn:"Aumenta ingrandimento",zoomOut:"Riduci ingrandimento",resetZoom:"Ripristina ingrandimento",menu:"Menù",done:"Fatto",edit:"Modifica",undo:"Annulla",redo:"Ripeti",resetLibrary:"Ripristina libreria",createNewRoom:"Crea nuova stanza",fullScreen:"Schermo intero",darkMode:"Tema scuro",lightMode:"Tema chiaro",zenMode:"Modalità Zen",objectsSnapMode:"Aggancia agli oggetti",exitZenMode:"Uscire dalla modalità zen",cancel:"Annulla",clear:"Cancella",remove:"Rimuovi",embed:"Attiva/disattiva incorporamento",publishLibrary:"Pubblica",submit:"Invia",confirm:"Conferma",embeddableInteractionButton:"Clicca per interagire"},o={clearReset:"Questa azione cancellerà l'intera tela. Sei sicuro?",couldNotCreateShareableLink:"Non riesco a creare un link condivisibile.",couldNotCreateShareableLinkTooBig:"Impossibile creare il link condivisibile: la scena è troppo grande",couldNotLoadInvalidFile:"Impossibile caricare un file no valido",importBackendFailed:"Importazione dal server fallita.",cannotExportEmptyCanvas:"Non è possibile esportare una tela vuota.",couldNotCopyToClipboard:"Impossibile copiare negli appunti.",decryptFailed:"Impossibile decriptare i dati.",uploadedSecurly:"L'upload è stato protetto con la crittografia end-to-end, il che significa che il server Excalidraw e terze parti non possono leggere il contenuto.",loadSceneOverridePrompt:"Se carichi questo disegno esterno, sostituirà quello che hai. Vuoi continuare?",collabStopOverridePrompt:`Interrompere la sessione sovrascriverà il precedente disegno memorizzato localmente. Sei sicuro?
|
|
2
2
|
|
|
3
3
|
(Se vuoi mantenere il tuo disegno locale, chiudi semplicemente la scheda del browser.)`,errorAddingToLibrary:"Impossibile aggiungere l'elemento alla libreria",errorRemovingFromLibrary:"Impossibile rimuovere l'elemento dalla libreria",confirmAddLibrary:"Questo aggiungerà {{numShapes}} forma(e) alla tua libreria. Sei sicuro?",imageDoesNotContainScene:"Questa immagine pare non contenere alcuna scena. Avevi incluso la scena durante l'esportazione?",cannotRestoreFromImage:"Impossibile ripristinare la scena da questo file immagine",invalidSceneUrl:"Impossibile importare la scena dall'URL fornito. Potrebbe essere malformato o non contenere dati JSON Excalidraw validi.",resetLibrary:"Questa azione cancellerà l'intera libreria. Sei sicuro?",removeItemsFromsLibrary:"Eliminare {{count}} elementi dalla libreria?",invalidEncryptionKey:"La chiave di cifratura deve essere composta da 22 caratteri. La collaborazione live è disabilitata.",collabOfflineWarning:`Nessuna connessione internet disponibile.
|
|
4
4
|
Le tue modifiche non verranno salvate!`},r={unsupportedFileType:"Tipo di file non supportato.",imageInsertError:"Non è stato possibile inserire l'immagine. Riprova più tardi...",fileTooBig:"Il file è troppo grande. La dimensione massima consentita è {{maxSize}}.",svgImageInsertError:"Impossibile inserire l'immagine SVG. Il markup SVG non sembra corretto.",failedToFetchImage:"Impossibile recuperare l'immagine.",invalidSVGString:"SVG non valido.",cannotResolveCollabServer:"Impossibile connettersi al server di collab. Ricarica la pagina e riprova.",importLibraryError:"Impossibile caricare la libreria",collabSaveFailed:"Impossibile salvare nel database di backend. Se i problemi persistono, dovresti salvare il tuo file localmente per assicurarti di non perdere il tuo lavoro.",collabSaveFailed_sizeExceeded:"Impossibile salvare nel database di backend, la tela sembra essere troppo grande. Dovresti salvare il file localmente per assicurarti di non perdere il tuo lavoro.",imageToolNotSupported:"Le immagini sono disabilitate.",brave_measure_text_error:{line1:"Sembra che tu stia utilizzando il browser Brave con l'impostazione <bold>Blocco aggressivo delle impronte digitali</bold> abilitata.",line2:"Ciò potrebbe causare la rottura degli <bold>Elementi di testo</bold> nei tuoi disegni.",line3:"Consigliamo vivamente di disabilitare questa impostazione. Puoi seguire <link>questi passaggi</link> su come farlo.",line4:"Se la disattivazione di questa impostazione non risolve la visualizzazione degli elementi di testo, apri un <issueLink>problema</issueLink> sul nostro GitHub o scrivici su <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Gli elementi incorporabili non possono essere aggiunti alla libreria.",iframe:"Gli elementi IFrame non possono essere aggiunti alla libreria.",image:"Il supporto per l'aggiunta d'immagini alla libreria verrà aggiunto a breve!"},asyncPasteFailedOnRead:"Impossibile incollare (non è possibile leggere dagli appunti di sistema).",asyncPasteFailedOnParse:"Impossibile incollare.",copyToSystemClipboardFailed:"Impossibile copiare negli appunti."},t={selection:"Selezione",image:"Inserisci immagine",rectangle:"Rettangolo",diamond:"Rombo",ellipse:"Ellisse",arrow:"Freccia",line:"Linea",freedraw:"Disegno",text:"Testo",library:"Libreria",lock:"Mantieni lo strumento selezionato attivo dopo aver disegnato",penMode:"Modalità penna - previene il tocco",link:"Aggiungi/ aggiorna il link per una forma selezionata",eraser:"Gomma",frame:"Strumento riquadro",magicframe:"",embeddable:"Incorporamento Web",laser:"Puntatore laser",hand:"Mano (strumento di panoramica)",extraTools:"Altri strumenti",mermaidToExcalidraw:"",magicSettings:"Impostazioni di IA"},l={canvasActions:"Azioni sulla Tela",selectedShapeActions:"Impostazioni della forma selezionata",shapes:"Forme"},n={canvasPanning:"Per spostare la tela, tieni premuta la rotellina del mouse o la barra spaziatrice mentre trascini oppure usa lo strumento mano",linearElement:"Clicca per iniziare una linea in più punti, trascina per singola linea",freeDraw:"Clicca e trascina, rilascia quando avrai finito",text:"Suggerimento: puoi anche aggiungere del testo facendo doppio clic ovunque con lo strumento di selezione",embeddable:"Fare click e trascina per creare un incorporamento web",text_selected:"Fai doppio click o premi INVIO per modificare il testo",text_editing:"Premi ESC o CtrlOCmd+INVIO per completare le modifiche",linearElementMulti:"Clicca sull'ultimo punto o premi Esc o Invio per finire",lockAngle:"Puoi limitare l'angolo tenendo premuto SHIFT",resize:`Per vincolare le proporzioni, tieni premuto MAIUSC durante il ridimensionamento;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./percentages-BXMCSKIN-
|
|
1
|
+
import"./percentages-BXMCSKIN-X4aF_7zv.js";import"../datalayer-app-main.js";import"./JupyterLexicalExtension-Ght2bbbp.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./url-CzjbCo42.js";import"./isSymbol-BLtK9CV6.js";import"./toNumber-B1wj8-wx.js";import"./VideoIcon-BjP_LDa4.js";import"./LinkIcon-DUI0jw25.js";import"./Toolbar-CGQDY041.js";import"./KebabHorizontalIcon-CXDXtkuL.js";import"./ArrowUpIcon-BUCpIXDR.js";import"./SortDescIcon-CS4EzHeS.js";import"./PaintbrushIcon-CLU8RilX.js";import"./PrismCss-CcU1ChRk.js";import"./Output-no9rnFJ7.js";import"./index-CFP9psRB.js";import"./hoverbox-CStlKQWE.js";import"./index-DSN70XMH.js";import"./index-S4sn4R3i.js";import"./color-CG7_7V2-.js";import"./isEqual-g-jK7vY0.js";import"./defaultLocale-5voVPcsN.js";import"./index-DbMBnR4l.js";import"./index-BJhxZF_K.js";import"./RestartIcon-Ca6_HoK0.js";import"./LexicalToolRegistry-8wJyLumb.js";import"./extends-CF3RwP-h.js";import"./index-BvgsWH_d.js";import"./index-DoBkwclg.js";var u={paste:"貼り付け",pasteAsPlaintext:"書式なしテキストとして貼り付け",pasteCharts:"チャートの貼り付け",selectAll:"すべて選択",multiSelect:"複数選択",moveCanvas:"キャンバスを移動",cut:"切り取り",copy:"コピー",copyAsPng:"PNGとしてクリップボードへコピー",copyAsSvg:"SVGとしてクリップボードへコピー",copyText:"テキストとしてクリップボードにコピー",copySource:"",convertToCode:"",bringForward:"前面に移動",sendToBack:"最背面に移動",bringToFront:"最前面に移動",sendBackward:"背面に移動",delete:"削除",copyStyles:"スタイルのコピー",pasteStyles:"スタイルの貼り付け",stroke:"線",background:"背景",fill:"塗りつぶし",strokeWidth:"線の太さ",strokeStyle:"線の種類",strokeStyle_solid:"実線",strokeStyle_dashed:"破線",strokeStyle_dotted:"点線",sloppiness:"ばらつき加減",opacity:"透明度",textAlign:"文字の配置",edges:"角",sharp:"四角",round:"丸",arrowheads:"線の終点",arrowhead_none:"なし",arrowhead_arrow:"矢印",arrowhead_bar:"バー",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"三角",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"フォントの大きさ",fontFamily:"フォントの種類",addWatermark:'"Made with Excalidraw"と表示',handDrawn:"手描き風",normal:"普通",code:"コード",small:"小",medium:"中",large:"大",veryLarge:"特大",solid:"ベタ塗り",hachure:"斜線",zigzag:"ジグザグ",crossHatch:"網掛け",thin:"細",bold:"太字",left:"左寄せ",center:"中央寄せ",right:"右寄せ",extraBold:"極太",architect:"正確",artist:"アート",cartoonist:"漫画風",fileTitle:"ファイル名",colorPicker:"色選択",canvasColors:"キャンバス上で使用",canvasBackground:"キャンバスの背景",drawingCanvas:"キャンバスの描画",layers:"レイヤー",actions:"操作",language:"言語",liveCollaboration:"共同編集...",duplicateSelection:"複製",untitled:"無題",name:"名前",yourName:"あなたの名前",madeWithExcalidraw:"Excalidrawで作成",group:"グループ化",ungroup:"グループ化を解除",collaborators:"共同編集者",showGrid:"グリッドを表示",addToLibrary:"ライブラリに追加",removeFromLibrary:"ライブラリから削除",libraryLoadingMessage:"ライブラリを読み込み中…",libraries:"ライブラリを参照する",loadingScene:"シーンを読み込み中…",align:"配置",alignTop:"上揃え",alignBottom:"下揃え",alignLeft:"左揃え",alignRight:"右揃え",centerVertically:"縦方向に中央揃え",centerHorizontally:"横方向に中央揃え",distributeHorizontally:"水平方向に分散配置",distributeVertically:"垂直方向に分散配置",flipHorizontal:"水平方向に反転",flipVertical:"垂直方向に反転",viewMode:"閲覧モード",share:"共有",showStroke:"ストロークカラーピッカーを表示",showBackground:"背景色ピッカーを表示",toggleTheme:"テーマの切り替え",personalLib:"個人ライブラリ",excalidrawLib:"Excalidrawライブラリ",decreaseFontSize:"フォントサイズを縮小",increaseFontSize:"フォントサイズを拡大",unbindText:"テキストのバインド解除",bindText:"テキストをコンテナにバインド",createContainerFromText:"コンテナ内でテキストを折り返す",link:{edit:"リンクを編集",editEmbed:"リンクの編集と埋め込み",create:"リンクを作成",createEmbed:"リンクの作成と埋め込み",label:"リンク",labelEmbed:"リンクと埋め込み",empty:"リンクが設定されていません"},lineEditor:{edit:"行を編集",exit:"行エディタを終了"},elementLock:{lock:"ロック",unlock:"ロック解除",lockAll:"すべてロック",unlockAll:"すべてのロックを解除"},statusPublished:"公開済み",sidebarLock:"サイドバーを開いたままにする",selectAllElementsInFrame:"フレーム内のすべての要素を選択",removeAllElementsFromFrame:"フレーム内のすべての要素を削除",eyeDropper:"キャンバスから色を選択",textToDiagram:"",prompt:""},F={noItems:"まだアイテムが追加されていません…",hint_emptyLibrary:"キャンバス上のアイテムを選択してここに追加するか、以下の公開リポジトリからライブラリをインストールしてください。",hint_emptyPrivateLibrary:"キャンバス上のアイテムを選択すると、ここに追加されます。"},E={clearReset:"キャンバスのリセット",exportJSON:"ファイルへエクスポート",exportImage:"画像のエクスポート...",export:"名前を付けて保存...",copyToClipboard:"クリップボードにコピー",save:"現在のファイルに保存",saveAs:"名前を付けて保存",load:"開く",getShareableLink:"共有URLの取得",close:"閉じる",selectLanguage:"言語の選択",scrollBackToContent:"コンテンツまでスクロールで戻る",zoomIn:"拡大",zoomOut:"縮小",resetZoom:"拡大/縮小をリセット",menu:"メニュー",done:"完了",edit:"編集",undo:"元に戻す",redo:"やり直し",resetLibrary:"ライブラリをリセット",createNewRoom:"新しい部屋を作成する",fullScreen:"フルスクリーン",darkMode:"ダークモード",lightMode:"ライトモード",zenMode:"Zenモード",objectsSnapMode:"",exitZenMode:"集中モードをやめる",cancel:"キャンセル",clear:"消去",remove:"削除",embed:"埋め込みの切り替え",publishLibrary:"公開",submit:"送信",confirm:"確認",embeddableInteractionButton:""},B={clearReset:"この操作によってキャンバス全体が消えます。よろしいですか?",couldNotCreateShareableLink:"共有URLを作成できませんでした。",couldNotCreateShareableLinkTooBig:"共有可能なリンクを作成できませんでした: シーンが大きすぎます",couldNotLoadInvalidFile:"無効なファイルを読み込めませんでした。",importBackendFailed:"サーバーからの読み込みに失敗しました。",cannotExportEmptyCanvas:"空のキャンバスはエクスポートできません。",couldNotCopyToClipboard:"クリップボードにコピーできませんでした。",decryptFailed:"データを復号できませんでした。",uploadedSecurly:"データのアップロードはエンドツーエンド暗号化によって保護されています。Excalidrawサーバーと第三者はデータの内容を見ることができません。",loadSceneOverridePrompt:"外部図面を読み込むと、既存のコンテンツが置き換わります。続行しますか?",collabStopOverridePrompt:`セッションを停止すると、ローカルに保存されている図が上書きされます。 本当によろしいですか?
|
|
2
2
|
|
|
3
3
|
(ローカルの図を保持したい場合は、セッションを停止せずにブラウザタブを閉じてください。)`,errorAddingToLibrary:"アイテムをライブラリに追加できませんでした",errorRemovingFromLibrary:"ライブラリからアイテムを削除できませんでした",confirmAddLibrary:"{{numShapes}} 個の図形をライブラリに追加します。よろしいですか?",imageDoesNotContainScene:"この画像にはシーンデータが含まれていないようです。エクスポート時にシーンの埋め込みを有効にしましたか?",cannotRestoreFromImage:"このイメージファイルからシーンを復元できませんでした",invalidSceneUrl:"指定された URL からシーンをインポートできませんでした。不正な形式であるか、有効な Excalidraw JSON データが含まれていません。",resetLibrary:"ライブラリを消去します。本当によろしいですか?",removeItemsFromsLibrary:"{{count}} 個のアイテムをライブラリから削除しますか?",invalidEncryptionKey:"暗号化キーは22文字でなければなりません。ライブコラボレーションは無効化されています。",collabOfflineWarning:`インターネットに接続されていません。
|
|
4
4
|
変更は保存されません!`},C={unsupportedFileType:"サポートされていないファイル形式です。",imageInsertError:"画像を挿入できませんでした。後でもう一度お試しください...",fileTooBig:"ファイルが大きすぎます。許可される最大サイズは {{maxSize}} です。",svgImageInsertError:"SVGイメージを挿入できませんでした。SVGマークアップは無効に見えます。",failedToFetchImage:"",invalidSVGString:"無効なSVGです。",cannotResolveCollabServer:"コラボレーションサーバに接続できませんでした。ページを再読み込みして、もう一度お試しください。",importLibraryError:"ライブラリを読み込めませんでした。",collabSaveFailed:"バックエンドデータベースに保存できませんでした。問題が解決しない場合は、作業を失わないようにローカルにファイルを保存してください。",collabSaveFailed_sizeExceeded:"キャンバスが大きすぎるため、バックエンドデータベースに保存できませんでした。問題が解決しない場合は、作業を失わないようにローカルにファイルを保存してください。",imageToolNotSupported:"",brave_measure_text_error:{line1:"<bold>Aggressly Block Fingerprinting</bold> の設定が有効なBraveブラウザを使用しているようです。",line2:"これにより、図面の <bold>テキスト要素</bold> が壊れる可能性があります。",line3:"この設定を無効にすることを強く推奨します。 <link>設定手順</link> をこちらから確認できます。",line4:"この設定を無効にすると、テキスト要素の表示が修正されません。 GitHub で <issueLink>Issue</issueLink> を開くか、 <discordLink>Discord</discordLink> にご記入ください"},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},A={selection:"選択",image:"画像を挿入",rectangle:"矩形",diamond:"ひし形",ellipse:"楕円",arrow:"矢印",line:"直線",freedraw:"描画",text:"テキスト",library:"ライブラリ",lock:"描画後も使用中のツールを選択したままにする",penMode:"ペンモード - タッチ防止",link:"選択した図形のリンクを追加/更新",eraser:"消しゴム",frame:"フレームツール",magicframe:"",embeddable:"Web埋め込み",laser:"",hand:"手 (パンニングツール)",extraTools:"その他のツール",mermaidToExcalidraw:"",magicSettings:""},e={canvasActions:"キャンバス操作",selectedShapeActions:"選択された図形に対する操作",shapes:"図形"},D={canvasPanning:"キャンバスを移動するには、マウスホイールまたはスペースバーを押しながらドラッグするか、手ツールを使用します",linearElement:"クリックすると複数の頂点からなる曲線を開始、ドラッグすると直線",freeDraw:"クリックしてドラッグします。離すと終了します",text:"ヒント: 選択ツールを使用して任意の場所をダブルクリックしてテキストを追加することもできます",embeddable:"",text_selected:"テキストを編集するには、ダブルクリックまたはEnterキーを押します",text_editing:"Esc キーまたは CtrlOrCmd+ENTER キーを押して編集を終了します",linearElementMulti:"最後のポイントをクリックするか、エスケープまたはEnterを押して終了します",lockAngle:"SHIFTを押したままにすると、角度を制限することができます",resize:"サイズを変更中にSHIFTを押すと縦横比を固定できます。Altを押すと中央からサイズを変更できます",resizeImage:`SHIFTを長押しすると自由にサイズを変更できます。
|