@marimo-team/frontend 0.24.3-dev2 → 0.24.3-dev4

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.
Files changed (94) hide show
  1. package/dist/assets/{CellStatus-LoTwk7fR.js → CellStatus-0QNZS4By.js} +1 -1
  2. package/dist/assets/{JsonOutput-CzIGPEZQ.js → JsonOutput-D2ZWLZs4.js} +7 -7
  3. package/dist/assets/{MarimoErrorOutput-DqpoYOvw.js → MarimoErrorOutput-BlmIJ9WY.js} +2 -2
  4. package/dist/assets/{RenderHTML-DwhMAd9l.js → RenderHTML-DnPB4qpJ.js} +1 -1
  5. package/dist/assets/{RunButton-BlpbweyH.js → RunButton-C7TxE07w.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-R-3DS79K.js → add-cell-with-ai-OQ4sSXg4.js} +12 -12
  7. package/dist/assets/{add-connection-dialog-BGfpw5lC.js → add-connection-dialog-MTOC2ycO.js} +73 -73
  8. package/dist/assets/{agent-panel-Cgt_K0tD.js → agent-panel-BdEDIHdc.js} +4 -4
  9. package/dist/assets/ai-model-dropdown-CmJEEhSC.js +3 -0
  10. package/dist/assets/app-config-button-W8Pytgb5.js +1 -0
  11. package/dist/assets/{blob-B2d_dHwI.js → blob-BrVH7IJp.js} +1 -1
  12. package/dist/assets/{cell-editor-Dw09J9yD.js → cell-editor-C7IiingQ.js} +8 -8
  13. package/dist/assets/{cell-link-6burT2XF.js → cell-link-CbHXmrt8.js} +1 -1
  14. package/dist/assets/{cells-Cp-G34Rz.js → cells-BBhW3FXj.js} +1 -1
  15. package/dist/assets/{chat-display-Bu405iyc.js → chat-display-CIpYPLlF.js} +1 -1
  16. package/dist/assets/{chat-panel-BlUwNY5j.js → chat-panel-CK3X_KPy.js} +2 -2
  17. package/dist/assets/{chat-ui-DGiVDzNh.js → chat-ui-BJwtx1SR.js} +4 -4
  18. package/dist/assets/{column-preview-riSXbYe_.js → column-preview-Coa5PyHk.js} +1 -1
  19. package/dist/assets/{command-palette-CCVzJcyf.js → command-palette-_xpwMniA.js} +1 -1
  20. package/dist/assets/{common-CHR7w7aQ.js → common-KqtqJsml.js} +1 -1
  21. package/dist/assets/{components-C7mWrmXr.js → components-Cpv2z-yV.js} +1 -1
  22. package/dist/assets/{datasource-DrODSIs0.js → datasource-B3qF2oaW.js} +2 -2
  23. package/dist/assets/{dependency-graph-panel-AY5BEVH2.js → dependency-graph-panel-Av1CMZ61.js} +3 -3
  24. package/dist/assets/{documentation-panel-CaJF7e-j.js → documentation-panel-BEz3Hjfu.js} +1 -1
  25. package/dist/assets/{download-DMxOzI7b.js → download-BgO9EN-W.js} +1 -1
  26. package/dist/assets/edit-page-DslcxB67.js +9 -0
  27. package/dist/assets/error-entries-BFzSRy80.js +5 -0
  28. package/dist/assets/{error-panel-Bhlvt6_H.js → error-panel-BtLTJDUq.js} +1 -1
  29. package/dist/assets/{file-explorer-panel-s0ohSG_L.js → file-explorer-panel-DEyChgqS.js} +1 -1
  30. package/dist/assets/{file-icons-DdGYuADJ.js → file-icons-BhotQqrU.js} +1 -1
  31. package/dist/assets/{file-name-input-K4MKESI_.js → file-name-input-CH-hNP6F.js} +1 -1
  32. package/dist/assets/{floating-outline-DaUHnl_e.js → floating-outline-Cmk3XDJi.js} +1 -1
  33. package/dist/assets/{home-page-BLd6rnbk.js → home-page-CUBuu5Go.js} +1 -1
  34. package/dist/assets/index-C5h1aWhw.js +29 -0
  35. package/dist/assets/{layout-DWnrxIo2.js → layout-CsLuqwD3.js} +5 -5
  36. package/dist/assets/{logs-panel-BGS2v3ba.js → logs-panel-BV4VZ_uH.js} +1 -1
  37. package/dist/assets/{markdown-renderer-BZKlbm2Q.js → markdown-renderer-751VNlrQ.js} +1 -1
  38. package/dist/assets/{name-cell-input-BMCdK-el.js → name-cell-input-DexJ7ZIH.js} +1 -1
  39. package/dist/assets/{outline-panel-Dr5u73V6.js → outline-panel-QU3nj1VW.js} +1 -1
  40. package/dist/assets/packages-panel-D7oDuI6v.js +1 -0
  41. package/dist/assets/panel-accordion-state-Dl0VcB79.js +1 -0
  42. package/dist/assets/panels-nM4QKfEI.js +4 -0
  43. package/dist/assets/process-output-CPUOlFhp.js +1 -0
  44. package/dist/assets/readonly-code-display-DP7DxRA1.js +1 -0
  45. package/dist/assets/{readonly-python-code-DpIyjHqY.js → readonly-python-code-CAYyabaV.js} +1 -1
  46. package/dist/assets/{reveal-component-nZIAapoD.js → reveal-component-D9DygPds.js} +2 -2
  47. package/dist/assets/rotate-cw-CESctpLh.js +1 -0
  48. package/dist/assets/{run-page-9pl8qhQR.js → run-page-CzO-uMUn.js} +1 -1
  49. package/dist/assets/{scratchpad-panel-BleGt2KM.js → scratchpad-panel-7YBL6E95.js} +1 -1
  50. package/dist/assets/session-panel-hnFaUP0Y.js +1 -0
  51. package/dist/assets/share-BZW3tzEX.js +1 -0
  52. package/dist/assets/{skeleton-BKeh8hf3.js → skeleton-CM7HxSva.js} +1 -1
  53. package/dist/assets/{snippets-panel-D5yy7kj0.js → snippets-panel-AdjuR23O.js} +1 -1
  54. package/dist/assets/state-DOrY1Jyf.js +1 -0
  55. package/dist/assets/state-DQHafeTV.js +3 -0
  56. package/dist/assets/{tracing-DNk3gmWv.js → tracing-CUlvXr_H.js} +1 -1
  57. package/dist/assets/{tracing-panel-Yqazr6w_.js → tracing-panel-CjyayE-l.js} +2 -2
  58. package/dist/assets/{tree-actions-CG5g7aUQ.js → tree-actions-mfuAcK1x.js} +1 -1
  59. package/dist/assets/{useAddCell-DdB_uBif.js → useAddCell-BR8kYnb6.js} +1 -1
  60. package/dist/assets/{useCellActionButton-B31neI3m.js → useCellActionButton-BhREXvvn.js} +1 -1
  61. package/dist/assets/{useDeleteCell-Bz49_cFj.js → useDeleteCell-DwaN6KAw.js} +1 -1
  62. package/dist/assets/useDependencyPanelTab-I-7B78cW.js +1 -0
  63. package/dist/assets/useInstallPackage-IUt497GC.js +1 -0
  64. package/dist/assets/useNotebookActions-D5_YLR42.js +10 -0
  65. package/dist/assets/useRunCells-BMQuitYY.js +1 -0
  66. package/dist/assets/{useSplitCell-Dy2_DmJR.js → useSplitCell-B7AvHoya.js} +1 -1
  67. package/dist/index.html +22 -22
  68. package/package.json +1 -1
  69. package/src/__mocks__/requests.ts +7 -2
  70. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +143 -0
  71. package/src/components/editor/chrome/panels/packages-panel.tsx +145 -51
  72. package/src/components/editor/package-alert.tsx +25 -1
  73. package/src/core/packages/__tests__/useInstallPackage.test.tsx +47 -1
  74. package/src/core/packages/toast-components.tsx +26 -0
  75. package/src/core/packages/useInstallPackage.ts +7 -2
  76. package/src/core/wasm/bridge.ts +1 -0
  77. package/dist/assets/ai-model-dropdown-DCmiuk7x.js +0 -3
  78. package/dist/assets/app-config-button-DUJC6b6x.js +0 -1
  79. package/dist/assets/edit-page-xlMlcLnI.js +0 -9
  80. package/dist/assets/error-entries-Cv2m1yhc.js +0 -5
  81. package/dist/assets/index-4n22QjCD.js +0 -29
  82. package/dist/assets/packages-panel-BdpRg9tX.js +0 -1
  83. package/dist/assets/panel-accordion-state-DjUTN7i5.js +0 -1
  84. package/dist/assets/panels-CWn0Yh1D.js +0 -4
  85. package/dist/assets/process-output-Ck7-P_xp.js +0 -1
  86. package/dist/assets/readonly-code-display--S2daDa6.js +0 -1
  87. package/dist/assets/session-panel-DRGPlL5J.js +0 -1
  88. package/dist/assets/share-CPtBiNgr.js +0 -1
  89. package/dist/assets/state-B6AklCzD.js +0 -1
  90. package/dist/assets/state-Di9TbuV9.js +0 -3
  91. package/dist/assets/useDependencyPanelTab-C_ps0r--.js +0 -1
  92. package/dist/assets/useInstallPackage-DsD08SLK.js +0 -1
  93. package/dist/assets/useNotebookActions-CQtbk9CB.js +0 -10
  94. package/dist/assets/useRunCells-CX7oW5zy.js +0 -1
