@marimo-team/frontend 0.23.9-dev3 → 0.23.9-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 (108) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-D-boDGAP.js → ConnectedDataExplorerComponent-B-cElX-s.js} +1 -1
  2. package/dist/assets/{ImperativeModal-DEC1mXgV.js → ImperativeModal-BeQmePpG.js} +1 -1
  3. package/dist/assets/JsonOutput-BbkJ4c02.js +53 -0
  4. package/dist/assets/{MarimoErrorOutput-XWqnhvJ6.js → MarimoErrorOutput-ciRhjJM2.js} +1 -1
  5. package/dist/assets/{RSPContexts-Bk1r00gJ.js → RSPContexts-Clr6RnG2.js} +1 -1
  6. package/dist/assets/{RunButton-Dbak5hfa.js → RunButton-DySeQPd2.js} +1 -1
  7. package/dist/assets/{add-cell-with-ai-BbZkMqv2.js → add-cell-with-ai-DKUeTe86.js} +1 -1
  8. package/dist/assets/{add-connection-dialog-CzxRpS5F.js → add-connection-dialog-DwDtRq10.js} +1 -1
  9. package/dist/assets/{agent-panel-zPhlhkYL.js → agent-panel-C8Oqvdr5.js} +1 -1
  10. package/dist/assets/{ai-model-dropdown-CjhUqXgj.js → ai-model-dropdown-Cv4r0gqY.js} +1 -1
  11. package/dist/assets/{app-config-button-CCs8Jepz.js → app-config-button-rS9K4BOr.js} +1 -1
  12. package/dist/assets/{cache-panel-VL13fWgF.js → cache-panel-BSlEbX4w.js} +1 -1
  13. package/dist/assets/{cell-editor-ODyJXDT8.js → cell-editor-DnLtTvEM.js} +3 -3
  14. package/dist/assets/{cell-link-PQYiMZw1.js → cell-link-f3ZU0MzW.js} +1 -1
  15. package/dist/assets/{chat-display-DetTBnqK.js → chat-display-B7QE6C2q.js} +1 -1
  16. package/dist/assets/{chat-panel-CEgw_vg0.js → chat-panel-D11B2Q4F.js} +1 -1
  17. package/dist/assets/{chat-ui-D-Y7p_cT.js → chat-ui-BwVhfsq2.js} +1 -1
  18. package/dist/assets/{chunk-5FQGJX7Z-BSzccEgu.js → chunk-5FQGJX7Z-CbuGydc8.js} +3 -3
  19. package/dist/assets/{code-block-37QAKDTI-U2R1jyOo.js → code-block-37QAKDTI-BwYRrSJW.js} +1 -1
  20. package/dist/assets/{column-preview-BLIWbdOX.js → column-preview-8cXBINr1.js} +1 -1
  21. package/dist/assets/command-DUeag2QH.js +1 -0
  22. package/dist/assets/{command-palette-CeDe63_W.js → command-palette-BlX5QV4R.js} +1 -1
  23. package/dist/assets/{common-BaBE_ygg.js → common-DAjN54-N.js} +1 -1
  24. package/dist/assets/dates-DS_7IZoI.js +1 -0
  25. package/dist/assets/{dependency-graph-panel-ClI5byUa.js → dependency-graph-panel-C7UdKk5P.js} +1 -1
  26. package/dist/assets/{dist-CW3rweKM.js → dist-DFHp_ZJR.js} +1 -1
  27. package/dist/assets/{download-B1QFVDP-.js → download-eMMt69Hd.js} +1 -1
  28. package/dist/assets/{edit-page-ZFpn8-WM.js → edit-page-DoGaZtlD.js} +6 -6
  29. package/dist/assets/{error-panel-iXznkJZ1.js → error-panel-CkKXrRna.js} +1 -1
  30. package/dist/assets/{field-DNlzfMKW.js → field-B4CdIHa9.js} +1 -1
  31. package/dist/assets/{file-explorer-panel-BVBKF1SH.js → file-explorer-panel-BA0aI_q7.js} +3 -3
  32. package/dist/assets/{file-name-input-g2H2sY2h.js → file-name-input-BpDnZMOs.js} +1 -1
  33. package/dist/assets/{form-BjUJP6PJ.js → form-z4S7B_rP.js} +1 -1
  34. package/dist/assets/{gallery-page-MrZHjySE.js → gallery-page-BXZHpNqZ.js} +1 -1
  35. package/dist/assets/{glide-data-editor-4Wql6uq7.js → glide-data-editor-C5d_9QYv.js} +1 -1
  36. package/dist/assets/{home-page-De1W6q6f.js → home-page-Cv2KTtQj.js} +1 -1
  37. package/dist/assets/{hooks-jWLD3t7P.js → hooks-DeuLZEyD.js} +1 -1
  38. package/dist/assets/{index-ZA7t2ThT.js → index-B5z1LmJ1.js} +19 -19
  39. package/dist/assets/index-Cn0RBoFD.css +2 -0
  40. package/dist/assets/{input-CVE-gIjt.js → input-TSilD7AA.js} +1 -1
  41. package/dist/assets/{layout-DEU6lX-9.js → layout-Dpf6l72t.js} +3 -3
  42. package/dist/assets/{logs-panel-BMAfoMJg.js → logs-panel-D6VqVLlw.js} +1 -1
  43. package/dist/assets/{markdown-renderer-BQ-BQLiJ.js → markdown-renderer-l3qZKrTC.js} +3 -3
  44. package/dist/assets/mermaid-4DMBBIKO-BlSTFoRU.js +1 -0
  45. package/dist/assets/{mermaid-CZhfODkT.js → mermaid-BpEU2haB.js} +1 -1
  46. package/dist/assets/{name-cell-input-bwfAyC0i.js → name-cell-input-BmJb1jcI.js} +1 -1
  47. package/dist/assets/{packages-panel-B3dRYuRM.js → packages-panel-BQJiodre.js} +1 -1
  48. package/dist/assets/{panels-DWhhEgv4.js → panels-EIGgrBT7.js} +1 -1
  49. package/dist/assets/{radio-group-rsi1ibXY.js → radio-group-BE0Xe9G9.js} +1 -1
  50. package/dist/assets/{readonly-python-code-BKYj8PNf.js → readonly-python-code-D3NHaVFs.js} +1 -1
  51. package/dist/assets/{reveal-component-DNpBzX6F.js → reveal-component-Cy-Nz7JR.js} +1 -1
  52. package/dist/assets/{run-page-CO2X6wso.js → run-page-IrSzOAx3.js} +1 -1
  53. package/dist/assets/{scratchpad-panel-CWfddArs.js → scratchpad-panel-DVSB-2ZU.js} +1 -1
  54. package/dist/assets/{secrets-panel-DqHGq3V8.js → secrets-panel-EMyfZ0xi.js} +1 -1
  55. package/dist/assets/{session-panel-BP0QxaoM.js → session-panel-BSP3VdpL.js} +1 -1
  56. package/dist/assets/{snippets-panel-DFJd1ui5.js → snippets-panel-WZ7ZOs2t.js} +1 -1
  57. package/dist/assets/{state-dx303w7J.js → state-CcAGAozT.js} +1 -1
  58. package/dist/assets/{state-BXNNuw9g.js → state-KI8ENp1g.js} +1 -1
  59. package/dist/assets/{tracing-BQU8fBDM.js → tracing-CXaM8i7_.js} +1 -1
  60. package/dist/assets/{tracing-panel-DEVpyGX3.js → tracing-panel-DcR9ni3B.js} +2 -2
  61. package/dist/assets/{useCellActionButton-QaDO24oW.js → useCellActionButton-p6Ij9yyu.js} +1 -1
  62. package/dist/assets/{useDependencyPanelTab-BB_XeSAg.js → useDependencyPanelTab-KDzMTAUI.js} +1 -1
  63. package/dist/assets/{useNotebookActions-CJEicFed.js → useNotebookActions-COhd0Ld9.js} +1 -1
  64. package/dist/assets/{vega-component-C9fDGx86.js → vega-component-BGC-ewWV.js} +1 -1
  65. package/dist/assets/{write-secret-modal-Liv_9MXS.js → write-secret-modal-DcmyNRRr.js} +1 -1
  66. package/dist/index.html +27 -27
  67. package/package.json +1 -1
  68. package/src/components/data-table/__tests__/column-header.test.tsx +110 -277
  69. package/src/components/data-table/__tests__/date-filter-inputs.test.tsx +33 -0
  70. package/src/components/data-table/__tests__/filter-pill-editor.test.tsx +75 -38
  71. package/src/components/data-table/__tests__/filter-pills.test.tsx +287 -0
  72. package/src/components/data-table/__tests__/filter-test-utils.ts +47 -0
  73. package/src/components/data-table/__tests__/filters.test.ts +5 -5
  74. package/src/components/data-table/add-filter-button.tsx +85 -0
  75. package/src/components/data-table/column-header.tsx +92 -691
  76. package/src/components/data-table/context-menu.tsx +26 -12
  77. package/src/components/data-table/data-table.tsx +89 -57
  78. package/src/components/data-table/date-filter-inputs.tsx +13 -10
  79. package/src/components/data-table/filter-by-values-picker.tsx +13 -19
  80. package/src/components/data-table/filter-editor-context.tsx +34 -0
  81. package/src/components/data-table/filter-pill-editor.tsx +152 -175
  82. package/src/components/data-table/filter-pills.tsx +190 -153
  83. package/src/components/data-table/filters/builders.ts +102 -0
  84. package/src/components/data-table/filters/defaults.ts +31 -0
  85. package/src/components/data-table/filters/format.ts +131 -0
  86. package/src/components/data-table/filters/guards.ts +51 -0
  87. package/src/components/data-table/filters/index.ts +7 -0
  88. package/src/components/data-table/filters/operators.ts +76 -0
  89. package/src/components/data-table/filters/serialize.ts +186 -0
  90. package/src/components/data-table/filters/types.ts +33 -0
  91. package/src/components/data-table/header-items.tsx +6 -83
  92. package/src/components/data-table/value-chips.tsx +52 -0
  93. package/src/components/ui/number-field.tsx +13 -1
  94. package/src/utils/dates.ts +39 -0
  95. package/dist/assets/JsonOutput-05-R3eil.js +0 -53
  96. package/dist/assets/command-2NPJCYDa.js +0 -1
  97. package/dist/assets/dates-DI1TvEEK.js +0 -1
  98. package/dist/assets/index-B30qjBZM.css +0 -2
  99. package/dist/assets/mermaid-4DMBBIKO-C0OyyVdo.js +0 -1
  100. package/src/components/data-table/__tests__/column-header.test.ts +0 -65
  101. package/src/components/data-table/filters.ts +0 -386
  102. /package/dist/assets/{focus-BaOnnMs-.js → focus-BLb-92ed.js} +0 -0
  103. /package/dist/assets/{formats-BRq458WH.js → formats-DP_z0P-n.js} +0 -0
  104. /package/dist/assets/{html-to-image-D6SgvARi.js → html-to-image-Ctd6Wpty.js} +0 -0
  105. /package/dist/assets/{micromark-factory-space-BUQpMdx2.js → micromark-factory-space-bqhKsQDn.js} +0 -0
  106. /package/dist/assets/{react-resizable-panels.browser.esm-Ce2ksurd.js → react-resizable-panels.browser.esm-BdtIs0E-.js} +0 -0
  107. /package/dist/assets/{table-DQE9hQzM.js → table-Bgc-inJs.js} +0 -0
  108. /package/dist/assets/{useAsyncData-C5i0IRVM.js → useAsyncData-Dg8E_bPh.js} +0 -0
