@marimo-team/frontend 0.24.1-dev80 → 0.24.1-dev82
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/assets/{CellStatus-DMQfH9wD.js → CellStatus-GcHBZKLm.js} +1 -1
- package/dist/assets/{JsonOutput-B7sDhGzR.js → JsonOutput-CUJlEdsN.js} +8 -8
- package/dist/assets/{MarimoErrorOutput-C0vk393J.js → MarimoErrorOutput-DCAezqcJ.js} +2 -2
- package/dist/assets/{RenderHTML-BnMaGpV8.js → RenderHTML-D9-75ltP.js} +1 -1
- package/dist/assets/{RunButton-nocIODpS.js → RunButton-plSsbubG.js} +1 -1
- package/dist/assets/{add-cell-with-ai-B_TSaqjJ.js → add-cell-with-ai-Cfby28hZ.js} +14 -14
- package/dist/assets/{add-connection-dialog-DOuojDa-.js → add-connection-dialog-By0i0Fq5.js} +42 -42
- package/dist/assets/{agent-panel-CkKCGjDp.js → agent-panel-Cf482jaA.js} +4 -4
- package/dist/assets/ai-model-dropdown-DMfaGQ8o.js +3 -0
- package/dist/assets/app-config-button-93unbEYx.js +1 -0
- package/dist/assets/{blob-CYM8xQsK.js → blob-yxfhyyvD.js} +1 -1
- package/dist/assets/cell-editor-CZmqG6aB.js +21 -0
- package/dist/assets/{cell-link-DCOAqVkE.js → cell-link-hHrWcozB.js} +1 -1
- package/dist/assets/{cells-C6lBv8kg.js → cells-yuYDzbAy.js} +51 -51
- package/dist/assets/{chat-display-B6GBZDq8.js → chat-display-CnhvADgL.js} +1 -1
- package/dist/assets/{chat-panel-wWuBXhXw.js → chat-panel-CdE97AxM.js} +2 -2
- package/dist/assets/{chat-ui-CQ7A3qdB.js → chat-ui-BD3rpULw.js} +2 -2
- package/dist/assets/{column-preview-CatwdUda.js → column-preview-BEmcYaKl.js} +1 -1
- package/dist/assets/{command-palette-DcPM_WiO.js → command-palette-BGRRw0sn.js} +1 -1
- package/dist/assets/{common-B4aMxphz.js → common-Bs2kaOs2.js} +1 -1
- package/dist/assets/{components-D8-ffQsq.js → components-ByyAzQxP.js} +1 -1
- package/dist/assets/{datasource-D-_jFtGs.js → datasource-DeZYq5UY.js} +2 -2
- package/dist/assets/{dependency-graph-panel-BQli6zxh.js → dependency-graph-panel-g10osAFc.js} +4 -4
- package/dist/assets/{documentation-panel-_QE3nPOg.js → documentation-panel-CZ1mKkDh.js} +1 -1
- package/dist/assets/{download-Cqjqrhzo.js → download-D1crMjD8.js} +1 -1
- package/dist/assets/edit-page-Bk1sT7Wb.js +9 -0
- package/dist/assets/{error-entries-c5sIySli.js → error-entries-B6XTLRyE.js} +1 -1
- package/dist/assets/{error-panel-CXKrWK_u.js → error-panel-lexB3L6f.js} +1 -1
- package/dist/assets/{file-explorer-panel-BZiAb4x_.js → file-explorer-panel-DHRH2J-3.js} +1 -1
- package/dist/assets/{file-icons-uUY_hGYm.js → file-icons-Dx3v6lMu.js} +1 -1
- package/dist/assets/{file-name-input-DWUKg4LS.js → file-name-input-DzL8D_7x.js} +1 -1
- package/dist/assets/{floating-outline-DhGtHg6T.js → floating-outline-3rQEbxxk.js} +1 -1
- package/dist/assets/{home-page-Bka_7H02.js → home-page-Dnz4tfZB.js} +1 -1
- package/dist/assets/index-BID9w87A.js +29 -0
- package/dist/assets/layout-qHVpnnQT.js +9 -0
- package/dist/assets/{logs-panel-ragZa1sf.js → logs-panel-CSbUhhRo.js} +1 -1
- package/dist/assets/{markdown-renderer-B-uA_6mP.js → markdown-renderer-BgUTGtM0.js} +1 -1
- package/dist/assets/{name-cell-input-gC1flbyT.js → name-cell-input-pEE4FGAL.js} +1 -1
- package/dist/assets/{outline-panel-D7H7bhOh.js → outline-panel-BgnjEQWg.js} +1 -1
- package/dist/assets/{packages-panel-BZnsUm4S.js → packages-panel-BprfUOzZ.js} +1 -1
- package/dist/assets/panel-accordion-state-vpqEc3Kd.js +1 -0
- package/dist/assets/panels-3h7Cf8xJ.js +4 -0
- package/dist/assets/{process-output-DQQ8T5gv.js → process-output-siRm_lza.js} +1 -1
- package/dist/assets/{readonly-code-display-Bc0VX9i6.js → readonly-code-display-CLWV76FT.js} +1 -1
- package/dist/assets/readonly-python-code-Bor9b9pV.js +1 -0
- package/dist/assets/reveal-component-DNPksvzT.js +1069 -0
- package/dist/assets/run-page-C4aONLoP.js +1 -0
- package/dist/assets/{scratchpad-panel-BJHlMBZV.js → scratchpad-panel-BQSoRQvQ.js} +1 -1
- package/dist/assets/session-panel-DB5qEYqt.js +1 -0
- package/dist/assets/skeleton-BSxwEE0h.js +1 -0
- package/dist/assets/{snippets-panel-2jq36DdG.js → snippets-panel-B8Yi81tz.js} +1 -1
- package/dist/assets/state-D1N9_41P.js +3 -0
- package/dist/assets/state-O8w98G11.js +1 -0
- package/dist/assets/{tracing-91_akEkv.js → tracing-DuLkr7ts.js} +1 -1
- package/dist/assets/{tracing-panel-BvE81RYx.js → tracing-panel-CeLKVG8M.js} +2 -2
- package/dist/assets/{tree-actions-CGkbUSfG.js → tree-actions-Bh-Nnaub.js} +1 -1
- package/dist/assets/useAddCell-_JRYhAFd.js +1 -0
- package/dist/assets/useBoolean-Cu7Eado1.js +1 -0
- package/dist/assets/{useCellActionButton-cv6xOsnc.js → useCellActionButton-Bi8Lnv3F.js} +1 -1
- package/dist/assets/{useDeleteCell-DB-bhhnO.js → useDeleteCell-CBQiavzs.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-BDnVzNV-.js → useDependencyPanelTab-BOn3UJ07.js} +1 -1
- package/dist/assets/useNotebookActions--pblpIWF.js +10 -0
- package/dist/assets/{useRunCells-GCTS1YFv.js → useRunCells-BFQfLlUl.js} +1 -1
- package/dist/assets/{useSplitCell-DhT9BA2_.js → useSplitCell-Ig9P6lAn.js} +1 -1
- package/dist/index.html +20 -20
- package/package.json +1 -1
- package/src/__tests__/mount.test.ts +54 -2
- package/src/components/editor/__tests__/viewer-banner.test.tsx +1 -1
- package/src/components/editor/actions/export-dialog/__tests__/export-notebook.test.ts +9 -0
- package/src/components/editor/actions/export-dialog/export-notebook.ts +8 -1
- package/src/components/editor/actions/export-dialog/use-export-dialog.ts +2 -0
- package/src/components/editor/actions/useNotebookActions.tsx +1 -1
- package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +1 -1
- package/src/components/editor/renderers/__tests__/cells-renderer.test.tsx +1 -1
- package/src/components/editor/renderers/cells-renderer.tsx +15 -28
- package/src/components/editor/renderers/grid-layout/__tests__/plugin.test.ts +42 -0
- package/src/components/editor/renderers/grid-layout/plugin.tsx +20 -10
- package/src/components/editor/renderers/layout-select.tsx +1 -1
- package/src/components/editor/renderers/plugins.ts +7 -1
- package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +49 -15
- package/src/components/editor/renderers/slides-layout/slides-layout.tsx +16 -2
- package/src/components/editor/renderers/slides-layout/types.ts +15 -11
- package/src/components/editor/renderers/types.ts +5 -5
- package/src/components/editor/viewer-banner.tsx +1 -1
- package/src/components/pages/run-page.tsx +16 -7
- package/src/components/slides/__tests__/reveal-component.test.ts +33 -8
- package/src/components/slides/__tests__/speaker-view.test.ts +27 -0
- package/src/components/slides/reveal-component.tsx +110 -45
- package/src/components/slides/speaker-view.ts +22 -0
- package/src/components/static-html/share-modal.tsx +2 -0
- package/src/core/cells/__tests__/document-changes.test.ts +343 -26
- package/src/core/cells/document-changes.ts +181 -4
- package/src/core/export/hooks.ts +2 -0
- package/src/core/export/layout.ts +9 -0
- package/src/core/kernel/handlers.ts +7 -16
- package/src/core/kernel/state.ts +2 -0
- package/src/core/layout/__tests__/layout.test.ts +95 -0
- package/src/core/layout/layout.ts +59 -65
- package/src/core/layout/state.ts +121 -0
- package/src/core/meta/__tests__/code-visibility.test.tsx +28 -0
- package/src/core/meta/code-visibility.ts +3 -1
- package/src/core/run-app.tsx +6 -2
- package/src/core/saving/__tests__/save-component.test.ts +31 -1
- package/src/core/saving/save-component.tsx +39 -29
- package/src/core/saving/state.ts +1 -1
- package/src/core/static/download-html.ts +2 -0
- package/src/core/websocket/__tests__/useMarimoKernelConnection.hook.test.tsx +47 -14
- package/src/core/websocket/useMarimoKernelConnection.tsx +7 -2
- package/src/mount.tsx +24 -6
- package/dist/assets/ai-model-dropdown-CfWMIzjl.js +0 -3
- package/dist/assets/app-config-button-ii-Hj5CZ.js +0 -1
- package/dist/assets/cell-editor-BVb6iKbw.js +0 -21
- package/dist/assets/edit-page-RuyN164g.js +0 -9
- package/dist/assets/index-ChbtcNW2.js +0 -29
- package/dist/assets/layout-Uv1ZP5XB.js +0 -9
- package/dist/assets/panel-accordion-state-BLU7OiMD.js +0 -1
- package/dist/assets/panels-B3Y6fue9.js +0 -4
- package/dist/assets/readonly-python-code-D2HXwAfT.js +0 -1
- package/dist/assets/reveal-component-BN1C8zFu.js +0 -1069
- package/dist/assets/run-page-ByVvsH9G.js +0 -1
- package/dist/assets/session-panel-CdCKWAOf.js +0 -1
- package/dist/assets/skeleton-DirOIQrj.js +0 -1
- package/dist/assets/state-C9O-2hQL.js +0 -3
- package/dist/assets/state-DyxPdcEa.js +0 -1
- package/dist/assets/types-CoHi_MQq.js +0 -1
- package/dist/assets/useAddCell-DqvY2ulx.js +0 -1
- package/dist/assets/useBoolean-DWBCpKfT.js +0 -1
- package/dist/assets/useNotebookActions-Dxp4gTEa.js +0 -10
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as e,r as t,t as n}from"./rolldown-runtime-B0Z9INg1.js";import{t as r}from"./useEvent-xfs0Sn4r.js";import{t as i}from"./react-CBDbhulC.js";import{t as a}from"./compiler-runtime-CYIjoINj.js";import{_ as o}from"./useEventListener-D27Dii_l.js";import{t as s}from"./jsx-runtime-B74pBk57.js";import{o as c}from"./alert-dialog-BVi_GyOB.js";import{a as l}from"./tabs-c6mpccpH.js";import{a as u,p as d,r as f,t as p}from"./dropdown-menu-CqNabM1f.js";import{r as m}from"./requests-C6_IaFh7.js";import{t as h}from"./createLucideIcon-B7HeEoG2.js";import{n as g,t as _}from"./tree-actions-CGkbUSfG.js";import{t as v}from"./copy-BMXKNElG.js";import{b as y}from"./write-secret-modal-lNU_7c2x.js";import{t as b}from"./trash-2-D_HX-0qx.js";import{t as x}from"./use-toast-DpWHUGuF.js";import{t as ee}from"./paths-zcL04qUW.js";import{a as te}from"./errors-DzO-nXy-.js";import{t as ne}from"./extends-CvVTau-c.js";import{i as re,n as ie,r as S}from"./pathUtils-Cryrlpma.js";import{n as C}from"./semaphore-BjoL5P0h.js";var ae=h(`pen-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),w=e(i(),1),T=s(),oe=l();function se(e,t){return se=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},se(e,t)}function ce(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,se(e,t)}function le(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}var ue=n(((e,t)=>{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})),de=(0,w.createContext)({dragDropManager:void 0});function E(e){return`Minified Redux error #`+e+`; visit https://redux.js.org/Errors?code=`+e+` for the full message or use the non-minified dev environment for full errors. `}var fe=(function(){return typeof Symbol==`function`&&Symbol.observable||`@@observable`})(),pe=function(){return Math.random().toString(36).substring(7).split(``).join(`.`)},me={INIT:`@@redux/INIT`+pe(),REPLACE:`@@redux/REPLACE`+pe(),PROBE_UNKNOWN_ACTION:function(){return`@@redux/PROBE_UNKNOWN_ACTION`+pe()}};function he(e){if(typeof e!=`object`||!e)return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ge(e,t,n){var r;if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(E(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(E(1));return n(ge)(e,t)}if(typeof e!=`function`)throw Error(E(2));var i=e,a=t,o=[],s=o,c=!1;function l(){s===o&&(s=o.slice())}function u(){if(c)throw Error(E(3));return a}function d(e){if(typeof e!=`function`)throw Error(E(4));if(c)throw Error(E(5));var t=!0;return l(),s.push(e),function(){if(t){if(c)throw Error(E(6));t=!1,l();var n=s.indexOf(e);s.splice(n,1),o=null}}}function f(e){if(!he(e))throw Error(E(7));if(e.type===void 0)throw Error(E(8));if(c)throw Error(E(9));try{c=!0,a=i(a,e)}finally{c=!1}for(var t=o=s,n=0;n<t.length;n++){var r=t[n];r()}return e}function p(e){if(typeof e!=`function`)throw Error(E(10));i=e,f({type:me.REPLACE})}function m(){var e,t=d;return e={subscribe:function(e){if(typeof e!=`object`||!e)throw Error(E(11));function n(){e.next&&e.next(u())}return n(),{unsubscribe:t(n)}}},e[fe]=function(){return this},e}return f({type:me.INIT}),r={dispatch:f,subscribe:d,getState:u,replaceReducer:p},r[fe]=m,r}function D(e,t,...n){if(_e()&&t===void 0)throw Error(`invariant requires an error message argument`);if(!e){let e;if(t===void 0)e=Error(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{let r=0;e=Error(t.replace(/%s/g,function(){return n[r++]})),e.name=`Invariant Violation`}throw e.framesToPop=1,e}}function _e(){return typeof process<`u`&&!0}function ve(e,t,n){return t.split(`.`).reduce((e,t)=>e&&e[t]?e[t]:n||null,e)}function ye(e,t){return e.filter(e=>e!==t)}function be(e){return typeof e==`object`}function xe(e,t){let n=new Map,r=e=>{n.set(e,n.has(e)?n.get(e)+1:1)};e.forEach(r),t.forEach(r);let i=[];return n.forEach((e,t)=>{e===1&&i.push(t)}),i}function Se(e,t){return e.filter(e=>t.indexOf(e)>-1)}var Ce=`dnd-core/INIT_COORDS`,O=`dnd-core/BEGIN_DRAG`,we=`dnd-core/PUBLISH_DRAG_SOURCE`,k=`dnd-core/HOVER`,A=`dnd-core/DROP`,j=`dnd-core/END_DRAG`;function Te(e,t){return{type:Ce,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}var Ee={type:Ce,payload:{clientOffset:null,sourceClientOffset:null}};function De(e){return function(t=[],n={publishSource:!0}){let{publishSource:r=!0,clientOffset:i,getSourceClientOffset:a}=n,o=e.getMonitor(),s=e.getRegistry();e.dispatch(Te(i)),Oe(t,o,s);let c=je(t,o);if(c==null){e.dispatch(Ee);return}let l=null;if(i){if(!a)throw Error(`getSourceClientOffset must be defined`);ke(a),l=a(c)}e.dispatch(Te(i,l));let u=s.getSource(c).beginDrag(o,c);return u==null?void 0:(Ae(u),s.pinSource(c),{type:O,payload:{itemType:s.getSourceType(c),item:u,sourceId:c,clientOffset:i||null,sourceClientOffset:l||null,isSourcePublic:!!r}})}}function Oe(e,t,n){D(!t.isDragging(),`Cannot call beginDrag while dragging.`),e.forEach(function(e){D(n.getSource(e),`Expected sourceIds to be registered.`)})}function ke(e){D(typeof e==`function`,`When clientOffset is provided, getSourceClientOffset must be a function.`)}function Ae(e){D(be(e),`Item must be an object.`)}function je(e,t){let n=null;for(let r=e.length-1;r>=0;r--)if(t.canDragSource(e[r])){n=e[r];break}return n}function Me(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ne(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Me(e,t,n[t])})}return e}function Pe(e){return function(t={}){let n=e.getMonitor(),r=e.getRegistry();Fe(n),Re(n).forEach((i,a)=>{let o={type:A,payload:{dropResult:Ne({},t,Ie(i,a,r,n))}};e.dispatch(o)})}}function Fe(e){D(e.isDragging(),`Cannot call drop while not dragging.`),D(!e.didDrop(),`Cannot call drop twice during one drag operation.`)}function Ie(e,t,n,r){let i=n.getTarget(e),a=i?i.drop(r,e):void 0;return Le(a),a===void 0&&(a=t===0?{}:r.getDropResult()),a}function Le(e){D(e===void 0||be(e),`Drop result must either be an object or undefined.`)}function Re(e){let t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function ze(e){return function(){let t=e.getMonitor(),n=e.getRegistry();Be(t);let r=t.getSourceId();return r!=null&&(n.getSource(r,!0).endDrag(t,r),n.unpinSource()),{type:j}}}function Be(e){D(e.isDragging(),`Cannot call endDrag while not dragging.`)}function Ve(e,t){return t===null?e===null:Array.isArray(e)?e.some(e=>e===t):e===t}function He(e){return function(t,{clientOffset:n}={}){Ue(t);let r=t.slice(0),i=e.getMonitor(),a=e.getRegistry();return Ge(r,a,i.getItemType()),We(r,i,a),Ke(r,i,a),{type:k,payload:{targetIds:r,clientOffset:n||null}}}}function Ue(e){D(Array.isArray(e),`Expected targetIds to be an array.`)}function We(e,t,n){D(t.isDragging(),`Cannot call hover while not dragging.`),D(!t.didDrop(),`Cannot call hover after drop.`);for(let t=0;t<e.length;t++){let r=e[t];D(e.lastIndexOf(r)===t,`Expected targetIds to be unique in the passed array.`),D(n.getTarget(r),`Expected targetIds to be registered.`)}}function Ge(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r];Ve(t.getTargetType(i),n)||e.splice(r,1)}}function Ke(e,t,n){e.forEach(function(e){n.getTarget(e).hover(t,e)})}function qe(e){return function(){if(e.getMonitor().isDragging())return{type:we}}}function Je(e){return{beginDrag:De(e),publishDragSource:qe(e),hover:He(e),drop:Pe(e),endDrag:ze(e)}}var Ye=class{receiveBackend(e){this.backend=e}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){let e=this,{dispatch:t}=this.store;function n(n){return(...r)=>{let i=n.apply(e,r);i!==void 0&&t(i)}}let r=Je(this);return Object.keys(r).reduce((e,t)=>{let i=r[t];return e[t]=n(i),e},{})}dispatch(e){this.store.dispatch(e)}constructor(e,t){this.isSetUp=!1,this.handleRefCountChange=()=>{let e=this.store.getState().refCount>0;this.backend&&(e&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!e&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=t,e.subscribe(this.handleRefCountChange)}};function Xe(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ze(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Qe(e){let{clientOffset:t,initialClientOffset:n,initialSourceClientOffset:r}=e;return!t||!n||!r?null:Ze(Xe(t,r),n)}function $e(e){let{clientOffset:t,initialClientOffset:n}=e;return!t||!n?null:Ze(t,n)}var M=[],et=[];M.__IS_NONE__=!0,et.__IS_ALL__=!0;function tt(e,t){return e===M?!1:e===et||t===void 0||Se(t,e).length>0}var nt=class{subscribeToStateChange(e,t={}){let{handlerIds:n}=t;D(typeof e==`function`,`listener must be a function.`),D(n===void 0||Array.isArray(n),`handlerIds, when specified, must be an array of strings.`);let r=this.store.getState().stateId;return this.store.subscribe(()=>{let t=this.store.getState(),i=t.stateId;try{i===r||i===r+1&&!tt(t.dirtyHandlerIds,n)||e()}finally{r=i}})}subscribeToOffsetChange(e){D(typeof e==`function`,`listener must be a function.`);let t=this.store.getState().dragOffset;return this.store.subscribe(()=>{let n=this.store.getState().dragOffset;n!==t&&(t=n,e())})}canDragSource(e){if(!e)return!1;let t=this.registry.getSource(e);return D(t,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()&&t.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;let t=this.registry.getTarget(e);return D(t,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop()?!1:Ve(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e)}isDragging(){return!!this.getItemType()}isDraggingSource(e){if(!e)return!1;let t=this.registry.getSource(e,!0);return D(t,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()||!this.isSourcePublic()||this.registry.getSourceType(e)!==this.getItemType()?!1:t.isDragging(this,e)}isOverTarget(e,t={shallow:!1}){if(!e)return!1;let{shallow:n}=t;if(!this.isDragging())return!1;let r=this.registry.getTargetType(e),i=this.getItemType();if(i&&!Ve(r,i))return!1;let a=this.getTargetIds();if(!a.length)return!1;let o=a.indexOf(e);return n?o===a.length-1:o>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return Qe(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return $e(this.store.getState().dragOffset)}constructor(e,t){this.store=e,this.registry=t}},rt=typeof global<`u`?global:self,it=rt.MutationObserver||rt.WebKitMutationObserver;function at(e){return function(){let t=setTimeout(r,0),n=setInterval(r,50);function r(){clearTimeout(t),clearInterval(n),e()}}}function ot(e){let t=1,n=new it(e),r=document.createTextNode(``);return n.observe(r,{characterData:!0}),function(){t=-t,r.data=t}}var st=typeof it==`function`?ot:at,ct=class{enqueueTask(e){let{queue:t,requestFlush:n}=this;t.length||(n(),this.flushing=!0),t[t.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{let{queue:e}=this;for(;this.index<e.length;){let t=this.index;if(this.index++,e[t].call(),this.index>this.capacity){for(let t=0,n=e.length-this.index;t<n;t++)e[t]=e[t+this.index];e.length-=this.index,this.index=0}}e.length=0,this.index=0,this.flushing=!1},this.registerPendingError=e=>{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=st(this.flush),this.requestErrorThrow=at(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}},lt=class{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,t){this.onError=e,this.release=t,this.task=null}},ut=class{create(e){let t=this.freeTasks,n=t.length?t.pop():new lt(this.onError,e=>t[t.length]=e);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}},dt=new ct,ft=new ut(dt.registerPendingError);function pt(e){dt.enqueueTask(ft.create(e))}var mt=`dnd-core/ADD_SOURCE`,ht=`dnd-core/ADD_TARGET`,gt=`dnd-core/REMOVE_SOURCE`,N=`dnd-core/REMOVE_TARGET`;function _t(e){return{type:mt,payload:{sourceId:e}}}function vt(e){return{type:ht,payload:{targetId:e}}}function yt(e){return{type:gt,payload:{sourceId:e}}}function bt(e){return{type:N,payload:{targetId:e}}}function xt(e){D(typeof e.canDrag==`function`,`Expected canDrag to be a function.`),D(typeof e.beginDrag==`function`,`Expected beginDrag to be a function.`),D(typeof e.endDrag==`function`,`Expected endDrag to be a function.`)}function St(e){D(typeof e.canDrop==`function`,`Expected canDrop to be a function.`),D(typeof e.hover==`function`,`Expected hover to be a function.`),D(typeof e.drop==`function`,`Expected beginDrag to be a function.`)}function Ct(e,t){if(t&&Array.isArray(e)){e.forEach(e=>Ct(e,!1));return}D(typeof e==`string`||typeof e==`symbol`,t?`Type can only be a string, a symbol, or an array of either.`:`Type can only be a string or a symbol.`)}var P;(function(e){e.SOURCE=`SOURCE`,e.TARGET=`TARGET`})(P||={});var wt=0;function Tt(){return wt++}function Et(e){let t=Tt().toString();switch(e){case P.SOURCE:return`S${t}`;case P.TARGET:return`T${t}`;default:throw Error(`Unknown Handler Role: ${e}`)}}function Dt(e){switch(e[0]){case`S`:return P.SOURCE;case`T`:return P.TARGET;default:throw Error(`Cannot parse handler ID: ${e}`)}}function Ot(e,t){let n=e.entries(),r=!1;do{let{done:e,value:[,i]}=n.next();if(i===t)return!0;r=!!e}while(!r);return!1}var kt=class{addSource(e,t){Ct(e),xt(t);let n=this.addHandler(P.SOURCE,e,t);return this.store.dispatch(_t(n)),n}addTarget(e,t){Ct(e,!0),St(t);let n=this.addHandler(P.TARGET,e,t);return this.store.dispatch(vt(n)),n}containsHandler(e){return Ot(this.dragSources,e)||Ot(this.dropTargets,e)}getSource(e,t=!1){return D(this.isSourceId(e),`Expected a valid source ID.`),t&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return D(this.isTargetId(e),`Expected a valid target ID.`),this.dropTargets.get(e)}getSourceType(e){return D(this.isSourceId(e),`Expected a valid source ID.`),this.types.get(e)}getTargetType(e){return D(this.isTargetId(e),`Expected a valid target ID.`),this.types.get(e)}isSourceId(e){return Dt(e)===P.SOURCE}isTargetId(e){return Dt(e)===P.TARGET}removeSource(e){D(this.getSource(e),`Expected an existing source.`),this.store.dispatch(yt(e)),pt(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){D(this.getTarget(e),`Expected an existing target.`),this.store.dispatch(bt(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){let t=this.getSource(e);D(t,`Expected an existing source.`),this.pinnedSourceId=e,this.pinnedSource=t}unpinSource(){D(this.pinnedSource,`No source is pinned at the time.`),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,t,n){let r=Et(e);return this.types.set(r,t),e===P.SOURCE?this.dragSources.set(r,n):e===P.TARGET&&this.dropTargets.set(r,n),r}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}},At=(e,t)=>e===t;function jt(e,t){return!e&&!t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y}function Mt(e,t,n=At){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if(!n(e[r],t[r]))return!1;return!0}function Nt(e=M,t){switch(t.type){case k:break;case mt:case ht:case N:case gt:return M;case O:case we:case j:case A:default:return et}let{targetIds:n=[],prevTargetIds:r=[]}=t.payload,i=xe(n,r);if(!(i.length>0||!Mt(n,r)))return M;let a=r[r.length-1],o=n[n.length-1];return a!==o&&(a&&i.push(a),o&&i.push(o)),i}function Pt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ft(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Pt(e,t,n[t])})}return e}var It={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function Lt(e=It,t){let{payload:n}=t;switch(t.type){case Ce:case O:return{initialSourceClientOffset:n.sourceClientOffset,initialClientOffset:n.clientOffset,clientOffset:n.clientOffset};case k:return jt(e.clientOffset,n.clientOffset)?e:Ft({},e,{clientOffset:n.clientOffset});case j:case A:return It;default:return e}}function Rt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Rt(e,t,n[t])})}return e}var zt={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function Bt(e=zt,t){let{payload:n}=t;switch(t.type){case O:return F({},e,{itemType:n.itemType,item:n.item,sourceId:n.sourceId,isSourcePublic:n.isSourcePublic,dropResult:null,didDrop:!1});case we:return F({},e,{isSourcePublic:!0});case k:return F({},e,{targetIds:n.targetIds});case N:return e.targetIds.indexOf(n.targetId)===-1?e:F({},e,{targetIds:ye(e.targetIds,n.targetId)});case A:return F({},e,{dropResult:n.dropResult,didDrop:!0,targetIds:[]});case j:return F({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function Vt(e=0,t){switch(t.type){case mt:case ht:return e+1;case gt:case N:return e-1;default:return e}}function Ht(e=0){return e+1}function Ut(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ut(e,t,n[t])})}return e}function Gt(e={},t){return{dirtyHandlerIds:Nt(e.dirtyHandlerIds,{type:t.type,payload:Wt({},t.payload,{prevTargetIds:ve(e,`dragOperation.targetIds`,[])})}),dragOffset:Lt(e.dragOffset,t),refCount:Vt(e.refCount,t),dragOperation:Bt(e.dragOperation,t),stateId:Ht(e.stateId)}}function Kt(e,t=void 0,n={},r=!1){let i=qt(r),a=new Ye(i,new nt(i,new kt(i))),o=e(a,t,n);return a.receiveBackend(o),a}function qt(e){let t=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__;return ge(Gt,e&&t&&t({name:`dnd-core`,instanceId:`dnd-core`}))}function Jt(e,t){if(e==null)return{};var n=Yt(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Yt(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}var Xt=0,Zt=Symbol.for(`__REACT_DND_CONTEXT_INSTANCE__`),Qt=(0,w.memo)(function(e){var{children:t}=e;let[n,r]=$t(Jt(e,[`children`]));return(0,w.useEffect)(()=>{if(r){let e=tn();return++Xt,()=>{--Xt===0&&(e[Zt]=null)}}},[]),(0,T.jsx)(de.Provider,{value:n,children:t})});function $t(e){return`manager`in e?[{dragDropManager:e.manager},!1]:[en(e.backend,e.context,e.options,e.debugMode),!e.context]}function en(e,t=tn(),n,r){let i=t;return i[Zt]||(i[Zt]={dragDropManager:Kt(e,t,n,r)}),i[Zt]}function tn(){return typeof global<`u`?global:window}var nn=e(ue(),1),I=typeof window<`u`?w.useLayoutEffect:w.useEffect;function rn(e,t,n){let[r,i]=(0,w.useState)(()=>t(e)),a=(0,w.useCallback)(()=>{let a=t(e);(0,nn.default)(r,a)||(i(a),n&&n())},[r,e,n]);return I(a),[r,a]}function an(e,t,n){let[r,i]=rn(e,t,n);return I(function(){let t=e.getHandlerId();if(t!=null)return e.subscribeToStateChange(i,{handlerIds:[t]})},[e,i]),r}function on(e,t,n){return an(t,e||(()=>({})),()=>n.reconnect())}function sn(e,t){let n=[...t||[]];return t==null&&typeof e!=`function`&&n.push(e),(0,w.useMemo)(()=>typeof e==`function`?e():e,n)}function cn(e){return(0,w.useMemo)(()=>e.hooks.dragSource(),[e])}function ln(e){return(0,w.useMemo)(()=>e.hooks.dragPreview(),[e])}var un=!1,dn=!1,fn=class{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){D(!un,`You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor`);try{return un=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{un=!1}}isDragging(){if(!this.sourceId)return!1;D(!dn,`You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor`);try{return dn=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{dn=!1}}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,t){return this.internalMonitor.isOverTarget(e,t)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}},pn=!1,mn=class{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}canDrop(){if(!this.targetId)return!1;D(!pn,`You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor`);try{return pn=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{pn=!1}}isOver(e){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,e):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}};function hn(e,t,n){let r=n.getRegistry(),i=r.addTarget(e,t);return[i,()=>r.removeTarget(i)]}function gn(e,t,n){let r=n.getRegistry(),i=r.addSource(e,t);return[i,()=>r.removeSource(i)]}function _n(e,t,n,r){let i=n?n.call(r,e,t):void 0;if(i!==void 0)return!!i;if(e===t)return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let a=Object.keys(e),o=Object.keys(t);if(a.length!==o.length)return!1;let s=Object.prototype.hasOwnProperty.bind(t);for(let o=0;o<a.length;o++){let c=a[o];if(!s(c))return!1;let l=e[c],u=t[c];if(i=n?n.call(r,l,u,c):void 0,i===!1||i===void 0&&l!==u)return!1}return!0}function vn(e){return typeof e==`object`&&!!e&&Object.prototype.hasOwnProperty.call(e,`current`)}function yn(e){if(typeof e.type==`string`)return;let t=e.type.displayName||e.type.name||`the component`;throw Error(`Only native element nodes can now be passed to React DnD connectors.You can either wrap ${t} into a <div>, or turn it into a drag source or a drop target itself.`)}function bn(e){return(t=null,n=null)=>{if(!(0,w.isValidElement)(t)){let r=t;return e(r,n),r}let r=t;return yn(r),Cn(r,n?t=>e(t,n):e)}}function xn(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];if(n.endsWith(`Ref`))t[n]=e[n];else{let e=bn(r);t[n]=()=>e}}),t}function Sn(e,t){typeof e==`function`?e(t):e.current=t}function Cn(e,t){let n=e.ref;return D(typeof n!=`string`,`Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs`),n?(0,w.cloneElement)(e,{ref:e=>{Sn(n,e),Sn(t,e)}}):(0,w.cloneElement)(e,{ref:t})}var wn=class{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){let e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){let e=this.dragSource,t=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return t&&this.disconnectDragSource(),this.handlerId?e?(t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)),t):(this.lastConnectedDragSource=e,t):t}reconnectDragPreview(e=!1){let t=this.dragPreview,n=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(n&&this.disconnectDragPreview(),this.handlerId){if(!t){this.lastConnectedDragPreview=t;return}n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=t,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,t,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!_n(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!_n(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&=(this.dragSourceUnsubscribe(),void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=xn({dragSource:(e,t)=>{this.clearDragSource(),this.dragSourceOptions=t||null,vn(e)?this.dragSourceRef=e:this.dragSourceNode=e,this.reconnectDragSource()},dragPreview:(e,t)=>{this.clearDragPreview(),this.dragPreviewOptions=t||null,vn(e)?this.dragPreviewRef=e:this.dragPreviewNode=e,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}},Tn=class{get connectTarget(){return this.dropTarget}reconnect(){let e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();let t=this.dropTarget;if(this.handlerId){if(!t){this.lastConnectedDropTarget=t;return}e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=t,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,t,this.dropTargetOptions))}}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!_n(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&=(this.unsubscribeDropTarget(),void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=xn({dropTarget:(e,t)=>{this.clearDropTarget(),this.dropTargetOptions=t,vn(e)?this.dropTargetRef=e:this.dropTargetNode=e,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}};function L(){let{dragDropManager:e}=(0,w.useContext)(de);return D(e!=null,`Expected drag drop context`),e}function En(e,t){let n=L(),r=(0,w.useMemo)(()=>new wn(n.getBackend()),[n]);return I(()=>(r.dragSourceOptions=e||null,r.reconnect(),()=>r.disconnectDragSource()),[r,e]),I(()=>(r.dragPreviewOptions=t||null,r.reconnect(),()=>r.disconnectDragPreview()),[r,t]),r}function Dn(){let e=L();return(0,w.useMemo)(()=>new fn(e),[e])}var On=class{beginDrag(){let e=this.spec,t=this.monitor,n=null;return n=typeof e.item==`object`?e.item:typeof e.item==`function`?e.item(t):{},n??null}canDrag(){let e=this.spec,t=this.monitor;return typeof e.canDrag==`boolean`?e.canDrag:typeof e.canDrag!=`function`||e.canDrag(t)}isDragging(e,t){let n=this.spec,r=this.monitor,{isDragging:i}=n;return i?i(r):t===e.getSourceId()}endDrag(){let e=this.spec,t=this.monitor,n=this.connector,{end:r}=e;r&&r(t.getItem(),t),n.reconnect()}constructor(e,t,n){this.spec=e,this.monitor=t,this.connector=n}};function kn(e,t,n){let r=(0,w.useMemo)(()=>new On(e,t,n),[t,n]);return(0,w.useEffect)(()=>{r.spec=e},[e]),r}function An(e){return(0,w.useMemo)(()=>{let t=e.type;return D(t!=null,`spec.type must be defined`),t},[e])}function jn(e,t,n){let r=L(),i=kn(e,t,n),a=An(e);I(function(){if(a!=null){let[e,o]=gn(a,i,r);return t.receiveHandlerId(e),n.receiveHandlerId(e),o}},[r,t,n,i,a])}function Mn(e,t){let n=sn(e,t);D(!n.begin,`useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)`);let r=Dn(),i=En(n.options,n.previewOptions);return jn(n,r,i),[on(n.collect,r,i),cn(i),ln(i)]}function Nn(e){let t=L().getMonitor(),[n,r]=rn(t,e);return(0,w.useEffect)(()=>t.subscribeToOffsetChange(r)),(0,w.useEffect)(()=>t.subscribeToStateChange(r)),n}function Pn(e){return(0,w.useMemo)(()=>e.hooks.dropTarget(),[e])}function Fn(e){let t=L(),n=(0,w.useMemo)(()=>new Tn(t.getBackend()),[t]);return I(()=>(n.dropTargetOptions=e||null,n.reconnect(),()=>n.disconnectDropTarget()),[e]),n}function In(){let e=L();return(0,w.useMemo)(()=>new mn(e),[e])}function Ln(e){let{accept:t}=e;return(0,w.useMemo)(()=>(D(e.accept!=null,`accept must be defined`),Array.isArray(t)?t:[t]),[t])}var Rn=class{canDrop(){let e=this.spec,t=this.monitor;return!e.canDrop||e.canDrop(t.getItem(),t)}hover(){let e=this.spec,t=this.monitor;e.hover&&e.hover(t.getItem(),t)}drop(){let e=this.spec,t=this.monitor;if(e.drop)return e.drop(t.getItem(),t)}constructor(e,t){this.spec=e,this.monitor=t}};function zn(e,t){let n=(0,w.useMemo)(()=>new Rn(e,t),[t]);return(0,w.useEffect)(()=>{n.spec=e},[e]),n}function Bn(e,t,n){let r=L(),i=zn(e,t),a=Ln(e);I(function(){let[e,o]=hn(a,i,r);return t.receiveHandlerId(e),n.receiveHandlerId(e),o},[r,t,i,n,a.map(e=>e.toString()).join(`|`)])}function Vn(e,t){let n=sn(e,t),r=In(),i=Fn(n.options);return Bn(n,r,i),[on(n.collect,r,i),Pn(i)]}function Hn(e){let t=null;return()=>(t??=e(),t)}function Un(e,t){return e.filter(e=>e!==t)}function Wn(e,t){let n=new Set,r=e=>n.add(e);e.forEach(r),t.forEach(r);let i=[];return n.forEach(e=>i.push(e)),i}var Gn=class{enter(e){let t=this.entered.length,n=t=>this.isNodeInDocument(t)&&(!t.contains||t.contains(e));return this.entered=Wn(this.entered.filter(n),[e]),t===0&&this.entered.length>0}leave(e){let t=this.entered.length;return this.entered=Un(this.entered.filter(this.isNodeInDocument),e),t>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}},Kn=class{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${e}" until the drop event.`),null}})})}loadDataTransfer(e){if(e){let t={};Object.keys(this.config.exposeProperties).forEach(n=>{let r=this.config.exposeProperties[n];r!=null&&(t[n]={value:r(e,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,t)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,t){return t===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}},qn=t({FILE:()=>Jn,HTML:()=>Zn,TEXT:()=>Xn,URL:()=>Yn}),Jn=`__NATIVE_FILE__`,Yn=`__NATIVE_URL__`,Xn=`__NATIVE_TEXT__`,Zn=`__NATIVE_HTML__`;function Qn(e,t,n){return t.reduce((t,n)=>t||e.getData(n),``)??n}var $n={[Jn]:{exposeProperties:{files:e=>Array.prototype.slice.call(e.files),items:e=>e.items,dataTransfer:e=>e},matchesTypes:[`Files`]},[Zn]:{exposeProperties:{html:(e,t)=>Qn(e,t,``),dataTransfer:e=>e},matchesTypes:[`Html`,`text/html`]},[Yn]:{exposeProperties:{urls:(e,t)=>Qn(e,t,``).split(`
|
|
1
|
+
import{a as e,r as t,t as n}from"./rolldown-runtime-B0Z9INg1.js";import{t as r}from"./useEvent-xfs0Sn4r.js";import{t as i}from"./react-CBDbhulC.js";import{t as a}from"./compiler-runtime-CYIjoINj.js";import{_ as o}from"./useEventListener-D27Dii_l.js";import{t as s}from"./jsx-runtime-B74pBk57.js";import{o as c}from"./alert-dialog-BVi_GyOB.js";import{a as l}from"./tabs-c6mpccpH.js";import{a as u,p as d,r as f,t as p}from"./dropdown-menu-CqNabM1f.js";import{r as m}from"./requests-C6_IaFh7.js";import{t as h}from"./createLucideIcon-B7HeEoG2.js";import{n as g,t as _}from"./tree-actions-Bh-Nnaub.js";import{t as v}from"./copy-BMXKNElG.js";import{b as y}from"./write-secret-modal-lNU_7c2x.js";import{t as b}from"./trash-2-D_HX-0qx.js";import{t as x}from"./use-toast-DpWHUGuF.js";import{t as ee}from"./paths-zcL04qUW.js";import{a as te}from"./errors-DzO-nXy-.js";import{t as ne}from"./extends-CvVTau-c.js";import{i as re,n as ie,r as S}from"./pathUtils-Cryrlpma.js";import{n as C}from"./semaphore-BjoL5P0h.js";var ae=h(`pen-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),w=e(i(),1),T=s(),oe=l();function se(e,t){return se=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},se(e,t)}function ce(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,se(e,t)}function le(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}var ue=n(((e,t)=>{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})),de=(0,w.createContext)({dragDropManager:void 0});function E(e){return`Minified Redux error #`+e+`; visit https://redux.js.org/Errors?code=`+e+` for the full message or use the non-minified dev environment for full errors. `}var fe=(function(){return typeof Symbol==`function`&&Symbol.observable||`@@observable`})(),pe=function(){return Math.random().toString(36).substring(7).split(``).join(`.`)},me={INIT:`@@redux/INIT`+pe(),REPLACE:`@@redux/REPLACE`+pe(),PROBE_UNKNOWN_ACTION:function(){return`@@redux/PROBE_UNKNOWN_ACTION`+pe()}};function he(e){if(typeof e!=`object`||!e)return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ge(e,t,n){var r;if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(E(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(E(1));return n(ge)(e,t)}if(typeof e!=`function`)throw Error(E(2));var i=e,a=t,o=[],s=o,c=!1;function l(){s===o&&(s=o.slice())}function u(){if(c)throw Error(E(3));return a}function d(e){if(typeof e!=`function`)throw Error(E(4));if(c)throw Error(E(5));var t=!0;return l(),s.push(e),function(){if(t){if(c)throw Error(E(6));t=!1,l();var n=s.indexOf(e);s.splice(n,1),o=null}}}function f(e){if(!he(e))throw Error(E(7));if(e.type===void 0)throw Error(E(8));if(c)throw Error(E(9));try{c=!0,a=i(a,e)}finally{c=!1}for(var t=o=s,n=0;n<t.length;n++){var r=t[n];r()}return e}function p(e){if(typeof e!=`function`)throw Error(E(10));i=e,f({type:me.REPLACE})}function m(){var e,t=d;return e={subscribe:function(e){if(typeof e!=`object`||!e)throw Error(E(11));function n(){e.next&&e.next(u())}return n(),{unsubscribe:t(n)}}},e[fe]=function(){return this},e}return f({type:me.INIT}),r={dispatch:f,subscribe:d,getState:u,replaceReducer:p},r[fe]=m,r}function D(e,t,...n){if(_e()&&t===void 0)throw Error(`invariant requires an error message argument`);if(!e){let e;if(t===void 0)e=Error(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{let r=0;e=Error(t.replace(/%s/g,function(){return n[r++]})),e.name=`Invariant Violation`}throw e.framesToPop=1,e}}function _e(){return typeof process<`u`&&!0}function ve(e,t,n){return t.split(`.`).reduce((e,t)=>e&&e[t]?e[t]:n||null,e)}function ye(e,t){return e.filter(e=>e!==t)}function be(e){return typeof e==`object`}function xe(e,t){let n=new Map,r=e=>{n.set(e,n.has(e)?n.get(e)+1:1)};e.forEach(r),t.forEach(r);let i=[];return n.forEach((e,t)=>{e===1&&i.push(t)}),i}function Se(e,t){return e.filter(e=>t.indexOf(e)>-1)}var Ce=`dnd-core/INIT_COORDS`,O=`dnd-core/BEGIN_DRAG`,we=`dnd-core/PUBLISH_DRAG_SOURCE`,k=`dnd-core/HOVER`,A=`dnd-core/DROP`,j=`dnd-core/END_DRAG`;function Te(e,t){return{type:Ce,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}var Ee={type:Ce,payload:{clientOffset:null,sourceClientOffset:null}};function De(e){return function(t=[],n={publishSource:!0}){let{publishSource:r=!0,clientOffset:i,getSourceClientOffset:a}=n,o=e.getMonitor(),s=e.getRegistry();e.dispatch(Te(i)),Oe(t,o,s);let c=je(t,o);if(c==null){e.dispatch(Ee);return}let l=null;if(i){if(!a)throw Error(`getSourceClientOffset must be defined`);ke(a),l=a(c)}e.dispatch(Te(i,l));let u=s.getSource(c).beginDrag(o,c);return u==null?void 0:(Ae(u),s.pinSource(c),{type:O,payload:{itemType:s.getSourceType(c),item:u,sourceId:c,clientOffset:i||null,sourceClientOffset:l||null,isSourcePublic:!!r}})}}function Oe(e,t,n){D(!t.isDragging(),`Cannot call beginDrag while dragging.`),e.forEach(function(e){D(n.getSource(e),`Expected sourceIds to be registered.`)})}function ke(e){D(typeof e==`function`,`When clientOffset is provided, getSourceClientOffset must be a function.`)}function Ae(e){D(be(e),`Item must be an object.`)}function je(e,t){let n=null;for(let r=e.length-1;r>=0;r--)if(t.canDragSource(e[r])){n=e[r];break}return n}function Me(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ne(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Me(e,t,n[t])})}return e}function Pe(e){return function(t={}){let n=e.getMonitor(),r=e.getRegistry();Fe(n),Re(n).forEach((i,a)=>{let o={type:A,payload:{dropResult:Ne({},t,Ie(i,a,r,n))}};e.dispatch(o)})}}function Fe(e){D(e.isDragging(),`Cannot call drop while not dragging.`),D(!e.didDrop(),`Cannot call drop twice during one drag operation.`)}function Ie(e,t,n,r){let i=n.getTarget(e),a=i?i.drop(r,e):void 0;return Le(a),a===void 0&&(a=t===0?{}:r.getDropResult()),a}function Le(e){D(e===void 0||be(e),`Drop result must either be an object or undefined.`)}function Re(e){let t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function ze(e){return function(){let t=e.getMonitor(),n=e.getRegistry();Be(t);let r=t.getSourceId();return r!=null&&(n.getSource(r,!0).endDrag(t,r),n.unpinSource()),{type:j}}}function Be(e){D(e.isDragging(),`Cannot call endDrag while not dragging.`)}function Ve(e,t){return t===null?e===null:Array.isArray(e)?e.some(e=>e===t):e===t}function He(e){return function(t,{clientOffset:n}={}){Ue(t);let r=t.slice(0),i=e.getMonitor(),a=e.getRegistry();return Ge(r,a,i.getItemType()),We(r,i,a),Ke(r,i,a),{type:k,payload:{targetIds:r,clientOffset:n||null}}}}function Ue(e){D(Array.isArray(e),`Expected targetIds to be an array.`)}function We(e,t,n){D(t.isDragging(),`Cannot call hover while not dragging.`),D(!t.didDrop(),`Cannot call hover after drop.`);for(let t=0;t<e.length;t++){let r=e[t];D(e.lastIndexOf(r)===t,`Expected targetIds to be unique in the passed array.`),D(n.getTarget(r),`Expected targetIds to be registered.`)}}function Ge(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r];Ve(t.getTargetType(i),n)||e.splice(r,1)}}function Ke(e,t,n){e.forEach(function(e){n.getTarget(e).hover(t,e)})}function qe(e){return function(){if(e.getMonitor().isDragging())return{type:we}}}function Je(e){return{beginDrag:De(e),publishDragSource:qe(e),hover:He(e),drop:Pe(e),endDrag:ze(e)}}var Ye=class{receiveBackend(e){this.backend=e}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){let e=this,{dispatch:t}=this.store;function n(n){return(...r)=>{let i=n.apply(e,r);i!==void 0&&t(i)}}let r=Je(this);return Object.keys(r).reduce((e,t)=>{let i=r[t];return e[t]=n(i),e},{})}dispatch(e){this.store.dispatch(e)}constructor(e,t){this.isSetUp=!1,this.handleRefCountChange=()=>{let e=this.store.getState().refCount>0;this.backend&&(e&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!e&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=t,e.subscribe(this.handleRefCountChange)}};function Xe(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ze(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Qe(e){let{clientOffset:t,initialClientOffset:n,initialSourceClientOffset:r}=e;return!t||!n||!r?null:Ze(Xe(t,r),n)}function $e(e){let{clientOffset:t,initialClientOffset:n}=e;return!t||!n?null:Ze(t,n)}var M=[],et=[];M.__IS_NONE__=!0,et.__IS_ALL__=!0;function tt(e,t){return e===M?!1:e===et||t===void 0||Se(t,e).length>0}var nt=class{subscribeToStateChange(e,t={}){let{handlerIds:n}=t;D(typeof e==`function`,`listener must be a function.`),D(n===void 0||Array.isArray(n),`handlerIds, when specified, must be an array of strings.`);let r=this.store.getState().stateId;return this.store.subscribe(()=>{let t=this.store.getState(),i=t.stateId;try{i===r||i===r+1&&!tt(t.dirtyHandlerIds,n)||e()}finally{r=i}})}subscribeToOffsetChange(e){D(typeof e==`function`,`listener must be a function.`);let t=this.store.getState().dragOffset;return this.store.subscribe(()=>{let n=this.store.getState().dragOffset;n!==t&&(t=n,e())})}canDragSource(e){if(!e)return!1;let t=this.registry.getSource(e);return D(t,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()&&t.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;let t=this.registry.getTarget(e);return D(t,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop()?!1:Ve(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e)}isDragging(){return!!this.getItemType()}isDraggingSource(e){if(!e)return!1;let t=this.registry.getSource(e,!0);return D(t,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()||!this.isSourcePublic()||this.registry.getSourceType(e)!==this.getItemType()?!1:t.isDragging(this,e)}isOverTarget(e,t={shallow:!1}){if(!e)return!1;let{shallow:n}=t;if(!this.isDragging())return!1;let r=this.registry.getTargetType(e),i=this.getItemType();if(i&&!Ve(r,i))return!1;let a=this.getTargetIds();if(!a.length)return!1;let o=a.indexOf(e);return n?o===a.length-1:o>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return Qe(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return $e(this.store.getState().dragOffset)}constructor(e,t){this.store=e,this.registry=t}},rt=typeof global<`u`?global:self,it=rt.MutationObserver||rt.WebKitMutationObserver;function at(e){return function(){let t=setTimeout(r,0),n=setInterval(r,50);function r(){clearTimeout(t),clearInterval(n),e()}}}function ot(e){let t=1,n=new it(e),r=document.createTextNode(``);return n.observe(r,{characterData:!0}),function(){t=-t,r.data=t}}var st=typeof it==`function`?ot:at,ct=class{enqueueTask(e){let{queue:t,requestFlush:n}=this;t.length||(n(),this.flushing=!0),t[t.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{let{queue:e}=this;for(;this.index<e.length;){let t=this.index;if(this.index++,e[t].call(),this.index>this.capacity){for(let t=0,n=e.length-this.index;t<n;t++)e[t]=e[t+this.index];e.length-=this.index,this.index=0}}e.length=0,this.index=0,this.flushing=!1},this.registerPendingError=e=>{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=st(this.flush),this.requestErrorThrow=at(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}},lt=class{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,t){this.onError=e,this.release=t,this.task=null}},ut=class{create(e){let t=this.freeTasks,n=t.length?t.pop():new lt(this.onError,e=>t[t.length]=e);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}},dt=new ct,ft=new ut(dt.registerPendingError);function pt(e){dt.enqueueTask(ft.create(e))}var mt=`dnd-core/ADD_SOURCE`,ht=`dnd-core/ADD_TARGET`,gt=`dnd-core/REMOVE_SOURCE`,N=`dnd-core/REMOVE_TARGET`;function _t(e){return{type:mt,payload:{sourceId:e}}}function vt(e){return{type:ht,payload:{targetId:e}}}function yt(e){return{type:gt,payload:{sourceId:e}}}function bt(e){return{type:N,payload:{targetId:e}}}function xt(e){D(typeof e.canDrag==`function`,`Expected canDrag to be a function.`),D(typeof e.beginDrag==`function`,`Expected beginDrag to be a function.`),D(typeof e.endDrag==`function`,`Expected endDrag to be a function.`)}function St(e){D(typeof e.canDrop==`function`,`Expected canDrop to be a function.`),D(typeof e.hover==`function`,`Expected hover to be a function.`),D(typeof e.drop==`function`,`Expected beginDrag to be a function.`)}function Ct(e,t){if(t&&Array.isArray(e)){e.forEach(e=>Ct(e,!1));return}D(typeof e==`string`||typeof e==`symbol`,t?`Type can only be a string, a symbol, or an array of either.`:`Type can only be a string or a symbol.`)}var P;(function(e){e.SOURCE=`SOURCE`,e.TARGET=`TARGET`})(P||={});var wt=0;function Tt(){return wt++}function Et(e){let t=Tt().toString();switch(e){case P.SOURCE:return`S${t}`;case P.TARGET:return`T${t}`;default:throw Error(`Unknown Handler Role: ${e}`)}}function Dt(e){switch(e[0]){case`S`:return P.SOURCE;case`T`:return P.TARGET;default:throw Error(`Cannot parse handler ID: ${e}`)}}function Ot(e,t){let n=e.entries(),r=!1;do{let{done:e,value:[,i]}=n.next();if(i===t)return!0;r=!!e}while(!r);return!1}var kt=class{addSource(e,t){Ct(e),xt(t);let n=this.addHandler(P.SOURCE,e,t);return this.store.dispatch(_t(n)),n}addTarget(e,t){Ct(e,!0),St(t);let n=this.addHandler(P.TARGET,e,t);return this.store.dispatch(vt(n)),n}containsHandler(e){return Ot(this.dragSources,e)||Ot(this.dropTargets,e)}getSource(e,t=!1){return D(this.isSourceId(e),`Expected a valid source ID.`),t&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return D(this.isTargetId(e),`Expected a valid target ID.`),this.dropTargets.get(e)}getSourceType(e){return D(this.isSourceId(e),`Expected a valid source ID.`),this.types.get(e)}getTargetType(e){return D(this.isTargetId(e),`Expected a valid target ID.`),this.types.get(e)}isSourceId(e){return Dt(e)===P.SOURCE}isTargetId(e){return Dt(e)===P.TARGET}removeSource(e){D(this.getSource(e),`Expected an existing source.`),this.store.dispatch(yt(e)),pt(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){D(this.getTarget(e),`Expected an existing target.`),this.store.dispatch(bt(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){let t=this.getSource(e);D(t,`Expected an existing source.`),this.pinnedSourceId=e,this.pinnedSource=t}unpinSource(){D(this.pinnedSource,`No source is pinned at the time.`),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,t,n){let r=Et(e);return this.types.set(r,t),e===P.SOURCE?this.dragSources.set(r,n):e===P.TARGET&&this.dropTargets.set(r,n),r}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}},At=(e,t)=>e===t;function jt(e,t){return!e&&!t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y}function Mt(e,t,n=At){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if(!n(e[r],t[r]))return!1;return!0}function Nt(e=M,t){switch(t.type){case k:break;case mt:case ht:case N:case gt:return M;case O:case we:case j:case A:default:return et}let{targetIds:n=[],prevTargetIds:r=[]}=t.payload,i=xe(n,r);if(!(i.length>0||!Mt(n,r)))return M;let a=r[r.length-1],o=n[n.length-1];return a!==o&&(a&&i.push(a),o&&i.push(o)),i}function Pt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ft(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Pt(e,t,n[t])})}return e}var It={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function Lt(e=It,t){let{payload:n}=t;switch(t.type){case Ce:case O:return{initialSourceClientOffset:n.sourceClientOffset,initialClientOffset:n.clientOffset,clientOffset:n.clientOffset};case k:return jt(e.clientOffset,n.clientOffset)?e:Ft({},e,{clientOffset:n.clientOffset});case j:case A:return It;default:return e}}function Rt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Rt(e,t,n[t])})}return e}var zt={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function Bt(e=zt,t){let{payload:n}=t;switch(t.type){case O:return F({},e,{itemType:n.itemType,item:n.item,sourceId:n.sourceId,isSourcePublic:n.isSourcePublic,dropResult:null,didDrop:!1});case we:return F({},e,{isSourcePublic:!0});case k:return F({},e,{targetIds:n.targetIds});case N:return e.targetIds.indexOf(n.targetId)===-1?e:F({},e,{targetIds:ye(e.targetIds,n.targetId)});case A:return F({},e,{dropResult:n.dropResult,didDrop:!0,targetIds:[]});case j:return F({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function Vt(e=0,t){switch(t.type){case mt:case ht:return e+1;case gt:case N:return e-1;default:return e}}function Ht(e=0){return e+1}function Ut(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ut(e,t,n[t])})}return e}function Gt(e={},t){return{dirtyHandlerIds:Nt(e.dirtyHandlerIds,{type:t.type,payload:Wt({},t.payload,{prevTargetIds:ve(e,`dragOperation.targetIds`,[])})}),dragOffset:Lt(e.dragOffset,t),refCount:Vt(e.refCount,t),dragOperation:Bt(e.dragOperation,t),stateId:Ht(e.stateId)}}function Kt(e,t=void 0,n={},r=!1){let i=qt(r),a=new Ye(i,new nt(i,new kt(i))),o=e(a,t,n);return a.receiveBackend(o),a}function qt(e){let t=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__;return ge(Gt,e&&t&&t({name:`dnd-core`,instanceId:`dnd-core`}))}function Jt(e,t){if(e==null)return{};var n=Yt(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Yt(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}var Xt=0,Zt=Symbol.for(`__REACT_DND_CONTEXT_INSTANCE__`),Qt=(0,w.memo)(function(e){var{children:t}=e;let[n,r]=$t(Jt(e,[`children`]));return(0,w.useEffect)(()=>{if(r){let e=tn();return++Xt,()=>{--Xt===0&&(e[Zt]=null)}}},[]),(0,T.jsx)(de.Provider,{value:n,children:t})});function $t(e){return`manager`in e?[{dragDropManager:e.manager},!1]:[en(e.backend,e.context,e.options,e.debugMode),!e.context]}function en(e,t=tn(),n,r){let i=t;return i[Zt]||(i[Zt]={dragDropManager:Kt(e,t,n,r)}),i[Zt]}function tn(){return typeof global<`u`?global:window}var nn=e(ue(),1),I=typeof window<`u`?w.useLayoutEffect:w.useEffect;function rn(e,t,n){let[r,i]=(0,w.useState)(()=>t(e)),a=(0,w.useCallback)(()=>{let a=t(e);(0,nn.default)(r,a)||(i(a),n&&n())},[r,e,n]);return I(a),[r,a]}function an(e,t,n){let[r,i]=rn(e,t,n);return I(function(){let t=e.getHandlerId();if(t!=null)return e.subscribeToStateChange(i,{handlerIds:[t]})},[e,i]),r}function on(e,t,n){return an(t,e||(()=>({})),()=>n.reconnect())}function sn(e,t){let n=[...t||[]];return t==null&&typeof e!=`function`&&n.push(e),(0,w.useMemo)(()=>typeof e==`function`?e():e,n)}function cn(e){return(0,w.useMemo)(()=>e.hooks.dragSource(),[e])}function ln(e){return(0,w.useMemo)(()=>e.hooks.dragPreview(),[e])}var un=!1,dn=!1,fn=class{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){D(!un,`You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor`);try{return un=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{un=!1}}isDragging(){if(!this.sourceId)return!1;D(!dn,`You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor`);try{return dn=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{dn=!1}}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,t){return this.internalMonitor.isOverTarget(e,t)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}},pn=!1,mn=class{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}canDrop(){if(!this.targetId)return!1;D(!pn,`You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor`);try{return pn=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{pn=!1}}isOver(e){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,e):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}};function hn(e,t,n){let r=n.getRegistry(),i=r.addTarget(e,t);return[i,()=>r.removeTarget(i)]}function gn(e,t,n){let r=n.getRegistry(),i=r.addSource(e,t);return[i,()=>r.removeSource(i)]}function _n(e,t,n,r){let i=n?n.call(r,e,t):void 0;if(i!==void 0)return!!i;if(e===t)return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let a=Object.keys(e),o=Object.keys(t);if(a.length!==o.length)return!1;let s=Object.prototype.hasOwnProperty.bind(t);for(let o=0;o<a.length;o++){let c=a[o];if(!s(c))return!1;let l=e[c],u=t[c];if(i=n?n.call(r,l,u,c):void 0,i===!1||i===void 0&&l!==u)return!1}return!0}function vn(e){return typeof e==`object`&&!!e&&Object.prototype.hasOwnProperty.call(e,`current`)}function yn(e){if(typeof e.type==`string`)return;let t=e.type.displayName||e.type.name||`the component`;throw Error(`Only native element nodes can now be passed to React DnD connectors.You can either wrap ${t} into a <div>, or turn it into a drag source or a drop target itself.`)}function bn(e){return(t=null,n=null)=>{if(!(0,w.isValidElement)(t)){let r=t;return e(r,n),r}let r=t;return yn(r),Cn(r,n?t=>e(t,n):e)}}function xn(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];if(n.endsWith(`Ref`))t[n]=e[n];else{let e=bn(r);t[n]=()=>e}}),t}function Sn(e,t){typeof e==`function`?e(t):e.current=t}function Cn(e,t){let n=e.ref;return D(typeof n!=`string`,`Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs`),n?(0,w.cloneElement)(e,{ref:e=>{Sn(n,e),Sn(t,e)}}):(0,w.cloneElement)(e,{ref:t})}var wn=class{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){let e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){let e=this.dragSource,t=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return t&&this.disconnectDragSource(),this.handlerId?e?(t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)),t):(this.lastConnectedDragSource=e,t):t}reconnectDragPreview(e=!1){let t=this.dragPreview,n=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(n&&this.disconnectDragPreview(),this.handlerId){if(!t){this.lastConnectedDragPreview=t;return}n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=t,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,t,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!_n(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!_n(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&=(this.dragSourceUnsubscribe(),void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=xn({dragSource:(e,t)=>{this.clearDragSource(),this.dragSourceOptions=t||null,vn(e)?this.dragSourceRef=e:this.dragSourceNode=e,this.reconnectDragSource()},dragPreview:(e,t)=>{this.clearDragPreview(),this.dragPreviewOptions=t||null,vn(e)?this.dragPreviewRef=e:this.dragPreviewNode=e,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}},Tn=class{get connectTarget(){return this.dropTarget}reconnect(){let e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();let t=this.dropTarget;if(this.handlerId){if(!t){this.lastConnectedDropTarget=t;return}e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=t,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,t,this.dropTargetOptions))}}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!_n(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&=(this.unsubscribeDropTarget(),void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=xn({dropTarget:(e,t)=>{this.clearDropTarget(),this.dropTargetOptions=t,vn(e)?this.dropTargetRef=e:this.dropTargetNode=e,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}};function L(){let{dragDropManager:e}=(0,w.useContext)(de);return D(e!=null,`Expected drag drop context`),e}function En(e,t){let n=L(),r=(0,w.useMemo)(()=>new wn(n.getBackend()),[n]);return I(()=>(r.dragSourceOptions=e||null,r.reconnect(),()=>r.disconnectDragSource()),[r,e]),I(()=>(r.dragPreviewOptions=t||null,r.reconnect(),()=>r.disconnectDragPreview()),[r,t]),r}function Dn(){let e=L();return(0,w.useMemo)(()=>new fn(e),[e])}var On=class{beginDrag(){let e=this.spec,t=this.monitor,n=null;return n=typeof e.item==`object`?e.item:typeof e.item==`function`?e.item(t):{},n??null}canDrag(){let e=this.spec,t=this.monitor;return typeof e.canDrag==`boolean`?e.canDrag:typeof e.canDrag!=`function`||e.canDrag(t)}isDragging(e,t){let n=this.spec,r=this.monitor,{isDragging:i}=n;return i?i(r):t===e.getSourceId()}endDrag(){let e=this.spec,t=this.monitor,n=this.connector,{end:r}=e;r&&r(t.getItem(),t),n.reconnect()}constructor(e,t,n){this.spec=e,this.monitor=t,this.connector=n}};function kn(e,t,n){let r=(0,w.useMemo)(()=>new On(e,t,n),[t,n]);return(0,w.useEffect)(()=>{r.spec=e},[e]),r}function An(e){return(0,w.useMemo)(()=>{let t=e.type;return D(t!=null,`spec.type must be defined`),t},[e])}function jn(e,t,n){let r=L(),i=kn(e,t,n),a=An(e);I(function(){if(a!=null){let[e,o]=gn(a,i,r);return t.receiveHandlerId(e),n.receiveHandlerId(e),o}},[r,t,n,i,a])}function Mn(e,t){let n=sn(e,t);D(!n.begin,`useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)`);let r=Dn(),i=En(n.options,n.previewOptions);return jn(n,r,i),[on(n.collect,r,i),cn(i),ln(i)]}function Nn(e){let t=L().getMonitor(),[n,r]=rn(t,e);return(0,w.useEffect)(()=>t.subscribeToOffsetChange(r)),(0,w.useEffect)(()=>t.subscribeToStateChange(r)),n}function Pn(e){return(0,w.useMemo)(()=>e.hooks.dropTarget(),[e])}function Fn(e){let t=L(),n=(0,w.useMemo)(()=>new Tn(t.getBackend()),[t]);return I(()=>(n.dropTargetOptions=e||null,n.reconnect(),()=>n.disconnectDropTarget()),[e]),n}function In(){let e=L();return(0,w.useMemo)(()=>new mn(e),[e])}function Ln(e){let{accept:t}=e;return(0,w.useMemo)(()=>(D(e.accept!=null,`accept must be defined`),Array.isArray(t)?t:[t]),[t])}var Rn=class{canDrop(){let e=this.spec,t=this.monitor;return!e.canDrop||e.canDrop(t.getItem(),t)}hover(){let e=this.spec,t=this.monitor;e.hover&&e.hover(t.getItem(),t)}drop(){let e=this.spec,t=this.monitor;if(e.drop)return e.drop(t.getItem(),t)}constructor(e,t){this.spec=e,this.monitor=t}};function zn(e,t){let n=(0,w.useMemo)(()=>new Rn(e,t),[t]);return(0,w.useEffect)(()=>{n.spec=e},[e]),n}function Bn(e,t,n){let r=L(),i=zn(e,t),a=Ln(e);I(function(){let[e,o]=hn(a,i,r);return t.receiveHandlerId(e),n.receiveHandlerId(e),o},[r,t,i,n,a.map(e=>e.toString()).join(`|`)])}function Vn(e,t){let n=sn(e,t),r=In(),i=Fn(n.options);return Bn(n,r,i),[on(n.collect,r,i),Pn(i)]}function Hn(e){let t=null;return()=>(t??=e(),t)}function Un(e,t){return e.filter(e=>e!==t)}function Wn(e,t){let n=new Set,r=e=>n.add(e);e.forEach(r),t.forEach(r);let i=[];return n.forEach(e=>i.push(e)),i}var Gn=class{enter(e){let t=this.entered.length,n=t=>this.isNodeInDocument(t)&&(!t.contains||t.contains(e));return this.entered=Wn(this.entered.filter(n),[e]),t===0&&this.entered.length>0}leave(e){let t=this.entered.length;return this.entered=Un(this.entered.filter(this.isNodeInDocument),e),t>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}},Kn=class{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${e}" until the drop event.`),null}})})}loadDataTransfer(e){if(e){let t={};Object.keys(this.config.exposeProperties).forEach(n=>{let r=this.config.exposeProperties[n];r!=null&&(t[n]={value:r(e,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,t)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,t){return t===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}},qn=t({FILE:()=>Jn,HTML:()=>Zn,TEXT:()=>Xn,URL:()=>Yn}),Jn=`__NATIVE_FILE__`,Yn=`__NATIVE_URL__`,Xn=`__NATIVE_TEXT__`,Zn=`__NATIVE_HTML__`;function Qn(e,t,n){return t.reduce((t,n)=>t||e.getData(n),``)??n}var $n={[Jn]:{exposeProperties:{files:e=>Array.prototype.slice.call(e.files),items:e=>e.items,dataTransfer:e=>e},matchesTypes:[`Files`]},[Zn]:{exposeProperties:{html:(e,t)=>Qn(e,t,``),dataTransfer:e=>e},matchesTypes:[`Html`,`text/html`]},[Yn]:{exposeProperties:{urls:(e,t)=>Qn(e,t,``).split(`
|
|
2
2
|
`),dataTransfer:e=>e},matchesTypes:[`Url`,`text/uri-list`]},[Xn]:{exposeProperties:{text:(e,t)=>Qn(e,t,``),dataTransfer:e=>e},matchesTypes:[`Text`,`text/plain`]}};function er(e,t){let n=$n[e];if(!n)throw Error(`native type ${e} has no configuration`);let r=new Kn(n);return r.loadDataTransfer(t),r}function tr(e){if(!e)return null;let t=Array.prototype.slice.call(e.types||[]);return Object.keys($n).filter(e=>{let n=$n[e];return n?.matchesTypes?n.matchesTypes.some(e=>t.indexOf(e)>-1):!1})[0]||null}var nr=Hn(()=>/firefox/i.test(navigator.userAgent)),rr=Hn(()=>!!window.safari),ir=class{interpolate(e){let{xs:t,ys:n,c1s:r,c2s:i,c3s:a}=this,o=t.length-1;if(e===t[o])return n[o];let s=0,c=a.length-1,l;for(;s<=c;){l=Math.floor(.5*(s+c));let r=t[l];if(r<e)s=l+1;else if(r>e)c=l-1;else return n[l]}o=Math.max(0,c);let u=e-t[o],d=u*u;return n[o]+r[o]*u+i[o]*d+a[o]*u*d}constructor(e,t){let{length:n}=e,r=[];for(let e=0;e<n;e++)r.push(e);r.sort((t,n)=>e[t]<e[n]?-1:1);let i=[],a=[],o=[],s,c;for(let r=0;r<n-1;r++)s=e[r+1]-e[r],c=t[r+1]-t[r],a.push(s),i.push(c),o.push(c/s);let l=[o[0]];for(let e=0;e<a.length-1;e++){let t=o[e],n=o[e+1];if(t*n<=0)l.push(0);else{s=a[e];let r=a[e+1],i=s+r;l.push(3*i/((i+r)/t+(i+s)/n))}}l.push(o[o.length-1]);let u=[],d=[],f;for(let e=0;e<l.length-1;e++){f=o[e];let t=l[e],n=1/a[e],r=t+l[e+1]-f-f;u.push((f-t-r)*n),d.push(r*n*n)}this.xs=e,this.ys=t,this.c1s=l,this.c2s=u,this.c3s=d}},ar=1;function or(e){let t=e.nodeType===ar?e:e.parentElement;if(!t)return null;let{top:n,left:r}=t.getBoundingClientRect();return{x:r,y:n}}function sr(e){return{x:e.clientX,y:e.clientY}}function cr(e){return e.nodeName===`IMG`&&(nr()||!document.documentElement?.contains(e))}function lr(e,t,n,r){let i=e?t.width:n,a=e?t.height:r;return rr()&&e&&(a/=window.devicePixelRatio,i/=window.devicePixelRatio),{dragPreviewWidth:i,dragPreviewHeight:a}}function ur(e,t,n,r,i){let a=cr(t),o=or(a?e:t),s={x:n.x-o.x,y:n.y-o.y},{offsetWidth:c,offsetHeight:l}=e,{anchorX:u,anchorY:d}=r,{dragPreviewWidth:f,dragPreviewHeight:p}=lr(a,t,c,l),m=()=>{let e=new ir([0,.5,1],[s.y,s.y/l*p,s.y+p-l]).interpolate(d);return rr()&&a&&(e+=(window.devicePixelRatio-1)*p),e},h=()=>new ir([0,.5,1],[s.x,s.x/c*f,s.x+f-c]).interpolate(u),{offsetX:g,offsetY:_}=i,v=g===0||g,y=_===0||_;return{x:v?g:h(),y:y?_:m()}}var dr=class{get window(){if(this.globalContext)return this.globalContext;if(typeof window<`u`)return window}get document(){if(this.globalContext?.document)return this.globalContext.document;if(this.window)return this.window.document}get rootElement(){return this.optionsArgs?.rootElement||this.window}constructor(e,t){this.ownerDocument=null,this.globalContext=e,this.optionsArgs=t}};function fr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){fr(e,t,n[t])})}return e}var mr=class{profile(){return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:this.dragStartSourceIds?.length||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:this.dragOverTargetIds?.length||0}}get window(){return this.options.window}get document(){return this.options.document}get rootElement(){return this.options.rootElement}setup(){let e=this.rootElement;if(e!==void 0){if(e.__isReactDndBackendSetUp)throw Error(`Cannot have two HTML5 backends at the same time.`);e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}teardown(){let e=this.rootElement;if(e!==void 0&&(e.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId)){var t;(t=this.window)==null||t.cancelAnimationFrame(this.asyncEndDragFrameId)}}connectDragPreview(e,t,n){return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),()=>{this.sourcePreviewNodes.delete(e),this.sourcePreviewNodeOptions.delete(e)}}connectDragSource(e,t,n){this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,n);let r=t=>this.handleDragStart(t,e),i=e=>this.handleSelectStart(e);return t.setAttribute(`draggable`,`true`),t.addEventListener(`dragstart`,r),t.addEventListener(`selectstart`,i),()=>{this.sourceNodes.delete(e),this.sourceNodeOptions.delete(e),t.removeEventListener(`dragstart`,r),t.removeEventListener(`selectstart`,i),t.setAttribute(`draggable`,`false`)}}connectDropTarget(e,t){let n=t=>this.handleDragEnter(t,e),r=t=>this.handleDragOver(t,e),i=t=>this.handleDrop(t,e);return t.addEventListener(`dragenter`,n),t.addEventListener(`dragover`,r),t.addEventListener(`drop`,i),()=>{t.removeEventListener(`dragenter`,n),t.removeEventListener(`dragover`,r),t.removeEventListener(`drop`,i)}}addEventListeners(e){e.addEventListener&&(e.addEventListener(`dragstart`,this.handleTopDragStart),e.addEventListener(`dragstart`,this.handleTopDragStartCapture,!0),e.addEventListener(`dragend`,this.handleTopDragEndCapture,!0),e.addEventListener(`dragenter`,this.handleTopDragEnter),e.addEventListener(`dragenter`,this.handleTopDragEnterCapture,!0),e.addEventListener(`dragleave`,this.handleTopDragLeaveCapture,!0),e.addEventListener(`dragover`,this.handleTopDragOver),e.addEventListener(`dragover`,this.handleTopDragOverCapture,!0),e.addEventListener(`drop`,this.handleTopDrop),e.addEventListener(`drop`,this.handleTopDropCapture,!0))}removeEventListeners(e){e.removeEventListener&&(e.removeEventListener(`dragstart`,this.handleTopDragStart),e.removeEventListener(`dragstart`,this.handleTopDragStartCapture,!0),e.removeEventListener(`dragend`,this.handleTopDragEndCapture,!0),e.removeEventListener(`dragenter`,this.handleTopDragEnter),e.removeEventListener(`dragenter`,this.handleTopDragEnterCapture,!0),e.removeEventListener(`dragleave`,this.handleTopDragLeaveCapture,!0),e.removeEventListener(`dragover`,this.handleTopDragOver),e.removeEventListener(`dragover`,this.handleTopDragOverCapture,!0),e.removeEventListener(`drop`,this.handleTopDrop),e.removeEventListener(`drop`,this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){let e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return pr({dropEffect:this.altKeyPressed?`copy`:`move`},t||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?`copy`:this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){let e=this.monitor.getSourceId();return pr({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}isDraggingNativeItem(){let e=this.monitor.getItemType();return Object.keys(qn).some(t=>qn[t]===e)}beginDragNativeItem(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=er(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(e){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout(()=>this.rootElement?.addEventListener(`mousemove`,this.endDragIfSourceWasRemovedFromDOM,!0),1e3)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var e;(e=this.window)==null||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener(`mousemove`,this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(e,t){e.defaultPrevented||(this.dragStartSourceIds||=[],this.dragStartSourceIds.unshift(t))}handleDragEnter(e,t){this.dragEnterTargetIds.unshift(t)}handleDragOver(e,t){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}handleDrop(e,t){this.dropTargetIds.unshift(t)}constructor(e,t,n){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=e=>{let t=this.sourceNodes.get(e);return t&&or(t)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=e=>!!(e&&this.document&&this.document.body&&this.document.body.contains(e)),this.endDragIfSourceWasRemovedFromDOM=()=>{let e=this.currentDragSourceNode;e==null||this.isNodeInDocument(e)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=e=>{this.hoverRafId===null&&typeof requestAnimationFrame<`u`&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(e||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{this.hoverRafId!==null&&typeof cancelAnimationFrame<`u`&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=e=>{if(e.defaultPrevented)return;let{dragStartSourceIds:t}=this;this.dragStartSourceIds=null;let n=sr(e);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(t||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:n});let{dataTransfer:r}=e,i=tr(r);if(this.monitor.isDragging()){if(r&&typeof r.setDragImage==`function`){let e=this.monitor.getSourceId(),t=this.sourceNodes.get(e),i=this.sourcePreviewNodes.get(e)||t;if(i){let{anchorX:e,anchorY:a,offsetX:o,offsetY:s}=this.getCurrentSourcePreviewNodeOptions(),c=ur(t,i,n,{anchorX:e,anchorY:a},{offsetX:o,offsetY:s});r.setDragImage(i,c.x,c.y)}}try{r?.setData(`application/json`,{})}catch{}this.setCurrentDragSourceNode(e.target);let{captureDraggingState:t}=this.getCurrentSourcePreviewNodeOptions();t?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(i)this.beginDragNativeItem(i);else if(r&&!r.types&&(e.target&&!e.target.hasAttribute||!e.target.hasAttribute(`draggable`)))return;else e.preventDefault()},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=e=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var t;(t=this.currentNativeSource)==null||t.loadDataTransfer(e.dataTransfer)}if(!this.enterLeaveCounter.enter(e.target)||this.monitor.isDragging())return;let{dataTransfer:n}=e,r=tr(n);r&&this.beginDragNativeItem(r,n)},this.handleTopDragEnter=e=>{let{dragEnterTargetIds:t}=this;this.dragEnterTargetIds=[],this.monitor.isDragging()&&(this.altKeyPressed=e.altKey,t.length>0&&this.actions.hover(t,{clientOffset:sr(e)}),t.some(e=>this.monitor.canDropOnTarget(e))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=this.getCurrentDropEffect())))},this.handleTopDragOverCapture=e=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var t;(t=this.currentNativeSource)==null||t.loadDataTransfer(e.dataTransfer)}},this.handleTopDragOver=e=>{let{dragOverTargetIds:t}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`none`);return}this.altKeyPressed=e.altKey,this.lastClientOffset=sr(e),this.scheduleHover(t),(t||[]).some(e=>this.monitor.canDropOnTarget(e))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`none`))},this.handleTopDragLeaveCapture=e=>{this.isDraggingNativeItem()&&e.preventDefault(),this.enterLeaveCounter.leave(e.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=e=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var t;e.preventDefault(),(t=this.currentNativeSource)==null||t.loadDataTransfer(e.dataTransfer)}else tr(e.dataTransfer)&&e.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=e=>{let{dropTargetIds:t}=this;this.dropTargetIds=[],this.actions.hover(t,{clientOffset:sr(e)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=e=>{let t=e.target;typeof t.dragDrop==`function`&&(t.tagName===`INPUT`||t.tagName===`SELECT`||t.tagName===`TEXTAREA`||t.isContentEditable||(e.preventDefault(),t.dragDrop()))},this.options=new dr(t,n),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new Gn(this.isNodeInDocument)}},hr;function gr(){return hr||(hr=new Image,hr.src=`data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==`),hr}var _r=function(e,t,n){return new mr(e,t,n)},vr=(0,w.createContext)(null);function R(){let e=(0,w.useContext)(vr);if(e===null)throw Error(`No Tree Api Provided`);return e}var yr=(0,w.createContext)(null);function br(){let e=(0,w.useContext)(yr);if(e===null)throw Error(`Provide a NodesContext`);return e}var xr=(0,w.createContext)(null);function Sr(){let e=(0,w.useContext)(xr);if(e===null)throw Error(`Provide a DnDContext`);return e}var Cr=(0,w.createContext)(0);function wr(){(0,w.useContext)(Cr)}var Tr=t({access:()=>z,bound:()=>Er,dfs:()=>Nr,focusNextElement:()=>Fr,focusPrevElement:()=>Ir,getInsertIndex:()=>Wr,getInsertParentId:()=>Gr,identify:()=>B,identifyNull:()=>Br,indexOf:()=>jr,isClosed:()=>Or,isDescendant:()=>Ar,isItem:()=>Dr,isOpenWithEmptyChildren:()=>kr,mergeRefs:()=>Vr,noop:()=>Mr,safeRun:()=>Hr,waitFor:()=>Ur,walk:()=>Pr});function Er(e,t,n){return Math.max(Math.min(e,n),t)}function Dr(e){return e&&e.isLeaf}function Or(e){return e&&e.isInternal&&!e.isOpen}function kr(e){return e&&e.isOpen&&!e.children?.length}var Ar=(e,t)=>{let n=e;for(;n;){if(n.id===t.id)return!0;n=n.parent}return!1},jr=e=>{if(!e.parent)throw Error(`Node does not have a parent`);return e.parent.children.findIndex(t=>t.id===e.id)};function Mr(){}function Nr(e,t){if(!e)return null;if(e.id===t)return e;if(e.children)for(let n of e.children){let e=Nr(n,t);if(e)return e}return null}function Pr(e,t){if(t(e),e.children)for(let n of e.children)Pr(n,t)}function Fr(e){let t=zr(e),n;for(let r=0;r<t.length;++r)if(t[r]===e){n=Lr(t,r);break}n?.focus()}function Ir(e){let t=zr(e),n;for(let r=0;r<t.length;++r)if(t[r]===e){n=Rr(t,r);break}n?.focus()}function Lr(e,t){return t+1<e.length?e[t+1]:e[0]}function Rr(e,t){return t-1>=0?e[t-1]:e[e.length-1]}function zr(e){return Array.from(document.querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled]), details:not([disabled]), summary:not(:disabled)`)).filter(t=>t===e||!e.contains(t))}function z(e,t){return typeof t==`boolean`?t:typeof t==`string`?e[t]:t(e)}function Br(e){return e===null?null:B(e)}function B(e){return typeof e==`string`?e:e.id}function Vr(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}function Hr(e,...t){if(e)return e(...t)}function Ur(e){return new Promise((t,n)=>{let r=0;function i(){r+=1,r===100&&n(),e()?t():setTimeout(i,10)}i()})}function Wr(e){let t=e.focusedNode;return t?t.isOpen?0:t.parent?t.childIndex+1:0:e.root.children?.length??0}function Gr(e){let t=e.focusedNode;return t?t.isOpen?t.id:t.parent&&!t.parent.isRoot?t.parent.id:null:null}var Kr={display:`flex`,alignItems:`center`,zIndex:1},qr={flex:1,height:`2px`,background:`#4B91E2`,borderRadius:`1px`},Jr={width:`4px`,height:`4px`,boxShadow:`0 0 0 3px #4B91E2`,borderRadius:`50%`},Yr=w.memo(function({top:e,left:t,indent:n}){let r={position:`absolute`,pointerEvents:`none`,top:e-2+`px`,left:t+`px`,right:n+`px`};return(0,T.jsxs)(`div`,{style:Object.assign(Object.assign({},Kr),r),children:[(0,T.jsx)(`div`,{style:Object.assign({},Jr)}),(0,T.jsx)(`div`,{style:Object.assign({},qr)})]})});function Xr({node:e,attrs:t,innerRef:n,children:r}){return(0,T.jsx)(`div`,Object.assign({},t,{ref:n,onFocus:e=>e.stopPropagation(),onClick:e.handleClick,children:r}))}function Zr(e){return(0,T.jsxs)(`div`,{ref:e.dragHandle,style:e.style,children:[(0,T.jsx)(`span`,{onClick:t=>{t.stopPropagation(),e.node.toggle()},children:e.node.isLeaf?`🌳`:e.node.isOpen?`🗁`:`🗀`}),` `,e.node.isEditing?(0,T.jsx)($r,Object.assign({},e)):(0,T.jsx)(Qr,Object.assign({},e))]})}function Qr(e){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(`span`,{children:e.node.data.name})})}function $r({node:e}){let t=(0,w.useRef)();return(0,w.useEffect)(()=>{var e,n;(e=t.current)==null||e.focus(),(n=t.current)==null||n.select()},[]),(0,T.jsx)(`input`,{ref:t,defaultValue:e.data.name,onBlur:()=>e.reset(),onKeyDown:n=>{n.key===`Escape`&&e.reset(),n.key===`Enter`&&e.submit(t.current?.value||``)}})}function ei(e){return{type:`EDIT`,id:e}}function ti(e={id:null},t){return t.type===`EDIT`?Object.assign(Object.assign({},e),{id:t.id}):e}function V(e){return{type:`FOCUS`,id:e}}function ni(){return{type:`TREE_BLUR`}}function ri(e={id:null,treeFocused:!1},t){return t.type===`FOCUS`?Object.assign(Object.assign({},e),{id:t.id,treeFocused:!0}):t.type===`TREE_BLUR`?Object.assign(Object.assign({},e),{treeFocused:!1}):e}var ii=class e{constructor(e){this.handleClick=e=>{e.metaKey&&!this.tree.props.disableMultiSelection?this.isSelected?this.deselect():this.selectMulti():e.shiftKey&&!this.tree.props.disableMultiSelection?this.selectContiguous():(this.select(),this.activate())},this.tree=e.tree,this.id=e.id,this.data=e.data,this.level=e.level,this.children=e.children,this.parent=e.parent,this.isDraggable=e.isDraggable,this.rowIndex=e.rowIndex}get isRoot(){return this.id===ai}get isLeaf(){return!Array.isArray(this.children)}get isInternal(){return!this.isLeaf}get isOpen(){return!this.isLeaf&&this.tree.isOpen(this.id)}get isClosed(){return!this.isLeaf&&!this.tree.isOpen(this.id)}get isEditable(){return this.tree.isEditable(this.data)}get isEditing(){return this.tree.editingId===this.id}get isSelected(){return this.tree.isSelected(this.id)}get isOnlySelection(){return this.isSelected&&this.tree.hasOneSelection}get isSelectedStart(){return this.isSelected&&!this.prev?.isSelected}get isSelectedEnd(){return this.isSelected&&!this.next?.isSelected}get isFocused(){return this.tree.isFocused(this.id)}get isDragging(){return this.tree.isDragging(this.id)}get willReceiveDrop(){return this.tree.willReceiveDrop(this.id)}get state(){return{isClosed:this.isClosed,isDragging:this.isDragging,isEditing:this.isEditing,isFocused:this.isFocused,isInternal:this.isInternal,isLeaf:this.isLeaf,isOpen:this.isOpen,isSelected:this.isSelected,isSelectedEnd:this.isSelectedEnd,isSelectedStart:this.isSelectedStart,willReceiveDrop:this.willReceiveDrop}}get childIndex(){return this.parent&&this.parent.children?this.parent.children.findIndex(e=>e.id===this.id):-1}get next(){return this.rowIndex===null?null:this.tree.at(this.rowIndex+1)}get prev(){return this.rowIndex===null?null:this.tree.at(this.rowIndex-1)}get nextSibling(){let e=this.childIndex;return this.parent?.children[e+1]??null}isAncestorOf(e){if(!e)return!1;let t=e;for(;t;){if(t.id===this.id)return!0;t=t.parent}return!1}select(){this.tree.select(this)}deselect(){this.tree.deselect(this)}selectMulti(){this.tree.selectMulti(this)}selectContiguous(){this.tree.selectContiguous(this)}activate(){this.tree.activate(this)}focus(){this.tree.focus(this)}toggle(){this.tree.toggle(this)}open(){this.tree.open(this)}openParents(){this.tree.openParents(this)}close(){this.tree.close(this)}submit(e){this.tree.submit(this,e)}reset(){this.tree.reset()}clone(){return new e(Object.assign({},this))}edit(){return this.tree.edit(this)}},ai=`__REACT_ARBORIST_INTERNAL_ROOT__`;function oi(e){function t(n,r,i){let a=new ii({tree:e,data:n,level:r,parent:i,id:e.accessId(n),children:null,isDraggable:e.isDraggable(n),rowIndex:null}),o=e.accessChildren(n);return o&&(a.children=o.map(e=>t(e,r+1,a))),a}let n=new ii({tree:e,id:ai,data:{id:ai},level:-1,parent:null,children:null,isDraggable:!0,rowIndex:null});return n.children=(e.props.data??[]).map(e=>t(e,0,n)),n}var si={open(e,t){return{type:`VISIBILITY_OPEN`,id:e,filtered:t}},close(e,t){return{type:`VISIBILITY_CLOSE`,id:e,filtered:t}},toggle(e,t){return{type:`VISIBILITY_TOGGLE`,id:e,filtered:t}},clear(e){return{type:`VISIBILITY_CLEAR`,filtered:e}}};function ci(e={},t){if(t.type===`VISIBILITY_OPEN`)return Object.assign(Object.assign({},e),{[t.id]:!0});if(t.type===`VISIBILITY_CLOSE`)return Object.assign(Object.assign({},e),{[t.id]:!1});if(t.type===`VISIBILITY_TOGGLE`){let n=e[t.id];return Object.assign(Object.assign({},e),{[t.id]:!n})}return t.type===`VISIBILITY_CLEAR`?{}:e}function li(e={filtered:{},unfiltered:{}},t){return t.type.startsWith(`VISIBILITY`)?t.filtered?Object.assign(Object.assign({},e),{filtered:ci(e.filtered,t)}):Object.assign(Object.assign({},e),{unfiltered:ci(e.unfiltered,t)}):e}var H=e=>({nodes:{open:{filtered:{},unfiltered:e?.initialOpenState??{}},focus:{id:null,treeFocused:!1},edit:{id:null},drag:{id:null,selectedIds:[],destinationParentId:null,destinationIndex:null},selection:{ids:new Set,anchor:null,mostRecent:null}},dnd:{cursor:{type:`none`},dragId:null,dragIds:[],parentId:null,index:-1}}),U={clear:()=>({type:`SELECTION_CLEAR`}),only:e=>({type:`SELECTION_ONLY`,id:B(e)}),add:e=>({type:`SELECTION_ADD`,ids:(Array.isArray(e)?e:[e]).map(B)}),remove:e=>({type:`SELECTION_REMOVE`,ids:(Array.isArray(e)?e:[e]).map(B)}),set:e=>Object.assign({type:`SELECTION_SET`},e),mostRecent:e=>({type:`SELECTION_MOST_RECENT`,id:e===null?null:B(e)}),anchor:e=>({type:`SELECTION_ANCHOR`,id:e===null?null:B(e)})};function ui(e=H().nodes.selection,t){let n=e.ids;switch(t.type){case`SELECTION_CLEAR`:return Object.assign(Object.assign({},e),{ids:new Set});case`SELECTION_ONLY`:return Object.assign(Object.assign({},e),{ids:new Set([t.id])});case`SELECTION_ADD`:return t.ids.length===0?e:(t.ids.forEach(e=>n.add(e)),Object.assign(Object.assign({},e),{ids:new Set(n)}));case`SELECTION_REMOVE`:return t.ids.length===0?e:(t.ids.forEach(e=>n.delete(e)),Object.assign(Object.assign({},e),{ids:new Set(n)}));case`SELECTION_SET`:return Object.assign(Object.assign({},e),{ids:t.ids,mostRecent:t.mostRecent,anchor:t.anchor});case`SELECTION_MOST_RECENT`:return Object.assign(Object.assign({},e),{mostRecent:t.id});case`SELECTION_ANCHOR`:return Object.assign(Object.assign({},e),{anchor:t.id});default:return e}}var W={cursor(e){return{type:`DND_CURSOR`,cursor:e}},dragStart(e,t){return{type:`DND_DRAG_START`,id:e,dragIds:t}},dragEnd(){return{type:`DND_DRAG_END`}},hovering(e,t){return{type:`DND_HOVERING`,parentId:e,index:t}}};function di(e=H().dnd,t){switch(t.type){case`DND_CURSOR`:return Object.assign(Object.assign({},e),{cursor:t.cursor});case`DND_DRAG_START`:return Object.assign(Object.assign({},e),{dragId:t.id,dragIds:t.dragIds});case`DND_DRAG_END`:return H().dnd;case`DND_HOVERING`:return Object.assign(Object.assign({},e),{parentId:t.parentId,index:t.index});default:return e}}var fi={position:`fixed`,pointerEvents:`none`,zIndex:100,left:0,top:0,width:`100%`,height:`100%`},pi=e=>{if(!e)return{display:`none`};let{x:t,y:n}=e;return{transform:`translate(${t}px, ${n}px)`}},mi=e=>{if(!e)return{display:`none`};let{x:t,y:n}=e;return{transform:`translate(${t+10}px, ${n+10}px)`}};function hi({offset:e,mouse:t,id:n,dragIds:r,isDragging:i}){return(0,T.jsxs)(gi,{isDragging:i,children:[(0,T.jsx)(_i,{offset:e,children:(0,T.jsx)(yi,{id:n,dragIds:r})}),(0,T.jsx)(vi,{mouse:t,count:r.length})]})}var gi=(0,w.memo)(function(e){return e.isDragging?(0,T.jsx)(`div`,{style:fi,children:e.children}):null});function _i(e){return(0,T.jsx)(`div`,{className:`row preview`,style:pi(e.offset),children:e.children})}function vi(e){let{count:t,mouse:n}=e;return t>1?(0,T.jsx)(`div`,{className:`selected-count`,style:mi(n),children:t}):null}var yi=(0,w.memo)(function(e){let t=R(),n=t.get(e.id);return n?(0,T.jsx)(t.renderNode,{preview:!0,node:n,style:{paddingLeft:n.level*t.indent,opacity:.2,background:`transparent`},tree:t}):null}),bi=Number.isNaN||function(e){return typeof e==`number`&&e!==e};function xi(e,t){return!!(e===t||bi(e)&&bi(t))}function Si(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!xi(e[n],t[n]))return!1;return!0}function Ci(e,t){t===void 0&&(t=Si);var n,r=[],i,a=!1;function o(){var o=[...arguments];return a&&n===this&&t(o,r)?i:(i=e.apply(this,o),a=!0,n=this,r=o,i)}return o}var wi=typeof performance==`object`&&typeof performance.now==`function`?function(){return performance.now()}:function(){return Date.now()};function Ti(e){cancelAnimationFrame(e.id)}function Ei(e,t){var n=wi();function r(){wi()-n>=t?e.call(null):i.id=requestAnimationFrame(r)}var i={id:requestAnimationFrame(r)};return i}var Di=-1;function Oi(e){if(e===void 0&&(e=!1),Di===-1||e){var t=document.createElement(`div`),n=t.style;n.width=`50px`,n.height=`50px`,n.overflow=`scroll`,document.body.appendChild(t),Di=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return Di}var G=null;function ki(e){if(e===void 0&&(e=!1),G===null||e){var t=document.createElement(`div`),n=t.style;n.width=`50px`,n.height=`50px`,n.overflow=`scroll`,n.direction=`rtl`;var r=document.createElement(`div`),i=r.style;return i.width=`100px`,i.height=`100px`,t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?G=`positive-descending`:(t.scrollLeft=1,G=t.scrollLeft===0?`negative`:`positive-ascending`),document.body.removeChild(t),G}return G}var Ai=150,ji=function(e,t){return e};function Mi(e){var t,n=e.getItemOffset,r=e.getEstimatedTotalSize,i=e.getItemSize,a=e.getOffsetForIndexAndAlignment,o=e.getStartIndexForOffset,s=e.getStopIndexForStartIndex,c=e.initInstanceProps,l=e.shouldResetStyleCacheOnItemSizeChange,u=e.validateProps;return t=function(e){ce(t,e);function t(t){var r=e.call(this,t)||this;return r._instanceProps=c(r.props,le(r)),r._outerRef=void 0,r._resetIsScrollingTimeoutId=null,r.state={instance:le(r),isScrolling:!1,scrollDirection:`forward`,scrollOffset:typeof r.props.initialScrollOffset==`number`?r.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},r._callOnItemsRendered=void 0,r._callOnItemsRendered=Ci(function(e,t,n,i){return r.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:n,visibleStopIndex:i})}),r._callOnScroll=void 0,r._callOnScroll=Ci(function(e,t,n){return r.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:n})}),r._getItemStyle=void 0,r._getItemStyle=function(e){var t=r.props,a=t.direction,o=t.itemSize,s=t.layout,c=r._getItemStyleCache(l&&o,l&&s,l&&a),u;if(c.hasOwnProperty(e))u=c[e];else{var d=n(r.props,e,r._instanceProps),f=i(r.props,e,r._instanceProps),p=a===`horizontal`||s===`horizontal`,m=a===`rtl`,h=p?d:0;c[e]=u={position:`absolute`,left:m?void 0:h,right:m?h:void 0,top:p?0:d,height:p?`100%`:f,width:p?f:`100%`}}return u},r._getItemStyleCache=void 0,r._getItemStyleCache=Ci(function(e,t,n){return{}}),r._onScrollHorizontal=function(e){var t=e.currentTarget,n=t.clientWidth,i=t.scrollLeft,a=t.scrollWidth;r.setState(function(e){if(e.scrollOffset===i)return null;var t=r.props.direction,o=i;if(t===`rtl`)switch(ki()){case`negative`:o=-i;break;case`positive-descending`:o=a-n-i}return o=Math.max(0,Math.min(o,a-n)),{isScrolling:!0,scrollDirection:e.scrollOffset<o?`forward`:`backward`,scrollOffset:o,scrollUpdateWasRequested:!1}},r._resetIsScrollingDebounced)},r._onScrollVertical=function(e){var t=e.currentTarget,n=t.clientHeight,i=t.scrollHeight,a=t.scrollTop;r.setState(function(e){if(e.scrollOffset===a)return null;var t=Math.max(0,Math.min(a,i-n));return{isScrolling:!0,scrollDirection:e.scrollOffset<t?`forward`:`backward`,scrollOffset:t,scrollUpdateWasRequested:!1}},r._resetIsScrollingDebounced)},r._outerRefSetter=function(e){var t=r.props.outerRef;r._outerRef=e,typeof t==`function`?t(e):typeof t==`object`&&t&&t.hasOwnProperty(`current`)&&(t.current=e)},r._resetIsScrollingDebounced=function(){r._resetIsScrollingTimeoutId!==null&&Ti(r._resetIsScrollingTimeoutId),r._resetIsScrollingTimeoutId=Ei(r._resetIsScrolling,Ai)},r._resetIsScrolling=function(){r._resetIsScrollingTimeoutId=null,r.setState({isScrolling:!1},function(){r._getItemStyleCache(-1,null)})},r}t.getDerivedStateFromProps=function(e,t){return Ni(e,t),u(e),null};var d=t.prototype;return d.scrollTo=function(e){e=Math.max(0,e),this.setState(function(t){return t.scrollOffset===e?null:{scrollDirection:t.scrollOffset<e?`forward`:`backward`,scrollOffset:e,scrollUpdateWasRequested:!0}},this._resetIsScrollingDebounced)},d.scrollToItem=function(e,t){t===void 0&&(t=`auto`);var n=this.props,r=n.itemCount,i=n.layout,o=this.state.scrollOffset;e=Math.max(0,Math.min(e,r-1));var s=0;if(this._outerRef){var c=this._outerRef;s=i===`vertical`?c.scrollWidth>c.clientWidth?Oi():0:c.scrollHeight>c.clientHeight?Oi():0}this.scrollTo(a(this.props,e,t,o,this._instanceProps,s))},d.componentDidMount=function(){var e=this.props,t=e.direction,n=e.initialScrollOffset,r=e.layout;if(typeof n==`number`&&this._outerRef!=null){var i=this._outerRef;t===`horizontal`||r===`horizontal`?i.scrollLeft=n:i.scrollTop=n}this._callPropsCallbacks()},d.componentDidUpdate=function(){var e=this.props,t=e.direction,n=e.layout,r=this.state,i=r.scrollOffset;if(r.scrollUpdateWasRequested&&this._outerRef!=null){var a=this._outerRef;if(t===`horizontal`||n===`horizontal`){if(t===`rtl`)switch(ki()){case`negative`:a.scrollLeft=-i;break;case`positive-ascending`:a.scrollLeft=i;break;default:var o=a.clientWidth;a.scrollLeft=a.scrollWidth-o-i}else a.scrollLeft=i}else a.scrollTop=i}this._callPropsCallbacks()},d.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&Ti(this._resetIsScrollingTimeoutId)},d.render=function(){var e=this.props,t=e.children,n=e.className,i=e.direction,a=e.height,o=e.innerRef,s=e.innerElementType,c=e.innerTagName,l=e.itemCount,u=e.itemData,d=e.itemKey,f=d===void 0?ji:d,p=e.layout,m=e.outerElementType,h=e.outerTagName,g=e.style,_=e.useIsScrolling,v=e.width,y=this.state.isScrolling,b=i===`horizontal`||p===`horizontal`,x=b?this._onScrollHorizontal:this._onScrollVertical,ee=this._getRangeToRender(),te=ee[0],re=ee[1],ie=[];if(l>0)for(var S=te;S<=re;S++)ie.push((0,w.createElement)(t,{data:u,key:f(S,u),index:S,isScrolling:_?y:void 0,style:this._getItemStyle(S)}));var C=r(this.props,this._instanceProps);return(0,w.createElement)(m||h||`div`,{className:n,onScroll:x,ref:this._outerRefSetter,style:ne({position:`relative`,height:a,width:v,overflow:`auto`,WebkitOverflowScrolling:`touch`,willChange:`transform`,direction:i},g)},(0,w.createElement)(s||c||`div`,{children:ie,ref:o,style:{height:b?`100%`:C,pointerEvents:y?`none`:void 0,width:b?C:`100%`}}))},d._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered==`function`&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],i=e[3];this._callOnItemsRendered(t,n,r,i)}if(typeof this.props.onScroll==`function`){var a=this.state,o=a.scrollDirection,s=a.scrollOffset,c=a.scrollUpdateWasRequested;this._callOnScroll(o,s,c)}},d._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,i=r.isScrolling,a=r.scrollDirection,c=r.scrollOffset;if(t===0)return[0,0,0,0];var l=o(this.props,c,this._instanceProps),u=s(this.props,l,c,this._instanceProps),d=!i||a===`backward`?Math.max(1,n):1,f=!i||a===`forward`?Math.max(1,n):1;return[Math.max(0,l-d),Math.max(0,Math.min(t-1,u+f)),l,u]},t}(w.PureComponent),t.defaultProps={direction:`ltr`,itemData:void 0,layout:`vertical`,overscanCount:2,useIsScrolling:!1},t}var Ni=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},Pi=Mi({getItemOffset:function(e,t){return t*e.itemSize},getItemSize:function(e,t){return e.itemSize},getEstimatedTotalSize:function(e){var t=e.itemCount;return e.itemSize*t},getOffsetForIndexAndAlignment:function(e,t,n,r,i,a){var o=e.direction,s=e.height,c=e.itemCount,l=e.itemSize,u=e.layout,d=e.width,f=o===`horizontal`||u===`horizontal`?d:s,p=Math.max(0,c*l-f),m=Math.min(p,t*l),h=Math.max(0,t*l-f+l+a);switch(n===`smart`&&(n=r>=h-f&&r<=m+f?`auto`:`center`),n){case`start`:return m;case`end`:return h;case`center`:var g=Math.round(h+(m-h)/2);return g<Math.ceil(f/2)?0:g>p+Math.floor(f/2)?p:g;default:return r>=h&&r<=m?r:r<h?h:m}},getStartIndexForOffset:function(e,t){var n=e.itemCount,r=e.itemSize;return Math.max(0,Math.min(n-1,Math.floor(t/r)))},getStopIndexForStartIndex:function(e,t,n){var r=e.direction,i=e.height,a=e.itemCount,o=e.itemSize,s=e.layout,c=e.width,l=r===`horizontal`||s===`horizontal`,u=t*o,d=Math.ceil(((l?c:i)+n-u)/o);return Math.max(0,Math.min(a-1,t+d-1))},initInstanceProps:function(e){},shouldResetStyleCacheOnItemSizeChange:!0,validateProps:function(e){e.itemSize}});function Fi(){let e=R(),t=Sr().cursor;if(!t||t.type!==`line`)return null;let n=e.indent,r=e.rowHeight*t.index+(e.props.padding??e.props.paddingTop??0),i=n*t.level,a=e.renderCursor;return(0,T.jsx)(a,{top:r,left:i,indent:n})}var Ii=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Li=(0,w.forwardRef)(function(e,t){let{children:n}=e,r=Ii(e,[`children`]),i=R();return(0,T.jsxs)(`div`,Object.assign({ref:t},r,{onClick:e=>{e.currentTarget===e.target&&i.deselectAll()},children:[(0,T.jsx)(Ri,{}),n]}))}),Ri=()=>{let e=R();return(0,T.jsx)(`div`,{style:{height:e.visibleNodes.length*e.rowHeight,width:`100%`,position:`absolute`,left:`0`,right:`0`},children:(0,T.jsx)(Fi,{})})},zi=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Bi=(0,w.forwardRef)(function(e,t){var{style:n}=e,r=zi(e,[`style`]);let i=R(),a=i.props.padding??i.props.paddingTop??0,o=i.props.padding??i.props.paddingBottom??0;return(0,T.jsx)(`div`,Object.assign({ref:t,style:Object.assign(Object.assign({},n),{height:`${parseFloat(n.height)+a+o}px`})},r))});function Vi(e){let t=R(),n=t.selectedIds,[r,i,a]=Mn(()=>({canDrag:()=>e.isDraggable,type:`NODE`,item:()=>{let r=t.isSelected(e.id)?Array.from(n):[e.id];return t.dispatch(W.dragStart(e.id,r)),{id:e.id,dragIds:r}},end:()=>{t.hideCursor(),t.dispatch(W.dragEnd())}}),[n,e]);return(0,w.useEffect)(()=>{a(gr())},[a]),i}function Hi(e,t){let n=e.getBoundingClientRect(),r=t.x-Math.round(n.x),i=t.y-Math.round(n.y),a=n.height,o=i<a/2,s=!o,c=a/4,l=i>c&&i<a-c;return{x:r,inTopHalf:o,inBottomHalf:s,inMiddle:l,atTop:!l&&o,atBottom:!l&&s}}function Ui(e,t,n,r){return e?e.isInternal?r.atTop?[t,e]:r.inMiddle?[e,e]:[e,n]:r.inTopHalf?[t,e]:[e,n]:[t,null]}function Wi(e,t){return{parentId:e||null,index:t}}function K(e,t){return{type:`line`,index:e,level:t}}function Gi(e){return{type:`highlight`,id:e}}function Ki(e,t){let n=e;for(;n.parent&&n.level>t;)n=n.parent;return{parentId:n.parent?.id||null,index:jr(n)+1}}function qi(e){let t=Hi(e.element,e.offset),n=e.indent,r=Math.round(Math.max(0,t.x-n)/n),{node:i,nextNode:a,prevNode:o}=e,[s,c]=Ui(i,o,a,t);if(i&&i.isInternal&&t.inMiddle)return{drop:Wi(i.id,null),cursor:Gi(i.id)};if(!s)return{drop:Wi(c?.parent?.id,0),cursor:K(0,0)};if(Dr(s)){let e=Er(r,c?.level||0,s.level);return{drop:Ki(s,e),cursor:K(s.rowIndex+1,e)}}if(Or(s)){let e=Er(r,c?.level||0,s.level);return{drop:Ki(s,e),cursor:K(s.rowIndex+1,e)}}if(kr(s)){let e=Er(r,0,s.level+1);return e>s.level?{drop:Wi(s.id,0),cursor:K(s.rowIndex+1,e)}:{drop:Ki(s,e),cursor:K(s.rowIndex+1,e)}}return{drop:Wi(s?.id,0),cursor:K(s.rowIndex+1,s.level+1)}}function Ji(e,t){let n=R(),[r,i]=Vn(()=>({accept:`NODE`,canDrop:()=>n.canDrop(),hover:(r,i)=>{let a=i.getClientOffset();if(!e.current||!a)return;let{cursor:o,drop:s}=qi({element:e.current,offset:a,indent:n.indent,node:t,prevNode:t.prev,nextNode:t.next});s&&n.dispatch(W.hovering(s.parentId,s.index)),i.canDrop()?o&&n.showCursor(o):n.hideCursor()},drop:(e,t)=>{if(!t.canDrop())return null;let{parentId:r,index:i,dragIds:a}=n.state.dnd;Hr(n.props.onMove,{dragIds:a,parentId:r===`__REACT_ARBORIST_INTERNAL_ROOT__`?null:r,index:i===null?0:i,dragNodes:n.dragNodes,parentNode:n.get(r)}),n.open(r)}}),[t,e.current,n.props]);return i}function Yi(e){let t=R(),n=t.at(e);if(!n)throw Error(`Could not find node for index: ${e}`);return(0,w.useMemo)(()=>{let r=n.clone();return t.visibleNodes[e]=r,r},[...Object.values(n.state),n])}var Xi=w.memo(function({index:e,style:t}){wr(),br();let n=R(),r=Yi(e),i=(0,w.useRef)(null),a=Vi(r),o=Ji(i,r),s=(0,w.useCallback)(e=>{i.current=e,o(e)},[o]),c=n.indent*r.level,l=(0,w.useMemo)(()=>({paddingLeft:c}),[c]),u=(0,w.useMemo)(()=>Object.assign(Object.assign({},t),{top:parseFloat(t.top)+(n.props.padding??n.props.paddingTop??0)}),[t,n.props.padding,n.props.paddingTop]),d={role:`treeitem`,"aria-level":r.level+1,"aria-selected":r.isSelected,"aria-expanded":r.isOpen,style:u,tabIndex:-1,className:n.props.rowClassName};(0,w.useEffect)(()=>{var e;!r.isEditing&&r.isFocused&&((e=i.current)==null||e.focus({preventScroll:!0}))},[r.isEditing,r.isFocused,i.current]);let f=n.renderNode,p=n.renderRow;return(0,T.jsx)(p,{node:r,innerRef:s,attrs:d,children:(0,T.jsx)(f,{node:r,tree:n,style:l,dragHandle:a})})}),Zi=``,Qi=null;function $i(){wr();let e=R();return(0,T.jsx)(`div`,{role:`tree`,style:{height:e.height,width:e.width,minHeight:0,minWidth:0},onContextMenu:e.props.onContextMenu,onClick:e.props.onClick,tabIndex:0,onFocus:t=>{t.currentTarget.contains(t.relatedTarget)||e.onFocus()},onBlur:t=>{t.currentTarget.contains(t.relatedTarget)||e.onBlur()},onKeyDown:t=>{if(e.isEditing)return;if(t.key===`Backspace`){if(!e.props.onDelete)return;let t=Array.from(e.selectedIds);if(t.length>1){let n=e.mostRecentNode;for(;n&&n.isSelected;)n=n.nextSibling;n||=e.lastNode,e.focus(n,{scroll:!1}),e.delete(Array.from(t))}else{let t=e.focusedNode;if(t){let n=t.nextSibling,r=t.parent;e.focus(n||r,{scroll:!1}),e.delete(t)}}return}if(t.key===`Tab`&&!t.shiftKey){t.preventDefault(),Fr(t.currentTarget);return}if(t.key===`Tab`&&t.shiftKey){t.preventDefault(),Ir(t.currentTarget);return}if(t.key===`ArrowDown`){t.preventDefault();let n=e.nextNode;if(t.metaKey){e.select(e.focusedNode),e.activate(e.focusedNode);return}if(!t.shiftKey||e.props.disableMultiSelection){e.focus(n);return}{if(!n)return;let t=e.focusedNode;t?t.isSelected?e.selectContiguous(n):e.selectMulti(n):e.focus(e.firstNode);return}}if(t.key===`ArrowUp`){t.preventDefault();let n=e.prevNode;if(!t.shiftKey||e.props.disableMultiSelection){e.focus(n);return}{if(!n)return;let t=e.focusedNode;t?t.isSelected?e.selectContiguous(n):e.selectMulti(n):e.focus(e.lastNode);return}}if(t.key===`ArrowRight`){let t=e.focusedNode;if(!t)return;t.isInternal&&t.isOpen?e.focus(e.nextNode):t.isInternal&&e.open(t.id);return}if(t.key===`ArrowLeft`){let t=e.focusedNode;if(!t||t.isRoot)return;t.isInternal&&t.isOpen?e.close(t.id):t.parent?.isRoot||e.focus(t.parent);return}if(t.key===`a`&&t.metaKey&&!e.props.disableMultiSelection){t.preventDefault(),e.selectAll();return}if(t.key===`a`&&!t.metaKey&&e.props.onCreate){e.createLeaf();return}if(t.key===`A`&&!t.metaKey){if(!e.props.onCreate)return;e.createInternal();return}if(t.key===`Home`){t.preventDefault(),e.focus(e.firstNode);return}if(t.key===`End`){t.preventDefault(),e.focus(e.lastNode);return}if(t.key===`Enter`){let t=e.focusedNode;if(!t||!t.isEditable||!e.props.onRename)return;setTimeout(()=>{t&&e.edit(t)});return}if(t.key===` `){t.preventDefault();let n=e.focusedNode;if(!n)return;n.isLeaf?(n.select(),n.activate()):n.toggle();return}if(t.key===`*`){let t=e.focusedNode;if(!t)return;e.openSiblings(t);return}if(t.key===`PageUp`){t.preventDefault(),e.pageUp();return}t.key===`PageDown`&&(t.preventDefault(),e.pageDown()),clearTimeout(Qi),Zi+=t.key,Qi=setTimeout(()=>{Zi=``},600);let n=e.visibleNodes.find(e=>{let t=e.data.name;return typeof t==`string`&&t.toLowerCase().startsWith(Zi)});n&&e.focus(n.id)},children:(0,T.jsx)(Pi,{className:e.props.className,outerRef:e.listEl,itemCount:e.visibleNodes.length,height:e.height,width:e.width,itemSize:e.rowHeight,overscanCount:e.overscanCount,itemKey:t=>e.visibleNodes[t]?.id||t,outerElementType:Li,innerElementType:Bi,onScroll:e.props.onScroll,onItemsRendered:e.onItemsRendered.bind(e),ref:e.list,children:Xi})})}function ea(e){return e.isFiltered?na(e.root,e.isMatch.bind(e)):ta(e.root)}function ta(e){let t=[];function n(e){var r;e.level>=0&&t.push(e),e.isOpen&&((r=e.children)==null||r.forEach(n))}return n(e),t.forEach(ra),t}function na(e,t){let n={},r=[];function i(e){if(!e.isRoot&&t(e)){n[e.id]=!0;let t=e.parent;for(;t;)n[t.id]=!0,t=t.parent}if(e.children)for(let t of e.children)i(t)}function a(e){var t;e.level>=0&&n[e.id]&&r.push(e),e.isOpen&&((t=e.children)==null||t.forEach(a))}return i(e),a(e),r.forEach(ra),r}function ra(e,t){e.rowIndex=t}var ia=e=>e.reduce((e,t,n)=>(e[t.id]=n,e),{}),aa=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},{safeRun:q,identify:J,identifyNull:Y}=Tr,oa=class e{constructor(e,t,n,r){this.store=e,this.props=t,this.list=n,this.listEl=r,this.visibleStartIndex=0,this.visibleStopIndex=0,this.root=oi(this),this.visibleNodes=ea(this),this.idToIndex=ia(this.visibleNodes)}update(e){this.props=e,this.root=oi(this),this.visibleNodes=ea(this),this.idToIndex=ia(this.visibleNodes)}dispatch(e){return this.store.dispatch(e)}get state(){return this.store.getState()}get openState(){return this.state.nodes.open.unfiltered}get width(){return this.props.width??300}get height(){return this.props.height??500}get indent(){return this.props.indent??24}get rowHeight(){return this.props.rowHeight??24}get overscanCount(){return this.props.overscanCount??1}get searchTerm(){return(this.props.searchTerm||``).trim()}get matchFn(){let e=this.props.searchMatch??((e,t)=>JSON.stringify(Object.values(e.data)).toLocaleLowerCase().includes(t.toLocaleLowerCase()));return t=>e(t,this.searchTerm)}accessChildren(e){return z(e,this.props.childrenAccessor||`children`)??null}accessId(e){let t=z(e,this.props.idAccessor||`id`);if(!t)throw Error(`Data must contain an 'id' property or props.idAccessor must return a string`);return t}get firstNode(){return this.visibleNodes[0]??null}get lastNode(){return this.visibleNodes[this.visibleNodes.length-1]??null}get focusedNode(){return this.get(this.state.nodes.focus.id)??null}get mostRecentNode(){return this.get(this.state.nodes.selection.mostRecent)??null}get nextNode(){let e=this.indexOf(this.focusedNode);return e===null?null:this.at(e+1)}get prevNode(){let e=this.indexOf(this.focusedNode);return e===null?null:this.at(e-1)}get(e){return e&&e in this.idToIndex&&this.visibleNodes[this.idToIndex[e]]||null}at(e){return this.visibleNodes[e]||null}nodesBetween(e,t){if(e===null||t===null)return[];let n=this.indexOf(e)??0,r=this.indexOf(t);if(r===null)return[];let i=Math.min(n,r),a=Math.max(n,r);return this.visibleNodes.slice(i,a+1)}indexOf(e){let t=Br(e);return t?this.idToIndex[t]:null}get editingId(){return this.state.nodes.edit.id}createInternal(){return this.create({type:`internal`})}createLeaf(){return this.create({type:`leaf`})}create(){return aa(this,arguments,void 0,function*(e={}){let t=e.parentId===void 0?Gr(this):e.parentId,n=e.index??Wr(this),r=e.type??`leaf`,i=yield q(this.props.onCreate,{type:r,parentId:t,index:n,parentNode:this.get(t)});i&&(this.focus(i),setTimeout(()=>{this.edit(i).then(()=>{this.select(i),this.activate(i)})}))})}delete(e){return aa(this,void 0,void 0,function*(){if(!e)return;let t=(Array.isArray(e)?e:[e]).map(J),n=t.map(e=>this.get(e)).filter(e=>!!e);yield q(this.props.onDelete,{nodes:n,ids:t})})}edit(t){let n=J(t);return this.resolveEdit({cancelled:!0}),this.scrollTo(n),this.dispatch(ei(n)),new Promise(t=>{e.editPromise=t})}submit(e,t){return aa(this,void 0,void 0,function*(){if(!e)return;let n=J(e);yield q(this.props.onRename,{id:n,name:t,node:this.get(n)}),this.dispatch(ei(null)),this.resolveEdit({cancelled:!1,value:t}),setTimeout(()=>this.onFocus())})}reset(){this.dispatch(ei(null)),this.resolveEdit({cancelled:!0}),setTimeout(()=>this.onFocus())}activate(e){let t=this.get(Y(e));t&&q(this.props.onActivate,t)}resolveEdit(t){let n=e.editPromise;n&&n(t),e.editPromise=null}get selectedIds(){return this.state.nodes.selection.ids}get selectedNodes(){let e=[];for(let t of Array.from(this.selectedIds)){let n=this.get(t);n&&e.push(n)}return e}focus(e,t={}){e&&(this.props.selectionFollowsFocus?this.select(e):(this.dispatch(V(J(e))),t.scroll!==!1&&this.scrollTo(e),this.focusedNode&&q(this.props.onFocus,this.focusedNode)))}pageUp(){let e=this.visibleStartIndex,t=this.visibleStopIndex-e,n=this.focusedNode?.rowIndex??0;n=n>e?e:Math.max(e-t,0),this.focus(this.at(n))}pageDown(){let e=this.visibleStartIndex,t=this.visibleStopIndex,n=t-e,r=this.focusedNode?.rowIndex??0;r=r<t?t:Math.min(r+n,this.visibleNodes.length-1),this.focus(this.at(r))}select(e,t={}){if(!e)return;let n=t.focus!==!1,r=J(e);n&&this.dispatch(V(r)),this.dispatch(U.only(r)),this.dispatch(U.anchor(r)),this.dispatch(U.mostRecent(r)),this.scrollTo(r,t.align),this.focusedNode&&n&&q(this.props.onFocus,this.focusedNode),q(this.props.onSelect,this.selectedNodes)}deselect(e){if(!e)return;let t=J(e);this.dispatch(U.remove(t)),q(this.props.onSelect,this.selectedNodes)}selectMulti(e){let t=this.get(Y(e));t&&(this.dispatch(V(t.id)),this.dispatch(U.add(t.id)),this.dispatch(U.anchor(t.id)),this.dispatch(U.mostRecent(t.id)),this.scrollTo(t),this.focusedNode&&q(this.props.onFocus,this.focusedNode),q(this.props.onSelect,this.selectedNodes))}selectContiguous(e){if(!e)return;let t=J(e),{anchor:n,mostRecent:r}=this.state.nodes.selection;this.dispatch(V(t)),this.dispatch(U.remove(this.nodesBetween(n,r))),this.dispatch(U.add(this.nodesBetween(n,Y(t)))),this.dispatch(U.mostRecent(t)),this.scrollTo(t),this.focusedNode&&q(this.props.onFocus,this.focusedNode),q(this.props.onSelect,this.selectedNodes)}deselectAll(){this.setSelection({ids:[],anchor:null,mostRecent:null}),q(this.props.onSelect,this.selectedNodes)}selectAll(){this.setSelection({ids:Object.keys(this.idToIndex),anchor:this.firstNode,mostRecent:this.lastNode}),this.dispatch(V(this.lastNode?.id)),this.focusedNode&&q(this.props.onFocus,this.focusedNode),q(this.props.onSelect,this.selectedNodes)}setSelection(e){let t=new Set(e.ids?.map(J)),n=Y(e.anchor),r=Y(e.mostRecent);this.dispatch(U.set({ids:t,anchor:n,mostRecent:r})),q(this.props.onSelect,this.selectedNodes)}get cursorParentId(){let{cursor:e}=this.state.dnd;switch(e.type){case`highlight`:return e.id;default:return null}}get cursorOverFolder(){return this.state.dnd.cursor.type===`highlight`}get dragNodes(){return this.state.dnd.dragIds.map(e=>this.get(e)).filter(e=>!!e)}get dragNode(){return this.get(this.state.nodes.drag.id)}get dragDestinationParent(){return this.get(this.state.nodes.drag.destinationParentId)}get dragDestinationIndex(){return this.state.nodes.drag.destinationIndex}canDrop(){if(this.isFiltered)return!1;let e=this.get(this.state.dnd.parentId)??this.root,t=this.dragNodes,n=this.props.disableDrop;for(let n of t)if(!n||!e||n.isInternal&&Ar(e,n))return!1;return typeof n==`function`?!n({parentNode:e,dragNodes:this.dragNodes,index:this.state.dnd.index||0}):typeof n==`string`?!e.data[n]:typeof n!=`boolean`||!n}hideCursor(){this.dispatch(W.cursor({type:`none`}))}showCursor(e){this.dispatch(W.cursor(e))}open(e){let t=Y(e);t&&(this.isOpen(t)||(this.dispatch(si.open(t,this.isFiltered)),q(this.props.onToggle,t)))}close(e){let t=Y(e);t&&this.isOpen(t)&&(this.dispatch(si.close(t,this.isFiltered)),q(this.props.onToggle,t))}toggle(e){let t=Y(e);if(t)return this.isOpen(t)?this.close(t):this.open(t)}openParents(e){let t=Y(e);if(!t)return;let n=Nr(this.root,t)?.parent;for(;n;)this.open(n.id),n=n.parent}openSiblings(e){let t=e.parent;if(!t)this.toggle(e.id);else if(t.children){let n=e.isOpen;for(let e of t.children)e.isInternal&&(n?this.close(e.id):this.open(e.id));this.scrollTo(this.focusedNode)}}openAll(){Pr(this.root,e=>{e.isInternal&&e.open()})}closeAll(){Pr(this.root,e=>{e.isInternal&&e.close()})}scrollTo(e,t=`smart`){if(!e)return;let n=J(e);return this.openParents(n),Ur(()=>n in this.idToIndex).then(()=>{var e;let r=this.idToIndex[n];r!==void 0&&((e=this.list.current)==null||e.scrollToItem(r,t))}).catch(()=>{})}get isEditing(){return this.state.nodes.edit.id!==null}get isFiltered(){return!!this.props.searchTerm?.trim()}get hasFocus(){return this.state.nodes.focus.treeFocused}get hasNoSelection(){return this.state.nodes.selection.ids.size===0}get hasOneSelection(){return this.state.nodes.selection.ids.size===1}get hasMultipleSelections(){return this.state.nodes.selection.ids.size>1}isSelected(e){return e?this.state.nodes.selection.ids.has(e):!1}isOpen(e){if(!e)return!1;if(e===`__REACT_ARBORIST_INTERNAL_ROOT__`)return!0;let t=this.props.openByDefault??!0;return this.isFiltered?this.state.nodes.open.filtered[e]??!0:this.state.nodes.open.unfiltered[e]??t}isEditable(e){return!z(e,this.props.disableEdit||(()=>!1))}isDraggable(e){return!z(e,this.props.disableDrag||(()=>!1))}isDragging(e){let t=Y(e);return t?this.state.nodes.drag.id===t:!1}isFocused(e){return this.hasFocus&&this.state.nodes.focus.id===e}isMatch(e){return this.matchFn(e)}willReceiveDrop(e){let t=Y(e);if(!t)return!1;let{destinationParentId:n,destinationIndex:r}=this.state.nodes.drag;return t===n&&r===null}onFocus(){let e=this.focusedNode||this.firstNode;e&&this.dispatch(V(e.id))}onBlur(){this.dispatch(ni())}onItemsRendered(e){this.visibleStartIndex=e.visibleStartIndex,this.visibleStopIndex=e.visibleStopIndex}get renderContainer(){return this.props.renderContainer||$i}get renderRow(){return this.props.renderRow||Xr}get renderNode(){return this.props.children||Zr}get renderDragPreview(){return this.props.renderDragPreview||hi}get renderCursor(){return this.props.renderCursor||Yr}};function X(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var sa=typeof Symbol==`function`&&Symbol.observable||`@@observable`,ca=()=>Math.random().toString(36).substring(7).split(``).join(`.`),la={INIT:`@@redux/INIT${ca()}`,REPLACE:`@@redux/REPLACE${ca()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${ca()}`};function ua(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function da(e,t,n){if(typeof e!=`function`)throw Error(X(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(X(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(X(1));return n(da)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(X(3));return i}function d(e){if(typeof e!=`function`)throw Error(X(4));if(c)throw Error(X(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(X(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!ua(e))throw Error(X(7));if(e.type===void 0)throw Error(X(8));if(typeof e.type!=`string`)throw Error(X(17));if(c)throw Error(X(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(X(10));r=e,f({type:la.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(X(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[sa](){return this}}}return f({type:la.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[sa]:m}}function fa(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:la.INIT})===void 0)throw Error(X(12));if(n(void 0,{type:la.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(X(13))})}function pa(e){let t=Object.keys(e),n={};for(let r=0;r<t.length;r++){let i=t[r];typeof e[i]==`function`&&(n[i]=e[i])}let r=Object.keys(n),i;try{fa(n)}catch(e){i=e}return function(e={},t){if(i)throw i;let a=!1,o={};for(let i=0;i<r.length;i++){let s=r[i],c=n[s],l=e[s],u=c(l,t);if(u===void 0)throw t&&t.type,Error(X(14));o[s]=u,a||=u!==l}return a||=r.length!==Object.keys(e).length,a?o:e}}function ma(e=H().nodes.drag,t){switch(t.type){case`DND_DRAG_START`:return Object.assign(Object.assign({},e),{id:t.id,selectedIds:t.dragIds});case`DND_DRAG_END`:return Object.assign(Object.assign({},e),{id:null,destinationParentId:null,destinationIndex:null,selectedIds:[]});case`DND_HOVERING`:return t.parentId!==e.destinationParentId||t.index!=e.destinationIndex?Object.assign(Object.assign({},e),{destinationParentId:t.parentId,destinationIndex:t.index}):e;default:return e}}var ha=pa({nodes:pa({focus:ri,edit:ti,open:li,selection:ui,drag:ma}),dnd:di}),ga=H();function _a({treeProps:e,imperativeHandle:t,children:n}){let r=(0,w.useRef)(null),i=(0,w.useRef)(null),a=(0,w.useRef)(da(ha,H(e))),o=(0,oe.useSyncExternalStore)(a.current.subscribe,a.current.getState,()=>ga),s=(0,w.useMemo)(()=>new oa(a.current,e,r,i),[]),c=(0,w.useRef)(0);return(0,w.useMemo)(()=>{c.current+=1,s.update(e)},[...Object.values(e),o.nodes.open]),(0,w.useImperativeHandle)(t,()=>s),(0,w.useEffect)(()=>{s.props.selection?s.select(s.props.selection,{focus:!1}):s.deselectAll()},[s.props.selection]),(0,w.useEffect)(()=>{s.props.searchTerm||a.current.dispatch(si.clear(!0))},[s.props.searchTerm]),(0,T.jsx)(vr.Provider,{value:s,children:(0,T.jsx)(Cr.Provider,{value:c.current,children:(0,T.jsx)(yr.Provider,{value:o.nodes,children:(0,T.jsx)(xr.Provider,{value:o.dnd,children:(0,T.jsx)(Qt,Object.assign({backend:_r,options:{rootElement:s.props.dndRootElement||void 0}},e.dndManager&&{manager:e.dndManager},{children:n}))})})})})}function va(){let e=R(),[,t]=Vn(()=>({accept:`NODE`,canDrop:(t,n)=>n.isOver({shallow:!0})?e.canDrop():!1,hover:(t,n)=>{if(!n.isOver({shallow:!0}))return;let r=n.getClientOffset();if(!e.listEl.current||!r)return;let{cursor:i,drop:a}=qi({element:e.listEl.current,offset:r,indent:e.indent,node:null,prevNode:e.visibleNodes[e.visibleNodes.length-1],nextNode:null});a&&e.dispatch(W.hovering(a.parentId,a.index)),n.canDrop()?i&&e.showCursor(i):e.hideCursor()}}),[e]);t(e.listEl)}function ya(e){return va(),e.children}function ba(){let e=R().props.renderContainer||$i;return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(e,{})})}function xa(){let e=R(),{offset:t,mouse:n,item:r,isDragging:i}=Nn(e=>({offset:e.getSourceClientOffset(),mouse:e.getClientOffset(),item:e.getItem(),isDragging:e.isDragging()})),a=e.props.renderDragPreview||hi;return(0,T.jsx)(a,{offset:t,mouse:n,id:r?.id||null,dragIds:r?.dragIds||[],isDragging:i})}var Z=class{constructor(e){this.root=Sa(e)}get data(){return this.root.children?.map(e=>e.data)??[]}create(e){let t=e.parentId?this.find(e.parentId):this.root;if(!t)return null;t.addChild(e.data,e.index)}move(e){let t=this.find(e.id),n=e.parentId?this.find(e.parentId):this.root;!t||!n||(n.addChild(t.data,e.index),t.drop())}update(e){let t=this.find(e.id);t&&t.update(e.changes)}drop(e){let t=this.find(e.id);t&&t.drop()}find(e,t=this.root){if(!t)return null;if(t.id===e)return t;if(t.children){for(let n of t.children){let t=this.find(e,n);if(t)return t}return null}return null}};function Sa(e){let t=new wa({id:`ROOT`},null);return t.children=e.map(e=>Ca(e,t)),t}function Ca(e,t){let n=new wa(e,t);return e.children&&(n.children=e.children.map(e=>Ca(e,n))),n}var wa=class{constructor(e,t){this.data=e,this.parent=t,this.id=e.id}hasParent(){return!!this.parent}get childIndex(){return this.hasParent()?this.parent.children.indexOf(this):-1}addChild(e,t){let n=Ca(e,this);this.children=this.children??[],this.children.splice(t,0,n),this.data.children=this.data.children??[],this.data.children.splice(t,0,e)}removeChild(e){var t,n;(t=this.children)==null||t.splice(e,1),(n=this.data.children)==null||n.splice(e,1)}update(e){if(this.hasParent()){let t=this.childIndex;this.parent.addChild(Object.assign(Object.assign({},this.data),e),t),this.drop()}}drop(){this.hasParent()&&this.parent.removeChild(this.childIndex)}},Ta=0;function Ea(e){let[t,n]=(0,w.useState)(e),r=(0,w.useMemo)(()=>new Z(t),[t]);return[t,{onMove:e=>{for(let t of e.dragIds)r.move({id:t,parentId:e.parentId,index:e.index});n(r.data)},onRename:({name:e,id:t})=>{r.update({id:t,changes:{name:e}}),n(r.data)},onCreate:({parentId:e,index:t,type:i})=>{let a={id:`simple-tree-id-${Ta++}`,name:``};return i===`internal`&&(a.children=[]),r.create({parentId:e,index:t,data:a}),n(r.data),a},onDelete:e=>{e.ids.forEach(e=>r.drop({id:e})),n(r.data)}}]}function Da(e){if(e.initialData&&e.data)throw Error(`React Arborist Tree => Provide either a data or initialData prop, but not both.`);if(e.initialData&&(e.onCreate||e.onDelete||e.onMove||e.onRename))throw Error(`React Arborist Tree => You passed the initialData prop along with a data handler.
|
|
3
3
|
Use the data prop if you want to provide your own handlers.`);if(e.initialData){let[t,n]=Ea(e.initialData);return Object.assign(Object.assign(Object.assign({},e),n),{data:t})}return e}function Oa(e,t){let n=Da(e);return(0,T.jsxs)(_a,{treeProps:n,imperativeHandle:t,children:[(0,T.jsx)(ya,{children:(0,T.jsx)(ba,{})}),(0,T.jsx)(xa,{})]})}var ka=(0,w.forwardRef)(Oa),Q=a(),Aa=5;function $(e){return e.success?e:(x({title:`Failed`,description:e.message}),null)}var ja=class{delegate=new Z([]);callbacks;constructor(e){this.callbacks=e}rootPath=``;onChange=o.NOOP;path=new ee(`/`);initialize=async e=>{if(this.onChange=e,this.delegate.data.length===0)try{let e=await this.callbacks.listFiles({path:this.rootPath});this.delegate=new Z(e.files),this.rootPath=e.root,this.path=ee.guessDeliminator(e.root)}catch(e){x({title:`Failed`,description:te(e)})}this.onChange(this.delegate.data)};async expand(e){let t=this.delegate.find(e);if(!t||!t.data.isDirectory)return!1;if(t.children&&t.children.length>0)return!0;let n=await this.callbacks.listFiles({path:t.data.path});return this.delegate.update({id:e,changes:{children:n.files}}),this.onChange(this.delegate.data),!0}async copy(e,t){let n=this.delegate.find(e);if(!n){x({title:`Failed`,description:`Node with id ${e} not found in the tree`});return}let{path:r,newPath:i}=S({path:n.data.path,name:t,root:this.rootPath}),a=this.path.dirname(r),o=await this.callbacks.copyFileOrFolder({path:r,newPath:i}).then($);o?.info&&(this.delegate.create({parentId:n.parent?.id??null,index:0,data:o.info}),this.onChange(this.delegate.data),await this.refreshAll([a]))}async rename(e,t){let n=this.delegate.find(e);if(!n){x({title:`Failed`,description:`Node with id ${e} not found in the tree`});return}let{path:r,newPath:i}=S({path:n.data.path,name:t,root:this.rootPath});await this.callbacks.renameFileOrFolder({path:r,newPath:i}).then($)&&(this.delegate.update({id:e,changes:{name:t,path:i}}),this.onChange(this.delegate.data),await this.refreshAll([i]))}async move(e,t){let n=t?this.delegate.find(t)?.data.path??t:this.rootPath;await C(e,Aa,async e=>{let r=this.delegate.find(e);if(!r)return;let i=r.data.path,a=this.path.join(n,this.path.basename(i));await this.callbacks.renameFileOrFolder({path:i,newPath:a}).then($)&&(this.delegate.move({id:e,parentId:t,index:0}),this.delegate.update({id:e,changes:{path:a}}))}),this.onChange(this.delegate.data),await this.refreshAll([n])}async createFile({name:e,parentId:t,type:n=`file`}){let r=t?this.delegate.find(t)?.data.path??t:this.rootPath,i=await this.callbacks.createFileOrFolder({path:r,type:n,name:e}).then($);i?.info&&(this.delegate.create({parentId:t,index:0,data:i.info}),this.onChange(this.delegate.data),await this.refreshAll([r]))}async createFolder(e,t){let n=t?this.delegate.find(t)?.data.path??t:this.rootPath,r=await this.callbacks.createFileOrFolder({path:n,type:`directory`,name:e}).then($);r?.info&&(this.delegate.create({parentId:t,index:0,data:r.info}),this.onChange(this.delegate.data),await this.refreshAll([n]))}async delete(e){let t=this.delegate.find(e);if(!t){x({title:`Failed`,description:`Node with id ${e} not found in the tree`});return}await this.callbacks.deleteFileOrFolder({path:t.data.path}).then($)&&(this.delegate.drop({id:e}),this.onChange(this.delegate.data))}refreshAll=async e=>{let t=[this.rootPath,...e.map(e=>this.delegate.find(e)?.data.path)].filter(Boolean),n=await C(t,Aa,e=>this.callbacks.listFiles({path:e}).catch(()=>({files:[]})));for(let[e,r]of t.entries()){let t=n[e];r===this.rootPath?this.delegate=new Z(t.files):this.delegate.update({id:r,changes:{children:t.files}})}this.onChange(this.delegate.data)};refreshPath=async e=>{let t=await this.callbacks.listFiles({path:e}).catch(()=>null);if(t){if(e===this.rootPath)this.delegate=new Z(t.files);else{let n=Ma(this.delegate.data,e);if(!n?.isDirectory)return;this.delegate.update({id:n.id,changes:{children:t.files}})}this.onChange(this.delegate.data)}};relativeFromRoot=e=>{let t=this.rootPath.endsWith(this.path.deliminator)?this.rootPath:`${this.rootPath}${this.path.deliminator}`;return e.startsWith(t)?e.slice(t.length):e};getRootPath=()=>this.rootPath};function Ma(e,t){for(let n of e){if(n.path===t)return n;let e=n.children?Ma(n.children,t):void 0;if(e)return e}}function Na(e){let t=(0,Q.c)(13),{root:n}=e,{sendRenameFileOrFolder:r,sendCopyFileOrFolder:i,sendDeleteFileOrFolder:a}=m(),o;t[0]!==n||t[1]!==r?(o=async(e,t)=>{let{path:i,newPath:a}=S({path:e.path,name:t,root:n});return $(await r({path:i,newPath:a}))},t[0]=n,t[1]=r,t[2]=o):o=t[2];let s=o,c;t[3]!==n||t[4]!==i?(c=async e=>{let{path:t,newPath:r}=S({path:e.path,name:ie(e.name),root:n});return $(await i({path:t,newPath:r}))},t[3]=n,t[4]=i,t[5]=c):c=t[5];let l=c,u;t[6]!==n||t[7]!==a?(u=async e=>$(await a({path:re(e.path,n)})),t[6]=n,t[7]=a,t[8]=u):u=t[8];let d=u,f;return t[9]!==d||t[10]!==l||t[11]!==s?(f={renameFile:s,duplicateFile:l,deleteFile:d},t[9]=d,t[10]=l,t[11]=s,t[12]=f):f=t[12],f}var Pa={file:`Delete file`,folder:`Delete folder`,notebook:`Delete notebook`};function Fa(){let e=(0,Q.c)(2),{openConfirm:t}=y(),n;return e[0]===t?n=e[1]:(n=(e,n)=>{let r=e.kind??`file`;t({title:Pa[r],description:`Are you sure you want to delete ${e.name}?`,confirmAction:(0,T.jsx)(c,{onClick:async()=>{await n()},"aria-label":`Confirm`,children:`Delete`})})},e[0]=t,e[1]=n),n}function Ia(e){let t=(0,Q.c)(17),{node:n,root:i,onAfterChange:a}=e,o;t[0]===i?o=t[1]:(o={root:i},t[0]=i,t[1]=o);let{duplicateFile:s,deleteFile:c}=Na(o),l=Fa(),u;t[2]===n?u=t[3]:(u=()=>{n.edit()},t[2]=n,t[3]=u);let d=r(u),f;t[4]!==s||t[5]!==n.data||t[6]!==a?(f=async()=>{await s(n.data)&&a?.()},t[4]=s,t[5]=n.data,t[6]=a,t[7]=f):f=t[7];let p=r(f),m;t[8]!==l||t[9]!==c||t[10]!==n.data||t[11]!==a?(m=()=>{let e=n.data.isDirectory?`folder`:n.data.isMarimoFile?`notebook`:`file`;l({name:n.data.name,kind:e},async()=>{await c(n.data)&&a?.()})},t[8]=l,t[9]=c,t[10]=n.data,t[11]=a,t[12]=m):m=t[12];let h=r(m),g;return t[13]!==h||t[14]!==p||t[15]!==d?(g={handleRename:d,handleDuplicate:p,handleDelete:h},t[13]=h,t[14]=p,t[15]=d,t[16]=g):g=t[16],g}var La=e=>{let t=(0,Q.c)(15),{testId:n,buttonClassName:r,iconClassName:i,contentClassName:a,preventDefaultOnTrigger:o,children:s}=e,c=o!==void 0&&o,l;t[0]===c?l=t[1]:(l=e=>{e.stopPropagation(),c&&e.preventDefault()},t[0]=c,t[1]=l);let u;t[2]!==r||t[3]!==i||t[4]!==n?(u=(0,T.jsx)(g,{"data-testid":n,className:r,iconClassName:i}),t[2]=r,t[3]=i,t[4]=n,t[5]=u):u=t[5];let m;t[6]!==l||t[7]!==u?(m=(0,T.jsx)(d,{asChild:!0,tabIndex:-1,onClick:l,children:u}),t[6]=l,t[7]=u,t[8]=m):m=t[8];let h=a??`print:hidden w-[220px]`,_;t[9]!==s||t[10]!==h?(_=(0,T.jsx)(f,{align:`end`,className:h,onClick:Va,onCloseAutoFocus:Ha,children:s}),t[9]=s,t[10]=h,t[11]=_):_=t[11];let v;return t[12]!==m||t[13]!==_?(v=(0,T.jsxs)(p,{modal:!1,children:[m,_]}),t[12]=m,t[13]=_,t[14]=v):v=t[14],v},Ra=e=>{let t=(0,Q.c)(6),{onSelect:n,disabled:r,title:i,testId:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,T.jsx)(ae,{className:_}),t[0]=o):o=t[0];let s;return t[1]!==r||t[2]!==n||t[3]!==a||t[4]!==i?(s=(0,T.jsxs)(u,{onSelect:n,disabled:r,title:i,"data-testid":a,children:[o,`Rename`]}),t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=s):s=t[5],s},za=e=>{let t=(0,Q.c)(6),{onSelect:n,disabled:r,title:i,testId:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,T.jsx)(v,{className:_}),t[0]=o):o=t[0];let s;return t[1]!==r||t[2]!==n||t[3]!==a||t[4]!==i?(s=(0,T.jsxs)(u,{onSelect:n,disabled:r,title:i,"data-testid":a,children:[o,`Duplicate`]}),t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=s):s=t[5],s},Ba=e=>{let t=(0,Q.c)(6),{onSelect:n,disabled:r,title:i,testId:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,T.jsx)(b,{className:_}),t[0]=o):o=t[0];let s;return t[1]!==r||t[2]!==n||t[3]!==a||t[4]!==i?(s=(0,T.jsxs)(u,{onSelect:n,variant:`danger`,disabled:r,title:i,"data-testid":a,children:[o,`Delete`]}),t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=s):s=t[5],s};function Va(e){return e.stopPropagation()}function Ha(e){return e.preventDefault()}var Ua=e=>{let t=(0,Q.c)(10),{node:n}=e,r=(0,w.useRef)(null),i,a;t[0]===n.data.name?(i=t[1],a=t[2]):(i=()=>{r.current?.focus();let e=n.data.name,t=e.lastIndexOf(`.`),i=t>0?t:e.length;r.current?.setSelectionRange(0,i)},a=[n.data.name],t[0]=n.data.name,t[1]=i,t[2]=a),(0,w.useEffect)(i,a);let o,s;t[3]===n?(o=t[4],s=t[5]):(o=()=>n.reset(),s=e=>{e.key===`Escape`&&n.reset(),e.key===`Enter`&&n.submit(e.currentTarget.value)},t[3]=n,t[4]=o,t[5]=s);let c;return t[6]!==n.data.name||t[7]!==o||t[8]!==s?(c=(0,T.jsx)(`input`,{ref:r,className:`flex-1 bg-transparent border border-border text-muted-foreground`,defaultValue:n.data.name,onClick:Wa,onBlur:o,onKeyDown:s}),t[6]=n.data.name,t[7]=o,t[8]=s,t[9]=c):c=t[9],c};function Wa(e){return e.stopPropagation()}export{Ra as a,ja as c,L as d,Qt as f,La as i,ka as l,Ba as n,Na as o,za as r,Ia as s,Ua as t,_r as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{S as r,
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{S as r,mt as i}from"./cells-yuYDzbAy.js";import{t as a}from"./compiler-runtime-CYIjoINj.js";import{g as o}from"./useEventListener-D27Dii_l.js";import{E as s}from"./config-DaNyNpZL.js";import{t as c}from"./cn-ldLVeaqm.js";import{t as l}from"./jsx-runtime-B74pBk57.js";var u=a(),d=e(n(),1);function f(){return s()===`edit`?document.getElementById(`App`):void 0}function p(e){let t=(0,u.c)(7),[n,r]=(0,d.useState)(void 0),[a,o]=(0,d.useState)(void 0),s=(0,d.useRef)(null),c=(0,d.useRef)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=new Map,t[0]=l):l=t[0];let p=(0,d.useRef)(l),h,g;t[1]===e?(h=t[2],g=t[3]):(h=()=>e.length===0?void 0:(s.current=new IntersectionObserver(e=>{let t=!1;if(e.forEach(e=>{let n=e.target;e.isIntersecting?(!c.current||n.getBoundingClientRect().top<c.current.getBoundingClientRect().top)&&(c.current=n,t=!0):n===c.current&&(c.current=null,t=!0)}),t&&c.current){let e=i(c.current),t=`id`in e?e.id:e.path;r(t),o(p.current.get(c.current))}},{root:f(),rootMargin:`0px`,threshold:0}),e.forEach(t=>{if(t){let n=i(t[0]),r=e.map(m).filter(e=>`id`in n?e.id===n.id:e.textContent===t[0].textContent).indexOf(t[0]);p.current.set(t[0],r),s.current?.observe(t[0])}}),()=>{s.current&&s.current.disconnect(),c.current=null}),g=[e],t[1]=e,t[2]=h,t[3]=g),(0,d.useEffect)(h,g);let _;return t[4]!==n||t[5]!==a?(_={activeHeaderId:n,activeOccurrences:a},t[4]=n,t[5]=a,t[6]=_):_=t[6],_}function m(e){let[t]=e;return t}function h(e){if(e.length===0)return[];let t=new Map;return e.map(e=>{let n=`id`in e.by?e.by.id:e.by.path,r=t.get(n)??0;t.set(n,r+1);let i=_(e,r);return i?[i,n]:null}).filter(Boolean)}function g(e,t){let n=_(e,t);if(!n){o.warn(`Could not find element for outline item`,e);return}n.scrollIntoView({behavior:`smooth`,block:`start`}),n.classList.add(`outline-item-highlight`),setTimeout(()=>{n.classList.remove(`outline-item-highlight`)},3e3)}function _(e,t){return`id`in e.by?document.querySelectorAll(`[id="${CSS.escape(e.by.id)}"]`)[t]:document.evaluate(e.by.path,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}var v=l(),y=()=>{let e=(0,u.c)(19),{items:n}=t(r),i;e[0]===n?i=e[1]:(i=h(n),e[0]=n,e[1]=i);let{activeHeaderId:a,activeOccurrences:o}=p(i),[s,l]=d.useState(!1);if(n.length<2)return null;let f,m,g;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>l(!0),m=()=>l(!1),g=c(`fixed top-[25vh] right-8 z-10000 print:hidden`,`hidden md:block`),e[2]=f,e[3]=m,e[4]=g):(f=e[2],m=e[3],g=e[4]);let _=s?`left-[-280px] opacity-100`:`left-[300px] opacity-0`,y;e[5]===_?y=e[6]:(y=c(`-top-4 max-h-[70vh] bg-background rounded-lg shadow-lg absolute overflow-auto transition-all duration-300 w-[300px] border`,_),e[5]=_,e[6]=y);let S;e[7]!==a||e[8]!==o||e[9]!==n||e[10]!==y?(S=(0,v.jsx)(x,{className:y,items:n,activeHeaderId:a,activeOccurrences:o}),e[7]=a,e[8]=o,e[9]=n,e[10]=y,e[11]=S):S=e[11];let C;e[12]!==a||e[13]!==o||e[14]!==n?(C=(0,v.jsx)(b,{items:n,activeHeaderId:a,activeOccurrences:o}),e[12]=a,e[13]=o,e[14]=n,e[15]=C):C=e[15];let w;return e[16]!==S||e[17]!==C?(w=(0,v.jsxs)(`div`,{onMouseEnter:f,onMouseLeave:m,className:g,children:[S,C]}),e[16]=S,e[17]=C,e[18]=w):w=e[18],w},b=e=>{let t=(0,u.c)(8),{items:n,activeHeaderId:r,activeOccurrences:i}=e,a,o;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=new Map;a=`flex flex-col gap-4 items-end max-h-[70vh] overflow-hidden`,o=n.map((t,n)=>{let a=`id`in t.by?t.by.id:t.by.path,o=e.get(a)??0;return e.set(a,o+1),(0,v.jsx)(`div`,{className:c(`h-[2px] bg-muted-foreground/60`,t.level===1&&`w-5`,t.level===2&&`w-4`,t.level===3&&`w-3`,t.level===4&&`w-2`,o===i&&r===a&&`bg-foreground`),onClick:()=>g(t,o)},`${a}-${n}`)}),t[0]=r,t[1]=i,t[2]=n,t[3]=a,t[4]=o}else a=t[3],o=t[4];let s;return t[5]!==a||t[6]!==o?(s=(0,v.jsx)(`div`,{className:a,children:o}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s},x=e=>{let t=(0,u.c)(11),{items:n,activeHeaderId:r,activeOccurrences:i,className:a}=e,o,s;if(t[0]!==r||t[1]!==i||t[2]!==a||t[3]!==n){let e=new Map;t[6]===a?o=t[7]:(o=c(`flex flex-col overflow-auto py-4 pl-2`,a),t[6]=a,t[7]=o),s=n.map((t,n)=>{let a=`id`in t.by?t.by.id:t.by.path,o=e.get(a)??0;e.set(a,o+1);let s=`${a}-${n}`,l={className:c(`px-2 py-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l`,t.level===1&&`font-semibold`,t.level===2&&`ml-3`,t.level===3&&`ml-6`,t.level===4&&`ml-9`,o===i&&r===a&&`text-accent-foreground`),onClick:()=>g(t,o)};return t.html?(0,v.jsx)(`div`,{...l,dangerouslySetInnerHTML:{__html:t.html}},s):(0,v.jsx)(`div`,{...l,children:t.name},s)}),t[0]=r,t[1]=i,t[2]=a,t[3]=n,t[4]=o,t[5]=s}else o=t[4],s=t[5];let l;return t[8]!==o||t[9]!==s?(l=(0,v.jsx)(`div`,{className:o,children:s}),t[8]=o,t[9]=s,t[10]=l):l=t[10],l};export{p as i,x as n,h as r,y as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,t as n,u as r}from"./useEvent-xfs0Sn4r.js";import{t as i}from"./react-CBDbhulC.js";import{Hi as a,Qi as o,Wn as s,Xi as c,ca as l,ea as u,ni as d,sa as f,xo as p}from"./cells-C6lBv8kg.js";import{t as m}from"./compiler-runtime-CYIjoINj.js";import{_ as h}from"./useEventListener-D27Dii_l.js";import{t as g}from"./objects-snlMn4yk.js";import{n as _}from"./constants-BDbGiS7O.js";import{P as v}from"./config-DaNyNpZL.js";import{t as y}from"./ErrorBoundary-npvnLp9x.js";import{t as b}from"./cn-ldLVeaqm.js";import{t as x}from"./jsx-runtime-B74pBk57.js";import{o as S}from"./alert-dialog-BVi_GyOB.js";import{d as C}from"./select-czJLm6jf.js";import{a as w,c as T,p as E,r as D,t as O}from"./dropdown-menu-CqNabM1f.js";import{t as k}from"./tooltip-D7dq6bnc.js";import{t as A}from"./button-Btj6GXNy.js";import{r as j}from"./requests-C6_IaFh7.js";import{t as M}from"./createLucideIcon-B7HeEoG2.js";import{t as N}from"./chart-no-axes-column-ChZdjJhj.js";import{a as P}from"./useNumberFormatter-DHJ9s6Vk.js";import{t as F}from"./chevron-right-CKA5zVsM.js";import{o as I,s as L}from"./tree-actions-CGkbUSfG.js";import{t as R}from"./circle-play-CQiat61_.js";import{t as z}from"./external-link-Bp3BxyRA.js";import{r as B,t as V}from"./file-icons-uUY_hGYm.js";import{t as H}from"./file-DF8n85RA.js";import{n as U,r as ee,t as te}from"./youtube-DCJ-ihUU.js";import{b as ne}from"./write-secret-modal-lNU_7c2x.js";import{t as re}from"./link-Cap-MZiw.js";import{t as W}from"./spinner-Ck-Hgfvj.js";import{t as ie}from"./package-DPlscLzt.js";import{a as ae,i as oe,l as se,n as ce,o as le,r as ue,s as de,t as fe}from"./file-name-input-DWUKg4LS.js";import{n as pe,r as me,t as he}from"./app-config-button-ii-Hj5CZ.js";import{Wt as ge,r as _e}from"./input-Daz6sk8l.js";import{t as G}from"./use-toast-DpWHUGuF.js";import{n as ve}from"./paths-zcL04qUW.js";import{c as ye,n as be,o as xe,t as Se}from"./session-CEdta5_Q.js";import{t as Ce}from"./context-Do8M9TDF.js";import{n as K,t as we}from"./useAsyncData-Buhk-UgR.js";import{s as Te}from"./dates-DK5JikJo.js";import{a as Ee}from"./errors-DzO-nXy-.js";import{n as De}from"./react-icons.esm-hr79-MCS.js";import{t as Oe}from"./error-banner-BYN8YUMe.js";import{t as q}from"./icons-CjLa9BiH.js";import{t as ke}from"./github-YRgb6LMu.js";import{n as Ae}from"./marimo-icons-C3KxMV9A.js";import{t as je}from"./links-DPh7yoP-.js";import{t as Me}from"./useInterval-B1_J4wdT.js";var Ne=M(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),Pe=M(`book-text`,[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`,key:`k3hazp`}],[`path`,{d:`M8 11h8`,key:`vwpz6n`}],[`path`,{d:`M8 7h6`,key:`1f0q6e`}]]),Fe=M(`graduation-cap`,[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`,key:`j76jl0`}],[`path`,{d:`M22 10v6`,key:`1lu8f3`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`,key:`1r8lef`}]]),Ie=M(`orbit`,[[`path`,{d:`M20.341 6.484A10 10 0 0 1 10.266 21.85`,key:`1enhxb`}],[`path`,{d:`M3.659 17.516A10 10 0 0 1 13.74 2.152`,key:`1crzgf`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`circle`,{cx:`19`,cy:`5`,r:`2`,key:`mhkx31`}],[`circle`,{cx:`5`,cy:`19`,r:`2`,key:`v8kfzx`}]]),Le=M(`panels-top-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M9 21V9`,key:`1oto5p`}]]),J=e(i(),1),Y=m(),X=x(),Re={intro:[`Introduction`,Ne,`Get started with marimo basics`],dataflow:[`Dataflow`,l,`Learn how cells interact with each other`],ui:[`UI Elements`,Le,`Create interactive UI components`],markdown:[`Markdown`,c,`Format text with parameterized markdown`],plots:[`Plots`,N,`Create interactive visualizations`],sql:[`SQL`,o,`Query databases directly in marimo`],layout:[`Layout`,ee,`Customize the layout of your cells' output`],fileformat:[`File format`,H,`Understand marimo's pure-Python file format`],"external-dependencies":[`External dependencies`,ie,`Declare dependencies with Python script metadata`],"for-jupyter-users":[`For Jupyter users`,Ie,`Transiting from Jupyter to marimo`],"markdown-format":[`Markdown format`,q,`Using marimo to edit markdown files`]},ze=()=>{let e=(0,Y.c)(6),{openTutorial:t}=j(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,X.jsx)(Fe,{className:`w-4 h-4 mr-2`}),e[0]=n):n=e[0];let r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,X.jsx)(E,{asChild:!0,children:(0,X.jsxs)(A,{"data-testid":`open-tutorial-button`,size:`xs`,variant:`outline`,children:[n,`Tutorials`,(0,X.jsx)(De,{className:`w-3 h-3 ml-1`})]})}),e[1]=r):r=e[1];let i;e[2]===t?i=e[3]:(i=g.entries(Re).map(e=>{let[n,r]=e,[i,a,o]=r;return(0,X.jsxs)(w,{onSelect:async()=>{let e=await t({tutorialId:n});e&&je(e.path)},children:[(0,X.jsx)(a,{strokeWidth:1.5,className:`w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground`}),(0,X.jsx)(`div`,{className:`flex items-center`,children:(0,X.jsxs)(`div`,{className:`flex flex-col`,children:[(0,X.jsx)(`span`,{children:i}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground pr-1`,children:o})]})})]},n)}),e[2]=t,e[3]=i);let a;return e[4]===i?a=e[5]:(a=(0,X.jsxs)(O,{children:[r,(0,X.jsx)(D,{side:`bottom`,align:`end`,className:`print:hidden`,children:i})]}),e[4]=i,e[5]=a),a},Be=[{title:`Documentation`,description:`Official marimo documentation and API reference`,icon:f,url:_.docsPage},{title:`GitHub`,description:`View source code, report issues, or contribute`,icon:ke,url:_.githubPage},{title:`Community`,description:`Join the marimo Discord community`,icon:U,url:_.discordLink},{title:`molab`,description:`Run marimo notebooks in the cloud`,icon:Ae,url:_.molab},{title:`YouTube`,description:`Watch tutorials and demos`,icon:te,url:_.youtube},{title:`Changelog`,description:`See what's new in marimo`,icon:c,url:_.releasesPage}],Ve=()=>{let e=(0,Y.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(Z,{Icon:re,children:`Resources`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[t,(0,X.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3`,children:Be.map(He)})]}),e[1]=n):n=e[1],n},Z=e=>{let t=(0,Y.c)(8),{Icon:n,control:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,X.jsx)(n,{className:`h-5 w-5`}),t[0]=n,t[1]=a);let o;t[2]!==i||t[3]!==a?(o=(0,X.jsxs)(`h2`,{className:`flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none`,children:[a,i]}),t[2]=i,t[3]=a,t[4]=o):o=t[4];let s;return t[5]!==r||t[6]!==o?(s=(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[o,r]}),t[5]=r,t[6]=o,t[7]=s):s=t[7],s};function He(e){return(0,X.jsxs)(`a`,{href:e.url,target:`_blank`,className:`flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs`,children:[(0,X.jsx)(e.icon,{className:`w-5 h-5 mt-1.5 text-primary`}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h3`,{className:`font-medium`,children:e.title}),(0,X.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description})]})]},e.title)}var Q=J.createContext({runningNotebooks:new Map,setRunningNotebooks:h.NOOP}),$=J.createContext({root:``,refreshWorkspace:h.NOOP}),Ue=p(`marimo:home:include-markdown`,!1,d,{getOnInit:!0}),We=p(`marimo:home:expanded-folders`,{},d,{getOnInit:!0});function Ge(e){return`${Se()}-${encodeURIComponent(e)}`}var Ke=()=>{let e=(0,Y.c)(58),[t,n]=(0,J.useState)(0),{getRecentFiles:r,getRunningNotebooks:i}=j(),a;e[0]===r?a=e[1]:(a=()=>r(),e[0]=r,e[1]=a);let o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=[],e[2]=o):o=e[2];let s=K(a,o),c,l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{n(rt)},l={delayMs:1e4,whenVisible:!0},e[3]=c,e[4]=l):(c=e[3],l=e[4]),Me(c,l);let d;e[5]===i?d=e[6]:(d=async()=>{let e=await i();return I.keyBy(e.files,it)},e[5]=i,e[6]=d);let f;e[7]===t?f=e[8]:(f=[t],e[7]=t,e[8]=f);let p=K(d,f),m,h,g,_,v,b,x,S,C,w,T,E,D;if(e[9]!==s||e[10]!==p){C=Symbol.for(`react.early_return_sentinel`);bb0:{let t=we(s,p);if(t.error)throw t.error;let n=t.data;if(!n){let t;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(W,{centered:!0,size:`xlarge`}),e[24]=t):t=e[24],C=t;break bb0}let[r,i]=n;_=r,g=J.Suspense,h=Q,x={runningNotebooks:i,setRunningNotebooks:p.setData};let a,o;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,X.jsx)(ze,{}),o=(0,X.jsx)(he,{showAppConfig:!1}),e[25]=a,e[26]=o):(a=e[25],o=e[26]);let c=`This will shutdown the notebook server and terminate all running notebooks (${i.size}). You'll lose all data that's in memory.`;e[27]===c?S=e[28]:(S=(0,X.jsxs)(`div`,{className:`absolute top-3 right-5 flex gap-3 z-50`,children:[a,o,(0,X.jsx)(pe,{description:c})]}),e[27]=c,e[28]=S),E=`flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10`,e[29]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,X.jsx)(`img`,{src:`logo.png`,alt:`marimo logo`,className:`w-48 mb-2`}),v=(0,X.jsx)(nt,{}),b=(0,X.jsx)(Ve,{}),e[29]=v,e[30]=b,e[31]=D):(v=e[29],b=e[30],D=e[31]),m=$e,e[32]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,X.jsx)(Z,{Icon:R,children:`Running notebooks`}),e[32]=w):w=e[32],T=[...i.values()]}e[9]=s,e[10]=p,e[11]=m,e[12]=h,e[13]=g,e[14]=_,e[15]=v,e[16]=b,e[17]=x,e[18]=S,e[19]=C,e[20]=w,e[21]=T,e[22]=E,e[23]=D}else m=e[11],h=e[12],g=e[13],_=e[14],v=e[15],b=e[16],x=e[17],S=e[18],C=e[19],w=e[20],T=e[21],E=e[22],D=e[23];if(C!==Symbol.for(`react.early_return_sentinel`))return C;let O;e[33]!==m||e[34]!==w||e[35]!==T?(O=(0,X.jsx)(m,{header:w,files:T}),e[33]=m,e[34]=w,e[35]=T,e[36]=O):O=e[36];let k;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,X.jsx)(Z,{Icon:u,children:`Recent notebooks`}),e[37]=k):k=e[37];let A;e[38]===_.files?A=e[39]:(A=(0,X.jsx)($e,{header:k,files:_.files}),e[38]=_.files,e[39]=A);let M;e[40]===s.refetch?M=e[41]:(M=(0,X.jsx)(y,{children:(0,X.jsx)(qe,{onRefreshRecents:s.refetch})}),e[40]=s.refetch,e[41]=M);let N;e[42]!==v||e[43]!==b||e[44]!==O||e[45]!==A||e[46]!==M||e[47]!==E||e[48]!==D?(N=(0,X.jsxs)(`div`,{className:E,children:[D,v,b,O,A,M]}),e[42]=v,e[43]=b,e[44]=O,e[45]=A,e[46]=M,e[47]=E,e[48]=D,e[49]=N):N=e[49];let P;e[50]!==h||e[51]!==x||e[52]!==S||e[53]!==N?(P=(0,X.jsxs)(h,{value:x,children:[S,N]}),e[50]=h,e[51]=x,e[52]=S,e[53]=N,e[54]=P):P=e[54];let F;return e[55]!==g||e[56]!==P?(F=(0,X.jsx)(g,{children:P}),e[55]=g,e[56]=P,e[57]=F):F=e[57],F},qe=e=>{let r=(0,Y.c)(54),{onRefreshRecents:i}=e,{getWorkspaceFiles:o}=j(),[c,l]=t(Ue),[u,d]=(0,J.useState)(``),f;r[0]!==o||r[1]!==c?(f=()=>o({includeMarkdown:c}),r[0]=o,r[1]=c,r[2]=f):f=r[2];let p;r[3]===c?p=r[4]:(p=[c],r[3]=c,r[4]=p);let{isPending:m,data:h,error:g,isFetching:_,refetch:v}=K(f,p),y;r[5]!==i||r[6]!==v?(y=()=>{v(),i()},r[5]=i,r[6]=v,r[7]=y):y=r[7];let b=n(y);h?.root;let x=h?.root??``,S;r[8]!==b||r[9]!==x?(S={root:x,refreshWorkspace:b},r[8]=b,r[9]=x,r[10]=S):S=r[10];let w=S;if(m){let e;return r[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(W,{centered:!0,size:`xlarge`,className:`mt-6`}),r[11]=e):e=r[11],e}if(g){let e;r[12]===g?e=r[13]:(e=Ee(g),r[12]=g,r[13]=e);let t;return r[14]===e?t=r[15]:(t=(0,X.jsx)(Oe,{kind:`danger`,className:`rounded p-4`,children:e}),r[14]=e,r[15]=t),t}let T;r[16]!==h.fileCount||r[17]!==h.hasMore?(T=h.hasMore&&(0,X.jsxs)(Oe,{kind:`warn`,className:`rounded p-4`,children:[`Showing first `,h.fileCount,` files. Your workspace has more files.`]}),r[16]=h.fileCount,r[17]=h.hasMore,r[18]=T):T=r[18];let E,D;r[19]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,X.jsx)(ge,{size:13}),D=e=>d(e.target.value),r[19]=E,r[20]=D):(E=r[19],D=r[20]);let O;r[21]===u?O=r[22]:(O=(0,X.jsx)(_e,{id:`search`,value:u,icon:E,onChange:D,placeholder:`Search`,className:`mb-0 border-border`}),r[21]=u,r[22]=O);let k;r[23]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,X.jsx)(Je,{}),r[23]=k):k=r[23];let M;r[24]===l?M=r[25]:(M=e=>l(!!e),r[24]=l,r[25]=M);let N;r[26]!==c||r[27]!==M?(N=(0,X.jsx)(s,{"data-testid":`include-markdown-checkbox`,id:`include-markdown`,checked:c,onCheckedChange:M}),r[26]=c,r[27]=M,r[28]=N):N=r[28];let P;r[29]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,X.jsx)(C,{htmlFor:`include-markdown`,children:`Include markdown`}),r[29]=P):P=r[29];let F;r[30]!==N||r[31]!==O?(F=(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[O,k,N,P]}),r[30]=N,r[31]=O,r[32]=F):F=r[32];let I;r[33]===v?I=r[34]:(I=()=>v(),r[33]=v,r[34]=I);let L;r[35]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,X.jsx)(a,{className:`w-4 h-4`}),r[35]=L):L=r[35];let R;r[36]===I?R=r[37]:(R=(0,X.jsx)(A,{variant:`text`,size:`icon`,className:`w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100`,onClick:I,"aria-label":`Refresh workspace`,children:L}),r[36]=I,r[37]=R);let z;r[38]===_?z=r[39]:(z=_&&(0,X.jsx)(W,{size:`small`}),r[38]=_,r[39]=z);let B;r[40]!==F||r[41]!==R||r[42]!==z?(B=(0,X.jsxs)(Z,{Icon:Pe,control:F,children:[`Workspace`,R,z]}),r[40]=F,r[41]=R,r[42]=z,r[43]=B):B=r[43];let V;r[44]!==u||r[45]!==h.files?(V=(0,X.jsx)(`div`,{className:`flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background`,children:(0,X.jsx)(Ye,{searchText:u,files:h.files})}),r[44]=u,r[45]=h.files,r[46]=V):V=r[46];let H;r[47]!==B||r[48]!==V||r[49]!==T?(H=(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[T,B,V]}),r[47]=B,r[48]=V,r[49]=T,r[50]=H):H=r[50];let U;return r[51]!==H||r[52]!==w?(U=(0,X.jsx)($,{value:w,children:H}),r[51]=H,r[52]=w,r[53]=U):U=r[53],U},Je=()=>{let e=(0,Y.c)(5),t=r(We),n;e[0]===t?n=e[1]:(n=()=>{t({})},e[0]=t,e[1]=n);let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,X.jsx)(L,{className:`w-4 h-4 mr-1`}),e[2]=i):i=e[2];let a;return e[3]===n?a=e[4]:(a=(0,X.jsxs)(A,{variant:`text`,size:`sm`,className:`h-fit hidden sm:flex`,onClick:n,children:[i,`Collapse all`]}),e[3]=n,e[4]=a),a},Ye=e=>{let r=(0,Y.c)(22),{files:i,searchText:a}=e,[o,s]=t(We),c;r[0]===o?c=r[1]:(c=Object.keys(o),r[0]=o,r[1]=c);let l=c.length===0,u=(0,J.useRef)(void 0),{root:d,refreshWorkspace:f}=(0,J.use)($),p;r[2]===d?p=r[3]:(p={root:d},r[2]=d,r[3]=p);let{renameFile:m}=le(p),h,g;r[4]===l?(h=r[5],g=r[6]):(h=()=>{l&&u.current?.closeAll()},g=[l],r[4]=l,r[5]=h,r[6]=g),(0,J.useEffect)(h,g);let _;r[7]!==f||r[8]!==m?(_=async(e,t)=>{let n=u.current?.get(e);if(!n){G({title:`Failed`,description:`Node with id ${e} not found in the tree`});return}await m(n.data,t)&&f()},r[7]=f,r[8]=m,r[9]=_):_=r[9];let v=n(_);if(i.length===0){let e;return r[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(`div`,{className:`flex flex-col px-5 py-10 items-center justify-center`,children:(0,X.jsx)(`p`,{className:`text-center text-muted-foreground`,children:`No files in this workspace`})}),r[10]=e):e=r[10],e}let y;r[11]!==o||r[12]!==s?(y=async e=>{let t=o[e]??!1;s({...o,[e]:!t})},r[11]=o,r[12]=s,r[13]=y):y=r[13];let b;r[14]===v?b=r[15]:(b=async e=>{let{id:t,name:n}=e;await v(t,n)},r[14]=v,r[15]=b);let x;return r[16]!==i||r[17]!==o||r[18]!==a||r[19]!==y||r[20]!==b?(x=(0,X.jsx)(se,{ref:u,width:`100%`,height:500,searchTerm:a,className:`h-full`,idAccessor:at,data:i,openByDefault:!1,initialOpenState:o,onToggle:y,onRename:b,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:ot,disableDrop:!0,disableDrag:!0,disableMultiSelection:!0,children:Xe}),r[16]=i,r[17]=o,r[18]=a,r[19]=y,r[20]=b,r[21]=x):x=r[21],x},Xe=e=>{let t=(0,Y.c)(18),{node:n,style:r}=e,i=n.data.isDirectory?`directory`:B(n.data.name),a=V[i],o;t[0]===a?o=t[1]:(o=(0,X.jsx)(a,{className:`w-5 h-5 shrink-0`,strokeWidth:1.5}),t[0]=a,t[1]=o);let s=o,{root:c}=(0,J.use)($),{runningNotebooks:l}=(0,J.use)(Q),u;t[2]!==s||t[3]!==n||t[4]!==c||t[5]!==l?(u=()=>{if(n.isEditing)return(0,X.jsxs)(`div`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,children:[s,(0,X.jsx)(fe,{node:n})]});if(n.data.isDirectory)return(0,X.jsxs)(`span`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,children:[s,n.data.name]});let e=n.data.path.startsWith(c)&&ve.isAbsolute(n.data.path)?ve.rest(n.data.path,c):n.data.path,t=e.endsWith(`.md`)||e.endsWith(`.qmd`),r=l.has(e);return(0,X.jsxs)(`a`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,href:ye(`?file=${encodeURIComponent(e)}`).toString(),target:Ge(e),children:[s,(0,X.jsxs)(`span`,{className:`flex-1 overflow-hidden text-ellipsis`,children:[n.data.name,t&&(0,X.jsx)(q,{className:`ml-2 inline opacity-80`})]}),(0,X.jsx)(Ze,{node:n,isRunning:r}),(0,X.jsx)(`div`,{className:`w-8 h-8 flex items-center justify-center shrink-0`,children:(0,X.jsx)(tt,{filePath:e})}),(0,X.jsx)(z,{size:20,className:`group-hover:opacity-100 opacity-0 text-primary shrink-0`})]})},t[2]=s,t[3]=n,t[4]=c,t[5]=l,t[6]=u):u=t[6];let d=u,f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=b(`flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full`),t[7]=f):f=t[7];let p,m;t[8]===n?(p=t[9],m=t[10]):(p=e=>{e.stopPropagation(),n.data.isDirectory&&n.toggle()},m=(0,X.jsx)(Qe,{node:n}),t[8]=n,t[9]=p,t[10]=m);let h;t[11]===d?h=t[12]:(h=d(),t[11]=d,t[12]=h);let g;return t[13]!==r||t[14]!==p||t[15]!==m||t[16]!==h?(g=(0,X.jsxs)(`div`,{style:r,className:f,onClick:p,children:[m,h]}),t[13]=r,t[14]=p,t[15]=m,t[16]=h,t[17]=g):g=t[17],g},Ze=e=>{let t=(0,Y.c)(19),{node:n,isRunning:r}=e,{root:i,refreshWorkspace:a}=(0,J.use)($),o;t[0]!==n||t[1]!==a||t[2]!==i?(o={node:n,root:i,onAfterChange:a},t[0]=n,t[1]=a,t[2]=i,t[3]=o):o=t[3];let{handleRename:s,handleDuplicate:c,handleDelete:l}=de(o),u=r?`Stop the notebook's kernel before renaming or deleting.`:void 0,d;t[4]!==s||t[5]!==r||t[6]!==u?(d=(0,X.jsx)(ae,{onSelect:s,disabled:r,title:u}),t[4]=s,t[5]=r,t[6]=u,t[7]=d):d=t[7];let f;t[8]===c?f=t[9]:(f=(0,X.jsx)(ue,{onSelect:c}),t[8]=c,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,X.jsx)(T,{}),t[10]=p):p=t[10];let m;t[11]!==l||t[12]!==r||t[13]!==u?(m=(0,X.jsx)(ce,{onSelect:l,disabled:r,title:u}),t[11]=l,t[12]=r,t[13]=u,t[14]=m):m=t[14];let h;return t[15]!==d||t[16]!==f||t[17]!==m?(h=(0,X.jsxs)(oe,{testId:`workspace-more-button`,buttonClassName:`w-8 h-8 p-0 shrink-0`,contentClassName:`print:hidden w-fit min-w-[140px]`,preventDefaultOnTrigger:!0,children:[d,f,p,m]}),t[15]=d,t[16]=f,t[17]=m,t[18]=h):h=t[18],h},Qe=e=>{let t=(0,Y.c)(3),{node:n}=e;if(!n.data.isDirectory){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(`span`,{className:`w-5 h-5 shrink-0`}),t[0]=e):e=t[0],e}let r;return t[1]===n.isOpen?r=t[2]:(r=n.isOpen?(0,X.jsx)(P,{className:`w-5 h-5 shrink-0`}):(0,X.jsx)(F,{className:`w-5 h-5 shrink-0`}),t[1]=n.isOpen,t[2]=r),r},$e=e=>{let t=(0,Y.c)(7),{header:n,files:r}=e;if(r.length===0)return null;let i;t[0]===r?i=t[1]:(i=r.map(st),t[0]=r,t[1]=i);let a;t[2]===i?a=t[3]:(a=(0,X.jsx)(`div`,{className:`flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background`,children:i}),t[2]=i,t[3]=a);let o;return t[4]!==n||t[5]!==a?(o=(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[n,a]}),t[4]=n,t[5]=a,t[6]=o):o=t[6],o},et=e=>{let t=(0,Y.c)(41),{file:n}=e,{locale:r}=Ce(),i;t[0]===n.path?i=t[1]:(i=be(n.path),t[0]=n.path,t[1]=i);let a=i,o,s,c,l;if(t[2]!==n.initializationId||t[3]!==n.path||t[4]!==a){let e=ye(a?`?file=${encodeURIComponent(n.initializationId??n.path)}&session_id=${n.path}`:`?file=${encodeURIComponent(n.path)}`),r;t[9]===n.path?r=t[10]:(r=n.path.endsWith(`.md`),t[9]=n.path,t[10]=r),o=r,s=`py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center`,c=n.path,l=e.toString(),t[2]=n.initializationId,t[3]=n.path,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l}else o=t[5],s=t[6],c=t[7],l=t[8];let u=n.initializationId||n.path,d;t[11]===u?d=t[12]:(d=Ge(u),t[11]=u,t[12]=d);let f;t[13]===o?f=t[14]:(f=o&&(0,X.jsx)(`span`,{className:`opacity-80`,children:(0,X.jsx)(q,{})}),t[13]=o,t[14]=f);let p;t[15]!==n.name||t[16]!==f?(p=(0,X.jsxs)(`span`,{className:`flex items-center gap-2`,children:[n.name,f]}),t[15]=n.name,t[16]=f,t[17]=p):p=t[17];let m;t[18]===n.path?m=t[19]:(m=(0,X.jsx)(`p`,{title:n.path,className:`text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis`,children:n.path}),t[18]=n.path,t[19]=m);let h;t[20]!==p||t[21]!==m?(h=(0,X.jsxs)(`div`,{className:`flex flex-col justify-between flex-1`,children:[p,m]}),t[20]=p,t[21]=m,t[22]=h):h=t[22];let g;t[23]===n.path?g=t[24]:(g=(0,X.jsx)(`div`,{children:(0,X.jsx)(tt,{filePath:n.path})}),t[23]=n.path,t[24]=g);let _;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,X.jsx)(z,{size:20,className:`group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary`}),t[25]=_):_=t[25];let v;t[26]===g?v=t[27]:(v=(0,X.jsxs)(`div`,{className:`flex gap-3 items-center`,children:[g,_]}),t[26]=g,t[27]=v);let y;t[28]!==n.lastModified||t[29]!==r?(y=!!n.lastModified&&(0,X.jsx)(`div`,{className:`text-xs text-muted-foreground opacity-80`,children:Te(n.lastModified*1e3,r)}),t[28]=n.lastModified,t[29]=r,t[30]=y):y=t[30];let b;t[31]!==v||t[32]!==y?(b=(0,X.jsxs)(`div`,{className:`flex flex-col gap-1 items-end`,children:[v,y]}),t[31]=v,t[32]=y,t[33]=b):b=t[33];let x;return t[34]!==h||t[35]!==b||t[36]!==s||t[37]!==c||t[38]!==l||t[39]!==d?(x=(0,X.jsxs)(`a`,{className:s,href:l,target:d,children:[h,b]},c),t[34]=h,t[35]=b,t[36]=s,t[37]=c,t[38]=l,t[39]=d,t[40]=x):x=t[40],x},tt=e=>{let t=(0,Y.c)(10),{filePath:n}=e,{openConfirm:r,closeModal:i}=ne(),{shutdownSession:a}=j(),{runningNotebooks:o,setRunningNotebooks:s}=(0,J.use)(Q);if(!o.has(n))return null;let c;t[0]!==i||t[1]!==n||t[2]!==r||t[3]!==o||t[4]!==s||t[5]!==a?(c=e=>{e.stopPropagation(),e.preventDefault(),r({title:`Shutdown`,description:`This will terminate the Python kernel. You'll lose all data that's in memory.`,variant:`destructive`,confirmAction:(0,X.jsx)(S,{onClick:()=>{let e=o.get(n);v(e?.sessionId),a({sessionId:e.sessionId}).then(e=>{s(I.keyBy(e.files,ct))}),i(),G({description:`Notebook has been shutdown.`})},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[0]=i,t[1]=n,t[2]=r,t[3]=o,t[4]=s,t[5]=a,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,X.jsx)(me,{size:14}),t[7]=l):l=t[7];let u;return t[8]===c?u=t[9]:(u=(0,X.jsx)(k,{content:`Shutdown`,children:(0,X.jsx)(A,{size:`icon`,variant:`outline`,className:`opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)`,onClick:c,children:l})}),t[8]=c,t[9]=u),u},nt=()=>{let e=(0,Y.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=xe(),e[0]=t):t=e[0];let n=t,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,X.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Create a new notebook`}),e[1]=r):r=e[1];let i;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,X.jsxs)(`a`,{className:`relative rounded-lg p-6 group
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,t as n,u as r}from"./useEvent-xfs0Sn4r.js";import{t as i}from"./react-CBDbhulC.js";import{Co as a,Kn as o,Qi as s,Wi as c,ea as l,ii as u,la as d,na as f,ua as p}from"./cells-yuYDzbAy.js";import{t as m}from"./compiler-runtime-CYIjoINj.js";import{_ as h}from"./useEventListener-D27Dii_l.js";import{t as g}from"./objects-snlMn4yk.js";import{n as _}from"./constants-BDbGiS7O.js";import{P as v}from"./config-DaNyNpZL.js";import{t as y}from"./ErrorBoundary-npvnLp9x.js";import{t as b}from"./cn-ldLVeaqm.js";import{t as x}from"./jsx-runtime-B74pBk57.js";import{o as S}from"./alert-dialog-BVi_GyOB.js";import{d as C}from"./select-czJLm6jf.js";import{a as w,c as T,p as E,r as D,t as O}from"./dropdown-menu-CqNabM1f.js";import{t as k}from"./tooltip-D7dq6bnc.js";import{t as A}from"./button-Btj6GXNy.js";import{r as j}from"./requests-C6_IaFh7.js";import{t as M}from"./createLucideIcon-B7HeEoG2.js";import{t as N}from"./chart-no-axes-column-ChZdjJhj.js";import{a as P}from"./useNumberFormatter-DHJ9s6Vk.js";import{t as F}from"./chevron-right-CKA5zVsM.js";import{o as I,s as L}from"./tree-actions-Bh-Nnaub.js";import{t as R}from"./circle-play-CQiat61_.js";import{t as z}from"./external-link-Bp3BxyRA.js";import{r as B,t as V}from"./file-icons-Dx3v6lMu.js";import{t as H}from"./file-DF8n85RA.js";import{n as U,r as ee,t as te}from"./youtube-DCJ-ihUU.js";import{b as ne}from"./write-secret-modal-lNU_7c2x.js";import{t as re}from"./link-Cap-MZiw.js";import{t as W}from"./spinner-Ck-Hgfvj.js";import{t as ie}from"./package-DPlscLzt.js";import{a as ae,i as oe,l as se,n as ce,o as le,r as ue,s as de,t as fe}from"./file-name-input-DzL8D_7x.js";import{n as pe,r as me,t as he}from"./app-config-button-93unbEYx.js";import{Wt as ge,r as _e}from"./input-Daz6sk8l.js";import{t as G}from"./use-toast-DpWHUGuF.js";import{n as ve}from"./paths-zcL04qUW.js";import{c as ye,n as be,o as xe,t as Se}from"./session-CEdta5_Q.js";import{t as Ce}from"./context-Do8M9TDF.js";import{n as K,t as we}from"./useAsyncData-Buhk-UgR.js";import{s as Te}from"./dates-DK5JikJo.js";import{a as Ee}from"./errors-DzO-nXy-.js";import{n as De}from"./react-icons.esm-hr79-MCS.js";import{t as Oe}from"./error-banner-BYN8YUMe.js";import{t as q}from"./icons-CjLa9BiH.js";import{t as ke}from"./github-YRgb6LMu.js";import{n as Ae}from"./marimo-icons-C3KxMV9A.js";import{t as je}from"./links-DPh7yoP-.js";import{t as Me}from"./useInterval-B1_J4wdT.js";var Ne=M(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),Pe=M(`book-text`,[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`,key:`k3hazp`}],[`path`,{d:`M8 11h8`,key:`vwpz6n`}],[`path`,{d:`M8 7h6`,key:`1f0q6e`}]]),Fe=M(`graduation-cap`,[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`,key:`j76jl0`}],[`path`,{d:`M22 10v6`,key:`1lu8f3`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`,key:`1r8lef`}]]),Ie=M(`orbit`,[[`path`,{d:`M20.341 6.484A10 10 0 0 1 10.266 21.85`,key:`1enhxb`}],[`path`,{d:`M3.659 17.516A10 10 0 0 1 13.74 2.152`,key:`1crzgf`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`circle`,{cx:`19`,cy:`5`,r:`2`,key:`mhkx31`}],[`circle`,{cx:`5`,cy:`19`,r:`2`,key:`v8kfzx`}]]),Le=M(`panels-top-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M9 21V9`,key:`1oto5p`}]]),J=e(i(),1),Y=m(),X=x(),Re={intro:[`Introduction`,Ne,`Get started with marimo basics`],dataflow:[`Dataflow`,p,`Learn how cells interact with each other`],ui:[`UI Elements`,Le,`Create interactive UI components`],markdown:[`Markdown`,s,`Format text with parameterized markdown`],plots:[`Plots`,N,`Create interactive visualizations`],sql:[`SQL`,l,`Query databases directly in marimo`],layout:[`Layout`,ee,`Customize the layout of your cells' output`],fileformat:[`File format`,H,`Understand marimo's pure-Python file format`],"external-dependencies":[`External dependencies`,ie,`Declare dependencies with Python script metadata`],"for-jupyter-users":[`For Jupyter users`,Ie,`Transiting from Jupyter to marimo`],"markdown-format":[`Markdown format`,q,`Using marimo to edit markdown files`]},ze=()=>{let e=(0,Y.c)(6),{openTutorial:t}=j(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,X.jsx)(Fe,{className:`w-4 h-4 mr-2`}),e[0]=n):n=e[0];let r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,X.jsx)(E,{asChild:!0,children:(0,X.jsxs)(A,{"data-testid":`open-tutorial-button`,size:`xs`,variant:`outline`,children:[n,`Tutorials`,(0,X.jsx)(De,{className:`w-3 h-3 ml-1`})]})}),e[1]=r):r=e[1];let i;e[2]===t?i=e[3]:(i=g.entries(Re).map(e=>{let[n,r]=e,[i,a,o]=r;return(0,X.jsxs)(w,{onSelect:async()=>{let e=await t({tutorialId:n});e&&je(e.path)},children:[(0,X.jsx)(a,{strokeWidth:1.5,className:`w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground`}),(0,X.jsx)(`div`,{className:`flex items-center`,children:(0,X.jsxs)(`div`,{className:`flex flex-col`,children:[(0,X.jsx)(`span`,{children:i}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground pr-1`,children:o})]})})]},n)}),e[2]=t,e[3]=i);let a;return e[4]===i?a=e[5]:(a=(0,X.jsxs)(O,{children:[r,(0,X.jsx)(D,{side:`bottom`,align:`end`,className:`print:hidden`,children:i})]}),e[4]=i,e[5]=a),a},Be=[{title:`Documentation`,description:`Official marimo documentation and API reference`,icon:d,url:_.docsPage},{title:`GitHub`,description:`View source code, report issues, or contribute`,icon:ke,url:_.githubPage},{title:`Community`,description:`Join the marimo Discord community`,icon:U,url:_.discordLink},{title:`molab`,description:`Run marimo notebooks in the cloud`,icon:Ae,url:_.molab},{title:`YouTube`,description:`Watch tutorials and demos`,icon:te,url:_.youtube},{title:`Changelog`,description:`See what's new in marimo`,icon:s,url:_.releasesPage}],Ve=()=>{let e=(0,Y.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(Z,{Icon:re,children:`Resources`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[t,(0,X.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3`,children:Be.map(He)})]}),e[1]=n):n=e[1],n},Z=e=>{let t=(0,Y.c)(8),{Icon:n,control:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,X.jsx)(n,{className:`h-5 w-5`}),t[0]=n,t[1]=a);let o;t[2]!==i||t[3]!==a?(o=(0,X.jsxs)(`h2`,{className:`flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none`,children:[a,i]}),t[2]=i,t[3]=a,t[4]=o):o=t[4];let s;return t[5]!==r||t[6]!==o?(s=(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[o,r]}),t[5]=r,t[6]=o,t[7]=s):s=t[7],s};function He(e){return(0,X.jsxs)(`a`,{href:e.url,target:`_blank`,className:`flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs`,children:[(0,X.jsx)(e.icon,{className:`w-5 h-5 mt-1.5 text-primary`}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h3`,{className:`font-medium`,children:e.title}),(0,X.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description})]})]},e.title)}var Q=J.createContext({runningNotebooks:new Map,setRunningNotebooks:h.NOOP}),$=J.createContext({root:``,refreshWorkspace:h.NOOP}),Ue=a(`marimo:home:include-markdown`,!1,u,{getOnInit:!0}),We=a(`marimo:home:expanded-folders`,{},u,{getOnInit:!0});function Ge(e){return`${Se()}-${encodeURIComponent(e)}`}var Ke=()=>{let e=(0,Y.c)(58),[t,n]=(0,J.useState)(0),{getRecentFiles:r,getRunningNotebooks:i}=j(),a;e[0]===r?a=e[1]:(a=()=>r(),e[0]=r,e[1]=a);let o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=[],e[2]=o):o=e[2];let s=K(a,o),c,l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{n(rt)},l={delayMs:1e4,whenVisible:!0},e[3]=c,e[4]=l):(c=e[3],l=e[4]),Me(c,l);let u;e[5]===i?u=e[6]:(u=async()=>{let e=await i();return I.keyBy(e.files,it)},e[5]=i,e[6]=u);let d;e[7]===t?d=e[8]:(d=[t],e[7]=t,e[8]=d);let p=K(u,d),m,h,g,_,v,b,x,S,C,w,T,E,D;if(e[9]!==s||e[10]!==p){C=Symbol.for(`react.early_return_sentinel`);bb0:{let t=we(s,p);if(t.error)throw t.error;let n=t.data;if(!n){let t;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(W,{centered:!0,size:`xlarge`}),e[24]=t):t=e[24],C=t;break bb0}let[r,i]=n;_=r,g=J.Suspense,h=Q,x={runningNotebooks:i,setRunningNotebooks:p.setData};let a,o;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,X.jsx)(ze,{}),o=(0,X.jsx)(he,{showAppConfig:!1}),e[25]=a,e[26]=o):(a=e[25],o=e[26]);let c=`This will shutdown the notebook server and terminate all running notebooks (${i.size}). You'll lose all data that's in memory.`;e[27]===c?S=e[28]:(S=(0,X.jsxs)(`div`,{className:`absolute top-3 right-5 flex gap-3 z-50`,children:[a,o,(0,X.jsx)(pe,{description:c})]}),e[27]=c,e[28]=S),E=`flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10`,e[29]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,X.jsx)(`img`,{src:`logo.png`,alt:`marimo logo`,className:`w-48 mb-2`}),v=(0,X.jsx)(nt,{}),b=(0,X.jsx)(Ve,{}),e[29]=v,e[30]=b,e[31]=D):(v=e[29],b=e[30],D=e[31]),m=$e,e[32]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,X.jsx)(Z,{Icon:R,children:`Running notebooks`}),e[32]=w):w=e[32],T=[...i.values()]}e[9]=s,e[10]=p,e[11]=m,e[12]=h,e[13]=g,e[14]=_,e[15]=v,e[16]=b,e[17]=x,e[18]=S,e[19]=C,e[20]=w,e[21]=T,e[22]=E,e[23]=D}else m=e[11],h=e[12],g=e[13],_=e[14],v=e[15],b=e[16],x=e[17],S=e[18],C=e[19],w=e[20],T=e[21],E=e[22],D=e[23];if(C!==Symbol.for(`react.early_return_sentinel`))return C;let O;e[33]!==m||e[34]!==w||e[35]!==T?(O=(0,X.jsx)(m,{header:w,files:T}),e[33]=m,e[34]=w,e[35]=T,e[36]=O):O=e[36];let k;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,X.jsx)(Z,{Icon:f,children:`Recent notebooks`}),e[37]=k):k=e[37];let A;e[38]===_.files?A=e[39]:(A=(0,X.jsx)($e,{header:k,files:_.files}),e[38]=_.files,e[39]=A);let M;e[40]===s.refetch?M=e[41]:(M=(0,X.jsx)(y,{children:(0,X.jsx)(qe,{onRefreshRecents:s.refetch})}),e[40]=s.refetch,e[41]=M);let N;e[42]!==v||e[43]!==b||e[44]!==O||e[45]!==A||e[46]!==M||e[47]!==E||e[48]!==D?(N=(0,X.jsxs)(`div`,{className:E,children:[D,v,b,O,A,M]}),e[42]=v,e[43]=b,e[44]=O,e[45]=A,e[46]=M,e[47]=E,e[48]=D,e[49]=N):N=e[49];let P;e[50]!==h||e[51]!==x||e[52]!==S||e[53]!==N?(P=(0,X.jsxs)(h,{value:x,children:[S,N]}),e[50]=h,e[51]=x,e[52]=S,e[53]=N,e[54]=P):P=e[54];let F;return e[55]!==g||e[56]!==P?(F=(0,X.jsx)(g,{children:P}),e[55]=g,e[56]=P,e[57]=F):F=e[57],F},qe=e=>{let r=(0,Y.c)(54),{onRefreshRecents:i}=e,{getWorkspaceFiles:a}=j(),[s,l]=t(Ue),[u,d]=(0,J.useState)(``),f;r[0]!==a||r[1]!==s?(f=()=>a({includeMarkdown:s}),r[0]=a,r[1]=s,r[2]=f):f=r[2];let p;r[3]===s?p=r[4]:(p=[s],r[3]=s,r[4]=p);let{isPending:m,data:h,error:g,isFetching:_,refetch:v}=K(f,p),y;r[5]!==i||r[6]!==v?(y=()=>{v(),i()},r[5]=i,r[6]=v,r[7]=y):y=r[7];let b=n(y);h?.root;let x=h?.root??``,S;r[8]!==b||r[9]!==x?(S={root:x,refreshWorkspace:b},r[8]=b,r[9]=x,r[10]=S):S=r[10];let w=S;if(m){let e;return r[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(W,{centered:!0,size:`xlarge`,className:`mt-6`}),r[11]=e):e=r[11],e}if(g){let e;r[12]===g?e=r[13]:(e=Ee(g),r[12]=g,r[13]=e);let t;return r[14]===e?t=r[15]:(t=(0,X.jsx)(Oe,{kind:`danger`,className:`rounded p-4`,children:e}),r[14]=e,r[15]=t),t}let T;r[16]!==h.fileCount||r[17]!==h.hasMore?(T=h.hasMore&&(0,X.jsxs)(Oe,{kind:`warn`,className:`rounded p-4`,children:[`Showing first `,h.fileCount,` files. Your workspace has more files.`]}),r[16]=h.fileCount,r[17]=h.hasMore,r[18]=T):T=r[18];let E,D;r[19]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,X.jsx)(ge,{size:13}),D=e=>d(e.target.value),r[19]=E,r[20]=D):(E=r[19],D=r[20]);let O;r[21]===u?O=r[22]:(O=(0,X.jsx)(_e,{id:`search`,value:u,icon:E,onChange:D,placeholder:`Search`,className:`mb-0 border-border`}),r[21]=u,r[22]=O);let k;r[23]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,X.jsx)(Je,{}),r[23]=k):k=r[23];let M;r[24]===l?M=r[25]:(M=e=>l(!!e),r[24]=l,r[25]=M);let N;r[26]!==s||r[27]!==M?(N=(0,X.jsx)(o,{"data-testid":`include-markdown-checkbox`,id:`include-markdown`,checked:s,onCheckedChange:M}),r[26]=s,r[27]=M,r[28]=N):N=r[28];let P;r[29]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,X.jsx)(C,{htmlFor:`include-markdown`,children:`Include markdown`}),r[29]=P):P=r[29];let F;r[30]!==N||r[31]!==O?(F=(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[O,k,N,P]}),r[30]=N,r[31]=O,r[32]=F):F=r[32];let I;r[33]===v?I=r[34]:(I=()=>v(),r[33]=v,r[34]=I);let L;r[35]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,X.jsx)(c,{className:`w-4 h-4`}),r[35]=L):L=r[35];let R;r[36]===I?R=r[37]:(R=(0,X.jsx)(A,{variant:`text`,size:`icon`,className:`w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100`,onClick:I,"aria-label":`Refresh workspace`,children:L}),r[36]=I,r[37]=R);let z;r[38]===_?z=r[39]:(z=_&&(0,X.jsx)(W,{size:`small`}),r[38]=_,r[39]=z);let B;r[40]!==F||r[41]!==R||r[42]!==z?(B=(0,X.jsxs)(Z,{Icon:Pe,control:F,children:[`Workspace`,R,z]}),r[40]=F,r[41]=R,r[42]=z,r[43]=B):B=r[43];let V;r[44]!==u||r[45]!==h.files?(V=(0,X.jsx)(`div`,{className:`flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background`,children:(0,X.jsx)(Ye,{searchText:u,files:h.files})}),r[44]=u,r[45]=h.files,r[46]=V):V=r[46];let H;r[47]!==B||r[48]!==V||r[49]!==T?(H=(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[T,B,V]}),r[47]=B,r[48]=V,r[49]=T,r[50]=H):H=r[50];let U;return r[51]!==H||r[52]!==w?(U=(0,X.jsx)($,{value:w,children:H}),r[51]=H,r[52]=w,r[53]=U):U=r[53],U},Je=()=>{let e=(0,Y.c)(5),t=r(We),n;e[0]===t?n=e[1]:(n=()=>{t({})},e[0]=t,e[1]=n);let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,X.jsx)(L,{className:`w-4 h-4 mr-1`}),e[2]=i):i=e[2];let a;return e[3]===n?a=e[4]:(a=(0,X.jsxs)(A,{variant:`text`,size:`sm`,className:`h-fit hidden sm:flex`,onClick:n,children:[i,`Collapse all`]}),e[3]=n,e[4]=a),a},Ye=e=>{let r=(0,Y.c)(22),{files:i,searchText:a}=e,[o,s]=t(We),c;r[0]===o?c=r[1]:(c=Object.keys(o),r[0]=o,r[1]=c);let l=c.length===0,u=(0,J.useRef)(void 0),{root:d,refreshWorkspace:f}=(0,J.use)($),p;r[2]===d?p=r[3]:(p={root:d},r[2]=d,r[3]=p);let{renameFile:m}=le(p),h,g;r[4]===l?(h=r[5],g=r[6]):(h=()=>{l&&u.current?.closeAll()},g=[l],r[4]=l,r[5]=h,r[6]=g),(0,J.useEffect)(h,g);let _;r[7]!==f||r[8]!==m?(_=async(e,t)=>{let n=u.current?.get(e);if(!n){G({title:`Failed`,description:`Node with id ${e} not found in the tree`});return}await m(n.data,t)&&f()},r[7]=f,r[8]=m,r[9]=_):_=r[9];let v=n(_);if(i.length===0){let e;return r[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(`div`,{className:`flex flex-col px-5 py-10 items-center justify-center`,children:(0,X.jsx)(`p`,{className:`text-center text-muted-foreground`,children:`No files in this workspace`})}),r[10]=e):e=r[10],e}let y;r[11]!==o||r[12]!==s?(y=async e=>{let t=o[e]??!1;s({...o,[e]:!t})},r[11]=o,r[12]=s,r[13]=y):y=r[13];let b;r[14]===v?b=r[15]:(b=async e=>{let{id:t,name:n}=e;await v(t,n)},r[14]=v,r[15]=b);let x;return r[16]!==i||r[17]!==o||r[18]!==a||r[19]!==y||r[20]!==b?(x=(0,X.jsx)(se,{ref:u,width:`100%`,height:500,searchTerm:a,className:`h-full`,idAccessor:at,data:i,openByDefault:!1,initialOpenState:o,onToggle:y,onRename:b,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:ot,disableDrop:!0,disableDrag:!0,disableMultiSelection:!0,children:Xe}),r[16]=i,r[17]=o,r[18]=a,r[19]=y,r[20]=b,r[21]=x):x=r[21],x},Xe=e=>{let t=(0,Y.c)(18),{node:n,style:r}=e,i=n.data.isDirectory?`directory`:B(n.data.name),a=V[i],o;t[0]===a?o=t[1]:(o=(0,X.jsx)(a,{className:`w-5 h-5 shrink-0`,strokeWidth:1.5}),t[0]=a,t[1]=o);let s=o,{root:c}=(0,J.use)($),{runningNotebooks:l}=(0,J.use)(Q),u;t[2]!==s||t[3]!==n||t[4]!==c||t[5]!==l?(u=()=>{if(n.isEditing)return(0,X.jsxs)(`div`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,children:[s,(0,X.jsx)(fe,{node:n})]});if(n.data.isDirectory)return(0,X.jsxs)(`span`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,children:[s,n.data.name]});let e=n.data.path.startsWith(c)&&ve.isAbsolute(n.data.path)?ve.rest(n.data.path,c):n.data.path,t=e.endsWith(`.md`)||e.endsWith(`.qmd`),r=l.has(e);return(0,X.jsxs)(`a`,{className:`flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2`,href:ye(`?file=${encodeURIComponent(e)}`).toString(),target:Ge(e),children:[s,(0,X.jsxs)(`span`,{className:`flex-1 overflow-hidden text-ellipsis`,children:[n.data.name,t&&(0,X.jsx)(q,{className:`ml-2 inline opacity-80`})]}),(0,X.jsx)(Ze,{node:n,isRunning:r}),(0,X.jsx)(`div`,{className:`w-8 h-8 flex items-center justify-center shrink-0`,children:(0,X.jsx)(tt,{filePath:e})}),(0,X.jsx)(z,{size:20,className:`group-hover:opacity-100 opacity-0 text-primary shrink-0`})]})},t[2]=s,t[3]=n,t[4]=c,t[5]=l,t[6]=u):u=t[6];let d=u,f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=b(`flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full`),t[7]=f):f=t[7];let p,m;t[8]===n?(p=t[9],m=t[10]):(p=e=>{e.stopPropagation(),n.data.isDirectory&&n.toggle()},m=(0,X.jsx)(Qe,{node:n}),t[8]=n,t[9]=p,t[10]=m);let h;t[11]===d?h=t[12]:(h=d(),t[11]=d,t[12]=h);let g;return t[13]!==r||t[14]!==p||t[15]!==m||t[16]!==h?(g=(0,X.jsxs)(`div`,{style:r,className:f,onClick:p,children:[m,h]}),t[13]=r,t[14]=p,t[15]=m,t[16]=h,t[17]=g):g=t[17],g},Ze=e=>{let t=(0,Y.c)(19),{node:n,isRunning:r}=e,{root:i,refreshWorkspace:a}=(0,J.use)($),o;t[0]!==n||t[1]!==a||t[2]!==i?(o={node:n,root:i,onAfterChange:a},t[0]=n,t[1]=a,t[2]=i,t[3]=o):o=t[3];let{handleRename:s,handleDuplicate:c,handleDelete:l}=de(o),u=r?`Stop the notebook's kernel before renaming or deleting.`:void 0,d;t[4]!==s||t[5]!==r||t[6]!==u?(d=(0,X.jsx)(ae,{onSelect:s,disabled:r,title:u}),t[4]=s,t[5]=r,t[6]=u,t[7]=d):d=t[7];let f;t[8]===c?f=t[9]:(f=(0,X.jsx)(ue,{onSelect:c}),t[8]=c,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,X.jsx)(T,{}),t[10]=p):p=t[10];let m;t[11]!==l||t[12]!==r||t[13]!==u?(m=(0,X.jsx)(ce,{onSelect:l,disabled:r,title:u}),t[11]=l,t[12]=r,t[13]=u,t[14]=m):m=t[14];let h;return t[15]!==d||t[16]!==f||t[17]!==m?(h=(0,X.jsxs)(oe,{testId:`workspace-more-button`,buttonClassName:`w-8 h-8 p-0 shrink-0`,contentClassName:`print:hidden w-fit min-w-[140px]`,preventDefaultOnTrigger:!0,children:[d,f,p,m]}),t[15]=d,t[16]=f,t[17]=m,t[18]=h):h=t[18],h},Qe=e=>{let t=(0,Y.c)(3),{node:n}=e;if(!n.data.isDirectory){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(`span`,{className:`w-5 h-5 shrink-0`}),t[0]=e):e=t[0],e}let r;return t[1]===n.isOpen?r=t[2]:(r=n.isOpen?(0,X.jsx)(P,{className:`w-5 h-5 shrink-0`}):(0,X.jsx)(F,{className:`w-5 h-5 shrink-0`}),t[1]=n.isOpen,t[2]=r),r},$e=e=>{let t=(0,Y.c)(7),{header:n,files:r}=e;if(r.length===0)return null;let i;t[0]===r?i=t[1]:(i=r.map(st),t[0]=r,t[1]=i);let a;t[2]===i?a=t[3]:(a=(0,X.jsx)(`div`,{className:`flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background`,children:i}),t[2]=i,t[3]=a);let o;return t[4]!==n||t[5]!==a?(o=(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[n,a]}),t[4]=n,t[5]=a,t[6]=o):o=t[6],o},et=e=>{let t=(0,Y.c)(41),{file:n}=e,{locale:r}=Ce(),i;t[0]===n.path?i=t[1]:(i=be(n.path),t[0]=n.path,t[1]=i);let a=i,o,s,c,l;if(t[2]!==n.initializationId||t[3]!==n.path||t[4]!==a){let e=ye(a?`?file=${encodeURIComponent(n.initializationId??n.path)}&session_id=${n.path}`:`?file=${encodeURIComponent(n.path)}`),r;t[9]===n.path?r=t[10]:(r=n.path.endsWith(`.md`),t[9]=n.path,t[10]=r),o=r,s=`py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center`,c=n.path,l=e.toString(),t[2]=n.initializationId,t[3]=n.path,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l}else o=t[5],s=t[6],c=t[7],l=t[8];let u=n.initializationId||n.path,d;t[11]===u?d=t[12]:(d=Ge(u),t[11]=u,t[12]=d);let f;t[13]===o?f=t[14]:(f=o&&(0,X.jsx)(`span`,{className:`opacity-80`,children:(0,X.jsx)(q,{})}),t[13]=o,t[14]=f);let p;t[15]!==n.name||t[16]!==f?(p=(0,X.jsxs)(`span`,{className:`flex items-center gap-2`,children:[n.name,f]}),t[15]=n.name,t[16]=f,t[17]=p):p=t[17];let m;t[18]===n.path?m=t[19]:(m=(0,X.jsx)(`p`,{title:n.path,className:`text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis`,children:n.path}),t[18]=n.path,t[19]=m);let h;t[20]!==p||t[21]!==m?(h=(0,X.jsxs)(`div`,{className:`flex flex-col justify-between flex-1`,children:[p,m]}),t[20]=p,t[21]=m,t[22]=h):h=t[22];let g;t[23]===n.path?g=t[24]:(g=(0,X.jsx)(`div`,{children:(0,X.jsx)(tt,{filePath:n.path})}),t[23]=n.path,t[24]=g);let _;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,X.jsx)(z,{size:20,className:`group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary`}),t[25]=_):_=t[25];let v;t[26]===g?v=t[27]:(v=(0,X.jsxs)(`div`,{className:`flex gap-3 items-center`,children:[g,_]}),t[26]=g,t[27]=v);let y;t[28]!==n.lastModified||t[29]!==r?(y=!!n.lastModified&&(0,X.jsx)(`div`,{className:`text-xs text-muted-foreground opacity-80`,children:Te(n.lastModified*1e3,r)}),t[28]=n.lastModified,t[29]=r,t[30]=y):y=t[30];let b;t[31]!==v||t[32]!==y?(b=(0,X.jsxs)(`div`,{className:`flex flex-col gap-1 items-end`,children:[v,y]}),t[31]=v,t[32]=y,t[33]=b):b=t[33];let x;return t[34]!==h||t[35]!==b||t[36]!==s||t[37]!==c||t[38]!==l||t[39]!==d?(x=(0,X.jsxs)(`a`,{className:s,href:l,target:d,children:[h,b]},c),t[34]=h,t[35]=b,t[36]=s,t[37]=c,t[38]=l,t[39]=d,t[40]=x):x=t[40],x},tt=e=>{let t=(0,Y.c)(10),{filePath:n}=e,{openConfirm:r,closeModal:i}=ne(),{shutdownSession:a}=j(),{runningNotebooks:o,setRunningNotebooks:s}=(0,J.use)(Q);if(!o.has(n))return null;let c;t[0]!==i||t[1]!==n||t[2]!==r||t[3]!==o||t[4]!==s||t[5]!==a?(c=e=>{e.stopPropagation(),e.preventDefault(),r({title:`Shutdown`,description:`This will terminate the Python kernel. You'll lose all data that's in memory.`,variant:`destructive`,confirmAction:(0,X.jsx)(S,{onClick:()=>{let e=o.get(n);v(e?.sessionId),a({sessionId:e.sessionId}).then(e=>{s(I.keyBy(e.files,ct))}),i(),G({description:`Notebook has been shutdown.`})},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[0]=i,t[1]=n,t[2]=r,t[3]=o,t[4]=s,t[5]=a,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,X.jsx)(me,{size:14}),t[7]=l):l=t[7];let u;return t[8]===c?u=t[9]:(u=(0,X.jsx)(k,{content:`Shutdown`,children:(0,X.jsx)(A,{size:`icon`,variant:`outline`,className:`opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)`,onClick:c,children:l})}),t[8]=c,t[9]=u),u},nt=()=>{let e=(0,Y.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=xe(),e[0]=t):t=e[0];let n=t,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,X.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Create a new notebook`}),e[1]=r):r=e[1];let i;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,X.jsxs)(`a`,{className:`relative rounded-lg p-6 group
|
|
2
2
|
text-primary hover:bg-(--blue-2) shadow-md-solid shadow-accent border bg-(--blue-1)
|
|
3
3
|
transition-all duration-300 cursor-pointer
|
|
4
4
|
`,href:n,target:`_blank`,rel:`noreferrer`,children:[r,(0,X.jsx)(`div`,{className:`group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300`,children:(0,X.jsx)(z,{size:24})})]}),e[2]=i):i=e[2],i};function rt(e){return e+1}function it(e){return e.path}function at(e){return e.path}function ot(){return null}function st(e){return(0,X.jsx)(et,{file:e},e.path)}function ct(e){return e.path}export{Ke as default};
|