@@ -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-92uWqz-P.js";import{t as s}from"./jsx-runtime-B74pBk57.js";import{o as c}from"./alert-dialog-CA-2mBs3.js";import{a as l}from"./tabs-Cy1qXLzH.js";import{a as u,p as d,r as f,t as p}from"./dropdown-menu-C40jM9o4.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-CG5g7aUQ.js";import{t as v}from"./copy-BMXKNElG.js";import{b as ee}from"./write-secret-modal-D6zoZgLY.js";import{t as y}from"./trash-2-D_HX-0qx.js";import{t as b}from"./use-toast-DpWHUGuF.js";import{t as te}from"./paths-zcL04qUW.js";import{a as ne}from"./errors-DzO-nXy-.js";import{t as re}from"./extends-CvVTau-c.js";import{i as ie,n as ae,r as x}from"./pathUtils-Cryrlpma.js";import{n as oe}from"./semaphore-BjoL5P0h.js";var se=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`}]]),S=e(i(),1),C=s(),ce=l();function le(e,t){return le=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},le(e,t)}function ue(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,le(e,t)}function de(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}var fe=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}})),pe=(0,S.createContext)({dragDropManager:void 0});function w(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 me=(function(){return typeof Symbol==`function`&&Symbol.observable||`@@observable`})(),he=function(){return Math.random().toString(36).substring(7).split(``).join(`.`)},ge={INIT:`@@redux/INIT`+he(),REPLACE:`@@redux/REPLACE`+he(),PROBE_UNKNOWN_ACTION:function(){return`@@redux/PROBE_UNKNOWN_ACTION`+he()}};function _e(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 ve(e,t,n){var r;if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(w(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(w(1));return n(ve)(e,t)}if(typeof e!=`function`)throw Error(w(2));var i=e,a=t,o=[],s=o,c=!1;function l(){s===o&&(s=o.slice())}function u(){if(c)throw Error(w(3));return a}function d(e){if(typeof e!=`function`)throw Error(w(4));if(c)throw Error(w(5));var t=!0;return l(),s.push(e),function(){if(t){if(c)throw Error(w(6));t=!1,l();var n=s.indexOf(e);s.splice(n,1),o=null}}}function f(e){if(!_e(e))throw Error(w(7));if(e.type===void 0)throw Error(w(8));if(c)throw Error(w(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(w(10));i=e,f({type:ge.REPLACE})}function m(){var e,t=d;return e={subscribe:function(e){if(typeof e!=`object`||!e)throw Error(w(11));function n(){e.next&&e.next(u())}return n(),{unsubscribe:t(n)}}},e[me]=function(){return this},e}return f({type:ge.INIT}),r={dispatch:f,subscribe:d,getState:u,replaceReducer:p},r[me]=m,r}function T(e,t,...n){if(ye()&&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 ye(){return typeof process<`u`&&!0}function be(e,t,n){return t.split(`.`).reduce((e,t)=>e&&e[t]?e[t]:n||null,e)}function xe(e,t){return e.filter(e=>e!==t)}function Se(e){return typeof e==`object`}function Ce(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 we(e,t){return e.filter(e=>t.indexOf(e)>-1)}var Te=`dnd-core/INIT_COORDS`,E=`dnd-core/BEGIN_DRAG`,Ee=`dnd-core/PUBLISH_DRAG_SOURCE`,D=`dnd-core/HOVER`,O=`dnd-core/DROP`,k=`dnd-core/END_DRAG`;function De(e,t){return{type:Te,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}var Oe={type:Te,payload:{clientOffset:null,sourceClientOffset:null}};function ke(e){return function(t=[],n={publishSource:!0}){let{publishSource:r=!0,clientOffset:i,getSourceClientOffset:a}=n,o=e.getMonitor(),s=e.getRegistry();e.dispatch(De(i)),Ae(t,o,s);let c=Ne(t,o);if(c==null){e.dispatch(Oe);return}let l=null;if(i){if(!a)throw Error(`getSourceClientOffset must be defined`);je(a),l=a(c)}e.dispatch(De(i,l));let u=s.getSource(c).beginDrag(o,c);return u==null?void 0:(Me(u),s.pinSource(c),{type:E,payload:{itemType:s.getSourceType(c),item:u,sourceId:c,clientOffset:i||null,sourceClientOffset:l||null,isSourcePublic:!!r}})}}function Ae(e,t,n){T(!t.isDragging(),`Cannot call beginDrag while dragging.`),e.forEach(function(e){T(n.getSource(e),`Expected sourceIds to be registered.`)})}function je(e){T(typeof e==`function`,`When clientOffset is provided, getSourceClientOffset must be a function.`)}function Me(e){T(Se(e),`Item must be an object.`)}function Ne(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 Pe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fe(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){Pe(e,t,n[t])})}return e}function Ie(e){return function(t={}){let n=e.getMonitor(),r=e.getRegistry();Le(n),Be(n).forEach((i,a)=>{let o={type:O,payload:{dropResult:Fe({},t,Re(i,a,r,n))}};e.dispatch(o)})}}function Le(e){T(e.isDragging(),`Cannot call drop while not dragging.`),T(!e.didDrop(),`Cannot call drop twice during one drag operation.`)}function Re(e,t,n,r){let i=n.getTarget(e),a=i?i.drop(r,e):void 0;return ze(a),a===void 0&&(a=t===0?{}:r.getDropResult()),a}function ze(e){T(e===void 0||Se(e),`Drop result must either be an object or undefined.`)}function Be(e){let t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function Ve(e){return function(){let t=e.getMonitor(),n=e.getRegistry();He(t);let r=t.getSourceId();return r!=null&&(n.getSource(r,!0).endDrag(t,r),n.unpinSource()),{type:k}}}function He(e){T(e.isDragging(),`Cannot call endDrag while not dragging.`)}function Ue(e,t){return t===null?e===null:Array.isArray(e)?e.some(e=>e===t):e===t}function We(e){return function(t,{clientOffset:n}={}){Ge(t);let r=t.slice(0),i=e.getMonitor(),a=e.getRegistry();return qe(r,a,i.getItemType()),Ke(r,i,a),Je(r,i,a),{type:D,payload:{targetIds:r,clientOffset:n||null}}}}function Ge(e){T(Array.isArray(e),`Expected targetIds to be an array.`)}function Ke(e,t,n){T(t.isDragging(),`Cannot call hover while not dragging.`),T(!t.didDrop(),`Cannot call hover after drop.`);for(let t=0;t<e.length;t++){let r=e[t];T(e.lastIndexOf(r)===t,`Expected targetIds to be unique in the passed array.`),T(n.getTarget(r),`Expected targetIds to be registered.`)}}function qe(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r];Ue(t.getTargetType(i),n)||e.splice(r,1)}}function Je(e,t,n){e.forEach(function(e){n.getTarget(e).hover(t,e)})}function Ye(e){return function(){if(e.getMonitor().isDragging())return{type:Ee}}}function Xe(e){return{beginDrag:ke(e),publishDragSource:Ye(e),hover:We(e),drop:Ie(e),endDrag:Ve(e)}}var Ze=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=Xe(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 Qe(e,t){return{x:e.x+t.x,y:e.y+t.y}}function $e(e,t){return{x:e.x-t.x,y:e.y-t.y}}function et(e){let{clientOffset:t,initialClientOffset:n,initialSourceClientOffset:r}=e;return!t||!n||!r?null:$e(Qe(t,r),n)}function tt(e){let{clientOffset:t,initialClientOffset:n}=e;return!t||!n?null:$e(t,n)}var A=[],nt=[];A.__IS_NONE__=!0,nt.__IS_ALL__=!0;function rt(e,t){return e===A?!1:e===nt||t===void 0||we(t,e).length>0}var it=class{subscribeToStateChange(e,t={}){let{handlerIds:n}=t;T(typeof e==`function`,`listener must be a function.`),T(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&&!rt(t.dirtyHandlerIds,n)||e()}finally{r=i}})}subscribeToOffsetChange(e){T(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 T(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 T(t,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop()?!1:Ue(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 T(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&&!Ue(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 et(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return tt(this.store.getState().dragOffset)}constructor(e,t){this.store=e,this.registry=t}},at=typeof global<`u`?global:self,ot=at.MutationObserver||at.WebKitMutationObserver;function st(e){return function(){let t=setTimeout(r,0),n=setInterval(r,50);function r(){clearTimeout(t),clearInterval(n),e()}}}function ct(e){let t=1,n=new ot(e),r=document.createTextNode(``);return n.observe(r,{characterData:!0}),function(){t=-t,r.data=t}}var lt=typeof ot==`function`?ct:st,ut=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=lt(this.flush),this.requestErrorThrow=st(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}},dt=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}},ft=class{create(e){let t=this.freeTasks,n=t.length?t.pop():new dt(this.onError,e=>t[t.length]=e);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}},pt=new ut,mt=new ft(pt.registerPendingError);function ht(e){pt.enqueueTask(mt.create(e))}var gt=`dnd-core/ADD_SOURCE`,_t=`dnd-core/ADD_TARGET`,vt=`dnd-core/REMOVE_SOURCE`,j=`dnd-core/REMOVE_TARGET`;function yt(e){return{type:gt,payload:{sourceId:e}}}function bt(e){return{type:_t,payload:{targetId:e}}}function xt(e){return{type:vt,payload:{sourceId:e}}}function St(e){return{type:j,payload:{targetId:e}}}function Ct(e){T(typeof e.canDrag==`function`,`Expected canDrag to be a function.`),T(typeof e.beginDrag==`function`,`Expected beginDrag to be a function.`),T(typeof e.endDrag==`function`,`Expected endDrag to be a function.`)}function wt(e){T(typeof e.canDrop==`function`,`Expected canDrop to be a function.`),T(typeof e.hover==`function`,`Expected hover to be a function.`),T(typeof e.drop==`function`,`Expected beginDrag to be a function.`)}function Tt(e,t){if(t&&Array.isArray(e)){e.forEach(e=>Tt(e,!1));return}T(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 M;(function(e){e.SOURCE=`SOURCE`,e.TARGET=`TARGET`})(M||={});var Et=0;function Dt(){return Et++}function Ot(e){let t=Dt().toString();switch(e){case M.SOURCE:return`S${t}`;case M.TARGET:return`T${t}`;default:throw Error(`Unknown Handler Role: ${e}`)}}function kt(e){switch(e[0]){case`S`:return M.SOURCE;case`T`:return M.TARGET;default:throw Error(`Cannot parse handler ID: ${e}`)}}function At(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 jt=class{addSource(e,t){Tt(e),Ct(t);let n=this.addHandler(M.SOURCE,e,t);return this.store.dispatch(yt(n)),n}addTarget(e,t){Tt(e,!0),wt(t);let n=this.addHandler(M.TARGET,e,t);return this.store.dispatch(bt(n)),n}containsHandler(e){return At(this.dragSources,e)||At(this.dropTargets,e)}getSource(e,t=!1){return T(this.isSourceId(e),`Expected a valid source ID.`),t&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return T(this.isTargetId(e),`Expected a valid target ID.`),this.dropTargets.get(e)}getSourceType(e){return T(this.isSourceId(e),`Expected a valid source ID.`),this.types.get(e)}getTargetType(e){return T(this.isTargetId(e),`Expected a valid target ID.`),this.types.get(e)}isSourceId(e){return kt(e)===M.SOURCE}isTargetId(e){return kt(e)===M.TARGET}removeSource(e){T(this.getSource(e),`Expected an existing source.`),this.store.dispatch(xt(e)),ht(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){T(this.getTarget(e),`Expected an existing target.`),this.store.dispatch(St(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){let t=this.getSource(e);T(t,`Expected an existing source.`),this.pinnedSourceId=e,this.pinnedSource=t}unpinSource(){T(this.pinnedSource,`No source is pinned at the time.`),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,t,n){let r=Ot(e);return this.types.set(r,t),e===M.SOURCE?this.dragSources.set(r,n):e===M.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}},Mt=(e,t)=>e===t;function Nt(e,t){return!e&&!t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y}function Pt(e,t,n=Mt){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 Ft(e=A,t){switch(t.type){case D:break;case gt:case _t:case j:case vt:return A;case E:case Ee:case k:case O:default:return nt}let{targetIds:n=[],prevTargetIds:r=[]}=t.payload,i=Ce(n,r);if(!(i.length>0||!Pt(n,r)))return A;let a=r[r.length-1],o=n[n.length-1];return a!==o&&(a&&i.push(a),o&&i.push(o)),i}function It(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lt(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){It(e,t,n[t])})}return e}var Rt={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function zt(e=Rt,t){let{payload:n}=t;switch(t.type){case Te:case E:return{initialSourceClientOffset:n.sourceClientOffset,initialClientOffset:n.clientOffset,clientOffset:n.clientOffset};case D:return Nt(e.clientOffset,n.clientOffset)?e:Lt({},e,{clientOffset:n.clientOffset});case k:case O:return Rt;default:return e}}function Bt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(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){Bt(e,t,n[t])})}return e}var Vt={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function Ht(e=Vt,t){let{payload:n}=t;switch(t.type){case E:return N({},e,{itemType:n.itemType,item:n.item,sourceId:n.sourceId,isSourcePublic:n.isSourcePublic,dropResult:null,didDrop:!1});case Ee:return N({},e,{isSourcePublic:!0});case D:return N({},e,{targetIds:n.targetIds});case j:return e.targetIds.indexOf(n.targetId)===-1?e:N({},e,{targetIds:xe(e.targetIds,n.targetId)});case O:return N({},e,{dropResult:n.dropResult,didDrop:!0,targetIds:[]});case k:return N({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function Ut(e=0,t){switch(t.type){case gt:case _t:return e+1;case vt:case j:return e-1;default:return e}}function Wt(e=0){return e+1}function Gt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kt(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){Gt(e,t,n[t])})}return e}function qt(e={},t){return{dirtyHandlerIds:Ft(e.dirtyHandlerIds,{type:t.type,payload:Kt({},t.payload,{prevTargetIds:be(e,`dragOperation.targetIds`,[])})}),dragOffset:zt(e.dragOffset,t),refCount:Ut(e.refCount,t),dragOperation:Ht(e.dragOperation,t),stateId:Wt(e.stateId)}}function Jt(e,t=void 0,n={},r=!1){let i=Yt(r),a=new Ze(i,new it(i,new jt(i))),o=e(a,t,n);return a.receiveBackend(o),a}function Yt(e){let t=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__;return ve(qt,e&&t&&t({name:`dnd-core`,instanceId:`dnd-core`}))}function Xt(e,t){if(e==null)return{};var n=Zt(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 Zt(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 Qt=0,$t=Symbol.for(`__REACT_DND_CONTEXT_INSTANCE__`),en=(0,S.memo)(function(e){var{children:t}=e;let[n,r]=tn(Xt(e,[`children`]));return(0,S.useEffect)(()=>{if(r){let e=rn();return++Qt,()=>{--Qt===0&&(e[$t]=null)}}},[]),(0,C.jsx)(pe.Provider,{value:n,children:t})});function tn(e){return`manager`in e?[{dragDropManager:e.manager},!1]:[nn(e.backend,e.context,e.options,e.debugMode),!e.context]}function nn(e,t=rn(),n,r){let i=t;return i[$t]||(i[$t]={dragDropManager:Jt(e,t,n,r)}),i[$t]}function rn(){return typeof global<`u`?global:window}var an=e(fe(),1),P=typeof window<`u`?S.useLayoutEffect:S.useEffect;function on(e,t,n){let[r,i]=(0,S.useState)(()=>t(e)),a=(0,S.useCallback)(()=>{let a=t(e);(0,an.default)(r,a)||(i(a),n&&n())},[r,e,n]);return P(a),[r,a]}function sn(e,t,n){let[r,i]=on(e,t,n);return P(function(){let t=e.getHandlerId();if(t!=null)return e.subscribeToStateChange(i,{handlerIds:[t]})},[e,i]),r}function cn(e,t,n){return sn(t,e||(()=>({})),()=>n.reconnect())}function ln(e,t){let n=[...t||[]];return t==null&&typeof e!=`function`&&n.push(e),(0,S.useMemo)(()=>typeof e==`function`?e():e,n)}function un(e){return(0,S.useMemo)(()=>e.hooks.dragSource(),[e])}function dn(e){return(0,S.useMemo)(()=>e.hooks.dragPreview(),[e])}var fn=!1,pn=!1,mn=class{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){T(!fn,`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 fn=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{fn=!1}}isDragging(){if(!this.sourceId)return!1;T(!pn,`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 pn=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{pn=!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()}},hn=!1,gn=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;T(!hn,`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 hn=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{hn=!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 _n(e,t,n){let r=n.getRegistry(),i=r.addTarget(e,t);return[i,()=>r.removeTarget(i)]}function vn(e,t,n){let r=n.getRegistry(),i=r.addSource(e,t);return[i,()=>r.removeSource(i)]}function yn(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 bn(e){return typeof e==`object`&&!!e&&Object.prototype.hasOwnProperty.call(e,`current`)}function xn(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 Sn(e){return(t=null,n=null)=>{if(!(0,S.isValidElement)(t)){let r=t;return e(r,n),r}let r=t;return xn(r),Tn(r,n?t=>e(t,n):e)}}function Cn(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];if(n.endsWith(`Ref`))t[n]=e[n];else{let e=Sn(r);t[n]=()=>e}}),t}function wn(e,t){typeof e==`function`?e(t):e.current=t}function Tn(e,t){let n=e.ref;return T(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,S.cloneElement)(e,{ref:e=>{wn(n,e),wn(t,e)}}):(0,S.cloneElement)(e,{ref:t})}var En=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!yn(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!yn(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=Cn({dragSource:(e,t)=>{this.clearDragSource(),this.dragSourceOptions=t||null,bn(e)?this.dragSourceRef=e:this.dragSourceNode=e,this.reconnectDragSource()},dragPreview:(e,t)=>{this.clearDragPreview(),this.dragPreviewOptions=t||null,bn(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}},Dn=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!yn(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=Cn({dropTarget:(e,t)=>{this.clearDropTarget(),this.dropTargetOptions=t,bn(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 F(){let{dragDropManager:e}=(0,S.useContext)(pe);return T(e!=null,`Expected drag drop context`),e}function On(e,t){let n=F(),r=(0,S.useMemo)(()=>new En(n.getBackend()),[n]);return P(()=>(r.dragSourceOptions=e||null,r.reconnect(),()=>r.disconnectDragSource()),[r,e]),P(()=>(r.dragPreviewOptions=t||null,r.reconnect(),()=>r.disconnectDragPreview()),[r,t]),r}function kn(){let e=F();return(0,S.useMemo)(()=>new mn(e),[e])}var An=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 jn(e,t,n){let r=(0,S.useMemo)(()=>new An(e,t,n),[t,n]);return(0,S.useEffect)(()=>{r.spec=e},[e]),r}function Mn(e){return(0,S.useMemo)(()=>{let t=e.type;return T(t!=null,`spec.type must be defined`),t},[e])}function Nn(e,t,n){let r=F(),i=jn(e,t,n),a=Mn(e);P(function(){if(a!=null){let[e,o]=vn(a,i,r);return t.receiveHandlerId(e),n.receiveHandlerId(e),o}},[r,t,n,i,a])}function Pn(e,t){let n=ln(e,t);T(!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=kn(),i=On(n.options,n.previewOptions);return Nn(n,r,i),[cn(n.collect,r,i),un(i),dn(i)]}function Fn(e){let t=F().getMonitor(),[n,r]=on(t,e);return(0,S.useEffect)(()=>t.subscribeToOffsetChange(r)),(0,S.useEffect)(()=>t.subscribeToStateChange(r)),n}function In(e){return(0,S.useMemo)(()=>e.hooks.dropTarget(),[e])}function Ln(e){let t=F(),n=(0,S.useMemo)(()=>new Dn(t.getBackend()),[t]);return P(()=>(n.dropTargetOptions=e||null,n.reconnect(),()=>n.disconnectDropTarget()),[e]),n}function Rn(){let e=F();return(0,S.useMemo)(()=>new gn(e),[e])}function zn(e){let{accept:t}=e;return(0,S.useMemo)(()=>(T(e.accept!=null,`accept must be defined`),Array.isArray(t)?t:[t]),[t])}var Bn=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 Vn(e,t){let n=(0,S.useMemo)(()=>new Bn(e,t),[t]);return(0,S.useEffect)(()=>{n.spec=e},[e]),n}function Hn(e,t,n){let r=F(),i=Vn(e,t),a=zn(e);P(function(){let[e,o]=_n(a,i,r);return t.receiveHandlerId(e),n.receiveHandlerId(e),o},[r,t,i,n,a.map(e=>e.toString()).join(`|`)])}function Un(e,t){let n=ln(e,t),r=Rn(),i=Ln(n.options);return Hn(n,r,i),[cn(n.collect,r,i),In(i)]}function Wn(e){let t=null;return()=>(t??=e(),t)}function Gn(e,t){return e.filter(e=>e!==t)}function Kn(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 qn=class{enter(e){let t=this.entered.length,n=t=>this.isNodeInDocument(t)&&(!t.contains||t.contains(e));return this.entered=Kn(this.entered.filter(n),[e]),t===0&&this.entered.length>0}leave(e){let t=this.entered.length;return this.entered=Gn(this.entered.filter(this.isNodeInDocument),e),t>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}},Jn=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()}},Yn=t({FILE:()=>Xn,HTML:()=>$n,TEXT:()=>Qn,URL:()=>Zn}),Xn=`__NATIVE_FILE__`,Zn=`__NATIVE_URL__`,Qn=`__NATIVE_TEXT__`,$n=`__NATIVE_HTML__`;function er(e,t,n){return t.reduce((t,n)=>t||e.getData(n),``)??n}var tr={[Xn]:{exposeProperties:{files:e=>Array.prototype.slice.call(e.files),items:e=>e.items,dataTransfer:e=>e},matchesTypes:[`Files`]},[$n]:{exposeProperties:{html:(e,t)=>er(e,t,``),dataTransfer:e=>e},matchesTypes:[`Html`,`text/html`]},[Zn]:{exposeProperties:{urls:(e,t)=>er(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-92uWqz-P.js";import{t as s}from"./jsx-runtime-B74pBk57.js";import{o as c}from"./alert-dialog-CA-2mBs3.js";import{a as l}from"./tabs-Cy1qXLzH.js";import{a as u,p as d,r as f,t as p}from"./dropdown-menu-C40jM9o4.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-mfuAcK1x.js";import{t as v}from"./copy-BMXKNElG.js";import{b as ee}from"./write-secret-modal-D6zoZgLY.js";import{t as y}from"./trash-2-D_HX-0qx.js";import{t as b}from"./use-toast-DpWHUGuF.js";import{t as te}from"./paths-zcL04qUW.js";import{a as ne}from"./errors-DzO-nXy-.js";import{t as re}from"./extends-CvVTau-c.js";import{i as ie,n as ae,r as x}from"./pathUtils-Cryrlpma.js";import{n as oe}from"./semaphore-BjoL5P0h.js";var se=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`}]]),S=e(i(),1),C=s(),ce=l();function le(e,t){return le=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},le(e,t)}function ue(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,le(e,t)}function de(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}var fe=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}})),pe=(0,S.createContext)({dragDropManager:void 0});function w(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 me=(function(){return typeof Symbol==`function`&&Symbol.observable||`@@observable`})(),he=function(){return Math.random().toString(36).substring(7).split(``).join(`.`)},ge={INIT:`@@redux/INIT`+he(),REPLACE:`@@redux/REPLACE`+he(),PROBE_UNKNOWN_ACTION:function(){return`@@redux/PROBE_UNKNOWN_ACTION`+he()}};function _e(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 ve(e,t,n){var r;if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(w(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(w(1));return n(ve)(e,t)}if(typeof e!=`function`)throw Error(w(2));var i=e,a=t,o=[],s=o,c=!1;function l(){s===o&&(s=o.slice())}function u(){if(c)throw Error(w(3));return a}function d(e){if(typeof e!=`function`)throw Error(w(4));if(c)throw Error(w(5));var t=!0;return l(),s.push(e),function(){if(t){if(c)throw Error(w(6));t=!1,l();var n=s.indexOf(e);s.splice(n,1),o=null}}}function f(e){if(!_e(e))throw Error(w(7));if(e.type===void 0)throw Error(w(8));if(c)throw Error(w(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(w(10));i=e,f({type:ge.REPLACE})}function m(){var e,t=d;return e={subscribe:function(e){if(typeof e!=`object`||!e)throw Error(w(11));function n(){e.next&&e.next(u())}return n(),{unsubscribe:t(n)}}},e[me]=function(){return this},e}return f({type:ge.INIT}),r={dispatch:f,subscribe:d,getState:u,replaceReducer:p},r[me]=m,r}function T(e,t,...n){if(ye()&&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 ye(){return typeof process<`u`&&!0}function be(e,t,n){return t.split(`.`).reduce((e,t)=>e&&e[t]?e[t]:n||null,e)}function xe(e,t){return e.filter(e=>e!==t)}function Se(e){return typeof e==`object`}function Ce(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 we(e,t){return e.filter(e=>t.indexOf(e)>-1)}var Te=`dnd-core/INIT_COORDS`,E=`dnd-core/BEGIN_DRAG`,Ee=`dnd-core/PUBLISH_DRAG_SOURCE`,D=`dnd-core/HOVER`,O=`dnd-core/DROP`,k=`dnd-core/END_DRAG`;function De(e,t){return{type:Te,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}var Oe={type:Te,payload:{clientOffset:null,sourceClientOffset:null}};function ke(e){return function(t=[],n={publishSource:!0}){let{publishSource:r=!0,clientOffset:i,getSourceClientOffset:a}=n,o=e.getMonitor(),s=e.getRegistry();e.dispatch(De(i)),Ae(t,o,s);let c=Ne(t,o);if(c==null){e.dispatch(Oe);return}let l=null;if(i){if(!a)throw Error(`getSourceClientOffset must be defined`);je(a),l=a(c)}e.dispatch(De(i,l));let u=s.getSource(c).beginDrag(o,c);return u==null?void 0:(Me(u),s.pinSource(c),{type:E,payload:{itemType:s.getSourceType(c),item:u,sourceId:c,clientOffset:i||null,sourceClientOffset:l||null,isSourcePublic:!!r}})}}function Ae(e,t,n){T(!t.isDragging(),`Cannot call beginDrag while dragging.`),e.forEach(function(e){T(n.getSource(e),`Expected sourceIds to be registered.`)})}function je(e){T(typeof e==`function`,`When clientOffset is provided, getSourceClientOffset must be a function.`)}function Me(e){T(Se(e),`Item must be an object.`)}function Ne(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 Pe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fe(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){Pe(e,t,n[t])})}return e}function Ie(e){return function(t={}){let n=e.getMonitor(),r=e.getRegistry();Le(n),Be(n).forEach((i,a)=>{let o={type:O,payload:{dropResult:Fe({},t,Re(i,a,r,n))}};e.dispatch(o)})}}function Le(e){T(e.isDragging(),`Cannot call drop while not dragging.`),T(!e.didDrop(),`Cannot call drop twice during one drag operation.`)}function Re(e,t,n,r){let i=n.getTarget(e),a=i?i.drop(r,e):void 0;return ze(a),a===void 0&&(a=t===0?{}:r.getDropResult()),a}function ze(e){T(e===void 0||Se(e),`Drop result must either be an object or undefined.`)}function Be(e){let t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function Ve(e){return function(){let t=e.getMonitor(),n=e.getRegistry();He(t);let r=t.getSourceId();return r!=null&&(n.getSource(r,!0).endDrag(t,r),n.unpinSource()),{type:k}}}function He(e){T(e.isDragging(),`Cannot call endDrag while not dragging.`)}function Ue(e,t){return t===null?e===null:Array.isArray(e)?e.some(e=>e===t):e===t}function We(e){return function(t,{clientOffset:n}={}){Ge(t);let r=t.slice(0),i=e.getMonitor(),a=e.getRegistry();return qe(r,a,i.getItemType()),Ke(r,i,a),Je(r,i,a),{type:D,payload:{targetIds:r,clientOffset:n||null}}}}function Ge(e){T(Array.isArray(e),`Expected targetIds to be an array.`)}function Ke(e,t,n){T(t.isDragging(),`Cannot call hover while not dragging.`),T(!t.didDrop(),`Cannot call hover after drop.`);for(let t=0;t<e.length;t++){let r=e[t];T(e.lastIndexOf(r)===t,`Expected targetIds to be unique in the passed array.`),T(n.getTarget(r),`Expected targetIds to be registered.`)}}function qe(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r];Ue(t.getTargetType(i),n)||e.splice(r,1)}}function Je(e,t,n){e.forEach(function(e){n.getTarget(e).hover(t,e)})}function Ye(e){return function(){if(e.getMonitor().isDragging())return{type:Ee}}}function Xe(e){return{beginDrag:ke(e),publishDragSource:Ye(e),hover:We(e),drop:Ie(e),endDrag:Ve(e)}}var Ze=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=Xe(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 Qe(e,t){return{x:e.x+t.x,y:e.y+t.y}}function $e(e,t){return{x:e.x-t.x,y:e.y-t.y}}function et(e){let{clientOffset:t,initialClientOffset:n,initialSourceClientOffset:r}=e;return!t||!n||!r?null:$e(Qe(t,r),n)}function tt(e){let{clientOffset:t,initialClientOffset:n}=e;return!t||!n?null:$e(t,n)}var A=[],nt=[];A.__IS_NONE__=!0,nt.__IS_ALL__=!0;function rt(e,t){return e===A?!1:e===nt||t===void 0||we(t,e).length>0}var it=class{subscribeToStateChange(e,t={}){let{handlerIds:n}=t;T(typeof e==`function`,`listener must be a function.`),T(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&&!rt(t.dirtyHandlerIds,n)||e()}finally{r=i}})}subscribeToOffsetChange(e){T(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 T(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 T(t,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop()?!1:Ue(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 T(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&&!Ue(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 et(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return tt(this.store.getState().dragOffset)}constructor(e,t){this.store=e,this.registry=t}},at=typeof global<`u`?global:self,ot=at.MutationObserver||at.WebKitMutationObserver;function st(e){return function(){let t=setTimeout(r,0),n=setInterval(r,50);function r(){clearTimeout(t),clearInterval(n),e()}}}function ct(e){let t=1,n=new ot(e),r=document.createTextNode(``);return n.observe(r,{characterData:!0}),function(){t=-t,r.data=t}}var lt=typeof ot==`function`?ct:st,ut=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=lt(this.flush),this.requestErrorThrow=st(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}},dt=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}},ft=class{create(e){let t=this.freeTasks,n=t.length?t.pop():new dt(this.onError,e=>t[t.length]=e);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}},pt=new ut,mt=new ft(pt.registerPendingError);function ht(e){pt.enqueueTask(mt.create(e))}var gt=`dnd-core/ADD_SOURCE`,_t=`dnd-core/ADD_TARGET`,vt=`dnd-core/REMOVE_SOURCE`,j=`dnd-core/REMOVE_TARGET`;function yt(e){return{type:gt,payload:{sourceId:e}}}function bt(e){return{type:_t,payload:{targetId:e}}}function xt(e){return{type:vt,payload:{sourceId:e}}}function St(e){return{type:j,payload:{targetId:e}}}function Ct(e){T(typeof e.canDrag==`function`,`Expected canDrag to be a function.`),T(typeof e.beginDrag==`function`,`Expected beginDrag to be a function.`),T(typeof e.endDrag==`function`,`Expected endDrag to be a function.`)}function wt(e){T(typeof e.canDrop==`function`,`Expected canDrop to be a function.`),T(typeof e.hover==`function`,`Expected hover to be a function.`),T(typeof e.drop==`function`,`Expected beginDrag to be a function.`)}function Tt(e,t){if(t&&Array.isArray(e)){e.forEach(e=>Tt(e,!1));return}T(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 M;(function(e){e.SOURCE=`SOURCE`,e.TARGET=`TARGET`})(M||={});var Et=0;function Dt(){return Et++}function Ot(e){let t=Dt().toString();switch(e){case M.SOURCE:return`S${t}`;case M.TARGET:return`T${t}`;default:throw Error(`Unknown Handler Role: ${e}`)}}function kt(e){switch(e[0]){case`S`:return M.SOURCE;case`T`:return M.TARGET;default:throw Error(`Cannot parse handler ID: ${e}`)}}function At(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 jt=class{addSource(e,t){Tt(e),Ct(t);let n=this.addHandler(M.SOURCE,e,t);return this.store.dispatch(yt(n)),n}addTarget(e,t){Tt(e,!0),wt(t);let n=this.addHandler(M.TARGET,e,t);return this.store.dispatch(bt(n)),n}containsHandler(e){return At(this.dragSources,e)||At(this.dropTargets,e)}getSource(e,t=!1){return T(this.isSourceId(e),`Expected a valid source ID.`),t&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return T(this.isTargetId(e),`Expected a valid target ID.`),this.dropTargets.get(e)}getSourceType(e){return T(this.isSourceId(e),`Expected a valid source ID.`),this.types.get(e)}getTargetType(e){return T(this.isTargetId(e),`Expected a valid target ID.`),this.types.get(e)}isSourceId(e){return kt(e)===M.SOURCE}isTargetId(e){return kt(e)===M.TARGET}removeSource(e){T(this.getSource(e),`Expected an existing source.`),this.store.dispatch(xt(e)),ht(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){T(this.getTarget(e),`Expected an existing target.`),this.store.dispatch(St(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){let t=this.getSource(e);T(t,`Expected an existing source.`),this.pinnedSourceId=e,this.pinnedSource=t}unpinSource(){T(this.pinnedSource,`No source is pinned at the time.`),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,t,n){let r=Ot(e);return this.types.set(r,t),e===M.SOURCE?this.dragSources.set(r,n):e===M.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}},Mt=(e,t)=>e===t;function Nt(e,t){return!e&&!t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y}function Pt(e,t,n=Mt){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 Ft(e=A,t){switch(t.type){case D:break;case gt:case _t:case j:case vt:return A;case E:case Ee:case k:case O:default:return nt}let{targetIds:n=[],prevTargetIds:r=[]}=t.payload,i=Ce(n,r);if(!(i.length>0||!Pt(n,r)))return A;let a=r[r.length-1],o=n[n.length-1];return a!==o&&(a&&i.push(a),o&&i.push(o)),i}function It(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lt(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){It(e,t,n[t])})}return e}var Rt={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function zt(e=Rt,t){let{payload:n}=t;switch(t.type){case Te:case E:return{initialSourceClientOffset:n.sourceClientOffset,initialClientOffset:n.clientOffset,clientOffset:n.clientOffset};case D:return Nt(e.clientOffset,n.clientOffset)?e:Lt({},e,{clientOffset:n.clientOffset});case k:case O:return Rt;default:return e}}function Bt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(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){Bt(e,t,n[t])})}return e}var Vt={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function Ht(e=Vt,t){let{payload:n}=t;switch(t.type){case E:return N({},e,{itemType:n.itemType,item:n.item,sourceId:n.sourceId,isSourcePublic:n.isSourcePublic,dropResult:null,didDrop:!1});case Ee:return N({},e,{isSourcePublic:!0});case D:return N({},e,{targetIds:n.targetIds});case j:return e.targetIds.indexOf(n.targetId)===-1?e:N({},e,{targetIds:xe(e.targetIds,n.targetId)});case O:return N({},e,{dropResult:n.dropResult,didDrop:!0,targetIds:[]});case k:return N({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function Ut(e=0,t){switch(t.type){case gt:case _t:return e+1;case vt:case j:return e-1;default:return e}}function Wt(e=0){return e+1}function Gt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kt(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){Gt(e,t,n[t])})}return e}function qt(e={},t){return{dirtyHandlerIds:Ft(e.dirtyHandlerIds,{type:t.type,payload:Kt({},t.payload,{prevTargetIds:be(e,`dragOperation.targetIds`,[])})}),dragOffset:zt(e.dragOffset,t),refCount:Ut(e.refCount,t),dragOperation:Ht(e.dragOperation,t),stateId:Wt(e.stateId)}}function Jt(e,t=void 0,n={},r=!1){let i=Yt(r),a=new Ze(i,new it(i,new jt(i))),o=e(a,t,n);return a.receiveBackend(o),a}function Yt(e){let t=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__;return ve(qt,e&&t&&t({name:`dnd-core`,instanceId:`dnd-core`}))}function Xt(e,t){if(e==null)return{};var n=Zt(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 Zt(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 Qt=0,$t=Symbol.for(`__REACT_DND_CONTEXT_INSTANCE__`),en=(0,S.memo)(function(e){var{children:t}=e;let[n,r]=tn(Xt(e,[`children`]));return(0,S.useEffect)(()=>{if(r){let e=rn();return++Qt,()=>{--Qt===0&&(e[$t]=null)}}},[]),(0,C.jsx)(pe.Provider,{value:n,children:t})});function tn(e){return`manager`in e?[{dragDropManager:e.manager},!1]:[nn(e.backend,e.context,e.options,e.debugMode),!e.context]}function nn(e,t=rn(),n,r){let i=t;return i[$t]||(i[$t]={dragDropManager:Jt(e,t,n,r)}),i[$t]}function rn(){return typeof global<`u`?global:window}var an=e(fe(),1),P=typeof window<`u`?S.useLayoutEffect:S.useEffect;function on(e,t,n){let[r,i]=(0,S.useState)(()=>t(e)),a=(0,S.useCallback)(()=>{let a=t(e);(0,an.default)(r,a)||(i(a),n&&n())},[r,e,n]);return P(a),[r,a]}function sn(e,t,n){let[r,i]=on(e,t,n);return P(function(){let t=e.getHandlerId();if(t!=null)return e.subscribeToStateChange(i,{handlerIds:[t]})},[e,i]),r}function cn(e,t,n){return sn(t,e||(()=>({})),()=>n.reconnect())}function ln(e,t){let n=[...t||[]];return t==null&&typeof e!=`function`&&n.push(e),(0,S.useMemo)(()=>typeof e==`function`?e():e,n)}function un(e){return(0,S.useMemo)(()=>e.hooks.dragSource(),[e])}function dn(e){return(0,S.useMemo)(()=>e.hooks.dragPreview(),[e])}var fn=!1,pn=!1,mn=class{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){T(!fn,`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 fn=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{fn=!1}}isDragging(){if(!this.sourceId)return!1;T(!pn,`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 pn=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{pn=!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()}},hn=!1,gn=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;T(!hn,`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 hn=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{hn=!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 _n(e,t,n){let r=n.getRegistry(),i=r.addTarget(e,t);return[i,()=>r.removeTarget(i)]}function vn(e,t,n){let r=n.getRegistry(),i=r.addSource(e,t);return[i,()=>r.removeSource(i)]}function yn(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 bn(e){return typeof e==`object`&&!!e&&Object.prototype.hasOwnProperty.call(e,`current`)}function xn(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 Sn(e){return(t=null,n=null)=>{if(!(0,S.isValidElement)(t)){let r=t;return e(r,n),r}let r=t;return xn(r),Tn(r,n?t=>e(t,n):e)}}function Cn(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];if(n.endsWith(`Ref`))t[n]=e[n];else{let e=Sn(r);t[n]=()=>e}}),t}function wn(e,t){typeof e==`function`?e(t):e.current=t}function Tn(e,t){let n=e.ref;return T(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,S.cloneElement)(e,{ref:e=>{wn(n,e),wn(t,e)}}):(0,S.cloneElement)(e,{ref:t})}var En=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!yn(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!yn(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=Cn({dragSource:(e,t)=>{this.clearDragSource(),this.dragSourceOptions=t||null,bn(e)?this.dragSourceRef=e:this.dragSourceNode=e,this.reconnectDragSource()},dragPreview:(e,t)=>{this.clearDragPreview(),this.dragPreviewOptions=t||null,bn(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}},Dn=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!yn(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=Cn({dropTarget:(e,t)=>{this.clearDropTarget(),this.dropTargetOptions=t,bn(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 F(){let{dragDropManager:e}=(0,S.useContext)(pe);return T(e!=null,`Expected drag drop context`),e}function On(e,t){let n=F(),r=(0,S.useMemo)(()=>new En(n.getBackend()),[n]);return P(()=>(r.dragSourceOptions=e||null,r.reconnect(),()=>r.disconnectDragSource()),[r,e]),P(()=>(r.dragPreviewOptions=t||null,r.reconnect(),()=>r.disconnectDragPreview()),[r,t]),r}function kn(){let e=F();return(0,S.useMemo)(()=>new mn(e),[e])}var An=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 jn(e,t,n){let r=(0,S.useMemo)(()=>new An(e,t,n),[t,n]);return(0,S.useEffect)(()=>{r.spec=e},[e]),r}function Mn(e){return(0,S.useMemo)(()=>{let t=e.type;return T(t!=null,`spec.type must be defined`),t},[e])}function Nn(e,t,n){let r=F(),i=jn(e,t,n),a=Mn(e);P(function(){if(a!=null){let[e,o]=vn(a,i,r);return t.receiveHandlerId(e),n.receiveHandlerId(e),o}},[r,t,n,i,a])}function Pn(e,t){let n=ln(e,t);T(!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=kn(),i=On(n.options,n.previewOptions);return Nn(n,r,i),[cn(n.collect,r,i),un(i),dn(i)]}function Fn(e){let t=F().getMonitor(),[n,r]=on(t,e);return(0,S.useEffect)(()=>t.subscribeToOffsetChange(r)),(0,S.useEffect)(()=>t.subscribeToStateChange(r)),n}function In(e){return(0,S.useMemo)(()=>e.hooks.dropTarget(),[e])}function Ln(e){let t=F(),n=(0,S.useMemo)(()=>new Dn(t.getBackend()),[t]);return P(()=>(n.dropTargetOptions=e||null,n.reconnect(),()=>n.disconnectDropTarget()),[e]),n}function Rn(){let e=F();return(0,S.useMemo)(()=>new gn(e),[e])}function zn(e){let{accept:t}=e;return(0,S.useMemo)(()=>(T(e.accept!=null,`accept must be defined`),Array.isArray(t)?t:[t]),[t])}var Bn=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 Vn(e,t){let n=(0,S.useMemo)(()=>new Bn(e,t),[t]);return(0,S.useEffect)(()=>{n.spec=e},[e]),n}function Hn(e,t,n){let r=F(),i=Vn(e,t),a=zn(e);P(function(){let[e,o]=_n(a,i,r);return t.receiveHandlerId(e),n.receiveHandlerId(e),o},[r,t,i,n,a.map(e=>e.toString()).join(`|`)])}function Un(e,t){let n=ln(e,t),r=Rn(),i=Ln(n.options);return Hn(n,r,i),[cn(n.collect,r,i),In(i)]}function Wn(e){let t=null;return()=>(t??=e(),t)}function Gn(e,t){return e.filter(e=>e!==t)}function Kn(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 qn=class{enter(e){let t=this.entered.length,n=t=>this.isNodeInDocument(t)&&(!t.contains||t.contains(e));return this.entered=Kn(this.entered.filter(n),[e]),t===0&&this.entered.length>0}leave(e){let t=this.entered.length;return this.entered=Gn(this.entered.filter(this.isNodeInDocument),e),t>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}},Jn=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()}},Yn=t({FILE:()=>Xn,HTML:()=>$n,TEXT:()=>Qn,URL:()=>Zn}),Xn=`__NATIVE_FILE__`,Zn=`__NATIVE_URL__`,Qn=`__NATIVE_TEXT__`,$n=`__NATIVE_HTML__`;function er(e,t,n){return t.reduce((t,n)=>t||e.getData(n),``)??n}var tr={[Xn]:{exposeProperties:{files:e=>Array.prototype.slice.call(e.files),items:e=>e.items,dataTransfer:e=>e},matchesTypes:[`Files`]},[$n]:{exposeProperties:{html:(e,t)=>er(e,t,``),dataTransfer:e=>e},matchesTypes:[`Html`,`text/html`]},[Zn]:{exposeProperties:{urls:(e,t)=>er(e,t,``).split(`
2
2
  `),dataTransfer:e=>e},matchesTypes:[`Url`,`text/uri-list`]},[Qn]:{exposeProperties:{text:(e,t)=>er(e,t,``),dataTransfer:e=>e},matchesTypes:[`Text`,`text/plain`]}};function nr(e,t){let n=tr[e];if(!n)throw Error(`native type ${e} has no configuration`);let r=new Jn(n);return r.loadDataTransfer(t),r}function rr(e){if(!e)return null;let t=Array.prototype.slice.call(e.types||[]);return Object.keys(tr).filter(e=>{let n=tr[e];return n?.matchesTypes?n.matchesTypes.some(e=>t.indexOf(e)>-1):!1})[0]||null}var ir=Wn(()=>/firefox/i.test(navigator.userAgent)),ar=Wn(()=>!!window.safari),or=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}},sr=1;function cr(e){let t=e.nodeType===sr?e:e.parentElement;if(!t)return null;let{top:n,left:r}=t.getBoundingClientRect();return{x:r,y:n}}function lr(e){return{x:e.clientX,y:e.clientY}}function ur(e){return e.nodeName===`IMG`&&(ir()||!document.documentElement?.contains(e))}function dr(e,t,n,r){let i=e?t.width:n,a=e?t.height:r;return ar()&&e&&(a/=window.devicePixelRatio,i/=window.devicePixelRatio),{dragPreviewWidth:i,dragPreviewHeight:a}}function fr(e,t,n,r,i){let a=ur(t),o=cr(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}=dr(a,t,c,l),m=()=>{let e=new or([0,.5,1],[s.y,s.y/l*p,s.y+p-l]).interpolate(d);return ar()&&a&&(e+=(window.devicePixelRatio-1)*p),e},h=()=>new or([0,.5,1],[s.x,s.x/c*f,s.x+f-c]).interpolate(u),{offsetX:g,offsetY:_}=i,v=g===0||g,ee=_===0||_;return{x:v?g:h(),y:ee?_:m()}}var pr=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 mr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hr(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){mr(e,t,n[t])})}return e}var gr=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 hr({dropEffect:this.altKeyPressed?`copy`:`move`},t||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?`copy`:this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){let e=this.monitor.getSourceId();return hr({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}isDraggingNativeItem(){let e=this.monitor.getItemType();return Object.keys(Yn).some(t=>Yn[t]===e)}beginDragNativeItem(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=nr(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&&cr(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=lr(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=rr(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=fr(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=rr(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:lr(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=lr(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 rr(e.dataTransfer)&&e.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=e=>{let{dropTargetIds:t}=this;this.dropTargetIds=[],this.actions.hover(t,{clientOffset:lr(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 pr(t,n),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new qn(this.isNodeInDocument)}},_r;function vr(){return _r||(_r=new Image,_r.src=`data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==`),_r}var yr=function(e,t,n){return new gr(e,t,n)},br=(0,S.createContext)(null);function I(){let e=(0,S.useContext)(br);if(e===null)throw Error(`No Tree Api Provided`);return e}var xr=(0,S.createContext)(null);function Sr(){let e=(0,S.useContext)(xr);if(e===null)throw Error(`Provide a NodesContext`);return e}var Cr=(0,S.createContext)(null);function wr(){let e=(0,S.useContext)(Cr);if(e===null)throw Error(`Provide a DnDContext`);return e}var Tr=(0,S.createContext)(0);function Er(){(0,S.useContext)(Tr)}var Dr=t({access:()=>L,bound:()=>Or,dfs:()=>Fr,focusNextElement:()=>Lr,focusPrevElement:()=>Rr,getInsertIndex:()=>Kr,getInsertParentId:()=>qr,identify:()=>R,identifyNull:()=>Hr,indexOf:()=>Nr,isClosed:()=>Ar,isDescendant:()=>Mr,isItem:()=>kr,isOpenWithEmptyChildren:()=>jr,mergeRefs:()=>Ur,noop:()=>Pr,safeRun:()=>Wr,waitFor:()=>Gr,walk:()=>Ir});function Or(e,t,n){return Math.max(Math.min(e,n),t)}function kr(e){return e&&e.isLeaf}function Ar(e){return e&&e.isInternal&&!e.isOpen}function jr(e){return e&&e.isOpen&&!e.children?.length}var Mr=(e,t)=>{let n=e;for(;n;){if(n.id===t.id)return!0;n=n.parent}return!1},Nr=e=>{if(!e.parent)throw Error(`Node does not have a parent`);return e.parent.children.findIndex(t=>t.id===e.id)};function Pr(){}function Fr(e,t){if(!e)return null;if(e.id===t)return e;if(e.children)for(let n of e.children){let e=Fr(n,t);if(e)return e}return null}function Ir(e,t){if(t(e),e.children)for(let n of e.children)Ir(n,t)}function Lr(e){let t=Vr(e),n;for(let r=0;r<t.length;++r)if(t[r]===e){n=zr(t,r);break}n?.focus()}function Rr(e){let t=Vr(e),n;for(let r=0;r<t.length;++r)if(t[r]===e){n=Br(t,r);break}n?.focus()}function zr(e,t){return t+1<e.length?e[t+1]:e[0]}function Br(e,t){return t-1>=0?e[t-1]:e[e.length-1]}function Vr(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 L(e,t){return typeof t==`boolean`?t:typeof t==`string`?e[t]:t(e)}function Hr(e){return e===null?null:R(e)}function R(e){return typeof e==`string`?e:e.id}function Ur(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}function Wr(e,...t){if(e)return e(...t)}function Gr(e){return new Promise((t,n)=>{let r=0;function i(){r+=1,r===100&&n(),e()?t():setTimeout(i,10)}i()})}function Kr(e){let t=e.focusedNode;return t?t.isOpen?0:t.parent?t.childIndex+1:0:e.root.children?.length??0}function qr(e){let t=e.focusedNode;return t?t.isOpen?t.id:t.parent&&!t.parent.isRoot?t.parent.id:null:null}var Jr={display:`flex`,alignItems:`center`,zIndex:1},Yr={flex:1,height:`2px`,background:`#4B91E2`,borderRadius:`1px`},Xr={width:`4px`,height:`4px`,boxShadow:`0 0 0 3px #4B91E2`,borderRadius:`50%`},Zr=S.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,C.jsxs)(`div`,{style:Object.assign(Object.assign({},Jr),r),children:[(0,C.jsx)(`div`,{style:Object.assign({},Xr)}),(0,C.jsx)(`div`,{style:Object.assign({},Yr)})]})});function Qr({node:e,attrs:t,innerRef:n,children:r}){return(0,C.jsx)(`div`,Object.assign({},t,{ref:n,onFocus:e=>e.stopPropagation(),onClick:e.handleClick,children:r}))}function $r(e){return(0,C.jsxs)(`div`,{ref:e.dragHandle,style:e.style,children:[(0,C.jsx)(`span`,{onClick:t=>{t.stopPropagation(),e.node.toggle()},children:e.node.isLeaf?`🌳`:e.node.isOpen?`🗁`:`🗀`}),` `,e.node.isEditing?(0,C.jsx)(ti,Object.assign({},e)):(0,C.jsx)(ei,Object.assign({},e))]})}function ei(e){return(0,C.jsx)(C.Fragment,{children:(0,C.jsx)(`span`,{children:e.node.data.name})})}function ti({node:e}){let t=(0,S.useRef)();return(0,S.useEffect)(()=>{var e,n;(e=t.current)==null||e.focus(),(n=t.current)==null||n.select()},[]),(0,C.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 ni(e){return{type:`EDIT`,id:e}}function ri(e={id:null},t){return t.type===`EDIT`?Object.assign(Object.assign({},e),{id:t.id}):e}function z(e){return{type:`FOCUS`,id:e}}function ii(){return{type:`TREE_BLUR`}}function ai(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 oi=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===si}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)}},si=`__REACT_ARBORIST_INTERNAL_ROOT__`;function ci(e){function t(n,r,i){let a=new oi({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 oi({tree:e,id:si,data:{id:si},level:-1,parent:null,children:null,isDraggable:!0,rowIndex:null});return n.children=(e.props.data??[]).map(e=>t(e,0,n)),n}var li={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 ui(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 di(e={filtered:{},unfiltered:{}},t){return t.type.startsWith(`VISIBILITY`)?t.filtered?Object.assign(Object.assign({},e),{filtered:ui(e.filtered,t)}):Object.assign(Object.assign({},e),{unfiltered:ui(e.unfiltered,t)}):e}var B=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}}),V={clear:()=>({type:`SELECTION_CLEAR`}),only:e=>({type:`SELECTION_ONLY`,id:R(e)}),add:e=>({type:`SELECTION_ADD`,ids:(Array.isArray(e)?e:[e]).map(R)}),remove:e=>({type:`SELECTION_REMOVE`,ids:(Array.isArray(e)?e:[e]).map(R)}),set:e=>Object.assign({type:`SELECTION_SET`},e),mostRecent:e=>({type:`SELECTION_MOST_RECENT`,id:e===null?null:R(e)}),anchor:e=>({type:`SELECTION_ANCHOR`,id:e===null?null:R(e)})};function fi(e=B().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 H={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 pi(e=B().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 B().dnd;case`DND_HOVERING`:return Object.assign(Object.assign({},e),{parentId:t.parentId,index:t.index});default:return e}}var mi={position:`fixed`,pointerEvents:`none`,zIndex:100,left:0,top:0,width:`100%`,height:`100%`},hi=e=>{if(!e)return{display:`none`};let{x:t,y:n}=e;return{transform:`translate(${t}px, ${n}px)`}},gi=e=>{if(!e)return{display:`none`};let{x:t,y:n}=e;return{transform:`translate(${t+10}px, ${n+10}px)`}};function _i({offset:e,mouse:t,id:n,dragIds:r,isDragging:i}){return(0,C.jsxs)(vi,{isDragging:i,children:[(0,C.jsx)(yi,{offset:e,children:(0,C.jsx)(xi,{id:n,dragIds:r})}),(0,C.jsx)(bi,{mouse:t,count:r.length})]})}var vi=(0,S.memo)(function(e){return e.isDragging?(0,C.jsx)(`div`,{style:mi,children:e.children}):null});function yi(e){return(0,C.jsx)(`div`,{className:`row preview`,style:hi(e.offset),children:e.children})}function bi(e){let{count:t,mouse:n}=e;return t>1?(0,C.jsx)(`div`,{className:`selected-count`,style:gi(n),children:t}):null}var xi=(0,S.memo)(function(e){let t=I(),n=t.get(e.id);return n?(0,C.jsx)(t.renderNode,{preview:!0,node:n,style:{paddingLeft:n.level*t.indent,opacity:.2,background:`transparent`},tree:t}):null}),Si=Number.isNaN||function(e){return typeof e==`number`&&e!==e};function Ci(e,t){return!!(e===t||Si(e)&&Si(t))}function wi(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!Ci(e[n],t[n]))return!1;return!0}function Ti(e,t){t===void 0&&(t=wi);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 Ei=typeof performance==`object`&&typeof performance.now==`function`?function(){return performance.now()}:function(){return Date.now()};function Di(e){cancelAnimationFrame(e.id)}function Oi(e,t){var n=Ei();function r(){Ei()-n>=t?e.call(null):i.id=requestAnimationFrame(r)}var i={id:requestAnimationFrame(r)};return i}var ki=-1;function Ai(e){if(e===void 0&&(e=!1),ki===-1||e){var t=document.createElement(`div`),n=t.style;n.width=`50px`,n.height=`50px`,n.overflow=`scroll`,document.body.appendChild(t),ki=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return ki}var U=null;function ji(e){if(e===void 0&&(e=!1),U===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?U=`positive-descending`:(t.scrollLeft=1,U=t.scrollLeft===0?`negative`:`positive-ascending`),document.body.removeChild(t),U}return U}var Mi=150,Ni=function(e,t){return e};function Pi(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){ue(t,e);function t(t){var r=e.call(this,t)||this;return r._instanceProps=c(r.props,de(r)),r._outerRef=void 0,r._resetIsScrollingTimeoutId=null,r.state={instance:de(r),isScrolling:!1,scrollDirection:`forward`,scrollOffset:typeof r.props.initialScrollOffset==`number`?r.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},r._callOnItemsRendered=void 0,r._callOnItemsRendered=Ti(function(e,t,n,i){return r.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:n,visibleStopIndex:i})}),r._callOnScroll=void 0,r._callOnScroll=Ti(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=Ti(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(ji()){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&&Di(r._resetIsScrollingTimeoutId),r._resetIsScrollingTimeoutId=Oi(r._resetIsScrolling,Mi)},r._resetIsScrolling=function(){r._resetIsScrollingTimeoutId=null,r.setState({isScrolling:!1},function(){r._getItemStyleCache(-1,null)})},r}t.getDerivedStateFromProps=function(e,t){return Fi(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?Ai():0:c.scrollHeight>c.clientHeight?Ai():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(ji()){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&&Di(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?Ni:d,p=e.layout,m=e.outerElementType,h=e.outerTagName,g=e.style,_=e.useIsScrolling,v=e.width,ee=this.state.isScrolling,y=i===`horizontal`||p===`horizontal`,b=y?this._onScrollHorizontal:this._onScrollVertical,te=this._getRangeToRender(),ne=te[0],ie=te[1],ae=[];if(l>0)for(var x=ne;x<=ie;x++)ae.push((0,S.createElement)(t,{data:u,key:f(x,u),index:x,isScrolling:_?ee:void 0,style:this._getItemStyle(x)}));var oe=r(this.props,this._instanceProps);return(0,S.createElement)(m||h||`div`,{className:n,onScroll:b,ref:this._outerRefSetter,style:re({position:`relative`,height:a,width:v,overflow:`auto`,WebkitOverflowScrolling:`touch`,willChange:`transform`,direction:i},g)},(0,S.createElement)(s||c||`div`,{children:ae,ref:o,style:{height:y?`100%`:oe,pointerEvents:ee?`none`:void 0,width:y?oe:`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}(S.PureComponent),t.defaultProps={direction:`ltr`,itemData:void 0,layout:`vertical`,overscanCount:2,useIsScrolling:!1},t}var Fi=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},Ii=Pi({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 Li(){let e=I(),t=wr().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,C.jsx)(a,{top:r,left:i,indent:n})}var Ri=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},zi=(0,S.forwardRef)(function(e,t){let{children:n}=e,r=Ri(e,[`children`]),i=I();return(0,C.jsxs)(`div`,Object.assign({ref:t},r,{onClick:e=>{e.currentTarget===e.target&&i.deselectAll()},children:[(0,C.jsx)(Bi,{}),n]}))}),Bi=()=>{let e=I();return(0,C.jsx)(`div`,{style:{height:e.visibleNodes.length*e.rowHeight,width:`100%`,position:`absolute`,left:`0`,right:`0`},children:(0,C.jsx)(Li,{})})},Vi=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},Hi=(0,S.forwardRef)(function(e,t){var{style:n}=e,r=Vi(e,[`style`]);let i=I(),a=i.props.padding??i.props.paddingTop??0,o=i.props.padding??i.props.paddingBottom??0;return(0,C.jsx)(`div`,Object.assign({ref:t,style:Object.assign(Object.assign({},n),{height:`${parseFloat(n.height)+a+o}px`})},r))});function Ui(e){let t=I(),n=t.selectedIds,[r,i,a]=Pn(()=>({canDrag:()=>e.isDraggable,type:`NODE`,item:()=>{let r=t.isSelected(e.id)?Array.from(n):[e.id];return t.dispatch(H.dragStart(e.id,r)),{id:e.id,dragIds:r}},end:()=>{t.hideCursor(),t.dispatch(H.dragEnd())}}),[n,e]);return(0,S.useEffect)(()=>{a(vr())},[a]),i}function Wi(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 Gi(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 Ki(e,t){return{parentId:e||null,index:t}}function W(e,t){return{type:`line`,index:e,level:t}}function qi(e){return{type:`highlight`,id:e}}function Ji(e,t){let n=e;for(;n.parent&&n.level>t;)n=n.parent;return{parentId:n.parent?.id||null,index:Nr(n)+1}}function Yi(e){let t=Wi(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]=Gi(i,o,a,t);if(i&&i.isInternal&&t.inMiddle)return{drop:Ki(i.id,null),cursor:qi(i.id)};if(!s)return{drop:Ki(c?.parent?.id,0),cursor:W(0,0)};if(kr(s)){let e=Or(r,c?.level||0,s.level);return{drop:Ji(s,e),cursor:W(s.rowIndex+1,e)}}if(Ar(s)){let e=Or(r,c?.level||0,s.level);return{drop:Ji(s,e),cursor:W(s.rowIndex+1,e)}}if(jr(s)){let e=Or(r,0,s.level+1);return e>s.level?{drop:Ki(s.id,0),cursor:W(s.rowIndex+1,e)}:{drop:Ji(s,e),cursor:W(s.rowIndex+1,e)}}return{drop:Ki(s?.id,0),cursor:W(s.rowIndex+1,s.level+1)}}function Xi(e,t){let n=I(),[r,i]=Un(()=>({accept:`NODE`,canDrop:()=>n.canDrop(),hover:(r,i)=>{let a=i.getClientOffset();if(!e.current||!a)return;let{cursor:o,drop:s}=Yi({element:e.current,offset:a,indent:n.indent,node:t,prevNode:t.prev,nextNode:t.next});s&&n.dispatch(H.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;Wr(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 Zi(e){let t=I(),n=t.at(e);if(!n)throw Error(`Could not find node for index: ${e}`);return(0,S.useMemo)(()=>{let r=n.clone();return t.visibleNodes[e]=r,r},[...Object.values(n.state),n])}var Qi=S.memo(function({index:e,style:t}){Er(),Sr();let n=I(),r=Zi(e),i=(0,S.useRef)(null),a=Ui(r),o=Xi(i,r),s=(0,S.useCallback)(e=>{i.current=e,o(e)},[o]),c=n.indent*r.level,l=(0,S.useMemo)(()=>({paddingLeft:c}),[c]),u=(0,S.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,S.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,C.jsx)(p,{node:r,innerRef:s,attrs:d,children:(0,C.jsx)(f,{node:r,tree:n,style:l,dragHandle:a})})}),$i=``,ea=null;function ta(){Er();let e=I();return(0,C.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(),Lr(t.currentTarget);return}if(t.key===`Tab`&&t.shiftKey){t.preventDefault(),Rr(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(ea),$i+=t.key,ea=setTimeout(()=>{$i=``},600);let n=e.visibleNodes.find(e=>{let t=e.data.name;return typeof t==`string`&&t.toLowerCase().startsWith($i)});n&&e.focus(n.id)},children:(0,C.jsx)(Ii,{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:zi,innerElementType:Hi,onScroll:e.props.onScroll,onItemsRendered:e.onItemsRendered.bind(e),ref:e.list,children:Qi})})}function na(e){return e.isFiltered?ia(e.root,e.isMatch.bind(e)):ra(e.root)}function ra(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(aa),t}function ia(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(aa),r}function aa(e,t){e.rowIndex=t}var oa=e=>e.reduce((e,t,n)=>(e[t.id]=n,e),{}),sa=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:G,identify:K,identifyNull:q}=Dr,ca=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=ci(this),this.visibleNodes=na(this),this.idToIndex=oa(this.visibleNodes)}update(e){this.props=e,this.root=ci(this),this.visibleNodes=na(this),this.idToIndex=oa(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 L(e,this.props.childrenAccessor||`children`)??null}accessId(e){let t=L(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=Hr(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 sa(this,arguments,void 0,function*(e={}){let t=e.parentId===void 0?qr(this):e.parentId,n=e.index??Kr(this),r=e.type??`leaf`,i=yield G(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 sa(this,void 0,void 0,function*(){if(!e)return;let t=(Array.isArray(e)?e:[e]).map(K),n=t.map(e=>this.get(e)).filter(e=>!!e);yield G(this.props.onDelete,{nodes:n,ids:t})})}edit(t){let n=K(t);return this.resolveEdit({cancelled:!0}),this.scrollTo(n),this.dispatch(ni(n)),new Promise(t=>{e.editPromise=t})}submit(e,t){return sa(this,void 0,void 0,function*(){if(!e)return;let n=K(e);yield G(this.props.onRename,{id:n,name:t,node:this.get(n)}),this.dispatch(ni(null)),this.resolveEdit({cancelled:!1,value:t}),setTimeout(()=>this.onFocus())})}reset(){this.dispatch(ni(null)),this.resolveEdit({cancelled:!0}),setTimeout(()=>this.onFocus())}activate(e){let t=this.get(q(e));t&&G(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(z(K(e))),t.scroll!==!1&&this.scrollTo(e),this.focusedNode&&G(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=K(e);n&&this.dispatch(z(r)),this.dispatch(V.only(r)),this.dispatch(V.anchor(r)),this.dispatch(V.mostRecent(r)),this.scrollTo(r,t.align),this.focusedNode&&n&&G(this.props.onFocus,this.focusedNode),G(this.props.onSelect,this.selectedNodes)}deselect(e){if(!e)return;let t=K(e);this.dispatch(V.remove(t)),G(this.props.onSelect,this.selectedNodes)}selectMulti(e){let t=this.get(q(e));t&&(this.dispatch(z(t.id)),this.dispatch(V.add(t.id)),this.dispatch(V.anchor(t.id)),this.dispatch(V.mostRecent(t.id)),this.scrollTo(t),this.focusedNode&&G(this.props.onFocus,this.focusedNode),G(this.props.onSelect,this.selectedNodes))}selectContiguous(e){if(!e)return;let t=K(e),{anchor:n,mostRecent:r}=this.state.nodes.selection;this.dispatch(z(t)),this.dispatch(V.remove(this.nodesBetween(n,r))),this.dispatch(V.add(this.nodesBetween(n,q(t)))),this.dispatch(V.mostRecent(t)),this.scrollTo(t),this.focusedNode&&G(this.props.onFocus,this.focusedNode),G(this.props.onSelect,this.selectedNodes)}deselectAll(){this.setSelection({ids:[],anchor:null,mostRecent:null}),G(this.props.onSelect,this.selectedNodes)}selectAll(){this.setSelection({ids:Object.keys(this.idToIndex),anchor:this.firstNode,mostRecent:this.lastNode}),this.dispatch(z(this.lastNode?.id)),this.focusedNode&&G(this.props.onFocus,this.focusedNode),G(this.props.onSelect,this.selectedNodes)}setSelection(e){let t=new Set(e.ids?.map(K)),n=q(e.anchor),r=q(e.mostRecent);this.dispatch(V.set({ids:t,anchor:n,mostRecent:r})),G(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&&Mr(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(H.cursor({type:`none`}))}showCursor(e){this.dispatch(H.cursor(e))}open(e){let t=q(e);t&&(this.isOpen(t)||(this.dispatch(li.open(t,this.isFiltered)),G(this.props.onToggle,t)))}close(e){let t=q(e);t&&this.isOpen(t)&&(this.dispatch(li.close(t,this.isFiltered)),G(this.props.onToggle,t))}toggle(e){let t=q(e);if(t)return this.isOpen(t)?this.close(t):this.open(t)}openParents(e){let t=q(e);if(!t)return;let n=Fr(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(){Ir(this.root,e=>{e.isInternal&&e.open()})}closeAll(){Ir(this.root,e=>{e.isInternal&&e.close()})}scrollTo(e,t=`smart`){if(!e)return;let n=K(e);return this.openParents(n),Gr(()=>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!L(e,this.props.disableEdit||(()=>!1))}isDraggable(e){return!L(e,this.props.disableDrag||(()=>!1))}isDragging(e){let t=q(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=q(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(z(e.id))}onBlur(){this.dispatch(ii())}onItemsRendered(e){this.visibleStartIndex=e.visibleStartIndex,this.visibleStopIndex=e.visibleStopIndex}get renderContainer(){return this.props.renderContainer||ta}get renderRow(){return this.props.renderRow||Qr}get renderNode(){return this.props.children||$r}get renderDragPreview(){return this.props.renderDragPreview||_i}get renderCursor(){return this.props.renderCursor||Zr}};function J(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 la=typeof Symbol==`function`&&Symbol.observable||`@@observable`,ua=()=>Math.random().toString(36).substring(7).split(``).join(`.`),da={INIT:`@@redux/INIT${ua()}`,REPLACE:`@@redux/REPLACE${ua()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${ua()}`};function fa(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 pa(e,t,n){if(typeof e!=`function`)throw Error(J(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(J(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(J(1));return n(pa)(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(J(3));return i}function d(e){if(typeof e!=`function`)throw Error(J(4));if(c)throw Error(J(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(J(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!fa(e))throw Error(J(7));if(e.type===void 0)throw Error(J(8));if(typeof e.type!=`string`)throw Error(J(17));if(c)throw Error(J(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(J(10));r=e,f({type:da.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(J(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[la](){return this}}}return f({type:da.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[la]:m}}function ma(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:da.INIT})===void 0)throw Error(J(12));if(n(void 0,{type:da.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(J(13))})}function ha(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{ma(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(J(14));o[s]=u,a||=u!==l}return a||=r.length!==Object.keys(e).length,a?o:e}}function ga(e=B().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 _a=ha({nodes:ha({focus:ai,edit:ri,open:di,selection:fi,drag:ga}),dnd:pi}),va=B();function ya({treeProps:e,imperativeHandle:t,children:n}){let r=(0,S.useRef)(null),i=(0,S.useRef)(null),a=(0,S.useRef)(pa(_a,B(e))),o=(0,ce.useSyncExternalStore)(a.current.subscribe,a.current.getState,()=>va),s=(0,S.useMemo)(()=>new ca(a.current,e,r,i),[]),c=(0,S.useRef)(0);return(0,S.useMemo)(()=>{c.current+=1,s.update(e)},[...Object.values(e),o.nodes.open]),(0,S.useImperativeHandle)(t,()=>s),(0,S.useEffect)(()=>{s.props.selection?s.select(s.props.selection,{focus:!1}):s.deselectAll()},[s.props.selection]),(0,S.useEffect)(()=>{s.props.searchTerm||a.current.dispatch(li.clear(!0))},[s.props.searchTerm]),(0,C.jsx)(br.Provider,{value:s,children:(0,C.jsx)(Tr.Provider,{value:c.current,children:(0,C.jsx)(xr.Provider,{value:o.nodes,children:(0,C.jsx)(Cr.Provider,{value:o.dnd,children:(0,C.jsx)(en,Object.assign({backend:yr,options:{rootElement:s.props.dndRootElement||void 0}},e.dndManager&&{manager:e.dndManager},{children:n}))})})})})}function ba(){let e=I(),[,t]=Un(()=>({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}=Yi({element:e.listEl.current,offset:r,indent:e.indent,node:null,prevNode:e.visibleNodes[e.visibleNodes.length-1],nextNode:null});a&&e.dispatch(H.hovering(a.parentId,a.index)),n.canDrop()?i&&e.showCursor(i):e.hideCursor()}}),[e]);t(e.listEl)}function xa(e){return ba(),e.children}function Sa(){let e=I().props.renderContainer||ta;return(0,C.jsx)(C.Fragment,{children:(0,C.jsx)(e,{})})}function Ca(){let e=I(),{offset:t,mouse:n,item:r,isDragging:i}=Fn(e=>({offset:e.getSourceClientOffset(),mouse:e.getClientOffset(),item:e.getItem(),isDragging:e.isDragging()})),a=e.props.renderDragPreview||_i;return(0,C.jsx)(a,{offset:t,mouse:n,id:r?.id||null,dragIds:r?.dragIds||[],isDragging:i})}var wa=class{constructor(e){this.root=Ta(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 Ta(e){let t=new Da({id:`ROOT`},null);return t.children=e.map(e=>Ea(e,t)),t}function Ea(e,t){let n=new Da(e,t);return e.children&&(n.children=e.children.map(e=>Ea(e,n))),n}var Da=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=Ea(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)}},Oa=0;function ka(e){let[t,n]=(0,S.useState)(e),r=(0,S.useMemo)(()=>new wa(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-${Oa++}`,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 Aa(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]=ka(e.initialData);return Object.assign(Object.assign(Object.assign({},e),n),{data:t})}return e}function ja(e,t){let n=Aa(e);return(0,C.jsxs)(ya,{treeProps:n,imperativeHandle:t,children:[(0,C.jsx)(xa,{children:(0,C.jsx)(Sa,{})}),(0,C.jsx)(Ca,{})]})}var Ma=(0,S.forwardRef)(ja),Y=a(),Na=5,Pa=/^[A-Za-z]:[/\\]/,Fa=/^\\\\/;function X(e){return e.success?e:(b({title:`Failed`,description:e.message}),null)}var Ia=class{delegate=new wa([]);callbacks;constructor(e){this.callbacks=e}roots=[];pendingExpansions=new Map;onChange=o.NOOP;path=new te(`/`);initialize=async e=>{if(this.onChange=e,this.delegate.data.length===0)try{let{roots:e}=await this.callbacks.getRoots(),t=e.find(e=>e.isPrimary);if(!t)throw Error(`File browser response is missing a primary root`);if(this.roots=e,this.path=te.guessDeliminator(t.path),this.delegate=new wa(e.map(za)),e.length===1){let e=await this.callbacks.listFiles({path:t.path});this.updateDirectory(this.getPrimaryRootId(),e.files)}}catch(e){b({title:`Failed`,description:ne(e)})}this.emitChange()};expand(e){return this.requestDirectory(e)}requestDirectory(e,t=!1){let n=this.pendingExpansions.get(e);if(n)return n;let r=this.delegate.find(e);if(!r?.data.isDirectory)return Promise.resolve(!1);if(!t&&r.data.loadState===`loaded`)return Promise.resolve(!0);let i=this.loadDirectory(e,r.data).finally(()=>{this.pendingExpansions.delete(e)});return this.pendingExpansions.set(e,i),i}async loadDirectory(e,t){this.delegate.update({id:e,changes:{loadState:`loading`}}),this.emitChange();try{let n=await this.callbacks.listFiles({path:t.path});return this.updateDirectory(e,n.files),!0}catch(n){return this.delegate.update({id:e,changes:{loadState:`error`}}),b({title:`Could not load ${t.name}`,description:ne(n)}),!1}finally{this.emitChange()}}getRoots(){return this.roots}async reveal(e){let t=Q(e.path,e.rootPath);if(t===null)return!1;let n=e.rootPath,r=t.split(Ua(e.rootPath)).filter(Boolean);e.isDirectory||r.pop();for(let t of[null,...r]){if(t!==null){let r=Z(e.rootPath,n);if(n=$(n,t),!this.delegate.find(Z(e.rootPath,n))&&!await this.requestDirectory(r,!0))return!1}let r=Z(e.rootPath,n);if(!this.delegate.find(r))return b({title:`Could not reveal folder`,description:`The folder may have moved or been deleted: ${n}`}),!1;if(!await this.expand(r))return!1}return!0}async copy(e,t){let n=this.getMutableNode(e);if(!n)return;let r=n.data.path,i=this.getParentPath(n.data),a=$(i,t);await this.callbacks.copyFileOrFolder({path:r,newPath:a}).then(X)&&await this.refreshPath(i)}async rename(e,t){let n=this.getMutableNode(e);if(!n)return;let r=n.data.path,i=this.getParentPath(n.data),a=$(i,t);await this.callbacks.renameFileOrFolder({path:r,newPath:a}).then(X)&&await this.refreshPath(i)}async move(e,t){let n=t??this.getPrimaryRootId(),r=this.delegate.find(n);if(!r?.data.isDirectory)return;let i=new Set;await oe(e,Na,async e=>{let t=this.getMutableNode(e,!1);if(!t)return;let n=t.data.path,a=this.getParentPath(t.data),o=$(r.data.path,this.path.basename(n));await this.callbacks.renameFileOrFolder({path:n,newPath:o}).then(X)&&(i.add(r.data.path),i.add(a))}),await this.refreshPaths([...i])}async createFile({name:e,parentId:t,type:n=`file`}){let r=this.getParentNode(t);r&&await this.callbacks.createFileOrFolder({path:r.data.path,type:n,name:e}).then(X)&&await this.refreshPath(r.data.path)}async createFolder(e,t){let n=this.getParentNode(t);n&&await this.callbacks.createFileOrFolder({path:n.data.path,type:`directory`,name:e}).then(X)&&await this.refreshPath(n.data.path)}async delete(e){let t=this.getMutableNode(e);if(!t)return;let n=this.getParentPath(t.data);await this.callbacks.deleteFileOrFolder({path:t.data.path}).then(X)&&await this.refreshPath(n)}refreshAll=async e=>{let t=[...this.roots.map(e=>e.path),...e.map(e=>this.delegate.find(e)?.data.path).filter(e=>!!e)];await this.refreshPaths(t,new Set([...this.roots.map(e=>Z(e.path,e.path)),...e]))};refreshPath=async e=>{await this.refreshPaths([e])};getPrimaryRelativePath=e=>{let t=this.getPrimaryRoot();return t?Q(e,t.path):null};getPrimaryRootPath=()=>this.getPrimaryRoot()?.path??``;getPrimaryRootId=()=>{let e=this.getPrimaryRoot()?.path??``;return Z(e,e)};isPrimaryNode=e=>e.isPrimaryRoot;getDisplayPath=e=>{let t=this.getRootForPath(e);if(!t)return e;let n=Q(e,t.path);return n?t.isPrimary?n:`${t.name}/${n}`:t.name};isRootPath=e=>this.roots.some(t=>Va(e,t.path));getPrimaryRoot(){return this.roots.find(e=>e.isPrimary)}getRootForNode(e){return this.roots.find(t=>Va(t.path,e.rootPath))??this.getPrimaryRoot()??{path:e.rootPath,name:e.rootPath,isPrimary:e.isPrimaryRoot}}getRootForPath(e){return this.roots.filter(t=>Q(e,t.path)!==null).toSorted((e,t)=>t.path.length-e.path.length)[0]}getParentNode(e){let t=e??this.getPrimaryRootId(),n=this.delegate.find(t);return n?.data.isDirectory?n:null}getParentPath(e){return(this.delegate.find(e.id)?.parent)?.data.path??e.rootPath}getMutableNode(e,t=!0){let n=this.delegate.find(e);return!n||n.data.isRoot?(t&&b({title:`Failed`,description:n?`File browser roots cannot be modified`:`Node with id ${e} not found in the tree`}),null):n}refreshPaths=async(e,t)=>{let n=[...new Set(e)].toSorted((e,t)=>e.length-t.length);if(n.length===0)return;let r=await oe(n,Na,e=>this.callbacks.listFiles({path:e}).catch(()=>null));for(let[e,i]of n.entries()){let n=r[e];if(n)for(let e of this.roots){let r=Z(e.path,i);(!t||t.has(r))&&this.updateDirectory(r,n.files,t)}}this.emitChange()};updateDirectory(e,t,n){let r=this.delegate.find(e)?.data;if(!r?.isDirectory)return;let i=La(Ba(t,this.getRootForNode(r)),r.children);this.delegate.update({id:e,changes:{children:n?Ra(i,n):i,loadState:`loaded`}})}emitChange(){let e=this.delegate.data;this.onChange(this.roots.length===1?[...e[0]?.children??[]]:e)}};function La(e,t){let n=new Map(t.map(e=>[e.id,e]));return e.map(e=>{let t=n.get(e.id);return!e.isDirectory||!t?.isDirectory?e:{...e,children:t.children,loadState:t.loadState}})}function Ra(e,t){return e.map(e=>e.isDirectory?t.has(e.id)?{...e,children:Ra(e.children,t)}:{...e,children:[],loadState:`unloaded`}:e)}function za(e){return{id:Z(e.path,e.path),path:e.path,name:e.name,isDirectory:!0,isMarimoFile:!1,children:[],isRoot:!0,rootPath:e.path,isPrimaryRoot:e.isPrimary,loadState:`unloaded`}}function Ba(e,t){return e.map(e=>({...e,id:Z(t.path,e.path),children:Ba(e.children??[],t),loadState:e.children?.length?`loaded`:`unloaded`,isRoot:!1,rootPath:t.path,isPrimaryRoot:t.isPrimary}))}function Z(e,t){return`${encodeURIComponent(e)}:${encodeURIComponent(t)}`}function Q(e,t){let n=Ha(t),r=e=>n?e.toLowerCase():e,i=r(e);if(i===r(t))return``;let a=Ua(t),o=t.endsWith(a)?t:`${t}${a}`,s=r(o);return i.startsWith(s)?e.slice(o.length):null}function Va(e,t){return Q(e,t)===``}function $(e,t){let n=Ua(e);return`${e}${e.endsWith(n)?``:n}${t}`}function Ha(e){return Pa.test(e)||Fa.test(e)}function Ua(e){return Fa.test(e)||/^[A-Za-z]:\\/.test(e)?`\\`:`/`}function Wa(e){let t=(0,Y.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}=x({path:e.path,name:t,root:n});return X(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}=x({path:e.path,name:ae(e.name),root:n});return X(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=>X(await a({path:ie(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 Ga={file:`Delete file`,folder:`Delete folder`,notebook:`Delete notebook`};function Ka(){let e=(0,Y.c)(2),{openConfirm:t}=ee(),n;return e[0]===t?n=e[1]:(n=(e,n)=>{let r=e.kind??`file`;t({title:Ga[r],description:`Are you sure you want to delete ${e.name}?`,confirmAction:(0,C.jsx)(c,{onClick:async()=>{await n()},"aria-label":`Confirm`,children:`Delete`})})},e[0]=t,e[1]=n),n}function qa(e){let t=(0,Y.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}=Wa(o),l=Ka(),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 Ja=e=>{let t=(0,Y.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,C.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,C.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-[240px]`,_;t[9]!==s||t[10]!==h?(_=(0,C.jsx)(f,{align:`end`,className:h,onClick:Qa,onCloseAutoFocus:$a,children:s}),t[9]=s,t[10]=h,t[11]=_):_=t[11];let v;return t[12]!==m||t[13]!==_?(v=(0,C.jsxs)(p,{modal:!1,children:[m,_]}),t[12]=m,t[13]=_,t[14]=v):v=t[14],v},Ya=e=>{let t=(0,Y.c)(6),{onSelect:n,disabled:r,title:i,testId:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,C.jsx)(se,{className:_}),t[0]=o):o=t[0];let s;return t[1]!==r||t[2]!==n||t[3]!==a||t[4]!==i?(s=(0,C.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},Xa=e=>{let t=(0,Y.c)(6),{onSelect:n,disabled:r,title:i,testId:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,C.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,C.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},Za=e=>{let t=(0,Y.c)(6),{onSelect:n,disabled:r,title:i,testId:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,C.jsx)(y,{className:_}),t[0]=o):o=t[0];let s;return t[1]!==r||t[2]!==n||t[3]!==a||t[4]!==i?(s=(0,C.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 Qa(e){return e.stopPropagation()}function $a(e){return e.preventDefault()}var eo=e=>{let t=(0,Y.c)(10),{node:n}=e,r=(0,S.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,S.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,C.jsx)(`input`,{ref:r,className:`flex-1 bg-transparent border border-border text-muted-foreground`,defaultValue:n.data.name,onClick:to,onBlur:o,onKeyDown:s}),t[6]=n.data.name,t[7]=o,t[8]=s,t[9]=c):c=t[9],c};function to(e){return e.stopPropagation()}export{Ya as a,Ia as c,yr as d,Un as f,Ja as i,Z as l,en as m,Za as n,Wa as o,F as p,Xa as r,qa as s,eo as t,Ma 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,mt as i}from"./cells-Cp-G34Rz.js";import{t as a}from"./compiler-runtime-CYIjoINj.js";import{g as o}from"./useEventListener-92uWqz-P.js";import{E as s}from"./config-BlNM0caL.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
+ 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,ht as i}from"./cells-BBhW3FXj.js";import{t as a}from"./compiler-runtime-CYIjoINj.js";import{g as o}from"./useEventListener-92uWqz-P.js";import{E as s}from"./config-BlNM0caL.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{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-Cp-G34Rz.js";import{t as m}from"./compiler-runtime-CYIjoINj.js";import{_ as h}from"./useEventListener-92uWqz-P.js";import{t as g}from"./objects-snlMn4yk.js";import{n as _}from"./constants-BDbGiS7O.js";import{P as v}from"./config-BlNM0caL.js";import{t as y}from"./ErrorBoundary-CDVGFYfr.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-CA-2mBs3.js";import{d as C}from"./select-nLt2y0Sw.js";import{a as w,c as T,p as E,r as D,t as O}from"./dropdown-menu-C40jM9o4.js";import{t as k}from"./tooltip-BUtPzKB4.js";import{t as A}from"./button-Dh8EwhsF.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-CG5g7aUQ.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-DdGYuADJ.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-D6zoZgLY.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,n as se,o as ce,r as le,s as ue,t as de,u as fe}from"./file-name-input-K4MKESI_.js";import{n as pe,r as me,t as he}from"./app-config-button-DUJC6b6x.js";import{Wt as ge,r as _e}from"./input-DEbY281O.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-Sz5nSFku.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-B58T85Jq.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-Dw5YY9wq.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-DLvOXyO_.js";import{t as Me}from"./useInterval-B4v7_zd0.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`,"aria-label":`${e.title}: ${e.description}`,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}=ce(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)(fe,{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)(de,{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}=ue(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)(le,{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)(se,{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{$i as a,Gi as o,ai as s,da as c,qn as l,ra as u,ta as d,ua as f,wo as p}from"./cells-BBhW3FXj.js";import{t as m}from"./compiler-runtime-CYIjoINj.js";import{_ as h}from"./useEventListener-92uWqz-P.js";import{t as g}from"./objects-snlMn4yk.js";import{n as _}from"./constants-BDbGiS7O.js";import{P as v}from"./config-BlNM0caL.js";import{t as y}from"./ErrorBoundary-CDVGFYfr.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-CA-2mBs3.js";import{d as C}from"./select-nLt2y0Sw.js";import{a as w,c as T,p as E,r as D,t as O}from"./dropdown-menu-C40jM9o4.js";import{t as k}from"./tooltip-BUtPzKB4.js";import{t as A}from"./button-Dh8EwhsF.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-mfuAcK1x.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-BhotQqrU.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-D6zoZgLY.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,n as se,o as ce,r as le,s as ue,t as de,u as fe}from"./file-name-input-CH-hNP6F.js";import{n as pe,r as me,t as he}from"./app-config-button-W8Pytgb5.js";import{Wt as ge,r as _e}from"./input-DEbY281O.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-Sz5nSFku.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-B58T85Jq.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-Dw5YY9wq.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-DLvOXyO_.js";import{t as Me}from"./useInterval-B4v7_zd0.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`,c,`Learn how cells interact with each other`],ui:[`UI Elements`,Le,`Create interactive UI components`],markdown:[`Markdown`,a,`Format text with parameterized markdown`],plots:[`Plots`,N,`Create interactive visualizations`],sql:[`SQL`,d,`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:a,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`,"aria-label":`${e.title}: ${e.description}`,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,s,{getOnInit:!0}),We=p(`marimo:home:expanded-folders`,{},s,{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:a}=j(),[s,c]=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]===c?M=r[25]:(M=e=>c(!!e),r[24]=c,r[25]=M);let N;r[26]!==s||r[27]!==M?(N=(0,X.jsx)(l,{"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)(o,{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}=ce(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)(fe,{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)(de,{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}=ue(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)(le,{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)(se,{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};