@@ -1,3 +1,3 @@
1
- var jr=Object.defineProperty;var _r=(e,t,r)=>t in e?jr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var k=(e,t,r)=>_r(e,typeof t!="symbol"?t+"":t,r);import{r as et,s as ve,t as Mr}from"./chunk-LvLJmgfZ.js";import{n as ye}from"./useEvent-D91BmmQi.js";import{t as Ar}from"./react-Bj1aDYRI.js";import{t as tt}from"./compiler-runtime-B3qBwwSJ.js";import{v as kr}from"./useEventListener-DvoEXWke.js";import{t as Lr}from"./jsx-runtime-BqBOg78p.js";import{o as Fr}from"./alert-dialog-BqFLkbUc.js";import{d as Hr}from"./popover-Bz_0Vkyf.js";import{a as Oe,p as Ur,r as Br,t as zr}from"./dropdown-menu-CR7cnzLX.js";import{r as Wr}from"./requests-DIwGYs0l.js";import{t as Gr}from"./createLucideIcon-D5guW7EU.js";import{t as Vr}from"./copy-BwrPA9zQ.js";import{t as Kr}from"./trash-2-BJLYnZpG.js";import{t as q}from"./use-toast-ERM44-k9.js";import{t as rt}from"./paths-SFhaqGlE.js";import{n as $r}from"./ImperativeModal-DEC1mXgV.js";import{r as Yr}from"./errors-iwK4b4VF.js";import{t as qr}from"./extends-Dqvpuc10.js";import{n as Xr,t as Ie}from"./tree-actions-DY8FUp3V.js";import{i as Jr,n as Qr,r as te}from"./pathUtils-vgBYIo5B.js";import{n as nt}from"./semaphore-X3ApuO41.js";var Zr=Gr("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"}]]);function be(e,t){return be=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},be(e,t)}function en(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,be(e,t)}function it(e){if(e===void 0)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var tn=Mr(((e,t)=>{t.exports=function r(n,i){if(n===i)return!0;if(n&&i&&typeof n=="object"&&typeof i=="object"){if(n.constructor!==i.constructor)return!1;var s,o,a;if(Array.isArray(n)){if(s=n.length,s!=i.length)return!1;for(o=s;o--!==0;)if(!r(n[o],i[o]))return!1;return!0}if(n.constructor===RegExp)return n.source===i.source&&n.flags===i.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===i.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===i.toString();if(a=Object.keys(n),s=a.length,s!==Object.keys(i).length)return!1;for(o=s;o--!==0;)if(!Object.prototype.hasOwnProperty.call(i,a[o]))return!1;for(o=s;o--!==0;){var d=a[o];if(!r(n[d],i[d]))return!1}return!0}return n!==n&&i!==i}})),p=ve(Ar(),1);const st=(0,p.createContext)({dragDropManager:void 0});function R(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 ot=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})(),Se=function(){return Math.random().toString(36).substring(7).split("").join(".")},at={INIT:"@@redux/INIT"+Se(),REPLACE:"@@redux/REPLACE"+Se(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Se()}};function rn(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 lt(e,t,r){var n;if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw Error(R(0));if(typeof t=="function"&&r===void 0&&(r=t,t=void 0),r!==void 0){if(typeof r!="function")throw Error(R(1));return r(lt)(e,t)}if(typeof e!="function")throw Error(R(2));var i=e,s=t,o=[],a=o,d=!1;function c(){a===o&&(a=o.slice())}function f(){if(d)throw Error(R(3));return s}function O(l){if(typeof l!="function")throw Error(R(4));if(d)throw Error(R(5));var g=!0;return c(),a.push(l),function(){if(g){if(d)throw Error(R(6));g=!1,c();var m=a.indexOf(l);a.splice(m,1),o=null}}}function y(l){if(!rn(l))throw Error(R(7));if(l.type===void 0)throw Error(R(8));if(d)throw Error(R(9));try{d=!0,s=i(s,l)}finally{d=!1}for(var g=o=a,m=0;m<g.length;m++){var b=g[m];b()}return l}function h(l){if(typeof l!="function")throw Error(R(10));i=l,y({type:at.REPLACE})}function u(){var l,g=O;return l={subscribe:function(m){if(typeof m!="object"||!m)throw Error(R(11));function b(){m.next&&m.next(f())}return b(),{unsubscribe:g(b)}}},l[ot]=function(){return this},l}return y({type:at.INIT}),n={dispatch:y,subscribe:O,getState:f,replaceReducer:h},n[ot]=u,n}function I(e,t,...r){if(nn()&&t===void 0)throw Error("invariant requires an error message argument");if(!e){let n;if(t===void 0)n=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{let i=0;n=Error(t.replace(/%s/g,function(){return r[i++]})),n.name="Invariant Violation"}throw n.framesToPop=1,n}}function nn(){return typeof process<"u"&&!0}function sn(e,t,r){return t.split(".").reduce((n,i)=>n&&n[i]?n[i]:r||null,e)}function on(e,t){return e.filter(r=>r!==t)}function dt(e){return typeof e=="object"}function an(e,t){let r=new Map,n=s=>{r.set(s,r.has(s)?r.get(s)+1:1)};e.forEach(n),t.forEach(n);let i=[];return r.forEach((s,o)=>{s===1&&i.push(o)}),i}function ln(e,t){return e.filter(r=>t.indexOf(r)>-1)}const De="dnd-core/INIT_COORDS",re="dnd-core/BEGIN_DRAG",we="dnd-core/PUBLISH_DRAG_SOURCE",ne="dnd-core/HOVER",ie="dnd-core/DROP",se="dnd-core/END_DRAG";function ct(e,t){return{type:De,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}var dn={type:De,payload:{clientOffset:null,sourceClientOffset:null}};function cn(e){return function(t=[],r={publishSource:!0}){let{publishSource:n=!0,clientOffset:i,getSourceClientOffset:s}=r,o=e.getMonitor(),a=e.getRegistry();e.dispatch(ct(i)),un(t,o,a);let d=gn(t,o);if(d==null){e.dispatch(dn);return}let c=null;if(i){if(!s)throw Error("getSourceClientOffset must be defined");hn(s),c=s(d)}e.dispatch(ct(i,c));let f=a.getSource(d).beginDrag(o,d);if(f!=null)return fn(f),a.pinSource(d),{type:re,payload:{itemType:a.getSourceType(d),item:f,sourceId:d,clientOffset:i||null,sourceClientOffset:c||null,isSourcePublic:!!n}}}}function un(e,t,r){I(!t.isDragging(),"Cannot call beginDrag while dragging."),e.forEach(function(n){I(r.getSource(n),"Expected sourceIds to be registered.")})}function hn(e){I(typeof e=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function fn(e){I(dt(e),"Item must be an object.")}function gn(e,t){let r=null;for(let n=e.length-1;n>=0;n--)if(t.canDragSource(e[n])){r=e[n];break}return r}function pn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function mn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t],n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),n.forEach(function(i){pn(e,i,r[i])})}return e}function vn(e){return function(t={}){let r=e.getMonitor(),n=e.getRegistry();yn(r),bn(r).forEach((i,s)=>{let o={type:ie,payload:{dropResult:mn({},t,On(i,s,n,r))}};e.dispatch(o)})}}function yn(e){I(e.isDragging(),"Cannot call drop while not dragging."),I(!e.didDrop(),"Cannot call drop twice during one drag operation.")}function On(e,t,r,n){let i=r.getTarget(e),s=i?i.drop(n,e):void 0;return In(s),s===void 0&&(s=t===0?{}:n.getDropResult()),s}function In(e){I(e===void 0||dt(e),"Drop result must either be an object or undefined.")}function bn(e){let t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function Sn(e){return function(){let t=e.getMonitor(),r=e.getRegistry();Dn(t);let n=t.getSourceId();return n!=null&&(r.getSource(n,!0).endDrag(t,n),r.unpinSource()),{type:se}}}function Dn(e){I(e.isDragging(),"Cannot call endDrag while not dragging.")}function Te(e,t){return t===null?e===null:Array.isArray(e)?e.some(r=>r===t):e===t}function wn(e){return function(t,{clientOffset:r}={}){Tn(t);let n=t.slice(0),i=e.getMonitor(),s=e.getRegistry();return xn(n,s,i.getItemType()),En(n,i,s),Cn(n,i,s),{type:ne,payload:{targetIds:n,clientOffset:r||null}}}}function Tn(e){I(Array.isArray(e),"Expected targetIds to be an array.")}function En(e,t,r){I(t.isDragging(),"Cannot call hover while not dragging."),I(!t.didDrop(),"Cannot call hover after drop.");for(let n=0;n<e.length;n++){let i=e[n];I(e.lastIndexOf(i)===n,"Expected targetIds to be unique in the passed array."),I(r.getTarget(i),"Expected targetIds to be registered.")}}function xn(e,t,r){for(let n=e.length-1;n>=0;n--){let i=e[n];Te(t.getTargetType(i),r)||e.splice(n,1)}}function Cn(e,t,r){e.forEach(function(n){r.getTarget(n).hover(t,n)})}function Nn(e){return function(){if(e.getMonitor().isDragging())return{type:we}}}function Rn(e){return{beginDrag:cn(e),publishDragSource:Nn(e),hover:wn(e),drop:vn(e),endDrag:Sn(e)}}var Pn=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 r(i){return(...s)=>{let o=i.apply(e,s);o!==void 0&&t(o)}}let n=Rn(this);return Object.keys(n).reduce((i,s)=>{let o=n[s];return i[s]=r(o),i},{})}dispatch(e){this.store.dispatch(e)}constructor(e,t){this.isSetUp=!1,this.handleRefCountChange=()=>{let r=this.store.getState().refCount>0;this.backend&&(r&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!r&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=t,e.subscribe(this.handleRefCountChange)}};function jn(e,t){return{x:e.x+t.x,y:e.y+t.y}}function ut(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _n(e){let{clientOffset:t,initialClientOffset:r,initialSourceClientOffset:n}=e;return!t||!r||!n?null:ut(jn(t,n),r)}function Mn(e){let{clientOffset:t,initialClientOffset:r}=e;return!t||!r?null:ut(t,r)}const X=[],Ee=[];X.__IS_NONE__=!0,Ee.__IS_ALL__=!0;function An(e,t){return e===X?!1:e===Ee||t===void 0?!0:ln(t,e).length>0}var kn=class{subscribeToStateChange(e,t={}){let{handlerIds:r}=t;I(typeof e=="function","listener must be a function."),I(r===void 0||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");let n=this.store.getState().stateId;return this.store.subscribe(()=>{let i=this.store.getState(),s=i.stateId;try{s===n||s===n+1&&!An(i.dirtyHandlerIds,r)||e()}finally{n=s}})}subscribeToOffsetChange(e){I(typeof e=="function","listener must be a function.");let t=this.store.getState().dragOffset;return this.store.subscribe(()=>{let r=this.store.getState().dragOffset;r!==t&&(t=r,e())})}canDragSource(e){if(!e)return!1;let t=this.registry.getSource(e);return I(t,`Expected to find a valid source. sourceId=${e}`),this.isDragging()?!1:t.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;let t=this.registry.getTarget(e);return I(t,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop()?!1:Te(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 I(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:r}=t;if(!this.isDragging())return!1;let n=this.registry.getTargetType(e),i=this.getItemType();if(i&&!Te(n,i))return!1;let s=this.getTargetIds();if(!s.length)return!1;let o=s.indexOf(e);return r?o===s.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 _n(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return Mn(this.store.getState().dragOffset)}constructor(e,t){this.store=e,this.registry=t}},ht=typeof global<"u"?global:self,ft=ht.MutationObserver||ht.WebKitMutationObserver;function gt(e){return function(){let t=setTimeout(n,0),r=setInterval(n,50);function n(){clearTimeout(t),clearInterval(r),e()}}}function Ln(e){let t=1,r=new ft(e),n=document.createTextNode("");return r.observe(n,{characterData:!0}),function(){t=-t,n.data=t}}const Fn=typeof ft=="function"?Ln:gt;var Hn=class{enqueueTask(e){let{queue:t,requestFlush:r}=this;t.length||(r(),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 r=0,n=e.length-this.index;r<n;r++)e[r]=e[r+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=Fn(this.flush),this.requestErrorThrow=gt(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}},Un=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}},Bn=class{create(e){let t=this.freeTasks,r=t.length?t.pop():new Un(this.onError,n=>t[t.length]=n);return r.task=e,r}constructor(e){this.onError=e,this.freeTasks=[]}},pt=new Hn,zn=new Bn(pt.registerPendingError);function Wn(e){pt.enqueueTask(zn.create(e))}const xe="dnd-core/ADD_SOURCE",Ce="dnd-core/ADD_TARGET",Ne="dnd-core/REMOVE_SOURCE",oe="dnd-core/REMOVE_TARGET";function Gn(e){return{type:xe,payload:{sourceId:e}}}function Vn(e){return{type:Ce,payload:{targetId:e}}}function Kn(e){return{type:Ne,payload:{sourceId:e}}}function $n(e){return{type:oe,payload:{targetId:e}}}function Yn(e){I(typeof e.canDrag=="function","Expected canDrag to be a function."),I(typeof e.beginDrag=="function","Expected beginDrag to be a function."),I(typeof e.endDrag=="function","Expected endDrag to be a function.")}function qn(e){I(typeof e.canDrop=="function","Expected canDrop to be a function."),I(typeof e.hover=="function","Expected hover to be a function."),I(typeof e.drop=="function","Expected beginDrag to be a function.")}function Re(e,t){if(t&&Array.isArray(e)){e.forEach(r=>Re(r,!1));return}I(typeof e=="string"||typeof e=="symbol",t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var P;(function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"})(P||(P={}));var Xn=0;function Jn(){return Xn++}function Qn(e){let t=Jn().toString();switch(e){case P.SOURCE:return`S${t}`;case P.TARGET:return`T${t}`;default:throw Error(`Unknown Handler Role: ${e}`)}}function mt(e){switch(e[0]){case"S":return P.SOURCE;case"T":return P.TARGET;default:throw Error(`Cannot parse handler ID: ${e}`)}}function vt(e,t){let r=e.entries(),n=!1;do{let{done:i,value:[,s]}=r.next();if(s===t)return!0;n=!!i}while(!n);return!1}var Zn=class{addSource(e,t){Re(e),Yn(t);let r=this.addHandler(P.SOURCE,e,t);return this.store.dispatch(Gn(r)),r}addTarget(e,t){Re(e,!0),qn(t);let r=this.addHandler(P.TARGET,e,t);return this.store.dispatch(Vn(r)),r}containsHandler(e){return vt(this.dragSources,e)||vt(this.dropTargets,e)}getSource(e,t=!1){return I(this.isSourceId(e),"Expected a valid source ID."),t&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return I(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}getSourceType(e){return I(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}getTargetType(e){return I(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}isSourceId(e){return mt(e)===P.SOURCE}isTargetId(e){return mt(e)===P.TARGET}removeSource(e){I(this.getSource(e),"Expected an existing source."),this.store.dispatch(Kn(e)),Wn(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){I(this.getTarget(e),"Expected an existing target."),this.store.dispatch($n(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){let t=this.getSource(e);I(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}unpinSource(){I(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,t,r){let n=Qn(e);return this.types.set(n,t),e===P.SOURCE?this.dragSources.set(n,r):e===P.TARGET&&this.dropTargets.set(n,r),n}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}};const ei=(e,t)=>e===t;function ti(e,t){return!e&&!t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y}function ri(e,t,r=ei){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(!r(e[n],t[n]))return!1;return!0}function ni(e=X,t){switch(t.type){case ne:break;case xe:case Ce:case oe:case Ne:return X;case re:case we:case se:case ie:default:return Ee}let{targetIds:r=[],prevTargetIds:n=[]}=t.payload,i=an(r,n);if(!(i.length>0||!ri(r,n)))return X;let s=n[n.length-1],o=r[r.length-1];return s!==o&&(s&&i.push(s),o&&i.push(o)),i}function ii(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function si(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t],n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),n.forEach(function(i){ii(e,i,r[i])})}return e}var yt={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function oi(e=yt,t){let{payload:r}=t;switch(t.type){case De:case re:return{initialSourceClientOffset:r.sourceClientOffset,initialClientOffset:r.clientOffset,clientOffset:r.clientOffset};case ne:return ti(e.clientOffset,r.clientOffset)?e:si({},e,{clientOffset:r.clientOffset});case se:case ie:return yt;default:return e}}function ai(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function W(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t],n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),n.forEach(function(i){ai(e,i,r[i])})}return e}var li={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function di(e=li,t){let{payload:r}=t;switch(t.type){case re:return W({},e,{itemType:r.itemType,item:r.item,sourceId:r.sourceId,isSourcePublic:r.isSourcePublic,dropResult:null,didDrop:!1});case we:return W({},e,{isSourcePublic:!0});case ne:return W({},e,{targetIds:r.targetIds});case oe:return e.targetIds.indexOf(r.targetId)===-1?e:W({},e,{targetIds:on(e.targetIds,r.targetId)});case ie:return W({},e,{dropResult:r.dropResult,didDrop:!0,targetIds:[]});case se:return W({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function ci(e=0,t){switch(t.type){case xe:case Ce:return e+1;case Ne:case oe:return e-1;default:return e}}function ui(e=0){return e+1}function hi(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t],n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),n.forEach(function(i){hi(e,i,r[i])})}return e}function gi(e={},t){return{dirtyHandlerIds:ni(e.dirtyHandlerIds,{type:t.type,payload:fi({},t.payload,{prevTargetIds:sn(e,"dragOperation.targetIds",[])})}),dragOffset:oi(e.dragOffset,t),refCount:ci(e.refCount,t),dragOperation:di(e.dragOperation,t),stateId:ui(e.stateId)}}function pi(e,t=void 0,r={},n=!1){let i=mi(n),s=new Pn(i,new kn(i,new Zn(i))),o=e(s,t,r);return s.receiveBackend(o),s}function mi(e){let t=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__;return lt(gi,e&&t&&t({name:"dnd-core",instanceId:"dnd-core"}))}var v=ve(Lr(),1);function vi(e,t){if(e==null)return{};var r=yi(e,t),n,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i<s.length;i++)n=s[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function yi(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,s;for(s=0;s<n.length;s++)i=n[s],!(t.indexOf(i)>=0)&&(r[i]=e[i]);return r}var Ot=0,ae=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__"),It=(0,p.memo)(function(e){var{children:t}=e;let[r,n]=Oi(vi(e,["children"]));return(0,p.useEffect)(()=>{if(n){let i=bt();return++Ot,()=>{--Ot===0&&(i[ae]=null)}}},[]),(0,v.jsx)(st.Provider,{value:r,children:t})});function Oi(e){return"manager"in e?[{dragDropManager:e.manager},!1]:[Ii(e.backend,e.context,e.options,e.debugMode),!e.context]}function Ii(e,t=bt(),r,n){let i=t;return i[ae]||(i[ae]={dragDropManager:pi(e,t,r,n)}),i[ae]}function bt(){return typeof global<"u"?global:window}const H=typeof window<"u"?p.useLayoutEffect:p.useEffect;var bi=ve(tn(),1);function St(e,t,r){let[n,i]=(0,p.useState)(()=>t(e)),s=(0,p.useCallback)(()=>{let o=t(e);(0,bi.default)(n,o)||(i(o),r&&r())},[n,e,r]);return H(s),[n,s]}function Si(e,t,r){let[n,i]=St(e,t,r);return H(function(){let s=e.getHandlerId();if(s!=null)return e.subscribeToStateChange(i,{handlerIds:[s]})},[e,i]),n}function Dt(e,t,r){return Si(t,e||(()=>({})),()=>r.reconnect())}function wt(e,t){let r=[...t||[]];return t==null&&typeof e!="function"&&r.push(e),(0,p.useMemo)(()=>typeof e=="function"?e():e,r)}function Di(e){return(0,p.useMemo)(()=>e.hooks.dragSource(),[e])}function wi(e){return(0,p.useMemo)(()=>e.hooks.dragPreview(),[e])}var Pe=!1,je=!1,Ti=class{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){I(!Pe,"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 Pe=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{Pe=!1}}isDragging(){if(!this.sourceId)return!1;I(!je,"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 je=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{je=!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()}},_e=!1,Ei=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;I(!_e,"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 _e=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{_e=!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 xi(e,t,r){let n=r.getRegistry(),i=n.addTarget(e,t);return[i,()=>n.removeTarget(i)]}function Ci(e,t,r){let n=r.getRegistry(),i=n.addSource(e,t);return[i,()=>n.removeSource(i)]}function Me(e,t,r,n){let i=r?r.call(n,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 s=Object.keys(e),o=Object.keys(t);if(s.length!==o.length)return!1;let a=Object.prototype.hasOwnProperty.bind(t);for(let d=0;d<s.length;d++){let c=s[d];if(!a(c))return!1;let f=e[c],O=t[c];if(i=r?r.call(n,f,O,c):void 0,i===!1||i===void 0&&f!==O)return!1}return!0}function Ae(e){return typeof e=="object"&&!!e&&Object.prototype.hasOwnProperty.call(e,"current")}function Ni(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 Ri(e){return(t=null,r=null)=>{if(!(0,p.isValidElement)(t)){let i=t;return e(i,r),i}let n=t;return Ni(n),Pi(n,r?i=>e(i,r):e)}}function Tt(e){let t={};return Object.keys(e).forEach(r=>{let n=e[r];if(r.endsWith("Ref"))t[r]=e[r];else{let i=Ri(n);t[r]=()=>i}}),t}function Et(e,t){typeof e=="function"?e(t):e.current=t}function Pi(e,t){let r=e.ref;return I(typeof r!="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"),r?(0,p.cloneElement)(e,{ref:n=>{Et(r,n),Et(t,n)}}):(0,p.cloneElement)(e,{ref:t})}var ji=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,r=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(r&&this.disconnectDragPreview(),this.handlerId){if(!t){this.lastConnectedDragPreview=t;return}r&&(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!Me(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!Me(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(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=Tt({dragSource:(t,r)=>{this.clearDragSource(),this.dragSourceOptions=r||null,Ae(t)?this.dragSourceRef=t:this.dragSourceNode=t,this.reconnectDragSource()},dragPreview:(t,r)=>{this.clearDragPreview(),this.dragPreviewOptions=r||null,Ae(t)?this.dragPreviewRef=t:this.dragPreviewNode=t,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}},_i=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!Me(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(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=Tt({dropTarget:(t,r)=>{this.clearDropTarget(),this.dropTargetOptions=r,Ae(t)?this.dropTargetRef=t:this.dropTargetNode=t,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}};function L(){let{dragDropManager:e}=(0,p.useContext)(st);return I(e!=null,"Expected drag drop context"),e}function Mi(e,t){let r=L(),n=(0,p.useMemo)(()=>new ji(r.getBackend()),[r]);return H(()=>(n.dragSourceOptions=e||null,n.reconnect(),()=>n.disconnectDragSource()),[n,e]),H(()=>(n.dragPreviewOptions=t||null,n.reconnect(),()=>n.disconnectDragPreview()),[n,t]),n}function Ai(){let e=L();return(0,p.useMemo)(()=>new Ti(e),[e])}var ki=class{beginDrag(){let e=this.spec,t=this.monitor,r=null;return r=typeof e.item=="object"?e.item:typeof e.item=="function"?e.item(t):{},r??null}canDrag(){let e=this.spec,t=this.monitor;return typeof e.canDrag=="boolean"?e.canDrag:typeof e.canDrag=="function"?e.canDrag(t):!0}isDragging(e,t){let r=this.spec,n=this.monitor,{isDragging:i}=r;return i?i(n):t===e.getSourceId()}endDrag(){let e=this.spec,t=this.monitor,r=this.connector,{end:n}=e;n&&n(t.getItem(),t),r.reconnect()}constructor(e,t,r){this.spec=e,this.monitor=t,this.connector=r}};function Li(e,t,r){let n=(0,p.useMemo)(()=>new ki(e,t,r),[t,r]);return(0,p.useEffect)(()=>{n.spec=e},[e]),n}function Fi(e){return(0,p.useMemo)(()=>{let t=e.type;return I(t!=null,"spec.type must be defined"),t},[e])}function Hi(e,t,r){let n=L(),i=Li(e,t,r),s=Fi(e);H(function(){if(s!=null){let[o,a]=Ci(s,i,n);return t.receiveHandlerId(o),r.receiveHandlerId(o),a}},[n,t,r,i,s])}function Ui(e,t){let r=wt(e,t);I(!r.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 n=Ai(),i=Mi(r.options,r.previewOptions);return Hi(r,n,i),[Dt(r.collect,n,i),Di(i),wi(i)]}function Bi(e){let t=L().getMonitor(),[r,n]=St(t,e);return(0,p.useEffect)(()=>t.subscribeToOffsetChange(n)),(0,p.useEffect)(()=>t.subscribeToStateChange(n)),r}function zi(e){return(0,p.useMemo)(()=>e.hooks.dropTarget(),[e])}function Wi(e){let t=L(),r=(0,p.useMemo)(()=>new _i(t.getBackend()),[t]);return H(()=>(r.dropTargetOptions=e||null,r.reconnect(),()=>r.disconnectDropTarget()),[e]),r}function Gi(){let e=L();return(0,p.useMemo)(()=>new Ei(e),[e])}function Vi(e){let{accept:t}=e;return(0,p.useMemo)(()=>(I(e.accept!=null,"accept must be defined"),Array.isArray(t)?t:[t]),[t])}var Ki=class{canDrop(){let e=this.spec,t=this.monitor;return e.canDrop?e.canDrop(t.getItem(),t):!0}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 $i(e,t){let r=(0,p.useMemo)(()=>new Ki(e,t),[t]);return(0,p.useEffect)(()=>{r.spec=e},[e]),r}function Yi(e,t,r){let n=L(),i=$i(e,t),s=Vi(e);H(function(){let[o,a]=xi(s,i,n);return t.receiveHandlerId(o),r.receiveHandlerId(o),a},[n,t,i,r,s.map(o=>o.toString()).join("|")])}function xt(e,t){let r=wt(e,t),n=Gi(),i=Wi(r.options);return Yi(r,n,i),[Dt(r.collect,n,i),zi(i)]}function Ct(e){let t=null;return()=>(t??(t=e()),t)}function qi(e,t){return e.filter(r=>r!==t)}function Xi(e,t){let r=new Set,n=s=>r.add(s);e.forEach(n),t.forEach(n);let i=[];return r.forEach(s=>i.push(s)),i}var Ji=class{enter(e){let t=this.entered.length;return this.entered=Xi(this.entered.filter(r=>this.isNodeInDocument(r)&&(!r.contains||r.contains(e))),[e]),t===0&&this.entered.length>0}leave(e){let t=this.entered.length;return this.entered=qi(this.entered.filter(this.isNodeInDocument),e),t>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}},Qi=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(r=>{let n=this.config.exposeProperties[r];n!=null&&(t[r]={value:n(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()}},Nt=et({FILE:()=>Rt,HTML:()=>_t,TEXT:()=>jt,URL:()=>Pt},1);const Rt="__NATIVE_FILE__",Pt="__NATIVE_URL__",jt="__NATIVE_TEXT__",_t="__NATIVE_HTML__";function ke(e,t,r){return t.reduce((n,i)=>n||e.getData(i),"")??r}const Le={[Rt]:{exposeProperties:{files:e=>Array.prototype.slice.call(e.files),items:e=>e.items,dataTransfer:e=>e},matchesTypes:["Files"]},[_t]:{exposeProperties:{html:(e,t)=>ke(e,t,""),dataTransfer:e=>e},matchesTypes:["Html","text/html"]},[Pt]:{exposeProperties:{urls:(e,t)=>ke(e,t,"").split(`
1
+ var jr=Object.defineProperty;var _r=(e,t,r)=>t in e?jr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var k=(e,t,r)=>_r(e,typeof t!="symbol"?t+"":t,r);import{r as et,s as ve,t as Mr}from"./chunk-LvLJmgfZ.js";import{n as ye}from"./useEvent-D91BmmQi.js";import{t as Ar}from"./react-Bj1aDYRI.js";import{t as tt}from"./compiler-runtime-B3qBwwSJ.js";import{v as kr}from"./useEventListener-DvoEXWke.js";import{t as Lr}from"./jsx-runtime-BqBOg78p.js";import{o as Fr}from"./alert-dialog-BqFLkbUc.js";import{d as Hr}from"./popover-Bz_0Vkyf.js";import{a as Oe,p as Ur,r as Br,t as zr}from"./dropdown-menu-CR7cnzLX.js";import{r as Wr}from"./requests-DIwGYs0l.js";import{t as Gr}from"./createLucideIcon-D5guW7EU.js";import{t as Vr}from"./copy-BwrPA9zQ.js";import{t as Kr}from"./trash-2-BJLYnZpG.js";import{t as q}from"./use-toast-ERM44-k9.js";import{t as rt}from"./paths-SFhaqGlE.js";import{n as $r}from"./ImperativeModal-BeQmePpG.js";import{r as Yr}from"./errors-iwK4b4VF.js";import{t as qr}from"./extends-Dqvpuc10.js";import{n as Xr,t as Ie}from"./tree-actions-DY8FUp3V.js";import{i as Jr,n as Qr,r as te}from"./pathUtils-vgBYIo5B.js";import{n as nt}from"./semaphore-X3ApuO41.js";var Zr=Gr("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"}]]);function be(e,t){return be=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},be(e,t)}function en(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,be(e,t)}function it(e){if(e===void 0)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var tn=Mr(((e,t)=>{t.exports=function r(n,i){if(n===i)return!0;if(n&&i&&typeof n=="object"&&typeof i=="object"){if(n.constructor!==i.constructor)return!1;var s,o,a;if(Array.isArray(n)){if(s=n.length,s!=i.length)return!1;for(o=s;o--!==0;)if(!r(n[o],i[o]))return!1;return!0}if(n.constructor===RegExp)return n.source===i.source&&n.flags===i.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===i.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===i.toString();if(a=Object.keys(n),s=a.length,s!==Object.keys(i).length)return!1;for(o=s;o--!==0;)if(!Object.prototype.hasOwnProperty.call(i,a[o]))return!1;for(o=s;o--!==0;){var d=a[o];if(!r(n[d],i[d]))return!1}return!0}return n!==n&&i!==i}})),p=ve(Ar(),1);const st=(0,p.createContext)({dragDropManager:void 0});function R(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 ot=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})(),Se=function(){return Math.random().toString(36).substring(7).split("").join(".")},at={INIT:"@@redux/INIT"+Se(),REPLACE:"@@redux/REPLACE"+Se(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Se()}};function rn(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 lt(e,t,r){var n;if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw Error(R(0));if(typeof t=="function"&&r===void 0&&(r=t,t=void 0),r!==void 0){if(typeof r!="function")throw Error(R(1));return r(lt)(e,t)}if(typeof e!="function")throw Error(R(2));var i=e,s=t,o=[],a=o,d=!1;function c(){a===o&&(a=o.slice())}function f(){if(d)throw Error(R(3));return s}function O(l){if(typeof l!="function")throw Error(R(4));if(d)throw Error(R(5));var g=!0;return c(),a.push(l),function(){if(g){if(d)throw Error(R(6));g=!1,c();var m=a.indexOf(l);a.splice(m,1),o=null}}}function y(l){if(!rn(l))throw Error(R(7));if(l.type===void 0)throw Error(R(8));if(d)throw Error(R(9));try{d=!0,s=i(s,l)}finally{d=!1}for(var g=o=a,m=0;m<g.length;m++){var b=g[m];b()}return l}function h(l){if(typeof l!="function")throw Error(R(10));i=l,y({type:at.REPLACE})}function u(){var l,g=O;return l={subscribe:function(m){if(typeof m!="object"||!m)throw Error(R(11));function b(){m.next&&m.next(f())}return b(),{unsubscribe:g(b)}}},l[ot]=function(){return this},l}return y({type:at.INIT}),n={dispatch:y,subscribe:O,getState:f,replaceReducer:h},n[ot]=u,n}function I(e,t,...r){if(nn()&&t===void 0)throw Error("invariant requires an error message argument");if(!e){let n;if(t===void 0)n=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{let i=0;n=Error(t.replace(/%s/g,function(){return r[i++]})),n.name="Invariant Violation"}throw n.framesToPop=1,n}}function nn(){return typeof process<"u"&&!0}function sn(e,t,r){return t.split(".").reduce((n,i)=>n&&n[i]?n[i]:r||null,e)}function on(e,t){return e.filter(r=>r!==t)}function dt(e){return typeof e=="object"}function an(e,t){let r=new Map,n=s=>{r.set(s,r.has(s)?r.get(s)+1:1)};e.forEach(n),t.forEach(n);let i=[];return r.forEach((s,o)=>{s===1&&i.push(o)}),i}function ln(e,t){return e.filter(r=>t.indexOf(r)>-1)}const De="dnd-core/INIT_COORDS",re="dnd-core/BEGIN_DRAG",we="dnd-core/PUBLISH_DRAG_SOURCE",ne="dnd-core/HOVER",ie="dnd-core/DROP",se="dnd-core/END_DRAG";function ct(e,t){return{type:De,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}var dn={type:De,payload:{clientOffset:null,sourceClientOffset:null}};function cn(e){return function(t=[],r={publishSource:!0}){let{publishSource:n=!0,clientOffset:i,getSourceClientOffset:s}=r,o=e.getMonitor(),a=e.getRegistry();e.dispatch(ct(i)),un(t,o,a);let d=gn(t,o);if(d==null){e.dispatch(dn);return}let c=null;if(i){if(!s)throw Error("getSourceClientOffset must be defined");hn(s),c=s(d)}e.dispatch(ct(i,c));let f=a.getSource(d).beginDrag(o,d);if(f!=null)return fn(f),a.pinSource(d),{type:re,payload:{itemType:a.getSourceType(d),item:f,sourceId:d,clientOffset:i||null,sourceClientOffset:c||null,isSourcePublic:!!n}}}}function un(e,t,r){I(!t.isDragging(),"Cannot call beginDrag while dragging."),e.forEach(function(n){I(r.getSource(n),"Expected sourceIds to be registered.")})}function hn(e){I(typeof e=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function fn(e){I(dt(e),"Item must be an object.")}function gn(e,t){let r=null;for(let n=e.length-1;n>=0;n--)if(t.canDragSource(e[n])){r=e[n];break}return r}function pn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function mn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t],n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),n.forEach(function(i){pn(e,i,r[i])})}return e}function vn(e){return function(t={}){let r=e.getMonitor(),n=e.getRegistry();yn(r),bn(r).forEach((i,s)=>{let o={type:ie,payload:{dropResult:mn({},t,On(i,s,n,r))}};e.dispatch(o)})}}function yn(e){I(e.isDragging(),"Cannot call drop while not dragging."),I(!e.didDrop(),"Cannot call drop twice during one drag operation.")}function On(e,t,r,n){let i=r.getTarget(e),s=i?i.drop(n,e):void 0;return In(s),s===void 0&&(s=t===0?{}:n.getDropResult()),s}function In(e){I(e===void 0||dt(e),"Drop result must either be an object or undefined.")}function bn(e){let t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function Sn(e){return function(){let t=e.getMonitor(),r=e.getRegistry();Dn(t);let n=t.getSourceId();return n!=null&&(r.getSource(n,!0).endDrag(t,n),r.unpinSource()),{type:se}}}function Dn(e){I(e.isDragging(),"Cannot call endDrag while not dragging.")}function Te(e,t){return t===null?e===null:Array.isArray(e)?e.some(r=>r===t):e===t}function wn(e){return function(t,{clientOffset:r}={}){Tn(t);let n=t.slice(0),i=e.getMonitor(),s=e.getRegistry();return xn(n,s,i.getItemType()),En(n,i,s),Cn(n,i,s),{type:ne,payload:{targetIds:n,clientOffset:r||null}}}}function Tn(e){I(Array.isArray(e),"Expected targetIds to be an array.")}function En(e,t,r){I(t.isDragging(),"Cannot call hover while not dragging."),I(!t.didDrop(),"Cannot call hover after drop.");for(let n=0;n<e.length;n++){let i=e[n];I(e.lastIndexOf(i)===n,"Expected targetIds to be unique in the passed array."),I(r.getTarget(i),"Expected targetIds to be registered.")}}function xn(e,t,r){for(let n=e.length-1;n>=0;n--){let i=e[n];Te(t.getTargetType(i),r)||e.splice(n,1)}}function Cn(e,t,r){e.forEach(function(n){r.getTarget(n).hover(t,n)})}function Nn(e){return function(){if(e.getMonitor().isDragging())return{type:we}}}function Rn(e){return{beginDrag:cn(e),publishDragSource:Nn(e),hover:wn(e),drop:vn(e),endDrag:Sn(e)}}var Pn=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 r(i){return(...s)=>{let o=i.apply(e,s);o!==void 0&&t(o)}}let n=Rn(this);return Object.keys(n).reduce((i,s)=>{let o=n[s];return i[s]=r(o),i},{})}dispatch(e){this.store.dispatch(e)}constructor(e,t){this.isSetUp=!1,this.handleRefCountChange=()=>{let r=this.store.getState().refCount>0;this.backend&&(r&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!r&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=t,e.subscribe(this.handleRefCountChange)}};function jn(e,t){return{x:e.x+t.x,y:e.y+t.y}}function ut(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _n(e){let{clientOffset:t,initialClientOffset:r,initialSourceClientOffset:n}=e;return!t||!r||!n?null:ut(jn(t,n),r)}function Mn(e){let{clientOffset:t,initialClientOffset:r}=e;return!t||!r?null:ut(t,r)}const X=[],Ee=[];X.__IS_NONE__=!0,Ee.__IS_ALL__=!0;function An(e,t){return e===X?!1:e===Ee||t===void 0?!0:ln(t,e).length>0}var kn=class{subscribeToStateChange(e,t={}){let{handlerIds:r}=t;I(typeof e=="function","listener must be a function."),I(r===void 0||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");let n=this.store.getState().stateId;return this.store.subscribe(()=>{let i=this.store.getState(),s=i.stateId;try{s===n||s===n+1&&!An(i.dirtyHandlerIds,r)||e()}finally{n=s}})}subscribeToOffsetChange(e){I(typeof e=="function","listener must be a function.");let t=this.store.getState().dragOffset;return this.store.subscribe(()=>{let r=this.store.getState().dragOffset;r!==t&&(t=r,e())})}canDragSource(e){if(!e)return!1;let t=this.registry.getSource(e);return I(t,`Expected to find a valid source. sourceId=${e}`),this.isDragging()?!1:t.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;let t=this.registry.getTarget(e);return I(t,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop()?!1:Te(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 I(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:r}=t;if(!this.isDragging())return!1;let n=this.registry.getTargetType(e),i=this.getItemType();if(i&&!Te(n,i))return!1;let s=this.getTargetIds();if(!s.length)return!1;let o=s.indexOf(e);return r?o===s.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 _n(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return Mn(this.store.getState().dragOffset)}constructor(e,t){this.store=e,this.registry=t}},ht=typeof global<"u"?global:self,ft=ht.MutationObserver||ht.WebKitMutationObserver;function gt(e){return function(){let t=setTimeout(n,0),r=setInterval(n,50);function n(){clearTimeout(t),clearInterval(r),e()}}}function Ln(e){let t=1,r=new ft(e),n=document.createTextNode("");return r.observe(n,{characterData:!0}),function(){t=-t,n.data=t}}const Fn=typeof ft=="function"?Ln:gt;var Hn=class{enqueueTask(e){let{queue:t,requestFlush:r}=this;t.length||(r(),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 r=0,n=e.length-this.index;r<n;r++)e[r]=e[r+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=Fn(this.flush),this.requestErrorThrow=gt(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}},Un=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}},Bn=class{create(e){let t=this.freeTasks,r=t.length?t.pop():new Un(this.onError,n=>t[t.length]=n);return r.task=e,r}constructor(e){this.onError=e,this.freeTasks=[]}},pt=new Hn,zn=new Bn(pt.registerPendingError);function Wn(e){pt.enqueueTask(zn.create(e))}const xe="dnd-core/ADD_SOURCE",Ce="dnd-core/ADD_TARGET",Ne="dnd-core/REMOVE_SOURCE",oe="dnd-core/REMOVE_TARGET";function Gn(e){return{type:xe,payload:{sourceId:e}}}function Vn(e){return{type:Ce,payload:{targetId:e}}}function Kn(e){return{type:Ne,payload:{sourceId:e}}}function $n(e){return{type:oe,payload:{targetId:e}}}function Yn(e){I(typeof e.canDrag=="function","Expected canDrag to be a function."),I(typeof e.beginDrag=="function","Expected beginDrag to be a function."),I(typeof e.endDrag=="function","Expected endDrag to be a function.")}function qn(e){I(typeof e.canDrop=="function","Expected canDrop to be a function."),I(typeof e.hover=="function","Expected hover to be a function."),I(typeof e.drop=="function","Expected beginDrag to be a function.")}function Re(e,t){if(t&&Array.isArray(e)){e.forEach(r=>Re(r,!1));return}I(typeof e=="string"||typeof e=="symbol",t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var P;(function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"})(P||(P={}));var Xn=0;function Jn(){return Xn++}function Qn(e){let t=Jn().toString();switch(e){case P.SOURCE:return`S${t}`;case P.TARGET:return`T${t}`;default:throw Error(`Unknown Handler Role: ${e}`)}}function mt(e){switch(e[0]){case"S":return P.SOURCE;case"T":return P.TARGET;default:throw Error(`Cannot parse handler ID: ${e}`)}}function vt(e,t){let r=e.entries(),n=!1;do{let{done:i,value:[,s]}=r.next();if(s===t)return!0;n=!!i}while(!n);return!1}var Zn=class{addSource(e,t){Re(e),Yn(t);let r=this.addHandler(P.SOURCE,e,t);return this.store.dispatch(Gn(r)),r}addTarget(e,t){Re(e,!0),qn(t);let r=this.addHandler(P.TARGET,e,t);return this.store.dispatch(Vn(r)),r}containsHandler(e){return vt(this.dragSources,e)||vt(this.dropTargets,e)}getSource(e,t=!1){return I(this.isSourceId(e),"Expected a valid source ID."),t&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return I(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}getSourceType(e){return I(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}getTargetType(e){return I(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}isSourceId(e){return mt(e)===P.SOURCE}isTargetId(e){return mt(e)===P.TARGET}removeSource(e){I(this.getSource(e),"Expected an existing source."),this.store.dispatch(Kn(e)),Wn(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){I(this.getTarget(e),"Expected an existing target."),this.store.dispatch($n(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){let t=this.getSource(e);I(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}unpinSource(){I(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,t,r){let n=Qn(e);return this.types.set(n,t),e===P.SOURCE?this.dragSources.set(n,r):e===P.TARGET&&this.dropTargets.set(n,r),n}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}};const ei=(e,t)=>e===t;function ti(e,t){return!e&&!t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y}function ri(e,t,r=ei){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(!r(e[n],t[n]))return!1;return!0}function ni(e=X,t){switch(t.type){case ne:break;case xe:case Ce:case oe:case Ne:return X;case re:case we:case se:case ie:default:return Ee}let{targetIds:r=[],prevTargetIds:n=[]}=t.payload,i=an(r,n);if(!(i.length>0||!ri(r,n)))return X;let s=n[n.length-1],o=r[r.length-1];return s!==o&&(s&&i.push(s),o&&i.push(o)),i}function ii(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function si(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t],n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),n.forEach(function(i){ii(e,i,r[i])})}return e}var yt={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function oi(e=yt,t){let{payload:r}=t;switch(t.type){case De:case re:return{initialSourceClientOffset:r.sourceClientOffset,initialClientOffset:r.clientOffset,clientOffset:r.clientOffset};case ne:return ti(e.clientOffset,r.clientOffset)?e:si({},e,{clientOffset:r.clientOffset});case se:case ie:return yt;default:return e}}function ai(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function W(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t],n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),n.forEach(function(i){ai(e,i,r[i])})}return e}var li={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function di(e=li,t){let{payload:r}=t;switch(t.type){case re:return W({},e,{itemType:r.itemType,item:r.item,sourceId:r.sourceId,isSourcePublic:r.isSourcePublic,dropResult:null,didDrop:!1});case we:return W({},e,{isSourcePublic:!0});case ne:return W({},e,{targetIds:r.targetIds});case oe:return e.targetIds.indexOf(r.targetId)===-1?e:W({},e,{targetIds:on(e.targetIds,r.targetId)});case ie:return W({},e,{dropResult:r.dropResult,didDrop:!0,targetIds:[]});case se:return W({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function ci(e=0,t){switch(t.type){case xe:case Ce:return e+1;case Ne:case oe:return e-1;default:return e}}function ui(e=0){return e+1}function hi(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t],n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),n.forEach(function(i){hi(e,i,r[i])})}return e}function gi(e={},t){return{dirtyHandlerIds:ni(e.dirtyHandlerIds,{type:t.type,payload:fi({},t.payload,{prevTargetIds:sn(e,"dragOperation.targetIds",[])})}),dragOffset:oi(e.dragOffset,t),refCount:ci(e.refCount,t),dragOperation:di(e.dragOperation,t),stateId:ui(e.stateId)}}function pi(e,t=void 0,r={},n=!1){let i=mi(n),s=new Pn(i,new kn(i,new Zn(i))),o=e(s,t,r);return s.receiveBackend(o),s}function mi(e){let t=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__;return lt(gi,e&&t&&t({name:"dnd-core",instanceId:"dnd-core"}))}var v=ve(Lr(),1);function vi(e,t){if(e==null)return{};var r=yi(e,t),n,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i<s.length;i++)n=s[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function yi(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,s;for(s=0;s<n.length;s++)i=n[s],!(t.indexOf(i)>=0)&&(r[i]=e[i]);return r}var Ot=0,ae=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__"),It=(0,p.memo)(function(e){var{children:t}=e;let[r,n]=Oi(vi(e,["children"]));return(0,p.useEffect)(()=>{if(n){let i=bt();return++Ot,()=>{--Ot===0&&(i[ae]=null)}}},[]),(0,v.jsx)(st.Provider,{value:r,children:t})});function Oi(e){return"manager"in e?[{dragDropManager:e.manager},!1]:[Ii(e.backend,e.context,e.options,e.debugMode),!e.context]}function Ii(e,t=bt(),r,n){let i=t;return i[ae]||(i[ae]={dragDropManager:pi(e,t,r,n)}),i[ae]}function bt(){return typeof global<"u"?global:window}const H=typeof window<"u"?p.useLayoutEffect:p.useEffect;var bi=ve(tn(),1);function St(e,t,r){let[n,i]=(0,p.useState)(()=>t(e)),s=(0,p.useCallback)(()=>{let o=t(e);(0,bi.default)(n,o)||(i(o),r&&r())},[n,e,r]);return H(s),[n,s]}function Si(e,t,r){let[n,i]=St(e,t,r);return H(function(){let s=e.getHandlerId();if(s!=null)return e.subscribeToStateChange(i,{handlerIds:[s]})},[e,i]),n}function Dt(e,t,r){return Si(t,e||(()=>({})),()=>r.reconnect())}function wt(e,t){let r=[...t||[]];return t==null&&typeof e!="function"&&r.push(e),(0,p.useMemo)(()=>typeof e=="function"?e():e,r)}function Di(e){return(0,p.useMemo)(()=>e.hooks.dragSource(),[e])}function wi(e){return(0,p.useMemo)(()=>e.hooks.dragPreview(),[e])}var Pe=!1,je=!1,Ti=class{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){I(!Pe,"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 Pe=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{Pe=!1}}isDragging(){if(!this.sourceId)return!1;I(!je,"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 je=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{je=!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()}},_e=!1,Ei=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;I(!_e,"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 _e=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{_e=!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 xi(e,t,r){let n=r.getRegistry(),i=n.addTarget(e,t);return[i,()=>n.removeTarget(i)]}function Ci(e,t,r){let n=r.getRegistry(),i=n.addSource(e,t);return[i,()=>n.removeSource(i)]}function Me(e,t,r,n){let i=r?r.call(n,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 s=Object.keys(e),o=Object.keys(t);if(s.length!==o.length)return!1;let a=Object.prototype.hasOwnProperty.bind(t);for(let d=0;d<s.length;d++){let c=s[d];if(!a(c))return!1;let f=e[c],O=t[c];if(i=r?r.call(n,f,O,c):void 0,i===!1||i===void 0&&f!==O)return!1}return!0}function Ae(e){return typeof e=="object"&&!!e&&Object.prototype.hasOwnProperty.call(e,"current")}function Ni(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 Ri(e){return(t=null,r=null)=>{if(!(0,p.isValidElement)(t)){let i=t;return e(i,r),i}let n=t;return Ni(n),Pi(n,r?i=>e(i,r):e)}}function Tt(e){let t={};return Object.keys(e).forEach(r=>{let n=e[r];if(r.endsWith("Ref"))t[r]=e[r];else{let i=Ri(n);t[r]=()=>i}}),t}function Et(e,t){typeof e=="function"?e(t):e.current=t}function Pi(e,t){let r=e.ref;return I(typeof r!="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"),r?(0,p.cloneElement)(e,{ref:n=>{Et(r,n),Et(t,n)}}):(0,p.cloneElement)(e,{ref:t})}var ji=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,r=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(r&&this.disconnectDragPreview(),this.handlerId){if(!t){this.lastConnectedDragPreview=t;return}r&&(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!Me(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!Me(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(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=Tt({dragSource:(t,r)=>{this.clearDragSource(),this.dragSourceOptions=r||null,Ae(t)?this.dragSourceRef=t:this.dragSourceNode=t,this.reconnectDragSource()},dragPreview:(t,r)=>{this.clearDragPreview(),this.dragPreviewOptions=r||null,Ae(t)?this.dragPreviewRef=t:this.dragPreviewNode=t,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}},_i=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!Me(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(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=Tt({dropTarget:(t,r)=>{this.clearDropTarget(),this.dropTargetOptions=r,Ae(t)?this.dropTargetRef=t:this.dropTargetNode=t,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}};function L(){let{dragDropManager:e}=(0,p.useContext)(st);return I(e!=null,"Expected drag drop context"),e}function Mi(e,t){let r=L(),n=(0,p.useMemo)(()=>new ji(r.getBackend()),[r]);return H(()=>(n.dragSourceOptions=e||null,n.reconnect(),()=>n.disconnectDragSource()),[n,e]),H(()=>(n.dragPreviewOptions=t||null,n.reconnect(),()=>n.disconnectDragPreview()),[n,t]),n}function Ai(){let e=L();return(0,p.useMemo)(()=>new Ti(e),[e])}var ki=class{beginDrag(){let e=this.spec,t=this.monitor,r=null;return r=typeof e.item=="object"?e.item:typeof e.item=="function"?e.item(t):{},r??null}canDrag(){let e=this.spec,t=this.monitor;return typeof e.canDrag=="boolean"?e.canDrag:typeof e.canDrag=="function"?e.canDrag(t):!0}isDragging(e,t){let r=this.spec,n=this.monitor,{isDragging:i}=r;return i?i(n):t===e.getSourceId()}endDrag(){let e=this.spec,t=this.monitor,r=this.connector,{end:n}=e;n&&n(t.getItem(),t),r.reconnect()}constructor(e,t,r){this.spec=e,this.monitor=t,this.connector=r}};function Li(e,t,r){let n=(0,p.useMemo)(()=>new ki(e,t,r),[t,r]);return(0,p.useEffect)(()=>{n.spec=e},[e]),n}function Fi(e){return(0,p.useMemo)(()=>{let t=e.type;return I(t!=null,"spec.type must be defined"),t},[e])}function Hi(e,t,r){let n=L(),i=Li(e,t,r),s=Fi(e);H(function(){if(s!=null){let[o,a]=Ci(s,i,n);return t.receiveHandlerId(o),r.receiveHandlerId(o),a}},[n,t,r,i,s])}function Ui(e,t){let r=wt(e,t);I(!r.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 n=Ai(),i=Mi(r.options,r.previewOptions);return Hi(r,n,i),[Dt(r.collect,n,i),Di(i),wi(i)]}function Bi(e){let t=L().getMonitor(),[r,n]=St(t,e);return(0,p.useEffect)(()=>t.subscribeToOffsetChange(n)),(0,p.useEffect)(()=>t.subscribeToStateChange(n)),r}function zi(e){return(0,p.useMemo)(()=>e.hooks.dropTarget(),[e])}function Wi(e){let t=L(),r=(0,p.useMemo)(()=>new _i(t.getBackend()),[t]);return H(()=>(r.dropTargetOptions=e||null,r.reconnect(),()=>r.disconnectDropTarget()),[e]),r}function Gi(){let e=L();return(0,p.useMemo)(()=>new Ei(e),[e])}function Vi(e){let{accept:t}=e;return(0,p.useMemo)(()=>(I(e.accept!=null,"accept must be defined"),Array.isArray(t)?t:[t]),[t])}var Ki=class{canDrop(){let e=this.spec,t=this.monitor;return e.canDrop?e.canDrop(t.getItem(),t):!0}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 $i(e,t){let r=(0,p.useMemo)(()=>new Ki(e,t),[t]);return(0,p.useEffect)(()=>{r.spec=e},[e]),r}function Yi(e,t,r){let n=L(),i=$i(e,t),s=Vi(e);H(function(){let[o,a]=xi(s,i,n);return t.receiveHandlerId(o),r.receiveHandlerId(o),a},[n,t,i,r,s.map(o=>o.toString()).join("|")])}function xt(e,t){let r=wt(e,t),n=Gi(),i=Wi(r.options);return Yi(r,n,i),[Dt(r.collect,n,i),zi(i)]}function Ct(e){let t=null;return()=>(t??(t=e()),t)}function qi(e,t){return e.filter(r=>r!==t)}function Xi(e,t){let r=new Set,n=s=>r.add(s);e.forEach(n),t.forEach(n);let i=[];return r.forEach(s=>i.push(s)),i}var Ji=class{enter(e){let t=this.entered.length;return this.entered=Xi(this.entered.filter(r=>this.isNodeInDocument(r)&&(!r.contains||r.contains(e))),[e]),t===0&&this.entered.length>0}leave(e){let t=this.entered.length;return this.entered=qi(this.entered.filter(this.isNodeInDocument),e),t>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}},Qi=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(r=>{let n=this.config.exposeProperties[r];n!=null&&(t[r]={value:n(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()}},Nt=et({FILE:()=>Rt,HTML:()=>_t,TEXT:()=>jt,URL:()=>Pt},1);const Rt="__NATIVE_FILE__",Pt="__NATIVE_URL__",jt="__NATIVE_TEXT__",_t="__NATIVE_HTML__";function ke(e,t,r){return t.reduce((n,i)=>n||e.getData(i),"")??r}const Le={[Rt]:{exposeProperties:{files:e=>Array.prototype.slice.call(e.files),items:e=>e.items,dataTransfer:e=>e},matchesTypes:["Files"]},[_t]:{exposeProperties:{html:(e,t)=>ke(e,t,""),dataTransfer:e=>e},matchesTypes:["Html","text/html"]},[Pt]:{exposeProperties:{urls:(e,t)=>ke(e,t,"").split(`
2
2
  `),dataTransfer:e=>e},matchesTypes:["Url","text/uri-list"]},[jt]:{exposeProperties:{text:(e,t)=>ke(e,t,""),dataTransfer:e=>e},matchesTypes:["Text","text/plain"]}};function Zi(e,t){let r=Le[e];if(!r)throw Error(`native type ${e} has no configuration`);let n=new Qi(r);return n.loadDataTransfer(t),n}function Fe(e){if(!e)return null;let t=Array.prototype.slice.call(e.types||[]);return Object.keys(Le).filter(r=>{let n=Le[r];return n!=null&&n.matchesTypes?n.matchesTypes.some(i=>t.indexOf(i)>-1):!1})[0]||null}const es=Ct(()=>/firefox/i.test(navigator.userAgent)),Mt=Ct(()=>!!window.safari);var At=class{interpolate(e){let{xs:t,ys:r,c1s:n,c2s:i,c3s:s}=this,o=t.length-1;if(e===t[o])return r[o];let a=0,d=s.length-1,c;for(;a<=d;){c=Math.floor(.5*(a+d));let y=t[c];if(y<e)a=c+1;else if(y>e)d=c-1;else return r[c]}o=Math.max(0,d);let f=e-t[o],O=f*f;return r[o]+n[o]*f+i[o]*O+s[o]*f*O}constructor(e,t){let{length:r}=e,n=[];for(let h=0;h<r;h++)n.push(h);n.sort((h,u)=>e[h]<e[u]?-1:1);let i=[],s=[],o=[],a,d;for(let h=0;h<r-1;h++)a=e[h+1]-e[h],d=t[h+1]-t[h],s.push(a),i.push(d),o.push(d/a);let c=[o[0]];for(let h=0;h<s.length-1;h++){let u=o[h],l=o[h+1];if(u*l<=0)c.push(0);else{a=s[h];let g=s[h+1],m=a+g;c.push(3*m/((m+g)/u+(m+a)/l))}}c.push(o[o.length-1]);let f=[],O=[],y;for(let h=0;h<c.length-1;h++){y=o[h];let u=c[h],l=1/s[h],g=u+c[h+1]-y-y;f.push((y-u-g)*l),O.push(g*l*l)}this.xs=e,this.ys=t,this.c1s=c,this.c2s=f,this.c3s=O}},ts=1;function kt(e){let t=e.nodeType===ts?e:e.parentElement;if(!t)return null;let{top:r,left:n}=t.getBoundingClientRect();return{x:n,y:r}}function le(e){return{x:e.clientX,y:e.clientY}}function rs(e){var t;return e.nodeName==="IMG"&&(es()||!((t=document.documentElement)!=null&&t.contains(e)))}function ns(e,t,r,n){let i=e?t.width:r,s=e?t.height:n;return Mt()&&e&&(s/=window.devicePixelRatio,i/=window.devicePixelRatio),{dragPreviewWidth:i,dragPreviewHeight:s}}function is(e,t,r,n,i){let s=rs(t),o=kt(s?e:t),a={x:r.x-o.x,y:r.y-o.y},{offsetWidth:d,offsetHeight:c}=e,{anchorX:f,anchorY:O}=n,{dragPreviewWidth:y,dragPreviewHeight:h}=ns(s,t,d,c),u=()=>{let D=new At([0,.5,1],[a.y,a.y/c*h,a.y+h-c]).interpolate(O);return Mt()&&s&&(D+=(window.devicePixelRatio-1)*h),D},l=()=>new At([0,.5,1],[a.x,a.x/d*y,a.x+y-d]).interpolate(f),{offsetX:g,offsetY:m}=i,b=g===0||g,S=m===0||m;return{x:b?g:l(),y:S?m:u()}}var ss=class{get window(){if(this.globalContext)return this.globalContext;if(typeof window<"u")return window}get document(){var e;if((e=this.globalContext)!=null&&e.document)return this.globalContext.document;if(this.window)return this.window.document}get rootElement(){var e;return((e=this.optionsArgs)==null?void 0:e.rootElement)||this.window}constructor(e,t){this.ownerDocument=null,this.globalContext=e,this.optionsArgs=t}};function os(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Lt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t],n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),n.forEach(function(i){os(e,i,r[i])})}return e}var as=class{profile(){var e,t;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:((e=this.dragStartSourceIds)==null?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:((t=this.dragOverTargetIds)==null?void 0:t.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,r){return this.sourcePreviewNodeOptions.set(e,r),this.sourcePreviewNodes.set(e,t),()=>{this.sourcePreviewNodes.delete(e),this.sourcePreviewNodeOptions.delete(e)}}connectDragSource(e,t,r){this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,r);let n=s=>this.handleDragStart(s,e),i=s=>this.handleSelectStart(s);return t.setAttribute("draggable","true"),t.addEventListener("dragstart",n),t.addEventListener("selectstart",i),()=>{this.sourceNodes.delete(e),this.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",n),t.removeEventListener("selectstart",i),t.setAttribute("draggable","false")}}connectDropTarget(e,t){let r=s=>this.handleDragEnter(s,e),n=s=>this.handleDragOver(s,e),i=s=>this.handleDrop(s,e);return t.addEventListener("dragenter",r),t.addEventListener("dragover",n),t.addEventListener("drop",i),()=>{t.removeEventListener("dragenter",r),t.removeEventListener("dragover",n),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 Lt({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){let e=this.monitor.getSourceId();return Lt({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}isDraggingNativeItem(){let e=this.monitor.getItemType();return Object.keys(Nt).some(t=>Nt[t]===e)}beginDragNativeItem(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=Zi(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(()=>{var t;return(t=this.rootElement)==null?void 0:t.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=[]),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,r){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=n=>{let i=this.sourceNodes.get(n);return i&&kt(i)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=n=>!!(n&&this.document&&this.document.body&&this.document.body.contains(n)),this.endDragIfSourceWasRemovedFromDOM=()=>{let n=this.currentDragSourceNode;n==null||this.isNodeInDocument(n)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=n=>{this.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(n||[],{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=n=>{if(n.defaultPrevented)return;let{dragStartSourceIds:i}=this;this.dragStartSourceIds=null;let s=le(n);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(i||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:s});let{dataTransfer:o}=n,a=Fe(o);if(this.monitor.isDragging()){if(o&&typeof o.setDragImage=="function"){let c=this.monitor.getSourceId(),f=this.sourceNodes.get(c),O=this.sourcePreviewNodes.get(c)||f;if(O){let{anchorX:y,anchorY:h,offsetX:u,offsetY:l}=this.getCurrentSourcePreviewNodeOptions(),g=is(f,O,s,{anchorX:y,anchorY:h},{offsetX:u,offsetY:l});o.setDragImage(O,g.x,g.y)}}try{o==null||o.setData("application/json",{})}catch{}this.setCurrentDragSourceNode(n.target);let{captureDraggingState:d}=this.getCurrentSourcePreviewNodeOptions();d?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(a)this.beginDragNativeItem(a);else{if(o&&!o.types&&(n.target&&!n.target.hasAttribute||!n.target.hasAttribute("draggable")))return;n.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=n=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var i;(i=this.currentNativeSource)==null||i.loadDataTransfer(n.dataTransfer)}if(!this.enterLeaveCounter.enter(n.target)||this.monitor.isDragging())return;let{dataTransfer:s}=n,o=Fe(s);o&&this.beginDragNativeItem(o,s)},this.handleTopDragEnter=n=>{let{dragEnterTargetIds:i}=this;this.dragEnterTargetIds=[],this.monitor.isDragging()&&(this.altKeyPressed=n.altKey,i.length>0&&this.actions.hover(i,{clientOffset:le(n)}),i.some(s=>this.monitor.canDropOnTarget(s))&&(n.preventDefault(),n.dataTransfer&&(n.dataTransfer.dropEffect=this.getCurrentDropEffect())))},this.handleTopDragOverCapture=n=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var i;(i=this.currentNativeSource)==null||i.loadDataTransfer(n.dataTransfer)}},this.handleTopDragOver=n=>{let{dragOverTargetIds:i}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){n.preventDefault(),n.dataTransfer&&(n.dataTransfer.dropEffect="none");return}this.altKeyPressed=n.altKey,this.lastClientOffset=le(n),this.scheduleHover(i),(i||[]).some(s=>this.monitor.canDropOnTarget(s))?(n.preventDefault(),n.dataTransfer&&(n.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?n.preventDefault():(n.preventDefault(),n.dataTransfer&&(n.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=n=>{this.isDraggingNativeItem()&&n.preventDefault(),this.enterLeaveCounter.leave(n.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=n=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var i;n.preventDefault(),(i=this.currentNativeSource)==null||i.loadDataTransfer(n.dataTransfer)}else Fe(n.dataTransfer)&&n.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=n=>{let{dropTargetIds:i}=this;this.dropTargetIds=[],this.actions.hover(i,{clientOffset:le(n)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=n=>{let i=n.target;typeof i.dragDrop=="function"&&(i.tagName==="INPUT"||i.tagName==="SELECT"||i.tagName==="TEXTAREA"||i.isContentEditable||(n.preventDefault(),i.dragDrop()))},this.options=new ss(t,r),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new Ji(this.isNodeInDocument)}},de;function ls(){return de||(de=new Image,de.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),de}const Ft=function(e,t,r){return new as(e,t,r)},Ht=(0,p.createContext)(null);function N(){let e=(0,p.useContext)(Ht);if(e===null)throw Error("No Tree Api Provided");return e}const Ut=(0,p.createContext)(null);function ds(){let e=(0,p.useContext)(Ut);if(e===null)throw Error("Provide a NodesContext");return e}const Bt=(0,p.createContext)(null);function cs(){let e=(0,p.useContext)(Bt);if(e===null)throw Error("Provide a DnDContext");return e}const zt=(0,p.createContext)(0);function Wt(){(0,p.useContext)(zt)}var us=et({access:()=>J,bound:()=>ce,dfs:()=>He,focusNextElement:()=>qt,focusPrevElement:()=>Xt,getInsertIndex:()=>tr,getInsertParentId:()=>rr,identify:()=>U,identifyNull:()=>Qt,indexOf:()=>Yt,isClosed:()=>Vt,isDescendant:()=>$t,isItem:()=>Gt,isOpenWithEmptyChildren:()=>Kt,mergeRefs:()=>ps,noop:()=>hs,safeRun:()=>Zt,waitFor:()=>er,walk:()=>ue},1);function ce(e,t,r){return Math.max(Math.min(e,r),t)}function Gt(e){return e&&e.isLeaf}function Vt(e){return e&&e.isInternal&&!e.isOpen}function Kt(e){var t;return e&&e.isOpen&&!((t=e.children)!=null&&t.length)}const $t=(e,t)=>{let r=e;for(;r;){if(r.id===t.id)return!0;r=r.parent}return!1},Yt=e=>{if(!e.parent)throw Error("Node does not have a parent");return e.parent.children.findIndex(t=>t.id===e.id)};function hs(){}function He(e,t){if(!e)return null;if(e.id===t)return e;if(e.children)for(let r of e.children){let n=He(r,t);if(n)return n}return null}function ue(e,t){if(t(e),e.children)for(let r of e.children)ue(r,t)}function qt(e){let t=Jt(e),r;for(let n=0;n<t.length;++n)if(t[n]===e){r=fs(t,n);break}r==null||r.focus()}function Xt(e){let t=Jt(e),r;for(let n=0;n<t.length;++n)if(t[n]===e){r=gs(t,n);break}r==null||r.focus()}function fs(e,t){return t+1<e.length?e[t+1]:e[0]}function gs(e,t){return t-1>=0?e[t-1]:e[e.length-1]}function Jt(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 J(e,t){return typeof t=="boolean"?t:typeof t=="string"?e[t]:t(e)}function Qt(e){return e===null?null:U(e)}function U(e){return typeof e=="string"?e:e.id}function ps(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}function Zt(e,...t){if(e)return e(...t)}function er(e){return new Promise((t,r)=>{let n=0;function i(){n+=1,n===100&&r(),e()?t():setTimeout(i,10)}i()})}function tr(e){var r;let t=e.focusedNode;return t?t.isOpen?0:t.parent?t.childIndex+1:0:((r=e.root.children)==null?void 0:r.length)??0}function rr(e){let t=e.focusedNode;return t?t.isOpen?t.id:t.parent&&!t.parent.isRoot?t.parent.id:null:null}var ms={display:"flex",alignItems:"center",zIndex:1},vs={flex:1,height:"2px",background:"#4B91E2",borderRadius:"1px"},ys={width:"4px",height:"4px",boxShadow:"0 0 0 3px #4B91E2",borderRadius:"50%"};const Os=p.memo(function({top:e,left:t,indent:r}){let n={position:"absolute",pointerEvents:"none",top:e-2+"px",left:t+"px",right:r+"px"};return(0,v.jsxs)("div",{style:Object.assign(Object.assign({},ms),n),children:[(0,v.jsx)("div",{style:Object.assign({},ys)}),(0,v.jsx)("div",{style:Object.assign({},vs)})]})});function Is({node:e,attrs:t,innerRef:r,children:n}){return(0,v.jsx)("div",Object.assign({},t,{ref:r,onFocus:i=>i.stopPropagation(),onClick:e.handleClick,children:n}))}function bs(e){return(0,v.jsxs)("div",{ref:e.dragHandle,style:e.style,children:[(0,v.jsx)("span",{onClick:t=>{t.stopPropagation(),e.node.toggle()},children:e.node.isLeaf?"\u{1F333}":e.node.isOpen?"\u{1F5C1}":"\u{1F5C0}"})," ",e.node.isEditing?(0,v.jsx)(Ds,Object.assign({},e)):(0,v.jsx)(Ss,Object.assign({},e))]})}function Ss(e){return(0,v.jsx)(v.Fragment,{children:(0,v.jsx)("span",{children:e.node.data.name})})}function Ds({node:e}){let t=(0,p.useRef)();return(0,p.useEffect)(()=>{var r,n;(r=t.current)==null||r.focus(),(n=t.current)==null||n.select()},[]),(0,v.jsx)("input",{ref:t,defaultValue:e.data.name,onBlur:()=>e.reset(),onKeyDown:r=>{var n;r.key==="Escape"&&e.reset(),r.key==="Enter"&&e.submit(((n=t.current)==null?void 0:n.value)||"")}})}function Ue(e){return{type:"EDIT",id:e}}function ws(e={id:null},t){return t.type==="EDIT"?Object.assign(Object.assign({},e),{id:t.id}):e}function G(e){return{type:"FOCUS",id:e}}function Ts(){return{type:"TREE_BLUR"}}function Es(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 nr=class wr{constructor(t){this.handleClick=r=>{r.metaKey&&!this.tree.props.disableMultiSelection?this.isSelected?this.deselect():this.selectMulti():r.shiftKey&&!this.tree.props.disableMultiSelection?this.selectContiguous():(this.select(),this.activate())},this.tree=t.tree,this.id=t.id,this.data=t.data,this.level=t.level,this.children=t.children,this.parent=t.parent,this.isDraggable=t.isDraggable,this.rowIndex=t.rowIndex}get isRoot(){return this.id===Be}get isLeaf(){return!Array.isArray(this.children)}get isInternal(){return!this.isLeaf}get isOpen(){return this.isLeaf?!1:this.tree.isOpen(this.id)}get isClosed(){return this.isLeaf?!1:!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(){var t;return this.isSelected&&!((t=this.prev)!=null&&t.isSelected)}get isSelectedEnd(){var t;return this.isSelected&&!((t=this.next)!=null&&t.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(t=>t.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(){var r;let t=this.childIndex;return((r=this.parent)==null?void 0:r.children[t+1])??null}isAncestorOf(t){if(!t)return!1;let r=t;for(;r;){if(r.id===this.id)return!0;r=r.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(t){this.tree.submit(this,t)}reset(){this.tree.reset()}clone(){return new wr(Object.assign({},this))}edit(){return this.tree.edit(this)}};const Be="__REACT_ARBORIST_INTERNAL_ROOT__";function ir(e){function t(n,i,s){let o=new nr({tree:e,data:n,level:i,parent:s,id:e.accessId(n),children:null,isDraggable:e.isDraggable(n),rowIndex:null}),a=e.accessChildren(n);return a&&(o.children=a.map(d=>t(d,i+1,o))),o}let r=new nr({tree:e,id:Be,data:{id:Be},level:-1,parent:null,children:null,isDraggable:!0,rowIndex:null});return r.children=(e.props.data??[]).map(n=>t(n,0,r)),r}const ze={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 sr(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 r=e[t.id];return Object.assign(Object.assign({},e),{[t.id]:!r})}else return t.type==="VISIBILITY_CLEAR"?{}:e}function xs(e={filtered:{},unfiltered:{}},t){return t.type.startsWith("VISIBILITY")?t.filtered?Object.assign(Object.assign({},e),{filtered:sr(e.filtered,t)}):Object.assign(Object.assign({},e),{unfiltered:sr(e.unfiltered,t)}):e}const V=e=>({nodes:{open:{filtered:{},unfiltered:(e==null?void 0: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}}),j={clear:()=>({type:"SELECTION_CLEAR"}),only:e=>({type:"SELECTION_ONLY",id:U(e)}),add:e=>({type:"SELECTION_ADD",ids:(Array.isArray(e)?e:[e]).map(U)}),remove:e=>({type:"SELECTION_REMOVE",ids:(Array.isArray(e)?e:[e]).map(U)}),set:e=>Object.assign({type:"SELECTION_SET"},e),mostRecent:e=>({type:"SELECTION_MOST_RECENT",id:e===null?null:U(e)}),anchor:e=>({type:"SELECTION_ANCHOR",id:e===null?null:U(e)})};function Cs(e=V().nodes.selection,t){let r=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(n=>r.add(n)),Object.assign(Object.assign({},e),{ids:new Set(r)}));case"SELECTION_REMOVE":return t.ids.length===0?e:(t.ids.forEach(n=>r.delete(n)),Object.assign(Object.assign({},e),{ids:new Set(r)}));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}}const K={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 Ns(e=V().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 V().dnd;case"DND_HOVERING":return Object.assign(Object.assign({},e),{parentId:t.parentId,index:t.index});default:return e}}var Rs={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"},Ps=e=>{if(!e)return{display:"none"};let{x:t,y:r}=e;return{transform:`translate(${t}px, ${r}px)`}},js=e=>{if(!e)return{display:"none"};let{x:t,y:r}=e;return{transform:`translate(${t+10}px, ${r+10}px)`}};function or({offset:e,mouse:t,id:r,dragIds:n,isDragging:i}){return(0,v.jsxs)(_s,{isDragging:i,children:[(0,v.jsx)(Ms,{offset:e,children:(0,v.jsx)(ks,{id:r,dragIds:n})}),(0,v.jsx)(As,{mouse:t,count:n.length})]})}var _s=(0,p.memo)(function(e){return e.isDragging?(0,v.jsx)("div",{style:Rs,children:e.children}):null});function Ms(e){return(0,v.jsx)("div",{className:"row preview",style:Ps(e.offset),children:e.children})}function As(e){let{count:t,mouse:r}=e;return t>1?(0,v.jsx)("div",{className:"selected-count",style:js(r),children:t}):null}var ks=(0,p.memo)(function(e){let t=N(),r=t.get(e.id);return r?(0,v.jsx)(t.renderNode,{preview:!0,node:r,style:{paddingLeft:r.level*t.indent,opacity:.2,background:"transparent"},tree:t}):null}),ar=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function Ls(e,t){return!!(e===t||ar(e)&&ar(t))}function Fs(e,t){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(!Ls(e[r],t[r]))return!1;return!0}function Hs(e,t){t===void 0&&(t=Fs);var r,n=[],i,s=!1;function o(){var a=[...arguments];return s&&r===this&&t(a,n)||(i=e.apply(this,a),s=!0,r=this,n=a),i}return o}var We=Hs,lr=typeof performance=="object"&&typeof performance.now=="function"?function(){return performance.now()}:function(){return Date.now()};function dr(e){cancelAnimationFrame(e.id)}function Us(e,t){var r=lr();function n(){lr()-r>=t?e.call(null):i.id=requestAnimationFrame(n)}var i={id:requestAnimationFrame(n)};return i}var Ge=-1;function cr(e){if(e===void 0&&(e=!1),Ge===-1||e){var t=document.createElement("div"),r=t.style;r.width="50px",r.height="50px",r.overflow="scroll",document.body.appendChild(t),Ge=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return Ge}var Q=null;function ur(e){if(e===void 0&&(e=!1),Q===null||e){var t=document.createElement("div"),r=t.style;r.width="50px",r.height="50px",r.overflow="scroll",r.direction="rtl";var n=document.createElement("div"),i=n.style;return i.width="100px",i.height="100px",t.appendChild(n),document.body.appendChild(t),t.scrollLeft>0?Q="positive-descending":(t.scrollLeft=1,Q=t.scrollLeft===0?"negative":"positive-ascending"),document.body.removeChild(t),Q}return Q}var Bs=150,zs=function(e,t){return e};function Ws(e){var t,r=e.getItemOffset,n=e.getEstimatedTotalSize,i=e.getItemSize,s=e.getOffsetForIndexAndAlignment,o=e.getStartIndexForOffset,a=e.getStopIndexForStartIndex,d=e.initInstanceProps,c=e.shouldResetStyleCacheOnItemSizeChange,f=e.validateProps;return t=(function(O){en(y,O);function y(u){var l=O.call(this,u)||this;return l._instanceProps=d(l.props,it(l)),l._outerRef=void 0,l._resetIsScrollingTimeoutId=null,l.state={instance:it(l),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof l.props.initialScrollOffset=="number"?l.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},l._callOnItemsRendered=void 0,l._callOnItemsRendered=We(function(g,m,b,S){return l.props.onItemsRendered({overscanStartIndex:g,overscanStopIndex:m,visibleStartIndex:b,visibleStopIndex:S})}),l._callOnScroll=void 0,l._callOnScroll=We(function(g,m,b){return l.props.onScroll({scrollDirection:g,scrollOffset:m,scrollUpdateWasRequested:b})}),l._getItemStyle=void 0,l._getItemStyle=function(g){var m=l.props,b=m.direction,S=m.itemSize,D=m.layout,w=l._getItemStyleCache(c&&S,c&&D,c&&b),x;if(w.hasOwnProperty(g))x=w[g];else{var C=r(l.props,g,l._instanceProps),F=i(l.props,g,l._instanceProps),z=b==="horizontal"||D==="horizontal",Z=b==="rtl",ee=z?C:0;w[g]=x={position:"absolute",left:Z?void 0:ee,right:Z?ee:void 0,top:z?0:C,height:z?"100%":F,width:z?F:"100%"}}return x},l._getItemStyleCache=void 0,l._getItemStyleCache=We(function(g,m,b){return{}}),l._onScrollHorizontal=function(g){var m=g.currentTarget,b=m.clientWidth,S=m.scrollLeft,D=m.scrollWidth;l.setState(function(w){if(w.scrollOffset===S)return null;var x=l.props.direction,C=S;if(x==="rtl")switch(ur()){case"negative":C=-S;break;case"positive-descending":C=D-b-S;break}return C=Math.max(0,Math.min(C,D-b)),{isScrolling:!0,scrollDirection:w.scrollOffset<C?"forward":"backward",scrollOffset:C,scrollUpdateWasRequested:!1}},l._resetIsScrollingDebounced)},l._onScrollVertical=function(g){var m=g.currentTarget,b=m.clientHeight,S=m.scrollHeight,D=m.scrollTop;l.setState(function(w){if(w.scrollOffset===D)return null;var x=Math.max(0,Math.min(D,S-b));return{isScrolling:!0,scrollDirection:w.scrollOffset<x?"forward":"backward",scrollOffset:x,scrollUpdateWasRequested:!1}},l._resetIsScrollingDebounced)},l._outerRefSetter=function(g){var m=l.props.outerRef;l._outerRef=g,typeof m=="function"?m(g):typeof m=="object"&&m&&m.hasOwnProperty("current")&&(m.current=g)},l._resetIsScrollingDebounced=function(){l._resetIsScrollingTimeoutId!==null&&dr(l._resetIsScrollingTimeoutId),l._resetIsScrollingTimeoutId=Us(l._resetIsScrolling,Bs)},l._resetIsScrolling=function(){l._resetIsScrollingTimeoutId=null,l.setState({isScrolling:!1},function(){l._getItemStyleCache(-1,null)})},l}y.getDerivedStateFromProps=function(u,l){return Gs(u,l),f(u),null};var h=y.prototype;return h.scrollTo=function(u){u=Math.max(0,u),this.setState(function(l){return l.scrollOffset===u?null:{scrollDirection:l.scrollOffset<u?"forward":"backward",scrollOffset:u,scrollUpdateWasRequested:!0}},this._resetIsScrollingDebounced)},h.scrollToItem=function(u,l){l===void 0&&(l="auto");var g=this.props,m=g.itemCount,b=g.layout,S=this.state.scrollOffset;u=Math.max(0,Math.min(u,m-1));var D=0;if(this._outerRef){var w=this._outerRef;D=b==="vertical"?w.scrollWidth>w.clientWidth?cr():0:w.scrollHeight>w.clientHeight?cr():0}this.scrollTo(s(this.props,u,l,S,this._instanceProps,D))},h.componentDidMount=function(){var u=this.props,l=u.direction,g=u.initialScrollOffset,m=u.layout;if(typeof g=="number"&&this._outerRef!=null){var b=this._outerRef;l==="horizontal"||m==="horizontal"?b.scrollLeft=g:b.scrollTop=g}this._callPropsCallbacks()},h.componentDidUpdate=function(){var u=this.props,l=u.direction,g=u.layout,m=this.state,b=m.scrollOffset;if(m.scrollUpdateWasRequested&&this._outerRef!=null){var S=this._outerRef;if(l==="horizontal"||g==="horizontal")if(l==="rtl")switch(ur()){case"negative":S.scrollLeft=-b;break;case"positive-ascending":S.scrollLeft=b;break;default:var D=S.clientWidth;S.scrollLeft=S.scrollWidth-D-b;break}else S.scrollLeft=b;else S.scrollTop=b}this._callPropsCallbacks()},h.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&dr(this._resetIsScrollingTimeoutId)},h.render=function(){var u=this.props,l=u.children,g=u.className,m=u.direction,b=u.height,S=u.innerRef,D=u.innerElementType,w=u.innerTagName,x=u.itemCount,C=u.itemData,F=u.itemKey,z=F===void 0?zs:F,Z=u.layout,ee=u.outerElementType,Tr=u.outerTagName,Er=u.style,xr=u.useIsScrolling,Cr=u.width,Xe=this.state.isScrolling,me=m==="horizontal"||Z==="horizontal",Nr=me?this._onScrollHorizontal:this._onScrollVertical,Je=this._getRangeToRender(),Rr=Je[0],Pr=Je[1],Qe=[];if(x>0)for(var Y=Rr;Y<=Pr;Y++)Qe.push((0,p.createElement)(l,{data:C,key:z(Y,C),index:Y,isScrolling:xr?Xe:void 0,style:this._getItemStyle(Y)}));var Ze=n(this.props,this._instanceProps);return(0,p.createElement)(ee||Tr||"div",{className:g,onScroll:Nr,ref:this._outerRefSetter,style:qr({position:"relative",height:b,width:Cr,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:m},Er)},(0,p.createElement)(D||w||"div",{children:Qe,ref:S,style:{height:me?"100%":Ze,pointerEvents:Xe?"none":void 0,width:me?Ze:"100%"}}))},h._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"&&this.props.itemCount>0){var u=this._getRangeToRender(),l=u[0],g=u[1],m=u[2],b=u[3];this._callOnItemsRendered(l,g,m,b)}if(typeof this.props.onScroll=="function"){var S=this.state,D=S.scrollDirection,w=S.scrollOffset,x=S.scrollUpdateWasRequested;this._callOnScroll(D,w,x)}},h._getRangeToRender=function(){var u=this.props,l=u.itemCount,g=u.overscanCount,m=this.state,b=m.isScrolling,S=m.scrollDirection,D=m.scrollOffset;if(l===0)return[0,0,0,0];var w=o(this.props,D,this._instanceProps),x=a(this.props,w,D,this._instanceProps),C=!b||S==="backward"?Math.max(1,g):1,F=!b||S==="forward"?Math.max(1,g):1;return[Math.max(0,w-C),Math.max(0,Math.min(l-1,x+F)),w,x]},y})(p.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},t}var Gs=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},Vs=Ws({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,r,n,i,s){var o=e.direction,a=e.height,d=e.itemCount,c=e.itemSize,f=e.layout,O=e.width,y=o==="horizontal"||f==="horizontal"?O:a,h=Math.max(0,d*c-y),u=Math.min(h,t*c),l=Math.max(0,t*c-y+c+s);switch(r==="smart"&&(r=n>=l-y&&n<=u+y?"auto":"center"),r){case"start":return u;case"end":return l;case"center":var g=Math.round(l+(u-l)/2);return g<Math.ceil(y/2)?0:g>h+Math.floor(y/2)?h:g;default:return n>=l&&n<=u?n:n<l?l:u}},getStartIndexForOffset:function(e,t){var r=e.itemCount,n=e.itemSize;return Math.max(0,Math.min(r-1,Math.floor(t/n)))},getStopIndexForStartIndex:function(e,t,r){var n=e.direction,i=e.height,s=e.itemCount,o=e.itemSize,a=e.layout,d=e.width,c=n==="horizontal"||a==="horizontal",f=t*o,O=c?d:i,y=Math.ceil((O+r-f)/o);return Math.max(0,Math.min(s-1,t+y-1))},initInstanceProps:function(e){},shouldResetStyleCacheOnItemSizeChange:!0,validateProps:function(e){e.itemSize}});function Ks(){let e=N(),t=cs().cursor;if(!t||t.type!=="line")return null;let r=e.indent,n=e.rowHeight*t.index+(e.props.padding??e.props.paddingTop??0),i=r*t.level,s=e.renderCursor;return(0,v.jsx)(s,{top:n,left:i,indent:r})}var $s=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r};const Ys=(0,p.forwardRef)(function(e,t){let{children:r}=e,n=$s(e,["children"]),i=N();return(0,v.jsxs)("div",Object.assign({ref:t},n,{onClick:s=>{s.currentTarget===s.target&&i.deselectAll()},children:[(0,v.jsx)(qs,{}),r]}))});var qs=()=>{let e=N();return(0,v.jsx)("div",{style:{height:e.visibleNodes.length*e.rowHeight,width:"100%",position:"absolute",left:"0",right:"0"},children:(0,v.jsx)(Ks,{})})},Xs=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r};const Js=(0,p.forwardRef)(function(e,t){var{style:r}=e,n=Xs(e,["style"]);let i=N(),s=i.props.padding??i.props.paddingTop??0,o=i.props.padding??i.props.paddingBottom??0;return(0,v.jsx)("div",Object.assign({ref:t,style:Object.assign(Object.assign({},r),{height:`${parseFloat(r.height)+s+o}px`})},n))});function Qs(e){let t=N(),r=t.selectedIds,[n,i,s]=Ui(()=>({canDrag:()=>e.isDraggable,type:"NODE",item:()=>{let o=t.isSelected(e.id)?Array.from(r):[e.id];return t.dispatch(K.dragStart(e.id,o)),{id:e.id,dragIds:o}},end:()=>{t.hideCursor(),t.dispatch(K.dragEnd())}}),[r,e]);return(0,p.useEffect)(()=>{s(ls())},[s]),i}function Zs(e,t){let r=e.getBoundingClientRect(),n=t.x-Math.round(r.x),i=t.y-Math.round(r.y),s=r.height,o=i<s/2,a=!o,d=s/4,c=i>d&&i<s-d;return{x:n,inTopHalf:o,inBottomHalf:a,inMiddle:c,atTop:!c&&o,atBottom:!c&&a}}function eo(e,t,r,n){return e?e.isInternal?n.atTop?[t,e]:n.inMiddle?[e,e]:[e,r]:n.inTopHalf?[t,e]:[e,r]:[t,null]}function he(e,t){return{parentId:e||null,index:t}}function $(e,t){return{type:"line",index:e,level:t}}function to(e){return{type:"highlight",id:e}}function Ve(e,t){var n;let r=e;for(;r.parent&&r.level>t;)r=r.parent;return{parentId:((n=r.parent)==null?void 0:n.id)||null,index:Yt(r)+1}}function hr(e){var c;let t=Zs(e.element,e.offset),r=e.indent,n=Math.round(Math.max(0,t.x-r)/r),{node:i,nextNode:s,prevNode:o}=e,[a,d]=eo(i,o,s,t);if(i&&i.isInternal&&t.inMiddle)return{drop:he(i.id,null),cursor:to(i.id)};if(!a)return{drop:he((c=d==null?void 0:d.parent)==null?void 0:c.id,0),cursor:$(0,0)};if(Gt(a)){let f=ce(n,(d==null?void 0:d.level)||0,a.level);return{drop:Ve(a,f),cursor:$(a.rowIndex+1,f)}}if(Vt(a)){let f=ce(n,(d==null?void 0:d.level)||0,a.level);return{drop:Ve(a,f),cursor:$(a.rowIndex+1,f)}}if(Kt(a)){let f=ce(n,0,a.level+1);return f>a.level?{drop:he(a.id,0),cursor:$(a.rowIndex+1,f)}:{drop:Ve(a,f),cursor:$(a.rowIndex+1,f)}}return{drop:he(a==null?void 0:a.id,0),cursor:$(a.rowIndex+1,a.level+1)}}function ro(e,t){let r=N(),[n,i]=xt(()=>({accept:"NODE",canDrop:()=>r.canDrop(),hover:(s,o)=>{let a=o.getClientOffset();if(!e.current||!a)return;let{cursor:d,drop:c}=hr({element:e.current,offset:a,indent:r.indent,node:t,prevNode:t.prev,nextNode:t.next});c&&r.dispatch(K.hovering(c.parentId,c.index)),o.canDrop()?d&&r.showCursor(d):r.hideCursor()},drop:(s,o)=>{if(!o.canDrop())return null;let{parentId:a,index:d,dragIds:c}=r.state.dnd;Zt(r.props.onMove,{dragIds:c,parentId:a==="__REACT_ARBORIST_INTERNAL_ROOT__"?null:a,index:d===null?0:d,dragNodes:r.dragNodes,parentNode:r.get(a)}),r.open(a)}}),[t,e.current,r.props]);return i}function no(e){let t=N(),r=t.at(e);if(!r)throw Error(`Could not find node for index: ${e}`);return(0,p.useMemo)(()=>{let n=r.clone();return t.visibleNodes[e]=n,n},[...Object.values(r.state),r])}const io=p.memo(function({index:e,style:t}){Wt(),ds();let r=N(),n=no(e),i=(0,p.useRef)(null),s=Qs(n),o=ro(i,n),a=(0,p.useCallback)(u=>{i.current=u,o(u)},[o]),d=r.indent*n.level,c=(0,p.useMemo)(()=>({paddingLeft:d}),[d]),f=(0,p.useMemo)(()=>Object.assign(Object.assign({},t),{top:parseFloat(t.top)+(r.props.padding??r.props.paddingTop??0)}),[t,r.props.padding,r.props.paddingTop]),O={role:"treeitem","aria-level":n.level+1,"aria-selected":n.isSelected,"aria-expanded":n.isOpen,style:f,tabIndex:-1,className:r.props.rowClassName};(0,p.useEffect)(()=>{var u;!n.isEditing&&n.isFocused&&((u=i.current)==null||u.focus({preventScroll:!0}))},[n.isEditing,n.isFocused,i.current]);let y=r.renderNode,h=r.renderRow;return(0,v.jsx)(h,{node:n,innerRef:a,attrs:O,children:(0,v.jsx)(y,{node:n,tree:r,style:c,dragHandle:s})})});var Ke="",fr=null;function gr(){Wt();let e=N();return(0,v.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=>{var n;if(e.isEditing)return;if(t.key==="Backspace"){if(!e.props.onDelete)return;let i=Array.from(e.selectedIds);if(i.length>1){let s=e.mostRecentNode;for(;s&&s.isSelected;)s=s.nextSibling;s||(s=e.lastNode),e.focus(s,{scroll:!1}),e.delete(Array.from(i))}else{let s=e.focusedNode;if(s){let o=s.nextSibling,a=s.parent;e.focus(o||a,{scroll:!1}),e.delete(s)}}return}if(t.key==="Tab"&&!t.shiftKey){t.preventDefault(),qt(t.currentTarget);return}if(t.key==="Tab"&&t.shiftKey){t.preventDefault(),Xt(t.currentTarget);return}if(t.key==="ArrowDown"){t.preventDefault();let i=e.nextNode;if(t.metaKey){e.select(e.focusedNode),e.activate(e.focusedNode);return}else if(!t.shiftKey||e.props.disableMultiSelection){e.focus(i);return}else{if(!i)return;let s=e.focusedNode;s?s.isSelected?e.selectContiguous(i):e.selectMulti(i):e.focus(e.firstNode);return}}if(t.key==="ArrowUp"){t.preventDefault();let i=e.prevNode;if(!t.shiftKey||e.props.disableMultiSelection){e.focus(i);return}else{if(!i)return;let s=e.focusedNode;s?s.isSelected?e.selectContiguous(i):e.selectMulti(i):e.focus(e.lastNode);return}}if(t.key==="ArrowRight"){let i=e.focusedNode;if(!i)return;i.isInternal&&i.isOpen?e.focus(e.nextNode):i.isInternal&&e.open(i.id);return}if(t.key==="ArrowLeft"){let i=e.focusedNode;if(!i||i.isRoot)return;i.isInternal&&i.isOpen?e.close(i.id):(n=i.parent)!=null&&n.isRoot||e.focus(i.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 i=e.focusedNode;if(!i||!i.isEditable||!e.props.onRename)return;setTimeout(()=>{i&&e.edit(i)});return}if(t.key===" "){t.preventDefault();let i=e.focusedNode;if(!i)return;i.isLeaf?(i.select(),i.activate()):i.toggle();return}if(t.key==="*"){let i=e.focusedNode;if(!i)return;e.openSiblings(i);return}if(t.key==="PageUp"){t.preventDefault(),e.pageUp();return}t.key==="PageDown"&&(t.preventDefault(),e.pageDown()),clearTimeout(fr),Ke+=t.key,fr=setTimeout(()=>{Ke=""},600);let r=e.visibleNodes.find(i=>{let s=i.data.name;return typeof s=="string"?s.toLowerCase().startsWith(Ke):!1});r&&e.focus(r.id)},children:(0,v.jsx)(Vs,{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=>{var r;return((r=e.visibleNodes[t])==null?void 0:r.id)||t},outerElementType:Ys,innerElementType:Js,onScroll:e.props.onScroll,onItemsRendered:e.onItemsRendered.bind(e),ref:e.list,children:io})})}function pr(e){return e.isFiltered?oo(e.root,e.isMatch.bind(e)):so(e.root)}function so(e){let t=[];function r(n){var i;n.level>=0&&t.push(n),n.isOpen&&((i=n.children)==null||i.forEach(r))}return r(e),t.forEach(mr),t}function oo(e,t){let r={},n=[];function i(o){if(!o.isRoot&&t(o)){r[o.id]=!0;let a=o.parent;for(;a;)r[a.id]=!0,a=a.parent}if(o.children)for(let a of o.children)i(a)}function s(o){var a;o.level>=0&&r[o.id]&&n.push(o),o.isOpen&&((a=o.children)==null||a.forEach(s))}return i(e),s(e),n.forEach(mr),n}function mr(e,t){e.rowIndex=t}const vr=e=>e.reduce((t,r,n)=>(t[r.id]=n,t),{});var $e=function(e,t,r,n){function i(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(f){try{c(n.next(f))}catch(O){o(O)}}function d(f){try{c(n.throw(f))}catch(O){o(O)}}function c(f){f.done?s(f.value):i(f.value).then(a,d)}c((n=n.apply(e,t||[])).next())})},{safeRun:T,identify:M,identifyNull:_}=us,ao=class pe{constructor(t,r,n,i){this.store=t,this.props=r,this.list=n,this.listEl=i,this.visibleStartIndex=0,this.visibleStopIndex=0,this.root=ir(this),this.visibleNodes=pr(this),this.idToIndex=vr(this.visibleNodes)}update(t){this.props=t,this.root=ir(this),this.visibleNodes=pr(this),this.idToIndex=vr(this.visibleNodes)}dispatch(t){return this.store.dispatch(t)}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 t=this.props.searchMatch??((r,n)=>JSON.stringify(Object.values(r.data)).toLocaleLowerCase().includes(n.toLocaleLowerCase()));return r=>t(r,this.searchTerm)}accessChildren(t){return J(t,this.props.childrenAccessor||"children")??null}accessId(t){let r=J(t,this.props.idAccessor||"id");if(!r)throw Error("Data must contain an 'id' property or props.idAccessor must return a string");return r}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 t=this.indexOf(this.focusedNode);return t===null?null:this.at(t+1)}get prevNode(){let t=this.indexOf(this.focusedNode);return t===null?null:this.at(t-1)}get(t){return t&&t in this.idToIndex&&this.visibleNodes[this.idToIndex[t]]||null}at(t){return this.visibleNodes[t]||null}nodesBetween(t,r){if(t===null||r===null)return[];let n=this.indexOf(t)??0,i=this.indexOf(r);if(i===null)return[];let s=Math.min(n,i),o=Math.max(n,i);return this.visibleNodes.slice(s,o+1)}indexOf(t){let r=Qt(t);return r?this.idToIndex[r]:null}get editingId(){return this.state.nodes.edit.id}createInternal(){return this.create({type:"internal"})}createLeaf(){return this.create({type:"leaf"})}create(){return $e(this,arguments,void 0,function*(t={}){let r=t.parentId===void 0?rr(this):t.parentId,n=t.index??tr(this),i=t.type??"leaf",s=yield T(this.props.onCreate,{type:i,parentId:r,index:n,parentNode:this.get(r)});s&&(this.focus(s),setTimeout(()=>{this.edit(s).then(()=>{this.select(s),this.activate(s)})}))})}delete(t){return $e(this,void 0,void 0,function*(){if(!t)return;let r=(Array.isArray(t)?t:[t]).map(M),n=r.map(i=>this.get(i)).filter(i=>!!i);yield T(this.props.onDelete,{nodes:n,ids:r})})}edit(t){let r=M(t);return this.resolveEdit({cancelled:!0}),this.scrollTo(r),this.dispatch(Ue(r)),new Promise(n=>{pe.editPromise=n})}submit(t,r){return $e(this,void 0,void 0,function*(){if(!t)return;let n=M(t);yield T(this.props.onRename,{id:n,name:r,node:this.get(n)}),this.dispatch(Ue(null)),this.resolveEdit({cancelled:!1,value:r}),setTimeout(()=>this.onFocus())})}reset(){this.dispatch(Ue(null)),this.resolveEdit({cancelled:!0}),setTimeout(()=>this.onFocus())}activate(t){let r=this.get(_(t));r&&T(this.props.onActivate,r)}resolveEdit(t){let r=pe.editPromise;r&&r(t),pe.editPromise=null}get selectedIds(){return this.state.nodes.selection.ids}get selectedNodes(){let t=[];for(let r of Array.from(this.selectedIds)){let n=this.get(r);n&&t.push(n)}return t}focus(t,r={}){t&&(this.props.selectionFollowsFocus?this.select(t):(this.dispatch(G(M(t))),r.scroll!==!1&&this.scrollTo(t),this.focusedNode&&T(this.props.onFocus,this.focusedNode)))}pageUp(){var i;let t=this.visibleStartIndex,r=this.visibleStopIndex-t,n=((i=this.focusedNode)==null?void 0:i.rowIndex)??0;n=n>t?t:Math.max(t-r,0),this.focus(this.at(n))}pageDown(){var s;let t=this.visibleStartIndex,r=this.visibleStopIndex,n=r-t,i=((s=this.focusedNode)==null?void 0:s.rowIndex)??0;i=i<r?r:Math.min(i+n,this.visibleNodes.length-1),this.focus(this.at(i))}select(t,r={}){if(!t)return;let n=r.focus!==!1,i=M(t);n&&this.dispatch(G(i)),this.dispatch(j.only(i)),this.dispatch(j.anchor(i)),this.dispatch(j.mostRecent(i)),this.scrollTo(i,r.align),this.focusedNode&&n&&T(this.props.onFocus,this.focusedNode),T(this.props.onSelect,this.selectedNodes)}deselect(t){if(!t)return;let r=M(t);this.dispatch(j.remove(r)),T(this.props.onSelect,this.selectedNodes)}selectMulti(t){let r=this.get(_(t));r&&(this.dispatch(G(r.id)),this.dispatch(j.add(r.id)),this.dispatch(j.anchor(r.id)),this.dispatch(j.mostRecent(r.id)),this.scrollTo(r),this.focusedNode&&T(this.props.onFocus,this.focusedNode),T(this.props.onSelect,this.selectedNodes))}selectContiguous(t){if(!t)return;let r=M(t),{anchor:n,mostRecent:i}=this.state.nodes.selection;this.dispatch(G(r)),this.dispatch(j.remove(this.nodesBetween(n,i))),this.dispatch(j.add(this.nodesBetween(n,_(r)))),this.dispatch(j.mostRecent(r)),this.scrollTo(r),this.focusedNode&&T(this.props.onFocus,this.focusedNode),T(this.props.onSelect,this.selectedNodes)}deselectAll(){this.setSelection({ids:[],anchor:null,mostRecent:null}),T(this.props.onSelect,this.selectedNodes)}selectAll(){var t;this.setSelection({ids:Object.keys(this.idToIndex),anchor:this.firstNode,mostRecent:this.lastNode}),this.dispatch(G((t=this.lastNode)==null?void 0:t.id)),this.focusedNode&&T(this.props.onFocus,this.focusedNode),T(this.props.onSelect,this.selectedNodes)}setSelection(t){var s;let r=new Set((s=t.ids)==null?void 0:s.map(M)),n=_(t.anchor),i=_(t.mostRecent);this.dispatch(j.set({ids:r,anchor:n,mostRecent:i})),T(this.props.onSelect,this.selectedNodes)}get cursorParentId(){let{cursor:t}=this.state.dnd;return t.type==="highlight"?t.id:null}get cursorOverFolder(){return this.state.dnd.cursor.type==="highlight"}get dragNodes(){return this.state.dnd.dragIds.map(t=>this.get(t)).filter(t=>!!t)}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 t=this.get(this.state.dnd.parentId)??this.root,r=this.dragNodes,n=this.props.disableDrop;for(let i of r)if(!i||!t||i.isInternal&&$t(t,i))return!1;return typeof n=="function"?!n({parentNode:t,dragNodes:this.dragNodes,index:this.state.dnd.index||0}):typeof n=="string"?!t.data[n]:typeof n=="boolean"?!n:!0}hideCursor(){this.dispatch(K.cursor({type:"none"}))}showCursor(t){this.dispatch(K.cursor(t))}open(t){let r=_(t);r&&(this.isOpen(r)||(this.dispatch(ze.open(r,this.isFiltered)),T(this.props.onToggle,r)))}close(t){let r=_(t);r&&this.isOpen(r)&&(this.dispatch(ze.close(r,this.isFiltered)),T(this.props.onToggle,r))}toggle(t){let r=_(t);if(r)return this.isOpen(r)?this.close(r):this.open(r)}openParents(t){var i;let r=_(t);if(!r)return;let n=(i=He(this.root,r))==null?void 0:i.parent;for(;n;)this.open(n.id),n=n.parent}openSiblings(t){let r=t.parent;if(!r)this.toggle(t.id);else if(r.children){let n=t.isOpen;for(let i of r.children)i.isInternal&&(n?this.close(i.id):this.open(i.id));this.scrollTo(this.focusedNode)}}openAll(){ue(this.root,t=>{t.isInternal&&t.open()})}closeAll(){ue(this.root,t=>{t.isInternal&&t.close()})}scrollTo(t,r="smart"){if(!t)return;let n=M(t);return this.openParents(n),er(()=>n in this.idToIndex).then(()=>{var i;let s=this.idToIndex[n];s!==void 0&&((i=this.list.current)==null||i.scrollToItem(s,r))}).catch(()=>{})}get isEditing(){return this.state.nodes.edit.id!==null}get isFiltered(){var t;return!!((t=this.props.searchTerm)!=null&&t.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(t){return t?this.state.nodes.selection.ids.has(t):!1}isOpen(t){if(!t)return!1;if(t==="__REACT_ARBORIST_INTERNAL_ROOT__")return!0;let r=this.props.openByDefault??!0;return this.isFiltered?this.state.nodes.open.filtered[t]??!0:this.state.nodes.open.unfiltered[t]??r}isEditable(t){return!J(t,this.props.disableEdit||(()=>!1))}isDraggable(t){return!J(t,this.props.disableDrag||(()=>!1))}isDragging(t){let r=_(t);return r?this.state.nodes.drag.id===r:!1}isFocused(t){return this.hasFocus&&this.state.nodes.focus.id===t}isMatch(t){return this.matchFn(t)}willReceiveDrop(t){let r=_(t);if(!r)return!1;let{destinationParentId:n,destinationIndex:i}=this.state.nodes.drag;return r===n&&i===null}onFocus(){let t=this.focusedNode||this.firstNode;t&&this.dispatch(G(t.id))}onBlur(){this.dispatch(Ts())}onItemsRendered(t){this.visibleStartIndex=t.visibleStartIndex,this.visibleStopIndex=t.visibleStopIndex}get renderContainer(){return this.props.renderContainer||gr}get renderRow(){return this.props.renderRow||Is}get renderNode(){return this.props.children||bs}get renderDragPreview(){return this.props.renderDragPreview||or}get renderCursor(){return this.props.renderCursor||Os}};function E(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var yr=typeof Symbol=="function"&&Symbol.observable||"@@observable",Ye=()=>Math.random().toString(36).substring(7).split("").join("."),fe={INIT:`@@redux/INIT${Ye()}`,REPLACE:`@@redux/REPLACE${Ye()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Ye()}`};function lo(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 Or(e,t,r){if(typeof e!="function")throw Error(E(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw Error(E(0));if(typeof t=="function"&&r===void 0&&(r=t,t=void 0),r!==void 0){if(typeof r!="function")throw Error(E(1));return r(Or)(e,t)}let n=e,i=t,s=new Map,o=s,a=0,d=!1;function c(){o===s&&(o=new Map,s.forEach((l,g)=>{o.set(g,l)}))}function f(){if(d)throw Error(E(3));return i}function O(l){if(typeof l!="function")throw Error(E(4));if(d)throw Error(E(5));let g=!0;c();let m=a++;return o.set(m,l),function(){if(g){if(d)throw Error(E(6));g=!1,c(),o.delete(m),s=null}}}function y(l){if(!lo(l))throw Error(E(7));if(l.type===void 0)throw Error(E(8));if(typeof l.type!="string")throw Error(E(17));if(d)throw Error(E(9));try{d=!0,i=n(i,l)}finally{d=!1}return(s=o).forEach(g=>{g()}),l}function h(l){if(typeof l!="function")throw Error(E(10));n=l,y({type:fe.REPLACE})}function u(){let l=O;return{subscribe(g){if(typeof g!="object"||!g)throw Error(E(11));function m(){let b=g;b.next&&b.next(f())}return m(),{unsubscribe:l(m)}},[yr](){return this}}}return y({type:fe.INIT}),{dispatch:y,subscribe:O,getState:f,replaceReducer:h,[yr]:u}}function co(e){Object.keys(e).forEach(t=>{let r=e[t];if(r(void 0,{type:fe.INIT})===void 0)throw Error(E(12));if(r(void 0,{type:fe.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(E(13))})}function Ir(e){let t=Object.keys(e),r={};for(let s=0;s<t.length;s++){let o=t[s];typeof e[o]=="function"&&(r[o]=e[o])}let n=Object.keys(r),i;try{co(r)}catch(s){i=s}return function(s={},o){if(i)throw i;let a=!1,d={};for(let c=0;c<n.length;c++){let f=n[c],O=r[f],y=s[f],h=O(y,o);if(h===void 0)throw o&&o.type,Error(E(14));d[f]=h,a||(a=h!==y)}return a||(a=n.length!==Object.keys(s).length),a?d:s}}function uo(e=V().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}}const ho=Ir({nodes:Ir({focus:Es,edit:ws,open:xs,selection:Cs,drag:uo}),dnd:Ns});var fo=Hr(),go=V();function po({treeProps:e,imperativeHandle:t,children:r}){let n=(0,p.useRef)(null),i=(0,p.useRef)(null),s=(0,p.useRef)(Or(ho,V(e))),o=(0,fo.useSyncExternalStore)(s.current.subscribe,s.current.getState,()=>go),a=(0,p.useMemo)(()=>new ao(s.current,e,n,i),[]),d=(0,p.useRef)(0);return(0,p.useMemo)(()=>{d.current+=1,a.update(e)},[...Object.values(e),o.nodes.open]),(0,p.useImperativeHandle)(t,()=>a),(0,p.useEffect)(()=>{a.props.selection?a.select(a.props.selection,{focus:!1}):a.deselectAll()},[a.props.selection]),(0,p.useEffect)(()=>{a.props.searchTerm||s.current.dispatch(ze.clear(!0))},[a.props.searchTerm]),(0,v.jsx)(Ht.Provider,{value:a,children:(0,v.jsx)(zt.Provider,{value:d.current,children:(0,v.jsx)(Ut.Provider,{value:o.nodes,children:(0,v.jsx)(Bt.Provider,{value:o.dnd,children:(0,v.jsx)(It,Object.assign({backend:Ft,options:{rootElement:a.props.dndRootElement||void 0}},e.dndManager&&{manager:e.dndManager},{children:r}))})})})})}function mo(){let e=N(),[,t]=xt(()=>({accept:"NODE",canDrop:(r,n)=>n.isOver({shallow:!0})?e.canDrop():!1,hover:(r,n)=>{if(!n.isOver({shallow:!0}))return;let i=n.getClientOffset();if(!e.listEl.current||!i)return;let{cursor:s,drop:o}=hr({element:e.listEl.current,offset:i,indent:e.indent,node:null,prevNode:e.visibleNodes[e.visibleNodes.length-1],nextNode:null});o&&e.dispatch(K.hovering(o.parentId,o.index)),n.canDrop()?s&&e.showCursor(s):e.hideCursor()}}),[e]);t(e.listEl)}function vo(e){return mo(),e.children}function yo(){return(0,v.jsx)(v.Fragment,{children:(0,v.jsx)(N().props.renderContainer||gr,{})})}function Oo(){let e=N(),{offset:t,mouse:r,item:n,isDragging:i}=Bi(s=>({offset:s.getSourceClientOffset(),mouse:s.getClientOffset(),item:s.getItem(),isDragging:s.isDragging()}));return(0,v.jsx)(e.props.renderDragPreview||or,{offset:t,mouse:r,id:(n==null?void 0:n.id)||null,dragIds:(n==null?void 0:n.dragIds)||[],isDragging:i})}var ge=class{constructor(e){this.root=Io(e)}get data(){var e;return((e=this.root.children)==null?void 0:e.map(t=>t.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),r=e.parentId?this.find(e.parentId):this.root;!t||!r||(r.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 r of t.children){let n=this.find(e,r);if(n)return n}return null}return null}};function Io(e){let t=new br({id:"ROOT"},null);return t.children=e.map(r=>qe(r,t)),t}function qe(e,t){let r=new br(e,t);return e.children&&(r.children=e.children.map(n=>qe(n,r))),r}var br=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 r=qe(e,this);this.children=this.children??[],this.children.splice(t,0,r),this.data.children=this.data.children??[],this.data.children.splice(t,0,e)}removeChild(e){var t,r;(t=this.children)==null||t.splice(e,1),(r=this.data.children)==null||r.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)}},bo=0;function So(e){let[t,r]=(0,p.useState)(e),n=(0,p.useMemo)(()=>new ge(t),[t]);return[t,{onMove:i=>{for(let s of i.dragIds)n.move({id:s,parentId:i.parentId,index:i.index});r(n.data)},onRename:({name:i,id:s})=>{n.update({id:s,changes:{name:i}}),r(n.data)},onCreate:({parentId:i,index:s,type:o})=>{let a={id:`simple-tree-id-${bo++}`,name:""};return o==="internal"&&(a.children=[]),n.create({parentId:i,index:s,data:a}),r(n.data),a},onDelete:i=>{i.ids.forEach(s=>n.drop({id:s})),r(n.data)}}]}function Do(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,r]=So(e.initialData);return Object.assign(Object.assign(Object.assign({},e),r),{data:t})}else return e}function wo(e,t){return(0,v.jsxs)(po,{treeProps:Do(e),imperativeHandle:t,children:[(0,v.jsx)(vo,{children:(0,v.jsx)(yo,{})}),(0,v.jsx)(Oo,{})]})}const To=(0,p.forwardRef)(wo);var Sr=5;function A(e){return e.success?e:(q({title:"Failed",description:e.message}),null)}var Eo=class{constructor(e){k(this,"delegate",new ge([]));k(this,"rootPath","");k(this,"onChange",kr.NOOP);k(this,"path",new rt("/"));k(this,"initialize",async e=>{if(this.onChange=e,this.delegate.data.length===0)try{let t=await this.callbacks.listFiles({path:this.rootPath});this.delegate=new ge(t.files),this.rootPath=t.root,this.path=rt.guessDeliminator(t.root)}catch(t){q({title:"Failed",description:Yr(t)})}this.onChange(this.delegate.data)});k(this,"refreshAll",async e=>{let t=[this.rootPath,...e.map(n=>{var i;return(i=this.delegate.find(n))==null?void 0:i.data.path})].filter(Boolean),r=await nt(t,Sr,n=>this.callbacks.listFiles({path:n}).catch(()=>({files:[]})));for(let[n,i]of t.entries()){let s=r[n];i===this.rootPath?this.delegate=new ge(s.files):this.delegate.update({id:i,changes:{children:s.files}})}this.onChange(this.delegate.data)});k(this,"relativeFromRoot",e=>{let t=this.rootPath.endsWith(this.path.deliminator)?this.rootPath:`${this.rootPath}${this.path.deliminator}`;return e.startsWith(t)?e.slice(t.length):e});this.callbacks=e}async expand(e){let t=this.delegate.find(e);if(!t||!t.data.isDirectory)return!1;if(t.children&&t.children.length>0)return!0;let r=await this.callbacks.listFiles({path:t.data.path});return this.delegate.update({id:e,changes:{children:r.files}}),this.onChange(this.delegate.data),!0}async copy(e,t){var a;let r=this.delegate.find(e);if(!r){q({title:"Failed",description:`Node with id ${e} not found in the tree`});return}let{path:n,newPath:i}=te({path:r.data.path,name:t,root:this.rootPath}),s=this.path.dirname(n),o=await this.callbacks.copyFileOrFolder({path:n,newPath:i}).then(A);o!=null&&o.info&&(this.delegate.create({parentId:((a=r.parent)==null?void 0:a.id)??null,index:0,data:o.info}),this.onChange(this.delegate.data),await this.refreshAll([s]))}async rename(e,t){let r=this.delegate.find(e);if(!r){q({title:"Failed",description:`Node with id ${e} not found in the tree`});return}let{path:n,newPath:i}=te({path:r.data.path,name:t,root:this.rootPath});await this.callbacks.renameFileOrFolder({path:n,newPath:i}).then(A)&&(this.delegate.update({id:e,changes:{name:t,path:i}}),this.onChange(this.delegate.data),await this.refreshAll([i]))}async move(e,t){var n;let r=t?((n=this.delegate.find(t))==null?void 0:n.data.path)??t:this.rootPath;await nt(e,Sr,async i=>{let s=this.delegate.find(i);if(!s)return;let o=s.data.path,a=this.path.join(r,this.path.basename(o));await this.callbacks.renameFileOrFolder({path:o,newPath:a}).then(A)&&(this.delegate.move({id:i,parentId:t,index:0}),this.delegate.update({id:i,changes:{path:a}}))}),this.onChange(this.delegate.data),await this.refreshAll([r])}async createFile({name:e,parentId:t,type:r="file"}){var s;let n=t?((s=this.delegate.find(t))==null?void 0:s.data.path)??t:this.rootPath,i=await this.callbacks.createFileOrFolder({path:n,type:r,name:e}).then(A);i!=null&&i.info&&(this.delegate.create({parentId:t,index:0,data:i.info}),this.onChange(this.delegate.data),await this.refreshAll([n]))}async createFolder(e,t){var i;let r=t?((i=this.delegate.find(t))==null?void 0:i.data.path)??t:this.rootPath,n=await this.callbacks.createFileOrFolder({path:r,type:"directory",name:e}).then(A);n!=null&&n.info&&(this.delegate.create({parentId:t,index:0,data:n.info}),this.onChange(this.delegate.data),await this.refreshAll([r]))}async delete(e){let t=this.delegate.find(e);if(!t){q({title:"Failed",description:`Node with id ${e} not found in the tree`});return}await this.callbacks.deleteFileOrFolder({path:t.data.path}).then(A)&&(this.delegate.drop({id:e}),this.onChange(this.delegate.data))}},B=tt();function Dr(e){let t=(0,B.c)(13),{root:r}=e,{sendRenameFileOrFolder:n,sendCopyFileOrFolder:i,sendDeleteFileOrFolder:s}=Wr(),o;t[0]!==r||t[1]!==n?(o=async(h,u)=>{let{path:l,newPath:g}=te({path:h.path,name:u,root:r});return A(await n({path:l,newPath:g}))},t[0]=r,t[1]=n,t[2]=o):o=t[2];let a=o,d;t[3]!==r||t[4]!==i?(d=async h=>{let{path:u,newPath:l}=te({path:h.path,name:Qr(h.name),root:r});return A(await i({path:u,newPath:l}))},t[3]=r,t[4]=i,t[5]=d):d=t[5];let c=d,f;t[6]!==r||t[7]!==s?(f=async h=>A(await s({path:Jr(h.path,r)})),t[6]=r,t[7]=s,t[8]=f):f=t[8];let O=f,y;return t[9]!==O||t[10]!==c||t[11]!==a?(y={renameFile:a,duplicateFile:c,deleteFile:O},t[9]=O,t[10]=c,t[11]=a,t[12]=y):y=t[12],y}var xo={file:"Delete file",folder:"Delete folder",notebook:"Delete notebook"};function Co(){let e=(0,B.c)(2),{openConfirm:t}=$r(),r;return e[0]===t?r=e[1]:(r=(n,i)=>{t({title:xo[n.kind??"file"],description:`Are you sure you want to delete ${n.name}?`,confirmAction:(0,v.jsx)(Fr,{onClick:async()=>{await i()},"aria-label":"Confirm",children:"Delete"})})},e[0]=t,e[1]=r),r}function No(e){let t=(0,B.c)(17),{node:r,root:n,onAfterChange:i}=e,s;t[0]===n?s=t[1]:(s={root:n},t[0]=n,t[1]=s);let{duplicateFile:o,deleteFile:a}=Dr(s),d=Co(),c;t[2]===r?c=t[3]:(c=()=>{r.edit()},t[2]=r,t[3]=c);let f=ye(c),O;t[4]!==o||t[5]!==r.data||t[6]!==i?(O=async()=>{await o(r.data)&&(i==null||i())},t[4]=o,t[5]=r.data,t[6]=i,t[7]=O):O=t[7];let y=ye(O),h;t[8]!==d||t[9]!==a||t[10]!==r.data||t[11]!==i?(h=()=>{let g=r.data.isDirectory?"folder":r.data.isMarimoFile?"notebook":"file";d({name:r.data.name,kind:g},async()=>{await a(r.data)&&(i==null||i())})},t[8]=d,t[9]=a,t[10]=r.data,t[11]=i,t[12]=h):h=t[12];let u=ye(h),l;return t[13]!==u||t[14]!==y||t[15]!==f?(l={handleRename:f,handleDuplicate:y,handleDelete:u},t[13]=u,t[14]=y,t[15]=f,t[16]=l):l=t[16],l}const Ro=e=>{let t=(0,B.c)(15),{testId:r,buttonClassName:n,iconClassName:i,contentClassName:s,preventDefaultOnTrigger:o,children:a}=e,d=o===void 0?!1:o,c;t[0]===d?c=t[1]:(c=l=>{l.stopPropagation(),d&&l.preventDefault()},t[0]=d,t[1]=c);let f;t[2]!==n||t[3]!==i||t[4]!==r?(f=(0,v.jsx)(Xr,{"data-testid":r,className:n,iconClassName:i}),t[2]=n,t[3]=i,t[4]=r,t[5]=f):f=t[5];let O;t[6]!==c||t[7]!==f?(O=(0,v.jsx)(Ur,{asChild:!0,tabIndex:-1,onClick:c,children:f}),t[6]=c,t[7]=f,t[8]=O):O=t[8];let y=s??"print:hidden w-[220px]",h;t[9]!==a||t[10]!==y?(h=(0,v.jsx)(Br,{align:"end",className:y,onClick:Mo,onCloseAutoFocus:Ao,children:a}),t[9]=a,t[10]=y,t[11]=h):h=t[11];let u;return t[12]!==O||t[13]!==h?(u=(0,v.jsxs)(zr,{modal:!1,children:[O,h]}),t[12]=O,t[13]=h,t[14]=u):u=t[14],u},Po=e=>{let t=(0,B.c)(6),{onSelect:r,disabled:n,title:i,testId:s}=e,o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,v.jsx)(Zr,{className:Ie}),t[0]=o):o=t[0];let a;return t[1]!==n||t[2]!==r||t[3]!==s||t[4]!==i?(a=(0,v.jsxs)(Oe,{onSelect:r,disabled:n,title:i,"data-testid":s,children:[o,"Rename"]}),t[1]=n,t[2]=r,t[3]=s,t[4]=i,t[5]=a):a=t[5],a},jo=e=>{let t=(0,B.c)(6),{onSelect:r,disabled:n,title:i,testId:s}=e,o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,v.jsx)(Vr,{className:Ie}),t[0]=o):o=t[0];let a;return t[1]!==n||t[2]!==r||t[3]!==s||t[4]!==i?(a=(0,v.jsxs)(Oe,{onSelect:r,disabled:n,title:i,"data-testid":s,children:[o,"Duplicate"]}),t[1]=n,t[2]=r,t[3]=s,t[4]=i,t[5]=a):a=t[5],a},_o=e=>{let t=(0,B.c)(6),{onSelect:r,disabled:n,title:i,testId:s}=e,o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,v.jsx)(Kr,{className:Ie}),t[0]=o):o=t[0];let a;return t[1]!==n||t[2]!==r||t[3]!==s||t[4]!==i?(a=(0,v.jsxs)(Oe,{onSelect:r,variant:"danger",disabled:n,title:i,"data-testid":s,children:[o,"Delete"]}),t[1]=n,t[2]=r,t[3]=s,t[4]=i,t[5]=a):a=t[5],a};function Mo(e){return e.stopPropagation()}function Ao(e){return e.preventDefault()}var ko=tt();const Lo=e=>{let t=(0,ko.c)(10),{node:r}=e,n=(0,p.useRef)(null),i,s;t[0]===r.data.name?(i=t[1],s=t[2]):(i=()=>{var y,h;(y=n.current)==null||y.focus();let c=r.data.name,f=c.lastIndexOf("."),O=f>0?f:c.length;(h=n.current)==null||h.setSelectionRange(0,O)},s=[r.data.name],t[0]=r.data.name,t[1]=i,t[2]=s),(0,p.useEffect)(i,s);let o,a;t[3]===r?(o=t[4],a=t[5]):(o=()=>r.reset(),a=c=>{c.key==="Escape"&&r.reset(),c.key==="Enter"&&r.submit(c.currentTarget.value)},t[3]=r,t[4]=o,t[5]=a);let d;return t[6]!==r.data.name||t[7]!==o||t[8]!==a?(d=(0,v.jsx)("input",{ref:n,className:"flex-1 bg-transparent border border-border text-muted-foreground",defaultValue:r.data.name,onClick:Fo,onBlur:o,onKeyDown:a}),t[6]=r.data.name,t[7]=o,t[8]=a,t[9]=d):d=t[9],d};function Fo(e){return e.stopPropagation()}export{Po as a,Eo as c,L as d,It as f,Ro as i,To as l,_o as n,Dr as o,jo as r,No as s,Lo as t,Ft as u};
@@ -1,2 +1,2 @@
1
- import{s as Q}from"./chunk-LvLJmgfZ.js";import{t as fe}from"./react-Bj1aDYRI.js";import{Bt as xe}from"./cells-Dnu4nDoy.js";import{_ as R,c as ue,d as Z,f as B,g as je,h as F,l as ve,m as ge,o as be,p as E,s as ye,t as I,u as W,y as q}from"./zod-H_cgTO0M.js";import{t as X}from"./compiler-runtime-B3qBwwSJ.js";import{_ as we,d as Ce}from"./useEventListener-DvoEXWke.js";import{t as K}from"./cn-DCUzRj2J.js";import{t as Ne}from"./jsx-runtime-BqBOg78p.js";import{c as Se,i as Y,l as ke,n as Oe,r as Ve,s as $e,t as Ae}from"./select-DZcFyKFQ.js";import{k as Le,v as ee,y as ne}from"./JsonOutput-05-R3eil.js";import{t as _e}from"./label-xHqFtfdz.js";import{n as ze,t as Ee}from"./radio-group-rsi1ibXY.js";import{t as Me}from"./tooltip-DTV9tlSr.js";import{r as Pe,t as re}from"./button-BbCh-29a.js";import{t as se}from"./strings-wdPMRf6Z.js";import{t as Te}from"./createLucideIcon-D5guW7EU.js";import{t as De}from"./plus-CxkHs8QM.js";import{t as Je}from"./refresh-ccw-DLc784Sj.js";import{n as Ze,t as U}from"./input-CVE-gIjt.js";import{a as k,c as w,d as O,h as Be,l as V,m as Fe,o as S,r as te,u as y,y as Ie}from"./textarea-BBTcSr-i.js";import{t as qe}from"./trash-2-BJLYnZpG.js";var Ke=Te("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);const A={of(r){return JSON.stringify(r)},parse(r){if(!r)return{};try{return JSON.parse(r)}catch{return{label:r}}}};function ae(){return Math.floor(Math.random()*1e5)}function Ue(r){return r instanceof I.ZodArray}function le(r){return r instanceof I.ZodPipe}function Ge(r){return r instanceof I.ZodTuple}function ie(r){return"unwrap"in r?r.unwrap():r}function D(r){let e=t=>{if(t instanceof E){let a=[...t.values];return t.values.size===1?a[0]:a}if(t instanceof W){let a=t.def.defaultValue;return typeof a=="function"?a():a}if(le(t))return e(t.in);if(Ge(t))return t.def.items.map(a=>e(a));if("unwrap"in t)return e(ie(t))};return r instanceof q||r instanceof Z?e(r.options[0]):Ue(r)?He(r)?[D(r.element)]:[]:r instanceof R?"":r instanceof B?r.options[0]:r instanceof F?Object.fromEntries(Object.entries(r.shape).map(([t,a])=>[t,e(a)])):e(r)}function _(r){if(r instanceof E)return r;if(r instanceof F){let e=r.shape.type;if(e instanceof E)return e;throw Error("Invalid schema")}if(r instanceof q||r instanceof Z)return _(r.options[0]);throw we.warn(r),Error("Invalid schema")}function He(r){return!r.safeParse([]).success}var oe=X(),ce=Q(fe(),1),n=Q(Ne(),1),de=`
1
+ import{s as Q}from"./chunk-LvLJmgfZ.js";import{t as fe}from"./react-Bj1aDYRI.js";import{Bt as xe}from"./cells-Dnu4nDoy.js";import{_ as R,c as ue,d as Z,f as B,g as je,h as F,l as ve,m as ge,o as be,p as E,s as ye,t as I,u as W,y as q}from"./zod-H_cgTO0M.js";import{t as X}from"./compiler-runtime-B3qBwwSJ.js";import{_ as we,d as Ce}from"./useEventListener-DvoEXWke.js";import{t as K}from"./cn-DCUzRj2J.js";import{t as Ne}from"./jsx-runtime-BqBOg78p.js";import{c as Se,i as Y,l as ke,n as Oe,r as Ve,s as $e,t as Ae}from"./select-DZcFyKFQ.js";import{b as ee,j as Le,x as ne}from"./JsonOutput-BbkJ4c02.js";import{t as _e}from"./label-xHqFtfdz.js";import{n as ze,t as Ee}from"./radio-group-BE0Xe9G9.js";import{t as Me}from"./tooltip-DTV9tlSr.js";import{r as Pe,t as re}from"./button-BbCh-29a.js";import{t as se}from"./strings-wdPMRf6Z.js";import{t as Te}from"./createLucideIcon-D5guW7EU.js";import{t as De}from"./plus-CxkHs8QM.js";import{t as Je}from"./refresh-ccw-DLc784Sj.js";import{n as Ze,t as U}from"./input-TSilD7AA.js";import{a as k,c as w,d as O,h as Be,l as V,m as Fe,o as S,r as te,u as y,y as Ie}from"./textarea-BBTcSr-i.js";import{t as qe}from"./trash-2-BJLYnZpG.js";var Ke=Te("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);const A={of(r){return JSON.stringify(r)},parse(r){if(!r)return{};try{return JSON.parse(r)}catch{return{label:r}}}};function ae(){return Math.floor(Math.random()*1e5)}function Ue(r){return r instanceof I.ZodArray}function le(r){return r instanceof I.ZodPipe}function Ge(r){return r instanceof I.ZodTuple}function ie(r){return"unwrap"in r?r.unwrap():r}function D(r){let e=t=>{if(t instanceof E){let a=[...t.values];return t.values.size===1?a[0]:a}if(t instanceof W){let a=t.def.defaultValue;return typeof a=="function"?a():a}if(le(t))return e(t.in);if(Ge(t))return t.def.items.map(a=>e(a));if("unwrap"in t)return e(ie(t))};return r instanceof q||r instanceof Z?e(r.options[0]):Ue(r)?He(r)?[D(r.element)]:[]:r instanceof R?"":r instanceof B?r.options[0]:r instanceof F?Object.fromEntries(Object.entries(r.shape).map(([t,a])=>[t,e(a)])):e(r)}function _(r){if(r instanceof E)return r;if(r instanceof F){let e=r.shape.type;if(e instanceof E)return e;throw Error("Invalid schema")}if(r instanceof q||r instanceof Z)return _(r.options[0]);throw we.warn(r),Error("Invalid schema")}function He(r){return!r.safeParse([]).success}var oe=X(),ce=Q(fe(),1),n=Q(Ne(),1),de=`
2
2
  `;const pe=r=>{let e=(0,oe.c)(24),{value:t,options:a,onChange:l,className:d,placeholder:o,textAreaClassName:h,comboBoxClassName:m}=r,[s,i]=(0,ce.useState)(!1),p;e[0]===t?p=e[1]:(p=J(t),e[0]=t,e[1]=p);let f=p,x;e[2]!==m||e[3]!==l||e[4]!==a||e[5]!==o||e[6]!==s||e[7]!==h||e[8]!==f?(x=()=>s?(0,n.jsx)(G,{value:f,className:h,onChange:l,placeholder:o?`${o}: one per line`:"One value per line"}):(0,n.jsx)(ee,{placeholder:o,displayValue:Qe,className:K("w-full max-w-[400px]",m),multiple:!0,value:f,onValueChange:l,keepPopoverOpenOnSelect:!0,chips:!0,chipsClassName:"flex-row flex-wrap min-w-[210px]",children:a.map(Re)}),e[2]=m,e[3]=l,e[4]=a,e[5]=o,e[6]=s,e[7]=h,e[8]=f,e[9]=x):x=e[9];let c=x,v;e[10]===d?v=e[11]:(v=K("flex gap-1",d),e[10]=d,e[11]=v);let u;e[12]===c?u=e[13]:(u=c(),e[12]=c,e[13]=u);let g=s?"Switch to multi-select":"Switch to textarea",j;e[14]===Symbol.for("react.memo_cache_sentinel")?(j=(0,n.jsx)(Ie,{className:"w-3 h-3"}),e[14]=j):j=e[14];let b;e[15]===s?b=e[16]:(b=(0,n.jsx)(Le,{size:"xs",onPressedChange:i,pressed:s,children:j}),e[15]=s,e[16]=b);let C;e[17]!==g||e[18]!==b?(C=(0,n.jsx)(Me,{content:g,children:b}),e[17]=g,e[18]=b,e[19]=C):C=e[19];let N;return e[20]!==v||e[21]!==u||e[22]!==C?(N=(0,n.jsxs)("div",{className:v,children:[u,C]}),e[20]=v,e[21]=u,e[22]=C,e[23]=N):N=e[23],N},G=r=>{let e=(0,oe.c)(11),{className:t,value:a,onChange:l,placeholder:d}=r,o,h;if(e[0]!==a){let p=J(a);o=te,h=p.join(de),e[0]=a,e[1]=o,e[2]=h}else o=e[1],h=e[2];let m;e[3]===l?m=e[4]:(m=p=>{if(p.target.value===""){l([]);return}l(p.target.value.split(de))},e[3]=l,e[4]=m);let s=d?`${d}: one per line`:"One value per line",i;return e[5]!==o||e[6]!==t||e[7]!==h||e[8]!==m||e[9]!==s?(i=(0,n.jsx)(o,{value:h,className:t,rows:4,onChange:m,placeholder:s}),e[5]=o,e[6]=t,e[7]=h,e[8]=m,e[9]=s,e[10]=i):i=e[10],i};function J(r){return r==null?[]:Array.isArray(r)?r:[r].filter(e=>e!=null||e!=="")}function Qe(r){return r}function Re(r){return(0,n.jsx)(ne,{value:r,children:r},r)}var z=X();const We=r=>{let e=(0,z.c)(11),{schema:t,form:a,path:l,renderers:d,children:o}=r,h=l===void 0?"":l,m;e[0]===d?m=e[1]:(m=d===void 0?[]:d,e[0]=d,e[1]=m);let s=m,i;e[2]!==a||e[3]!==h||e[4]!==s||e[5]!==t?(i=$(t,a,h,s),e[2]=a,e[3]=h,e[4]=s,e[5]=t,e[6]=i):i=e[6];let p;return e[7]!==o||e[8]!==a||e[9]!==i?(p=(0,n.jsxs)(Fe,{...a,children:[o,i]}),e[7]=o,e[8]=a,e[9]=i,e[10]=p):p=e[10],p};function $(r,e,t,a){for(let s of a){let{isMatch:i,Component:p}=s;if(i(r))return(0,n.jsx)(p,{schema:r,form:e,path:t})}let{label:l,description:d,special:o,direction:h="column",minLength:m}=A.parse(r.description||"");if(r instanceof W){let s=r.unwrap();return s=!s.description&&r.description?s.describe(r.description):s,$(s,e,t,a)}if(r instanceof je){let s=r.unwrap();return s=!s.description&&r.description?s.describe(r.description):s,$(s,e,t,a)}if(r instanceof F)return(0,n.jsxs)("div",{className:K("flex",h==="row"?"flex-row gap-6 items-start":h==="two-columns"?"grid grid-cols-2 gap-y-6":"flex-col gap-6"),children:[(0,n.jsx)(y,{children:l}),Ce.entries(r.shape).map(([s,i])=>{let p=i instanceof E,f=$(i,e,rn(t,s),a);return p?(0,n.jsx)(ce.Fragment,{children:f},s):(0,n.jsx)("div",{className:"flex flex-row align-start",children:f},s)})]});if(r instanceof R)return o==="time"?(0,n.jsx)(w,{control:e.control,name:t,render:({field:s})=>(0,n.jsxs)(V,{children:[(0,n.jsx)(y,{children:l}),(0,n.jsx)(S,{children:d}),(0,n.jsx)(k,{children:(0,n.jsx)(U,{...s,onValueChange:s.onChange,type:"time",className:"my-0"})}),(0,n.jsx)(O,{})]})}):(0,n.jsx)(me,{schema:r,form:e,path:t});if(r instanceof ue)return(0,n.jsx)(w,{control:e.control,name:t,render:({field:s})=>(0,n.jsxs)(V,{children:[(0,n.jsxs)("div",{className:"flex flex-row items-start space-x-2",children:[(0,n.jsx)(y,{children:l}),(0,n.jsx)(S,{children:d}),(0,n.jsx)(k,{children:(0,n.jsx)(xe,{"data-testid":"marimo-plugin-data-frames-boolean-checkbox",checked:s.value,onCheckedChange:s.onChange})})]}),(0,n.jsx)(O,{})]})});if(r instanceof ge)return o==="random_number_button"?(0,n.jsx)(w,{control:e.control,name:t,render:({field:s})=>(0,n.jsxs)(re,{size:"xs","data-testid":"marimo-plugin-data-frames-random-number-button",variant:"secondary",onClick:()=>{s.onChange(ae())},children:[(0,n.jsx)(Je,{className:"w-3.5 h-3.5 mr-1"}),l]})}):(0,n.jsx)(w,{control:e.control,name:t,render:({field:s})=>(0,n.jsxs)(V,{children:[(0,n.jsx)(y,{children:l}),(0,n.jsx)(S,{children:d}),(0,n.jsx)(k,{children:(0,n.jsx)(Ze,{...s,className:"my-0",onValueChange:s.onChange})}),(0,n.jsx)(O,{})]})});if(r instanceof ve){let s=o==="datetime"?"datetime-local":o==="time"?"time":"date";return(0,n.jsx)(w,{control:e.control,name:t,render:({field:i})=>(0,n.jsxs)(V,{children:[(0,n.jsx)(y,{children:l}),(0,n.jsx)(S,{children:d}),(0,n.jsx)(k,{children:(0,n.jsx)(U,{...i,onValueChange:i.onChange,type:s,className:"my-0"})}),(0,n.jsx)(O,{})]})})}if(r instanceof be)return(0,n.jsx)(me,{schema:r,form:e,path:t});if(r instanceof B)return(0,n.jsx)(en,{schema:r,form:e,path:t,options:r.options.map(s=>s.toString())});if(r instanceof ye){if(o==="text_area_multiline")return(0,n.jsx)(Ye,{schema:r,form:e,path:t});let s=r.element;return s instanceof B?(0,n.jsx)(nn,{schema:r,form:e,path:t,itemLabel:l,options:s.options.map(i=>i.toString())}):(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)(_e,{children:l}),(0,n.jsx)(Xe,{schema:r.element,form:e,path:t,minLength:m,renderers:a},t)]})}if(r instanceof Z){let s=r.def,i=s.options,p=s.discriminator,f=x=>i.find(c=>_(c).value===x);return(0,n.jsx)(w,{control:e.control,name:t,render:({field:x})=>{let c=x.value,v=i.map(j=>_(j).value),u=c&&typeof c=="object"&&p in c?c[p]:v[0],g=f(u);return(0,n.jsxs)("div",{className:"flex flex-col",children:[(0,n.jsx)(y,{children:l}),(0,n.jsx)("div",{className:"flex border-b mb-4 -mt-2",children:v.map(j=>(0,n.jsx)("button",{type:"button",className:`px-4 py-2 ${u===j?"border-b-2 border-primary font-medium":"text-muted-foreground"}`,onClick:()=>{let b=f(j);b?x.onChange(D(b)):x.onChange({[p]:j})},children:j},j))}),(0,n.jsx)("div",{className:"flex flex-col",children:g&&$(g,e,t,a)},u)]})}})}return r instanceof q?(0,n.jsx)(w,{control:e.control,name:t,render:({field:s})=>{let i=r.options,p=s.value,f=i.map(c=>_(c).value);p||(p=f[0]);let x=i.find(c=>_(c).value===p);return(0,n.jsxs)("div",{className:"flex flex-col mb-4 gap-1",children:[(0,n.jsx)(y,{children:l}),(0,n.jsx)(ke,{"data-testid":"marimo-plugin-data-frames-union-select",...s,children:f.map(c=>(0,n.jsx)("option",{value:c,children:c},c))}),x&&$(x,e,t,a)]})}}):r instanceof E?(0,n.jsx)(w,{control:e.control,name:t,render:({field:s})=>(0,n.jsx)("input",{...s,type:"hidden",value:String([...r.values][0]??"")})}):"unwrap"in r?$(ie(r),e,t,a):le(r)?$(r.in,e,t,a):(0,n.jsxs)("div",{children:["Unknown schema type"," ",r==null?t:JSON.stringify(r.type??r)]})}var Xe=r=>{let e=(0,z.c)(39),{schema:t,form:a,path:l,minLength:d,renderers:o}=r,h;e[0]===t.description?h=e[1]:(h=A.parse(t.description||""),e[0]=t.description,e[1]=h);let{label:m,description:s}=h,i=a.control,p;e[2]!==i||e[3]!==l?(p={control:i,name:l},e[2]=i,e[3]=l,e[4]=p):p=e[4];let{fields:f,append:x,remove:c}=Be(p),v=d!=null&&f.length<d,u=d==null||f.length>d,g;e[5]===m?g=e[6]:(g=(0,n.jsx)(y,{children:m}),e[5]=m,e[6]=g);let j;e[7]===s?j=e[8]:(j=(0,n.jsx)(S,{children:s}),e[7]=s,e[8]=j);let b;if(e[9]!==u||e[10]!==f||e[11]!==a||e[12]!==l||e[13]!==c||e[14]!==o||e[15]!==t){let T;e[17]!==u||e[18]!==a||e[19]!==l||e[20]!==c||e[21]!==o||e[22]!==t?(T=(he,H)=>(0,n.jsxs)("div",{className:"flex flex-row pl-2 ml-2 border-l-2 border-disabled hover-actions-parent relative pr-5 pt-1 items-center w-fit",onKeyDown:Pe.onEnter(sn),children:[$(t,a,`${l}[${H}]`,o),u&&(0,n.jsx)(qe,{className:"w-4 h-4 ml-2 my-1 text-muted-foreground hover:text-destructive cursor-pointer absolute right-0 top-5",onClick:()=>{c(H)}})]},he.id),e[17]=u,e[18]=a,e[19]=l,e[20]=c,e[21]=o,e[22]=t,e[23]=T):T=e[23],b=f.map(T),e[9]=u,e[10]=f,e[11]=a,e[12]=l,e[13]=c,e[14]=o,e[15]=t,e[16]=b}else b=e[16];let C;e[24]!==v||e[25]!==d?(C=v&&(0,n.jsx)("div",{className:"text-destructive text-xs font-semibold",children:(0,n.jsxs)("div",{children:["At least ",d," required."]})}),e[24]=v,e[25]=d,e[26]=C):C=e[26];let N;e[27]!==x||e[28]!==t?(N=()=>{x(D(t))},e[27]=x,e[28]=t,e[29]=N):N=e[29];let M;e[30]===Symbol.for("react.memo_cache_sentinel")?(M=(0,n.jsx)(De,{className:"w-3.5 h-3.5 mr-1"}),e[30]=M):M=e[30];let L;e[31]===N?L=e[32]:(L=(0,n.jsx)("div",{children:(0,n.jsxs)(re,{size:"xs","data-testid":"marimo-plugin-data-frames-add-array-item",variant:"text",className:"hover:text-accent-foreground",onClick:N,children:[M,"Add"]})}),e[31]=N,e[32]=L);let P;return e[33]!==g||e[34]!==j||e[35]!==b||e[36]!==C||e[37]!==L?(P=(0,n.jsxs)("div",{className:"flex flex-col gap-2 min-w-[220px]",children:[g,j,b,C,L]}),e[33]=g,e[34]=j,e[35]=b,e[36]=C,e[37]=L,e[38]=P):P=e[38],P},me=r=>{let e=(0,z.c)(21),{schema:t,form:a,path:l}=r,d;e[0]===t.description?d=e[1]:(d=A.parse(t.description),e[0]=t.description,e[1]=d);let{label:o,description:h,placeholder:m,disabled:s,inputType:i}=d;if(i==="textarea"){let x;e[2]!==h||e[3]!==s||e[4]!==o||e[5]!==m?(x=v=>{let{field:u}=v;return(0,n.jsxs)(V,{children:[(0,n.jsx)(y,{children:o}),(0,n.jsx)(S,{children:h}),(0,n.jsx)(k,{children:(0,n.jsx)(te,{...u,value:u.value,onChange:u.onChange,className:"my-0",placeholder:m,disabled:s})}),(0,n.jsx)(O,{})]})},e[2]=h,e[3]=s,e[4]=o,e[5]=m,e[6]=x):x=e[6];let c;return e[7]!==a.control||e[8]!==l||e[9]!==x?(c=(0,n.jsx)(w,{control:a.control,name:l,render:x}),e[7]=a.control,e[8]=l,e[9]=x,e[10]=c):c=e[10],c}let p;e[11]!==h||e[12]!==s||e[13]!==i||e[14]!==o||e[15]!==m?(p=x=>{let{field:c}=x;return(0,n.jsxs)(V,{children:[(0,n.jsx)(y,{children:o}),(0,n.jsx)(S,{children:h}),(0,n.jsx)(k,{children:(0,n.jsx)(U,{...c,type:i,value:c.value,onValueChange:c.onChange,className:"my-0",placeholder:m,disabled:s})}),(0,n.jsx)(O,{})]})},e[11]=h,e[12]=s,e[13]=i,e[14]=o,e[15]=m,e[16]=p):p=e[16];let f;return e[17]!==a.control||e[18]!==l||e[19]!==p?(f=(0,n.jsx)(w,{control:a.control,name:l,render:p}),e[17]=a.control,e[18]=l,e[19]=p,e[20]=f):f=e[20],f},Ye=r=>{let e=(0,z.c)(10),{schema:t,form:a,path:l}=r,d;e[0]===t.description?d=e[1]:(d=A.parse(t.description),e[0]=t.description,e[1]=d);let{label:o,description:h,placeholder:m}=d,s;e[2]!==h||e[3]!==o||e[4]!==m?(s=p=>{let{field:f}=p;return(0,n.jsxs)(V,{children:[(0,n.jsx)(y,{children:o}),(0,n.jsx)(S,{children:h}),(0,n.jsx)(k,{children:(0,n.jsx)(G,{...f,placeholder:m})}),(0,n.jsx)(O,{})]})},e[2]=h,e[3]=o,e[4]=m,e[5]=s):s=e[5];let i;return e[6]!==a.control||e[7]!==l||e[8]!==s?(i=(0,n.jsx)(w,{control:a.control,name:l,render:s}),e[6]=a.control,e[7]=l,e[8]=s,e[9]=i):i=e[9],i},en=r=>{let e=(0,z.c)(22),{schema:t,form:a,path:l,options:d,textTransform:o}=r,h;e[0]===t.description?h=e[1]:(h=A.parse(t.description),e[0]=t.description,e[1]=h);let{label:m,description:s,disabled:i,special:p}=h;if(p==="radio_group"){let c;e[2]!==s||e[3]!==m||e[4]!==d||e[5]!==l?(c=u=>{let{field:g}=u;return(0,n.jsxs)(V,{children:[(0,n.jsx)(y,{children:m}),(0,n.jsx)(S,{children:s}),(0,n.jsx)(k,{children:(0,n.jsx)(Ee,{className:"flex flex-row gap-2 pt-1 items-center",value:g.value,onValueChange:g.onChange,children:d.map(j=>(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)(ze,{value:j,id:`${l}-${j}`},j),(0,n.jsx)(y,{className:"whitespace-pre",htmlFor:`${l}-${j}`,children:se.startCase(j)})]},j))})}),(0,n.jsx)(O,{})]})},e[2]=s,e[3]=m,e[4]=d,e[5]=l,e[6]=c):c=e[6];let v;return e[7]!==i||e[8]!==a.control||e[9]!==l||e[10]!==c?(v=(0,n.jsx)(w,{control:a.control,name:l,disabled:i,render:c}),e[7]=i,e[8]=a.control,e[9]=l,e[10]=c,e[11]=v):v=e[11],v}let f;e[12]!==s||e[13]!==m||e[14]!==d||e[15]!==o?(f=c=>{let{field:v}=c;return(0,n.jsxs)(V,{children:[(0,n.jsx)(y,{className:"whitespace-pre",children:m}),(0,n.jsx)(S,{children:s}),(0,n.jsx)(k,{children:(0,n.jsxs)(Ae,{"data-testid":"marimo-plugin-data-frames-select",value:v.value,onValueChange:v.onChange,children:[(0,n.jsx)($e,{className:"min-w-[180px]",children:(0,n.jsx)(Se,{placeholder:"--"})}),(0,n.jsx)(Oe,{children:(0,n.jsxs)(Ve,{children:[d.map(u=>(0,n.jsx)(Y,{value:u,children:(o==null?void 0:o(u))??u},u)),d.length===0&&(0,n.jsx)(Y,{disabled:!0,value:"--",children:"No options"})]})})]})}),(0,n.jsx)(O,{})]})},e[12]=s,e[13]=m,e[14]=d,e[15]=o,e[16]=f):f=e[16];let x;return e[17]!==i||e[18]!==a.control||e[19]!==l||e[20]!==f?(x=(0,n.jsx)(w,{control:a.control,name:l,disabled:i,render:f}),e[17]=i,e[18]=a.control,e[19]=l,e[20]=f,e[21]=x):x=e[21],x},nn=r=>{let e=(0,z.c)(15),{schema:t,form:a,path:l,options:d,itemLabel:o,showSwitchable:h}=r,m;e[0]===t.description?m=e[1]:(m=A.parse(t.description),e[0]=t.description,e[1]=m);let{label:s,description:i,placeholder:p}=m,f;e[2]!==o||e[3]!==p?(f=p??(o?`Select ${o==null?void 0:o.toLowerCase()}`:void 0),e[2]=o,e[3]=p,e[4]=f):f=e[4];let x=f,c;e[5]!==i||e[6]!==s||e[7]!==d||e[8]!==x||e[9]!==h?(c=u=>{let{field:g}=u,j=J(g.value);return(0,n.jsxs)(V,{children:[(0,n.jsx)(y,{className:"whitespace-pre",children:s}),(0,n.jsx)(S,{children:i}),(0,n.jsx)(k,{children:h?(0,n.jsx)(pe,{...g,value:j,options:d,placeholder:x}):(0,n.jsx)(ee,{className:"min-w-[180px]",placeholder:x,displayValue:tn,multiple:!0,chips:!0,keepPopoverOpenOnSelect:!0,value:j,onValueChange:g.onChange,children:d.map(an)})}),(0,n.jsx)(O,{})]})},e[5]=i,e[6]=s,e[7]=d,e[8]=x,e[9]=h,e[10]=c):c=e[10];let v;return e[11]!==a.control||e[12]!==l||e[13]!==c?(v=(0,n.jsx)(w,{control:a.control,name:l,render:c}),e[11]=a.control,e[12]=l,e[13]=c,e[14]=v):v=e[14],v};function rn(...r){return r.filter(e=>e!=="").join(".")}function sn(r){return r.preventDefault()}function tn(r){return se.startCase(r)}function an(r){return(0,n.jsx)(ne,{value:r,children:r},r)}export{J as a,A as c,G as i,ae as l,$ as n,D as o,pe as r,_ as s,We as t,Ke as u};
@@ -1 +1 @@
1
- import{s as b}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{t as P}from"./ErrorBoundary-DyYDV0HI.js";import{t as $}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-eipL3i3Y.js";import{r as z}from"./requests-DIwGYs0l.js";import{t as N}from"./spinner-UuZAUjoP.js";import{dt as L,r as M}from"./input-CVE-gIjt.js";import{n as c,t as R}from"./paths-SFhaqGlE.js";import{c as v,t as I}from"./session-DGdfs0bJ.js";import{r as A}from"./errors-iwK4b4VF.js";import{t as f}from"./error-banner-CLO6LFll.js";import{n as D}from"./useAsyncData-C5i0IRVM.js";import{n as W,t as _}from"./card-BFWJLptH.js";var p=b(y(),1),e=b($(),1),B=a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase(),w=a=>{let o=R.guessDeliminator(a).deliminator;return a.replace(/\.[^./]+$/,"").split(o).filter(Boolean).map(d=>d.split(/[_-]/).map(B).join(" ")).join(" > ")},F=a=>`${I()}-${encodeURIComponent(a)}`,Y=a=>{try{return new URL(a).protocol==="https:"}catch{return!1}},q=10,E=()=>{let{getWorkspaceFiles:a}=z(),[o,d]=(0,p.useState)(""),n=D(()=>a({includeMarkdown:!1}),[]),t=n.data,m=(0,p.useMemo)(()=>{let r=(t==null?void 0:t.files)??[],l=(t==null?void 0:t.root)??"";return r.filter(s=>!s.isDirectory).map(s=>{var g,x,j;let i=l&&c.isAbsolute(s.path)&&s.path.startsWith(l)?c.rest(s.path,l):s.path,C=((g=s.opengraph)==null?void 0:g.title)??w(c.basename(i)),S=w(c.dirname(i)),U=((x=s.opengraph)==null?void 0:x.description)??"",h=(j=s.opengraph)==null?void 0:j.image,k=h&&Y(h)?h:v(`og/thumbnail?file=${encodeURIComponent(i)}`).toString();return{...s,relativePath:i,title:C,subtitle:S,description:U,thumbnailUrl:k}}).toSorted((s,i)=>s.relativePath.localeCompare(i.relativePath))},[t==null?void 0:t.files,t==null?void 0:t.root]),u=(0,p.useMemo)(()=>{if(!o)return m;let r=o.toLowerCase();return m.filter(l=>l.title.toLowerCase().includes(r))},[m,o]);return n.isPending?(0,e.jsx)(N,{centered:!0,size:"xlarge",className:"mt-6"}):n.error?(0,e.jsx)(f,{kind:"danger",className:"rounded p-4",children:A(n.error)}):t?(0,e.jsx)(p.Suspense,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",children:[(0,e.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),(0,e.jsx)(P,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[t.hasMore&&(0,e.jsxs)(f,{kind:"warn",className:"rounded p-4",children:["Showing first ",t.fileCount," files. Your workspace has more files."]}),m.length>q&&(0,e.jsx)(M,{id:"search",value:o,icon:(0,e.jsx)(L,{className:"h-4 w-4"}),onChange:r=>d(r.target.value),placeholder:"Search",rootClassName:"mb-3",className:"mb-0 border-border"}),u.length===0?(0,e.jsx)(f,{kind:"warn",className:"rounded p-4",children:"No marimo apps found."}):(0,e.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:u.map(r=>(0,e.jsx)("a",{href:v(`?file=${encodeURIComponent(r.relativePath)}`).toString(),target:F(r.path),className:"no-underline",children:(0,e.jsxs)(_,{className:"h-full overflow-hidden hover:bg-accent/20 transition-colors",children:[(0,e.jsx)("img",{src:r.thumbnailUrl,alt:r.title,loading:"lazy",className:"w-full aspect-1200/630 object-cover border-b border-border/60"}),(0,e.jsx)(W,{className:"p-6 pt-4",children:(0,e.jsxs)("div",{className:"flex flex-col gap-1",children:[r.subtitle&&(0,e.jsx)("div",{className:"text-sm font-semibold text-muted-foreground",children:r.subtitle}),(0,e.jsx)("div",{className:"text-lg font-medium",children:r.title}),r.description&&(0,e.jsx)("div",{className:"text-sm text-muted-foreground line-clamp-3 mt-1",children:r.description})]})})]})},r.path))})]})})]})}):(0,e.jsx)(N,{centered:!0,size:"xlarge",className:"mt-6"})};export{E as default};
1
+ import{s as b}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{t as P}from"./ErrorBoundary-DyYDV0HI.js";import{t as $}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-eipL3i3Y.js";import{r as z}from"./requests-DIwGYs0l.js";import{t as N}from"./spinner-UuZAUjoP.js";import{dt as L,r as M}from"./input-TSilD7AA.js";import{n as c,t as R}from"./paths-SFhaqGlE.js";import{c as v,t as I}from"./session-DGdfs0bJ.js";import{r as A}from"./errors-iwK4b4VF.js";import{t as f}from"./error-banner-CLO6LFll.js";import{n as D}from"./useAsyncData-Dg8E_bPh.js";import{n as W,t as _}from"./card-BFWJLptH.js";var p=b(y(),1),e=b($(),1),B=a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase(),w=a=>{let o=R.guessDeliminator(a).deliminator;return a.replace(/\.[^./]+$/,"").split(o).filter(Boolean).map(d=>d.split(/[_-]/).map(B).join(" ")).join(" > ")},F=a=>`${I()}-${encodeURIComponent(a)}`,Y=a=>{try{return new URL(a).protocol==="https:"}catch{return!1}},q=10,E=()=>{let{getWorkspaceFiles:a}=z(),[o,d]=(0,p.useState)(""),n=D(()=>a({includeMarkdown:!1}),[]),t=n.data,m=(0,p.useMemo)(()=>{let r=(t==null?void 0:t.files)??[],l=(t==null?void 0:t.root)??"";return r.filter(s=>!s.isDirectory).map(s=>{var g,x,j;let i=l&&c.isAbsolute(s.path)&&s.path.startsWith(l)?c.rest(s.path,l):s.path,C=((g=s.opengraph)==null?void 0:g.title)??w(c.basename(i)),S=w(c.dirname(i)),U=((x=s.opengraph)==null?void 0:x.description)??"",h=(j=s.opengraph)==null?void 0:j.image,k=h&&Y(h)?h:v(`og/thumbnail?file=${encodeURIComponent(i)}`).toString();return{...s,relativePath:i,title:C,subtitle:S,description:U,thumbnailUrl:k}}).toSorted((s,i)=>s.relativePath.localeCompare(i.relativePath))},[t==null?void 0:t.files,t==null?void 0:t.root]),u=(0,p.useMemo)(()=>{if(!o)return m;let r=o.toLowerCase();return m.filter(l=>l.title.toLowerCase().includes(r))},[m,o]);return n.isPending?(0,e.jsx)(N,{centered:!0,size:"xlarge",className:"mt-6"}):n.error?(0,e.jsx)(f,{kind:"danger",className:"rounded p-4",children:A(n.error)}):t?(0,e.jsx)(p.Suspense,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",children:[(0,e.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),(0,e.jsx)(P,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[t.hasMore&&(0,e.jsxs)(f,{kind:"warn",className:"rounded p-4",children:["Showing first ",t.fileCount," files. Your workspace has more files."]}),m.length>q&&(0,e.jsx)(M,{id:"search",value:o,icon:(0,e.jsx)(L,{className:"h-4 w-4"}),onChange:r=>d(r.target.value),placeholder:"Search",rootClassName:"mb-3",className:"mb-0 border-border"}),u.length===0?(0,e.jsx)(f,{kind:"warn",className:"rounded p-4",children:"No marimo apps found."}):(0,e.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:u.map(r=>(0,e.jsx)("a",{href:v(`?file=${encodeURIComponent(r.relativePath)}`).toString(),target:F(r.path),className:"no-underline",children:(0,e.jsxs)(_,{className:"h-full overflow-hidden hover:bg-accent/20 transition-colors",children:[(0,e.jsx)("img",{src:r.thumbnailUrl,alt:r.title,loading:"lazy",className:"w-full aspect-1200/630 object-cover border-b border-border/60"}),(0,e.jsx)(W,{className:"p-6 pt-4",children:(0,e.jsxs)("div",{className:"flex flex-col gap-1",children:[r.subtitle&&(0,e.jsx)("div",{className:"text-sm font-semibold text-muted-foreground",children:r.subtitle}),(0,e.jsx)("div",{className:"text-lg font-medium",children:r.title}),r.description&&(0,e.jsx)("div",{className:"text-sm text-muted-foreground line-clamp-3 mt-1",children:r.description})]})})]})},r.path))})]})})]})}):(0,e.jsx)(N,{centered:!0,size:"xlarge",className:"mt-6"})};export{E as default};