mbuali's picture
Upload folder using huggingface_hub
d1ceb73 verified
"use strict";(self.webpackChunk_JUPYTERLAB_CORE_OUTPUT=self.webpackChunk_JUPYTERLAB_CORE_OUTPUT||[]).push([[8471],{8471:(e,t,n)=>{n.r(t),n.d(t,{ToolbarItems:()=>E,default:()=>T,downloadPlugin:()=>W,openBrowserTabPlugin:()=>F,pathStatusPlugin:()=>I,savingStatusPlugin:()=>S});var o,a,r=n(44604),i=n(53312),l=n(68722),d=n(5094),s=n(23295),c=n(71098),u=n(12030),m=n(35613),g=n(33625),p=n(20998),h=n(81997),v=n(63485),f=n(78156),w=n(41053);!function(e){e.clearRecents="docmanager:clear-recents"}(o||(o={})),function(e){e.recentsManager="@jupyterlab/docmanager-extension:recents",e.reopenClosed="@jupyterlab/docmanager-extension:reopen-recently-closed",e.mainPlugin="@jupyterlab/docmanager-extension:plugin"}(a||(a={}));const _={id:a.recentsManager,description:"Provides a manager of recently opened and closed documents.",autoStart:!0,requires:[w.IStateDB],optional:[s.ISettingRegistry,u.ITranslator],provides:d.IRecentsManager,activate:(e,t,n,r)=>{const{serviceManager:i}=e,l=(null!=r?r:u.nullTranslator).load("jupyterlab"),s=new d.RecentsManager({stateDB:t,contents:i.contents}),c=e=>{s.maximalRecentsLength=e.get("maxNumberRecents").composite};return n&&Promise.all([e.restored,n.load(a.mainPlugin)]).then((([e,t])=>{t.changed.connect(c),c(t)})),e.commands.addCommand(o.clearRecents,{execute:()=>{s.clearRecents()},isEnabled:()=>0!=s.recentlyOpened.length||0!=s.recentlyClosed.length,label:l.__("Clear Recent Documents"),caption:l.__("Clear the list of recently opened items.")}),s}};var b;!function(e){e.clone="docmanager:clone",e.deleteFile="docmanager:delete-file",e.newUntitled="docmanager:new-untitled",e.open="docmanager:open",e.openBrowserTab="docmanager:open-browser-tab",e.reload="docmanager:reload",e.rename="docmanager:rename",e.del="docmanager:delete",e.duplicate="docmanager:duplicate",e.restoreCheckpoint="docmanager:restore-checkpoint",e.save="docmanager:save",e.saveAll="docmanager:save-all",e.saveAs="docmanager:save-as",e.download="docmanager:download",e.toggleAutosave="docmanager:toggle-autosave",e.showInFileBrowser="docmanager:show-in-file-browser"}(b||(b={}));const y="@jupyterlab/docmanager-extension:plugin",C={id:"@jupyterlab/docmanager-extension:opener",description:"Provides the widget opener.",autoStart:!0,provides:d.IDocumentWidgetOpener,activate:e=>{const{shell:t}=e;return new class{constructor(){this._opened=new h.Signal(this)}open(e,n){e.id||(e.id="document-manager-"+ ++R.id),e.title.dataset={type:"document-title",...e.title.dataset},e.isAttached||t.add(e,"main",n||{}),t.activateById(e.id),this._opened.emit(e)}get opened(){return this._opened}}}},x={id:"@jupyterlab/docmanager-extension:contexts",description:"Adds the handling of opened documents dirty state.",autoStart:!0,requires:[d.IDocumentManager,d.IDocumentWidgetOpener],optional:[r.ILabStatus],activate:(e,t,n,o)=>{const a=new WeakSet;n.opened.connect(((e,n)=>{const r=t.contextForWidget(n);r&&!a.has(r)&&(o&&function(e,t){let n=null;const o=(t,o)=>{"dirty"===o.name&&(!0===o.newValue?n||(n=e.setDirty()):n&&(n.dispose(),n=null))};t.ready.then((()=>{t.model.stateChanged.connect(o),t.model.dirty&&(n=e.setDirty())})),t.disposed.connect((()=>{n&&n.dispose()}))}(o,r),a.add(r))}))}},D={id:"@jupyterlab/docmanager-extension:manager",description:"Provides the document manager.",provides:d.IDocumentManager,requires:[d.IDocumentWidgetOpener],optional:[u.ITranslator,r.ILabStatus,i.ISessionContextDialogs,r.JupyterLab.IInfo,d.IRecentsManager],activate:(e,t,n,o,a,r,l)=>{var s;const{serviceManager:c,docRegistry:m}=e,g=null!=n?n:u.nullTranslator,p=null!=a?a:new i.SessionContextDialogs({translator:g}),h=e.restored.then((()=>{}));return new d.DocumentManager({registry:m,manager:c,opener:t,when:h,setBusy:null!==(s=o&&(()=>o.setBusy()))&&void 0!==s?s:void 0,sessionDialogs:p,translator:null!=g?g:u.nullTranslator,isConnectedCallback:()=>!r||r.isConnected,recentsManager:null!=l?l:void 0})}},k={id:y,description:"Adds commands and settings to the document manager.",autoStart:!0,requires:[d.IDocumentManager,d.IDocumentWidgetOpener,s.ISettingRegistry],optional:[u.ITranslator,i.ICommandPalette,r.ILabShell],activate:(e,t,n,o,a,r,s)=>{const c=(a=null!=a?a:u.nullTranslator).load("jupyterlab"),h=e.docRegistry;!function(e,t,n,o,a,r,s){var c;const u=a.load("jupyterlab"),{commands:p,shell:h}=e,v=u.__("File Operations"),f=()=>{const{currentWidget:e}=h;return!(!e||!t.contextForWidget(e))},w=()=>{var e;const{currentWidget:n}=h;if(!n)return!1;const o=t.contextForWidget(n);return!!(null===(e=null==o?void 0:o.contentsModel)||void 0===e?void 0:e.writable)},_=e=>i.Notification.warning(u.__('%1 is read-only. Use "Save as…" instead.',e),{autoClose:5e3});r&&function(e,t,n,o,a){const r=a.load("jupyterlab"),{commands:l}=e,s=()=>{var o;const a=/[Pp]ath:\s?(.*)\n?/,r=e.contextMenuHitTest((e=>{var t;return!!(null===(t=e.title)||void 0===t?void 0:t.match(a))})),i=null==r?void 0:r.title.match(a);return null!==(o=i&&t.findWidget(i[1],null))&&void 0!==o?o:n.currentWidget},c=()=>{const{currentWidget:e}=n;return!(!e||!t.contextForWidget(e))};l.addCommand(b.clone,{label:()=>r.__("New View for %1",M(s(),t)),isEnabled:c,execute:e=>{const n=s(),a=e.options||{mode:"split-right"};if(!n)return;const r=t.cloneWidget(n);r&&o.open(r,a)}}),l.addCommand(b.rename,{label:()=>{let e=M(s(),t);return e&&(e=" "+e),r.__("Rename%1…",e)},isEnabled:c,execute:()=>{if(c()){const e=t.contextForWidget(s());return(0,d.renameDialog)(t,e)}}}),l.addCommand(b.duplicate,{label:()=>r.__("Duplicate %1",M(s(),t)),isEnabled:c,execute:()=>{if(c()){const e=t.contextForWidget(s());if(!e)return;return t.duplicate(e.path)}}}),l.addCommand(b.del,{label:()=>r.__("Delete %1",M(s(),t)),isEnabled:c,execute:async()=>{if(c()){const n=t.contextForWidget(s());if(!n)return;(await(0,i.showDialog)({title:r.__("Delete"),body:r.__("Are you sure you want to delete %1",n.path),buttons:[i.Dialog.cancelButton(),i.Dialog.warnButton({label:r.__("Delete")})]})).button.accept&&await e.commands.execute("docmanager:delete-file",{path:n.path})}}}),l.addCommand(b.showInFileBrowser,{label:()=>r.__("Show in File Browser"),isEnabled:c,execute:async()=>{const e=s(),n=e&&t.contextForWidget(e);n&&(await l.execute("filebrowser:activate",{path:n.path}),await l.execute("filebrowser:go-to-path",{path:n.path}))}}),n.currentChanged.connect((()=>{[b.clone,b.rename,b.duplicate,b.del,b.showInFileBrowser].forEach((t=>{e.commands.notifyCommandChanged(t)}))}))}(e,t,r,n,a),p.addCommand(b.deleteFile,{label:()=>`Delete ${M(h.currentWidget,t)}`,execute:e=>{const n=void 0===e.path?"":e.path;if(!n){const e=b.deleteFile;throw new Error(`A non-empty path is required for ${e}.`)}return t.deleteFile(n)}}),p.addCommand(b.newUntitled,{execute:e=>{const n=e.error||u.__("Error"),o=void 0===e.path?"":e.path,a={type:e.type,path:o};return"file"===e.type&&(a.ext=e.ext||".txt"),t.services.contents.newUntitled(a).catch((e=>(0,i.showErrorMessage)(n,e)))},label:e=>e.label||`New ${e.type}`}),p.addCommand(b.open,{execute:e=>{const n=void 0===e.path?"":e.path,o=e.factory||void 0,a=null==e?void 0:e.kernel,r=e.options||void 0;return t.services.contents.get(n,{content:!1}).then((()=>t.openOrReveal(n,o,a,r)))},iconClass:e=>e.icon||"",label:e=>{var t;return null!==(t=e.label||e.factory)&&void 0!==t?t:u.__("Open the provided `path`.")},mnemonic:e=>e.mnemonic||-1}),p.addCommand(b.reload,{label:()=>u.__("Reload %1 from Disk",M(h.currentWidget,t)),caption:u.__("Reload contents from disk"),isEnabled:f,execute:()=>{if(!f())return;const e=t.contextForWidget(h.currentWidget),n=M(h.currentWidget,t);return e?e.model.dirty?(0,i.showDialog)({title:u.__("Reload %1 from Disk",n),body:u.__("Are you sure you want to reload the %1 from the disk?",n),buttons:[i.Dialog.cancelButton(),i.Dialog.warnButton({label:u.__("Reload")})]}).then((t=>{if(t.button.accept&&!e.isDisposed)return e.revert()})):e.isDisposed?void 0:e.revert():(0,i.showDialog)({title:u.__("Cannot Reload"),body:u.__("No context found for current widget!"),buttons:[i.Dialog.okButton()]})}}),p.addCommand(b.restoreCheckpoint,{label:()=>u.__("Revert %1 to Checkpoint…",M(h.currentWidget,t)),caption:u.__("Revert contents to previous checkpoint"),isEnabled:f,execute:()=>{if(!f())return;const e=t.contextForWidget(h.currentWidget);return e?e.listCheckpoints().then((async n=>{const o=M(h.currentWidget,t);if(n.length<1)return void await(0,i.showErrorMessage)(u.__("No checkpoints"),u.__("No checkpoints are available for this %1.",o));const a=1===n.length?n[0]:await R.getTargetCheckpoint(n.reverse(),u);return a?(0,i.showDialog)({title:u.__("Revert %1 to checkpoint",o),body:new A(a,u,o),buttons:[i.Dialog.cancelButton(),i.Dialog.warnButton({label:u.__("Revert"),ariaLabel:u.__("Revert to Checkpoint")})]}).then((t=>{if(!e.isDisposed)return t.button.accept?e.model.readOnly?e.revert():e.restoreCheckpoint(a.id).then((()=>e.revert())):void 0})):void 0})):(0,i.showDialog)({title:u.__("Cannot Revert"),body:u.__("No context found for current widget!"),buttons:[i.Dialog.okButton()]})}});const C=new WeakSet;p.addCommand(b.save,{label:()=>u.__("Save %1",M(h.currentWidget,t)),caption:()=>{if(h.currentWidget){const e=t.contextForWidget(h.currentWidget);if(null==e?void 0:e.model.collaborative)return u.__("In collaborative mode, the document is saved automatically after every change");if(!w())return u.__('Document is read-only. "Save" is disabled; use "Save as…" instead')}return u.__("Save and create checkpoint")},icon:e=>e.toolbar?m.saveIcon:void 0,isEnabled:e=>e._luminoEvent&&"keybinding"===e._luminoEvent.type||w(),execute:async e=>{var n,a,r,d,s;const c=h.currentWidget,m=t.contextForWidget(c);if(f()){if(!m)return(0,i.showDialog)({title:u.__("Cannot Save"),body:u.__("No context found for current widget!"),buttons:[i.Dialog.okButton()]});{if(C.has(m))return;if(!(null===(n=m.contentsModel)||void 0===n?void 0:n.writable)&&!m.model.collaborative){let t=null===(a=e._luminoEvent)||void 0===a?void 0:a.type;return e._luminoEvent&&"keybinding"===t?void _(m.path):(0,i.showDialog)({title:u.__("Cannot Save"),body:u.__("Document is read-only"),buttons:[i.Dialog.okButton()]})}C.add(m);const g=l.PathExt.basename(null!==(d=null===(r=m.contentsModel)||void 0===r?void 0:r.path)&&void 0!==d?d:"");let p=g;if(t.renameUntitledFileOnSave&&!0===c.isUntitled){const e=await i.InputDialog.getText({title:u.__("Rename file"),okLabel:u.__("Rename"),placeholder:u.__("File name"),text:g,selectionRange:g.length-l.PathExt.extname(g).length,checkbox:{label:u.__("Do not ask me again."),caption:u.__("If checked, you will not be asked to rename future untitled files when saving them.")}});if(e.button.accept&&(p=null!==(s=e.value)&&void 0!==s?s:g,c.isUntitled=!1,"boolean"==typeof e.isChecked)){const t=(await o.get(y,"renameUntitledFileOnSave")).composite;e.isChecked===t&&o.set(y,"renameUntitledFileOnSave",!e.isChecked).catch((e=>{console.error(`Fail to set 'renameUntitledFileOnSave:\n${e}`)}))}}try{if(await m.save(),!(null==c?void 0:c.isDisposed))return m.createCheckpoint()}catch(e){if("ModalCancelError"===e.name)return;throw e}finally{C.delete(m),p!==g&&await m.rename(p)}}}}}),p.addCommand(b.saveAll,{label:()=>u.__("Save All"),caption:u.__("Save all open documents"),isEnabled:()=>(0,g.some)(h.widgets("main"),(e=>{var n,o,a;return null!==(a=null===(o=null===(n=t.contextForWidget(e))||void 0===n?void 0:n.contentsModel)||void 0===o?void 0:o.writable)&&void 0!==a&&a})),execute:()=>{var e;const n=[],o=new Set;for(const a of h.widgets("main")){const r=t.contextForWidget(a);r&&!o.has(r.path)&&((null===(e=r.contentsModel)||void 0===e?void 0:e.writable)?(o.add(r.path),n.push(r.save())):_(r.path))}return Promise.all(n)}}),p.addCommand(b.saveAs,{label:()=>u.__("Save %1 As…",M(h.currentWidget,t)),caption:u.__("Save with new path"),isEnabled:f,execute:()=>{if(f()){const e=t.contextForWidget(h.currentWidget);if(!e)return(0,i.showDialog)({title:u.__("Cannot Save"),body:u.__("No context found for current widget!"),buttons:[i.Dialog.okButton()]});const n=(n,o)=>{"save"===o.type&&o.newValue&&o.newValue.path!==e.path&&(t.closeFile(e.path),p.execute(b.open,{path:o.newValue.path}))};t.services.contents.fileChanged.connect(n),e.saveAs().finally((()=>t.services.contents.fileChanged.disconnect(n)))}}}),null===(c=e.shell.currentChanged)||void 0===c||c.connect((()=>{[b.reload,b.restoreCheckpoint,b.save,b.saveAll,b.saveAs].forEach((t=>{e.commands.notifyCommandChanged(t)}))})),p.addCommand(b.toggleAutosave,{label:u.__("Autosave Documents"),isToggled:()=>t.autosave,execute:()=>{const e=!t.autosave,n="autosave";return o.set(y,n,e).catch((e=>{console.error(`Failed to set ${y}:${n} - ${e.message}`)}))}}),s&&[b.reload,b.restoreCheckpoint,b.save,b.saveAs,b.toggleAutosave,b.duplicate].forEach((e=>{s.addItem({command:e,category:v})}))}(e,t,n,o,a,s,r);const v=n=>{const o=n.get("autosave").composite;t.autosave=!0!==o&&!1!==o||o,e.commands.notifyCommandChanged(b.toggleAutosave);const a=n.get("confirmClosingDocument").composite;t.confirmClosingDocument=null==a||a;const r=n.get("autosaveInterval").composite;t.autosaveInterval=r||120;const i=n.get("lastModifiedCheckMargin").composite;t.lastModifiedCheckMargin=i||500;const l=n.get("renameUntitledFileOnSave").composite;t.renameUntitledFileOnSave=null==l||l;const d=n.get("defaultViewers").composite,s={};Object.keys(d).forEach((e=>{h.getFileType(e)?(h.getWidgetFactory(d[e])||console.warn(`Document viewer ${d[e]} not found`),s[e]=d[e]):console.warn(`File Type ${e} not found`)}));for(const e of h.fileTypes())try{h.setDefaultWidgetFactory(e.name,s[e.name])}catch(t){console.warn(`Failed to set default viewer ${s[e.name]} for file type ${e.name}`)}};Promise.all([o.load(y),e.restored]).then((([e])=>{e.changed.connect(v),v(e),t.stateChanged.connect(((t,n)=>{["autosave","autosaveInterval","confirmClosingDocument","lastModifiedCheckMargin","renameUntitledFileOnSave"].includes(n.name)&&e.get(n.name).composite!==n.newValue&&e.set(n.name,n.newValue).catch((e=>{console.error(`Failed to set the setting '${n.name}':\n${e}`)}))}))})).catch((e=>{console.error(e.message)})),o.transform(y,{fetch:e=>{const t=Array.from(h.fileTypes()).map((e=>e.name)).join(" \n"),n=Array.from(h.widgetFactories()).map((e=>e.name)).join(" \n"),o=c.__('Overrides for the default viewers for file types.\nSpecify a mapping from file type name to document viewer name, for example:\n\ndefaultViewers: {\n markdown: "Markdown Preview"\n}\n\nIf you specify non-existent file types or viewers, or if a viewer cannot\nopen a given file type, the override will not function.\n\nAvailable viewers:\n%1\n\nAvailable file types:\n%2',n,t),a=p.JSONExt.deepCopy(e.schema);return a.properties.defaultViewers.description=o,{...e,schema:a}}}),h.changed.connect((()=>o.load(y,!0)))}},S={id:"@jupyterlab/docmanager-extension:saving-status",description:"Adds a saving status indicator.",autoStart:!0,requires:[d.IDocumentManager,r.ILabShell],optional:[u.ITranslator,c.IStatusBar],activate:(e,t,n,o,a)=>{if(!a)return;const r=new d.SavingStatus({docManager:t,translator:null!=o?o:u.nullTranslator});r.model.widget=n.currentWidget,n.currentChanged.connect((()=>{r.model.widget=n.currentWidget})),a.registerStatusItem(S.id,{item:r,align:"middle",isActive:()=>null!==r.model&&null!==r.model.status,activeStateChanged:r.model.stateChanged})}},I={id:"@jupyterlab/docmanager-extension:path-status",description:"Adds a file path indicator in the status bar.",autoStart:!0,requires:[d.IDocumentManager,r.ILabShell],optional:[c.IStatusBar],activate:(e,t,n,o)=>{if(!o)return;const a=new d.PathStatus({docManager:t});a.model.widget=n.currentWidget,n.currentChanged.connect((()=>{a.model.widget=n.currentWidget})),o.registerStatusItem(I.id,{item:a,align:"right",rank:0})}},W={id:"@jupyterlab/docmanager-extension:download",description:"Adds command to download files.",autoStart:!0,requires:[d.IDocumentManager],optional:[u.ITranslator,i.ICommandPalette],activate:(e,t,n,o)=>{var a;const r=(null!=n?n:u.nullTranslator).load("jupyterlab"),{commands:l,shell:d}=e,s=()=>{const{currentWidget:e}=d;return!(!e||!t.contextForWidget(e))};l.addCommand(b.download,{label:r.__("Download"),caption:r.__("Download the file to your computer"),isEnabled:s,execute:()=>{if(s()){const e=t.contextForWidget(d.currentWidget);return e?e.download():(0,i.showDialog)({title:r.__("Cannot Download"),body:r.__("No context found for current widget!"),buttons:[i.Dialog.okButton()]})}}}),null===(a=e.shell.currentChanged)||void 0===a||a.connect((()=>{e.commands.notifyCommandChanged(b.download)}));const c=r.__("File Operations");o&&o.addItem({command:b.download,category:c})}},F={id:"@jupyterlab/docmanager-extension:open-browser-tab",description:"Adds command to open a browser tab.",autoStart:!0,requires:[d.IDocumentManager],optional:[u.ITranslator],activate:(e,t,n)=>{const o=(null!=n?n:u.nullTranslator).load("jupyterlab"),{commands:a}=e;a.addCommand(b.openBrowserTab,{execute:e=>{const n=void 0===e.path?"":e.path;if(n)return t.services.contents.getDownloadUrl(n).then((e=>{const t=window.open();if(!t)throw new Error("Failed to open new browser tab.");t.opener=null,t.location.href=e}))},iconClass:e=>e.icon||"",label:()=>o.__("Open in New Browser Tab")})}},T=[D,k,x,I,S,W,F,C,_];var E,R;!function(e){e.createSaveButton=function(e,t){return(0,i.addCommandToolbarButtonClass)(i.ReactWidget.create(f.createElement(i.UseSignal,{signal:t},(()=>f.createElement(i.CommandToolbarButtonComponent,{commands:e,id:b.save,label:"",args:{toolbar:!0}})))))}}(E||(E={}));class A extends v.Widget{constructor(e,t,n="notebook"){super({node:R.createRevertConfirmNode(e,n,t)})}}function M(e,t){if(!e)return"File";const n=t.contextForWidget(e);if(!n)return"";const o=t.registry.getFileTypesForPath(n.path);return o.length&&o[0].displayName?o[0].displayName:"File"}!function(e){e.id=0,e.createRevertConfirmNode=function(e,t,n){const o=document.createElement("div"),a=document.createElement("p"),r=document.createTextNode(n.__("Are you sure you want to revert the %1 to checkpoint? ",t)),i=document.createElement("strong");i.textContent=n.__("This cannot be undone."),a.appendChild(r),a.appendChild(i);const d=document.createElement("p"),s=document.createTextNode(n.__("The checkpoint was last updated at: ")),c=document.createElement("p"),u=new Date(e.last_modified);return c.style.textAlign="center",c.textContent=l.Time.format(u)+" ("+l.Time.formatHuman(u)+")",d.appendChild(s),d.appendChild(c),o.appendChild(a),o.appendChild(d),o},e.getTargetCheckpoint=async function(e,t){const n=e.map(((e,t)=>`${t}. ${l.Time.format(e.last_modified)} (${l.Time.formatHuman(e.last_modified)})`)),o=(await i.InputDialog.getItem({items:n,title:t.__("Choose a checkpoint")})).value;if(!o)return;const a=o.split(".",1)[0];return e[parseInt(a,10)]}}(R||(R={}))}}]);