@datalayer/agent-runtimes 1.5.23 → 1.5.24
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/{CellSidebarExtension-CDnzN9Cb.js → CellSidebarExtension-B-73cmcQ.js} +1 -1
- package/dist-embed/chunks/{ChatView-BjZ993Ch.js → ChatView-CUWE6I5M.js} +3 -3
- package/dist-embed/chunks/{DeckComponent-Cb4_dZpN.js → DeckComponent-ymp4My5d.js} +1 -1
- package/dist-embed/chunks/{DocumentView-Caxb2xz-.js → DocumentView-i99p_Qzt.js} +1 -1
- package/dist-embed/chunks/{EphemeralDocument-DIHjR5l8.js → EphemeralDocument--pV47gPl.js} +1 -1
- package/dist-embed/chunks/{EphemeralNotebook-1Rwa3anx.js → EphemeralNotebook-BqccUXGd.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawComponent-vJQwgcUt.js → ExcalidrawComponent-DgSMy796.js} +1 -1
- package/dist-embed/chunks/{ExcalidrawModal-BDgjdSz2.js → ExcalidrawModal-DFJW9pQh.js} +1 -1
- package/dist-embed/chunks/{JupyterLexicalExtension-_7FM5Om8.js → JupyterLexicalExtension-CqDatsgf.js} +5 -5
- package/dist-embed/chunks/{KernelVariables-CKIqy599.js → KernelVariables-CS6h5HyK.js} +1 -1
- package/dist-embed/chunks/{NotebookToolSurfaces-YAM1bvZS.js → NotebookToolSurfaces-CTLbTvsS.js} +1 -1
- package/dist-embed/chunks/{NotebookView-C8RCvsR1.js → NotebookView-BJpTApeL.js} +1 -1
- package/dist-embed/chunks/{Output-BWClePP-.js → Output-no9rnFJ7.js} +1 -1
- package/dist-embed/chunks/{SandboxDetailsDialog-CDSxIC0-.js → SandboxDetailsDialog-BAv6RMed.js} +1 -1
- package/dist-embed/chunks/{SchemaForm-CO_2yGg2.js → SchemaForm-CE5NfpBU.js} +1 -1
- package/dist-embed/chunks/{WidgetVariableView--osoOLv8.js → WidgetVariableView-V4DsgfIK.js} +1 -1
- package/dist-embed/chunks/{YouTubePlugin-BB7Z7INn.js → YouTubePlugin-CpgyVTwG.js} +1 -1
- package/dist-embed/chunks/{ar-SA-G6X2FPQ2-D6Ko4I2x.js → ar-SA-G6X2FPQ2-DwUjDWHp.js} +1 -1
- package/dist-embed/chunks/{az-AZ-76LH7QW2-B3UhxnSz.js → az-AZ-76LH7QW2-DROX4pJc.js} +1 -1
- package/dist-embed/chunks/{bg-BG-XCXSNQG7-BS-QRZjB.js → bg-BG-XCXSNQG7-DPLzP9Bm.js} +1 -1
- package/dist-embed/chunks/{bn-BD-2XOGV67Q-DNg0uIV0.js → bn-BD-2XOGV67Q-CCOU2J2j.js} +1 -1
- package/dist-embed/chunks/{ca-ES-6MX7JW3Y-Bn4yHfTY.js → ca-ES-6MX7JW3Y-3RgFapBd.js} +1 -1
- package/dist-embed/chunks/{cs-CZ-2BRQDIVT-DUGnyonZ.js → cs-CZ-2BRQDIVT-BJS7ofhJ.js} +1 -1
- package/dist-embed/chunks/{da-DK-5WZEPLOC-Is8nybqO.js → da-DK-5WZEPLOC-BHDT0zzh.js} +1 -1
- package/dist-embed/chunks/{de-DE-XR44H4JA-D54sMa4L.js → de-DE-XR44H4JA-CWVJKc9t.js} +1 -1
- package/dist-embed/chunks/{el-GR-BZB4AONW-CvM3SWat.js → el-GR-BZB4AONW-2z8DB9lI.js} +1 -1
- package/dist-embed/chunks/{es-ES-U4NZUMDT-BZDRRuRf.js → es-ES-U4NZUMDT-DzXGWPd4.js} +1 -1
- package/dist-embed/chunks/{eu-ES-A7QVB2H4-DAmknI9y.js → eu-ES-A7QVB2H4-CslHE4iE.js} +1 -1
- package/dist-embed/chunks/{fa-IR-HGAKTJCU-CQhKri4O.js → fa-IR-HGAKTJCU-CBWUHs2r.js} +1 -1
- package/dist-embed/chunks/{fi-FI-Z5N7JZ37-DzEDoP64.js → fi-FI-Z5N7JZ37-MAr8kZMI.js} +1 -1
- package/dist-embed/chunks/{fr-FR-RHASNOE6-DiSkyvEB.js → fr-FR-RHASNOE6-BUz3aHQJ.js} +1 -1
- package/dist-embed/chunks/{gl-ES-HMX3MZ6V-3AJMzY-I.js → gl-ES-HMX3MZ6V-DvzQmDYv.js} +1 -1
- package/dist-embed/chunks/{he-IL-6SHJWFNN-Cuh5an4X.js → he-IL-6SHJWFNN-DKR3cKyQ.js} +1 -1
- package/dist-embed/chunks/{hi-IN-IWLTKZ5I-BbeuFB83.js → hi-IN-IWLTKZ5I-C4tyBNwa.js} +1 -1
- package/dist-embed/chunks/{hu-HU-A5ZG7DT2-C1OMfhob.js → hu-HU-A5ZG7DT2-C8BnBgH5.js} +1 -1
- package/dist-embed/chunks/{id-ID-SAP4L64H-BzKILJTZ.js → id-ID-SAP4L64H-Bn1hY5OS.js} +1 -1
- package/dist-embed/chunks/{index-CPpm1tqJ.js → index-5N0EOEHV.js} +1 -1
- package/dist-embed/chunks/{index-f418CYn7.js → index-BKB97UwL.js} +1 -1
- package/dist-embed/chunks/{index-CyQgE_Es.js → index-BN8Bbau-.js} +2 -2
- package/dist-embed/chunks/{index-CKFrz1es.js → index-BTdq_niO.js} +1 -1
- package/dist-embed/chunks/{index-D4QM3qbA.js → index-Bhzj1Pnv.js} +1 -1
- package/dist-embed/chunks/{index-BMandbJB.js → index-BzMt3uYX.js} +1 -1
- package/dist-embed/chunks/{index-DLimRfHQ.js → index-CCRwowMu.js} +1 -1
- package/dist-embed/chunks/{index-BFdE0KFI.js → index-CEbnhuIo.js} +1 -1
- package/dist-embed/chunks/{index-CAd5YQQl.js → index-CZB8DyUw.js} +1 -1
- package/dist-embed/chunks/{index-BO6VQLH6.js → index-Cd5CgKFr.js} +1 -1
- package/dist-embed/chunks/{index-D64QvG43.js → index-CkQ6IAoY.js} +1 -1
- package/dist-embed/chunks/{index-BktUM85c.js → index-Coj9opLJ.js} +1 -1
- package/dist-embed/chunks/{index-dYwQAVs_.js → index-D9_026K2.js} +1 -1
- package/dist-embed/chunks/{index-SbFvdBPQ.js → index-DVaPKQyL.js} +1 -1
- package/dist-embed/chunks/{index-f9WZsG2n.js → index-DWfzdTZo.js} +1 -1
- package/dist-embed/chunks/{index-DY8mjz1l.js → index-DdBQBN76.js} +1 -1
- package/dist-embed/chunks/{index-DEjLPUAD.js → index-Di3aBGLV.js} +1 -1
- package/dist-embed/chunks/{index-Cu0bp_EI.js → index-Gngo0bXi.js} +1 -1
- package/dist-embed/chunks/{index-DyVR0igi.js → index-S4sn4R3i.js} +1 -1
- package/dist-embed/chunks/{index-noRoZrq5.js → index-Z2pxzg3H.js} +1 -1
- package/dist-embed/chunks/{index-PqsSImlj.js → index-_H5U6gal.js} +1 -1
- package/dist-embed/chunks/{index-x45cMPwN.js → index-_nsBY26B.js} +1 -1
- package/dist-embed/chunks/{index-CM7xo08K.js → index-b6e3y1R-.js} +1 -1
- package/dist-embed/chunks/{index-wk9vl2uW.js → index-szXn1pzS.js} +1 -1
- package/dist-embed/chunks/{index.esm-p0OnSU9h.js → index.esm-nZym6gpK.js} +1 -1
- package/dist-embed/chunks/isEqual-g-jK7vY0.js +1 -0
- package/dist-embed/chunks/{it-IT-JPQ66NNP-DuG05fUR.js → it-IT-JPQ66NNP-DEiaanA7.js} +1 -1
- package/dist-embed/chunks/{ja-JP-DBVTYXUO-DeDfL3Bk.js → ja-JP-DBVTYXUO-Bb0GBZrQ.js} +1 -1
- package/dist-embed/chunks/{kaa-6HZHGXH3-BRKFVG6s.js → kaa-6HZHGXH3-DxqTv9uN.js} +1 -1
- package/dist-embed/chunks/{kab-KAB-ZGHBKWFO-Uqakmhz5.js → kab-KAB-ZGHBKWFO-D0V0yQgV.js} +1 -1
- package/dist-embed/chunks/{kk-KZ-P5N5QNE5-DWMXMIAK.js → kk-KZ-P5N5QNE5-CYyEyHXW.js} +1 -1
- package/dist-embed/chunks/{km-KH-HSX4SM5Z-BXNl9QnV.js → km-KH-HSX4SM5Z-CCTEGikY.js} +1 -1
- package/dist-embed/chunks/{ko-KR-MTYHY66A-BZgIqTuN.js → ko-KR-MTYHY66A-C-QDut19.js} +1 -1
- package/dist-embed/chunks/{ku-TR-6OUDTVRD-CQNa5i5U.js → ku-TR-6OUDTVRD-CIqn8p2Y.js} +1 -1
- package/dist-embed/chunks/{lt-LT-XHIRWOB4-BQW2k7iv.js → lt-LT-XHIRWOB4-BDLUWFPH.js} +1 -1
- package/dist-embed/chunks/{lv-LV-5QDEKY6T-B0HRRCC4.js → lv-LV-5QDEKY6T-BItabIJP.js} +1 -1
- package/dist-embed/chunks/{mr-IN-CRQNXWMA-DXR6sWSH.js → mr-IN-CRQNXWMA-DXXb8N2w.js} +1 -1
- package/dist-embed/chunks/{my-MM-5M5IBNSE-BZ5_9oCm.js → my-MM-5M5IBNSE-TidIfjqS.js} +1 -1
- package/dist-embed/chunks/{nb-NO-T6EIAALU-CBtv36wZ.js → nb-NO-T6EIAALU-DEINynK7.js} +1 -1
- package/dist-embed/chunks/{nl-NL-IS3SIHDZ-CcqE3cY8.js → nl-NL-IS3SIHDZ-D04rJzNe.js} +1 -1
- package/dist-embed/chunks/{nn-NO-6E72VCQL-Cl9wPgpU.js → nn-NO-6E72VCQL-oWFzCtpf.js} +1 -1
- package/dist-embed/chunks/{oc-FR-POXYY2M6-CQEkV2p1.js → oc-FR-POXYY2M6-BmFfP6hk.js} +1 -1
- package/dist-embed/chunks/{pa-IN-N4M65BXN-CaE6yG0U.js → pa-IN-N4M65BXN-RkXrgKXw.js} +1 -1
- package/dist-embed/chunks/{percentages-BXMCSKIN-Bk5xifLL.js → percentages-BXMCSKIN-BL_DuU3S.js} +3 -3
- package/dist-embed/chunks/{pl-PL-T2D74RX3-M1pQcF2j.js → pl-PL-T2D74RX3-DqxkHzTj.js} +1 -1
- package/dist-embed/chunks/{pt-BR-5N22H2LF-BFDHu72z.js → pt-BR-5N22H2LF-DFA-wWC5.js} +1 -1
- package/dist-embed/chunks/{pt-PT-UZXXM6DQ-DFcZY1Gz.js → pt-PT-UZXXM6DQ-Z5jw_7aw.js} +1 -1
- package/dist-embed/chunks/{renderer-Dy4lZ1KZ.js → renderer-DKKfWkWv.js} +1 -1
- package/dist-embed/chunks/{ro-RO-JPDTUUEW-BGm_Xwik.js → ro-RO-JPDTUUEW-DjC09bHq.js} +1 -1
- package/dist-embed/chunks/{ru-RU-B4JR7IUQ-BsrZ_x8p.js → ru-RU-B4JR7IUQ-CqwD7Yik.js} +1 -1
- package/dist-embed/chunks/{si-LK-N5RQ5JYF-BfaYS44g.js → si-LK-N5RQ5JYF-OVf4k6G3.js} +1 -1
- package/dist-embed/chunks/{sk-SK-C5VTKIMK-D-K9yMTN.js → sk-SK-C5VTKIMK-BG__kjLT.js} +1 -1
- package/dist-embed/chunks/{sl-SI-NN7IZMDC-B48XvZUw.js → sl-SI-NN7IZMDC-CIgxidVH.js} +1 -1
- package/dist-embed/chunks/{subset-shared.chunk-DzA7mJjZ.js → subset-shared.chunk-BR0LJHtQ.js} +1 -1
- package/dist-embed/chunks/{subset-worker.chunk-CsTEdHAt.js → subset-worker.chunk-52aAcjvz.js} +1 -1
- package/dist-embed/chunks/{sv-SE-XGPEYMSR-DfhLO_Vt.js → sv-SE-XGPEYMSR-CYHz3xCa.js} +1 -1
- package/dist-embed/chunks/{ta-IN-2NMHFXQM-EZA_oxSt.js → ta-IN-2NMHFXQM-BphRr9QY.js} +1 -1
- package/dist-embed/chunks/{th-TH-HPSO5L25-G9vy_zQH.js → th-TH-HPSO5L25-Ba2-2Bo0.js} +1 -1
- package/dist-embed/chunks/{tr-TR-DEFEU3FU-DBj_G5CD.js → tr-TR-DEFEU3FU-CRKE7Roy.js} +1 -1
- package/dist-embed/chunks/{uk-UA-QMV73CPH-DN7lMu5H.js → uk-UA-QMV73CPH-DlNE5CAT.js} +1 -1
- package/dist-embed/chunks/{vi-VN-M7AON7JQ-LoT02qgd.js → vi-VN-M7AON7JQ-Cp44PRXY.js} +1 -1
- package/dist-embed/chunks/{zh-CN-LNUGB5OW-CjexwOqT.js → zh-CN-LNUGB5OW-JHqqwp0j.js} +1 -1
- package/dist-embed/chunks/{zh-HK-E62DVLB3-B0ys_HV6.js → zh-HK-E62DVLB3-YEs97mA8.js} +1 -1
- package/dist-embed/chunks/{zh-TW-RAJ6MFWO-tQJWLJuU.js → zh-TW-RAJ6MFWO-CgmeTbuy.js} +1 -1
- package/dist-embed/datalayer-app-main.js +12 -12
- package/lib/chat/presence/Presence.d.ts +4 -4
- package/lib/chat/presence/Presence.js +3 -2
- package/lib/chat/presence/presenceStatus.d.ts +3 -34
- package/lib/chat/presence/presenceStatus.js +4 -46
- package/lib/portable/fixtures.d.ts +11 -0
- package/lib/portable/fixtures.js +70 -0
- package/lib/portable/index.d.ts +3 -0
- package/lib/portable/index.js +5 -0
- package/lib/portable/presence.d.ts +47 -0
- package/lib/portable/presence.js +71 -0
- package/lib/portable/views.d.ts +125 -0
- package/lib/portable/views.js +52 -0
- package/package.json +1 -1
- package/dist-embed/chunks/isEqual-Cwjr2skl.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ac as P,b_ as x,aW as L,_ as w}from"../datalayer-app-main.js";import{I as R}from"./token-BRjncM66.js";import{b as A}from"./index-
|
|
1
|
+
import{ac as P,b_ as x,aW as L,_ as w}from"../datalayer-app-main.js";import{I as R}from"./token-BRjncM66.js";import{b as A}from"./index-BN8Bbau-.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";const D=new P("@jupyterlab/mermaid:IMermaidMarkdown","a manager for rendering mermaid text-based diagrams in markdown fenced code blocks"),d="```~~~",O=/^<h[1-6]\b[^>]*>/i;function z(m,a){return{render:e=>g.render(e,m,a),getHeadingTokens:e=>g.getHeadingTokens(e,a)}}const Or={id:"@jupyterlab/markedparser-extension:plugin",description:"Provides the Markdown parser.",autoStart:!0,provides:A,requires:[R],optional:[D],activate:(m,a,e)=>z(a,{blocks:e?[e]:[]})};var g;(function(m){let a=null,e=null,p=[],u=null,_={},f=new x.LruCache;async function b(r,t,o){return u=t,e||(e=await k(o)),e(r,_)}m.render=b;async function k(r){if(e)return e;if(a)return await a.promise;p=r?.blocks||[],p=p.sort((n,i)=>{var c,l;return((c=n.rank)!==null&&c!==void 0?c:1/0)-((l=i.rank)!==null&&l!==void 0?l:1/0)}),a=new L;const[{marked:t,Renderer:o},s]=await Promise.all([w(()=>import("./marked.esm-eXxjURbE.js"),[],import.meta.url),E()]);for(const n of s)t.use(n);return _={async:!0,gfm:!0,walkTokens:$,renderer:I(o)},e=t,a.resolve(e),e}m.initializeMarked=k;async function E(){return Promise.all([(async()=>(await w(async()=>{const{gfmHeadingId:r}=await import("./index-MJc5X3wa.js");return{gfmHeadingId:r}},[],import.meta.url)).gfmHeadingId())(),(async()=>(await w(async()=>{const{mangle:r}=await import("./index-96ipjnQx.js");return{mangle:r}},[],import.meta.url)).mangle())()])}function I(r){const t=new r,o=t.code;return t.code=s=>{const{text:n,lang:i}=s;for(const y of p)if(i&&y.languages.includes(i)){const v=y.render(n);if(v!=null)return v}const c=`${i}${d}${n}${d}`,l=f.get(c);return l??o.call(t,s)},t}async function T(r){const{lang:t,text:o}=r;if(!t||!u)return;const s=`${t}${d}${o}${d}`;if(f.get(s))return;const n=document.createElement("div");try{await u.highlight(o,u.findBest(t),n);const i=`<pre><code class="language-${t}">${n.innerHTML}</code></pre>`;f.set(s,i)}catch(i){console.error(`Failed to highlight ${t} code`,i)}finally{n.remove()}}async function $(r){switch(r.type){case"code":if(r.lang){for(const t of p)if(t.languages.includes(r.lang)){await t.walk(r.text);return}}await T(r)}}async function H(r,t){e||(e=await k(t));const o=new Array,s=e.lexer(r);let n=0;for(const i of s)(i.type==="heading"||i.type==="html"&&h(i.raw)||i.type==="paragraph"&&M(i))&&o.push({raw:i.raw,line:n}),n+=i.raw.split(`
|
|
2
2
|
`).length-1;return o}m.getHeadingTokens=H;function h(r){return O.test(r)}function M(r){return r.tokens?r.tokens.some(t=>t.type==="html"&&h(t.raw)):!1}})(g||(g={}));export{z as createMarkdownParser,Or as default};
|
|
@@ -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-CyQgE_Es.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-BWClePP-.js";import"./index-DSN70XMH.js";import"./index-DyVR0igi.js";import"./color-CG7_7V2-.js";import"./isEqual-Cwjr2skl.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-CDnzN9Cb.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./renderer-Dy4lZ1KZ.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-CKIqy599.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-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 +1 @@
|
|
|
1
|
-
import{K as t,r as i}from"../datalayer-app-main.js";import{I as l,r}from"./JupyterLexicalExtension-
|
|
1
|
+
import{K as t,r as i}from"../datalayer-app-main.js";import{I as l,r}from"./JupyterLexicalExtension-CqDatsgf.js";import{$ as h,a as j,b as k,c as q,d as v,e as w,C as y,f as z,g as F}from"./JupyterLexicalExtension-CqDatsgf.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./url-DuKx0yk0.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";function D(){const[o]=t();return i.useEffect(()=>r(o),[o]),null}export{h as $createCollapsibleContainerNode,j as $createCollapsibleContentNode,k as $createCollapsibleTitleNode,q as $isCollapsibleContainerNode,v as $isCollapsibleContentNode,w as $isCollapsibleTitleNode,y as CollapsibleContainerNode,z as CollapsibleContentNode,D as CollapsiblePlugin,F as CollapsibleTitleNode,l as INSERT_COLLAPSIBLE_COMMAND,D as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{hx as ue,hy as Y,hz as H,hA as pe,hB as me,hC as ee,hD as ge,hE as te,hF as ne,hG as f,hH as B,hI as y,hJ as fe,hK as be,hL as ve,hM as xe,hN as ye,hO as Ce,hP as $e,hQ as Te,hR as we,hS as _e,hT as Ie,hU as V,hV as L,hW as W,hX as ke,hY as z,hZ as U,h_ as M,h$ as q,i0 as G,i1 as O,i2 as Fe,i3 as Se,i4 as _,i5 as Ee,i6 as Ne,i7 as x,i8 as J,i9 as Oe,ia as He,ib as I,ic as Ae,id as Be,ie as je,ig as Ve,ih as oe,ii as k,ij as De,ik as u,il as Me,im as se,io as ie,ip as Re,r as h,iq as K,ir as A,v as ae,is as le,c2 as Pe,aV as Le,ag as We,ae as ze,c$ as re,ai as Ue,it as qe,ak as Ge,c0 as Je,iu as Ke,iv as Ze,iw as Qe,ix as Xe,dE as Z,am as Ye,cv as et,iy as tt}from"../datalayer-app-main.js";import{S as nt,f as ot,c as st,M as it}from"./index-
|
|
1
|
+
import{hx as ue,hy as Y,hz as H,hA as pe,hB as me,hC as ee,hD as ge,hE as te,hF as ne,hG as f,hH as B,hI as y,hJ as fe,hK as be,hL as ve,hM as xe,hN as ye,hO as Ce,hP as $e,hQ as Te,hR as we,hS as _e,hT as Ie,hU as V,hV as L,hW as W,hX as ke,hY as z,hZ as U,h_ as M,h$ as q,i0 as G,i1 as O,i2 as Fe,i3 as Se,i4 as _,i5 as Ee,i6 as Ne,i7 as x,i8 as J,i9 as Oe,ia as He,ib as I,ic as Ae,id as Be,ie as je,ig as Ve,ih as oe,ii as k,ij as De,ik as u,il as Me,im as se,io as ie,ip as Re,r as h,iq as K,ir as A,v as ae,is as le,c2 as Pe,aV as Le,ag as We,ae as ze,c$ as re,ai as Ue,it as qe,ak as Ge,c0 as Je,iu as Ke,iv as Ze,iw as Qe,ix as Xe,dE as Z,am as Ye,cv as et,iy as tt}from"../datalayer-app-main.js";import{S as nt,f as ot,c as st,M as it}from"./index-BN8Bbau-.js";import{I as at}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";const de=n=>typeof n=="function",lt=()=>null;function Q(n){return n===void 0?lt:de(n)?n:()=>n}function X(n,t,e){const o=de(n)?n:()=>n,d=Q(t),p=Q(e);return(r,l)=>o(r,l)?d(r,l):p(r,l)}const rt=(n,t)=>H`
|
|
2
2
|
<template
|
|
3
3
|
role="treeitem"
|
|
4
4
|
slot="${e=>e.isNestedItem()?"item":void 0}"
|
|
@@ -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-CyQgE_Es.js";import{a as U}from"./tokens-_fLcuFXz.js";import{I as W}from"./tokens-BHLmeqjP.js";import"./Output-BWClePP-.js";import"./index-CFP9psRB.js";import"./hoverbox-CStlKQWE.js";import"./index-DSN70XMH.js";import"./index-DyVR0igi.js";import"./color-CG7_7V2-.js";import"./isEqual-Cwjr2skl.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-CDnzN9Cb.js";import"./NotebookSkeleton-CI7ovjNW.js";import"./Avatar-9MpXENSs.js";import"./renderer-Dy4lZ1KZ.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-CKIqy599.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-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(`
|
|
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:
|