Plugin Directory

Changeset 3445057


Ignore:
Timestamp:
01/22/2026 05:36:12 PM (4 weeks ago)
Author:
PerS
Message:

Update to version 1.6.2 from GitHub

Location:
virtual-media-folders
Files:
18 edited
1 copied

Legend:

Unmodified
Added
Removed
  • virtual-media-folders/tags/1.6.2/build/admin.asset.php

    r3440344 r3445057  
    1 <?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '5dd311ecb4b605a88f57');
     1<?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '0974378588165e6f8cbe');
  • virtual-media-folders/tags/1.6.2/build/admin.js

    r3440344 r3445057  
    1 (()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.element,n=window.wp.components,r=window.wp.i18n,o=window.React;var a=e.n(o);const i=window.ReactDOM,l="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function s(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function d(e){return"nodeType"in e}function c(e){var t,n;return e?s(e)?e:d(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function u(e){const{Document:t}=c(e);return e instanceof t}function f(e){return!s(e)&&e instanceof c(e).HTMLElement}function v(e){return e instanceof c(e).SVGElement}function m(e){return e?s(e)?e.document:d(e)?u(e)?e:f(e)||v(e)?e.ownerDocument:document:document:document}const h=l?o.useLayoutEffect:o.useEffect;function p(e){const t=(0,o.useRef)(e);return h(()=>{t.current=e}),(0,o.useCallback)(function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return null==t.current?void 0:t.current(...n)},[])}function g(e,t){void 0===t&&(t=[e]);const n=(0,o.useRef)(e);return h(()=>{n.current!==e&&(n.current=e)},t),n}function b(e,t){const n=(0,o.useRef)();return(0,o.useMemo)(()=>{const t=e(n.current);return n.current=t,t},[...t])}function w(e){const t=p(e),n=(0,o.useRef)(null),r=(0,o.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,r]}function y(e){const t=(0,o.useRef)();return(0,o.useEffect)(()=>{t.current=e},[e]),t.current}let x={};function _(e,t){return(0,o.useMemo)(()=>{if(t)return t;const n=null==x[e]?0:x[e]+1;return x[e]=n,e+"-"+n},[e,t])}function C(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((t,n)=>{const r=Object.entries(n);for(const[n,o]of r){const r=t[n];null!=r&&(t[n]=r+e*o)}return t},{...t})}}const S=C(1),E=C(-1);function D(e){if(!e)return!1;const{KeyboardEvent:t}=c(e.target);return t&&e instanceof t}function M(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=c(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const R=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[R.Translate.toString(e),R.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),k="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function N(e){return e.matches(k)?e:e.querySelector(k)}const j={display:"none"};function I(e){let{id:t,value:n}=e;return a().createElement("div",{id:t,style:j},n)}function T(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;return a().createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":r,"aria-atomic":!0},n)}const A=(0,o.createContext)(null),L={draggable:"\n    To pick up a draggable item, press the space bar.\n    While dragging, use the arrow keys to move the item.\n    Press space again to drop the item in its new position, or press escape to cancel.\n  "},O={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function F(e){let{announcements:t=O,container:n,hiddenTextDescribedById:r,screenReaderInstructions:l=L}=e;const{announce:s,announcement:d}=function(){const[e,t]=(0,o.useState)("");return{announce:(0,o.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),c=_("DndLiveRegion"),[u,f]=(0,o.useState)(!1);if((0,o.useEffect)(()=>{f(!0)},[]),function(e){const t=(0,o.useContext)(A);(0,o.useEffect)(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}((0,o.useMemo)(()=>({onDragStart(e){let{active:n}=e;s(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&s(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;s(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;s(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;s(t.onDragCancel({active:n,over:r}))}}),[s,t])),!u)return null;const v=a().createElement(a().Fragment,null,a().createElement(I,{id:r,value:l.draggable}),a().createElement(T,{id:c,announcement:d}));return n?(0,i.createPortal)(v,n):v}var z;function P(){}function B(e,t){return(0,o.useMemo)(()=>({sensor:e,options:null!=t?t:{}}),[e,t])}!function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"}(z||(z={}));const $=Object.freeze({x:0,y:0});function U(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function H(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function q(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function K(e){let{left:t,top:n,height:r,width:o}=e;return[{x:t,y:n},{x:t+o,y:n},{x:t,y:n+r},{x:t+o,y:n+r}]}function Q(e,t){if(!e||0===e.length)return null;const[n]=e;return t?n[t]:n}function W(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}const V=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=W(t,t.left,t.top),a=[];for(const e of r){const{id:t}=e,r=n.get(t);if(r){const n=U(W(r),o);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(H)};function X(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),o=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),i=o-r,l=a-n;if(r<o&&n<a){const n=t.width*t.height,r=e.width*e.height,o=i*l;return Number((o/(n+r-o)).toFixed(4))}return 0}const Y=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=[];for(const e of r){const{id:r}=e,a=n.get(r);if(a){const n=X(a,t);n>0&&o.push({id:r,data:{droppableContainer:e,value:n}})}}return o.sort(q)};function J(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:$}function G(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}const Z=G(1);const ee={ignoreTransform:!1};function te(e,t){void 0===t&&(t=ee);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:r}=c(e).getComputedStyle(e);t&&(n=function(e,t,n){const r=function(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}(t);if(!r)return e;const{scaleX:o,scaleY:a,x:i,y:l}=r,s=e.left-i-(1-o)*parseFloat(n),d=e.top-l-(1-a)*parseFloat(n.slice(n.indexOf(" ")+1)),c=o?e.width/o:e.width,u=a?e.height/a:e.height;return{width:c,height:u,top:d,right:s+c,bottom:d+u,left:s}}(n,t,r))}const{top:r,left:o,width:a,height:i,bottom:l,right:s}=n;return{top:r,left:o,width:a,height:i,bottom:l,right:s}}function ne(e){return te(e,{ignoreTransform:!0})}function re(e,t){const n=[];return e?function r(o){if(null!=t&&n.length>=t)return n;if(!o)return n;if(u(o)&&null!=o.scrollingElement&&!n.includes(o.scrollingElement))return n.push(o.scrollingElement),n;if(!f(o)||v(o))return n;if(n.includes(o))return n;const a=c(e).getComputedStyle(o);return o!==e&&function(e,t){void 0===t&&(t=c(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const r=t[e];return"string"==typeof r&&n.test(r)})}(o,a)&&n.push(o),function(e,t){return void 0===t&&(t=c(e).getComputedStyle(e)),"fixed"===t.position}(o,a)?n:r(o.parentNode)}(e):n}function oe(e){const[t]=re(e,1);return null!=t?t:null}function ae(e){return l&&e?s(e)?e:d(e)?u(e)||e===m(e).scrollingElement?window:f(e)?e:null:null:null}function ie(e){return s(e)?e.scrollX:e.scrollLeft}function le(e){return s(e)?e.scrollY:e.scrollTop}function se(e){return{x:ie(e),y:le(e)}}var de;function ce(e){return!(!l||!e)&&e===document.scrollingElement}function ue(e){const t={x:0,y:0},n=ce(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(de||(de={}));const fe={x:.2,y:.2};function ve(e,t,n,r,o){let{top:a,left:i,right:l,bottom:s}=n;void 0===r&&(r=10),void 0===o&&(o=fe);const{isTop:d,isBottom:c,isLeft:u,isRight:f}=ue(e),v={x:0,y:0},m={x:0,y:0},h=t.height*o.y,p=t.width*o.x;return!d&&a<=t.top+h?(v.y=de.Backward,m.y=r*Math.abs((t.top+h-a)/h)):!c&&s>=t.bottom-h&&(v.y=de.Forward,m.y=r*Math.abs((t.bottom-h-s)/h)),!f&&l>=t.right-p?(v.x=de.Forward,m.x=r*Math.abs((t.right-p-l)/p)):!u&&i<=t.left+p&&(v.x=de.Backward,m.x=r*Math.abs((t.left+p-i)/p)),{direction:v,speed:m}}function me(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:r,bottom:o}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:o,width:e.clientWidth,height:e.clientHeight}}function he(e){return e.reduce((e,t)=>S(e,se(t)),$)}const pe=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+ie(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+le(t),0)}]];class ge{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=re(t),r=he(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,o]of pe)for(const a of t)Object.defineProperty(this,a,{get:()=>{const t=o(n),i=r[e]-t;return this.rect[a]+i},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class be{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var r;null==(r=this.target)||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function we(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t&&r>t.y}var ye,xe;function _e(e){e.preventDefault()}function Ce(e){e.stopPropagation()}!function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"}(ye||(ye={})),function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"}(xe||(xe={}));const Se={start:[xe.Space,xe.Enter],cancel:[xe.Esc],end:[xe.Space,xe.Enter,xe.Tab]},Ee=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case xe.Right:return{...n,x:n.x+25};case xe.Left:return{...n,x:n.x-25};case xe.Down:return{...n,y:n.y+25};case xe.Up:return{...n,y:n.y-25}}};class De{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new be(m(t)),this.windowListeners=new be(c(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ye.Resize,this.handleCancel),this.windowListeners.add(ye.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ye.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&function(e,t){if(void 0===t&&(t=te),!e)return;const{top:n,left:r,bottom:o,right:a}=t(e);oe(e)&&(o<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}(n),t($)}handleKeyDown(e){if(D(e)){const{active:t,context:n,options:r}=this.props,{keyboardCodes:o=Se,coordinateGetter:a=Ee,scrollBehavior:i="smooth"}=r,{code:l}=e;if(o.end.includes(l))return void this.handleEnd(e);if(o.cancel.includes(l))return void this.handleCancel(e);const{collisionRect:s}=n.current,d=s?{x:s.left,y:s.top}:$;this.referenceCoordinates||(this.referenceCoordinates=d);const c=a(e,{active:t,context:n.current,currentCoordinates:d});if(c){const t=E(c,d),r={x:0,y:0},{scrollableAncestors:o}=n.current;for(const n of o){const o=e.code,{isTop:a,isRight:l,isLeft:s,isBottom:d,maxScroll:u,minScroll:f}=ue(n),v=me(n),m={x:Math.min(o===xe.Right?v.right-v.width/2:v.right,Math.max(o===xe.Right?v.left:v.left+v.width/2,c.x)),y:Math.min(o===xe.Down?v.bottom-v.height/2:v.bottom,Math.max(o===xe.Down?v.top:v.top+v.height/2,c.y))},h=o===xe.Right&&!l||o===xe.Left&&!s,p=o===xe.Down&&!d||o===xe.Up&&!a;if(h&&m.x!==c.x){const e=n.scrollLeft+t.x,a=o===xe.Right&&e<=u.x||o===xe.Left&&e>=f.x;if(a&&!t.y)return void n.scrollTo({left:e,behavior:i});r.x=a?n.scrollLeft-e:o===xe.Right?n.scrollLeft-u.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:i});break}if(p&&m.y!==c.y){const e=n.scrollTop+t.y,a=o===xe.Down&&e<=u.y||o===xe.Up&&e>=f.y;if(a&&!t.x)return void n.scrollTo({top:e,behavior:i});r.y=a?n.scrollTop-e:o===xe.Down?n.scrollTop-u.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:i});break}}this.handleMove(e,S(E(c,this.referenceCoordinates),r))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function Me(e){return Boolean(e&&"distance"in e)}function Re(e){return Boolean(e&&"delay"in e)}De.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=Se,onActivation:o}=t,{active:a}=n;const{code:i}=e.nativeEvent;if(r.start.includes(i)){const t=a.activatorNode.current;return!(t&&e.target!==t||(e.preventDefault(),null==o||o({event:e.nativeEvent}),0))}return!1}}];class ke{constructor(e,t,n){var r;void 0===n&&(n=function(e){const{EventTarget:t}=c(e);return e instanceof t?e:m(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:o}=e,{target:a}=o;this.props=e,this.events=t,this.document=m(a),this.documentListeners=new be(this.document),this.listeners=new be(n),this.windowListeners=new be(c(a)),this.initialCoordinates=null!=(r=M(o))?r:$,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(ye.Resize,this.handleCancel),this.windowListeners.add(ye.DragStart,_e),this.windowListeners.add(ye.VisibilityChange,this.handleCancel),this.windowListeners.add(ye.ContextMenu,_e),this.documentListeners.add(ye.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Re(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(Me(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(ye.Click,Ce,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ye.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:r,props:o}=this,{onMove:a,options:{activationConstraint:i}}=o;if(!r)return;const l=null!=(t=M(e))?t:$,s=E(r,l);if(!n&&i){if(Me(i)){if(null!=i.tolerance&&we(s,i.tolerance))return this.handleCancel();if(we(s,i.distance))return this.handleStart()}return Re(i)&&we(s,i.tolerance)?this.handleCancel():void this.handlePending(i,s)}e.cancelable&&e.preventDefault(),a(l)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===xe.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const Ne={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class je extends ke{constructor(e){const{event:t}=e,n=m(t.target);super(e,Ne,n)}}je.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!(!n.isPrimary||0!==n.button||(null==r||r({event:n}),0))}}];const Ie={move:{name:"mousemove"},end:{name:"mouseup"}};var Te;!function(e){e[e.RightClick=2]="RightClick"}(Te||(Te={})),class extends ke{constructor(e){super(e,Ie,m(e.event.target))}}.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==Te.RightClick&&(null==r||r({event:n}),!0)}}];const Ae={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var Le,Oe;(class extends ke{constructor(e){super(e,Ae)}static setup(){return window.addEventListener(Ae.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Ae.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:o}=n;return!(o.length>1||(null==r||r({event:n}),0))}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(Le||(Le={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(Oe||(Oe={}));const Fe={x:{[de.Backward]:!1,[de.Forward]:!1},y:{[de.Backward]:!1,[de.Forward]:!1}};var ze,Pe;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(ze||(ze={})),function(e){e.Optimized="optimized"}(Pe||(Pe={}));const Be=new Map;function $e(e,t){return b(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function Ue(e){let{callback:t,disabled:n}=e;const r=p(t),a=(0,o.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(r)},[n]);return(0,o.useEffect)(()=>()=>null==a?void 0:a.disconnect(),[a]),a}function He(e){return new ge(te(e),e)}function qe(e,t,n){void 0===t&&(t=He);const[r,a]=(0,o.useState)(null);function i(){a(r=>{if(!e)return null;var o;if(!1===e.isConnected)return null!=(o=null!=r?r:n)?o:null;const a=t(e);return JSON.stringify(r)===JSON.stringify(a)?r:a})}const l=function(e){let{callback:t,disabled:n}=e;const r=p(t),a=(0,o.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,o.useEffect)(()=>()=>null==a?void 0:a.disconnect(),[a]),a}({callback(t){if(e)for(const n of t){const{type:t,target:r}=n;if("childList"===t&&r instanceof HTMLElement&&r.contains(e)){i();break}}}}),s=Ue({callback:i});return h(()=>{i(),e?(null==s||s.observe(e),null==l||l.observe(document.body,{childList:!0,subtree:!0})):(null==s||s.disconnect(),null==l||l.disconnect())},[e]),r}const Ke=[];function Qe(e,t){void 0===t&&(t=[]);const n=(0,o.useRef)(null);return(0,o.useEffect)(()=>{n.current=null},t),(0,o.useEffect)(()=>{const t=e!==$;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?E(e,n.current):$}function We(e){return(0,o.useMemo)(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const Ve=[];const Xe=[{sensor:je,options:{}},{sensor:De,options:{}}],Ye={current:{}},Je={draggable:{measure:ne},droppable:{measure:ne,strategy:ze.WhileDragging,frequency:Pe.Optimized},dragOverlay:{measure:te}};class Ge extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const Ze={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ge,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:P},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Je,measureDroppableContainers:P,windowRect:null,measuringScheduled:!1},et={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:P,draggableNodes:new Map,over:null,measureDroppableContainers:P},tt=(0,o.createContext)(et),nt=(0,o.createContext)(Ze);function rt(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ge}}}function ot(e,t){switch(t.type){case z.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case z.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case z.DragEnd:case z.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case z.RegisterDroppable:{const{element:n}=t,{id:r}=n,o=new Ge(e.droppable.containers);return o.set(r,n),{...e,droppable:{...e.droppable,containers:o}}}case z.SetDroppableDisabled:{const{id:n,key:r,disabled:o}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;const i=new Ge(e.droppable.containers);return i.set(n,{...a,disabled:o}),{...e,droppable:{...e.droppable,containers:i}}}case z.UnregisterDroppable:{const{id:n,key:r}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const a=new Ge(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function at(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:a}=(0,o.useContext)(tt),i=y(r),l=y(null==n?void 0:n.id);return(0,o.useEffect)(()=>{if(!t&&!r&&i&&null!=l){if(!D(i))return;if(document.activeElement===i.target)return;const e=a.get(l);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=N(e);if(t){t.focus();break}}})}},[r,t,a,l,i]),null}const it=(0,o.createContext)({...$,scaleX:1,scaleY:1});var lt;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(lt||(lt={}));const st=(0,o.memo)(function(e){var t,n,r,s;let{id:d,accessibility:u,autoScroll:v=!0,children:m,sensors:p=Xe,collisionDetection:x=Y,measuring:C,modifiers:E,...D}=e;const R=(0,o.useReducer)(ot,void 0,rt),[k,N]=R,[j,I]=function(){const[e]=(0,o.useState)(()=>new Set),t=(0,o.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,o.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,r)})},[e]),t]}(),[T,L]=(0,o.useState)(lt.Uninitialized),O=T===lt.Initialized,{draggable:{active:P,nodes:B,translate:U},droppable:{containers:H}}=k,q=null!=P?B.get(P):null,K=(0,o.useRef)({initial:null,translated:null}),W=(0,o.useMemo)(()=>{var e;return null!=P?{id:P,data:null!=(e=null==q?void 0:q.data)?e:Ye,rect:K}:null},[P,q]),V=(0,o.useRef)(null),[X,G]=(0,o.useState)(null),[ee,ne]=(0,o.useState)(null),ie=g(D,Object.values(D)),le=_("DndDescribedBy",d),ue=(0,o.useMemo)(()=>H.getEnabled(),[H]),fe=(me=C,(0,o.useMemo)(()=>({draggable:{...Je.draggable,...null==me?void 0:me.draggable},droppable:{...Je.droppable,...null==me?void 0:me.droppable},dragOverlay:{...Je.dragOverlay,...null==me?void 0:me.dragOverlay}}),[null==me?void 0:me.draggable,null==me?void 0:me.droppable,null==me?void 0:me.dragOverlay]));var me;const{droppableRects:pe,measureDroppableContainers:be,measuringScheduled:we}=function(e,t){let{dragging:n,dependencies:r,config:a}=t;const[i,l]=(0,o.useState)(null),{frequency:s,measure:d,strategy:c}=a,u=(0,o.useRef)(e),f=function(){switch(c){case ze.Always:return!1;case ze.BeforeDragging:return n;default:return!n}}(),v=g(f),m=(0,o.useCallback)(function(e){void 0===e&&(e=[]),v.current||l(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[v]),h=(0,o.useRef)(null),p=b(t=>{if(f&&!n)return Be;if(!t||t===Be||u.current!==e||null!=i){const t=new Map;for(let n of e){if(!n)continue;if(i&&i.length>0&&!i.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,r=e?new ge(d(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,i,n,f,d]);return(0,o.useEffect)(()=>{u.current=e},[e]),(0,o.useEffect)(()=>{f||m()},[n,f]),(0,o.useEffect)(()=>{i&&i.length>0&&l(null)},[JSON.stringify(i)]),(0,o.useEffect)(()=>{f||"number"!=typeof s||null!==h.current||(h.current=setTimeout(()=>{m(),h.current=null},s))},[s,f,m,...r]),{droppableRects:p,measureDroppableContainers:m,measuringScheduled:null!=i}}(ue,{dragging:O,dependencies:[U.x,U.y],config:fe.droppable}),ye=function(e,t){const n=null!=t?e.get(t):void 0,r=n?n.node.current:null;return b(e=>{var n;return null==t?null:null!=(n=null!=r?r:e)?n:null},[r,t])}(B,P),xe=(0,o.useMemo)(()=>ee?M(ee):null,[ee]),_e=function(){const e=!1===(null==X?void 0:X.autoScrollEnabled),t="object"==typeof v?!1===v.enabled:!1===v,n=O&&!e&&!t;return"object"==typeof v?{...v,enabled:n}:{enabled:n}}(),Ce=function(e,t){return $e(e,t)}(ye,fe.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:r,config:a=!0}=e;const i=(0,o.useRef)(!1),{x:l,y:s}="boolean"==typeof a?{x:a,y:a}:a;h(()=>{if(!l&&!s||!t)return void(i.current=!1);if(i.current||!r)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const o=J(n(e),r);if(l||(o.x=0),s||(o.y=0),i.current=!0,Math.abs(o.x)>0||Math.abs(o.y)>0){const t=oe(e);t&&t.scrollBy({top:o.y,left:o.x})}},[t,l,s,r,n])}({activeNode:null!=P?B.get(P):null,config:_e.layoutShiftCompensation,initialRect:Ce,measure:fe.draggable.measure});const Se=qe(ye,fe.draggable.measure,Ce),Ee=qe(ye?ye.parentElement:null),De=(0,o.useRef)({activatorEvent:null,active:null,activeNode:ye,collisionRect:null,collisions:null,droppableRects:pe,draggableNodes:B,draggingNode:null,draggingNodeRect:null,droppableContainers:H,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Me=H.getNodeFor(null==(t=De.current.over)?void 0:t.id),Re=function(e){let{measure:t}=e;const[n,r]=(0,o.useState)(null),a=Ue({callback:(0,o.useCallback)(e=>{for(const{target:n}of e)if(f(n)){r(e=>{const r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),i=(0,o.useCallback)(e=>{const n=function(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return f(t)?t:e}(e);null==a||a.disconnect(),n&&(null==a||a.observe(n)),r(n?t(n):null)},[t,a]),[l,s]=w(i);return(0,o.useMemo)(()=>({nodeRef:l,rect:n,setRef:s}),[n,l,s])}({measure:fe.dragOverlay.measure}),ke=null!=(n=Re.nodeRef.current)?n:ye,Ne=O?null!=(r=Re.rect)?r:Se:null,je=Boolean(Re.nodeRef.current&&Re.rect),Ie=J(Te=je?null:Se,$e(Te));var Te;const Ae=We(ke?c(ke):null),Pe=function(e){const t=(0,o.useRef)(e),n=b(n=>e?n&&n!==Ke&&e&&t.current&&e.parentNode===t.current.parentNode?n:re(e):Ke,[e]);return(0,o.useEffect)(()=>{t.current=e},[e]),n}(O?null!=Me?Me:ye:null),He=function(e,t){void 0===t&&(t=te);const[n]=e,r=We(n?c(n):null),[a,i]=(0,o.useState)(Ve);function l(){i(()=>e.length?e.map(e=>ce(e)?r:new ge(t(e),e)):Ve)}const s=Ue({callback:l});return h(()=>{null==s||s.disconnect(),l(),e.forEach(e=>null==s?void 0:s.observe(e))},[e]),a}(Pe),Ge=function(e,t){let{transform:n,...r}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}(E,{transform:{x:U.x-Ie.x,y:U.y-Ie.y,scaleX:1,scaleY:1},activatorEvent:ee,active:W,activeNodeRect:Se,containerNodeRect:Ee,draggingNodeRect:Ne,over:De.current.over,overlayNodeRect:Re.rect,scrollableAncestors:Pe,scrollableAncestorRects:He,windowRect:Ae}),Ze=xe?S(xe,U):null,et=function(e){const[t,n]=(0,o.useState)(null),r=(0,o.useRef)(e),a=(0,o.useCallback)(e=>{const t=ae(e.target);t&&n(e=>e?(e.set(t,se(t)),new Map(e)):null)},[]);return(0,o.useEffect)(()=>{const t=r.current;if(e!==t){o(t);const i=e.map(e=>{const t=ae(e);return t?(t.addEventListener("scroll",a,{passive:!0}),[t,se(t)]):null}).filter(e=>null!=e);n(i.length?new Map(i):null),r.current=e}return()=>{o(e),o(t)};function o(e){e.forEach(e=>{const t=ae(e);null==t||t.removeEventListener("scroll",a)})}},[a,e]),(0,o.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>S(e,t),$):he(e):$,[e,t])}(Pe),st=Qe(et),dt=Qe(et,[Se]),ct=S(Ge,st),ut=Ne?Z(Ne,Ge):null,ft=W&&ut?x({active:W,collisionRect:ut,droppableRects:pe,droppableContainers:ue,pointerCoordinates:Ze}):null,vt=Q(ft,"id"),[mt,ht]=(0,o.useState)(null),pt=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(je?Ge:S(Ge,dt),null!=(s=null==mt?void 0:mt.rect)?s:null,Se),gt=(0,o.useRef)(null),bt=(0,o.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(null==V.current)return;const o=B.get(V.current);if(!o)return;const a=e.nativeEvent,l=new n({active:V.current,activeNode:o,event:a,options:r,context:De,onAbort(e){if(!B.get(e))return;const{onDragAbort:t}=ie.current,n={id:e};null==t||t(n),j({type:"onDragAbort",event:n})},onPending(e,t,n,r){if(!B.get(e))return;const{onDragPending:o}=ie.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};null==o||o(a),j({type:"onDragPending",event:a})},onStart(e){const t=V.current;if(null==t)return;const n=B.get(t);if(!n)return;const{onDragStart:r}=ie.current,o={activatorEvent:a,active:{id:t,data:n.data,rect:K}};(0,i.unstable_batchedUpdates)(()=>{null==r||r(o),L(lt.Initializing),N({type:z.DragStart,initialCoordinates:e,active:t}),j({type:"onDragStart",event:o}),G(gt.current),ne(a)})},onMove(e){N({type:z.DragMove,coordinates:e})},onEnd:s(z.DragEnd),onCancel:s(z.DragCancel)});function s(e){return async function(){const{active:t,collisions:n,over:r,scrollAdjustedTranslate:o}=De.current;let l=null;if(t&&o){const{cancelDrop:i}=ie.current;l={activatorEvent:a,active:t,collisions:n,delta:o,over:r},e===z.DragEnd&&"function"==typeof i&&await Promise.resolve(i(l))&&(e=z.DragCancel)}V.current=null,(0,i.unstable_batchedUpdates)(()=>{N({type:e}),L(lt.Uninitialized),ht(null),G(null),ne(null),gt.current=null;const t=e===z.DragEnd?"onDragEnd":"onDragCancel";if(l){const e=ie.current[t];null==e||e(l),j({type:t,event:l})}})}}gt.current=l},[B]),wt=(0,o.useCallback)((e,t)=>(n,r)=>{const o=n.nativeEvent,a=B.get(r);if(null!==V.current||!a||o.dndKit||o.defaultPrevented)return;const i={active:a};!0===e(n,t.options,i)&&(o.dndKit={capturedBy:t.sensor},V.current=r,bt(n,t))},[B,bt]),yt=function(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{const{sensor:r}=n;return[...e,...r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(p,wt);!function(e){(0,o.useEffect)(()=>{if(!l)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(p),h(()=>{Se&&T===lt.Initializing&&L(lt.Initialized)},[Se,T]),(0,o.useEffect)(()=>{const{onDragMove:e}=ie.current,{active:t,activatorEvent:n,collisions:r,over:o}=De.current;if(!t||!n)return;const a={active:t,activatorEvent:n,collisions:r,delta:{x:ct.x,y:ct.y},over:o};(0,i.unstable_batchedUpdates)(()=>{null==e||e(a),j({type:"onDragMove",event:a})})},[ct.x,ct.y]),(0,o.useEffect)(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:o}=De.current;if(!e||null==V.current||!t||!o)return;const{onDragOver:a}=ie.current,l=r.get(vt),s=l&&l.rect.current?{id:l.id,rect:l.rect.current,data:l.data,disabled:l.disabled}:null,d={active:e,activatorEvent:t,collisions:n,delta:{x:o.x,y:o.y},over:s};(0,i.unstable_batchedUpdates)(()=>{ht(s),null==a||a(d),j({type:"onDragOver",event:d})})},[vt]),h(()=>{De.current={activatorEvent:ee,active:W,activeNode:ye,collisionRect:ut,collisions:ft,droppableRects:pe,draggableNodes:B,draggingNode:ke,draggingNodeRect:Ne,droppableContainers:H,over:mt,scrollableAncestors:Pe,scrollAdjustedTranslate:ct},K.current={initial:Ne,translated:ut}},[W,ye,ft,ut,B,ke,Ne,pe,H,mt,Pe,ct]),function(e){let{acceleration:t,activator:n=Le.Pointer,canScroll:r,draggingRect:a,enabled:i,interval:l=5,order:s=Oe.TreeOrder,pointerCoordinates:d,scrollableAncestors:c,scrollableAncestorRects:u,delta:f,threshold:v}=e;const m=function(e){let{delta:t,disabled:n}=e;const r=y(t);return b(e=>{if(n||!r||!e)return Fe;const o=Math.sign(t.x-r.x),a=Math.sign(t.y-r.y);return{x:{[de.Backward]:e.x[de.Backward]||-1===o,[de.Forward]:e.x[de.Forward]||1===o},y:{[de.Backward]:e.y[de.Backward]||-1===a,[de.Forward]:e.y[de.Forward]||1===a}}},[n,t,r])}({delta:f,disabled:!i}),[h,p]=function(){const e=(0,o.useRef)(null);return[(0,o.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,o.useCallback)(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),g=(0,o.useRef)({x:0,y:0}),w=(0,o.useRef)({x:0,y:0}),x=(0,o.useMemo)(()=>{switch(n){case Le.Pointer:return d?{top:d.y,bottom:d.y,left:d.x,right:d.x}:null;case Le.DraggableRect:return a}},[n,a,d]),_=(0,o.useRef)(null),C=(0,o.useCallback)(()=>{const e=_.current;if(!e)return;const t=g.current.x*w.current.x,n=g.current.y*w.current.y;e.scrollBy(t,n)},[]),S=(0,o.useMemo)(()=>s===Oe.TreeOrder?[...c].reverse():c,[s,c]);(0,o.useEffect)(()=>{if(i&&c.length&&x){for(const e of S){if(!1===(null==r?void 0:r(e)))continue;const n=c.indexOf(e),o=u[n];if(!o)continue;const{direction:a,speed:i}=ve(e,o,x,t,v);for(const e of["x","y"])m[e][a[e]]||(i[e]=0,a[e]=0);if(i.x>0||i.y>0)return p(),_.current=e,h(C,l),g.current=i,void(w.current=a)}g.current={x:0,y:0},w.current={x:0,y:0},p()}else p()},[t,C,r,p,i,l,JSON.stringify(x),JSON.stringify(m),h,c,S,u,JSON.stringify(v)])}({..._e,delta:U,draggingRect:ut,pointerCoordinates:Ze,scrollableAncestors:Pe,scrollableAncestorRects:He});const xt=(0,o.useMemo)(()=>({active:W,activeNode:ye,activeNodeRect:Se,activatorEvent:ee,collisions:ft,containerNodeRect:Ee,dragOverlay:Re,draggableNodes:B,droppableContainers:H,droppableRects:pe,over:mt,measureDroppableContainers:be,scrollableAncestors:Pe,scrollableAncestorRects:He,measuringConfiguration:fe,measuringScheduled:we,windowRect:Ae}),[W,ye,Se,ee,ft,Ee,Re,B,H,pe,mt,be,Pe,He,fe,we,Ae]),_t=(0,o.useMemo)(()=>({activatorEvent:ee,activators:yt,active:W,activeNodeRect:Se,ariaDescribedById:{draggable:le},dispatch:N,draggableNodes:B,over:mt,measureDroppableContainers:be}),[ee,yt,W,Se,N,le,B,mt,be]);return a().createElement(A.Provider,{value:I},a().createElement(tt.Provider,{value:_t},a().createElement(nt.Provider,{value:xt},a().createElement(it.Provider,{value:pt},m)),a().createElement(at,{disabled:!1===(null==u?void 0:u.restoreFocus)})),a().createElement(F,{...u,hiddenTextDescribedById:le}))}),dt=(0,o.createContext)(null),ct="button";const ut={timeout:25};function ft(e,t,n){const r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function vt(e,t){return e.reduce((e,n,r)=>{const o=t.get(n);return o&&(e[r]=o),e},Array(e.length))}function mt(e){return null!==e&&e>=0}const ht=e=>{let{rects:t,activeIndex:n,overIndex:r,index:o}=e;const a=ft(t,r,n),i=t[o],l=a[o];return l&&i?{x:l.left-i.left,y:l.top-i.top,scaleX:l.width/i.width,scaleY:l.height/i.height}:null},pt={scaleX:1,scaleY:1},gt=e=>{var t;let{activeIndex:n,activeNodeRect:r,index:o,rects:a,overIndex:i}=e;const l=null!=(t=a[n])?t:r;if(!l)return null;if(o===n){const e=a[i];return e?{x:0,y:n<i?e.top+e.height-(l.top+l.height):e.top-l.top,...pt}:null}const s=function(e,t,n){const r=e[t],o=e[t-1],a=e[t+1];return r?n<t?o?r.top-(o.top+o.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):o?r.top-(o.top+o.height):0:0}(a,o,n);return o>n&&o<=i?{x:0,y:-l.height-s,...pt}:o<n&&o>=i?{x:0,y:l.height+s,...pt}:{x:0,y:0,...pt}},bt="Sortable",wt=a().createContext({activeIndex:-1,containerId:bt,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:ht,disabled:{draggable:!1,droppable:!1}});function yt(e){let{children:t,id:n,items:r,strategy:i=ht,disabled:l=!1}=e;const{active:s,dragOverlay:d,droppableRects:c,over:u,measureDroppableContainers:f}=(0,o.useContext)(nt),v=_(bt,n),m=Boolean(null!==d.rect),p=(0,o.useMemo)(()=>r.map(e=>"object"==typeof e&&"id"in e?e.id:e),[r]),g=null!=s,b=s?p.indexOf(s.id):-1,w=u?p.indexOf(u.id):-1,y=(0,o.useRef)(p),x=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(p,y.current),C=-1!==w&&-1===b||x,S=function(e){return"boolean"==typeof e?{draggable:e,droppable:e}:e}(l);h(()=>{x&&g&&f(p)},[x,p,g,f]),(0,o.useEffect)(()=>{y.current=p},[p]);const E=(0,o.useMemo)(()=>({activeIndex:b,containerId:v,disabled:S,disableTransforms:C,items:p,overIndex:w,useDragOverlay:m,sortedRects:vt(p,c),strategy:i}),[b,v,S.draggable,S.droppable,C,p,w,c,m,i]);return a().createElement(wt.Provider,{value:E},t)}const xt=e=>{let{id:t,items:n,activeIndex:r,overIndex:o}=e;return ft(n,r,o).indexOf(t)},_t=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:o,items:a,newIndex:i,previousItems:l,previousContainerId:s,transition:d}=e;return!(!d||!r||l!==a&&o===i||!n&&(i===o||t!==s))},Ct={duration:200,easing:"ease"},St="transform",Et=R.Transition.toString({property:St,duration:0,easing:"linear"}),Dt={roleDescription:"sortable"};function Mt(e){let{animateLayoutChanges:t=_t,attributes:n,disabled:r,data:a,getNewIndex:i=xt,id:l,strategy:s,resizeObserverConfig:d,transition:c=Ct}=e;const{items:u,containerId:f,activeIndex:v,disabled:m,disableTransforms:p,sortedRects:b,overIndex:y,useDragOverlay:x,strategy:C}=(0,o.useContext)(wt),S=function(e,t){var n,r;return"boolean"==typeof e?{draggable:e,droppable:!1}:{draggable:null!=(n=null==e?void 0:e.draggable)?n:t.draggable,droppable:null!=(r=null==e?void 0:e.droppable)?r:t.droppable}}(r,m),E=u.indexOf(l),M=(0,o.useMemo)(()=>({sortable:{containerId:f,index:E,items:u},...a}),[f,a,E,u]),k=(0,o.useMemo)(()=>u.slice(u.indexOf(l)),[u,l]),{rect:N,node:j,isOver:I,setNodeRef:T}=function(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:a}=e;const i=_("Droppable"),{active:l,dispatch:s,over:d,measureDroppableContainers:c}=(0,o.useContext)(tt),u=(0,o.useRef)({disabled:n}),f=(0,o.useRef)(!1),v=(0,o.useRef)(null),m=(0,o.useRef)(null),{disabled:h,updateMeasurementsFor:p,timeout:b}={...ut,...a},y=g(null!=p?p:r),x=Ue({callback:(0,o.useCallback)(()=>{f.current?(null!=m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),m.current=null},b)):f.current=!0},[b]),disabled:h||!l}),C=(0,o.useCallback)((e,t)=>{x&&(t&&(x.unobserve(t),f.current=!1),e&&x.observe(e))},[x]),[S,E]=w(C),D=g(t);return(0,o.useEffect)(()=>{x&&S.current&&(x.disconnect(),f.current=!1,x.observe(S.current))},[S,x]),(0,o.useEffect)(()=>(s({type:z.RegisterDroppable,element:{id:r,key:i,disabled:n,node:S,rect:v,data:D}}),()=>s({type:z.UnregisterDroppable,key:i,id:r})),[r]),(0,o.useEffect)(()=>{n!==u.current.disabled&&(s({type:z.SetDroppableDisabled,id:r,key:i,disabled:n}),u.current.disabled=n)},[r,i,n,s]),{active:l,rect:v,isOver:(null==d?void 0:d.id)===r,node:S,over:d,setNodeRef:E}}({id:l,data:M,disabled:S.droppable,resizeObserverConfig:{updateMeasurementsFor:k,...d}}),{active:A,activatorEvent:L,activeNodeRect:O,attributes:F,setNodeRef:P,listeners:B,isDragging:$,over:U,setActivatorNodeRef:H,transform:q}=function(e){let{id:t,data:n,disabled:r=!1,attributes:a}=e;const i=_("Draggable"),{activators:l,activatorEvent:s,active:d,activeNodeRect:c,ariaDescribedById:u,draggableNodes:f,over:v}=(0,o.useContext)(tt),{role:m=ct,roleDescription:p="draggable",tabIndex:b=0}=null!=a?a:{},y=(null==d?void 0:d.id)===t,x=(0,o.useContext)(y?it:dt),[C,S]=w(),[E,D]=w(),M=function(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:o}=n;return e[r]=e=>{o(e,t)},e},{}),[e,t])}(l,t),R=g(n);return h(()=>(f.set(t,{id:t,key:i,node:C,activatorNode:E,data:R}),()=>{const e=f.get(t);e&&e.key===i&&f.delete(t)}),[f,t]),{active:d,activatorEvent:s,activeNodeRect:c,attributes:(0,o.useMemo)(()=>({role:m,tabIndex:b,"aria-disabled":r,"aria-pressed":!(!y||m!==ct)||void 0,"aria-roledescription":p,"aria-describedby":u.draggable}),[r,m,b,y,p,u.draggable]),isDragging:y,listeners:r?void 0:M,node:C,over:v,setNodeRef:S,setActivatorNodeRef:D,transform:x}}({id:l,data:M,attributes:{...Dt,...n},disabled:S.draggable}),K=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}(T,P),Q=Boolean(A),W=Q&&!p&&mt(v)&&mt(y),V=!x&&$,X=V&&W?q:null,Y=W?null!=X?X:(null!=s?s:C)({rects:b,activeNodeRect:O,activeIndex:v,overIndex:y,index:E}):null,J=mt(v)&&mt(y)?i({id:l,items:u,activeIndex:v,overIndex:y}):E,G=null==A?void 0:A.id,Z=(0,o.useRef)({activeId:G,items:u,newIndex:J,containerId:f}),ee=u!==Z.current.items,ne=t({active:A,containerId:f,isDragging:$,isSorting:Q,id:l,index:E,items:u,newIndex:Z.current.newIndex,previousItems:Z.current.items,previousContainerId:Z.current.containerId,transition:c,wasDragging:null!=Z.current.activeId}),re=function(e){let{disabled:t,index:n,node:r,rect:a}=e;const[i,l]=(0,o.useState)(null),s=(0,o.useRef)(n);return h(()=>{if(!t&&n!==s.current&&r.current){const e=a.current;if(e){const t=te(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&l(n)}}n!==s.current&&(s.current=n)},[t,n,r,a]),(0,o.useEffect)(()=>{i&&l(null)},[i]),i}({disabled:!ne,index:E,node:j,rect:N});return(0,o.useEffect)(()=>{Q&&Z.current.newIndex!==J&&(Z.current.newIndex=J),f!==Z.current.containerId&&(Z.current.containerId=f),u!==Z.current.items&&(Z.current.items=u)},[Q,J,f,u]),(0,o.useEffect)(()=>{if(G===Z.current.activeId)return;if(G&&!Z.current.activeId)return void(Z.current.activeId=G);const e=setTimeout(()=>{Z.current.activeId=G},50);return()=>clearTimeout(e)},[G]),{active:A,activeIndex:v,attributes:F,data:M,rect:N,index:E,newIndex:J,items:u,isOver:I,isSorting:Q,isDragging:$,listeners:B,node:j,overIndex:y,over:U,setNodeRef:K,setActivatorNodeRef:H,setDroppableNodeRef:T,setDraggableNodeRef:P,transform:null!=re?re:Y,transition:re||ee&&Z.current.newIndex===E?Et:V&&!D(L)||!c?void 0:Q||ne?R.Transition.toString({...c,property:St}):void 0}}function Rt(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&"object"==typeof t.sortable&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const kt=[xe.Down,xe.Right,xe.Up,xe.Left],Nt=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:o,droppableContainers:a,over:i,scrollableAncestors:l}}=t;if(kt.includes(e.code)){if(e.preventDefault(),!n||!r)return;const t=[];a.getEnabled().forEach(n=>{if(!n||null!=n&&n.disabled)return;const a=o.get(n.id);if(a)switch(e.code){case xe.Down:r.top<a.top&&t.push(n);break;case xe.Up:r.top>a.top&&t.push(n);break;case xe.Left:r.left>a.left&&t.push(n);break;case xe.Right:r.left<a.left&&t.push(n)}});const c=(e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=K(t),a=[];for(const e of r){const{id:t}=e,r=n.get(t);if(r){const n=K(r),i=o.reduce((e,t,r)=>e+U(n[r],t),0),l=Number((i/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:l}})}}return a.sort(H)})({active:n,collisionRect:r,droppableRects:o,droppableContainers:t,pointerCoordinates:null});let u=Q(c,"id");if(u===(null==i?void 0:i.id)&&c.length>1&&(u=c[1].id),null!=u){const e=a.get(n.id),t=a.get(u),i=t?o.get(t.id):null,c=null==t?void 0:t.node.current;if(c&&i&&e&&t){const n=re(c).some((e,t)=>l[t]!==e),o=jt(e,t),a=(d=t,!(!Rt(s=e)||!Rt(d))&&!!jt(s,d)&&s.data.current.sortable.index<d.data.current.sortable.index),u=n||!o?{x:0,y:0}:{x:a?r.width-i.width:0,y:a?r.height-i.height:0},f={x:i.left,y:i.top};return u.x&&u.y?f:E(f,u)}}}var s,d};function jt(e,t){return!(!Rt(e)||!Rt(t))&&e.data.current.sortable.containerId===t.data.current.sortable.containerId}const It=window.wp.apiFetch;var Tt=e.n(It);const At="vmfo_folders_cache";function Lt(){try{const e=localStorage.getItem(At);if(e)return JSON.parse(e)}catch(e){}return window.vmfData?.folders?window.vmfData.folders:window.vmfEditor?.folders?window.vmfEditor.folders:null}function Ot(e){try{localStorage.setItem(At,JSON.stringify(e))}catch(e){}}function Ft(e){const t={},n=[];return e.forEach(e=>{t[e.id]={...e,children:[]}}),e.forEach(e=>{e.parent&&t[e.parent]?t[e.parent].children.push(t[e.id]):n.push(t[e.id])}),n}const zt=window.ReactJSXRuntime;function Pt({expanded:e}){return(0,zt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:e?(0,zt.jsx)("polyline",{points:"6 9 12 15 18 9"}):(0,zt.jsx)("polyline",{points:"9 6 15 12 9 18"})})}function Bt({folder:e,selectedId:n,onSelect:o,level:a=0,parentId:i=null,renderWrapper:l,enableKeyboardNav:s=!1,enableAutoExpand:d=!1,enableAria:c=!1,isMoveModeActive:u=!1,forceExpand:f=!1}){const v=e=>!(!e.children||0===e.children.length)&&e.children.some(e=>e.id===n||v(e)),m=d&&v(e),[h,p]=(0,t.useState)(m),g=f||h||m,b=e.children&&e.children.length>0,w=n===e.id;(0,t.useEffect)(()=>{m&&!h&&p(!0)},[m,h]);const y=(0,zt.jsxs)("button",{type:"button",className:"vmf-folder-button "+(w?"is-selected":""),style:{paddingLeft:16*a+8+"px"},onClick:()=>o(e.id),onKeyDown:s?t=>{if(s)if("ArrowRight"===t.key&&b&&!g)t.preventDefault(),p(!0);else if("ArrowLeft"===t.key)t.preventDefault(),b&&g?p(!1):null!==i&&o(i);else if("Enter"===t.key||" "===t.key){if(u)return;t.preventDefault(),o(e.id)}}:void 0,"aria-current":w?"true":void 0,title:e.name,children:[b?(0,zt.jsx)("span",{className:"vmf-folder-toggle",onClick:t=>{t.stopPropagation(),g&&v(e)&&o(e.id),p(!g)},onKeyDown:s?t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),g&&v(e)&&o(e.id),p(!g))}:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,"aria-label":g?(0,r.__)("Collapse","virtual-media-folders"):(0,r.__)("Expand","virtual-media-folders"),children:(0,zt.jsx)(Pt,{expanded:g})}):(0,zt.jsx)("span",{className:"vmf-folder-toggle vmf-folder-toggle--placeholder","aria-hidden":"true"}),(0,zt.jsx)("span",{className:"vmf-folder-name",children:e.name}),"number"==typeof e.count&&!(b&&0===e.count)&&(0,zt.jsxs)("span",{className:"vmf-folder-count","aria-label":c?`${e.count} ${(0,r.__)("items","virtual-media-folders")}`:void 0,children:["(",e.count,")"]})]}),x=l?l({folderId:e.id,children:y}):y,_=c?{role:"treeitem","aria-expanded":b?g:void 0,"aria-selected":w}:{};return(0,zt.jsxs)("li",{className:"vmf-folder-item",..._,children:[x,b&&g&&(0,zt.jsx)("ul",{className:"vmf-folder-children",role:c?"group":void 0,children:e.children.map(t=>(0,zt.jsx)(Bt,{folder:t,selectedId:n,onSelect:o,level:a+1,parentId:e.id,renderWrapper:l,enableKeyboardNav:s,enableAutoExpand:d,enableAria:c,isMoveModeActive:u,forceExpand:f},t.id))})]})}function $t({folders:e,selectedId:t,onSelect:n,uncategorizedCount:o,showAllMedia:a=!0,showUncategorized:i=!0,loading:l,renderWrapper:s,renderUncategorizedWrapper:d,renderHeader:c,enableKeyboardNav:u=!1,enableAutoExpand:f=!1,enableAria:v=!1,isMoveModeActive:m=!1,forceExpand:h=!1,className:p="",loadingText:g}){if(l){const e=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,zt.jsx)("div",{className:`${e} ${e}--loading ${p}`,"aria-label":v?(0,r.__)("Media folders","virtual-media-folders"):void 0,children:(0,zt.jsx)("p",{"aria-live":v?"polite":void 0,children:g||(0,r.__)("Loading…","virtual-media-folders")})})}const b=(0,zt.jsx)("button",{type:"button",className:"vmf-folder-button "+(null===t?"is-selected":""),onClick:()=>n(null),"aria-current":null===t?"true":void 0,children:(0,zt.jsx)("span",{className:"vmf-folder-name",children:(0,r.__)("All Media","virtual-media-folders")})}),w=(0,zt.jsxs)("button",{type:"button",className:"vmf-folder-button "+("uncategorized"===t?"is-selected":""),onClick:()=>n("uncategorized"),"aria-current":"uncategorized"===t?"true":void 0,children:[(0,zt.jsx)("span",{className:"vmf-folder-name",children:(0,r.__)("Uncategorized","virtual-media-folders")}),(0,zt.jsxs)("span",{className:"vmf-folder-count","aria-label":v?`${o} ${(0,r.__)("items","virtual-media-folders")}`:void 0,children:["(",o,")"]})]}),y=d?d({children:w}):w,x=v?"nav":"div",_=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,zt.jsxs)(x,{className:`${_} ${p}`,"aria-label":v?(0,r.__)("Media folders","virtual-media-folders"):void 0,children:[c&&c(),(0,zt.jsxs)("ul",{className:"vmf-folder-list",role:v?"tree":void 0,"aria-label":v?(0,r.__)("Folder tree","virtual-media-folders"):void 0,children:[a&&(0,zt.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?null===t:void 0,children:b}),i&&(0,zt.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?"uncategorized"===t:void 0,children:y}),e.map(e=>(0,zt.jsx)(Bt,{folder:e,selectedId:t,onSelect:n,renderWrapper:s,enableKeyboardNav:u,enableAutoExpand:f,enableAria:v,isMoveModeActive:m,forceExpand:h},e.id))]})]})}const Ut=function({announcement:e}){return(0,zt.jsxs)(zt.Fragment,{children:[(0,zt.jsx)("div",{"aria-live":"polite","aria-atomic":"true",className:"vmf-sr-only",role:"status",children:e}),(0,zt.jsx)("div",{id:"vmf-drag-instructions",className:"vmf-sr-only",children:(0,r.__)("Press Space or Enter to start dragging. Use arrow keys to move. Press Space or Enter again to drop, or Escape to cancel.","virtual-media-folders")})]})};function Ht({folderId:e,children:n,className:o="",onKeyboardDrop:a,isMoveModeActive:i=!1}){const[l,s]=(0,t.useState)(!1),d=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s(!0)},[]),c=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s(!1)},[]),u=(0,t.useCallback)(t=>{t.preventDefault(),t.stopPropagation(),s(!1);try{const n=t.dataTransfer.getData("text/plain");if(!n)return;const r=JSON.parse(n);if(r.mediaId&&window.vmfMoveToFolder){window.vmfMoveToFolder(r.mediaId,e);const{jumpToFolderAfterMove:t=!1}=window.vmfData||{};t&&window.vmfSelectFolder&&setTimeout(()=>{window.vmfSelectFolder(e)},200)}}catch(e){}},[e]),f=(0,t.useCallback)(t=>{if(i&&a&&"Enter"===t.key){const n=t.target;if("INPUT"===n.tagName)return;if("BUTTON"===n.tagName&&!n.classList.contains("vmf-folder-button"))return;t.preventDefault(),t.stopPropagation(),a(e)}},[e,i,a]);return(0,zt.jsxs)("div",{className:`vmf-droppable-folder ${o} ${l?"is-over":""} ${i?"vmf-drop-target":""}`,onDragOver:d,onDragEnter:d,onDragLeave:c,onDrop:u,onKeyDown:f,"aria-dropeffect":i?"move":void 0,children:[n,l&&(0,zt.jsx)("span",{className:"screen-reader-text",children:(0,r.__)("Drop here to move media to this folder","virtual-media-folders")})]})}function qt({id:e,children:t,disabled:n=!1}){const{attributes:o,listeners:a,setNodeRef:i,transform:l,transition:s,isDragging:d}=Mt({id:e,disabled:n,data:{type:"folder",folderId:e}}),c={transform:R.Transform.toString(l),transition:s,opacity:d?.5:1,zIndex:d?100:void 0};return n?t:(0,zt.jsx)("div",{ref:i,style:c,className:"vmf-sortable-folder "+(d?"is-dragging":""),...o,children:(0,zt.jsxs)("div",{className:"vmf-sortable-folder__row",children:[(0,zt.jsx)("span",{className:"vmf-sortable-folder__grip",...a,role:"button",tabIndex:0,"aria-label":(0,r.__)("Drag to reorder folder","virtual-media-folders"),"aria-describedby":"vmf-drag-instructions","aria-roledescription":(0,r.__)("sortable","virtual-media-folders"),children:"⋮⋮"}),(0,zt.jsx)("div",{className:"vmf-sortable-folder__content",children:t})]})})}(0,t.createContext)(null);const Kt=window.wp.primitives;var Qt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"})}),Wt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z"})}),Vt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z"})});function Xt({folders:e=[],selectedId:o,onRefresh:a,onDelete:i,renderExtra:l}){const[s,d]=(0,t.useState)(!1),[c,u]=(0,t.useState)(!1),[f,v]=(0,t.useState)(!1),[m,h]=(0,t.useState)(""),[p,g]=(0,t.useState)(0),[b,w]=(0,t.useState)(""),[y,x]=(0,t.useState)(0),[_,C]=(0,t.useState)(!1),[S,E]=(0,t.useState)(""),D=e.find(e=>e.id===o);function M(e,t=0,n=0,r=null){let o=[];const a=e.filter(e=>e.parent===t);for(const t of a){if(null!==r&&t.id===r)continue;const a=n>0?"— ".repeat(n):"";o.push({label:a+t.name,value:String(t.id)}),o=o.concat(M(e,t.id,n+1,r))}return o}function R(e,t="success"){const n=document.createElement("div");n.className=`notice notice-${t} vmf-notice is-dismissible`;const r=document.createElement("p");r.textContent=String(null!=e?e:""),n.appendChild(r),n.style.cssText="position: fixed; top: 40px; right: 20px; z-index: 100000; max-width: 300px;",document.body.appendChild(n),setTimeout(()=>n.remove(),3e3)}const k=o&&"number"==typeof o;return(0,zt.jsxs)("div",{className:"vmf-folder-manager",onClick:e=>e.stopPropagation(),children:[(0,zt.jsxs)("div",{className:"vmf-folder-manager-buttons",children:[(0,zt.jsx)(n.Button,{icon:Qt,"aria-label":(0,r.__)("Create Folder","virtual-media-folders"),onClick:t=>{t.stopPropagation(),E("");const n=e.some(e=>e.id===o);g(n?o:0),d(!0)},className:"vmf-folder-manager-button",size:"small",showTooltip:!1}),(0,zt.jsx)(n.Button,{icon:Wt,"aria-label":(0,r.__)("Rename Folder","virtual-media-folders"),onClick:e=>{e.stopPropagation(),D&&(w(D.name),x(D.parent||0),E(""),u(!0))},disabled:!k,className:"vmf-folder-manager-button",size:"small",showTooltip:!1}),(0,zt.jsx)(n.Button,{icon:Vt,"aria-label":(0,r.__)("Delete Folder","virtual-media-folders"),onClick:e=>{e.stopPropagation(),E(""),v(!0)},disabled:!k,className:"vmf-folder-manager-button",isDestructive:!0,size:"small",showTooltip:!1}),l&&l()]}),s&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Create Folder","virtual-media-folders"),onRequestClose:()=>d(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)(n.TextControl,{label:(0,r.__)("Folder Name","virtual-media-folders"),value:m,onChange:h,placeholder:(0,r.__)("Enter folder name","virtual-media-folders"),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,zt.jsx)(n.SelectControl,{label:(0,r.__)("Parent Folder","virtual-media-folders"),value:String(p),options:[{label:(0,r.__)("None (top level)","virtual-media-folders"),value:"0"},...M(e)],onChange:e=>g(parseInt(e,10)),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),S&&(0,zt.jsx)("p",{className:"vmf-folder-modal-error",children:S}),(0,zt.jsxs)("div",{className:"vmf-folder-modal-actions",children:[(0,zt.jsx)(n.Button,{variant:"secondary",onClick:()=>d(!1),disabled:_,children:(0,r.__)("Cancel","virtual-media-folders")}),(0,zt.jsx)(n.Button,{variant:"primary",onClick:async function(){if(m.trim()){C(!0),E("");try{await Tt()({path:"/vmfo/v1/folders",method:"POST",data:{name:m.trim(),parent:p}}),h(""),g(0),d(!1),R((0,r.__)("Folder created.","virtual-media-folders"),"success"),a?.()}catch(e){E(e.message||(0,r.__)("Failed to create folder.","virtual-media-folders"))}finally{C(!1)}}else E((0,r.__)("Please enter a folder name.","virtual-media-folders"))},disabled:_,children:_?(0,r.__)("Creating…","virtual-media-folders"):(0,r.__)("Create","virtual-media-folders")})]})]}),c&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Edit Folder","virtual-media-folders"),onRequestClose:()=>u(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)(n.TextControl,{label:(0,r.__)("Folder Name","virtual-media-folders"),value:b,onChange:w,placeholder:(0,r.__)("Enter folder name","virtual-media-folders"),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,zt.jsx)(n.SelectControl,{label:(0,r.__)("Parent Folder","virtual-media-folders"),value:String(y),options:[{label:(0,r.__)("None (top level)","virtual-media-folders"),value:"0"},...M(e,0,0,o)],onChange:e=>x(parseInt(e,10)),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),S&&(0,zt.jsx)("p",{className:"vmf-folder-modal-error",children:S}),(0,zt.jsxs)("div",{className:"vmf-folder-modal-actions",children:[(0,zt.jsx)(n.Button,{variant:"secondary",onClick:()=>u(!1),disabled:_,children:(0,r.__)("Cancel","virtual-media-folders")}),(0,zt.jsx)(n.Button,{variant:"primary",onClick:async function(){if(b.trim()){if(o&&"number"==typeof o){C(!0),E("");try{await Tt()({path:`/vmfo/v1/folders/${o}`,method:"PUT",data:{name:b.trim(),parent:y}}),w(""),x(0),u(!1),R((0,r.__)("Folder updated.","virtual-media-folders"),"success"),a?.()}catch(e){E(e.message||(0,r.__)("Failed to update folder.","virtual-media-folders"))}finally{C(!1)}}}else E((0,r.__)("Please enter a folder name.","virtual-media-folders"))},disabled:_,children:_?(0,r.__)("Saving…","virtual-media-folders"):(0,r.__)("Save","virtual-media-folders")})]})]}),f&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Delete Folder","virtual-media-folders"),onRequestClose:()=>v(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)("p",{children:(0,r.sprintf)(/* translators: %s: folder name */ /* translators: %s: folder name */
     1(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.element,n=window.wp.components,r=window.wp.i18n,o=window.React;var a=e.n(o);const i=window.ReactDOM,l="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function s(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function d(e){return"nodeType"in e}function c(e){var t,n;return e?s(e)?e:d(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function u(e){const{Document:t}=c(e);return e instanceof t}function f(e){return!s(e)&&e instanceof c(e).HTMLElement}function v(e){return e instanceof c(e).SVGElement}function m(e){return e?s(e)?e.document:d(e)?u(e)?e:f(e)||v(e)?e.ownerDocument:document:document:document}const h=l?o.useLayoutEffect:o.useEffect;function p(e){const t=(0,o.useRef)(e);return h(()=>{t.current=e}),(0,o.useCallback)(function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return null==t.current?void 0:t.current(...n)},[])}function g(e,t){void 0===t&&(t=[e]);const n=(0,o.useRef)(e);return h(()=>{n.current!==e&&(n.current=e)},t),n}function b(e,t){const n=(0,o.useRef)();return(0,o.useMemo)(()=>{const t=e(n.current);return n.current=t,t},[...t])}function w(e){const t=p(e),n=(0,o.useRef)(null),r=(0,o.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,r]}function y(e){const t=(0,o.useRef)();return(0,o.useEffect)(()=>{t.current=e},[e]),t.current}let x={};function _(e,t){return(0,o.useMemo)(()=>{if(t)return t;const n=null==x[e]?0:x[e]+1;return x[e]=n,e+"-"+n},[e,t])}function C(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((t,n)=>{const r=Object.entries(n);for(const[n,o]of r){const r=t[n];null!=r&&(t[n]=r+e*o)}return t},{...t})}}const S=C(1),E=C(-1);function D(e){if(!e)return!1;const{KeyboardEvent:t}=c(e.target);return t&&e instanceof t}function M(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=c(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const R=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[R.Translate.toString(e),R.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),k="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function N(e){return e.matches(k)?e:e.querySelector(k)}const j={display:"none"};function I(e){let{id:t,value:n}=e;return a().createElement("div",{id:t,style:j},n)}function T(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;return a().createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":r,"aria-atomic":!0},n)}const A=(0,o.createContext)(null),L={draggable:"\n    To pick up a draggable item, press the space bar.\n    While dragging, use the arrow keys to move the item.\n    Press space again to drop the item in its new position, or press escape to cancel.\n  "},O={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function F(e){let{announcements:t=O,container:n,hiddenTextDescribedById:r,screenReaderInstructions:l=L}=e;const{announce:s,announcement:d}=function(){const[e,t]=(0,o.useState)("");return{announce:(0,o.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),c=_("DndLiveRegion"),[u,f]=(0,o.useState)(!1);if((0,o.useEffect)(()=>{f(!0)},[]),function(e){const t=(0,o.useContext)(A);(0,o.useEffect)(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}((0,o.useMemo)(()=>({onDragStart(e){let{active:n}=e;s(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&s(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;s(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;s(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;s(t.onDragCancel({active:n,over:r}))}}),[s,t])),!u)return null;const v=a().createElement(a().Fragment,null,a().createElement(I,{id:r,value:l.draggable}),a().createElement(T,{id:c,announcement:d}));return n?(0,i.createPortal)(v,n):v}var z;function P(){}function B(e,t){return(0,o.useMemo)(()=>({sensor:e,options:null!=t?t:{}}),[e,t])}!function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"}(z||(z={}));const U=Object.freeze({x:0,y:0});function $(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function H(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function q(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function K(e){let{left:t,top:n,height:r,width:o}=e;return[{x:t,y:n},{x:t+o,y:n},{x:t,y:n+r},{x:t+o,y:n+r}]}function Q(e,t){if(!e||0===e.length)return null;const[n]=e;return t?n[t]:n}function W(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}const V=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=W(t,t.left,t.top),a=[];for(const e of r){const{id:t}=e,r=n.get(t);if(r){const n=$(W(r),o);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(H)};function X(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),o=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),i=o-r,l=a-n;if(r<o&&n<a){const n=t.width*t.height,r=e.width*e.height,o=i*l;return Number((o/(n+r-o)).toFixed(4))}return 0}const Y=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=[];for(const e of r){const{id:r}=e,a=n.get(r);if(a){const n=X(a,t);n>0&&o.push({id:r,data:{droppableContainer:e,value:n}})}}return o.sort(q)};function J(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:U}function G(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}const Z=G(1);const ee={ignoreTransform:!1};function te(e,t){void 0===t&&(t=ee);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:r}=c(e).getComputedStyle(e);t&&(n=function(e,t,n){const r=function(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}(t);if(!r)return e;const{scaleX:o,scaleY:a,x:i,y:l}=r,s=e.left-i-(1-o)*parseFloat(n),d=e.top-l-(1-a)*parseFloat(n.slice(n.indexOf(" ")+1)),c=o?e.width/o:e.width,u=a?e.height/a:e.height;return{width:c,height:u,top:d,right:s+c,bottom:d+u,left:s}}(n,t,r))}const{top:r,left:o,width:a,height:i,bottom:l,right:s}=n;return{top:r,left:o,width:a,height:i,bottom:l,right:s}}function ne(e){return te(e,{ignoreTransform:!0})}function re(e,t){const n=[];return e?function r(o){if(null!=t&&n.length>=t)return n;if(!o)return n;if(u(o)&&null!=o.scrollingElement&&!n.includes(o.scrollingElement))return n.push(o.scrollingElement),n;if(!f(o)||v(o))return n;if(n.includes(o))return n;const a=c(e).getComputedStyle(o);return o!==e&&function(e,t){void 0===t&&(t=c(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const r=t[e];return"string"==typeof r&&n.test(r)})}(o,a)&&n.push(o),function(e,t){return void 0===t&&(t=c(e).getComputedStyle(e)),"fixed"===t.position}(o,a)?n:r(o.parentNode)}(e):n}function oe(e){const[t]=re(e,1);return null!=t?t:null}function ae(e){return l&&e?s(e)?e:d(e)?u(e)||e===m(e).scrollingElement?window:f(e)?e:null:null:null}function ie(e){return s(e)?e.scrollX:e.scrollLeft}function le(e){return s(e)?e.scrollY:e.scrollTop}function se(e){return{x:ie(e),y:le(e)}}var de;function ce(e){return!(!l||!e)&&e===document.scrollingElement}function ue(e){const t={x:0,y:0},n=ce(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(de||(de={}));const fe={x:.2,y:.2};function ve(e,t,n,r,o){let{top:a,left:i,right:l,bottom:s}=n;void 0===r&&(r=10),void 0===o&&(o=fe);const{isTop:d,isBottom:c,isLeft:u,isRight:f}=ue(e),v={x:0,y:0},m={x:0,y:0},h=t.height*o.y,p=t.width*o.x;return!d&&a<=t.top+h?(v.y=de.Backward,m.y=r*Math.abs((t.top+h-a)/h)):!c&&s>=t.bottom-h&&(v.y=de.Forward,m.y=r*Math.abs((t.bottom-h-s)/h)),!f&&l>=t.right-p?(v.x=de.Forward,m.x=r*Math.abs((t.right-p-l)/p)):!u&&i<=t.left+p&&(v.x=de.Backward,m.x=r*Math.abs((t.left+p-i)/p)),{direction:v,speed:m}}function me(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:r,bottom:o}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:o,width:e.clientWidth,height:e.clientHeight}}function he(e){return e.reduce((e,t)=>S(e,se(t)),U)}const pe=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+ie(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+le(t),0)}]];class ge{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=re(t),r=he(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,o]of pe)for(const a of t)Object.defineProperty(this,a,{get:()=>{const t=o(n),i=r[e]-t;return this.rect[a]+i},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class be{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var r;null==(r=this.target)||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function we(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t&&r>t.y}var ye,xe;function _e(e){e.preventDefault()}function Ce(e){e.stopPropagation()}!function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"}(ye||(ye={})),function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"}(xe||(xe={}));const Se={start:[xe.Space,xe.Enter],cancel:[xe.Esc],end:[xe.Space,xe.Enter,xe.Tab]},Ee=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case xe.Right:return{...n,x:n.x+25};case xe.Left:return{...n,x:n.x-25};case xe.Down:return{...n,y:n.y+25};case xe.Up:return{...n,y:n.y-25}}};class De{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new be(m(t)),this.windowListeners=new be(c(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ye.Resize,this.handleCancel),this.windowListeners.add(ye.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ye.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&function(e,t){if(void 0===t&&(t=te),!e)return;const{top:n,left:r,bottom:o,right:a}=t(e);oe(e)&&(o<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}(n),t(U)}handleKeyDown(e){if(D(e)){const{active:t,context:n,options:r}=this.props,{keyboardCodes:o=Se,coordinateGetter:a=Ee,scrollBehavior:i="smooth"}=r,{code:l}=e;if(o.end.includes(l))return void this.handleEnd(e);if(o.cancel.includes(l))return void this.handleCancel(e);const{collisionRect:s}=n.current,d=s?{x:s.left,y:s.top}:U;this.referenceCoordinates||(this.referenceCoordinates=d);const c=a(e,{active:t,context:n.current,currentCoordinates:d});if(c){const t=E(c,d),r={x:0,y:0},{scrollableAncestors:o}=n.current;for(const n of o){const o=e.code,{isTop:a,isRight:l,isLeft:s,isBottom:d,maxScroll:u,minScroll:f}=ue(n),v=me(n),m={x:Math.min(o===xe.Right?v.right-v.width/2:v.right,Math.max(o===xe.Right?v.left:v.left+v.width/2,c.x)),y:Math.min(o===xe.Down?v.bottom-v.height/2:v.bottom,Math.max(o===xe.Down?v.top:v.top+v.height/2,c.y))},h=o===xe.Right&&!l||o===xe.Left&&!s,p=o===xe.Down&&!d||o===xe.Up&&!a;if(h&&m.x!==c.x){const e=n.scrollLeft+t.x,a=o===xe.Right&&e<=u.x||o===xe.Left&&e>=f.x;if(a&&!t.y)return void n.scrollTo({left:e,behavior:i});r.x=a?n.scrollLeft-e:o===xe.Right?n.scrollLeft-u.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:i});break}if(p&&m.y!==c.y){const e=n.scrollTop+t.y,a=o===xe.Down&&e<=u.y||o===xe.Up&&e>=f.y;if(a&&!t.x)return void n.scrollTo({top:e,behavior:i});r.y=a?n.scrollTop-e:o===xe.Down?n.scrollTop-u.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:i});break}}this.handleMove(e,S(E(c,this.referenceCoordinates),r))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function Me(e){return Boolean(e&&"distance"in e)}function Re(e){return Boolean(e&&"delay"in e)}De.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=Se,onActivation:o}=t,{active:a}=n;const{code:i}=e.nativeEvent;if(r.start.includes(i)){const t=a.activatorNode.current;return!(t&&e.target!==t||(e.preventDefault(),null==o||o({event:e.nativeEvent}),0))}return!1}}];class ke{constructor(e,t,n){var r;void 0===n&&(n=function(e){const{EventTarget:t}=c(e);return e instanceof t?e:m(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:o}=e,{target:a}=o;this.props=e,this.events=t,this.document=m(a),this.documentListeners=new be(this.document),this.listeners=new be(n),this.windowListeners=new be(c(a)),this.initialCoordinates=null!=(r=M(o))?r:U,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(ye.Resize,this.handleCancel),this.windowListeners.add(ye.DragStart,_e),this.windowListeners.add(ye.VisibilityChange,this.handleCancel),this.windowListeners.add(ye.ContextMenu,_e),this.documentListeners.add(ye.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Re(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(Me(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(ye.Click,Ce,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ye.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:r,props:o}=this,{onMove:a,options:{activationConstraint:i}}=o;if(!r)return;const l=null!=(t=M(e))?t:U,s=E(r,l);if(!n&&i){if(Me(i)){if(null!=i.tolerance&&we(s,i.tolerance))return this.handleCancel();if(we(s,i.distance))return this.handleStart()}return Re(i)&&we(s,i.tolerance)?this.handleCancel():void this.handlePending(i,s)}e.cancelable&&e.preventDefault(),a(l)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===xe.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const Ne={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class je extends ke{constructor(e){const{event:t}=e,n=m(t.target);super(e,Ne,n)}}je.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!(!n.isPrimary||0!==n.button||(null==r||r({event:n}),0))}}];const Ie={move:{name:"mousemove"},end:{name:"mouseup"}};var Te;!function(e){e[e.RightClick=2]="RightClick"}(Te||(Te={})),class extends ke{constructor(e){super(e,Ie,m(e.event.target))}}.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==Te.RightClick&&(null==r||r({event:n}),!0)}}];const Ae={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var Le,Oe;(class extends ke{constructor(e){super(e,Ae)}static setup(){return window.addEventListener(Ae.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Ae.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:o}=n;return!(o.length>1||(null==r||r({event:n}),0))}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(Le||(Le={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(Oe||(Oe={}));const Fe={x:{[de.Backward]:!1,[de.Forward]:!1},y:{[de.Backward]:!1,[de.Forward]:!1}};var ze,Pe;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(ze||(ze={})),function(e){e.Optimized="optimized"}(Pe||(Pe={}));const Be=new Map;function Ue(e,t){return b(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function $e(e){let{callback:t,disabled:n}=e;const r=p(t),a=(0,o.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(r)},[n]);return(0,o.useEffect)(()=>()=>null==a?void 0:a.disconnect(),[a]),a}function He(e){return new ge(te(e),e)}function qe(e,t,n){void 0===t&&(t=He);const[r,a]=(0,o.useState)(null);function i(){a(r=>{if(!e)return null;var o;if(!1===e.isConnected)return null!=(o=null!=r?r:n)?o:null;const a=t(e);return JSON.stringify(r)===JSON.stringify(a)?r:a})}const l=function(e){let{callback:t,disabled:n}=e;const r=p(t),a=(0,o.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,o.useEffect)(()=>()=>null==a?void 0:a.disconnect(),[a]),a}({callback(t){if(e)for(const n of t){const{type:t,target:r}=n;if("childList"===t&&r instanceof HTMLElement&&r.contains(e)){i();break}}}}),s=$e({callback:i});return h(()=>{i(),e?(null==s||s.observe(e),null==l||l.observe(document.body,{childList:!0,subtree:!0})):(null==s||s.disconnect(),null==l||l.disconnect())},[e]),r}const Ke=[];function Qe(e,t){void 0===t&&(t=[]);const n=(0,o.useRef)(null);return(0,o.useEffect)(()=>{n.current=null},t),(0,o.useEffect)(()=>{const t=e!==U;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?E(e,n.current):U}function We(e){return(0,o.useMemo)(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const Ve=[];const Xe=[{sensor:je,options:{}},{sensor:De,options:{}}],Ye={current:{}},Je={draggable:{measure:ne},droppable:{measure:ne,strategy:ze.WhileDragging,frequency:Pe.Optimized},dragOverlay:{measure:te}};class Ge extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const Ze={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ge,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:P},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Je,measureDroppableContainers:P,windowRect:null,measuringScheduled:!1},et={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:P,draggableNodes:new Map,over:null,measureDroppableContainers:P},tt=(0,o.createContext)(et),nt=(0,o.createContext)(Ze);function rt(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ge}}}function ot(e,t){switch(t.type){case z.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case z.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case z.DragEnd:case z.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case z.RegisterDroppable:{const{element:n}=t,{id:r}=n,o=new Ge(e.droppable.containers);return o.set(r,n),{...e,droppable:{...e.droppable,containers:o}}}case z.SetDroppableDisabled:{const{id:n,key:r,disabled:o}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;const i=new Ge(e.droppable.containers);return i.set(n,{...a,disabled:o}),{...e,droppable:{...e.droppable,containers:i}}}case z.UnregisterDroppable:{const{id:n,key:r}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const a=new Ge(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function at(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:a}=(0,o.useContext)(tt),i=y(r),l=y(null==n?void 0:n.id);return(0,o.useEffect)(()=>{if(!t&&!r&&i&&null!=l){if(!D(i))return;if(document.activeElement===i.target)return;const e=a.get(l);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=N(e);if(t){t.focus();break}}})}},[r,t,a,l,i]),null}const it=(0,o.createContext)({...U,scaleX:1,scaleY:1});var lt;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(lt||(lt={}));const st=(0,o.memo)(function(e){var t,n,r,s;let{id:d,accessibility:u,autoScroll:v=!0,children:m,sensors:p=Xe,collisionDetection:x=Y,measuring:C,modifiers:E,...D}=e;const R=(0,o.useReducer)(ot,void 0,rt),[k,N]=R,[j,I]=function(){const[e]=(0,o.useState)(()=>new Set),t=(0,o.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,o.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,r)})},[e]),t]}(),[T,L]=(0,o.useState)(lt.Uninitialized),O=T===lt.Initialized,{draggable:{active:P,nodes:B,translate:$},droppable:{containers:H}}=k,q=null!=P?B.get(P):null,K=(0,o.useRef)({initial:null,translated:null}),W=(0,o.useMemo)(()=>{var e;return null!=P?{id:P,data:null!=(e=null==q?void 0:q.data)?e:Ye,rect:K}:null},[P,q]),V=(0,o.useRef)(null),[X,G]=(0,o.useState)(null),[ee,ne]=(0,o.useState)(null),ie=g(D,Object.values(D)),le=_("DndDescribedBy",d),ue=(0,o.useMemo)(()=>H.getEnabled(),[H]),fe=(me=C,(0,o.useMemo)(()=>({draggable:{...Je.draggable,...null==me?void 0:me.draggable},droppable:{...Je.droppable,...null==me?void 0:me.droppable},dragOverlay:{...Je.dragOverlay,...null==me?void 0:me.dragOverlay}}),[null==me?void 0:me.draggable,null==me?void 0:me.droppable,null==me?void 0:me.dragOverlay]));var me;const{droppableRects:pe,measureDroppableContainers:be,measuringScheduled:we}=function(e,t){let{dragging:n,dependencies:r,config:a}=t;const[i,l]=(0,o.useState)(null),{frequency:s,measure:d,strategy:c}=a,u=(0,o.useRef)(e),f=function(){switch(c){case ze.Always:return!1;case ze.BeforeDragging:return n;default:return!n}}(),v=g(f),m=(0,o.useCallback)(function(e){void 0===e&&(e=[]),v.current||l(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[v]),h=(0,o.useRef)(null),p=b(t=>{if(f&&!n)return Be;if(!t||t===Be||u.current!==e||null!=i){const t=new Map;for(let n of e){if(!n)continue;if(i&&i.length>0&&!i.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,r=e?new ge(d(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,i,n,f,d]);return(0,o.useEffect)(()=>{u.current=e},[e]),(0,o.useEffect)(()=>{f||m()},[n,f]),(0,o.useEffect)(()=>{i&&i.length>0&&l(null)},[JSON.stringify(i)]),(0,o.useEffect)(()=>{f||"number"!=typeof s||null!==h.current||(h.current=setTimeout(()=>{m(),h.current=null},s))},[s,f,m,...r]),{droppableRects:p,measureDroppableContainers:m,measuringScheduled:null!=i}}(ue,{dragging:O,dependencies:[$.x,$.y],config:fe.droppable}),ye=function(e,t){const n=null!=t?e.get(t):void 0,r=n?n.node.current:null;return b(e=>{var n;return null==t?null:null!=(n=null!=r?r:e)?n:null},[r,t])}(B,P),xe=(0,o.useMemo)(()=>ee?M(ee):null,[ee]),_e=function(){const e=!1===(null==X?void 0:X.autoScrollEnabled),t="object"==typeof v?!1===v.enabled:!1===v,n=O&&!e&&!t;return"object"==typeof v?{...v,enabled:n}:{enabled:n}}(),Ce=function(e,t){return Ue(e,t)}(ye,fe.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:r,config:a=!0}=e;const i=(0,o.useRef)(!1),{x:l,y:s}="boolean"==typeof a?{x:a,y:a}:a;h(()=>{if(!l&&!s||!t)return void(i.current=!1);if(i.current||!r)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const o=J(n(e),r);if(l||(o.x=0),s||(o.y=0),i.current=!0,Math.abs(o.x)>0||Math.abs(o.y)>0){const t=oe(e);t&&t.scrollBy({top:o.y,left:o.x})}},[t,l,s,r,n])}({activeNode:null!=P?B.get(P):null,config:_e.layoutShiftCompensation,initialRect:Ce,measure:fe.draggable.measure});const Se=qe(ye,fe.draggable.measure,Ce),Ee=qe(ye?ye.parentElement:null),De=(0,o.useRef)({activatorEvent:null,active:null,activeNode:ye,collisionRect:null,collisions:null,droppableRects:pe,draggableNodes:B,draggingNode:null,draggingNodeRect:null,droppableContainers:H,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Me=H.getNodeFor(null==(t=De.current.over)?void 0:t.id),Re=function(e){let{measure:t}=e;const[n,r]=(0,o.useState)(null),a=$e({callback:(0,o.useCallback)(e=>{for(const{target:n}of e)if(f(n)){r(e=>{const r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),i=(0,o.useCallback)(e=>{const n=function(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return f(t)?t:e}(e);null==a||a.disconnect(),n&&(null==a||a.observe(n)),r(n?t(n):null)},[t,a]),[l,s]=w(i);return(0,o.useMemo)(()=>({nodeRef:l,rect:n,setRef:s}),[n,l,s])}({measure:fe.dragOverlay.measure}),ke=null!=(n=Re.nodeRef.current)?n:ye,Ne=O?null!=(r=Re.rect)?r:Se:null,je=Boolean(Re.nodeRef.current&&Re.rect),Ie=J(Te=je?null:Se,Ue(Te));var Te;const Ae=We(ke?c(ke):null),Pe=function(e){const t=(0,o.useRef)(e),n=b(n=>e?n&&n!==Ke&&e&&t.current&&e.parentNode===t.current.parentNode?n:re(e):Ke,[e]);return(0,o.useEffect)(()=>{t.current=e},[e]),n}(O?null!=Me?Me:ye:null),He=function(e,t){void 0===t&&(t=te);const[n]=e,r=We(n?c(n):null),[a,i]=(0,o.useState)(Ve);function l(){i(()=>e.length?e.map(e=>ce(e)?r:new ge(t(e),e)):Ve)}const s=$e({callback:l});return h(()=>{null==s||s.disconnect(),l(),e.forEach(e=>null==s?void 0:s.observe(e))},[e]),a}(Pe),Ge=function(e,t){let{transform:n,...r}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}(E,{transform:{x:$.x-Ie.x,y:$.y-Ie.y,scaleX:1,scaleY:1},activatorEvent:ee,active:W,activeNodeRect:Se,containerNodeRect:Ee,draggingNodeRect:Ne,over:De.current.over,overlayNodeRect:Re.rect,scrollableAncestors:Pe,scrollableAncestorRects:He,windowRect:Ae}),Ze=xe?S(xe,$):null,et=function(e){const[t,n]=(0,o.useState)(null),r=(0,o.useRef)(e),a=(0,o.useCallback)(e=>{const t=ae(e.target);t&&n(e=>e?(e.set(t,se(t)),new Map(e)):null)},[]);return(0,o.useEffect)(()=>{const t=r.current;if(e!==t){o(t);const i=e.map(e=>{const t=ae(e);return t?(t.addEventListener("scroll",a,{passive:!0}),[t,se(t)]):null}).filter(e=>null!=e);n(i.length?new Map(i):null),r.current=e}return()=>{o(e),o(t)};function o(e){e.forEach(e=>{const t=ae(e);null==t||t.removeEventListener("scroll",a)})}},[a,e]),(0,o.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>S(e,t),U):he(e):U,[e,t])}(Pe),st=Qe(et),dt=Qe(et,[Se]),ct=S(Ge,st),ut=Ne?Z(Ne,Ge):null,ft=W&&ut?x({active:W,collisionRect:ut,droppableRects:pe,droppableContainers:ue,pointerCoordinates:Ze}):null,vt=Q(ft,"id"),[mt,ht]=(0,o.useState)(null),pt=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(je?Ge:S(Ge,dt),null!=(s=null==mt?void 0:mt.rect)?s:null,Se),gt=(0,o.useRef)(null),bt=(0,o.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(null==V.current)return;const o=B.get(V.current);if(!o)return;const a=e.nativeEvent,l=new n({active:V.current,activeNode:o,event:a,options:r,context:De,onAbort(e){if(!B.get(e))return;const{onDragAbort:t}=ie.current,n={id:e};null==t||t(n),j({type:"onDragAbort",event:n})},onPending(e,t,n,r){if(!B.get(e))return;const{onDragPending:o}=ie.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};null==o||o(a),j({type:"onDragPending",event:a})},onStart(e){const t=V.current;if(null==t)return;const n=B.get(t);if(!n)return;const{onDragStart:r}=ie.current,o={activatorEvent:a,active:{id:t,data:n.data,rect:K}};(0,i.unstable_batchedUpdates)(()=>{null==r||r(o),L(lt.Initializing),N({type:z.DragStart,initialCoordinates:e,active:t}),j({type:"onDragStart",event:o}),G(gt.current),ne(a)})},onMove(e){N({type:z.DragMove,coordinates:e})},onEnd:s(z.DragEnd),onCancel:s(z.DragCancel)});function s(e){return async function(){const{active:t,collisions:n,over:r,scrollAdjustedTranslate:o}=De.current;let l=null;if(t&&o){const{cancelDrop:i}=ie.current;l={activatorEvent:a,active:t,collisions:n,delta:o,over:r},e===z.DragEnd&&"function"==typeof i&&await Promise.resolve(i(l))&&(e=z.DragCancel)}V.current=null,(0,i.unstable_batchedUpdates)(()=>{N({type:e}),L(lt.Uninitialized),ht(null),G(null),ne(null),gt.current=null;const t=e===z.DragEnd?"onDragEnd":"onDragCancel";if(l){const e=ie.current[t];null==e||e(l),j({type:t,event:l})}})}}gt.current=l},[B]),wt=(0,o.useCallback)((e,t)=>(n,r)=>{const o=n.nativeEvent,a=B.get(r);if(null!==V.current||!a||o.dndKit||o.defaultPrevented)return;const i={active:a};!0===e(n,t.options,i)&&(o.dndKit={capturedBy:t.sensor},V.current=r,bt(n,t))},[B,bt]),yt=function(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{const{sensor:r}=n;return[...e,...r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(p,wt);!function(e){(0,o.useEffect)(()=>{if(!l)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(p),h(()=>{Se&&T===lt.Initializing&&L(lt.Initialized)},[Se,T]),(0,o.useEffect)(()=>{const{onDragMove:e}=ie.current,{active:t,activatorEvent:n,collisions:r,over:o}=De.current;if(!t||!n)return;const a={active:t,activatorEvent:n,collisions:r,delta:{x:ct.x,y:ct.y},over:o};(0,i.unstable_batchedUpdates)(()=>{null==e||e(a),j({type:"onDragMove",event:a})})},[ct.x,ct.y]),(0,o.useEffect)(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:o}=De.current;if(!e||null==V.current||!t||!o)return;const{onDragOver:a}=ie.current,l=r.get(vt),s=l&&l.rect.current?{id:l.id,rect:l.rect.current,data:l.data,disabled:l.disabled}:null,d={active:e,activatorEvent:t,collisions:n,delta:{x:o.x,y:o.y},over:s};(0,i.unstable_batchedUpdates)(()=>{ht(s),null==a||a(d),j({type:"onDragOver",event:d})})},[vt]),h(()=>{De.current={activatorEvent:ee,active:W,activeNode:ye,collisionRect:ut,collisions:ft,droppableRects:pe,draggableNodes:B,draggingNode:ke,draggingNodeRect:Ne,droppableContainers:H,over:mt,scrollableAncestors:Pe,scrollAdjustedTranslate:ct},K.current={initial:Ne,translated:ut}},[W,ye,ft,ut,B,ke,Ne,pe,H,mt,Pe,ct]),function(e){let{acceleration:t,activator:n=Le.Pointer,canScroll:r,draggingRect:a,enabled:i,interval:l=5,order:s=Oe.TreeOrder,pointerCoordinates:d,scrollableAncestors:c,scrollableAncestorRects:u,delta:f,threshold:v}=e;const m=function(e){let{delta:t,disabled:n}=e;const r=y(t);return b(e=>{if(n||!r||!e)return Fe;const o=Math.sign(t.x-r.x),a=Math.sign(t.y-r.y);return{x:{[de.Backward]:e.x[de.Backward]||-1===o,[de.Forward]:e.x[de.Forward]||1===o},y:{[de.Backward]:e.y[de.Backward]||-1===a,[de.Forward]:e.y[de.Forward]||1===a}}},[n,t,r])}({delta:f,disabled:!i}),[h,p]=function(){const e=(0,o.useRef)(null);return[(0,o.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,o.useCallback)(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),g=(0,o.useRef)({x:0,y:0}),w=(0,o.useRef)({x:0,y:0}),x=(0,o.useMemo)(()=>{switch(n){case Le.Pointer:return d?{top:d.y,bottom:d.y,left:d.x,right:d.x}:null;case Le.DraggableRect:return a}},[n,a,d]),_=(0,o.useRef)(null),C=(0,o.useCallback)(()=>{const e=_.current;if(!e)return;const t=g.current.x*w.current.x,n=g.current.y*w.current.y;e.scrollBy(t,n)},[]),S=(0,o.useMemo)(()=>s===Oe.TreeOrder?[...c].reverse():c,[s,c]);(0,o.useEffect)(()=>{if(i&&c.length&&x){for(const e of S){if(!1===(null==r?void 0:r(e)))continue;const n=c.indexOf(e),o=u[n];if(!o)continue;const{direction:a,speed:i}=ve(e,o,x,t,v);for(const e of["x","y"])m[e][a[e]]||(i[e]=0,a[e]=0);if(i.x>0||i.y>0)return p(),_.current=e,h(C,l),g.current=i,void(w.current=a)}g.current={x:0,y:0},w.current={x:0,y:0},p()}else p()},[t,C,r,p,i,l,JSON.stringify(x),JSON.stringify(m),h,c,S,u,JSON.stringify(v)])}({..._e,delta:$,draggingRect:ut,pointerCoordinates:Ze,scrollableAncestors:Pe,scrollableAncestorRects:He});const xt=(0,o.useMemo)(()=>({active:W,activeNode:ye,activeNodeRect:Se,activatorEvent:ee,collisions:ft,containerNodeRect:Ee,dragOverlay:Re,draggableNodes:B,droppableContainers:H,droppableRects:pe,over:mt,measureDroppableContainers:be,scrollableAncestors:Pe,scrollableAncestorRects:He,measuringConfiguration:fe,measuringScheduled:we,windowRect:Ae}),[W,ye,Se,ee,ft,Ee,Re,B,H,pe,mt,be,Pe,He,fe,we,Ae]),_t=(0,o.useMemo)(()=>({activatorEvent:ee,activators:yt,active:W,activeNodeRect:Se,ariaDescribedById:{draggable:le},dispatch:N,draggableNodes:B,over:mt,measureDroppableContainers:be}),[ee,yt,W,Se,N,le,B,mt,be]);return a().createElement(A.Provider,{value:I},a().createElement(tt.Provider,{value:_t},a().createElement(nt.Provider,{value:xt},a().createElement(it.Provider,{value:pt},m)),a().createElement(at,{disabled:!1===(null==u?void 0:u.restoreFocus)})),a().createElement(F,{...u,hiddenTextDescribedById:le}))}),dt=(0,o.createContext)(null),ct="button";const ut={timeout:25};function ft(e,t,n){const r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function vt(e,t){return e.reduce((e,n,r)=>{const o=t.get(n);return o&&(e[r]=o),e},Array(e.length))}function mt(e){return null!==e&&e>=0}const ht=e=>{let{rects:t,activeIndex:n,overIndex:r,index:o}=e;const a=ft(t,r,n),i=t[o],l=a[o];return l&&i?{x:l.left-i.left,y:l.top-i.top,scaleX:l.width/i.width,scaleY:l.height/i.height}:null},pt={scaleX:1,scaleY:1},gt=e=>{var t;let{activeIndex:n,activeNodeRect:r,index:o,rects:a,overIndex:i}=e;const l=null!=(t=a[n])?t:r;if(!l)return null;if(o===n){const e=a[i];return e?{x:0,y:n<i?e.top+e.height-(l.top+l.height):e.top-l.top,...pt}:null}const s=function(e,t,n){const r=e[t],o=e[t-1],a=e[t+1];return r?n<t?o?r.top-(o.top+o.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):o?r.top-(o.top+o.height):0:0}(a,o,n);return o>n&&o<=i?{x:0,y:-l.height-s,...pt}:o<n&&o>=i?{x:0,y:l.height+s,...pt}:{x:0,y:0,...pt}},bt="Sortable",wt=a().createContext({activeIndex:-1,containerId:bt,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:ht,disabled:{draggable:!1,droppable:!1}});function yt(e){let{children:t,id:n,items:r,strategy:i=ht,disabled:l=!1}=e;const{active:s,dragOverlay:d,droppableRects:c,over:u,measureDroppableContainers:f}=(0,o.useContext)(nt),v=_(bt,n),m=Boolean(null!==d.rect),p=(0,o.useMemo)(()=>r.map(e=>"object"==typeof e&&"id"in e?e.id:e),[r]),g=null!=s,b=s?p.indexOf(s.id):-1,w=u?p.indexOf(u.id):-1,y=(0,o.useRef)(p),x=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(p,y.current),C=-1!==w&&-1===b||x,S=function(e){return"boolean"==typeof e?{draggable:e,droppable:e}:e}(l);h(()=>{x&&g&&f(p)},[x,p,g,f]),(0,o.useEffect)(()=>{y.current=p},[p]);const E=(0,o.useMemo)(()=>({activeIndex:b,containerId:v,disabled:S,disableTransforms:C,items:p,overIndex:w,useDragOverlay:m,sortedRects:vt(p,c),strategy:i}),[b,v,S.draggable,S.droppable,C,p,w,c,m,i]);return a().createElement(wt.Provider,{value:E},t)}const xt=e=>{let{id:t,items:n,activeIndex:r,overIndex:o}=e;return ft(n,r,o).indexOf(t)},_t=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:o,items:a,newIndex:i,previousItems:l,previousContainerId:s,transition:d}=e;return!(!d||!r||l!==a&&o===i||!n&&(i===o||t!==s))},Ct={duration:200,easing:"ease"},St="transform",Et=R.Transition.toString({property:St,duration:0,easing:"linear"}),Dt={roleDescription:"sortable"};function Mt(e){let{animateLayoutChanges:t=_t,attributes:n,disabled:r,data:a,getNewIndex:i=xt,id:l,strategy:s,resizeObserverConfig:d,transition:c=Ct}=e;const{items:u,containerId:f,activeIndex:v,disabled:m,disableTransforms:p,sortedRects:b,overIndex:y,useDragOverlay:x,strategy:C}=(0,o.useContext)(wt),S=function(e,t){var n,r;return"boolean"==typeof e?{draggable:e,droppable:!1}:{draggable:null!=(n=null==e?void 0:e.draggable)?n:t.draggable,droppable:null!=(r=null==e?void 0:e.droppable)?r:t.droppable}}(r,m),E=u.indexOf(l),M=(0,o.useMemo)(()=>({sortable:{containerId:f,index:E,items:u},...a}),[f,a,E,u]),k=(0,o.useMemo)(()=>u.slice(u.indexOf(l)),[u,l]),{rect:N,node:j,isOver:I,setNodeRef:T}=function(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:a}=e;const i=_("Droppable"),{active:l,dispatch:s,over:d,measureDroppableContainers:c}=(0,o.useContext)(tt),u=(0,o.useRef)({disabled:n}),f=(0,o.useRef)(!1),v=(0,o.useRef)(null),m=(0,o.useRef)(null),{disabled:h,updateMeasurementsFor:p,timeout:b}={...ut,...a},y=g(null!=p?p:r),x=$e({callback:(0,o.useCallback)(()=>{f.current?(null!=m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),m.current=null},b)):f.current=!0},[b]),disabled:h||!l}),C=(0,o.useCallback)((e,t)=>{x&&(t&&(x.unobserve(t),f.current=!1),e&&x.observe(e))},[x]),[S,E]=w(C),D=g(t);return(0,o.useEffect)(()=>{x&&S.current&&(x.disconnect(),f.current=!1,x.observe(S.current))},[S,x]),(0,o.useEffect)(()=>(s({type:z.RegisterDroppable,element:{id:r,key:i,disabled:n,node:S,rect:v,data:D}}),()=>s({type:z.UnregisterDroppable,key:i,id:r})),[r]),(0,o.useEffect)(()=>{n!==u.current.disabled&&(s({type:z.SetDroppableDisabled,id:r,key:i,disabled:n}),u.current.disabled=n)},[r,i,n,s]),{active:l,rect:v,isOver:(null==d?void 0:d.id)===r,node:S,over:d,setNodeRef:E}}({id:l,data:M,disabled:S.droppable,resizeObserverConfig:{updateMeasurementsFor:k,...d}}),{active:A,activatorEvent:L,activeNodeRect:O,attributes:F,setNodeRef:P,listeners:B,isDragging:U,over:$,setActivatorNodeRef:H,transform:q}=function(e){let{id:t,data:n,disabled:r=!1,attributes:a}=e;const i=_("Draggable"),{activators:l,activatorEvent:s,active:d,activeNodeRect:c,ariaDescribedById:u,draggableNodes:f,over:v}=(0,o.useContext)(tt),{role:m=ct,roleDescription:p="draggable",tabIndex:b=0}=null!=a?a:{},y=(null==d?void 0:d.id)===t,x=(0,o.useContext)(y?it:dt),[C,S]=w(),[E,D]=w(),M=function(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:o}=n;return e[r]=e=>{o(e,t)},e},{}),[e,t])}(l,t),R=g(n);return h(()=>(f.set(t,{id:t,key:i,node:C,activatorNode:E,data:R}),()=>{const e=f.get(t);e&&e.key===i&&f.delete(t)}),[f,t]),{active:d,activatorEvent:s,activeNodeRect:c,attributes:(0,o.useMemo)(()=>({role:m,tabIndex:b,"aria-disabled":r,"aria-pressed":!(!y||m!==ct)||void 0,"aria-roledescription":p,"aria-describedby":u.draggable}),[r,m,b,y,p,u.draggable]),isDragging:y,listeners:r?void 0:M,node:C,over:v,setNodeRef:S,setActivatorNodeRef:D,transform:x}}({id:l,data:M,attributes:{...Dt,...n},disabled:S.draggable}),K=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}(T,P),Q=Boolean(A),W=Q&&!p&&mt(v)&&mt(y),V=!x&&U,X=V&&W?q:null,Y=W?null!=X?X:(null!=s?s:C)({rects:b,activeNodeRect:O,activeIndex:v,overIndex:y,index:E}):null,J=mt(v)&&mt(y)?i({id:l,items:u,activeIndex:v,overIndex:y}):E,G=null==A?void 0:A.id,Z=(0,o.useRef)({activeId:G,items:u,newIndex:J,containerId:f}),ee=u!==Z.current.items,ne=t({active:A,containerId:f,isDragging:U,isSorting:Q,id:l,index:E,items:u,newIndex:Z.current.newIndex,previousItems:Z.current.items,previousContainerId:Z.current.containerId,transition:c,wasDragging:null!=Z.current.activeId}),re=function(e){let{disabled:t,index:n,node:r,rect:a}=e;const[i,l]=(0,o.useState)(null),s=(0,o.useRef)(n);return h(()=>{if(!t&&n!==s.current&&r.current){const e=a.current;if(e){const t=te(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&l(n)}}n!==s.current&&(s.current=n)},[t,n,r,a]),(0,o.useEffect)(()=>{i&&l(null)},[i]),i}({disabled:!ne,index:E,node:j,rect:N});return(0,o.useEffect)(()=>{Q&&Z.current.newIndex!==J&&(Z.current.newIndex=J),f!==Z.current.containerId&&(Z.current.containerId=f),u!==Z.current.items&&(Z.current.items=u)},[Q,J,f,u]),(0,o.useEffect)(()=>{if(G===Z.current.activeId)return;if(G&&!Z.current.activeId)return void(Z.current.activeId=G);const e=setTimeout(()=>{Z.current.activeId=G},50);return()=>clearTimeout(e)},[G]),{active:A,activeIndex:v,attributes:F,data:M,rect:N,index:E,newIndex:J,items:u,isOver:I,isSorting:Q,isDragging:U,listeners:B,node:j,overIndex:y,over:$,setNodeRef:K,setActivatorNodeRef:H,setDroppableNodeRef:T,setDraggableNodeRef:P,transform:null!=re?re:Y,transition:re||ee&&Z.current.newIndex===E?Et:V&&!D(L)||!c?void 0:Q||ne?R.Transition.toString({...c,property:St}):void 0}}function Rt(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&"object"==typeof t.sortable&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const kt=[xe.Down,xe.Right,xe.Up,xe.Left],Nt=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:o,droppableContainers:a,over:i,scrollableAncestors:l}}=t;if(kt.includes(e.code)){if(e.preventDefault(),!n||!r)return;const t=[];a.getEnabled().forEach(n=>{if(!n||null!=n&&n.disabled)return;const a=o.get(n.id);if(a)switch(e.code){case xe.Down:r.top<a.top&&t.push(n);break;case xe.Up:r.top>a.top&&t.push(n);break;case xe.Left:r.left>a.left&&t.push(n);break;case xe.Right:r.left<a.left&&t.push(n)}});const c=(e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=K(t),a=[];for(const e of r){const{id:t}=e,r=n.get(t);if(r){const n=K(r),i=o.reduce((e,t,r)=>e+$(n[r],t),0),l=Number((i/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:l}})}}return a.sort(H)})({active:n,collisionRect:r,droppableRects:o,droppableContainers:t,pointerCoordinates:null});let u=Q(c,"id");if(u===(null==i?void 0:i.id)&&c.length>1&&(u=c[1].id),null!=u){const e=a.get(n.id),t=a.get(u),i=t?o.get(t.id):null,c=null==t?void 0:t.node.current;if(c&&i&&e&&t){const n=re(c).some((e,t)=>l[t]!==e),o=jt(e,t),a=(d=t,!(!Rt(s=e)||!Rt(d))&&!!jt(s,d)&&s.data.current.sortable.index<d.data.current.sortable.index),u=n||!o?{x:0,y:0}:{x:a?r.width-i.width:0,y:a?r.height-i.height:0},f={x:i.left,y:i.top};return u.x&&u.y?f:E(f,u)}}}var s,d};function jt(e,t){return!(!Rt(e)||!Rt(t))&&e.data.current.sortable.containerId===t.data.current.sortable.containerId}const It=window.wp.apiFetch;var Tt=e.n(It);const At="vmfo_folders_cache";function Lt(){if(window.vmfData?.folders)return window.vmfData.folders;if(window.vmfEditor?.folders)return window.vmfEditor.folders;try{const e=localStorage.getItem(At);if(e)return JSON.parse(e)}catch(e){}return null}function Ot(e){try{localStorage.setItem(At,JSON.stringify(e))}catch(e){}}function Ft(e){const t={},n=[];return e.forEach(e=>{t[e.id]={...e,children:[]}}),e.forEach(e=>{e.parent&&t[e.parent]?t[e.parent].children.push(t[e.id]):n.push(t[e.id])}),n}const zt=window.ReactJSXRuntime;function Pt({expanded:e}){return(0,zt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:e?(0,zt.jsx)("polyline",{points:"6 9 12 15 18 9"}):(0,zt.jsx)("polyline",{points:"9 6 15 12 9 18"})})}function Bt({folder:e,selectedId:n,onSelect:o,level:a=0,parentId:i=null,renderWrapper:l,enableKeyboardNav:s=!1,enableAutoExpand:d=!1,enableAria:c=!1,isMoveModeActive:u=!1,forceExpand:f=!1}){const v=e=>!(!e.children||0===e.children.length)&&e.children.some(e=>e.id===n||v(e)),m=d&&v(e),[h,p]=(0,t.useState)(m),g=f||h||m,b=e.children&&e.children.length>0,w=n===e.id;(0,t.useEffect)(()=>{m&&!h&&p(!0)},[m,h]);const y=(0,zt.jsxs)("button",{type:"button",className:"vmf-folder-button "+(w?"is-selected":""),style:{paddingLeft:16*a+8+"px"},onClick:()=>o(e.id),onKeyDown:s?t=>{if(s)if("ArrowRight"===t.key&&b&&!g)t.preventDefault(),p(!0);else if("ArrowLeft"===t.key)t.preventDefault(),b&&g?p(!1):null!==i&&o(i);else if("Enter"===t.key||" "===t.key){if(u)return;t.preventDefault(),o(e.id)}}:void 0,"aria-current":w?"true":void 0,title:e.name,children:[b?(0,zt.jsx)("span",{className:"vmf-folder-toggle",onClick:t=>{t.stopPropagation(),g&&v(e)&&o(e.id),p(!g)},onKeyDown:s?t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),g&&v(e)&&o(e.id),p(!g))}:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,"aria-label":g?(0,r.__)("Collapse","virtual-media-folders"):(0,r.__)("Expand","virtual-media-folders"),children:(0,zt.jsx)(Pt,{expanded:g})}):(0,zt.jsx)("span",{className:"vmf-folder-toggle vmf-folder-toggle--placeholder","aria-hidden":"true"}),(0,zt.jsx)("span",{className:"vmf-folder-name",children:e.name}),"number"==typeof e.count&&!(b&&0===e.count)&&(0,zt.jsxs)("span",{className:"vmf-folder-count","aria-label":c?`${e.count} ${(0,r.__)("items","virtual-media-folders")}`:void 0,children:["(",e.count,")"]})]}),x=l?l({folderId:e.id,children:y}):y,_=c?{role:"treeitem","aria-expanded":b?g:void 0,"aria-selected":w}:{};return(0,zt.jsxs)("li",{className:"vmf-folder-item",..._,children:[x,b&&g&&(0,zt.jsx)("ul",{className:"vmf-folder-children",role:c?"group":void 0,children:e.children.map(t=>(0,zt.jsx)(Bt,{folder:t,selectedId:n,onSelect:o,level:a+1,parentId:e.id,renderWrapper:l,enableKeyboardNav:s,enableAutoExpand:d,enableAria:c,isMoveModeActive:u,forceExpand:f},t.id))})]})}function Ut({folders:e,selectedId:t,onSelect:n,uncategorizedCount:o,showAllMedia:a=!0,showUncategorized:i=!0,loading:l,renderWrapper:s,renderUncategorizedWrapper:d,renderHeader:c,enableKeyboardNav:u=!1,enableAutoExpand:f=!1,enableAria:v=!1,isMoveModeActive:m=!1,forceExpand:h=!1,className:p="",loadingText:g}){if(l){const e=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,zt.jsx)("div",{className:`${e} ${e}--loading ${p}`,"aria-label":v?(0,r.__)("Media folders","virtual-media-folders"):void 0,children:(0,zt.jsx)("p",{"aria-live":v?"polite":void 0,children:g||(0,r.__)("Loading…","virtual-media-folders")})})}const b=(0,zt.jsx)("button",{type:"button",className:"vmf-folder-button "+(null===t?"is-selected":""),onClick:()=>n(null),"aria-current":null===t?"true":void 0,children:(0,zt.jsx)("span",{className:"vmf-folder-name",children:(0,r.__)("All Media","virtual-media-folders")})}),w=(0,zt.jsxs)("button",{type:"button",className:"vmf-folder-button "+("uncategorized"===t?"is-selected":""),onClick:()=>n("uncategorized"),"aria-current":"uncategorized"===t?"true":void 0,children:[(0,zt.jsx)("span",{className:"vmf-folder-name",children:(0,r.__)("Uncategorized","virtual-media-folders")}),(0,zt.jsxs)("span",{className:"vmf-folder-count","aria-label":v?`${o} ${(0,r.__)("items","virtual-media-folders")}`:void 0,children:["(",o,")"]})]}),y=d?d({children:w}):w,x=v?"nav":"div",_=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,zt.jsxs)(x,{className:`${_} ${p}`,"aria-label":v?(0,r.__)("Media folders","virtual-media-folders"):void 0,children:[c&&c(),(0,zt.jsxs)("ul",{className:"vmf-folder-list",role:v?"tree":void 0,"aria-label":v?(0,r.__)("Folder tree","virtual-media-folders"):void 0,children:[a&&(0,zt.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?null===t:void 0,children:b}),i&&(0,zt.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?"uncategorized"===t:void 0,children:y}),e.map(e=>(0,zt.jsx)(Bt,{folder:e,selectedId:t,onSelect:n,renderWrapper:s,enableKeyboardNav:u,enableAutoExpand:f,enableAria:v,isMoveModeActive:m,forceExpand:h},e.id))]})]})}const $t=function({announcement:e}){return(0,zt.jsxs)(zt.Fragment,{children:[(0,zt.jsx)("div",{"aria-live":"polite","aria-atomic":"true",className:"vmf-sr-only",role:"status",children:e}),(0,zt.jsx)("div",{id:"vmf-drag-instructions",className:"vmf-sr-only",children:(0,r.__)("Press Space or Enter to start dragging. Use arrow keys to move. Press Space or Enter again to drop, or Escape to cancel.","virtual-media-folders")})]})};function Ht({folderId:e,children:n,className:o="",onKeyboardDrop:a,isMoveModeActive:i=!1}){const[l,s]=(0,t.useState)(!1),d=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s(!0)},[]),c=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s(!1)},[]),u=(0,t.useCallback)(t=>{t.preventDefault(),t.stopPropagation(),s(!1);try{const n=t.dataTransfer.getData("text/plain");if(!n)return;const r=JSON.parse(n);if(r.mediaId&&window.vmfMoveToFolder){window.vmfMoveToFolder(r.mediaId,e);const{jumpToFolderAfterMove:t=!1}=window.vmfData||{};t&&window.vmfSelectFolder&&setTimeout(()=>{window.vmfSelectFolder(e)},200)}}catch(e){}},[e]),f=(0,t.useCallback)(t=>{if(i&&a&&"Enter"===t.key){const n=t.target;if("INPUT"===n.tagName)return;if("BUTTON"===n.tagName&&!n.classList.contains("vmf-folder-button"))return;t.preventDefault(),t.stopPropagation(),a(e)}},[e,i,a]);return(0,zt.jsxs)("div",{className:`vmf-droppable-folder ${o} ${l?"is-over":""} ${i?"vmf-drop-target":""}`,onDragOver:d,onDragEnter:d,onDragLeave:c,onDrop:u,onKeyDown:f,"aria-dropeffect":i?"move":void 0,children:[n,l&&(0,zt.jsx)("span",{className:"screen-reader-text",children:(0,r.__)("Drop here to move media to this folder","virtual-media-folders")})]})}function qt({id:e,children:t,disabled:n=!1}){const{attributes:o,listeners:a,setNodeRef:i,transform:l,transition:s,isDragging:d}=Mt({id:e,disabled:n,data:{type:"folder",folderId:e}}),c={transform:R.Transform.toString(l),transition:s,opacity:d?.5:1,zIndex:d?100:void 0};return n?t:(0,zt.jsx)("div",{ref:i,style:c,className:"vmf-sortable-folder "+(d?"is-dragging":""),...o,children:(0,zt.jsxs)("div",{className:"vmf-sortable-folder__row",children:[(0,zt.jsx)("span",{className:"vmf-sortable-folder__grip",...a,role:"button",tabIndex:0,"aria-label":(0,r.__)("Drag to reorder folder","virtual-media-folders"),"aria-describedby":"vmf-drag-instructions","aria-roledescription":(0,r.__)("sortable","virtual-media-folders"),children:"⋮⋮"}),(0,zt.jsx)("div",{className:"vmf-sortable-folder__content",children:t})]})})}(0,t.createContext)(null);const Kt=window.wp.primitives;var Qt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"})}),Wt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z"})}),Vt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z"})});function Xt({folders:e=[],selectedId:o,onRefresh:a,onDelete:i,renderExtra:l}){const[s,d]=(0,t.useState)(!1),[c,u]=(0,t.useState)(!1),[f,v]=(0,t.useState)(!1),[m,h]=(0,t.useState)(""),[p,g]=(0,t.useState)(0),[b,w]=(0,t.useState)(""),[y,x]=(0,t.useState)(0),[_,C]=(0,t.useState)(!1),[S,E]=(0,t.useState)(""),D=e.find(e=>e.id===o);function M(e,t=0,n=0,r=null){let o=[];const a=e.filter(e=>e.parent===t);for(const t of a){if(null!==r&&t.id===r)continue;const a=n>0?"— ".repeat(n):"";o.push({label:a+t.name,value:String(t.id)}),o=o.concat(M(e,t.id,n+1,r))}return o}function R(e,t="success"){const n=document.createElement("div");n.className=`notice notice-${t} vmf-notice is-dismissible`;const r=document.createElement("p");r.textContent=String(null!=e?e:""),n.appendChild(r),n.style.cssText="position: fixed; top: 40px; right: 20px; z-index: 100000; max-width: 300px;",document.body.appendChild(n),setTimeout(()=>n.remove(),3e3)}const k=o&&"number"==typeof o;return(0,zt.jsxs)("div",{className:"vmf-folder-manager",onClick:e=>e.stopPropagation(),children:[(0,zt.jsxs)("div",{className:"vmf-folder-manager-buttons",children:[(0,zt.jsx)(n.Button,{icon:Qt,"aria-label":(0,r.__)("Create Folder","virtual-media-folders"),onClick:t=>{t.stopPropagation(),E("");const n=e.some(e=>e.id===o);g(n?o:0),d(!0)},className:"vmf-folder-manager-button",size:"small",showTooltip:!1}),(0,zt.jsx)(n.Button,{icon:Wt,"aria-label":(0,r.__)("Rename Folder","virtual-media-folders"),onClick:e=>{e.stopPropagation(),D&&(w(D.name),x(D.parent||0),E(""),u(!0))},disabled:!k,className:"vmf-folder-manager-button",size:"small",showTooltip:!1}),(0,zt.jsx)(n.Button,{icon:Vt,"aria-label":(0,r.__)("Delete Folder","virtual-media-folders"),onClick:e=>{e.stopPropagation(),E(""),v(!0)},disabled:!k,className:"vmf-folder-manager-button",isDestructive:!0,size:"small",showTooltip:!1}),l&&l()]}),s&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Create Folder","virtual-media-folders"),onRequestClose:()=>d(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)(n.TextControl,{label:(0,r.__)("Folder Name","virtual-media-folders"),value:m,onChange:h,placeholder:(0,r.__)("Enter folder name","virtual-media-folders"),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,zt.jsx)(n.SelectControl,{label:(0,r.__)("Parent Folder","virtual-media-folders"),value:String(p),options:[{label:(0,r.__)("None (top level)","virtual-media-folders"),value:"0"},...M(e)],onChange:e=>g(parseInt(e,10)),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),S&&(0,zt.jsx)("p",{className:"vmf-folder-modal-error",children:S}),(0,zt.jsxs)("div",{className:"vmf-folder-modal-actions",children:[(0,zt.jsx)(n.Button,{variant:"secondary",onClick:()=>d(!1),disabled:_,children:(0,r.__)("Cancel","virtual-media-folders")}),(0,zt.jsx)(n.Button,{variant:"primary",onClick:async function(){if(m.trim()){C(!0),E("");try{await Tt()({path:"/vmfo/v1/folders",method:"POST",data:{name:m.trim(),parent:p}}),h(""),g(0),d(!1),R((0,r.__)("Folder created.","virtual-media-folders"),"success"),a?.()}catch(e){E(e.message||(0,r.__)("Failed to create folder.","virtual-media-folders"))}finally{C(!1)}}else E((0,r.__)("Please enter a folder name.","virtual-media-folders"))},disabled:_,children:_?(0,r.__)("Creating…","virtual-media-folders"):(0,r.__)("Create","virtual-media-folders")})]})]}),c&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Edit Folder","virtual-media-folders"),onRequestClose:()=>u(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)(n.TextControl,{label:(0,r.__)("Folder Name","virtual-media-folders"),value:b,onChange:w,placeholder:(0,r.__)("Enter folder name","virtual-media-folders"),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,zt.jsx)(n.SelectControl,{label:(0,r.__)("Parent Folder","virtual-media-folders"),value:String(y),options:[{label:(0,r.__)("None (top level)","virtual-media-folders"),value:"0"},...M(e,0,0,o)],onChange:e=>x(parseInt(e,10)),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),S&&(0,zt.jsx)("p",{className:"vmf-folder-modal-error",children:S}),(0,zt.jsxs)("div",{className:"vmf-folder-modal-actions",children:[(0,zt.jsx)(n.Button,{variant:"secondary",onClick:()=>u(!1),disabled:_,children:(0,r.__)("Cancel","virtual-media-folders")}),(0,zt.jsx)(n.Button,{variant:"primary",onClick:async function(){if(b.trim()){if(o&&"number"==typeof o){C(!0),E("");try{await Tt()({path:`/vmfo/v1/folders/${o}`,method:"PUT",data:{name:b.trim(),parent:y}}),w(""),x(0),u(!1),R((0,r.__)("Folder updated.","virtual-media-folders"),"success"),a?.()}catch(e){E(e.message||(0,r.__)("Failed to update folder.","virtual-media-folders"))}finally{C(!1)}}}else E((0,r.__)("Please enter a folder name.","virtual-media-folders"))},disabled:_,children:_?(0,r.__)("Saving…","virtual-media-folders"):(0,r.__)("Save","virtual-media-folders")})]})]}),f&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Delete Folder","virtual-media-folders"),onRequestClose:()=>v(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)("p",{children:(0,r.sprintf)(/* translators: %s: folder name */ /* translators: %s: folder name */
    22(0,r.__)('Are you sure you want to delete the folder "%s"?',"virtual-media-folders"),D?.name||"")}),(0,zt.jsx)("p",{className:"vmf-folder-modal-warning",children:(0,r.__)("Media items in this folder will not be deleted, only the folder organization.","virtual-media-folders")}),S&&(0,zt.jsx)("p",{className:"vmf-folder-modal-error",children:S}),(0,zt.jsxs)("div",{className:"vmf-folder-modal-actions",children:[(0,zt.jsx)(n.Button,{variant:"secondary",onClick:()=>v(!1),disabled:_,children:(0,r.__)("Cancel","virtual-media-folders")}),(0,zt.jsx)(n.Button,{variant:"primary",isDestructive:!0,onClick:async function(){if(!o||"number"!=typeof o)return;const e=D?.name;C(!0),E("");try{await Tt()({path:`/vmfo/v1/folders/${o}`,method:"DELETE"}),v(!1),R((0,r.__)("Folder deleted.","virtual-media-folders"),"success"),i?.(e),a?.()}catch(e){E(e.message||(0,r.__)("Failed to delete folder.","virtual-media-folders"))}finally{C(!1)}},disabled:_,children:_?(0,r.__)("Deleting…","virtual-media-folders"):(0,r.__)("Delete","virtual-media-folders")})]})]})]})}var Yt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"})}),Jt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"})});function Gt({searchQuery:e,onSearchChange:o}){const[a,i]=(0,t.useState)(!1),l=(0,t.useRef)(null),s=(0,t.useRef)(null);(0,t.useEffect)(()=>{a&&l.current&&l.current.focus()},[a]);const d=()=>{i(!1),o("")},c=()=>document.querySelector(".vmf-folder-manager"),u=(0,zt.jsx)(n.Button,{ref:s,icon:Yt,label:(0,r.__)("Search folders","virtual-media-folders"),onClick:()=>{i(!0)},className:"vmf-folder-manager-button vmf-folder-search-button",size:"small",showTooltip:!1}),f=a&&c()?(0,t.createPortal)((0,zt.jsxs)("div",{className:"vmf-folder-search",children:[(0,zt.jsxs)("div",{className:"vmf-folder-search__input-wrapper",children:[(0,zt.jsx)("input",{ref:l,type:"text",className:"vmf-folder-search__input",placeholder:(0,r.__)("Search folders…","virtual-media-folders"),value:e,onChange:e=>{o(e.target.value)},onKeyDown:e=>{"Escape"===e.key&&d()},"aria-label":(0,r.__)("Search folders","virtual-media-folders")}),e&&(0,zt.jsx)(n.Button,{icon:Jt,label:(0,r.__)("Clear search","virtual-media-folders"),onClick:()=>{o(""),l.current&&l.current.focus()},className:"vmf-folder-search__clear",size:"small",showTooltip:!1})]}),(0,zt.jsx)(n.Button,{icon:Jt,label:(0,r.__)("Close search","virtual-media-folders"),onClick:d,className:"vmf-folder-manager-button vmf-folder-search__close",size:"small",showTooltip:!1})]}),c()):null;return(0,zt.jsxs)(zt.Fragment,{children:[u,f]})}function Zt({onComplete:e}){const[n,o]=(0,t.useState)([]),[a,i]=(0,t.useState)(""),[l,s]=(0,t.useState)(!1),[d,c]=(0,t.useState)(0),u=(0,t.useCallback)(async()=>{try{const e=Lt();e&&e.length>0&&o(e);const t=await async function(){return Tt()({path:"/vmfo/v1/folders"})}();o(t)}catch(e){console.error("Error fetching folders:",e)}},[]);function f(e,t="success"){const n=document.createElement("div");n.className=`notice notice-${t} vmf-notice is-dismissible`;const r=document.createElement("p");r.textContent=String(null!=e?e:""),n.appendChild(r),n.style.cssText="position: fixed; top: 40px; right: 20px; z-index: 100000; max-width: 300px;",document.body.appendChild(n),setTimeout(()=>n.remove(),3e3)}(0,t.useEffect)(()=>{u();const e=()=>{const e=Lt();e&&e.length>0&&o(e)};return window.addEventListener("vmf:folders-updated",e),()=>{window.removeEventListener("vmf:folders-updated",e)}},[u]),(0,t.useEffect)(()=>{function e(){const e=document.querySelectorAll(".attachment.selected, .attachment.details");c(e.length)}e();const t=new MutationObserver(e),n=document.querySelector(".attachments");return n&&t.observe(n,{attributes:!0,attributeFilter:["class"],subtree:!0}),document.addEventListener("click",e),()=>{t.disconnect(),document.removeEventListener("click",e)}},[]);const v=(0,t.useMemo)(()=>function(e){const t=(n=e,[...n].sort((e,t)=>{const n=e.vmfo_order,r=t.vmfo_order;return null!=n&&null!=r?n-r:null!=n?-1:null!=r?1:e.name.localeCompare(t.name)}));var n;const r={},o=[];t.forEach(e=>{r[e.id]={...e,children:[],depth:0}}),t.forEach(e=>{e.parent&&r[e.parent]?r[e.parent].children.push(r[e.id]):o.push(r[e.id])}),function e(t){t.sort((e,t)=>{const n=e.vmfo_order,r=t.vmfo_order;return null!=n&&null!=r?n-r:null!=n?-1:null!=r?1:e.name.localeCompare(t.name)}),t.forEach(t=>{t.children.length>0&&e(t.children)})}(o);const a=[];return function e(t,n){t.forEach(t=>{a.push({...t,depth:n}),t.children.length>0&&e(t.children,n+1)})}(o,0),a}(n),[n]);return 0===d?null:(0,zt.jsxs)("div",{className:"vmf-bulk-folder-action",children:[(0,zt.jsxs)("select",{value:a,onChange:e=>i(e.target.value),disabled:l,className:"vmf-bulk-folder-select",children:[(0,zt.jsx)("option",{value:"",children:(0,r.__)("Move to folder…","virtual-media-folders")}),(0,zt.jsx)("option",{value:"uncategorized",children:(0,r.__)("Uncategorized","virtual-media-folders")}),v.map(e=>(0,zt.jsx)("option",{value:e.id,children:"—".repeat(e.depth)+(e.depth>0?" ":"")+e.name},e.id))]}),(0,zt.jsx)("button",{type:"button",className:"button vmf-bulk-folder-apply",onClick:async function(){if(!a)return;const t=function(){const e=document.querySelectorAll(".attachment.selected, .attachment.details"),t=[];return e.forEach(e=>{const n=e.getAttribute("data-id");n&&t.push(parseInt(n,10))}),t}();if(0===t.length)return;s(!0);const{ajaxUrl:n,nonce:o}=window.vmfData||{};try{const i=new FormData;i.append("action","vmfo_bulk_move_to_folder"),i.append("nonce",o),i.append("media_ids",JSON.stringify(t)),i.append("folder_id",a);const l=await fetch(n,{method:"POST",credentials:"same-origin",body:i}),s=await l.json();s.success?f(s.data.message,"success"):f(s.data?.message||(0,r.__)("Failed to move items.","virtual-media-folders"),"error");const d=!document.querySelector(".attachments-browser")?.classList.contains("vmf-folder-filtered"),c=document.querySelectorAll(".attachments .attachment").length,u=!d&&c<=t.length;if(window.vmfRefreshFolders&&await window.vmfRefreshFolders(),u&&window.vmfSelectFolder){const e="uncategorized"===a?"uncategorized":parseInt(a,10);window.vmfSelectFolder(e)}else d||t.forEach(e=>{const t=document.querySelector(`.attachment[data-id="${e}"]`);t&&t.remove()});const v=document.querySelector(".select-mode-toggle-button");v&&v.click(),e?.()}catch(e){console.error("Bulk move error:",e),f((0,r.__)("Failed to move some items.","virtual-media-folders"),"error")}finally{s(!1),i("")}},disabled:!a||l,title:l?(0,r.__)("Moving…","virtual-media-folders"):(0,r.__)("Apply","virtual-media-folders"),"aria-label":l?(0,r.__)("Moving…","virtual-media-folders"):(0,r.__)("Apply","virtual-media-folders"),children:l?(0,zt.jsx)("span",{className:"spinner is-active",style:{margin:0}}):(0,zt.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"20",height:"20",fill:"currentColor","aria-hidden":"true",children:(0,zt.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})}),(0,zt.jsx)("span",{className:"vmf-bulk-folder-count",children:(0,r.sprintf)(/* translators: %d: number of selected items */ /* translators: %d: number of selected items */
    33(0,r.__)("%d selected","virtual-media-folders"),d)})]})}function en({itemCount:e,onCancel:t}){const o=1===e?(0,r.__)("1 item ready to move","virtual-media-folders"):(0,r.sprintf)(/* translators: %d: number of items */ /* translators: %d: number of items */
     
    1313(0,r.__)("%d items picked up. Navigate to a folder and press Enter to drop, or press M or Escape to cancel.","virtual-media-folders"),e.length);l(t)},[l]),d=(0,t.useCallback)(()=>{n&&(o(null),l((0,r.__)("Move cancelled","virtual-media-folders")))},[n,l]),c=(0,t.useCallback)((t,a)=>{if(!n||0===n.length)return;const i=n;o(null),i.forEach(n=>{e?.(n.id,t)});const s=1===i.length?(0,r.sprintf)(/* translators: 1: media item title, 2: folder name */ /* translators: 1: media item title, 2: folder name */
    1414(0,r.__)("Moved %1$s to %2$s","virtual-media-folders"),i[0].title||(0,r.__)("item","virtual-media-folders"),a||(0,r.__)("folder","virtual-media-folders")):(0,r.sprintf)(/* translators: 1: number of items, 2: folder name */ /* translators: 1: number of items, 2: folder name */
    15 (0,r.__)("Moved %1$d items to %2$s","virtual-media-folders"),i.length,a||(0,r.__)("folder","virtual-media-folders"));l(s)},[n,e,l]),u=(0,t.useCallback)(e=>{n?d():s(e)},[n,d,s]);return(0,t.useEffect)(()=>(window.vmfMoveMode={isActive:()=>!!n,getGrabbedMedia:()=>n,pickUp:s,cancel:d,drop:c,toggle:u},()=>{delete window.vmfMoveMode}),[n,s,d,c,u]),{grabbedMedia:n,announcement:a,isActive:!!n,pickUp:s,cancel:d,drop:c,toggle:u}}((e,t)=>{window.vmfMoveToFolder&&window.vmfMoveToFolder(e,t)}),{folders:f,flatFolders:v,selectedId:m,setSelectedId:h,loading:p,uncategorizedCount:g,fetchFolders:b,handleSelect:w}=function({trackUrl:e=!1,onFolderSelect:n,mediaType:r="",defaultFolder:o=null}={}){const a=Lt()||[],i=a.length>0?Ft(a):[],l=a.length>0,[s,d]=(0,t.useState)(i),[c,u]=(0,t.useState)(a),[f,v]=(0,t.useState)(o),[m,h]=(0,t.useState)(!l),[p,g]=(0,t.useState)(0),b=(0,t.useRef)(l?a:null),w=(0,t.useCallback)(e=>[...e].sort((e,t)=>{const n=e.vmfo_order,r=t.vmfo_order;return null!=n&&null!=r?n-r:null!=n?-1:null!=r?1:e.name.localeCompare(t.name)}),[]),y=(0,t.useCallback)((e,t=null)=>{const n=w(e),r=t?n.map(e=>{var n;return{...e,count:null!==(n=t[e.id])&&void 0!==n?n:e.count}}):n;u(r),d(Ft(r))},[w]),x=(0,t.useCallback)(async(e,t)=>{try{const n=function(e){if(!e||"all"===e)return"";if(e.includes("/")||e.includes(",")){const t=e.split(",")[0].split("/")[0];return["image","video","audio","application","text"].includes(t)?t:""}return e}(e);let r="/wp/v2/media?per_page=1";n&&(r+=`&media_type=${encodeURIComponent(n)}`);const o=await Tt()({path:r,parse:!1}),a=parseInt(o.headers.get("X-WP-Total"),10)||0;let i=0;t.forEach(e=>{i+=e.count||0}),g(Math.max(0,a-i))}catch(e){}},[]),_=(0,t.useCallback)(async(e=r,t=!1)=>{try{const n=await Tt()({path:"/vmfo/v1/folders"}),r=t||!function(e,t){if(!e||!t)return!1;if(e.length!==t.length)return!1;const n=e=>JSON.stringify(e.map(e=>({id:e.id,name:e.name,parent:e.parent,vmfo_order:e.vmfo_order})));return n(e)===n(t)}(b.current,n);r&&(y(n),Ot(n),b.current=n);let o=n;if(e)try{const t=await Tt()({path:`/vmfo/v1/folders/counts?media_type=${encodeURIComponent(e)}`});o=n.map(e=>{var n;return{...e,count:null!==(n=t[e.id])&&void 0!==n?n:e.count}}),y(o)}catch(e){}x(e,o)}catch(e){console.error("Error fetching folders:",e)}finally{h(!1)}},[r,y,x]);(0,t.useEffect)(()=>{let t=o;if(e){const e=new URLSearchParams(window.location.search),n=e.get("vmfo_folder"),r=e.get("mode");n?(t="uncategorized"===n?"uncategorized":parseInt(n,10),v(t)):"folder"===r?(v(o),t=o):"grid"!==r&&"list"!==r||(t=null,v(null))}_(),null!==t&&n?.(t)},[_,e,o,n]),(0,t.useEffect)(()=>{void 0!==r&&_(r)},[r,_]);const C=(0,t.useCallback)(e=>{v(e),n?.(e)},[n]);return{folders:s,flatFolders:c,selectedId:f,setSelectedId:v,loading:m,uncategorizedCount:p,fetchFolders:_,handleSelect:C}}({trackUrl:!0,onFolderSelect:e,mediaType:n,defaultFolder:on}),[y,x]=(0,t.useState)(f);(0,t.useEffect)(()=>{x(f)},[f]);const _=(0,t.useCallback)((e,t)=>{if(!t.trim())return e;const n=t.toLowerCase(),r=e=>e.reduce((e,t)=>{const o=t.name.toLowerCase().includes(n),a=t.children?r(t.children):[];return(o||a.length>0)&&e.push({...t,children:a}),e},[]);return r(e)},[]),C=_(y,i);(0,t.useEffect)(()=>{function e(){const e=document.querySelector('select.attachment-filters[id="media-attachment-filters"], select.attachment-filters[id*="media-attachment"]');if(e){const t=e.value;return"all"===t?"":t}return""}function t(e){if(e.target.matches("select.attachment-filters")&&("media-attachment-filters"===e.target.id||e.target.id.includes("media-attachment"))){const t=e.target.value;a("all"===t?"":t)}}if(a(e()),document.addEventListener("change",t),"undefined"!=typeof wp&&wp.media&&wp.media.frame){const t=wp.media.frame;if(t.content&&t.content.get){const n=t.content.get();n&&n.collection&&n.collection.on("change:type",()=>{a(e())})}}return()=>{document.removeEventListener("change",t)}},[]);const S=(0,t.useCallback)(e=>{w(e)},[w]),E=(0,t.useCallback)(t=>{t&&c(t);const n=g>0?"uncategorized":null;h(n),e?.(n)},[g,h,e,c]),D=(0,t.useCallback)(async()=>{await b(n,!0),window.dispatchEvent(new CustomEvent("vmf:folders-updated"))},[b,n]);(0,t.useEffect)(()=>(window.vmfRefreshFolders=D,window.vmfSelectFolder=t=>{h(t),e?.(t)},()=>{delete window.vmfRefreshFolders,delete window.vmfSelectFolder}),[D,e,h]);const M=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}(B(je,{activationConstraint:{distance:8}}),B(De,{coordinateGetter:Nt})),R=(0,t.useCallback)(e=>{const{active:t,over:n}=e;if(!n||t.id===n.id)return;const r=y.map(e=>e.id),o=r.indexOf(t.id),a=r.indexOf(n.id);if(-1===o||-1===a)return;const i=ft(r,o,a),l=ft(y,o,a);x(l);const s=y.find(e=>e.id===t.id);s&&d(s.name,a+1),Ot(v.map(e=>{const t=i.indexOf(e.id);return-1!==t?{...e,vmfo_order:t}:e})),window.dispatchEvent(new CustomEvent("vmf:folders-updated")),Tt()({path:"/vmfo/v1/folders/reorder",method:"POST",data:{order:i,parent:0}}).then(()=>{b("",!0)}).catch(e=>{console.error("Failed to reorder folders:",e),b()})},[y,v,b,d]),k=C.map(e=>e.id),N=(0,t.useCallback)(t=>{if(!u.isActive)return;let n=(0,r.__)("folder","virtual-media-folders");if(null===t)n=(0,r.__)("All Media","virtual-media-folders");else if("uncategorized"===t)n=(0,r.__)("Uncategorized","virtual-media-folders");else{const e=v.find(e=>e.id===t);e&&(n=e.name)}u.drop(t,n),D(),rn&&setTimeout(()=>{h(t),e?.(t)},200)},[u,v,D,h,e]),j=(0,t.useCallback)(({folderId:e,children:t})=>(0,zt.jsx)(qt,{id:e,disabled:"number"!=typeof e,children:(0,zt.jsx)(Ht,{folderId:e,onKeyboardDrop:N,isMoveModeActive:u.isActive,children:t})}),[N,u.isActive]),I=(0,t.useCallback)(({children:e})=>(0,zt.jsx)(Ht,{folderId:"uncategorized",onKeyboardDrop:N,isMoveModeActive:u.isActive,children:e}),[N,u.isActive]),T=y.length>10,A=(0,t.useCallback)(()=>(0,zt.jsxs)("div",{className:"vmf-folder-header",children:[u.isActive&&(0,zt.jsx)(en,{itemCount:u.grabbedMedia?.length||0,onCancel:u.cancel}),(0,zt.jsx)(Xt,{folders:v,selectedId:m,onRefresh:D,onDelete:E,renderExtra:T?()=>(0,zt.jsx)(Gt,{searchQuery:i,onSearchChange:l}):void 0}),(0,zt.jsx)(Zt,{onComplete:D})]}),[v,m,D,E,u,i,T]);return(0,zt.jsxs)(st,{sensors:M,collisionDetection:V,onDragEnd:R,children:[(0,zt.jsx)(Ut,{announcement:s||u.announcement}),(0,zt.jsx)(yt,{items:k,strategy:gt,children:(0,zt.jsx)($t,{folders:C,selectedId:m,onSelect:S,uncategorizedCount:g,showAllMedia:tn,showUncategorized:nn,loading:p,renderWrapper:j,renderUncategorizedWrapper:I,renderHeader:A,enableKeyboardNav:!0,enableAutoExpand:!0,enableAria:!0,isMoveModeActive:u.isActive,forceExpand:!!i.trim(),loadingText:(0,r.__)("Loading folders…","virtual-media-folders")})})]})}let ln=!1,sn=null,dn=null;function cn(){const e=new URLSearchParams(window.location.search),t="vmfo_folder_mode_redirected";if("folder"!==e.get("mode"))try{window.sessionStorage&&sessionStorage.removeItem(t)}catch(e){}if("folder"!==e.get("mode")&&!e.has("vmfo_folder"))return;if(!document.querySelector(".wp-list-table")||document.querySelector(".attachments-browser"))return;try{if(window.sessionStorage&&"1"===sessionStorage.getItem(t))return;sessionStorage.setItem(t,"1")}catch(e){}try{localStorage.setItem("vmfo_folder_view","1")}catch(e){}const n=new URL(window.location.href);n.searchParams.set("mode","grid"),window.location.replace(n.toString())}function un(e,t="success"){const n=document.createElement("div");n.className=`notice notice-${t} vmf-notice is-dismissible`;const r=document.createElement("p");r.textContent=String(null!=e?e:""),n.appendChild(r),n.style.cssText="position: fixed; top: 40px; right: 20px; z-index: 100000; max-width: 300px;",document.body.appendChild(n),setTimeout(()=>n.remove(),3e3)}function fn(e){const t=()=>{const n=document.querySelector(".vmf-folder-tree-sidebar"),r=e.$el.find(".attachments-wrapper")[0],o=e.$el.find(".attachments")[0];if(!n)return void setTimeout(t,100);if(!r||!o)return;"function"==typeof n._cleanupSticky&&n._cleanupSticky(),n._vmfoUploaderObserver&&(n._vmfoUploaderObserver.disconnect(),delete n._vmfoUploaderObserver);let a=!1,i=null,l=0;function s(e=50){i&&clearTimeout(i),i=setTimeout(()=>{i=null,d()},e)}function d(){l=0,l<0&&(l=0),h(),n.classList.add("vmf-positioned")}setTimeout(d,100),setTimeout(d,300),setTimeout(d,600);const c=e.$el.find(".uploader-inline")[0];if(c){const e=new MutationObserver(()=>{s(50)});e.observe(c,{attributes:!0,attributeFilter:["style","class"]}),n._vmfoUploaderObserver=e}const u=document.getElementById("contextual-help-wrap"),f=document.getElementById("contextual-help-link"),v=()=>s(10),m=[];if(u){const e=new MutationObserver(()=>{s(50)});e.observe(u,{attributes:!0,attributeFilter:["class"]}),n._vmfHelpObserver=e,u.querySelectorAll(".contextual-help-tabs a").forEach(e=>{e.addEventListener("click",v),m.push(e)})}function h(){const e=o.getBoundingClientRect().top,t=r.getBoundingClientRect();if(n.style.position="fixed",n.style.left=`${t.left}px`,n.style.transform="none",e>=32){const e=t.top+l;n.style.top=`${e}px`;const r=window.innerHeight-e;n.style.height=`${Math.max(r,200)}px`}else{n.style.top="32px";const e=window.innerHeight-32;n.style.height=`${e}px`}a=!1}function p(){a||(requestAnimationFrame(h),a=!0)}function g(){d()}f&&f.addEventListener("click",v),window.addEventListener("scroll",p,{passive:!0}),window.addEventListener("resize",g,{passive:!0}),h(),n._recalculateOffset=d,n._cleanupSticky=()=>{i&&(clearTimeout(i),i=null),window.removeEventListener("scroll",p),window.removeEventListener("resize",g),n._vmfoUploaderObserver&&(n._vmfoUploaderObserver.disconnect(),delete n._vmfoUploaderObserver),n._vmfHelpObserver&&(n._vmfHelpObserver.disconnect(),delete n._vmfHelpObserver),f&&f.removeEventListener("click",v),m.forEach(e=>{e.removeEventListener("click",v)})}};t()}function vn(){jQuery(".view-switch a").removeClass("current")}function mn(e){dn=e;const t=localStorage.getItem("vmfo_folder_view"),n=new URLSearchParams(window.location.search);("1"===t||n.has("vmfo_folder")||"folder"===n.get("mode"))&&function(e,t){ln=t;const n=e.$el.find("#vmf-folder-tree"),r=jQuery(".vmf-folder-toggle-button");n.addClass("is-visible"),r.addClass("is-active"),document.body.classList.add("vmf-folder-view-active"),e.$el.addClass("vmf-sidebar-visible"),vn(),setTimeout(vn,100),setTimeout(vn,500),hn(e),fn(e);try{const e=new URL(window.location.href);e.searchParams.set("mode","folder"),window.history.replaceState({},"",e)}catch(e){}localStorage.setItem("vmfo_folder_view","1")}(e,!0)}function hn(e){const t=e.$el.find(".attachments");if(!t.length)return;function n(){t.find('.attachment:not([draggable="true"])').each(function(){const e=jQuery(this);e.attr("draggable","true");const t=e.data("id");t&&e.data("attachment-id",t)})}n();const o=t[0];o&&o._vmfoDragObserver&&(o._vmfoDragObserver.disconnect(),delete o._vmfoDragObserver);const a=new MutationObserver(n);a.observe(o,{childList:!0,subtree:!0}),o._vmfoDragObserver=a,t.off("dragstart.vmfo dragend.vmfo"),t.on("dragstart.vmfo",".attachment",function(e){window.vmfMoveMode&&window.vmfMoveMode.isActive()&&window.vmfMoveMode.cancel();const t=jQuery(this);let n=t.data("attachment-id")||t.data("id");if(!n){const e=t.attr("aria-label");if(e){const t=e.match(/id[:\s]+(\d+)/i);t&&(n=parseInt(t[1],10))}}n&&(e.originalEvent.dataTransfer.setData("text/plain",JSON.stringify({mediaId:n,title:t.find(".filename").text()||"",thumbnail:t.find("img").attr("src")||""})),e.originalEvent.dataTransfer.effectAllowed="move",t.addClass("vmf-dragging"),document.body.classList.add("vmf-internal-drag"))}),t.on("dragend.vmfo",".attachment",function(){jQuery(this).removeClass("vmf-dragging"),document.body.classList.remove("vmf-internal-drag")}),function(e){const t=e.$el.find(".attachments");t.length&&(t.off("keydown.vmfmove"),t.on("keydown.vmfmove",".attachment",function(e){if("m"===e.key||"M"===e.key){e.preventDefault(),e.stopPropagation();const n=jQuery(this);let o=n.data("attachment-id")||n.data("id");if(!o){const e=n.attr("aria-label");if(e){const t=e.match(/id[:\s]+(\d+)/i);t&&(o=parseInt(t[1],10))}}if(!o)return;const a=n.find(".filename").text()||n.attr("aria-label")||(0,r.__)("Media item","virtual-media-folders");if(window.vmfMoveMode){const e=t.find(".attachment.selected, .attachment.details");if(e.length>1&&e.is(n)){const t=[];e.each(function(){const e=jQuery(this),n=e.data("attachment-id")||e.data("id"),o=e.find(".filename").text()||e.attr("aria-label")||(0,r.__)("Media item","virtual-media-folders");n&&t.push({id:n,title:o})}),window.vmfMoveMode.toggle(t)}else window.vmfMoveMode.toggle([{id:o,title:a}])}}"Escape"===e.key&&window.vmfMoveMode&&window.vmfMoveMode.isActive()&&(e.preventDefault(),window.vmfMoveMode.cancel())}),jQuery(document).off("keydown.vmfmovecancel").on("keydown.vmfmovecancel",function(e){"Escape"===e.key&&window.vmfMoveMode&&window.vmfMoveMode.isActive()&&(e.preventDefault(),window.vmfMoveMode.cancel())}))}(e)}function pn(){if("undefined"==typeof wp||void 0===wp.media)return;const e=wp.media.view.AttachmentsBrowser.prototype.render;wp.media.view.AttachmentsBrowser.prototype.render=function(){const r=e.apply(this,arguments);return function(e){if(dn=e,e.$el.find("#vmf-folder-tree").length)return void(ln&&(e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active")));const r=document.getElementById("vmf-folder-tree"),o=r&&document.body.contains(r),a=localStorage.getItem("vmfo_folder_view"),i=new URLSearchParams(window.location.search),l="1"===a||i.has("vmfo_folder")||"folder"===i.get("mode")||ln,s=e.$el.find(".attachments-wrapper").first(),d=e.$el;let c;if(o)return c=r,s.length?s.prepend(c):d.prepend(c),(c.classList.contains("is-visible")||l)&&(c.classList.add("is-visible"),e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active"),ln=!0),void(ln&&(mn(e),hn(e),fn(e)));if(r&&!o&&sn){try{sn.unmount()}catch(e){}sn=null}c=document.createElement("div"),c.id="vmf-folder-tree",c.className="vmf-folder-tree-sidebar",l&&(c.classList.add("is-visible"),e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active"),ln=!0),s.length?s.prepend(c):d.prepend(c),sn=(0,t.createRoot)(c),sn.render((0,zt.jsxs)(n.SlotFillProvider,{children:[(0,zt.jsx)(an,{onFolderSelect:t=>{const n=new URL(window.location);t?n.searchParams.set("vmfo_folder",t):n.searchParams.delete("vmfo_folder"),n.searchParams.set("mode","folder"),window.history.pushState({},"",n);const r=e.collection;if(r){const n=r.props.get("orderby")||"date",o=r.props.get("order")||"DESC",a=e.$el.find(".attachments");a.addClass("vmf-loading");const i=e.$el.hasClass("vmf-folder-filtered"),l=null!==t;if(l?e.$el.addClass("vmf-folder-filtered"):e.$el.removeClass("vmf-folder-filtered"),i!==l){const e=document.querySelector(".vmf-folder-tree-sidebar");e&&e._recalculateOffset&&setTimeout(()=>e._recalculateOffset(),50)}r.props.unset("vmfo_folder"),r.props.unset("vmfo_folder_exclude"),"uncategorized"===t?r.props.set({vmfo_folder_exclude:"all",orderby:n,order:o}):t?r.props.set({vmfo_folder:t,orderby:n,order:o}):r.props.set({orderby:n,order:o}),r.reset(),r.more({remove:!1}).then(()=>{a.removeClass("vmf-loading")}).catch(()=>{a.removeClass("vmf-loading")})}}}),(0,zt.jsx)(n.Popover.Slot,{})]})),mn(e)}(this),r}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",cn):cn(),jQuery(document).off("click.vmfo",".view-switch a").on("click.vmfo",".view-switch a",function(e){if(jQuery(this).hasClass("vmf-folder-toggle-button"))return;if(!jQuery(this).hasClass("view-list")&&!jQuery(this).hasClass("view-grid"))return;e.preventDefault(),function(){ln=!1,localStorage.setItem("vmfo_folder_view","0");const e=jQuery("#vmf-folder-tree"),t=jQuery(".vmf-folder-toggle-button");e.removeClass("is-visible"),t.removeClass("is-active"),document.body.classList.remove("vmf-folder-view-active"),jQuery(".attachments-browser").removeClass("vmf-sidebar-visible");const n=document.querySelector(".vmf-folder-tree-sidebar");if(n&&"function"==typeof n._cleanupSticky&&n._cleanupSticky(),dn){const e=dn.$el.find(".attachments")[0];e&&e._vmfoDragObserver&&(e._vmfoDragObserver.disconnect(),delete e._vmfoDragObserver),dn.$el.find(".attachments").off("dragstart.vmfo dragend.vmfo")}try{const e=new URL(window.location.href);"folder"===e.searchParams.get("mode")&&(e.searchParams.set("mode","grid"),window.history.replaceState({},"",e))}catch(e){}jQuery(".view-switch a.view-grid").addClass("current")}();const t=jQuery(this).hasClass("view-grid")?"grid":"list";window.location.href="upload.php?mode="+t}),jQuery(document).off("click.vmfo",".page-title-action").on("click.vmfo",".page-title-action",function(){jQuery(".attachments-browser").hasClass("vmf-folder-filtered")&&"function"==typeof window.vmfSelectFolder&&window.vmfSelectFolder(null)}),jQuery(document).ready(function(){!function(){const e=jQuery(".vmf-folder-toggle-button");if(!e.length)return;const t=localStorage.getItem("vmfo_folder_view"),n=new URLSearchParams(window.location.search);let r=n.has("vmfo_folder")||"folder"===n.get("mode");r||null===t||(r="1"===t),r&&e.addClass("is-active")}()}),window.vmfMoveToFolder=async function(e,t){const{ajaxUrl:n,nonce:o}=window.vmfData||{};if(!n||!o)return void console.error("Virtual Media Folders: Missing AJAX configuration");const a=!document.querySelector(".attachments-browser")?.classList.contains("vmf-folder-filtered"),i=document.querySelectorAll(".attachments .attachment").length,l=!a&&i<=1,s=new FormData;s.append("action","vmfo_move_to_folder"),s.append("nonce",o),s.append("media_id",e),s.append("folder_id",null!=t?t:"");try{const e=await fetch(n,{method:"POST",credentials:"same-origin",body:s}),o=await e.json();o.success?(o.data?.message&&un(o.data.message,"success"),window.vmfRefreshFolders&&await window.vmfRefreshFolders(),l&&window.vmfSelectFolder?window.vmfSelectFolder(t):function(){if(!document.querySelector(".attachments-browser")?.classList.contains("vmf-folder-filtered"))return;const e=jQuery(".vmf-folder-button.is-selected");if(e.length)setTimeout(()=>{e.trigger("click")},100);else try{if(wp.media?.frame?.content?.get){const e=wp.media.frame.content.get();if(e&&e.collection){const t=e.collection.props.get("orderby")||"date",n=e.collection.props.get("order")||"DESC";e.collection.reset(),e.collection.props.set({orderby:t,order:n}),e.collection.more({remove:!1})}}}catch(e){console.error("Error refreshing media library:",e)}}()):un(o.data?.message||(0,r.__)("Failed to move media.","virtual-media-folders"),"error")}catch(e){console.error("Error moving media:",e),un((0,r.__)("Failed to move media.","virtual-media-folders"),"error")}},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",pn):pn()})();
     15(0,r.__)("Moved %1$d items to %2$s","virtual-media-folders"),i.length,a||(0,r.__)("folder","virtual-media-folders"));l(s)},[n,e,l]),u=(0,t.useCallback)(e=>{n?d():s(e)},[n,d,s]);return(0,t.useEffect)(()=>(window.vmfMoveMode={isActive:()=>!!n,getGrabbedMedia:()=>n,pickUp:s,cancel:d,drop:c,toggle:u},()=>{delete window.vmfMoveMode}),[n,s,d,c,u]),{grabbedMedia:n,announcement:a,isActive:!!n,pickUp:s,cancel:d,drop:c,toggle:u}}((e,t)=>{window.vmfMoveToFolder&&window.vmfMoveToFolder(e,t)}),{folders:f,flatFolders:v,selectedId:m,setSelectedId:h,loading:p,uncategorizedCount:g,fetchFolders:b,handleSelect:w}=function({trackUrl:e=!1,onFolderSelect:n,mediaType:r="",defaultFolder:o=null}={}){const a=Lt()||[],i=a.length>0?Ft(a):[],l=a.length>0,[s,d]=(0,t.useState)(i),[c,u]=(0,t.useState)(a),[f,v]=(0,t.useState)(o),[m,h]=(0,t.useState)(!l),[p,g]=(0,t.useState)(0),b=(0,t.useRef)(l?a:null),w=(0,t.useRef)(n);(0,t.useEffect)(()=>{w.current=n},[n]);const y=(0,t.useRef)(!1),x=(0,t.useRef)(!0);(0,t.useEffect)(()=>(x.current=!0,()=>{x.current=!1}),[]);const _=(0,t.useCallback)(e=>[...e].sort((e,t)=>{const n=e.vmfo_order,r=t.vmfo_order;return null!=n&&null!=r?n-r:null!=n?-1:null!=r?1:e.name.localeCompare(t.name)}),[]),C=(0,t.useCallback)((e,t=null)=>{const n=_(e),r=t?n.map(e=>{var n;return{...e,count:null!==(n=t[e.id])&&void 0!==n?n:e.count}}):n;u(r),d(Ft(r))},[_]),S=(0,t.useCallback)(async(e,t)=>{try{const n=function(e){if(!e||"all"===e)return"";if(e.includes("/")||e.includes(",")){const t=e.split(",")[0].split("/")[0];return["image","video","audio","application","text"].includes(t)?t:""}return e}(e);let r="/wp/v2/media?per_page=1";n&&(r+=`&media_type=${encodeURIComponent(n)}`);const o=await Tt()({path:r,parse:!1});if(!x.current)return;const a=parseInt(o.headers.get("X-WP-Total"),10)||0;let i=0;t.forEach(e=>{i+=e.count||0}),g(Math.max(0,a-i))}catch(e){}},[]),E=(0,t.useCallback)(async(e=r,t=!1)=>{try{const n=await Tt()({path:"/vmfo/v1/folders"});if(!x.current)return;const r=t||!function(e,t){if(!e||!t)return!1;if(e.length!==t.length)return!1;const n=e=>JSON.stringify(e.map(e=>({id:e.id,name:e.name,parent:e.parent,vmfo_order:e.vmfo_order})));return n(e)===n(t)}(b.current,n);r&&(C(n),Ot(n),b.current=n);let o=n;if(e)try{const t=await Tt()({path:`/vmfo/v1/folders/counts?media_type=${encodeURIComponent(e)}`});if(!x.current)return;o=n.map(e=>{var n;return{...e,count:null!==(n=t[e.id])&&void 0!==n?n:e.count}}),C(o)}catch(e){}S(e,o)}catch(e){console.error("Error fetching folders:",e)}finally{x.current&&h(!1)}},[r,C,S]);(0,t.useEffect)(()=>{if(y.current)return;y.current=!0;let t=o;if(e){const e=new URLSearchParams(window.location.search),n=e.get("vmfo_folder"),r=e.get("mode");n?(t="uncategorized"===n?"uncategorized":parseInt(n,10),v(t)):"folder"===r?(v(o),t=o):"grid"!==r&&"list"!==r||(t=null,v(null))}E(),null!==t&&w.current?.(t)},[E,e,o]),(0,t.useEffect)(()=>{void 0!==r&&E(r)},[r,E]);const D=(0,t.useCallback)(e=>{v(e),w.current?.(e)},[]);return{folders:s,flatFolders:c,selectedId:f,setSelectedId:v,loading:m,uncategorizedCount:p,fetchFolders:E,handleSelect:D}}({trackUrl:!0,onFolderSelect:e,mediaType:n,defaultFolder:on}),[y,x]=(0,t.useState)(f);(0,t.useEffect)(()=>{x(f)},[f]);const _=(0,t.useCallback)((e,t)=>{if(!t.trim())return e;const n=t.toLowerCase(),r=e=>e.reduce((e,t)=>{const o=t.name.toLowerCase().includes(n),a=t.children?r(t.children):[];return(o||a.length>0)&&e.push({...t,children:a}),e},[]);return r(e)},[]),C=_(y,i);(0,t.useEffect)(()=>{function e(){const e=document.querySelector('select.attachment-filters[id="media-attachment-filters"], select.attachment-filters[id*="media-attachment"]');if(e){const t=e.value;return"all"===t?"":t}return""}function t(e){if(e.target.matches("select.attachment-filters")&&("media-attachment-filters"===e.target.id||e.target.id.includes("media-attachment"))){const t=e.target.value;a("all"===t?"":t)}}if(a(e()),document.addEventListener("change",t),"undefined"!=typeof wp&&wp.media&&wp.media.frame){const t=wp.media.frame;if(t.content&&t.content.get){const n=t.content.get();n&&n.collection&&n.collection.on("change:type",()=>{a(e())})}}return()=>{document.removeEventListener("change",t)}},[]);const S=(0,t.useCallback)(e=>{w(e)},[w]),E=(0,t.useCallback)(t=>{t&&c(t);const n=g>0?"uncategorized":null;h(n),e?.(n)},[g,h,e,c]),D=(0,t.useCallback)(async()=>{await b(n,!0),window.dispatchEvent(new CustomEvent("vmf:folders-updated"))},[b,n]);(0,t.useEffect)(()=>(window.vmfRefreshFolders=D,window.vmfSelectFolder=t=>{h(t),e?.(t)},()=>{delete window.vmfRefreshFolders,delete window.vmfSelectFolder}),[D,e,h]);const M=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}(B(je,{activationConstraint:{distance:8}}),B(De,{coordinateGetter:Nt})),R=(0,t.useCallback)(e=>{const{active:t,over:n}=e;if(!n||t.id===n.id)return;const r=y.map(e=>e.id),o=r.indexOf(t.id),a=r.indexOf(n.id);if(-1===o||-1===a)return;const i=ft(r,o,a),l=ft(y,o,a);x(l);const s=y.find(e=>e.id===t.id);s&&d(s.name,a+1),Ot(v.map(e=>{const t=i.indexOf(e.id);return-1!==t?{...e,vmfo_order:t}:e})),window.dispatchEvent(new CustomEvent("vmf:folders-updated")),Tt()({path:"/vmfo/v1/folders/reorder",method:"POST",data:{order:i,parent:0}}).then(()=>{b("",!0)}).catch(e=>{console.error("Failed to reorder folders:",e),b()})},[y,v,b,d]),k=C.map(e=>e.id),N=(0,t.useCallback)(t=>{if(!u.isActive)return;let n=(0,r.__)("folder","virtual-media-folders");if(null===t)n=(0,r.__)("All Media","virtual-media-folders");else if("uncategorized"===t)n=(0,r.__)("Uncategorized","virtual-media-folders");else{const e=v.find(e=>e.id===t);e&&(n=e.name)}u.drop(t,n),D(),rn&&setTimeout(()=>{h(t),e?.(t)},200)},[u,v,D,h,e]),j=(0,t.useCallback)(({folderId:e,children:t})=>(0,zt.jsx)(qt,{id:e,disabled:"number"!=typeof e,children:(0,zt.jsx)(Ht,{folderId:e,onKeyboardDrop:N,isMoveModeActive:u.isActive,children:t})}),[N,u.isActive]),I=(0,t.useCallback)(({children:e})=>(0,zt.jsx)(Ht,{folderId:"uncategorized",onKeyboardDrop:N,isMoveModeActive:u.isActive,children:e}),[N,u.isActive]),T=y.length>10,A=(0,t.useCallback)(()=>(0,zt.jsxs)("div",{className:"vmf-folder-header",children:[u.isActive&&(0,zt.jsx)(en,{itemCount:u.grabbedMedia?.length||0,onCancel:u.cancel}),(0,zt.jsx)(Xt,{folders:v,selectedId:m,onRefresh:D,onDelete:E,renderExtra:T?()=>(0,zt.jsx)(Gt,{searchQuery:i,onSearchChange:l}):void 0}),(0,zt.jsx)(Zt,{onComplete:D})]}),[v,m,D,E,u,i,T]);return(0,zt.jsxs)(st,{sensors:M,collisionDetection:V,onDragEnd:R,children:[(0,zt.jsx)($t,{announcement:s||u.announcement}),(0,zt.jsx)(yt,{items:k,strategy:gt,children:(0,zt.jsx)(Ut,{folders:C,selectedId:m,onSelect:S,uncategorizedCount:g,showAllMedia:tn,showUncategorized:nn,loading:p,renderWrapper:j,renderUncategorizedWrapper:I,renderHeader:A,enableKeyboardNav:!0,enableAutoExpand:!0,enableAria:!0,isMoveModeActive:u.isActive,forceExpand:!!i.trim(),loadingText:(0,r.__)("Loading folders…","virtual-media-folders")})})]})}let ln=!1,sn=null,dn=null;function cn(){const e=new URLSearchParams(window.location.search),t="vmfo_folder_mode_redirected";if("folder"!==e.get("mode"))try{window.sessionStorage&&sessionStorage.removeItem(t)}catch(e){}if("folder"!==e.get("mode")&&!e.has("vmfo_folder"))return;if(!document.querySelector(".wp-list-table")||document.querySelector(".attachments-browser"))return;try{if(window.sessionStorage&&"1"===sessionStorage.getItem(t))return;sessionStorage.setItem(t,"1")}catch(e){}try{localStorage.setItem("vmfo_folder_view","1")}catch(e){}const n=new URL(window.location.href);n.searchParams.set("mode","grid"),window.location.replace(n.toString())}function un(){if(!document.querySelector(".attachments-browser")?.classList.contains("vmf-folder-filtered"))return;const e=jQuery(".vmf-folder-button.is-selected");if(e.length)setTimeout(()=>{e.trigger("click")},100);else try{if(wp.media?.frame?.content?.get){const e=wp.media.frame.content.get();if(e&&e.collection){const t=e.collection.props.get("orderby")||"date",n=e.collection.props.get("order")||"DESC";e.collection.reset(),e.collection.props.set({orderby:t,order:n}),e.collection.more({remove:!1})}}}catch(e){console.error("Error refreshing media library:",e)}}function fn(e,t="success"){const n=document.createElement("div");n.className=`notice notice-${t} vmf-notice is-dismissible`;const r=document.createElement("p");r.textContent=String(null!=e?e:""),n.appendChild(r),n.style.cssText="position: fixed; top: 40px; right: 20px; z-index: 100000; max-width: 300px;",document.body.appendChild(n),setTimeout(()=>n.remove(),3e3)}function vn(e){const t=()=>{const n=document.querySelector(".vmf-folder-tree-sidebar"),r=e.$el.find(".attachments-wrapper")[0],o=e.$el.find(".attachments")[0];if(!n)return void setTimeout(t,100);if(!r||!o)return;"function"==typeof n._cleanupSticky&&n._cleanupSticky(),n._vmfoUploaderObserver&&(n._vmfoUploaderObserver.disconnect(),delete n._vmfoUploaderObserver);let a=!1,i=null,l=0;function s(e=50){i&&clearTimeout(i),i=setTimeout(()=>{i=null,d()},e)}function d(){l=0,l<0&&(l=0),h(),n.classList.add("vmf-positioned")}setTimeout(d,100),setTimeout(d,300),setTimeout(d,600);const c=e.$el.find(".uploader-inline")[0];if(c){const e=new MutationObserver(()=>{s(50)});e.observe(c,{attributes:!0,attributeFilter:["style","class"]}),n._vmfoUploaderObserver=e}const u=document.getElementById("contextual-help-wrap"),f=document.getElementById("contextual-help-link"),v=()=>s(10),m=[];if(u){const e=new MutationObserver(()=>{s(50)});e.observe(u,{attributes:!0,attributeFilter:["class"]}),n._vmfHelpObserver=e,u.querySelectorAll(".contextual-help-tabs a").forEach(e=>{e.addEventListener("click",v),m.push(e)})}function h(){const e=o.getBoundingClientRect().top,t=r.getBoundingClientRect();if(n.style.position="fixed",n.style.left=`${t.left}px`,n.style.transform="none",e>=32){const e=t.top+l;n.style.top=`${e}px`;const r=window.innerHeight-e;n.style.height=`${Math.max(r,200)}px`}else{n.style.top="32px";const e=window.innerHeight-32;n.style.height=`${e}px`}a=!1}function p(){a||(requestAnimationFrame(h),a=!0)}function g(){d()}f&&f.addEventListener("click",v),window.addEventListener("scroll",p,{passive:!0}),window.addEventListener("resize",g,{passive:!0}),h(),n._recalculateOffset=d,n._cleanupSticky=()=>{i&&(clearTimeout(i),i=null),window.removeEventListener("scroll",p),window.removeEventListener("resize",g),n._vmfoUploaderObserver&&(n._vmfoUploaderObserver.disconnect(),delete n._vmfoUploaderObserver),n._vmfHelpObserver&&(n._vmfHelpObserver.disconnect(),delete n._vmfHelpObserver),f&&f.removeEventListener("click",v),m.forEach(e=>{e.removeEventListener("click",v)})}};t()}function mn(){jQuery(".view-switch a").removeClass("current")}function hn(e){dn=e;const t=localStorage.getItem("vmfo_folder_view"),n=new URLSearchParams(window.location.search);("1"===t||n.has("vmfo_folder")||"folder"===n.get("mode"))&&function(e,t){ln=t;const n=e.$el.find("#vmf-folder-tree"),r=jQuery(".vmf-folder-toggle-button");n.addClass("is-visible"),r.addClass("is-active"),document.body.classList.add("vmf-folder-view-active"),e.$el.addClass("vmf-sidebar-visible"),mn(),setTimeout(mn,100),setTimeout(mn,500),bn(e),vn(e);try{const e=new URL(window.location.href);e.searchParams.set("mode","folder"),window.history.replaceState({},"",e)}catch(e){}localStorage.setItem("vmfo_folder_view","1")}(e,!0)}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",cn):cn(),jQuery(document).off("click.vmfo",".view-switch a").on("click.vmfo",".view-switch a",function(e){if(jQuery(this).hasClass("vmf-folder-toggle-button"))return;if(!jQuery(this).hasClass("view-list")&&!jQuery(this).hasClass("view-grid"))return;e.preventDefault(),function(){ln=!1,localStorage.setItem("vmfo_folder_view","0");const e=jQuery("#vmf-folder-tree"),t=jQuery(".vmf-folder-toggle-button");e.removeClass("is-visible"),t.removeClass("is-active"),document.body.classList.remove("vmf-folder-view-active"),jQuery(".attachments-browser").removeClass("vmf-sidebar-visible");const n=document.querySelector(".vmf-folder-tree-sidebar");if(n&&"function"==typeof n._cleanupSticky&&n._cleanupSticky(),dn){const e=dn.$el.find(".attachments")[0];e&&e._vmfoDragObserver&&(e._vmfoDragObserver.disconnect(),delete e._vmfoDragObserver),dn.$el.find(".attachments").off("dragstart.vmfo dragend.vmfo")}try{const e=new URL(window.location.href);"folder"===e.searchParams.get("mode")&&(e.searchParams.set("mode","grid"),window.history.replaceState({},"",e))}catch(e){}jQuery(".view-switch a.view-grid").addClass("current")}();const t=jQuery(this).hasClass("view-grid")?"grid":"list";window.location.href="upload.php?mode="+t}),jQuery(document).off("click.vmfo",".page-title-action").on("click.vmfo",".page-title-action",function(){const e=jQuery(".attachments-browser");if(e.hasClass("vmf-folder-filtered")){e.removeClass("vmf-folder-filtered");const t=document.querySelector(".vmf-folder-tree-sidebar");t&&t._recalculateOffset&&setTimeout(()=>t._recalculateOffset(),50)}}),jQuery(document).ready(function(){!function(){const e=jQuery(".vmf-folder-toggle-button");if(!e.length)return;const t=localStorage.getItem("vmfo_folder_view"),n=new URLSearchParams(window.location.search);let r=n.has("vmfo_folder")||"folder"===n.get("mode");r||null===t||(r="1"===t),r&&e.addClass("is-active")}()}),window.vmfMoveToFolder=async function(e,t){const{ajaxUrl:n,nonce:o}=window.vmfData||{};if(!n||!o)return void console.error("Virtual Media Folders: Missing AJAX configuration");const a=!document.querySelector(".attachments-browser")?.classList.contains("vmf-folder-filtered"),i=document.querySelectorAll(".attachments .attachment").length,l=!a&&i<=1,s=new FormData;s.append("action","vmfo_move_to_folder"),s.append("nonce",o),s.append("media_id",e),s.append("folder_id",null!=t?t:"");try{const e=await fetch(n,{method:"POST",credentials:"same-origin",body:s}),o=await e.json();o.success?(o.data?.message&&fn(o.data.message,"success"),window.vmfRefreshFolders&&await window.vmfRefreshFolders(),l&&window.vmfSelectFolder?window.vmfSelectFolder(t):un()):fn(o.data?.message||(0,r.__)("Failed to move media.","virtual-media-folders"),"error")}catch(e){console.error("Error moving media:",e),fn((0,r.__)("Failed to move media.","virtual-media-folders"),"error")}},window.vmfRefreshMediaLibrary=un;let pn=null;function gn(){pn&&clearTimeout(pn),pn=setTimeout(()=>{window.vmfRefreshFolders&&window.vmfRefreshFolders(),pn=null},500)}function bn(e){const t=e.$el.find(".attachments");if(!t.length)return;function n(){t.find('.attachment:not([draggable="true"])').each(function(){const e=jQuery(this);e.attr("draggable","true");const t=e.data("id");t&&e.data("attachment-id",t)})}n();const o=t[0];o&&o._vmfoDragObserver&&(o._vmfoDragObserver.disconnect(),delete o._vmfoDragObserver);const a=new MutationObserver(n);a.observe(o,{childList:!0,subtree:!0}),o._vmfoDragObserver=a,t.off("dragstart.vmfo dragend.vmfo"),t.on("dragstart.vmfo",".attachment",function(e){window.vmfMoveMode&&window.vmfMoveMode.isActive()&&window.vmfMoveMode.cancel();const t=jQuery(this);let n=t.data("attachment-id")||t.data("id");if(!n){const e=t.attr("aria-label");if(e){const t=e.match(/id[:\s]+(\d+)/i);t&&(n=parseInt(t[1],10))}}n&&(e.originalEvent.dataTransfer.setData("text/plain",JSON.stringify({mediaId:n,title:t.find(".filename").text()||"",thumbnail:t.find("img").attr("src")||""})),e.originalEvent.dataTransfer.effectAllowed="move",t.addClass("vmf-dragging"),document.body.classList.add("vmf-internal-drag"))}),t.on("dragend.vmfo",".attachment",function(){jQuery(this).removeClass("vmf-dragging"),document.body.classList.remove("vmf-internal-drag")}),function(e){const t=e.$el.find(".attachments");t.length&&(t.off("keydown.vmfmove"),t.on("keydown.vmfmove",".attachment",function(e){if("m"===e.key||"M"===e.key){e.preventDefault(),e.stopPropagation();const n=jQuery(this);let o=n.data("attachment-id")||n.data("id");if(!o){const e=n.attr("aria-label");if(e){const t=e.match(/id[:\s]+(\d+)/i);t&&(o=parseInt(t[1],10))}}if(!o)return;const a=n.find(".filename").text()||n.attr("aria-label")||(0,r.__)("Media item","virtual-media-folders");if(window.vmfMoveMode){const e=t.find(".attachment.selected, .attachment.details");if(e.length>1&&e.is(n)){const t=[];e.each(function(){const e=jQuery(this),n=e.data("attachment-id")||e.data("id"),o=e.find(".filename").text()||e.attr("aria-label")||(0,r.__)("Media item","virtual-media-folders");n&&t.push({id:n,title:o})}),window.vmfMoveMode.toggle(t)}else window.vmfMoveMode.toggle([{id:o,title:a}])}}"Escape"===e.key&&window.vmfMoveMode&&window.vmfMoveMode.isActive()&&(e.preventDefault(),window.vmfMoveMode.cancel())}),jQuery(document).off("keydown.vmfmovecancel").on("keydown.vmfmovecancel",function(e){"Escape"===e.key&&window.vmfMoveMode&&window.vmfMoveMode.isActive()&&(e.preventDefault(),window.vmfMoveMode.cancel())}))}(e)}function wn(){if("undefined"==typeof wp||void 0===wp.media)return;const e=wp.media.view.AttachmentsBrowser.prototype.render;wp.media.view.AttachmentsBrowser.prototype.render=function(){const r=e.apply(this,arguments);return function(e){if(dn=e,e.$el.find("#vmf-folder-tree").length)return void(ln&&(e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active")));const r=document.getElementById("vmf-folder-tree"),o=r&&document.body.contains(r),a=localStorage.getItem("vmfo_folder_view"),i=new URLSearchParams(window.location.search),l="1"===a||i.has("vmfo_folder")||"folder"===i.get("mode")||ln,s=e.$el.find(".attachments-wrapper").first(),d=e.$el;let c;if(o)return c=r,s.length?s.prepend(c):d.prepend(c),(c.classList.contains("is-visible")||l)&&(c.classList.add("is-visible"),e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active"),ln=!0),void(ln&&(hn(e),bn(e),vn(e)));if(r&&!o&&sn){try{sn.unmount()}catch(e){}sn=null}c=document.createElement("div"),c.id="vmf-folder-tree",c.className="vmf-folder-tree-sidebar",l&&(c.classList.add("is-visible"),e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active"),ln=!0),s.length?s.prepend(c):d.prepend(c),sn=(0,t.createRoot)(c),sn.render((0,zt.jsxs)(n.SlotFillProvider,{children:[(0,zt.jsx)(an,{onFolderSelect:t=>{const n=new URL(window.location);t?n.searchParams.set("vmfo_folder",t):n.searchParams.delete("vmfo_folder"),n.searchParams.set("mode","folder"),window.history.pushState({},"",n);const r=e.collection;if(r){const n=r.props.get("orderby")||"date",o=r.props.get("order")||"DESC",a=e.$el.find(".attachments");a.addClass("vmf-loading");const i=e.$el.hasClass("vmf-folder-filtered"),l=null!==t;if(l?e.$el.addClass("vmf-folder-filtered"):e.$el.removeClass("vmf-folder-filtered"),i!==l){const e=document.querySelector(".vmf-folder-tree-sidebar");e&&e._recalculateOffset&&setTimeout(()=>e._recalculateOffset(),50)}r.props.unset("vmfo_folder"),r.props.unset("vmfo_folder_exclude"),"uncategorized"===t?r.props.set({vmfo_folder_exclude:"all",orderby:n,order:o}):t?r.props.set({vmfo_folder:t,orderby:n,order:o}):r.props.set({orderby:n,order:o}),r.reset(),r.more({remove:!1}).then(()=>{a.removeClass("vmf-loading")}).catch(()=>{a.removeClass("vmf-loading")})}}}),(0,zt.jsx)(n.Popover.Slot,{})]})),hn(e),function(e){e._vmfUploadListenerSetup||(e._vmfUploadListenerSetup=!0,e.collection&&e.collection.on("add",gn),e.uploader&&e.uploader.uploader&&e.uploader.uploader.bind("FileUploaded",gn))}(e)}(this),r}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",wn):wn()})();
  • virtual-media-folders/tags/1.6.2/build/editor.asset.php

    r3432349 r3445057  
    1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '8ab0ba722818ad0eb3a8');
     1<?php return array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '600a65131264b00b3b14');
  • virtual-media-folders/tags/1.6.2/build/editor.js

    r3432349 r3445057  
    1 (()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var l in r)e.o(r,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:r[l]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.element,r=window.wp.apiFetch;var l=e.n(r);const n="vmfo_folders_cache";function o(e){const t={},r=[];return e.forEach(e=>{t[e.id]={...e,children:[]}}),e.forEach(e=>{e.parent&&t[e.parent]?t[e.parent].children.push(t[e.id]):r.push(t[e.id])}),r}const a=window.wp.i18n,i=window.ReactJSXRuntime;function s({expanded:e}){return(0,i.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:e?(0,i.jsx)("polyline",{points:"6 9 12 15 18 9"}):(0,i.jsx)("polyline",{points:"9 6 15 12 9 18"})})}function d({folder:e,selectedId:r,onSelect:l,level:n=0,parentId:o=null,renderWrapper:c,enableKeyboardNav:f=!1,enableAutoExpand:u=!1,enableAria:m=!1,isMoveModeActive:p=!1,forceExpand:v=!1}){const h=e=>!(!e.children||0===e.children.length)&&e.children.some(e=>e.id===r||h(e)),g=u&&h(e),[w,x]=(0,t.useState)(g),b=v||w||g,y=e.children&&e.children.length>0,_=r===e.id;(0,t.useEffect)(()=>{g&&!w&&x(!0)},[g,w]);const j=(0,i.jsxs)("button",{type:"button",className:"vmf-folder-button "+(_?"is-selected":""),style:{paddingLeft:16*n+8+"px"},onClick:()=>l(e.id),onKeyDown:f?t=>{if(f)if("ArrowRight"===t.key&&y&&!b)t.preventDefault(),x(!0);else if("ArrowLeft"===t.key)t.preventDefault(),y&&b?x(!1):null!==o&&l(o);else if("Enter"===t.key||" "===t.key){if(p)return;t.preventDefault(),l(e.id)}}:void 0,"aria-current":_?"true":void 0,title:e.name,children:[y?(0,i.jsx)("span",{className:"vmf-folder-toggle",onClick:t=>{t.stopPropagation(),b&&h(e)&&l(e.id),x(!b)},onKeyDown:f?t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),b&&h(e)&&l(e.id),x(!b))}:void 0,role:f?"button":void 0,tabIndex:f?0:void 0,"aria-label":b?(0,a.__)("Collapse","virtual-media-folders"):(0,a.__)("Expand","virtual-media-folders"),children:(0,i.jsx)(s,{expanded:b})}):(0,i.jsx)("span",{className:"vmf-folder-toggle vmf-folder-toggle--placeholder","aria-hidden":"true"}),(0,i.jsx)("span",{className:"vmf-folder-name",children:e.name}),"number"==typeof e.count&&!(y&&0===e.count)&&(0,i.jsxs)("span",{className:"vmf-folder-count","aria-label":m?`${e.count} ${(0,a.__)("items","virtual-media-folders")}`:void 0,children:["(",e.count,")"]})]}),C=c?c({folderId:e.id,children:j}):j,S=m?{role:"treeitem","aria-expanded":y?b:void 0,"aria-selected":_}:{};return(0,i.jsxs)("li",{className:"vmf-folder-item",...S,children:[C,y&&b&&(0,i.jsx)("ul",{className:"vmf-folder-children",role:m?"group":void 0,children:e.children.map(t=>(0,i.jsx)(d,{folder:t,selectedId:r,onSelect:l,level:n+1,parentId:e.id,renderWrapper:c,enableKeyboardNav:f,enableAutoExpand:u,enableAria:m,isMoveModeActive:p,forceExpand:v},t.id))})]})}function c({folders:e,selectedId:t,onSelect:r,uncategorizedCount:l,showAllMedia:n=!0,showUncategorized:o=!0,loading:s,renderWrapper:c,renderUncategorizedWrapper:f,renderHeader:u,enableKeyboardNav:m=!1,enableAutoExpand:p=!1,enableAria:v=!1,isMoveModeActive:h=!1,forceExpand:g=!1,className:w="",loadingText:x}){if(s){const e=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,i.jsx)("div",{className:`${e} ${e}--loading ${w}`,"aria-label":v?(0,a.__)("Media folders","virtual-media-folders"):void 0,children:(0,i.jsx)("p",{"aria-live":v?"polite":void 0,children:x||(0,a.__)("Loading…","virtual-media-folders")})})}const b=(0,i.jsx)("button",{type:"button",className:"vmf-folder-button "+(null===t?"is-selected":""),onClick:()=>r(null),"aria-current":null===t?"true":void 0,children:(0,i.jsx)("span",{className:"vmf-folder-name",children:(0,a.__)("All Media","virtual-media-folders")})}),y=(0,i.jsxs)("button",{type:"button",className:"vmf-folder-button "+("uncategorized"===t?"is-selected":""),onClick:()=>r("uncategorized"),"aria-current":"uncategorized"===t?"true":void 0,children:[(0,i.jsx)("span",{className:"vmf-folder-name",children:(0,a.__)("Uncategorized","virtual-media-folders")}),(0,i.jsxs)("span",{className:"vmf-folder-count","aria-label":v?`${l} ${(0,a.__)("items","virtual-media-folders")}`:void 0,children:["(",l,")"]})]}),_=f?f({children:y}):y,j=v?"nav":"div",C=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,i.jsxs)(j,{className:`${C} ${w}`,"aria-label":v?(0,a.__)("Media folders","virtual-media-folders"):void 0,children:[u&&u(),(0,i.jsxs)("ul",{className:"vmf-folder-list",role:v?"tree":void 0,"aria-label":v?(0,a.__)("Folder tree","virtual-media-folders"):void 0,children:[n&&(0,i.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?null===t:void 0,children:b}),o&&(0,i.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?"uncategorized"===t:void 0,children:_}),e.map(e=>(0,i.jsx)(d,{folder:e,selectedId:t,onSelect:r,renderWrapper:c,enableKeyboardNav:m,enableAutoExpand:p,enableAria:v,isMoveModeActive:h,forceExpand:g},e.id))]})]})}const f=window.wp.components,u=window.wp.primitives;var m=(0,i.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,i.jsx)(u.Path,{d:"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"})}),p=(0,i.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,i.jsx)(u.Path,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"})});function v({searchQuery:e,onSearchChange:r}){const[l,n]=(0,t.useState)(!1),o=(0,t.useRef)(null);(0,t.useEffect)(()=>{l&&o.current&&o.current.focus()},[l]);const s=()=>{n(!1),r("")};return l?(0,i.jsxs)("div",{className:"vmf-editor-search",children:[(0,i.jsxs)("div",{className:"vmf-editor-search__input-wrapper",children:[(0,i.jsx)("input",{ref:o,type:"text",className:"vmf-editor-search__input",placeholder:(0,a.__)("Search folders…","virtual-media-folders"),value:e,onChange:e=>{r(e.target.value)},onKeyDown:e=>{"Escape"===e.key&&s()},"aria-label":(0,a.__)("Search folders","virtual-media-folders")}),e&&(0,i.jsx)(f.Button,{icon:p,label:(0,a.__)("Clear search","virtual-media-folders"),onClick:()=>{r(""),o.current&&o.current.focus()},className:"vmf-editor-search__clear",size:"small",showTooltip:!1})]}),(0,i.jsx)(f.Button,{icon:p,label:(0,a.__)("Close search","virtual-media-folders"),onClick:s,className:"vmf-editor-search__close",size:"small",showTooltip:!1})]}):(0,i.jsx)(f.Button,{icon:m,label:(0,a.__)("Search folders","virtual-media-folders"),onClick:()=>{n(!0)},className:"vmf-editor-search-button",size:"small",showTooltip:!1})}function h({onFolderSelect:e}){const{showAllMedia:r=!0,showUncategorized:a=!0}=window.vmfEditor||{},[s,d]=(0,t.useState)(""),{folders:f,selectedId:u,loading:m,uncategorizedCount:p,handleSelect:h}=function({trackUrl:e=!1,onFolderSelect:r,mediaType:a="",defaultFolder:i=null}={}){const s=function(){try{const e=localStorage.getItem(n);if(e)return JSON.parse(e)}catch(e){}return window.vmfData?.folders?window.vmfData.folders:window.vmfEditor?.folders?window.vmfEditor.folders:null}()||[],d=s.length>0?o(s):[],c=s.length>0,[f,u]=(0,t.useState)(d),[m,p]=(0,t.useState)(s),[v,h]=(0,t.useState)(i),[g,w]=(0,t.useState)(!c),[x,b]=(0,t.useState)(0),y=(0,t.useRef)(c?s:null),_=(0,t.useCallback)(e=>[...e].sort((e,t)=>{const r=e.vmfo_order,l=t.vmfo_order;return null!=r&&null!=l?r-l:null!=r?-1:null!=l?1:e.name.localeCompare(t.name)}),[]),j=(0,t.useCallback)((e,t=null)=>{const r=_(e),l=t?r.map(e=>{var r;return{...e,count:null!==(r=t[e.id])&&void 0!==r?r:e.count}}):r;p(l),u(o(l))},[_]),C=(0,t.useCallback)(async(e,t)=>{try{const r=function(e){if(!e||"all"===e)return"";if(e.includes("/")||e.includes(",")){const t=e.split(",")[0].split("/")[0];return["image","video","audio","application","text"].includes(t)?t:""}return e}(e);let n="/wp/v2/media?per_page=1";r&&(n+=`&media_type=${encodeURIComponent(r)}`);const o=await l()({path:n,parse:!1}),a=parseInt(o.headers.get("X-WP-Total"),10)||0;let i=0;t.forEach(e=>{i+=e.count||0}),b(Math.max(0,a-i))}catch(e){}},[]),S=(0,t.useCallback)(async(e=a,t=!1)=>{try{const r=await l()({path:"/vmfo/v1/folders"}),o=t||!function(e,t){if(!e||!t)return!1;if(e.length!==t.length)return!1;const r=e=>JSON.stringify(e.map(e=>({id:e.id,name:e.name,parent:e.parent,vmfo_order:e.vmfo_order})));return r(e)===r(t)}(y.current,r);o&&(j(r),function(e){try{localStorage.setItem(n,JSON.stringify(e))}catch(e){}}(r),y.current=r);let a=r;if(e)try{const t=await l()({path:`/vmfo/v1/folders/counts?media_type=${encodeURIComponent(e)}`});a=r.map(e=>{var r;return{...e,count:null!==(r=t[e.id])&&void 0!==r?r:e.count}}),j(a)}catch(e){}C(e,a)}catch(e){console.error("Error fetching folders:",e)}finally{w(!1)}},[a,j,C]);(0,t.useEffect)(()=>{let t=i;if(e){const e=new URLSearchParams(window.location.search),r=e.get("vmfo_folder"),l=e.get("mode");r?(t="uncategorized"===r?"uncategorized":parseInt(r,10),h(t)):"folder"===l?(h(i),t=i):"grid"!==l&&"list"!==l||(t=null,h(null))}S(),null!==t&&r?.(t)},[S,e,i,r]),(0,t.useEffect)(()=>{void 0!==a&&S(a)},[a,S]);const N=(0,t.useCallback)(e=>{h(e),r?.(e)},[r]);return{folders:f,flatFolders:m,selectedId:v,setSelectedId:h,loading:g,uncategorizedCount:x,fetchFolders:S,handleSelect:N}}({trackUrl:!1,onFolderSelect:e}),g=(0,t.useCallback)((e,t)=>{if(!t.trim())return e;const r=t.toLowerCase(),l=e=>e.reduce((e,t)=>{const n=t.name.toLowerCase().includes(r),o=t.children?l(t.children):[];return(n||o.length>0)&&e.push({...t,children:o}),e},[]);return l(e)},[]),w=g(f,s),x=f.length>10,b=(0,t.useCallback)(()=>x?(0,i.jsx)("div",{className:"vmf-folder-sidebar-header",children:(0,i.jsx)(v,{searchQuery:s,onSearchChange:d})}):null,[s,x]);return(0,i.jsx)(c,{folders:w,selectedId:u,onSelect:h,uncategorizedCount:p,loading:m,showAllMedia:r,showUncategorized:a,renderHeader:b,enableKeyboardNav:!1,enableAutoExpand:!1,enableAria:!1,forceExpand:!!s.trim()})}function g(){if(!window.wp?.media?.view?.AttachmentsBrowser)return void setTimeout(g,100);const e=wp.media.view.AttachmentsBrowser.prototype.render;wp.media.view.AttachmentsBrowser.prototype.render=function(){if(e.apply(this,arguments),!this.$el.find(".vmf-editor-folder-sidebar").length){const e=this.$el.find(".attachments-wrapper").first(),r=this.$el.find(".attachments").first();if(e.length||r.length){const l=document.createElement("div");l.className="vmf-editor-folder-sidebar",e.length?e.prepend(l):r.before(l);const n=this.collection,o=this;(0,t.createRoot)(l).render((0,t.createElement)(h,{onFolderSelect:e=>{if(!n)return;const t=o.$el.find(".attachments");t.addClass("vmf-loading"),null!==e?o.$el.addClass("vmf-folder-filtered"):o.$el.removeClass("vmf-folder-filtered"),n.props.unset("vmfo_folder"),n.props.unset("vmfo_folder_exclude"),"uncategorized"===e?n.props.set({vmfo_folder_exclude:"all"}):e&&""!==e&&n.props.set({vmfo_folder:parseInt(e,10)}),n.reset(),n.more({remove:!1}).then(()=>{t.removeClass("vmf-loading")}).catch(()=>{t.removeClass("vmf-loading")})}})),this.$el.addClass("vmf-has-folder-sidebar"),function(e,t){const r=e.$el.find(".attachments-wrapper").first(),l=e.$el.find(".attachments").first();if(!r.length||!l.length)return;const n=r[0];let o=!1;function a(){const e=n.getBoundingClientRect(),r=n.scrollTop>0;r&&!o?(t.style.position="fixed",t.style.top=`${e.top}px`,t.style.left=`${e.left}px`,t.style.height=`${e.height}px`,t.style.width="220px",t.style.zIndex="100",o=!0):!r&&o?(t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.height="100%",t.style.width="",t.style.zIndex="",o=!1):o&&(t.style.top=`${e.top}px`,t.style.left=`${e.left}px`,t.style.height=`${e.height}px`)}n.addEventListener("scroll",()=>{requestAnimationFrame(a)},{passive:!0}),window.addEventListener("resize",a,{passive:!0}),setTimeout(a,100)}(this,l)}}return this}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",g):g()})();
     1(()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.element,r=window.wp.apiFetch;var n=e.n(r);const l="vmfo_folders_cache";function o(e){const t={},r=[];return e.forEach(e=>{t[e.id]={...e,children:[]}}),e.forEach(e=>{e.parent&&t[e.parent]?t[e.parent].children.push(t[e.id]):r.push(t[e.id])}),r}const a=window.wp.i18n,i=window.ReactJSXRuntime;function s({expanded:e}){return(0,i.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:e?(0,i.jsx)("polyline",{points:"6 9 12 15 18 9"}):(0,i.jsx)("polyline",{points:"9 6 15 12 9 18"})})}function d({folder:e,selectedId:r,onSelect:n,level:l=0,parentId:o=null,renderWrapper:c,enableKeyboardNav:u=!1,enableAutoExpand:f=!1,enableAria:m=!1,isMoveModeActive:p=!1,forceExpand:v=!1}){const h=e=>!(!e.children||0===e.children.length)&&e.children.some(e=>e.id===r||h(e)),g=f&&h(e),[w,x]=(0,t.useState)(g),y=v||w||g,b=e.children&&e.children.length>0,_=r===e.id;(0,t.useEffect)(()=>{g&&!w&&x(!0)},[g,w]);const j=(0,i.jsxs)("button",{type:"button",className:"vmf-folder-button "+(_?"is-selected":""),style:{paddingLeft:16*l+8+"px"},onClick:()=>n(e.id),onKeyDown:u?t=>{if(u)if("ArrowRight"===t.key&&b&&!y)t.preventDefault(),x(!0);else if("ArrowLeft"===t.key)t.preventDefault(),b&&y?x(!1):null!==o&&n(o);else if("Enter"===t.key||" "===t.key){if(p)return;t.preventDefault(),n(e.id)}}:void 0,"aria-current":_?"true":void 0,title:e.name,children:[b?(0,i.jsx)("span",{className:"vmf-folder-toggle",onClick:t=>{t.stopPropagation(),y&&h(e)&&n(e.id),x(!y)},onKeyDown:u?t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),y&&h(e)&&n(e.id),x(!y))}:void 0,role:u?"button":void 0,tabIndex:u?0:void 0,"aria-label":y?(0,a.__)("Collapse","virtual-media-folders"):(0,a.__)("Expand","virtual-media-folders"),children:(0,i.jsx)(s,{expanded:y})}):(0,i.jsx)("span",{className:"vmf-folder-toggle vmf-folder-toggle--placeholder","aria-hidden":"true"}),(0,i.jsx)("span",{className:"vmf-folder-name",children:e.name}),"number"==typeof e.count&&!(b&&0===e.count)&&(0,i.jsxs)("span",{className:"vmf-folder-count","aria-label":m?`${e.count} ${(0,a.__)("items","virtual-media-folders")}`:void 0,children:["(",e.count,")"]})]}),C=c?c({folderId:e.id,children:j}):j,S=m?{role:"treeitem","aria-expanded":b?y:void 0,"aria-selected":_}:{};return(0,i.jsxs)("li",{className:"vmf-folder-item",...S,children:[C,b&&y&&(0,i.jsx)("ul",{className:"vmf-folder-children",role:m?"group":void 0,children:e.children.map(t=>(0,i.jsx)(d,{folder:t,selectedId:r,onSelect:n,level:l+1,parentId:e.id,renderWrapper:c,enableKeyboardNav:u,enableAutoExpand:f,enableAria:m,isMoveModeActive:p,forceExpand:v},t.id))})]})}function c({folders:e,selectedId:t,onSelect:r,uncategorizedCount:n,showAllMedia:l=!0,showUncategorized:o=!0,loading:s,renderWrapper:c,renderUncategorizedWrapper:u,renderHeader:f,enableKeyboardNav:m=!1,enableAutoExpand:p=!1,enableAria:v=!1,isMoveModeActive:h=!1,forceExpand:g=!1,className:w="",loadingText:x}){if(s){const e=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,i.jsx)("div",{className:`${e} ${e}--loading ${w}`,"aria-label":v?(0,a.__)("Media folders","virtual-media-folders"):void 0,children:(0,i.jsx)("p",{"aria-live":v?"polite":void 0,children:x||(0,a.__)("Loading…","virtual-media-folders")})})}const y=(0,i.jsx)("button",{type:"button",className:"vmf-folder-button "+(null===t?"is-selected":""),onClick:()=>r(null),"aria-current":null===t?"true":void 0,children:(0,i.jsx)("span",{className:"vmf-folder-name",children:(0,a.__)("All Media","virtual-media-folders")})}),b=(0,i.jsxs)("button",{type:"button",className:"vmf-folder-button "+("uncategorized"===t?"is-selected":""),onClick:()=>r("uncategorized"),"aria-current":"uncategorized"===t?"true":void 0,children:[(0,i.jsx)("span",{className:"vmf-folder-name",children:(0,a.__)("Uncategorized","virtual-media-folders")}),(0,i.jsxs)("span",{className:"vmf-folder-count","aria-label":v?`${n} ${(0,a.__)("items","virtual-media-folders")}`:void 0,children:["(",n,")"]})]}),_=u?u({children:b}):b,j=v?"nav":"div",C=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,i.jsxs)(j,{className:`${C} ${w}`,"aria-label":v?(0,a.__)("Media folders","virtual-media-folders"):void 0,children:[f&&f(),(0,i.jsxs)("ul",{className:"vmf-folder-list",role:v?"tree":void 0,"aria-label":v?(0,a.__)("Folder tree","virtual-media-folders"):void 0,children:[l&&(0,i.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?null===t:void 0,children:y}),o&&(0,i.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?"uncategorized"===t:void 0,children:_}),e.map(e=>(0,i.jsx)(d,{folder:e,selectedId:t,onSelect:r,renderWrapper:c,enableKeyboardNav:m,enableAutoExpand:p,enableAria:v,isMoveModeActive:h,forceExpand:g},e.id))]})]})}const u=window.wp.components,f=window.wp.primitives;var m=(0,i.jsx)(f.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,i.jsx)(f.Path,{d:"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"})}),p=(0,i.jsx)(f.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,i.jsx)(f.Path,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"})});function v({searchQuery:e,onSearchChange:r}){const[n,l]=(0,t.useState)(!1),o=(0,t.useRef)(null);(0,t.useEffect)(()=>{n&&o.current&&o.current.focus()},[n]);const s=()=>{l(!1),r("")};return n?(0,i.jsxs)("div",{className:"vmf-editor-search",children:[(0,i.jsxs)("div",{className:"vmf-editor-search__input-wrapper",children:[(0,i.jsx)("input",{ref:o,type:"text",className:"vmf-editor-search__input",placeholder:(0,a.__)("Search folders…","virtual-media-folders"),value:e,onChange:e=>{r(e.target.value)},onKeyDown:e=>{"Escape"===e.key&&s()},"aria-label":(0,a.__)("Search folders","virtual-media-folders")}),e&&(0,i.jsx)(u.Button,{icon:p,label:(0,a.__)("Clear search","virtual-media-folders"),onClick:()=>{r(""),o.current&&o.current.focus()},className:"vmf-editor-search__clear",size:"small",showTooltip:!1})]}),(0,i.jsx)(u.Button,{icon:p,label:(0,a.__)("Close search","virtual-media-folders"),onClick:s,className:"vmf-editor-search__close",size:"small",showTooltip:!1})]}):(0,i.jsx)(u.Button,{icon:m,label:(0,a.__)("Search folders","virtual-media-folders"),onClick:()=>{l(!0)},className:"vmf-editor-search-button",size:"small",showTooltip:!1})}function h({onFolderSelect:e}){const{showAllMedia:r=!0,showUncategorized:a=!0}=window.vmfEditor||{},s=r?null:"uncategorized",[d,u]=(0,t.useState)(""),{folders:f,selectedId:m,loading:p,uncategorizedCount:h,handleSelect:g}=function({trackUrl:e=!1,onFolderSelect:r,mediaType:a="",defaultFolder:i=null}={}){const s=function(){if(window.vmfData?.folders)return window.vmfData.folders;if(window.vmfEditor?.folders)return window.vmfEditor.folders;try{const e=localStorage.getItem(l);if(e)return JSON.parse(e)}catch(e){}return null}()||[],d=s.length>0?o(s):[],c=s.length>0,[u,f]=(0,t.useState)(d),[m,p]=(0,t.useState)(s),[v,h]=(0,t.useState)(i),[g,w]=(0,t.useState)(!c),[x,y]=(0,t.useState)(0),b=(0,t.useRef)(c?s:null),_=(0,t.useRef)(r);(0,t.useEffect)(()=>{_.current=r},[r]);const j=(0,t.useRef)(!1),C=(0,t.useRef)(!0);(0,t.useEffect)(()=>(C.current=!0,()=>{C.current=!1}),[]);const S=(0,t.useCallback)(e=>[...e].sort((e,t)=>{const r=e.vmfo_order,n=t.vmfo_order;return null!=r&&null!=n?r-n:null!=r?-1:null!=n?1:e.name.localeCompare(t.name)}),[]),E=(0,t.useCallback)((e,t=null)=>{const r=S(e),n=t?r.map(e=>{var r;return{...e,count:null!==(r=t[e.id])&&void 0!==r?r:e.count}}):r;p(n),f(o(n))},[S]),N=(0,t.useCallback)(async(e,t)=>{try{const r=function(e){if(!e||"all"===e)return"";if(e.includes("/")||e.includes(",")){const t=e.split(",")[0].split("/")[0];return["image","video","audio","application","text"].includes(t)?t:""}return e}(e);let l="/wp/v2/media?per_page=1";r&&(l+=`&media_type=${encodeURIComponent(r)}`);const o=await n()({path:l,parse:!1});if(!C.current)return;const a=parseInt(o.headers.get("X-WP-Total"),10)||0;let i=0;t.forEach(e=>{i+=e.count||0}),y(Math.max(0,a-i))}catch(e){}},[]),k=(0,t.useCallback)(async(e=a,t=!1)=>{try{const r=await n()({path:"/vmfo/v1/folders"});if(!C.current)return;const o=t||!function(e,t){if(!e||!t)return!1;if(e.length!==t.length)return!1;const r=e=>JSON.stringify(e.map(e=>({id:e.id,name:e.name,parent:e.parent,vmfo_order:e.vmfo_order})));return r(e)===r(t)}(b.current,r);o&&(E(r),function(e){try{localStorage.setItem(l,JSON.stringify(e))}catch(e){}}(r),b.current=r);let a=r;if(e)try{const t=await n()({path:`/vmfo/v1/folders/counts?media_type=${encodeURIComponent(e)}`});if(!C.current)return;a=r.map(e=>{var r;return{...e,count:null!==(r=t[e.id])&&void 0!==r?r:e.count}}),E(a)}catch(e){}N(e,a)}catch(e){console.error("Error fetching folders:",e)}finally{C.current&&w(!1)}},[a,E,N]);(0,t.useEffect)(()=>{if(j.current)return;j.current=!0;let t=i;if(e){const e=new URLSearchParams(window.location.search),r=e.get("vmfo_folder"),n=e.get("mode");r?(t="uncategorized"===r?"uncategorized":parseInt(r,10),h(t)):"folder"===n?(h(i),t=i):"grid"!==n&&"list"!==n||(t=null,h(null))}k(),null!==t&&_.current?.(t)},[k,e,i]),(0,t.useEffect)(()=>{void 0!==a&&k(a)},[a,k]);const z=(0,t.useCallback)(e=>{h(e),_.current?.(e)},[]);return{folders:u,flatFolders:m,selectedId:v,setSelectedId:h,loading:g,uncategorizedCount:x,fetchFolders:k,handleSelect:z}}({trackUrl:!1,onFolderSelect:e,defaultFolder:s}),w=(0,t.useCallback)((e,t)=>{if(!t.trim())return e;const r=t.toLowerCase(),n=e=>e.reduce((e,t)=>{const l=t.name.toLowerCase().includes(r),o=t.children?n(t.children):[];return(l||o.length>0)&&e.push({...t,children:o}),e},[]);return n(e)},[]),x=w(f,d),y=f.length>10,b=(0,t.useCallback)(()=>y?(0,i.jsx)("div",{className:"vmf-folder-sidebar-header",children:(0,i.jsx)(v,{searchQuery:d,onSearchChange:u})}):null,[d,y]);return(0,i.jsx)(c,{folders:x,selectedId:m,onSelect:g,uncategorizedCount:h,loading:p,showAllMedia:r,showUncategorized:a,renderHeader:b,enableKeyboardNav:!1,enableAutoExpand:!1,enableAria:!1,forceExpand:!!d.trim()})}function g(){if(!window.wp?.media?.view?.AttachmentsBrowser)return void setTimeout(g,100);const e=wp.media.view.AttachmentsBrowser.prototype.render;wp.media.view.AttachmentsBrowser.prototype.render=function(){if(e.apply(this,arguments),!this.$el.find(".vmf-editor-folder-sidebar").length){const e=this.$el.find(".attachments-wrapper").first(),r=this.$el.find(".attachments").first();if(e.length||r.length){const n=document.createElement("div");n.className="vmf-editor-folder-sidebar",e.length?e.prepend(n):r.before(n);const l=this.collection,o=this;(0,t.createRoot)(n).render((0,t.createElement)(h,{onFolderSelect:e=>{if(!l)return;const t=o.$el.find(".attachments");t.addClass("vmf-loading"),null!==e?o.$el.addClass("vmf-folder-filtered"):o.$el.removeClass("vmf-folder-filtered"),l.props.unset("vmfo_folder"),l.props.unset("vmfo_folder_exclude"),"uncategorized"===e?l.props.set({vmfo_folder_exclude:"all"}):e&&""!==e&&l.props.set({vmfo_folder:parseInt(e,10)}),l.reset(),l.more({remove:!1}).then(()=>{t.removeClass("vmf-loading")}).catch(()=>{t.removeClass("vmf-loading")})}})),this.$el.addClass("vmf-has-folder-sidebar"),function(e,t){const r=e.$el.find(".attachments-wrapper").first(),n=e.$el.find(".attachments").first();if(!r.length||!n.length)return()=>{};const l=r[0];let o=!1;function a(){const e=l.getBoundingClientRect(),r=l.scrollTop>0;r&&!o?(t.style.position="fixed",t.style.top=`${e.top}px`,t.style.left=`${e.left}px`,t.style.height=`${e.height}px`,t.style.width="220px",t.style.zIndex="100",o=!0):!r&&o?(t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.height="100%",t.style.width="",t.style.zIndex="",o=!1):o&&(t.style.top=`${e.top}px`,t.style.left=`${e.left}px`,t.style.height=`${e.height}px`)}function i(){requestAnimationFrame(a)}l.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",a,{passive:!0}),setTimeout(a,100),t._cleanupSticky=()=>{l.removeEventListener("scroll",i),window.removeEventListener("resize",a)},t._cleanupSticky}(this,n)}}return this}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",g):g()})();
  • virtual-media-folders/tags/1.6.2/readme.txt

    r3441627 r3445057  
    44Requires at least: 6.8
    55Tested up to: 6.9
    6 Stable tag: 1.6.1
     6Stable tag: 1.6.2
    77Requires PHP: 8.3
    88License: GPLv2 or later
     
    114114
    115115== Changelog ==
     116
     117= 1.6.2 =
     118* Fixed: "Add Media File" button now respects "Show All Media" setting
     119* Fixed: Block editor folder sidebar now defaults to Uncategorized when "Show All Media" is disabled
     120* Fixed: Prevented duplicate folder selection callbacks and state updates after component unmount
     121* Fixed: Added proper cleanup for sticky sidebar event listeners to prevent memory leaks
     122* Changed: Folder cache now prefers PHP-preloaded data over localStorage
     123* Changed: Exposed `vmfRefreshMediaLibrary` globally for add-on use
     124* Documentation: Updated development docs with accurate REST API endpoints and hooks
    116125
    117126= 1.6.1 =
  • virtual-media-folders/tags/1.6.2/src/Admin.php

    r3430100 r3445057  
    215215        // Assign media to folder (replaces existing assignments).
    216216        $result = wp_set_object_terms( $media_id, [ $folder_id ], Taxonomy::TAXONOMY );
     217
     218        /**
     219         * Fires after a media item has been assigned to a folder.
     220         *
     221         * @since 1.5.0
     222         *
     223         * @param int   $media_id  The attachment ID.
     224         * @param int   $folder_id The folder term ID.
     225         * @param array $result    The result from wp_set_object_terms.
     226         */
     227        do_action( 'vmfo_folder_assigned', $media_id, $folder_id, $result );
    217228
    218229        if ( is_wp_error( $result ) ) {
  • virtual-media-folders/tags/1.6.2/src/Editor.php

    r3419279 r3445057  
    121121            'restBase'          => 'vmfo-folders',
    122122            'nonce'             => wp_create_nonce( 'wp_rest' ),
    123             'showAllMedia'      => (bool) Settings::get( 'show_all_media', true ),
    124             'showUncategorized' => (bool) Settings::get( 'show_uncategorized', true ),
     123            'showAllMedia'      => (bool) Settings::get( 'show_all_media' ),
     124            'showUncategorized' => (bool) Settings::get( 'show_uncategorized' ),
    125125        ];
    126126    }
  • virtual-media-folders/tags/1.6.2/vendor/composer/installed.php

    r3441627 r3445057  
    22    'root' => array(
    33        'name' => 'soderlind/virtual-media-folders',
    4         'pretty_version' => '1.6.1',
    5         'version' => '1.6.1.0',
    6         'reference' => 'bae558de79e7fbb28b316e31993260a3557769b3',
     4        'pretty_version' => '1.6.2',
     5        'version' => '1.6.2.0',
     6        'reference' => '087b13be70ecad5fc8b6c51ca56e188fbf3ead11',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'soderlind/virtual-media-folders' => array(
    14             'pretty_version' => '1.6.1',
    15             'version' => '1.6.1.0',
    16             'reference' => 'bae558de79e7fbb28b316e31993260a3557769b3',
     14            'pretty_version' => '1.6.2',
     15            'version' => '1.6.2.0',
     16            'reference' => '087b13be70ecad5fc8b6c51ca56e188fbf3ead11',
    1717            'type' => 'wordpress-plugin',
    1818            'install_path' => __DIR__ . '/../../',
  • virtual-media-folders/tags/1.6.2/virtual-media-folders.php

    r3441627 r3445057  
    1515 * Plugin Name: Virtual Media Folders
    1616 * Description: Virtual folder organization and smart management for the WordPress Media Library.
    17  * Version: 1.6.1
     17 * Version: 1.6.2
    1818 * Requires at least: 6.8
    1919 * Requires PHP: 8.3
  • virtual-media-folders/trunk/build/admin.asset.php

    r3440344 r3445057  
    1 <?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '5dd311ecb4b605a88f57');
     1<?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '0974378588165e6f8cbe');
  • virtual-media-folders/trunk/build/admin.js

    r3440344 r3445057  
    1 (()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.element,n=window.wp.components,r=window.wp.i18n,o=window.React;var a=e.n(o);const i=window.ReactDOM,l="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function s(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function d(e){return"nodeType"in e}function c(e){var t,n;return e?s(e)?e:d(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function u(e){const{Document:t}=c(e);return e instanceof t}function f(e){return!s(e)&&e instanceof c(e).HTMLElement}function v(e){return e instanceof c(e).SVGElement}function m(e){return e?s(e)?e.document:d(e)?u(e)?e:f(e)||v(e)?e.ownerDocument:document:document:document}const h=l?o.useLayoutEffect:o.useEffect;function p(e){const t=(0,o.useRef)(e);return h(()=>{t.current=e}),(0,o.useCallback)(function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return null==t.current?void 0:t.current(...n)},[])}function g(e,t){void 0===t&&(t=[e]);const n=(0,o.useRef)(e);return h(()=>{n.current!==e&&(n.current=e)},t),n}function b(e,t){const n=(0,o.useRef)();return(0,o.useMemo)(()=>{const t=e(n.current);return n.current=t,t},[...t])}function w(e){const t=p(e),n=(0,o.useRef)(null),r=(0,o.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,r]}function y(e){const t=(0,o.useRef)();return(0,o.useEffect)(()=>{t.current=e},[e]),t.current}let x={};function _(e,t){return(0,o.useMemo)(()=>{if(t)return t;const n=null==x[e]?0:x[e]+1;return x[e]=n,e+"-"+n},[e,t])}function C(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((t,n)=>{const r=Object.entries(n);for(const[n,o]of r){const r=t[n];null!=r&&(t[n]=r+e*o)}return t},{...t})}}const S=C(1),E=C(-1);function D(e){if(!e)return!1;const{KeyboardEvent:t}=c(e.target);return t&&e instanceof t}function M(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=c(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const R=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[R.Translate.toString(e),R.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),k="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function N(e){return e.matches(k)?e:e.querySelector(k)}const j={display:"none"};function I(e){let{id:t,value:n}=e;return a().createElement("div",{id:t,style:j},n)}function T(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;return a().createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":r,"aria-atomic":!0},n)}const A=(0,o.createContext)(null),L={draggable:"\n    To pick up a draggable item, press the space bar.\n    While dragging, use the arrow keys to move the item.\n    Press space again to drop the item in its new position, or press escape to cancel.\n  "},O={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function F(e){let{announcements:t=O,container:n,hiddenTextDescribedById:r,screenReaderInstructions:l=L}=e;const{announce:s,announcement:d}=function(){const[e,t]=(0,o.useState)("");return{announce:(0,o.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),c=_("DndLiveRegion"),[u,f]=(0,o.useState)(!1);if((0,o.useEffect)(()=>{f(!0)},[]),function(e){const t=(0,o.useContext)(A);(0,o.useEffect)(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}((0,o.useMemo)(()=>({onDragStart(e){let{active:n}=e;s(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&s(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;s(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;s(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;s(t.onDragCancel({active:n,over:r}))}}),[s,t])),!u)return null;const v=a().createElement(a().Fragment,null,a().createElement(I,{id:r,value:l.draggable}),a().createElement(T,{id:c,announcement:d}));return n?(0,i.createPortal)(v,n):v}var z;function P(){}function B(e,t){return(0,o.useMemo)(()=>({sensor:e,options:null!=t?t:{}}),[e,t])}!function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"}(z||(z={}));const $=Object.freeze({x:0,y:0});function U(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function H(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function q(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function K(e){let{left:t,top:n,height:r,width:o}=e;return[{x:t,y:n},{x:t+o,y:n},{x:t,y:n+r},{x:t+o,y:n+r}]}function Q(e,t){if(!e||0===e.length)return null;const[n]=e;return t?n[t]:n}function W(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}const V=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=W(t,t.left,t.top),a=[];for(const e of r){const{id:t}=e,r=n.get(t);if(r){const n=U(W(r),o);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(H)};function X(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),o=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),i=o-r,l=a-n;if(r<o&&n<a){const n=t.width*t.height,r=e.width*e.height,o=i*l;return Number((o/(n+r-o)).toFixed(4))}return 0}const Y=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=[];for(const e of r){const{id:r}=e,a=n.get(r);if(a){const n=X(a,t);n>0&&o.push({id:r,data:{droppableContainer:e,value:n}})}}return o.sort(q)};function J(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:$}function G(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}const Z=G(1);const ee={ignoreTransform:!1};function te(e,t){void 0===t&&(t=ee);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:r}=c(e).getComputedStyle(e);t&&(n=function(e,t,n){const r=function(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}(t);if(!r)return e;const{scaleX:o,scaleY:a,x:i,y:l}=r,s=e.left-i-(1-o)*parseFloat(n),d=e.top-l-(1-a)*parseFloat(n.slice(n.indexOf(" ")+1)),c=o?e.width/o:e.width,u=a?e.height/a:e.height;return{width:c,height:u,top:d,right:s+c,bottom:d+u,left:s}}(n,t,r))}const{top:r,left:o,width:a,height:i,bottom:l,right:s}=n;return{top:r,left:o,width:a,height:i,bottom:l,right:s}}function ne(e){return te(e,{ignoreTransform:!0})}function re(e,t){const n=[];return e?function r(o){if(null!=t&&n.length>=t)return n;if(!o)return n;if(u(o)&&null!=o.scrollingElement&&!n.includes(o.scrollingElement))return n.push(o.scrollingElement),n;if(!f(o)||v(o))return n;if(n.includes(o))return n;const a=c(e).getComputedStyle(o);return o!==e&&function(e,t){void 0===t&&(t=c(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const r=t[e];return"string"==typeof r&&n.test(r)})}(o,a)&&n.push(o),function(e,t){return void 0===t&&(t=c(e).getComputedStyle(e)),"fixed"===t.position}(o,a)?n:r(o.parentNode)}(e):n}function oe(e){const[t]=re(e,1);return null!=t?t:null}function ae(e){return l&&e?s(e)?e:d(e)?u(e)||e===m(e).scrollingElement?window:f(e)?e:null:null:null}function ie(e){return s(e)?e.scrollX:e.scrollLeft}function le(e){return s(e)?e.scrollY:e.scrollTop}function se(e){return{x:ie(e),y:le(e)}}var de;function ce(e){return!(!l||!e)&&e===document.scrollingElement}function ue(e){const t={x:0,y:0},n=ce(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(de||(de={}));const fe={x:.2,y:.2};function ve(e,t,n,r,o){let{top:a,left:i,right:l,bottom:s}=n;void 0===r&&(r=10),void 0===o&&(o=fe);const{isTop:d,isBottom:c,isLeft:u,isRight:f}=ue(e),v={x:0,y:0},m={x:0,y:0},h=t.height*o.y,p=t.width*o.x;return!d&&a<=t.top+h?(v.y=de.Backward,m.y=r*Math.abs((t.top+h-a)/h)):!c&&s>=t.bottom-h&&(v.y=de.Forward,m.y=r*Math.abs((t.bottom-h-s)/h)),!f&&l>=t.right-p?(v.x=de.Forward,m.x=r*Math.abs((t.right-p-l)/p)):!u&&i<=t.left+p&&(v.x=de.Backward,m.x=r*Math.abs((t.left+p-i)/p)),{direction:v,speed:m}}function me(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:r,bottom:o}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:o,width:e.clientWidth,height:e.clientHeight}}function he(e){return e.reduce((e,t)=>S(e,se(t)),$)}const pe=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+ie(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+le(t),0)}]];class ge{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=re(t),r=he(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,o]of pe)for(const a of t)Object.defineProperty(this,a,{get:()=>{const t=o(n),i=r[e]-t;return this.rect[a]+i},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class be{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var r;null==(r=this.target)||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function we(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t&&r>t.y}var ye,xe;function _e(e){e.preventDefault()}function Ce(e){e.stopPropagation()}!function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"}(ye||(ye={})),function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"}(xe||(xe={}));const Se={start:[xe.Space,xe.Enter],cancel:[xe.Esc],end:[xe.Space,xe.Enter,xe.Tab]},Ee=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case xe.Right:return{...n,x:n.x+25};case xe.Left:return{...n,x:n.x-25};case xe.Down:return{...n,y:n.y+25};case xe.Up:return{...n,y:n.y-25}}};class De{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new be(m(t)),this.windowListeners=new be(c(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ye.Resize,this.handleCancel),this.windowListeners.add(ye.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ye.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&function(e,t){if(void 0===t&&(t=te),!e)return;const{top:n,left:r,bottom:o,right:a}=t(e);oe(e)&&(o<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}(n),t($)}handleKeyDown(e){if(D(e)){const{active:t,context:n,options:r}=this.props,{keyboardCodes:o=Se,coordinateGetter:a=Ee,scrollBehavior:i="smooth"}=r,{code:l}=e;if(o.end.includes(l))return void this.handleEnd(e);if(o.cancel.includes(l))return void this.handleCancel(e);const{collisionRect:s}=n.current,d=s?{x:s.left,y:s.top}:$;this.referenceCoordinates||(this.referenceCoordinates=d);const c=a(e,{active:t,context:n.current,currentCoordinates:d});if(c){const t=E(c,d),r={x:0,y:0},{scrollableAncestors:o}=n.current;for(const n of o){const o=e.code,{isTop:a,isRight:l,isLeft:s,isBottom:d,maxScroll:u,minScroll:f}=ue(n),v=me(n),m={x:Math.min(o===xe.Right?v.right-v.width/2:v.right,Math.max(o===xe.Right?v.left:v.left+v.width/2,c.x)),y:Math.min(o===xe.Down?v.bottom-v.height/2:v.bottom,Math.max(o===xe.Down?v.top:v.top+v.height/2,c.y))},h=o===xe.Right&&!l||o===xe.Left&&!s,p=o===xe.Down&&!d||o===xe.Up&&!a;if(h&&m.x!==c.x){const e=n.scrollLeft+t.x,a=o===xe.Right&&e<=u.x||o===xe.Left&&e>=f.x;if(a&&!t.y)return void n.scrollTo({left:e,behavior:i});r.x=a?n.scrollLeft-e:o===xe.Right?n.scrollLeft-u.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:i});break}if(p&&m.y!==c.y){const e=n.scrollTop+t.y,a=o===xe.Down&&e<=u.y||o===xe.Up&&e>=f.y;if(a&&!t.x)return void n.scrollTo({top:e,behavior:i});r.y=a?n.scrollTop-e:o===xe.Down?n.scrollTop-u.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:i});break}}this.handleMove(e,S(E(c,this.referenceCoordinates),r))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function Me(e){return Boolean(e&&"distance"in e)}function Re(e){return Boolean(e&&"delay"in e)}De.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=Se,onActivation:o}=t,{active:a}=n;const{code:i}=e.nativeEvent;if(r.start.includes(i)){const t=a.activatorNode.current;return!(t&&e.target!==t||(e.preventDefault(),null==o||o({event:e.nativeEvent}),0))}return!1}}];class ke{constructor(e,t,n){var r;void 0===n&&(n=function(e){const{EventTarget:t}=c(e);return e instanceof t?e:m(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:o}=e,{target:a}=o;this.props=e,this.events=t,this.document=m(a),this.documentListeners=new be(this.document),this.listeners=new be(n),this.windowListeners=new be(c(a)),this.initialCoordinates=null!=(r=M(o))?r:$,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(ye.Resize,this.handleCancel),this.windowListeners.add(ye.DragStart,_e),this.windowListeners.add(ye.VisibilityChange,this.handleCancel),this.windowListeners.add(ye.ContextMenu,_e),this.documentListeners.add(ye.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Re(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(Me(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(ye.Click,Ce,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ye.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:r,props:o}=this,{onMove:a,options:{activationConstraint:i}}=o;if(!r)return;const l=null!=(t=M(e))?t:$,s=E(r,l);if(!n&&i){if(Me(i)){if(null!=i.tolerance&&we(s,i.tolerance))return this.handleCancel();if(we(s,i.distance))return this.handleStart()}return Re(i)&&we(s,i.tolerance)?this.handleCancel():void this.handlePending(i,s)}e.cancelable&&e.preventDefault(),a(l)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===xe.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const Ne={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class je extends ke{constructor(e){const{event:t}=e,n=m(t.target);super(e,Ne,n)}}je.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!(!n.isPrimary||0!==n.button||(null==r||r({event:n}),0))}}];const Ie={move:{name:"mousemove"},end:{name:"mouseup"}};var Te;!function(e){e[e.RightClick=2]="RightClick"}(Te||(Te={})),class extends ke{constructor(e){super(e,Ie,m(e.event.target))}}.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==Te.RightClick&&(null==r||r({event:n}),!0)}}];const Ae={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var Le,Oe;(class extends ke{constructor(e){super(e,Ae)}static setup(){return window.addEventListener(Ae.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Ae.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:o}=n;return!(o.length>1||(null==r||r({event:n}),0))}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(Le||(Le={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(Oe||(Oe={}));const Fe={x:{[de.Backward]:!1,[de.Forward]:!1},y:{[de.Backward]:!1,[de.Forward]:!1}};var ze,Pe;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(ze||(ze={})),function(e){e.Optimized="optimized"}(Pe||(Pe={}));const Be=new Map;function $e(e,t){return b(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function Ue(e){let{callback:t,disabled:n}=e;const r=p(t),a=(0,o.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(r)},[n]);return(0,o.useEffect)(()=>()=>null==a?void 0:a.disconnect(),[a]),a}function He(e){return new ge(te(e),e)}function qe(e,t,n){void 0===t&&(t=He);const[r,a]=(0,o.useState)(null);function i(){a(r=>{if(!e)return null;var o;if(!1===e.isConnected)return null!=(o=null!=r?r:n)?o:null;const a=t(e);return JSON.stringify(r)===JSON.stringify(a)?r:a})}const l=function(e){let{callback:t,disabled:n}=e;const r=p(t),a=(0,o.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,o.useEffect)(()=>()=>null==a?void 0:a.disconnect(),[a]),a}({callback(t){if(e)for(const n of t){const{type:t,target:r}=n;if("childList"===t&&r instanceof HTMLElement&&r.contains(e)){i();break}}}}),s=Ue({callback:i});return h(()=>{i(),e?(null==s||s.observe(e),null==l||l.observe(document.body,{childList:!0,subtree:!0})):(null==s||s.disconnect(),null==l||l.disconnect())},[e]),r}const Ke=[];function Qe(e,t){void 0===t&&(t=[]);const n=(0,o.useRef)(null);return(0,o.useEffect)(()=>{n.current=null},t),(0,o.useEffect)(()=>{const t=e!==$;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?E(e,n.current):$}function We(e){return(0,o.useMemo)(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const Ve=[];const Xe=[{sensor:je,options:{}},{sensor:De,options:{}}],Ye={current:{}},Je={draggable:{measure:ne},droppable:{measure:ne,strategy:ze.WhileDragging,frequency:Pe.Optimized},dragOverlay:{measure:te}};class Ge extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const Ze={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ge,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:P},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Je,measureDroppableContainers:P,windowRect:null,measuringScheduled:!1},et={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:P,draggableNodes:new Map,over:null,measureDroppableContainers:P},tt=(0,o.createContext)(et),nt=(0,o.createContext)(Ze);function rt(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ge}}}function ot(e,t){switch(t.type){case z.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case z.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case z.DragEnd:case z.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case z.RegisterDroppable:{const{element:n}=t,{id:r}=n,o=new Ge(e.droppable.containers);return o.set(r,n),{...e,droppable:{...e.droppable,containers:o}}}case z.SetDroppableDisabled:{const{id:n,key:r,disabled:o}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;const i=new Ge(e.droppable.containers);return i.set(n,{...a,disabled:o}),{...e,droppable:{...e.droppable,containers:i}}}case z.UnregisterDroppable:{const{id:n,key:r}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const a=new Ge(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function at(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:a}=(0,o.useContext)(tt),i=y(r),l=y(null==n?void 0:n.id);return(0,o.useEffect)(()=>{if(!t&&!r&&i&&null!=l){if(!D(i))return;if(document.activeElement===i.target)return;const e=a.get(l);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=N(e);if(t){t.focus();break}}})}},[r,t,a,l,i]),null}const it=(0,o.createContext)({...$,scaleX:1,scaleY:1});var lt;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(lt||(lt={}));const st=(0,o.memo)(function(e){var t,n,r,s;let{id:d,accessibility:u,autoScroll:v=!0,children:m,sensors:p=Xe,collisionDetection:x=Y,measuring:C,modifiers:E,...D}=e;const R=(0,o.useReducer)(ot,void 0,rt),[k,N]=R,[j,I]=function(){const[e]=(0,o.useState)(()=>new Set),t=(0,o.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,o.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,r)})},[e]),t]}(),[T,L]=(0,o.useState)(lt.Uninitialized),O=T===lt.Initialized,{draggable:{active:P,nodes:B,translate:U},droppable:{containers:H}}=k,q=null!=P?B.get(P):null,K=(0,o.useRef)({initial:null,translated:null}),W=(0,o.useMemo)(()=>{var e;return null!=P?{id:P,data:null!=(e=null==q?void 0:q.data)?e:Ye,rect:K}:null},[P,q]),V=(0,o.useRef)(null),[X,G]=(0,o.useState)(null),[ee,ne]=(0,o.useState)(null),ie=g(D,Object.values(D)),le=_("DndDescribedBy",d),ue=(0,o.useMemo)(()=>H.getEnabled(),[H]),fe=(me=C,(0,o.useMemo)(()=>({draggable:{...Je.draggable,...null==me?void 0:me.draggable},droppable:{...Je.droppable,...null==me?void 0:me.droppable},dragOverlay:{...Je.dragOverlay,...null==me?void 0:me.dragOverlay}}),[null==me?void 0:me.draggable,null==me?void 0:me.droppable,null==me?void 0:me.dragOverlay]));var me;const{droppableRects:pe,measureDroppableContainers:be,measuringScheduled:we}=function(e,t){let{dragging:n,dependencies:r,config:a}=t;const[i,l]=(0,o.useState)(null),{frequency:s,measure:d,strategy:c}=a,u=(0,o.useRef)(e),f=function(){switch(c){case ze.Always:return!1;case ze.BeforeDragging:return n;default:return!n}}(),v=g(f),m=(0,o.useCallback)(function(e){void 0===e&&(e=[]),v.current||l(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[v]),h=(0,o.useRef)(null),p=b(t=>{if(f&&!n)return Be;if(!t||t===Be||u.current!==e||null!=i){const t=new Map;for(let n of e){if(!n)continue;if(i&&i.length>0&&!i.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,r=e?new ge(d(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,i,n,f,d]);return(0,o.useEffect)(()=>{u.current=e},[e]),(0,o.useEffect)(()=>{f||m()},[n,f]),(0,o.useEffect)(()=>{i&&i.length>0&&l(null)},[JSON.stringify(i)]),(0,o.useEffect)(()=>{f||"number"!=typeof s||null!==h.current||(h.current=setTimeout(()=>{m(),h.current=null},s))},[s,f,m,...r]),{droppableRects:p,measureDroppableContainers:m,measuringScheduled:null!=i}}(ue,{dragging:O,dependencies:[U.x,U.y],config:fe.droppable}),ye=function(e,t){const n=null!=t?e.get(t):void 0,r=n?n.node.current:null;return b(e=>{var n;return null==t?null:null!=(n=null!=r?r:e)?n:null},[r,t])}(B,P),xe=(0,o.useMemo)(()=>ee?M(ee):null,[ee]),_e=function(){const e=!1===(null==X?void 0:X.autoScrollEnabled),t="object"==typeof v?!1===v.enabled:!1===v,n=O&&!e&&!t;return"object"==typeof v?{...v,enabled:n}:{enabled:n}}(),Ce=function(e,t){return $e(e,t)}(ye,fe.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:r,config:a=!0}=e;const i=(0,o.useRef)(!1),{x:l,y:s}="boolean"==typeof a?{x:a,y:a}:a;h(()=>{if(!l&&!s||!t)return void(i.current=!1);if(i.current||!r)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const o=J(n(e),r);if(l||(o.x=0),s||(o.y=0),i.current=!0,Math.abs(o.x)>0||Math.abs(o.y)>0){const t=oe(e);t&&t.scrollBy({top:o.y,left:o.x})}},[t,l,s,r,n])}({activeNode:null!=P?B.get(P):null,config:_e.layoutShiftCompensation,initialRect:Ce,measure:fe.draggable.measure});const Se=qe(ye,fe.draggable.measure,Ce),Ee=qe(ye?ye.parentElement:null),De=(0,o.useRef)({activatorEvent:null,active:null,activeNode:ye,collisionRect:null,collisions:null,droppableRects:pe,draggableNodes:B,draggingNode:null,draggingNodeRect:null,droppableContainers:H,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Me=H.getNodeFor(null==(t=De.current.over)?void 0:t.id),Re=function(e){let{measure:t}=e;const[n,r]=(0,o.useState)(null),a=Ue({callback:(0,o.useCallback)(e=>{for(const{target:n}of e)if(f(n)){r(e=>{const r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),i=(0,o.useCallback)(e=>{const n=function(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return f(t)?t:e}(e);null==a||a.disconnect(),n&&(null==a||a.observe(n)),r(n?t(n):null)},[t,a]),[l,s]=w(i);return(0,o.useMemo)(()=>({nodeRef:l,rect:n,setRef:s}),[n,l,s])}({measure:fe.dragOverlay.measure}),ke=null!=(n=Re.nodeRef.current)?n:ye,Ne=O?null!=(r=Re.rect)?r:Se:null,je=Boolean(Re.nodeRef.current&&Re.rect),Ie=J(Te=je?null:Se,$e(Te));var Te;const Ae=We(ke?c(ke):null),Pe=function(e){const t=(0,o.useRef)(e),n=b(n=>e?n&&n!==Ke&&e&&t.current&&e.parentNode===t.current.parentNode?n:re(e):Ke,[e]);return(0,o.useEffect)(()=>{t.current=e},[e]),n}(O?null!=Me?Me:ye:null),He=function(e,t){void 0===t&&(t=te);const[n]=e,r=We(n?c(n):null),[a,i]=(0,o.useState)(Ve);function l(){i(()=>e.length?e.map(e=>ce(e)?r:new ge(t(e),e)):Ve)}const s=Ue({callback:l});return h(()=>{null==s||s.disconnect(),l(),e.forEach(e=>null==s?void 0:s.observe(e))},[e]),a}(Pe),Ge=function(e,t){let{transform:n,...r}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}(E,{transform:{x:U.x-Ie.x,y:U.y-Ie.y,scaleX:1,scaleY:1},activatorEvent:ee,active:W,activeNodeRect:Se,containerNodeRect:Ee,draggingNodeRect:Ne,over:De.current.over,overlayNodeRect:Re.rect,scrollableAncestors:Pe,scrollableAncestorRects:He,windowRect:Ae}),Ze=xe?S(xe,U):null,et=function(e){const[t,n]=(0,o.useState)(null),r=(0,o.useRef)(e),a=(0,o.useCallback)(e=>{const t=ae(e.target);t&&n(e=>e?(e.set(t,se(t)),new Map(e)):null)},[]);return(0,o.useEffect)(()=>{const t=r.current;if(e!==t){o(t);const i=e.map(e=>{const t=ae(e);return t?(t.addEventListener("scroll",a,{passive:!0}),[t,se(t)]):null}).filter(e=>null!=e);n(i.length?new Map(i):null),r.current=e}return()=>{o(e),o(t)};function o(e){e.forEach(e=>{const t=ae(e);null==t||t.removeEventListener("scroll",a)})}},[a,e]),(0,o.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>S(e,t),$):he(e):$,[e,t])}(Pe),st=Qe(et),dt=Qe(et,[Se]),ct=S(Ge,st),ut=Ne?Z(Ne,Ge):null,ft=W&&ut?x({active:W,collisionRect:ut,droppableRects:pe,droppableContainers:ue,pointerCoordinates:Ze}):null,vt=Q(ft,"id"),[mt,ht]=(0,o.useState)(null),pt=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(je?Ge:S(Ge,dt),null!=(s=null==mt?void 0:mt.rect)?s:null,Se),gt=(0,o.useRef)(null),bt=(0,o.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(null==V.current)return;const o=B.get(V.current);if(!o)return;const a=e.nativeEvent,l=new n({active:V.current,activeNode:o,event:a,options:r,context:De,onAbort(e){if(!B.get(e))return;const{onDragAbort:t}=ie.current,n={id:e};null==t||t(n),j({type:"onDragAbort",event:n})},onPending(e,t,n,r){if(!B.get(e))return;const{onDragPending:o}=ie.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};null==o||o(a),j({type:"onDragPending",event:a})},onStart(e){const t=V.current;if(null==t)return;const n=B.get(t);if(!n)return;const{onDragStart:r}=ie.current,o={activatorEvent:a,active:{id:t,data:n.data,rect:K}};(0,i.unstable_batchedUpdates)(()=>{null==r||r(o),L(lt.Initializing),N({type:z.DragStart,initialCoordinates:e,active:t}),j({type:"onDragStart",event:o}),G(gt.current),ne(a)})},onMove(e){N({type:z.DragMove,coordinates:e})},onEnd:s(z.DragEnd),onCancel:s(z.DragCancel)});function s(e){return async function(){const{active:t,collisions:n,over:r,scrollAdjustedTranslate:o}=De.current;let l=null;if(t&&o){const{cancelDrop:i}=ie.current;l={activatorEvent:a,active:t,collisions:n,delta:o,over:r},e===z.DragEnd&&"function"==typeof i&&await Promise.resolve(i(l))&&(e=z.DragCancel)}V.current=null,(0,i.unstable_batchedUpdates)(()=>{N({type:e}),L(lt.Uninitialized),ht(null),G(null),ne(null),gt.current=null;const t=e===z.DragEnd?"onDragEnd":"onDragCancel";if(l){const e=ie.current[t];null==e||e(l),j({type:t,event:l})}})}}gt.current=l},[B]),wt=(0,o.useCallback)((e,t)=>(n,r)=>{const o=n.nativeEvent,a=B.get(r);if(null!==V.current||!a||o.dndKit||o.defaultPrevented)return;const i={active:a};!0===e(n,t.options,i)&&(o.dndKit={capturedBy:t.sensor},V.current=r,bt(n,t))},[B,bt]),yt=function(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{const{sensor:r}=n;return[...e,...r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(p,wt);!function(e){(0,o.useEffect)(()=>{if(!l)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(p),h(()=>{Se&&T===lt.Initializing&&L(lt.Initialized)},[Se,T]),(0,o.useEffect)(()=>{const{onDragMove:e}=ie.current,{active:t,activatorEvent:n,collisions:r,over:o}=De.current;if(!t||!n)return;const a={active:t,activatorEvent:n,collisions:r,delta:{x:ct.x,y:ct.y},over:o};(0,i.unstable_batchedUpdates)(()=>{null==e||e(a),j({type:"onDragMove",event:a})})},[ct.x,ct.y]),(0,o.useEffect)(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:o}=De.current;if(!e||null==V.current||!t||!o)return;const{onDragOver:a}=ie.current,l=r.get(vt),s=l&&l.rect.current?{id:l.id,rect:l.rect.current,data:l.data,disabled:l.disabled}:null,d={active:e,activatorEvent:t,collisions:n,delta:{x:o.x,y:o.y},over:s};(0,i.unstable_batchedUpdates)(()=>{ht(s),null==a||a(d),j({type:"onDragOver",event:d})})},[vt]),h(()=>{De.current={activatorEvent:ee,active:W,activeNode:ye,collisionRect:ut,collisions:ft,droppableRects:pe,draggableNodes:B,draggingNode:ke,draggingNodeRect:Ne,droppableContainers:H,over:mt,scrollableAncestors:Pe,scrollAdjustedTranslate:ct},K.current={initial:Ne,translated:ut}},[W,ye,ft,ut,B,ke,Ne,pe,H,mt,Pe,ct]),function(e){let{acceleration:t,activator:n=Le.Pointer,canScroll:r,draggingRect:a,enabled:i,interval:l=5,order:s=Oe.TreeOrder,pointerCoordinates:d,scrollableAncestors:c,scrollableAncestorRects:u,delta:f,threshold:v}=e;const m=function(e){let{delta:t,disabled:n}=e;const r=y(t);return b(e=>{if(n||!r||!e)return Fe;const o=Math.sign(t.x-r.x),a=Math.sign(t.y-r.y);return{x:{[de.Backward]:e.x[de.Backward]||-1===o,[de.Forward]:e.x[de.Forward]||1===o},y:{[de.Backward]:e.y[de.Backward]||-1===a,[de.Forward]:e.y[de.Forward]||1===a}}},[n,t,r])}({delta:f,disabled:!i}),[h,p]=function(){const e=(0,o.useRef)(null);return[(0,o.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,o.useCallback)(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),g=(0,o.useRef)({x:0,y:0}),w=(0,o.useRef)({x:0,y:0}),x=(0,o.useMemo)(()=>{switch(n){case Le.Pointer:return d?{top:d.y,bottom:d.y,left:d.x,right:d.x}:null;case Le.DraggableRect:return a}},[n,a,d]),_=(0,o.useRef)(null),C=(0,o.useCallback)(()=>{const e=_.current;if(!e)return;const t=g.current.x*w.current.x,n=g.current.y*w.current.y;e.scrollBy(t,n)},[]),S=(0,o.useMemo)(()=>s===Oe.TreeOrder?[...c].reverse():c,[s,c]);(0,o.useEffect)(()=>{if(i&&c.length&&x){for(const e of S){if(!1===(null==r?void 0:r(e)))continue;const n=c.indexOf(e),o=u[n];if(!o)continue;const{direction:a,speed:i}=ve(e,o,x,t,v);for(const e of["x","y"])m[e][a[e]]||(i[e]=0,a[e]=0);if(i.x>0||i.y>0)return p(),_.current=e,h(C,l),g.current=i,void(w.current=a)}g.current={x:0,y:0},w.current={x:0,y:0},p()}else p()},[t,C,r,p,i,l,JSON.stringify(x),JSON.stringify(m),h,c,S,u,JSON.stringify(v)])}({..._e,delta:U,draggingRect:ut,pointerCoordinates:Ze,scrollableAncestors:Pe,scrollableAncestorRects:He});const xt=(0,o.useMemo)(()=>({active:W,activeNode:ye,activeNodeRect:Se,activatorEvent:ee,collisions:ft,containerNodeRect:Ee,dragOverlay:Re,draggableNodes:B,droppableContainers:H,droppableRects:pe,over:mt,measureDroppableContainers:be,scrollableAncestors:Pe,scrollableAncestorRects:He,measuringConfiguration:fe,measuringScheduled:we,windowRect:Ae}),[W,ye,Se,ee,ft,Ee,Re,B,H,pe,mt,be,Pe,He,fe,we,Ae]),_t=(0,o.useMemo)(()=>({activatorEvent:ee,activators:yt,active:W,activeNodeRect:Se,ariaDescribedById:{draggable:le},dispatch:N,draggableNodes:B,over:mt,measureDroppableContainers:be}),[ee,yt,W,Se,N,le,B,mt,be]);return a().createElement(A.Provider,{value:I},a().createElement(tt.Provider,{value:_t},a().createElement(nt.Provider,{value:xt},a().createElement(it.Provider,{value:pt},m)),a().createElement(at,{disabled:!1===(null==u?void 0:u.restoreFocus)})),a().createElement(F,{...u,hiddenTextDescribedById:le}))}),dt=(0,o.createContext)(null),ct="button";const ut={timeout:25};function ft(e,t,n){const r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function vt(e,t){return e.reduce((e,n,r)=>{const o=t.get(n);return o&&(e[r]=o),e},Array(e.length))}function mt(e){return null!==e&&e>=0}const ht=e=>{let{rects:t,activeIndex:n,overIndex:r,index:o}=e;const a=ft(t,r,n),i=t[o],l=a[o];return l&&i?{x:l.left-i.left,y:l.top-i.top,scaleX:l.width/i.width,scaleY:l.height/i.height}:null},pt={scaleX:1,scaleY:1},gt=e=>{var t;let{activeIndex:n,activeNodeRect:r,index:o,rects:a,overIndex:i}=e;const l=null!=(t=a[n])?t:r;if(!l)return null;if(o===n){const e=a[i];return e?{x:0,y:n<i?e.top+e.height-(l.top+l.height):e.top-l.top,...pt}:null}const s=function(e,t,n){const r=e[t],o=e[t-1],a=e[t+1];return r?n<t?o?r.top-(o.top+o.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):o?r.top-(o.top+o.height):0:0}(a,o,n);return o>n&&o<=i?{x:0,y:-l.height-s,...pt}:o<n&&o>=i?{x:0,y:l.height+s,...pt}:{x:0,y:0,...pt}},bt="Sortable",wt=a().createContext({activeIndex:-1,containerId:bt,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:ht,disabled:{draggable:!1,droppable:!1}});function yt(e){let{children:t,id:n,items:r,strategy:i=ht,disabled:l=!1}=e;const{active:s,dragOverlay:d,droppableRects:c,over:u,measureDroppableContainers:f}=(0,o.useContext)(nt),v=_(bt,n),m=Boolean(null!==d.rect),p=(0,o.useMemo)(()=>r.map(e=>"object"==typeof e&&"id"in e?e.id:e),[r]),g=null!=s,b=s?p.indexOf(s.id):-1,w=u?p.indexOf(u.id):-1,y=(0,o.useRef)(p),x=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(p,y.current),C=-1!==w&&-1===b||x,S=function(e){return"boolean"==typeof e?{draggable:e,droppable:e}:e}(l);h(()=>{x&&g&&f(p)},[x,p,g,f]),(0,o.useEffect)(()=>{y.current=p},[p]);const E=(0,o.useMemo)(()=>({activeIndex:b,containerId:v,disabled:S,disableTransforms:C,items:p,overIndex:w,useDragOverlay:m,sortedRects:vt(p,c),strategy:i}),[b,v,S.draggable,S.droppable,C,p,w,c,m,i]);return a().createElement(wt.Provider,{value:E},t)}const xt=e=>{let{id:t,items:n,activeIndex:r,overIndex:o}=e;return ft(n,r,o).indexOf(t)},_t=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:o,items:a,newIndex:i,previousItems:l,previousContainerId:s,transition:d}=e;return!(!d||!r||l!==a&&o===i||!n&&(i===o||t!==s))},Ct={duration:200,easing:"ease"},St="transform",Et=R.Transition.toString({property:St,duration:0,easing:"linear"}),Dt={roleDescription:"sortable"};function Mt(e){let{animateLayoutChanges:t=_t,attributes:n,disabled:r,data:a,getNewIndex:i=xt,id:l,strategy:s,resizeObserverConfig:d,transition:c=Ct}=e;const{items:u,containerId:f,activeIndex:v,disabled:m,disableTransforms:p,sortedRects:b,overIndex:y,useDragOverlay:x,strategy:C}=(0,o.useContext)(wt),S=function(e,t){var n,r;return"boolean"==typeof e?{draggable:e,droppable:!1}:{draggable:null!=(n=null==e?void 0:e.draggable)?n:t.draggable,droppable:null!=(r=null==e?void 0:e.droppable)?r:t.droppable}}(r,m),E=u.indexOf(l),M=(0,o.useMemo)(()=>({sortable:{containerId:f,index:E,items:u},...a}),[f,a,E,u]),k=(0,o.useMemo)(()=>u.slice(u.indexOf(l)),[u,l]),{rect:N,node:j,isOver:I,setNodeRef:T}=function(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:a}=e;const i=_("Droppable"),{active:l,dispatch:s,over:d,measureDroppableContainers:c}=(0,o.useContext)(tt),u=(0,o.useRef)({disabled:n}),f=(0,o.useRef)(!1),v=(0,o.useRef)(null),m=(0,o.useRef)(null),{disabled:h,updateMeasurementsFor:p,timeout:b}={...ut,...a},y=g(null!=p?p:r),x=Ue({callback:(0,o.useCallback)(()=>{f.current?(null!=m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),m.current=null},b)):f.current=!0},[b]),disabled:h||!l}),C=(0,o.useCallback)((e,t)=>{x&&(t&&(x.unobserve(t),f.current=!1),e&&x.observe(e))},[x]),[S,E]=w(C),D=g(t);return(0,o.useEffect)(()=>{x&&S.current&&(x.disconnect(),f.current=!1,x.observe(S.current))},[S,x]),(0,o.useEffect)(()=>(s({type:z.RegisterDroppable,element:{id:r,key:i,disabled:n,node:S,rect:v,data:D}}),()=>s({type:z.UnregisterDroppable,key:i,id:r})),[r]),(0,o.useEffect)(()=>{n!==u.current.disabled&&(s({type:z.SetDroppableDisabled,id:r,key:i,disabled:n}),u.current.disabled=n)},[r,i,n,s]),{active:l,rect:v,isOver:(null==d?void 0:d.id)===r,node:S,over:d,setNodeRef:E}}({id:l,data:M,disabled:S.droppable,resizeObserverConfig:{updateMeasurementsFor:k,...d}}),{active:A,activatorEvent:L,activeNodeRect:O,attributes:F,setNodeRef:P,listeners:B,isDragging:$,over:U,setActivatorNodeRef:H,transform:q}=function(e){let{id:t,data:n,disabled:r=!1,attributes:a}=e;const i=_("Draggable"),{activators:l,activatorEvent:s,active:d,activeNodeRect:c,ariaDescribedById:u,draggableNodes:f,over:v}=(0,o.useContext)(tt),{role:m=ct,roleDescription:p="draggable",tabIndex:b=0}=null!=a?a:{},y=(null==d?void 0:d.id)===t,x=(0,o.useContext)(y?it:dt),[C,S]=w(),[E,D]=w(),M=function(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:o}=n;return e[r]=e=>{o(e,t)},e},{}),[e,t])}(l,t),R=g(n);return h(()=>(f.set(t,{id:t,key:i,node:C,activatorNode:E,data:R}),()=>{const e=f.get(t);e&&e.key===i&&f.delete(t)}),[f,t]),{active:d,activatorEvent:s,activeNodeRect:c,attributes:(0,o.useMemo)(()=>({role:m,tabIndex:b,"aria-disabled":r,"aria-pressed":!(!y||m!==ct)||void 0,"aria-roledescription":p,"aria-describedby":u.draggable}),[r,m,b,y,p,u.draggable]),isDragging:y,listeners:r?void 0:M,node:C,over:v,setNodeRef:S,setActivatorNodeRef:D,transform:x}}({id:l,data:M,attributes:{...Dt,...n},disabled:S.draggable}),K=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}(T,P),Q=Boolean(A),W=Q&&!p&&mt(v)&&mt(y),V=!x&&$,X=V&&W?q:null,Y=W?null!=X?X:(null!=s?s:C)({rects:b,activeNodeRect:O,activeIndex:v,overIndex:y,index:E}):null,J=mt(v)&&mt(y)?i({id:l,items:u,activeIndex:v,overIndex:y}):E,G=null==A?void 0:A.id,Z=(0,o.useRef)({activeId:G,items:u,newIndex:J,containerId:f}),ee=u!==Z.current.items,ne=t({active:A,containerId:f,isDragging:$,isSorting:Q,id:l,index:E,items:u,newIndex:Z.current.newIndex,previousItems:Z.current.items,previousContainerId:Z.current.containerId,transition:c,wasDragging:null!=Z.current.activeId}),re=function(e){let{disabled:t,index:n,node:r,rect:a}=e;const[i,l]=(0,o.useState)(null),s=(0,o.useRef)(n);return h(()=>{if(!t&&n!==s.current&&r.current){const e=a.current;if(e){const t=te(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&l(n)}}n!==s.current&&(s.current=n)},[t,n,r,a]),(0,o.useEffect)(()=>{i&&l(null)},[i]),i}({disabled:!ne,index:E,node:j,rect:N});return(0,o.useEffect)(()=>{Q&&Z.current.newIndex!==J&&(Z.current.newIndex=J),f!==Z.current.containerId&&(Z.current.containerId=f),u!==Z.current.items&&(Z.current.items=u)},[Q,J,f,u]),(0,o.useEffect)(()=>{if(G===Z.current.activeId)return;if(G&&!Z.current.activeId)return void(Z.current.activeId=G);const e=setTimeout(()=>{Z.current.activeId=G},50);return()=>clearTimeout(e)},[G]),{active:A,activeIndex:v,attributes:F,data:M,rect:N,index:E,newIndex:J,items:u,isOver:I,isSorting:Q,isDragging:$,listeners:B,node:j,overIndex:y,over:U,setNodeRef:K,setActivatorNodeRef:H,setDroppableNodeRef:T,setDraggableNodeRef:P,transform:null!=re?re:Y,transition:re||ee&&Z.current.newIndex===E?Et:V&&!D(L)||!c?void 0:Q||ne?R.Transition.toString({...c,property:St}):void 0}}function Rt(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&"object"==typeof t.sortable&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const kt=[xe.Down,xe.Right,xe.Up,xe.Left],Nt=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:o,droppableContainers:a,over:i,scrollableAncestors:l}}=t;if(kt.includes(e.code)){if(e.preventDefault(),!n||!r)return;const t=[];a.getEnabled().forEach(n=>{if(!n||null!=n&&n.disabled)return;const a=o.get(n.id);if(a)switch(e.code){case xe.Down:r.top<a.top&&t.push(n);break;case xe.Up:r.top>a.top&&t.push(n);break;case xe.Left:r.left>a.left&&t.push(n);break;case xe.Right:r.left<a.left&&t.push(n)}});const c=(e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=K(t),a=[];for(const e of r){const{id:t}=e,r=n.get(t);if(r){const n=K(r),i=o.reduce((e,t,r)=>e+U(n[r],t),0),l=Number((i/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:l}})}}return a.sort(H)})({active:n,collisionRect:r,droppableRects:o,droppableContainers:t,pointerCoordinates:null});let u=Q(c,"id");if(u===(null==i?void 0:i.id)&&c.length>1&&(u=c[1].id),null!=u){const e=a.get(n.id),t=a.get(u),i=t?o.get(t.id):null,c=null==t?void 0:t.node.current;if(c&&i&&e&&t){const n=re(c).some((e,t)=>l[t]!==e),o=jt(e,t),a=(d=t,!(!Rt(s=e)||!Rt(d))&&!!jt(s,d)&&s.data.current.sortable.index<d.data.current.sortable.index),u=n||!o?{x:0,y:0}:{x:a?r.width-i.width:0,y:a?r.height-i.height:0},f={x:i.left,y:i.top};return u.x&&u.y?f:E(f,u)}}}var s,d};function jt(e,t){return!(!Rt(e)||!Rt(t))&&e.data.current.sortable.containerId===t.data.current.sortable.containerId}const It=window.wp.apiFetch;var Tt=e.n(It);const At="vmfo_folders_cache";function Lt(){try{const e=localStorage.getItem(At);if(e)return JSON.parse(e)}catch(e){}return window.vmfData?.folders?window.vmfData.folders:window.vmfEditor?.folders?window.vmfEditor.folders:null}function Ot(e){try{localStorage.setItem(At,JSON.stringify(e))}catch(e){}}function Ft(e){const t={},n=[];return e.forEach(e=>{t[e.id]={...e,children:[]}}),e.forEach(e=>{e.parent&&t[e.parent]?t[e.parent].children.push(t[e.id]):n.push(t[e.id])}),n}const zt=window.ReactJSXRuntime;function Pt({expanded:e}){return(0,zt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:e?(0,zt.jsx)("polyline",{points:"6 9 12 15 18 9"}):(0,zt.jsx)("polyline",{points:"9 6 15 12 9 18"})})}function Bt({folder:e,selectedId:n,onSelect:o,level:a=0,parentId:i=null,renderWrapper:l,enableKeyboardNav:s=!1,enableAutoExpand:d=!1,enableAria:c=!1,isMoveModeActive:u=!1,forceExpand:f=!1}){const v=e=>!(!e.children||0===e.children.length)&&e.children.some(e=>e.id===n||v(e)),m=d&&v(e),[h,p]=(0,t.useState)(m),g=f||h||m,b=e.children&&e.children.length>0,w=n===e.id;(0,t.useEffect)(()=>{m&&!h&&p(!0)},[m,h]);const y=(0,zt.jsxs)("button",{type:"button",className:"vmf-folder-button "+(w?"is-selected":""),style:{paddingLeft:16*a+8+"px"},onClick:()=>o(e.id),onKeyDown:s?t=>{if(s)if("ArrowRight"===t.key&&b&&!g)t.preventDefault(),p(!0);else if("ArrowLeft"===t.key)t.preventDefault(),b&&g?p(!1):null!==i&&o(i);else if("Enter"===t.key||" "===t.key){if(u)return;t.preventDefault(),o(e.id)}}:void 0,"aria-current":w?"true":void 0,title:e.name,children:[b?(0,zt.jsx)("span",{className:"vmf-folder-toggle",onClick:t=>{t.stopPropagation(),g&&v(e)&&o(e.id),p(!g)},onKeyDown:s?t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),g&&v(e)&&o(e.id),p(!g))}:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,"aria-label":g?(0,r.__)("Collapse","virtual-media-folders"):(0,r.__)("Expand","virtual-media-folders"),children:(0,zt.jsx)(Pt,{expanded:g})}):(0,zt.jsx)("span",{className:"vmf-folder-toggle vmf-folder-toggle--placeholder","aria-hidden":"true"}),(0,zt.jsx)("span",{className:"vmf-folder-name",children:e.name}),"number"==typeof e.count&&!(b&&0===e.count)&&(0,zt.jsxs)("span",{className:"vmf-folder-count","aria-label":c?`${e.count} ${(0,r.__)("items","virtual-media-folders")}`:void 0,children:["(",e.count,")"]})]}),x=l?l({folderId:e.id,children:y}):y,_=c?{role:"treeitem","aria-expanded":b?g:void 0,"aria-selected":w}:{};return(0,zt.jsxs)("li",{className:"vmf-folder-item",..._,children:[x,b&&g&&(0,zt.jsx)("ul",{className:"vmf-folder-children",role:c?"group":void 0,children:e.children.map(t=>(0,zt.jsx)(Bt,{folder:t,selectedId:n,onSelect:o,level:a+1,parentId:e.id,renderWrapper:l,enableKeyboardNav:s,enableAutoExpand:d,enableAria:c,isMoveModeActive:u,forceExpand:f},t.id))})]})}function $t({folders:e,selectedId:t,onSelect:n,uncategorizedCount:o,showAllMedia:a=!0,showUncategorized:i=!0,loading:l,renderWrapper:s,renderUncategorizedWrapper:d,renderHeader:c,enableKeyboardNav:u=!1,enableAutoExpand:f=!1,enableAria:v=!1,isMoveModeActive:m=!1,forceExpand:h=!1,className:p="",loadingText:g}){if(l){const e=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,zt.jsx)("div",{className:`${e} ${e}--loading ${p}`,"aria-label":v?(0,r.__)("Media folders","virtual-media-folders"):void 0,children:(0,zt.jsx)("p",{"aria-live":v?"polite":void 0,children:g||(0,r.__)("Loading…","virtual-media-folders")})})}const b=(0,zt.jsx)("button",{type:"button",className:"vmf-folder-button "+(null===t?"is-selected":""),onClick:()=>n(null),"aria-current":null===t?"true":void 0,children:(0,zt.jsx)("span",{className:"vmf-folder-name",children:(0,r.__)("All Media","virtual-media-folders")})}),w=(0,zt.jsxs)("button",{type:"button",className:"vmf-folder-button "+("uncategorized"===t?"is-selected":""),onClick:()=>n("uncategorized"),"aria-current":"uncategorized"===t?"true":void 0,children:[(0,zt.jsx)("span",{className:"vmf-folder-name",children:(0,r.__)("Uncategorized","virtual-media-folders")}),(0,zt.jsxs)("span",{className:"vmf-folder-count","aria-label":v?`${o} ${(0,r.__)("items","virtual-media-folders")}`:void 0,children:["(",o,")"]})]}),y=d?d({children:w}):w,x=v?"nav":"div",_=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,zt.jsxs)(x,{className:`${_} ${p}`,"aria-label":v?(0,r.__)("Media folders","virtual-media-folders"):void 0,children:[c&&c(),(0,zt.jsxs)("ul",{className:"vmf-folder-list",role:v?"tree":void 0,"aria-label":v?(0,r.__)("Folder tree","virtual-media-folders"):void 0,children:[a&&(0,zt.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?null===t:void 0,children:b}),i&&(0,zt.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?"uncategorized"===t:void 0,children:y}),e.map(e=>(0,zt.jsx)(Bt,{folder:e,selectedId:t,onSelect:n,renderWrapper:s,enableKeyboardNav:u,enableAutoExpand:f,enableAria:v,isMoveModeActive:m,forceExpand:h},e.id))]})]})}const Ut=function({announcement:e}){return(0,zt.jsxs)(zt.Fragment,{children:[(0,zt.jsx)("div",{"aria-live":"polite","aria-atomic":"true",className:"vmf-sr-only",role:"status",children:e}),(0,zt.jsx)("div",{id:"vmf-drag-instructions",className:"vmf-sr-only",children:(0,r.__)("Press Space or Enter to start dragging. Use arrow keys to move. Press Space or Enter again to drop, or Escape to cancel.","virtual-media-folders")})]})};function Ht({folderId:e,children:n,className:o="",onKeyboardDrop:a,isMoveModeActive:i=!1}){const[l,s]=(0,t.useState)(!1),d=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s(!0)},[]),c=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s(!1)},[]),u=(0,t.useCallback)(t=>{t.preventDefault(),t.stopPropagation(),s(!1);try{const n=t.dataTransfer.getData("text/plain");if(!n)return;const r=JSON.parse(n);if(r.mediaId&&window.vmfMoveToFolder){window.vmfMoveToFolder(r.mediaId,e);const{jumpToFolderAfterMove:t=!1}=window.vmfData||{};t&&window.vmfSelectFolder&&setTimeout(()=>{window.vmfSelectFolder(e)},200)}}catch(e){}},[e]),f=(0,t.useCallback)(t=>{if(i&&a&&"Enter"===t.key){const n=t.target;if("INPUT"===n.tagName)return;if("BUTTON"===n.tagName&&!n.classList.contains("vmf-folder-button"))return;t.preventDefault(),t.stopPropagation(),a(e)}},[e,i,a]);return(0,zt.jsxs)("div",{className:`vmf-droppable-folder ${o} ${l?"is-over":""} ${i?"vmf-drop-target":""}`,onDragOver:d,onDragEnter:d,onDragLeave:c,onDrop:u,onKeyDown:f,"aria-dropeffect":i?"move":void 0,children:[n,l&&(0,zt.jsx)("span",{className:"screen-reader-text",children:(0,r.__)("Drop here to move media to this folder","virtual-media-folders")})]})}function qt({id:e,children:t,disabled:n=!1}){const{attributes:o,listeners:a,setNodeRef:i,transform:l,transition:s,isDragging:d}=Mt({id:e,disabled:n,data:{type:"folder",folderId:e}}),c={transform:R.Transform.toString(l),transition:s,opacity:d?.5:1,zIndex:d?100:void 0};return n?t:(0,zt.jsx)("div",{ref:i,style:c,className:"vmf-sortable-folder "+(d?"is-dragging":""),...o,children:(0,zt.jsxs)("div",{className:"vmf-sortable-folder__row",children:[(0,zt.jsx)("span",{className:"vmf-sortable-folder__grip",...a,role:"button",tabIndex:0,"aria-label":(0,r.__)("Drag to reorder folder","virtual-media-folders"),"aria-describedby":"vmf-drag-instructions","aria-roledescription":(0,r.__)("sortable","virtual-media-folders"),children:"⋮⋮"}),(0,zt.jsx)("div",{className:"vmf-sortable-folder__content",children:t})]})})}(0,t.createContext)(null);const Kt=window.wp.primitives;var Qt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"})}),Wt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z"})}),Vt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z"})});function Xt({folders:e=[],selectedId:o,onRefresh:a,onDelete:i,renderExtra:l}){const[s,d]=(0,t.useState)(!1),[c,u]=(0,t.useState)(!1),[f,v]=(0,t.useState)(!1),[m,h]=(0,t.useState)(""),[p,g]=(0,t.useState)(0),[b,w]=(0,t.useState)(""),[y,x]=(0,t.useState)(0),[_,C]=(0,t.useState)(!1),[S,E]=(0,t.useState)(""),D=e.find(e=>e.id===o);function M(e,t=0,n=0,r=null){let o=[];const a=e.filter(e=>e.parent===t);for(const t of a){if(null!==r&&t.id===r)continue;const a=n>0?"— ".repeat(n):"";o.push({label:a+t.name,value:String(t.id)}),o=o.concat(M(e,t.id,n+1,r))}return o}function R(e,t="success"){const n=document.createElement("div");n.className=`notice notice-${t} vmf-notice is-dismissible`;const r=document.createElement("p");r.textContent=String(null!=e?e:""),n.appendChild(r),n.style.cssText="position: fixed; top: 40px; right: 20px; z-index: 100000; max-width: 300px;",document.body.appendChild(n),setTimeout(()=>n.remove(),3e3)}const k=o&&"number"==typeof o;return(0,zt.jsxs)("div",{className:"vmf-folder-manager",onClick:e=>e.stopPropagation(),children:[(0,zt.jsxs)("div",{className:"vmf-folder-manager-buttons",children:[(0,zt.jsx)(n.Button,{icon:Qt,"aria-label":(0,r.__)("Create Folder","virtual-media-folders"),onClick:t=>{t.stopPropagation(),E("");const n=e.some(e=>e.id===o);g(n?o:0),d(!0)},className:"vmf-folder-manager-button",size:"small",showTooltip:!1}),(0,zt.jsx)(n.Button,{icon:Wt,"aria-label":(0,r.__)("Rename Folder","virtual-media-folders"),onClick:e=>{e.stopPropagation(),D&&(w(D.name),x(D.parent||0),E(""),u(!0))},disabled:!k,className:"vmf-folder-manager-button",size:"small",showTooltip:!1}),(0,zt.jsx)(n.Button,{icon:Vt,"aria-label":(0,r.__)("Delete Folder","virtual-media-folders"),onClick:e=>{e.stopPropagation(),E(""),v(!0)},disabled:!k,className:"vmf-folder-manager-button",isDestructive:!0,size:"small",showTooltip:!1}),l&&l()]}),s&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Create Folder","virtual-media-folders"),onRequestClose:()=>d(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)(n.TextControl,{label:(0,r.__)("Folder Name","virtual-media-folders"),value:m,onChange:h,placeholder:(0,r.__)("Enter folder name","virtual-media-folders"),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,zt.jsx)(n.SelectControl,{label:(0,r.__)("Parent Folder","virtual-media-folders"),value:String(p),options:[{label:(0,r.__)("None (top level)","virtual-media-folders"),value:"0"},...M(e)],onChange:e=>g(parseInt(e,10)),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),S&&(0,zt.jsx)("p",{className:"vmf-folder-modal-error",children:S}),(0,zt.jsxs)("div",{className:"vmf-folder-modal-actions",children:[(0,zt.jsx)(n.Button,{variant:"secondary",onClick:()=>d(!1),disabled:_,children:(0,r.__)("Cancel","virtual-media-folders")}),(0,zt.jsx)(n.Button,{variant:"primary",onClick:async function(){if(m.trim()){C(!0),E("");try{await Tt()({path:"/vmfo/v1/folders",method:"POST",data:{name:m.trim(),parent:p}}),h(""),g(0),d(!1),R((0,r.__)("Folder created.","virtual-media-folders"),"success"),a?.()}catch(e){E(e.message||(0,r.__)("Failed to create folder.","virtual-media-folders"))}finally{C(!1)}}else E((0,r.__)("Please enter a folder name.","virtual-media-folders"))},disabled:_,children:_?(0,r.__)("Creating…","virtual-media-folders"):(0,r.__)("Create","virtual-media-folders")})]})]}),c&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Edit Folder","virtual-media-folders"),onRequestClose:()=>u(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)(n.TextControl,{label:(0,r.__)("Folder Name","virtual-media-folders"),value:b,onChange:w,placeholder:(0,r.__)("Enter folder name","virtual-media-folders"),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,zt.jsx)(n.SelectControl,{label:(0,r.__)("Parent Folder","virtual-media-folders"),value:String(y),options:[{label:(0,r.__)("None (top level)","virtual-media-folders"),value:"0"},...M(e,0,0,o)],onChange:e=>x(parseInt(e,10)),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),S&&(0,zt.jsx)("p",{className:"vmf-folder-modal-error",children:S}),(0,zt.jsxs)("div",{className:"vmf-folder-modal-actions",children:[(0,zt.jsx)(n.Button,{variant:"secondary",onClick:()=>u(!1),disabled:_,children:(0,r.__)("Cancel","virtual-media-folders")}),(0,zt.jsx)(n.Button,{variant:"primary",onClick:async function(){if(b.trim()){if(o&&"number"==typeof o){C(!0),E("");try{await Tt()({path:`/vmfo/v1/folders/${o}`,method:"PUT",data:{name:b.trim(),parent:y}}),w(""),x(0),u(!1),R((0,r.__)("Folder updated.","virtual-media-folders"),"success"),a?.()}catch(e){E(e.message||(0,r.__)("Failed to update folder.","virtual-media-folders"))}finally{C(!1)}}}else E((0,r.__)("Please enter a folder name.","virtual-media-folders"))},disabled:_,children:_?(0,r.__)("Saving…","virtual-media-folders"):(0,r.__)("Save","virtual-media-folders")})]})]}),f&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Delete Folder","virtual-media-folders"),onRequestClose:()=>v(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)("p",{children:(0,r.sprintf)(/* translators: %s: folder name */ /* translators: %s: folder name */
     1(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.element,n=window.wp.components,r=window.wp.i18n,o=window.React;var a=e.n(o);const i=window.ReactDOM,l="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function s(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function d(e){return"nodeType"in e}function c(e){var t,n;return e?s(e)?e:d(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function u(e){const{Document:t}=c(e);return e instanceof t}function f(e){return!s(e)&&e instanceof c(e).HTMLElement}function v(e){return e instanceof c(e).SVGElement}function m(e){return e?s(e)?e.document:d(e)?u(e)?e:f(e)||v(e)?e.ownerDocument:document:document:document}const h=l?o.useLayoutEffect:o.useEffect;function p(e){const t=(0,o.useRef)(e);return h(()=>{t.current=e}),(0,o.useCallback)(function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return null==t.current?void 0:t.current(...n)},[])}function g(e,t){void 0===t&&(t=[e]);const n=(0,o.useRef)(e);return h(()=>{n.current!==e&&(n.current=e)},t),n}function b(e,t){const n=(0,o.useRef)();return(0,o.useMemo)(()=>{const t=e(n.current);return n.current=t,t},[...t])}function w(e){const t=p(e),n=(0,o.useRef)(null),r=(0,o.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,r]}function y(e){const t=(0,o.useRef)();return(0,o.useEffect)(()=>{t.current=e},[e]),t.current}let x={};function _(e,t){return(0,o.useMemo)(()=>{if(t)return t;const n=null==x[e]?0:x[e]+1;return x[e]=n,e+"-"+n},[e,t])}function C(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((t,n)=>{const r=Object.entries(n);for(const[n,o]of r){const r=t[n];null!=r&&(t[n]=r+e*o)}return t},{...t})}}const S=C(1),E=C(-1);function D(e){if(!e)return!1;const{KeyboardEvent:t}=c(e.target);return t&&e instanceof t}function M(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=c(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const R=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[R.Translate.toString(e),R.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),k="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function N(e){return e.matches(k)?e:e.querySelector(k)}const j={display:"none"};function I(e){let{id:t,value:n}=e;return a().createElement("div",{id:t,style:j},n)}function T(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;return a().createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":r,"aria-atomic":!0},n)}const A=(0,o.createContext)(null),L={draggable:"\n    To pick up a draggable item, press the space bar.\n    While dragging, use the arrow keys to move the item.\n    Press space again to drop the item in its new position, or press escape to cancel.\n  "},O={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function F(e){let{announcements:t=O,container:n,hiddenTextDescribedById:r,screenReaderInstructions:l=L}=e;const{announce:s,announcement:d}=function(){const[e,t]=(0,o.useState)("");return{announce:(0,o.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),c=_("DndLiveRegion"),[u,f]=(0,o.useState)(!1);if((0,o.useEffect)(()=>{f(!0)},[]),function(e){const t=(0,o.useContext)(A);(0,o.useEffect)(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}((0,o.useMemo)(()=>({onDragStart(e){let{active:n}=e;s(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&s(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;s(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;s(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;s(t.onDragCancel({active:n,over:r}))}}),[s,t])),!u)return null;const v=a().createElement(a().Fragment,null,a().createElement(I,{id:r,value:l.draggable}),a().createElement(T,{id:c,announcement:d}));return n?(0,i.createPortal)(v,n):v}var z;function P(){}function B(e,t){return(0,o.useMemo)(()=>({sensor:e,options:null!=t?t:{}}),[e,t])}!function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"}(z||(z={}));const U=Object.freeze({x:0,y:0});function $(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function H(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function q(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function K(e){let{left:t,top:n,height:r,width:o}=e;return[{x:t,y:n},{x:t+o,y:n},{x:t,y:n+r},{x:t+o,y:n+r}]}function Q(e,t){if(!e||0===e.length)return null;const[n]=e;return t?n[t]:n}function W(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}const V=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=W(t,t.left,t.top),a=[];for(const e of r){const{id:t}=e,r=n.get(t);if(r){const n=$(W(r),o);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(H)};function X(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),o=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),i=o-r,l=a-n;if(r<o&&n<a){const n=t.width*t.height,r=e.width*e.height,o=i*l;return Number((o/(n+r-o)).toFixed(4))}return 0}const Y=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=[];for(const e of r){const{id:r}=e,a=n.get(r);if(a){const n=X(a,t);n>0&&o.push({id:r,data:{droppableContainer:e,value:n}})}}return o.sort(q)};function J(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:U}function G(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}const Z=G(1);const ee={ignoreTransform:!1};function te(e,t){void 0===t&&(t=ee);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:r}=c(e).getComputedStyle(e);t&&(n=function(e,t,n){const r=function(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}(t);if(!r)return e;const{scaleX:o,scaleY:a,x:i,y:l}=r,s=e.left-i-(1-o)*parseFloat(n),d=e.top-l-(1-a)*parseFloat(n.slice(n.indexOf(" ")+1)),c=o?e.width/o:e.width,u=a?e.height/a:e.height;return{width:c,height:u,top:d,right:s+c,bottom:d+u,left:s}}(n,t,r))}const{top:r,left:o,width:a,height:i,bottom:l,right:s}=n;return{top:r,left:o,width:a,height:i,bottom:l,right:s}}function ne(e){return te(e,{ignoreTransform:!0})}function re(e,t){const n=[];return e?function r(o){if(null!=t&&n.length>=t)return n;if(!o)return n;if(u(o)&&null!=o.scrollingElement&&!n.includes(o.scrollingElement))return n.push(o.scrollingElement),n;if(!f(o)||v(o))return n;if(n.includes(o))return n;const a=c(e).getComputedStyle(o);return o!==e&&function(e,t){void 0===t&&(t=c(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const r=t[e];return"string"==typeof r&&n.test(r)})}(o,a)&&n.push(o),function(e,t){return void 0===t&&(t=c(e).getComputedStyle(e)),"fixed"===t.position}(o,a)?n:r(o.parentNode)}(e):n}function oe(e){const[t]=re(e,1);return null!=t?t:null}function ae(e){return l&&e?s(e)?e:d(e)?u(e)||e===m(e).scrollingElement?window:f(e)?e:null:null:null}function ie(e){return s(e)?e.scrollX:e.scrollLeft}function le(e){return s(e)?e.scrollY:e.scrollTop}function se(e){return{x:ie(e),y:le(e)}}var de;function ce(e){return!(!l||!e)&&e===document.scrollingElement}function ue(e){const t={x:0,y:0},n=ce(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(de||(de={}));const fe={x:.2,y:.2};function ve(e,t,n,r,o){let{top:a,left:i,right:l,bottom:s}=n;void 0===r&&(r=10),void 0===o&&(o=fe);const{isTop:d,isBottom:c,isLeft:u,isRight:f}=ue(e),v={x:0,y:0},m={x:0,y:0},h=t.height*o.y,p=t.width*o.x;return!d&&a<=t.top+h?(v.y=de.Backward,m.y=r*Math.abs((t.top+h-a)/h)):!c&&s>=t.bottom-h&&(v.y=de.Forward,m.y=r*Math.abs((t.bottom-h-s)/h)),!f&&l>=t.right-p?(v.x=de.Forward,m.x=r*Math.abs((t.right-p-l)/p)):!u&&i<=t.left+p&&(v.x=de.Backward,m.x=r*Math.abs((t.left+p-i)/p)),{direction:v,speed:m}}function me(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:r,bottom:o}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:o,width:e.clientWidth,height:e.clientHeight}}function he(e){return e.reduce((e,t)=>S(e,se(t)),U)}const pe=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+ie(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+le(t),0)}]];class ge{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=re(t),r=he(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,o]of pe)for(const a of t)Object.defineProperty(this,a,{get:()=>{const t=o(n),i=r[e]-t;return this.rect[a]+i},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class be{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var r;null==(r=this.target)||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function we(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t&&r>t.y}var ye,xe;function _e(e){e.preventDefault()}function Ce(e){e.stopPropagation()}!function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"}(ye||(ye={})),function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"}(xe||(xe={}));const Se={start:[xe.Space,xe.Enter],cancel:[xe.Esc],end:[xe.Space,xe.Enter,xe.Tab]},Ee=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case xe.Right:return{...n,x:n.x+25};case xe.Left:return{...n,x:n.x-25};case xe.Down:return{...n,y:n.y+25};case xe.Up:return{...n,y:n.y-25}}};class De{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new be(m(t)),this.windowListeners=new be(c(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ye.Resize,this.handleCancel),this.windowListeners.add(ye.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ye.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&function(e,t){if(void 0===t&&(t=te),!e)return;const{top:n,left:r,bottom:o,right:a}=t(e);oe(e)&&(o<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}(n),t(U)}handleKeyDown(e){if(D(e)){const{active:t,context:n,options:r}=this.props,{keyboardCodes:o=Se,coordinateGetter:a=Ee,scrollBehavior:i="smooth"}=r,{code:l}=e;if(o.end.includes(l))return void this.handleEnd(e);if(o.cancel.includes(l))return void this.handleCancel(e);const{collisionRect:s}=n.current,d=s?{x:s.left,y:s.top}:U;this.referenceCoordinates||(this.referenceCoordinates=d);const c=a(e,{active:t,context:n.current,currentCoordinates:d});if(c){const t=E(c,d),r={x:0,y:0},{scrollableAncestors:o}=n.current;for(const n of o){const o=e.code,{isTop:a,isRight:l,isLeft:s,isBottom:d,maxScroll:u,minScroll:f}=ue(n),v=me(n),m={x:Math.min(o===xe.Right?v.right-v.width/2:v.right,Math.max(o===xe.Right?v.left:v.left+v.width/2,c.x)),y:Math.min(o===xe.Down?v.bottom-v.height/2:v.bottom,Math.max(o===xe.Down?v.top:v.top+v.height/2,c.y))},h=o===xe.Right&&!l||o===xe.Left&&!s,p=o===xe.Down&&!d||o===xe.Up&&!a;if(h&&m.x!==c.x){const e=n.scrollLeft+t.x,a=o===xe.Right&&e<=u.x||o===xe.Left&&e>=f.x;if(a&&!t.y)return void n.scrollTo({left:e,behavior:i});r.x=a?n.scrollLeft-e:o===xe.Right?n.scrollLeft-u.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:i});break}if(p&&m.y!==c.y){const e=n.scrollTop+t.y,a=o===xe.Down&&e<=u.y||o===xe.Up&&e>=f.y;if(a&&!t.x)return void n.scrollTo({top:e,behavior:i});r.y=a?n.scrollTop-e:o===xe.Down?n.scrollTop-u.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:i});break}}this.handleMove(e,S(E(c,this.referenceCoordinates),r))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function Me(e){return Boolean(e&&"distance"in e)}function Re(e){return Boolean(e&&"delay"in e)}De.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=Se,onActivation:o}=t,{active:a}=n;const{code:i}=e.nativeEvent;if(r.start.includes(i)){const t=a.activatorNode.current;return!(t&&e.target!==t||(e.preventDefault(),null==o||o({event:e.nativeEvent}),0))}return!1}}];class ke{constructor(e,t,n){var r;void 0===n&&(n=function(e){const{EventTarget:t}=c(e);return e instanceof t?e:m(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:o}=e,{target:a}=o;this.props=e,this.events=t,this.document=m(a),this.documentListeners=new be(this.document),this.listeners=new be(n),this.windowListeners=new be(c(a)),this.initialCoordinates=null!=(r=M(o))?r:U,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(ye.Resize,this.handleCancel),this.windowListeners.add(ye.DragStart,_e),this.windowListeners.add(ye.VisibilityChange,this.handleCancel),this.windowListeners.add(ye.ContextMenu,_e),this.documentListeners.add(ye.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Re(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(Me(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(ye.Click,Ce,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ye.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:r,props:o}=this,{onMove:a,options:{activationConstraint:i}}=o;if(!r)return;const l=null!=(t=M(e))?t:U,s=E(r,l);if(!n&&i){if(Me(i)){if(null!=i.tolerance&&we(s,i.tolerance))return this.handleCancel();if(we(s,i.distance))return this.handleStart()}return Re(i)&&we(s,i.tolerance)?this.handleCancel():void this.handlePending(i,s)}e.cancelable&&e.preventDefault(),a(l)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===xe.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const Ne={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class je extends ke{constructor(e){const{event:t}=e,n=m(t.target);super(e,Ne,n)}}je.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!(!n.isPrimary||0!==n.button||(null==r||r({event:n}),0))}}];const Ie={move:{name:"mousemove"},end:{name:"mouseup"}};var Te;!function(e){e[e.RightClick=2]="RightClick"}(Te||(Te={})),class extends ke{constructor(e){super(e,Ie,m(e.event.target))}}.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==Te.RightClick&&(null==r||r({event:n}),!0)}}];const Ae={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var Le,Oe;(class extends ke{constructor(e){super(e,Ae)}static setup(){return window.addEventListener(Ae.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Ae.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:o}=n;return!(o.length>1||(null==r||r({event:n}),0))}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(Le||(Le={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(Oe||(Oe={}));const Fe={x:{[de.Backward]:!1,[de.Forward]:!1},y:{[de.Backward]:!1,[de.Forward]:!1}};var ze,Pe;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(ze||(ze={})),function(e){e.Optimized="optimized"}(Pe||(Pe={}));const Be=new Map;function Ue(e,t){return b(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function $e(e){let{callback:t,disabled:n}=e;const r=p(t),a=(0,o.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(r)},[n]);return(0,o.useEffect)(()=>()=>null==a?void 0:a.disconnect(),[a]),a}function He(e){return new ge(te(e),e)}function qe(e,t,n){void 0===t&&(t=He);const[r,a]=(0,o.useState)(null);function i(){a(r=>{if(!e)return null;var o;if(!1===e.isConnected)return null!=(o=null!=r?r:n)?o:null;const a=t(e);return JSON.stringify(r)===JSON.stringify(a)?r:a})}const l=function(e){let{callback:t,disabled:n}=e;const r=p(t),a=(0,o.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,o.useEffect)(()=>()=>null==a?void 0:a.disconnect(),[a]),a}({callback(t){if(e)for(const n of t){const{type:t,target:r}=n;if("childList"===t&&r instanceof HTMLElement&&r.contains(e)){i();break}}}}),s=$e({callback:i});return h(()=>{i(),e?(null==s||s.observe(e),null==l||l.observe(document.body,{childList:!0,subtree:!0})):(null==s||s.disconnect(),null==l||l.disconnect())},[e]),r}const Ke=[];function Qe(e,t){void 0===t&&(t=[]);const n=(0,o.useRef)(null);return(0,o.useEffect)(()=>{n.current=null},t),(0,o.useEffect)(()=>{const t=e!==U;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?E(e,n.current):U}function We(e){return(0,o.useMemo)(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const Ve=[];const Xe=[{sensor:je,options:{}},{sensor:De,options:{}}],Ye={current:{}},Je={draggable:{measure:ne},droppable:{measure:ne,strategy:ze.WhileDragging,frequency:Pe.Optimized},dragOverlay:{measure:te}};class Ge extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const Ze={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ge,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:P},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Je,measureDroppableContainers:P,windowRect:null,measuringScheduled:!1},et={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:P,draggableNodes:new Map,over:null,measureDroppableContainers:P},tt=(0,o.createContext)(et),nt=(0,o.createContext)(Ze);function rt(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ge}}}function ot(e,t){switch(t.type){case z.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case z.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case z.DragEnd:case z.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case z.RegisterDroppable:{const{element:n}=t,{id:r}=n,o=new Ge(e.droppable.containers);return o.set(r,n),{...e,droppable:{...e.droppable,containers:o}}}case z.SetDroppableDisabled:{const{id:n,key:r,disabled:o}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;const i=new Ge(e.droppable.containers);return i.set(n,{...a,disabled:o}),{...e,droppable:{...e.droppable,containers:i}}}case z.UnregisterDroppable:{const{id:n,key:r}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const a=new Ge(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function at(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:a}=(0,o.useContext)(tt),i=y(r),l=y(null==n?void 0:n.id);return(0,o.useEffect)(()=>{if(!t&&!r&&i&&null!=l){if(!D(i))return;if(document.activeElement===i.target)return;const e=a.get(l);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=N(e);if(t){t.focus();break}}})}},[r,t,a,l,i]),null}const it=(0,o.createContext)({...U,scaleX:1,scaleY:1});var lt;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(lt||(lt={}));const st=(0,o.memo)(function(e){var t,n,r,s;let{id:d,accessibility:u,autoScroll:v=!0,children:m,sensors:p=Xe,collisionDetection:x=Y,measuring:C,modifiers:E,...D}=e;const R=(0,o.useReducer)(ot,void 0,rt),[k,N]=R,[j,I]=function(){const[e]=(0,o.useState)(()=>new Set),t=(0,o.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,o.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,r)})},[e]),t]}(),[T,L]=(0,o.useState)(lt.Uninitialized),O=T===lt.Initialized,{draggable:{active:P,nodes:B,translate:$},droppable:{containers:H}}=k,q=null!=P?B.get(P):null,K=(0,o.useRef)({initial:null,translated:null}),W=(0,o.useMemo)(()=>{var e;return null!=P?{id:P,data:null!=(e=null==q?void 0:q.data)?e:Ye,rect:K}:null},[P,q]),V=(0,o.useRef)(null),[X,G]=(0,o.useState)(null),[ee,ne]=(0,o.useState)(null),ie=g(D,Object.values(D)),le=_("DndDescribedBy",d),ue=(0,o.useMemo)(()=>H.getEnabled(),[H]),fe=(me=C,(0,o.useMemo)(()=>({draggable:{...Je.draggable,...null==me?void 0:me.draggable},droppable:{...Je.droppable,...null==me?void 0:me.droppable},dragOverlay:{...Je.dragOverlay,...null==me?void 0:me.dragOverlay}}),[null==me?void 0:me.draggable,null==me?void 0:me.droppable,null==me?void 0:me.dragOverlay]));var me;const{droppableRects:pe,measureDroppableContainers:be,measuringScheduled:we}=function(e,t){let{dragging:n,dependencies:r,config:a}=t;const[i,l]=(0,o.useState)(null),{frequency:s,measure:d,strategy:c}=a,u=(0,o.useRef)(e),f=function(){switch(c){case ze.Always:return!1;case ze.BeforeDragging:return n;default:return!n}}(),v=g(f),m=(0,o.useCallback)(function(e){void 0===e&&(e=[]),v.current||l(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[v]),h=(0,o.useRef)(null),p=b(t=>{if(f&&!n)return Be;if(!t||t===Be||u.current!==e||null!=i){const t=new Map;for(let n of e){if(!n)continue;if(i&&i.length>0&&!i.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,r=e?new ge(d(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,i,n,f,d]);return(0,o.useEffect)(()=>{u.current=e},[e]),(0,o.useEffect)(()=>{f||m()},[n,f]),(0,o.useEffect)(()=>{i&&i.length>0&&l(null)},[JSON.stringify(i)]),(0,o.useEffect)(()=>{f||"number"!=typeof s||null!==h.current||(h.current=setTimeout(()=>{m(),h.current=null},s))},[s,f,m,...r]),{droppableRects:p,measureDroppableContainers:m,measuringScheduled:null!=i}}(ue,{dragging:O,dependencies:[$.x,$.y],config:fe.droppable}),ye=function(e,t){const n=null!=t?e.get(t):void 0,r=n?n.node.current:null;return b(e=>{var n;return null==t?null:null!=(n=null!=r?r:e)?n:null},[r,t])}(B,P),xe=(0,o.useMemo)(()=>ee?M(ee):null,[ee]),_e=function(){const e=!1===(null==X?void 0:X.autoScrollEnabled),t="object"==typeof v?!1===v.enabled:!1===v,n=O&&!e&&!t;return"object"==typeof v?{...v,enabled:n}:{enabled:n}}(),Ce=function(e,t){return Ue(e,t)}(ye,fe.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:r,config:a=!0}=e;const i=(0,o.useRef)(!1),{x:l,y:s}="boolean"==typeof a?{x:a,y:a}:a;h(()=>{if(!l&&!s||!t)return void(i.current=!1);if(i.current||!r)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const o=J(n(e),r);if(l||(o.x=0),s||(o.y=0),i.current=!0,Math.abs(o.x)>0||Math.abs(o.y)>0){const t=oe(e);t&&t.scrollBy({top:o.y,left:o.x})}},[t,l,s,r,n])}({activeNode:null!=P?B.get(P):null,config:_e.layoutShiftCompensation,initialRect:Ce,measure:fe.draggable.measure});const Se=qe(ye,fe.draggable.measure,Ce),Ee=qe(ye?ye.parentElement:null),De=(0,o.useRef)({activatorEvent:null,active:null,activeNode:ye,collisionRect:null,collisions:null,droppableRects:pe,draggableNodes:B,draggingNode:null,draggingNodeRect:null,droppableContainers:H,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Me=H.getNodeFor(null==(t=De.current.over)?void 0:t.id),Re=function(e){let{measure:t}=e;const[n,r]=(0,o.useState)(null),a=$e({callback:(0,o.useCallback)(e=>{for(const{target:n}of e)if(f(n)){r(e=>{const r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),i=(0,o.useCallback)(e=>{const n=function(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return f(t)?t:e}(e);null==a||a.disconnect(),n&&(null==a||a.observe(n)),r(n?t(n):null)},[t,a]),[l,s]=w(i);return(0,o.useMemo)(()=>({nodeRef:l,rect:n,setRef:s}),[n,l,s])}({measure:fe.dragOverlay.measure}),ke=null!=(n=Re.nodeRef.current)?n:ye,Ne=O?null!=(r=Re.rect)?r:Se:null,je=Boolean(Re.nodeRef.current&&Re.rect),Ie=J(Te=je?null:Se,Ue(Te));var Te;const Ae=We(ke?c(ke):null),Pe=function(e){const t=(0,o.useRef)(e),n=b(n=>e?n&&n!==Ke&&e&&t.current&&e.parentNode===t.current.parentNode?n:re(e):Ke,[e]);return(0,o.useEffect)(()=>{t.current=e},[e]),n}(O?null!=Me?Me:ye:null),He=function(e,t){void 0===t&&(t=te);const[n]=e,r=We(n?c(n):null),[a,i]=(0,o.useState)(Ve);function l(){i(()=>e.length?e.map(e=>ce(e)?r:new ge(t(e),e)):Ve)}const s=$e({callback:l});return h(()=>{null==s||s.disconnect(),l(),e.forEach(e=>null==s?void 0:s.observe(e))},[e]),a}(Pe),Ge=function(e,t){let{transform:n,...r}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}(E,{transform:{x:$.x-Ie.x,y:$.y-Ie.y,scaleX:1,scaleY:1},activatorEvent:ee,active:W,activeNodeRect:Se,containerNodeRect:Ee,draggingNodeRect:Ne,over:De.current.over,overlayNodeRect:Re.rect,scrollableAncestors:Pe,scrollableAncestorRects:He,windowRect:Ae}),Ze=xe?S(xe,$):null,et=function(e){const[t,n]=(0,o.useState)(null),r=(0,o.useRef)(e),a=(0,o.useCallback)(e=>{const t=ae(e.target);t&&n(e=>e?(e.set(t,se(t)),new Map(e)):null)},[]);return(0,o.useEffect)(()=>{const t=r.current;if(e!==t){o(t);const i=e.map(e=>{const t=ae(e);return t?(t.addEventListener("scroll",a,{passive:!0}),[t,se(t)]):null}).filter(e=>null!=e);n(i.length?new Map(i):null),r.current=e}return()=>{o(e),o(t)};function o(e){e.forEach(e=>{const t=ae(e);null==t||t.removeEventListener("scroll",a)})}},[a,e]),(0,o.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>S(e,t),U):he(e):U,[e,t])}(Pe),st=Qe(et),dt=Qe(et,[Se]),ct=S(Ge,st),ut=Ne?Z(Ne,Ge):null,ft=W&&ut?x({active:W,collisionRect:ut,droppableRects:pe,droppableContainers:ue,pointerCoordinates:Ze}):null,vt=Q(ft,"id"),[mt,ht]=(0,o.useState)(null),pt=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(je?Ge:S(Ge,dt),null!=(s=null==mt?void 0:mt.rect)?s:null,Se),gt=(0,o.useRef)(null),bt=(0,o.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(null==V.current)return;const o=B.get(V.current);if(!o)return;const a=e.nativeEvent,l=new n({active:V.current,activeNode:o,event:a,options:r,context:De,onAbort(e){if(!B.get(e))return;const{onDragAbort:t}=ie.current,n={id:e};null==t||t(n),j({type:"onDragAbort",event:n})},onPending(e,t,n,r){if(!B.get(e))return;const{onDragPending:o}=ie.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};null==o||o(a),j({type:"onDragPending",event:a})},onStart(e){const t=V.current;if(null==t)return;const n=B.get(t);if(!n)return;const{onDragStart:r}=ie.current,o={activatorEvent:a,active:{id:t,data:n.data,rect:K}};(0,i.unstable_batchedUpdates)(()=>{null==r||r(o),L(lt.Initializing),N({type:z.DragStart,initialCoordinates:e,active:t}),j({type:"onDragStart",event:o}),G(gt.current),ne(a)})},onMove(e){N({type:z.DragMove,coordinates:e})},onEnd:s(z.DragEnd),onCancel:s(z.DragCancel)});function s(e){return async function(){const{active:t,collisions:n,over:r,scrollAdjustedTranslate:o}=De.current;let l=null;if(t&&o){const{cancelDrop:i}=ie.current;l={activatorEvent:a,active:t,collisions:n,delta:o,over:r},e===z.DragEnd&&"function"==typeof i&&await Promise.resolve(i(l))&&(e=z.DragCancel)}V.current=null,(0,i.unstable_batchedUpdates)(()=>{N({type:e}),L(lt.Uninitialized),ht(null),G(null),ne(null),gt.current=null;const t=e===z.DragEnd?"onDragEnd":"onDragCancel";if(l){const e=ie.current[t];null==e||e(l),j({type:t,event:l})}})}}gt.current=l},[B]),wt=(0,o.useCallback)((e,t)=>(n,r)=>{const o=n.nativeEvent,a=B.get(r);if(null!==V.current||!a||o.dndKit||o.defaultPrevented)return;const i={active:a};!0===e(n,t.options,i)&&(o.dndKit={capturedBy:t.sensor},V.current=r,bt(n,t))},[B,bt]),yt=function(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{const{sensor:r}=n;return[...e,...r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(p,wt);!function(e){(0,o.useEffect)(()=>{if(!l)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(p),h(()=>{Se&&T===lt.Initializing&&L(lt.Initialized)},[Se,T]),(0,o.useEffect)(()=>{const{onDragMove:e}=ie.current,{active:t,activatorEvent:n,collisions:r,over:o}=De.current;if(!t||!n)return;const a={active:t,activatorEvent:n,collisions:r,delta:{x:ct.x,y:ct.y},over:o};(0,i.unstable_batchedUpdates)(()=>{null==e||e(a),j({type:"onDragMove",event:a})})},[ct.x,ct.y]),(0,o.useEffect)(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:o}=De.current;if(!e||null==V.current||!t||!o)return;const{onDragOver:a}=ie.current,l=r.get(vt),s=l&&l.rect.current?{id:l.id,rect:l.rect.current,data:l.data,disabled:l.disabled}:null,d={active:e,activatorEvent:t,collisions:n,delta:{x:o.x,y:o.y},over:s};(0,i.unstable_batchedUpdates)(()=>{ht(s),null==a||a(d),j({type:"onDragOver",event:d})})},[vt]),h(()=>{De.current={activatorEvent:ee,active:W,activeNode:ye,collisionRect:ut,collisions:ft,droppableRects:pe,draggableNodes:B,draggingNode:ke,draggingNodeRect:Ne,droppableContainers:H,over:mt,scrollableAncestors:Pe,scrollAdjustedTranslate:ct},K.current={initial:Ne,translated:ut}},[W,ye,ft,ut,B,ke,Ne,pe,H,mt,Pe,ct]),function(e){let{acceleration:t,activator:n=Le.Pointer,canScroll:r,draggingRect:a,enabled:i,interval:l=5,order:s=Oe.TreeOrder,pointerCoordinates:d,scrollableAncestors:c,scrollableAncestorRects:u,delta:f,threshold:v}=e;const m=function(e){let{delta:t,disabled:n}=e;const r=y(t);return b(e=>{if(n||!r||!e)return Fe;const o=Math.sign(t.x-r.x),a=Math.sign(t.y-r.y);return{x:{[de.Backward]:e.x[de.Backward]||-1===o,[de.Forward]:e.x[de.Forward]||1===o},y:{[de.Backward]:e.y[de.Backward]||-1===a,[de.Forward]:e.y[de.Forward]||1===a}}},[n,t,r])}({delta:f,disabled:!i}),[h,p]=function(){const e=(0,o.useRef)(null);return[(0,o.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,o.useCallback)(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),g=(0,o.useRef)({x:0,y:0}),w=(0,o.useRef)({x:0,y:0}),x=(0,o.useMemo)(()=>{switch(n){case Le.Pointer:return d?{top:d.y,bottom:d.y,left:d.x,right:d.x}:null;case Le.DraggableRect:return a}},[n,a,d]),_=(0,o.useRef)(null),C=(0,o.useCallback)(()=>{const e=_.current;if(!e)return;const t=g.current.x*w.current.x,n=g.current.y*w.current.y;e.scrollBy(t,n)},[]),S=(0,o.useMemo)(()=>s===Oe.TreeOrder?[...c].reverse():c,[s,c]);(0,o.useEffect)(()=>{if(i&&c.length&&x){for(const e of S){if(!1===(null==r?void 0:r(e)))continue;const n=c.indexOf(e),o=u[n];if(!o)continue;const{direction:a,speed:i}=ve(e,o,x,t,v);for(const e of["x","y"])m[e][a[e]]||(i[e]=0,a[e]=0);if(i.x>0||i.y>0)return p(),_.current=e,h(C,l),g.current=i,void(w.current=a)}g.current={x:0,y:0},w.current={x:0,y:0},p()}else p()},[t,C,r,p,i,l,JSON.stringify(x),JSON.stringify(m),h,c,S,u,JSON.stringify(v)])}({..._e,delta:$,draggingRect:ut,pointerCoordinates:Ze,scrollableAncestors:Pe,scrollableAncestorRects:He});const xt=(0,o.useMemo)(()=>({active:W,activeNode:ye,activeNodeRect:Se,activatorEvent:ee,collisions:ft,containerNodeRect:Ee,dragOverlay:Re,draggableNodes:B,droppableContainers:H,droppableRects:pe,over:mt,measureDroppableContainers:be,scrollableAncestors:Pe,scrollableAncestorRects:He,measuringConfiguration:fe,measuringScheduled:we,windowRect:Ae}),[W,ye,Se,ee,ft,Ee,Re,B,H,pe,mt,be,Pe,He,fe,we,Ae]),_t=(0,o.useMemo)(()=>({activatorEvent:ee,activators:yt,active:W,activeNodeRect:Se,ariaDescribedById:{draggable:le},dispatch:N,draggableNodes:B,over:mt,measureDroppableContainers:be}),[ee,yt,W,Se,N,le,B,mt,be]);return a().createElement(A.Provider,{value:I},a().createElement(tt.Provider,{value:_t},a().createElement(nt.Provider,{value:xt},a().createElement(it.Provider,{value:pt},m)),a().createElement(at,{disabled:!1===(null==u?void 0:u.restoreFocus)})),a().createElement(F,{...u,hiddenTextDescribedById:le}))}),dt=(0,o.createContext)(null),ct="button";const ut={timeout:25};function ft(e,t,n){const r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function vt(e,t){return e.reduce((e,n,r)=>{const o=t.get(n);return o&&(e[r]=o),e},Array(e.length))}function mt(e){return null!==e&&e>=0}const ht=e=>{let{rects:t,activeIndex:n,overIndex:r,index:o}=e;const a=ft(t,r,n),i=t[o],l=a[o];return l&&i?{x:l.left-i.left,y:l.top-i.top,scaleX:l.width/i.width,scaleY:l.height/i.height}:null},pt={scaleX:1,scaleY:1},gt=e=>{var t;let{activeIndex:n,activeNodeRect:r,index:o,rects:a,overIndex:i}=e;const l=null!=(t=a[n])?t:r;if(!l)return null;if(o===n){const e=a[i];return e?{x:0,y:n<i?e.top+e.height-(l.top+l.height):e.top-l.top,...pt}:null}const s=function(e,t,n){const r=e[t],o=e[t-1],a=e[t+1];return r?n<t?o?r.top-(o.top+o.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):o?r.top-(o.top+o.height):0:0}(a,o,n);return o>n&&o<=i?{x:0,y:-l.height-s,...pt}:o<n&&o>=i?{x:0,y:l.height+s,...pt}:{x:0,y:0,...pt}},bt="Sortable",wt=a().createContext({activeIndex:-1,containerId:bt,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:ht,disabled:{draggable:!1,droppable:!1}});function yt(e){let{children:t,id:n,items:r,strategy:i=ht,disabled:l=!1}=e;const{active:s,dragOverlay:d,droppableRects:c,over:u,measureDroppableContainers:f}=(0,o.useContext)(nt),v=_(bt,n),m=Boolean(null!==d.rect),p=(0,o.useMemo)(()=>r.map(e=>"object"==typeof e&&"id"in e?e.id:e),[r]),g=null!=s,b=s?p.indexOf(s.id):-1,w=u?p.indexOf(u.id):-1,y=(0,o.useRef)(p),x=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(p,y.current),C=-1!==w&&-1===b||x,S=function(e){return"boolean"==typeof e?{draggable:e,droppable:e}:e}(l);h(()=>{x&&g&&f(p)},[x,p,g,f]),(0,o.useEffect)(()=>{y.current=p},[p]);const E=(0,o.useMemo)(()=>({activeIndex:b,containerId:v,disabled:S,disableTransforms:C,items:p,overIndex:w,useDragOverlay:m,sortedRects:vt(p,c),strategy:i}),[b,v,S.draggable,S.droppable,C,p,w,c,m,i]);return a().createElement(wt.Provider,{value:E},t)}const xt=e=>{let{id:t,items:n,activeIndex:r,overIndex:o}=e;return ft(n,r,o).indexOf(t)},_t=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:o,items:a,newIndex:i,previousItems:l,previousContainerId:s,transition:d}=e;return!(!d||!r||l!==a&&o===i||!n&&(i===o||t!==s))},Ct={duration:200,easing:"ease"},St="transform",Et=R.Transition.toString({property:St,duration:0,easing:"linear"}),Dt={roleDescription:"sortable"};function Mt(e){let{animateLayoutChanges:t=_t,attributes:n,disabled:r,data:a,getNewIndex:i=xt,id:l,strategy:s,resizeObserverConfig:d,transition:c=Ct}=e;const{items:u,containerId:f,activeIndex:v,disabled:m,disableTransforms:p,sortedRects:b,overIndex:y,useDragOverlay:x,strategy:C}=(0,o.useContext)(wt),S=function(e,t){var n,r;return"boolean"==typeof e?{draggable:e,droppable:!1}:{draggable:null!=(n=null==e?void 0:e.draggable)?n:t.draggable,droppable:null!=(r=null==e?void 0:e.droppable)?r:t.droppable}}(r,m),E=u.indexOf(l),M=(0,o.useMemo)(()=>({sortable:{containerId:f,index:E,items:u},...a}),[f,a,E,u]),k=(0,o.useMemo)(()=>u.slice(u.indexOf(l)),[u,l]),{rect:N,node:j,isOver:I,setNodeRef:T}=function(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:a}=e;const i=_("Droppable"),{active:l,dispatch:s,over:d,measureDroppableContainers:c}=(0,o.useContext)(tt),u=(0,o.useRef)({disabled:n}),f=(0,o.useRef)(!1),v=(0,o.useRef)(null),m=(0,o.useRef)(null),{disabled:h,updateMeasurementsFor:p,timeout:b}={...ut,...a},y=g(null!=p?p:r),x=$e({callback:(0,o.useCallback)(()=>{f.current?(null!=m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),m.current=null},b)):f.current=!0},[b]),disabled:h||!l}),C=(0,o.useCallback)((e,t)=>{x&&(t&&(x.unobserve(t),f.current=!1),e&&x.observe(e))},[x]),[S,E]=w(C),D=g(t);return(0,o.useEffect)(()=>{x&&S.current&&(x.disconnect(),f.current=!1,x.observe(S.current))},[S,x]),(0,o.useEffect)(()=>(s({type:z.RegisterDroppable,element:{id:r,key:i,disabled:n,node:S,rect:v,data:D}}),()=>s({type:z.UnregisterDroppable,key:i,id:r})),[r]),(0,o.useEffect)(()=>{n!==u.current.disabled&&(s({type:z.SetDroppableDisabled,id:r,key:i,disabled:n}),u.current.disabled=n)},[r,i,n,s]),{active:l,rect:v,isOver:(null==d?void 0:d.id)===r,node:S,over:d,setNodeRef:E}}({id:l,data:M,disabled:S.droppable,resizeObserverConfig:{updateMeasurementsFor:k,...d}}),{active:A,activatorEvent:L,activeNodeRect:O,attributes:F,setNodeRef:P,listeners:B,isDragging:U,over:$,setActivatorNodeRef:H,transform:q}=function(e){let{id:t,data:n,disabled:r=!1,attributes:a}=e;const i=_("Draggable"),{activators:l,activatorEvent:s,active:d,activeNodeRect:c,ariaDescribedById:u,draggableNodes:f,over:v}=(0,o.useContext)(tt),{role:m=ct,roleDescription:p="draggable",tabIndex:b=0}=null!=a?a:{},y=(null==d?void 0:d.id)===t,x=(0,o.useContext)(y?it:dt),[C,S]=w(),[E,D]=w(),M=function(e,t){return(0,o.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:o}=n;return e[r]=e=>{o(e,t)},e},{}),[e,t])}(l,t),R=g(n);return h(()=>(f.set(t,{id:t,key:i,node:C,activatorNode:E,data:R}),()=>{const e=f.get(t);e&&e.key===i&&f.delete(t)}),[f,t]),{active:d,activatorEvent:s,activeNodeRect:c,attributes:(0,o.useMemo)(()=>({role:m,tabIndex:b,"aria-disabled":r,"aria-pressed":!(!y||m!==ct)||void 0,"aria-roledescription":p,"aria-describedby":u.draggable}),[r,m,b,y,p,u.draggable]),isDragging:y,listeners:r?void 0:M,node:C,over:v,setNodeRef:S,setActivatorNodeRef:D,transform:x}}({id:l,data:M,attributes:{...Dt,...n},disabled:S.draggable}),K=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}(T,P),Q=Boolean(A),W=Q&&!p&&mt(v)&&mt(y),V=!x&&U,X=V&&W?q:null,Y=W?null!=X?X:(null!=s?s:C)({rects:b,activeNodeRect:O,activeIndex:v,overIndex:y,index:E}):null,J=mt(v)&&mt(y)?i({id:l,items:u,activeIndex:v,overIndex:y}):E,G=null==A?void 0:A.id,Z=(0,o.useRef)({activeId:G,items:u,newIndex:J,containerId:f}),ee=u!==Z.current.items,ne=t({active:A,containerId:f,isDragging:U,isSorting:Q,id:l,index:E,items:u,newIndex:Z.current.newIndex,previousItems:Z.current.items,previousContainerId:Z.current.containerId,transition:c,wasDragging:null!=Z.current.activeId}),re=function(e){let{disabled:t,index:n,node:r,rect:a}=e;const[i,l]=(0,o.useState)(null),s=(0,o.useRef)(n);return h(()=>{if(!t&&n!==s.current&&r.current){const e=a.current;if(e){const t=te(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&l(n)}}n!==s.current&&(s.current=n)},[t,n,r,a]),(0,o.useEffect)(()=>{i&&l(null)},[i]),i}({disabled:!ne,index:E,node:j,rect:N});return(0,o.useEffect)(()=>{Q&&Z.current.newIndex!==J&&(Z.current.newIndex=J),f!==Z.current.containerId&&(Z.current.containerId=f),u!==Z.current.items&&(Z.current.items=u)},[Q,J,f,u]),(0,o.useEffect)(()=>{if(G===Z.current.activeId)return;if(G&&!Z.current.activeId)return void(Z.current.activeId=G);const e=setTimeout(()=>{Z.current.activeId=G},50);return()=>clearTimeout(e)},[G]),{active:A,activeIndex:v,attributes:F,data:M,rect:N,index:E,newIndex:J,items:u,isOver:I,isSorting:Q,isDragging:U,listeners:B,node:j,overIndex:y,over:$,setNodeRef:K,setActivatorNodeRef:H,setDroppableNodeRef:T,setDraggableNodeRef:P,transform:null!=re?re:Y,transition:re||ee&&Z.current.newIndex===E?Et:V&&!D(L)||!c?void 0:Q||ne?R.Transition.toString({...c,property:St}):void 0}}function Rt(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&"object"==typeof t.sortable&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const kt=[xe.Down,xe.Right,xe.Up,xe.Left],Nt=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:o,droppableContainers:a,over:i,scrollableAncestors:l}}=t;if(kt.includes(e.code)){if(e.preventDefault(),!n||!r)return;const t=[];a.getEnabled().forEach(n=>{if(!n||null!=n&&n.disabled)return;const a=o.get(n.id);if(a)switch(e.code){case xe.Down:r.top<a.top&&t.push(n);break;case xe.Up:r.top>a.top&&t.push(n);break;case xe.Left:r.left>a.left&&t.push(n);break;case xe.Right:r.left<a.left&&t.push(n)}});const c=(e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=K(t),a=[];for(const e of r){const{id:t}=e,r=n.get(t);if(r){const n=K(r),i=o.reduce((e,t,r)=>e+$(n[r],t),0),l=Number((i/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:l}})}}return a.sort(H)})({active:n,collisionRect:r,droppableRects:o,droppableContainers:t,pointerCoordinates:null});let u=Q(c,"id");if(u===(null==i?void 0:i.id)&&c.length>1&&(u=c[1].id),null!=u){const e=a.get(n.id),t=a.get(u),i=t?o.get(t.id):null,c=null==t?void 0:t.node.current;if(c&&i&&e&&t){const n=re(c).some((e,t)=>l[t]!==e),o=jt(e,t),a=(d=t,!(!Rt(s=e)||!Rt(d))&&!!jt(s,d)&&s.data.current.sortable.index<d.data.current.sortable.index),u=n||!o?{x:0,y:0}:{x:a?r.width-i.width:0,y:a?r.height-i.height:0},f={x:i.left,y:i.top};return u.x&&u.y?f:E(f,u)}}}var s,d};function jt(e,t){return!(!Rt(e)||!Rt(t))&&e.data.current.sortable.containerId===t.data.current.sortable.containerId}const It=window.wp.apiFetch;var Tt=e.n(It);const At="vmfo_folders_cache";function Lt(){if(window.vmfData?.folders)return window.vmfData.folders;if(window.vmfEditor?.folders)return window.vmfEditor.folders;try{const e=localStorage.getItem(At);if(e)return JSON.parse(e)}catch(e){}return null}function Ot(e){try{localStorage.setItem(At,JSON.stringify(e))}catch(e){}}function Ft(e){const t={},n=[];return e.forEach(e=>{t[e.id]={...e,children:[]}}),e.forEach(e=>{e.parent&&t[e.parent]?t[e.parent].children.push(t[e.id]):n.push(t[e.id])}),n}const zt=window.ReactJSXRuntime;function Pt({expanded:e}){return(0,zt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:e?(0,zt.jsx)("polyline",{points:"6 9 12 15 18 9"}):(0,zt.jsx)("polyline",{points:"9 6 15 12 9 18"})})}function Bt({folder:e,selectedId:n,onSelect:o,level:a=0,parentId:i=null,renderWrapper:l,enableKeyboardNav:s=!1,enableAutoExpand:d=!1,enableAria:c=!1,isMoveModeActive:u=!1,forceExpand:f=!1}){const v=e=>!(!e.children||0===e.children.length)&&e.children.some(e=>e.id===n||v(e)),m=d&&v(e),[h,p]=(0,t.useState)(m),g=f||h||m,b=e.children&&e.children.length>0,w=n===e.id;(0,t.useEffect)(()=>{m&&!h&&p(!0)},[m,h]);const y=(0,zt.jsxs)("button",{type:"button",className:"vmf-folder-button "+(w?"is-selected":""),style:{paddingLeft:16*a+8+"px"},onClick:()=>o(e.id),onKeyDown:s?t=>{if(s)if("ArrowRight"===t.key&&b&&!g)t.preventDefault(),p(!0);else if("ArrowLeft"===t.key)t.preventDefault(),b&&g?p(!1):null!==i&&o(i);else if("Enter"===t.key||" "===t.key){if(u)return;t.preventDefault(),o(e.id)}}:void 0,"aria-current":w?"true":void 0,title:e.name,children:[b?(0,zt.jsx)("span",{className:"vmf-folder-toggle",onClick:t=>{t.stopPropagation(),g&&v(e)&&o(e.id),p(!g)},onKeyDown:s?t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),g&&v(e)&&o(e.id),p(!g))}:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,"aria-label":g?(0,r.__)("Collapse","virtual-media-folders"):(0,r.__)("Expand","virtual-media-folders"),children:(0,zt.jsx)(Pt,{expanded:g})}):(0,zt.jsx)("span",{className:"vmf-folder-toggle vmf-folder-toggle--placeholder","aria-hidden":"true"}),(0,zt.jsx)("span",{className:"vmf-folder-name",children:e.name}),"number"==typeof e.count&&!(b&&0===e.count)&&(0,zt.jsxs)("span",{className:"vmf-folder-count","aria-label":c?`${e.count} ${(0,r.__)("items","virtual-media-folders")}`:void 0,children:["(",e.count,")"]})]}),x=l?l({folderId:e.id,children:y}):y,_=c?{role:"treeitem","aria-expanded":b?g:void 0,"aria-selected":w}:{};return(0,zt.jsxs)("li",{className:"vmf-folder-item",..._,children:[x,b&&g&&(0,zt.jsx)("ul",{className:"vmf-folder-children",role:c?"group":void 0,children:e.children.map(t=>(0,zt.jsx)(Bt,{folder:t,selectedId:n,onSelect:o,level:a+1,parentId:e.id,renderWrapper:l,enableKeyboardNav:s,enableAutoExpand:d,enableAria:c,isMoveModeActive:u,forceExpand:f},t.id))})]})}function Ut({folders:e,selectedId:t,onSelect:n,uncategorizedCount:o,showAllMedia:a=!0,showUncategorized:i=!0,loading:l,renderWrapper:s,renderUncategorizedWrapper:d,renderHeader:c,enableKeyboardNav:u=!1,enableAutoExpand:f=!1,enableAria:v=!1,isMoveModeActive:m=!1,forceExpand:h=!1,className:p="",loadingText:g}){if(l){const e=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,zt.jsx)("div",{className:`${e} ${e}--loading ${p}`,"aria-label":v?(0,r.__)("Media folders","virtual-media-folders"):void 0,children:(0,zt.jsx)("p",{"aria-live":v?"polite":void 0,children:g||(0,r.__)("Loading…","virtual-media-folders")})})}const b=(0,zt.jsx)("button",{type:"button",className:"vmf-folder-button "+(null===t?"is-selected":""),onClick:()=>n(null),"aria-current":null===t?"true":void 0,children:(0,zt.jsx)("span",{className:"vmf-folder-name",children:(0,r.__)("All Media","virtual-media-folders")})}),w=(0,zt.jsxs)("button",{type:"button",className:"vmf-folder-button "+("uncategorized"===t?"is-selected":""),onClick:()=>n("uncategorized"),"aria-current":"uncategorized"===t?"true":void 0,children:[(0,zt.jsx)("span",{className:"vmf-folder-name",children:(0,r.__)("Uncategorized","virtual-media-folders")}),(0,zt.jsxs)("span",{className:"vmf-folder-count","aria-label":v?`${o} ${(0,r.__)("items","virtual-media-folders")}`:void 0,children:["(",o,")"]})]}),y=d?d({children:w}):w,x=v?"nav":"div",_=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,zt.jsxs)(x,{className:`${_} ${p}`,"aria-label":v?(0,r.__)("Media folders","virtual-media-folders"):void 0,children:[c&&c(),(0,zt.jsxs)("ul",{className:"vmf-folder-list",role:v?"tree":void 0,"aria-label":v?(0,r.__)("Folder tree","virtual-media-folders"):void 0,children:[a&&(0,zt.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?null===t:void 0,children:b}),i&&(0,zt.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?"uncategorized"===t:void 0,children:y}),e.map(e=>(0,zt.jsx)(Bt,{folder:e,selectedId:t,onSelect:n,renderWrapper:s,enableKeyboardNav:u,enableAutoExpand:f,enableAria:v,isMoveModeActive:m,forceExpand:h},e.id))]})]})}const $t=function({announcement:e}){return(0,zt.jsxs)(zt.Fragment,{children:[(0,zt.jsx)("div",{"aria-live":"polite","aria-atomic":"true",className:"vmf-sr-only",role:"status",children:e}),(0,zt.jsx)("div",{id:"vmf-drag-instructions",className:"vmf-sr-only",children:(0,r.__)("Press Space or Enter to start dragging. Use arrow keys to move. Press Space or Enter again to drop, or Escape to cancel.","virtual-media-folders")})]})};function Ht({folderId:e,children:n,className:o="",onKeyboardDrop:a,isMoveModeActive:i=!1}){const[l,s]=(0,t.useState)(!1),d=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s(!0)},[]),c=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s(!1)},[]),u=(0,t.useCallback)(t=>{t.preventDefault(),t.stopPropagation(),s(!1);try{const n=t.dataTransfer.getData("text/plain");if(!n)return;const r=JSON.parse(n);if(r.mediaId&&window.vmfMoveToFolder){window.vmfMoveToFolder(r.mediaId,e);const{jumpToFolderAfterMove:t=!1}=window.vmfData||{};t&&window.vmfSelectFolder&&setTimeout(()=>{window.vmfSelectFolder(e)},200)}}catch(e){}},[e]),f=(0,t.useCallback)(t=>{if(i&&a&&"Enter"===t.key){const n=t.target;if("INPUT"===n.tagName)return;if("BUTTON"===n.tagName&&!n.classList.contains("vmf-folder-button"))return;t.preventDefault(),t.stopPropagation(),a(e)}},[e,i,a]);return(0,zt.jsxs)("div",{className:`vmf-droppable-folder ${o} ${l?"is-over":""} ${i?"vmf-drop-target":""}`,onDragOver:d,onDragEnter:d,onDragLeave:c,onDrop:u,onKeyDown:f,"aria-dropeffect":i?"move":void 0,children:[n,l&&(0,zt.jsx)("span",{className:"screen-reader-text",children:(0,r.__)("Drop here to move media to this folder","virtual-media-folders")})]})}function qt({id:e,children:t,disabled:n=!1}){const{attributes:o,listeners:a,setNodeRef:i,transform:l,transition:s,isDragging:d}=Mt({id:e,disabled:n,data:{type:"folder",folderId:e}}),c={transform:R.Transform.toString(l),transition:s,opacity:d?.5:1,zIndex:d?100:void 0};return n?t:(0,zt.jsx)("div",{ref:i,style:c,className:"vmf-sortable-folder "+(d?"is-dragging":""),...o,children:(0,zt.jsxs)("div",{className:"vmf-sortable-folder__row",children:[(0,zt.jsx)("span",{className:"vmf-sortable-folder__grip",...a,role:"button",tabIndex:0,"aria-label":(0,r.__)("Drag to reorder folder","virtual-media-folders"),"aria-describedby":"vmf-drag-instructions","aria-roledescription":(0,r.__)("sortable","virtual-media-folders"),children:"⋮⋮"}),(0,zt.jsx)("div",{className:"vmf-sortable-folder__content",children:t})]})})}(0,t.createContext)(null);const Kt=window.wp.primitives;var Qt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"})}),Wt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z"})}),Vt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12 5.5A2.25 2.25 0 0 0 9.878 7h4.244A2.251 2.251 0 0 0 12 5.5ZM12 4a3.751 3.751 0 0 0-3.675 3H5v1.5h1.27l.818 8.997a2.75 2.75 0 0 0 2.739 2.501h4.347a2.75 2.75 0 0 0 2.738-2.5L17.73 8.5H19V7h-3.325A3.751 3.751 0 0 0 12 4Zm4.224 4.5H7.776l.806 8.861a1.25 1.25 0 0 0 1.245 1.137h4.347a1.25 1.25 0 0 0 1.245-1.137l.805-8.861Z"})});function Xt({folders:e=[],selectedId:o,onRefresh:a,onDelete:i,renderExtra:l}){const[s,d]=(0,t.useState)(!1),[c,u]=(0,t.useState)(!1),[f,v]=(0,t.useState)(!1),[m,h]=(0,t.useState)(""),[p,g]=(0,t.useState)(0),[b,w]=(0,t.useState)(""),[y,x]=(0,t.useState)(0),[_,C]=(0,t.useState)(!1),[S,E]=(0,t.useState)(""),D=e.find(e=>e.id===o);function M(e,t=0,n=0,r=null){let o=[];const a=e.filter(e=>e.parent===t);for(const t of a){if(null!==r&&t.id===r)continue;const a=n>0?"— ".repeat(n):"";o.push({label:a+t.name,value:String(t.id)}),o=o.concat(M(e,t.id,n+1,r))}return o}function R(e,t="success"){const n=document.createElement("div");n.className=`notice notice-${t} vmf-notice is-dismissible`;const r=document.createElement("p");r.textContent=String(null!=e?e:""),n.appendChild(r),n.style.cssText="position: fixed; top: 40px; right: 20px; z-index: 100000; max-width: 300px;",document.body.appendChild(n),setTimeout(()=>n.remove(),3e3)}const k=o&&"number"==typeof o;return(0,zt.jsxs)("div",{className:"vmf-folder-manager",onClick:e=>e.stopPropagation(),children:[(0,zt.jsxs)("div",{className:"vmf-folder-manager-buttons",children:[(0,zt.jsx)(n.Button,{icon:Qt,"aria-label":(0,r.__)("Create Folder","virtual-media-folders"),onClick:t=>{t.stopPropagation(),E("");const n=e.some(e=>e.id===o);g(n?o:0),d(!0)},className:"vmf-folder-manager-button",size:"small",showTooltip:!1}),(0,zt.jsx)(n.Button,{icon:Wt,"aria-label":(0,r.__)("Rename Folder","virtual-media-folders"),onClick:e=>{e.stopPropagation(),D&&(w(D.name),x(D.parent||0),E(""),u(!0))},disabled:!k,className:"vmf-folder-manager-button",size:"small",showTooltip:!1}),(0,zt.jsx)(n.Button,{icon:Vt,"aria-label":(0,r.__)("Delete Folder","virtual-media-folders"),onClick:e=>{e.stopPropagation(),E(""),v(!0)},disabled:!k,className:"vmf-folder-manager-button",isDestructive:!0,size:"small",showTooltip:!1}),l&&l()]}),s&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Create Folder","virtual-media-folders"),onRequestClose:()=>d(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)(n.TextControl,{label:(0,r.__)("Folder Name","virtual-media-folders"),value:m,onChange:h,placeholder:(0,r.__)("Enter folder name","virtual-media-folders"),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,zt.jsx)(n.SelectControl,{label:(0,r.__)("Parent Folder","virtual-media-folders"),value:String(p),options:[{label:(0,r.__)("None (top level)","virtual-media-folders"),value:"0"},...M(e)],onChange:e=>g(parseInt(e,10)),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),S&&(0,zt.jsx)("p",{className:"vmf-folder-modal-error",children:S}),(0,zt.jsxs)("div",{className:"vmf-folder-modal-actions",children:[(0,zt.jsx)(n.Button,{variant:"secondary",onClick:()=>d(!1),disabled:_,children:(0,r.__)("Cancel","virtual-media-folders")}),(0,zt.jsx)(n.Button,{variant:"primary",onClick:async function(){if(m.trim()){C(!0),E("");try{await Tt()({path:"/vmfo/v1/folders",method:"POST",data:{name:m.trim(),parent:p}}),h(""),g(0),d(!1),R((0,r.__)("Folder created.","virtual-media-folders"),"success"),a?.()}catch(e){E(e.message||(0,r.__)("Failed to create folder.","virtual-media-folders"))}finally{C(!1)}}else E((0,r.__)("Please enter a folder name.","virtual-media-folders"))},disabled:_,children:_?(0,r.__)("Creating…","virtual-media-folders"):(0,r.__)("Create","virtual-media-folders")})]})]}),c&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Edit Folder","virtual-media-folders"),onRequestClose:()=>u(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)(n.TextControl,{label:(0,r.__)("Folder Name","virtual-media-folders"),value:b,onChange:w,placeholder:(0,r.__)("Enter folder name","virtual-media-folders"),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),(0,zt.jsx)(n.SelectControl,{label:(0,r.__)("Parent Folder","virtual-media-folders"),value:String(y),options:[{label:(0,r.__)("None (top level)","virtual-media-folders"),value:"0"},...M(e,0,0,o)],onChange:e=>x(parseInt(e,10)),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),S&&(0,zt.jsx)("p",{className:"vmf-folder-modal-error",children:S}),(0,zt.jsxs)("div",{className:"vmf-folder-modal-actions",children:[(0,zt.jsx)(n.Button,{variant:"secondary",onClick:()=>u(!1),disabled:_,children:(0,r.__)("Cancel","virtual-media-folders")}),(0,zt.jsx)(n.Button,{variant:"primary",onClick:async function(){if(b.trim()){if(o&&"number"==typeof o){C(!0),E("");try{await Tt()({path:`/vmfo/v1/folders/${o}`,method:"PUT",data:{name:b.trim(),parent:y}}),w(""),x(0),u(!1),R((0,r.__)("Folder updated.","virtual-media-folders"),"success"),a?.()}catch(e){E(e.message||(0,r.__)("Failed to update folder.","virtual-media-folders"))}finally{C(!1)}}}else E((0,r.__)("Please enter a folder name.","virtual-media-folders"))},disabled:_,children:_?(0,r.__)("Saving…","virtual-media-folders"):(0,r.__)("Save","virtual-media-folders")})]})]}),f&&(0,zt.jsxs)(n.Modal,{title:(0,r.__)("Delete Folder","virtual-media-folders"),onRequestClose:()=>v(!1),className:"vmf-folder-modal",children:[(0,zt.jsx)("p",{children:(0,r.sprintf)(/* translators: %s: folder name */ /* translators: %s: folder name */
    22(0,r.__)('Are you sure you want to delete the folder "%s"?',"virtual-media-folders"),D?.name||"")}),(0,zt.jsx)("p",{className:"vmf-folder-modal-warning",children:(0,r.__)("Media items in this folder will not be deleted, only the folder organization.","virtual-media-folders")}),S&&(0,zt.jsx)("p",{className:"vmf-folder-modal-error",children:S}),(0,zt.jsxs)("div",{className:"vmf-folder-modal-actions",children:[(0,zt.jsx)(n.Button,{variant:"secondary",onClick:()=>v(!1),disabled:_,children:(0,r.__)("Cancel","virtual-media-folders")}),(0,zt.jsx)(n.Button,{variant:"primary",isDestructive:!0,onClick:async function(){if(!o||"number"!=typeof o)return;const e=D?.name;C(!0),E("");try{await Tt()({path:`/vmfo/v1/folders/${o}`,method:"DELETE"}),v(!1),R((0,r.__)("Folder deleted.","virtual-media-folders"),"success"),i?.(e),a?.()}catch(e){E(e.message||(0,r.__)("Failed to delete folder.","virtual-media-folders"))}finally{C(!1)}},disabled:_,children:_?(0,r.__)("Deleting…","virtual-media-folders"):(0,r.__)("Delete","virtual-media-folders")})]})]})]})}var Yt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"})}),Jt=(0,zt.jsx)(Kt.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,zt.jsx)(Kt.Path,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"})});function Gt({searchQuery:e,onSearchChange:o}){const[a,i]=(0,t.useState)(!1),l=(0,t.useRef)(null),s=(0,t.useRef)(null);(0,t.useEffect)(()=>{a&&l.current&&l.current.focus()},[a]);const d=()=>{i(!1),o("")},c=()=>document.querySelector(".vmf-folder-manager"),u=(0,zt.jsx)(n.Button,{ref:s,icon:Yt,label:(0,r.__)("Search folders","virtual-media-folders"),onClick:()=>{i(!0)},className:"vmf-folder-manager-button vmf-folder-search-button",size:"small",showTooltip:!1}),f=a&&c()?(0,t.createPortal)((0,zt.jsxs)("div",{className:"vmf-folder-search",children:[(0,zt.jsxs)("div",{className:"vmf-folder-search__input-wrapper",children:[(0,zt.jsx)("input",{ref:l,type:"text",className:"vmf-folder-search__input",placeholder:(0,r.__)("Search folders…","virtual-media-folders"),value:e,onChange:e=>{o(e.target.value)},onKeyDown:e=>{"Escape"===e.key&&d()},"aria-label":(0,r.__)("Search folders","virtual-media-folders")}),e&&(0,zt.jsx)(n.Button,{icon:Jt,label:(0,r.__)("Clear search","virtual-media-folders"),onClick:()=>{o(""),l.current&&l.current.focus()},className:"vmf-folder-search__clear",size:"small",showTooltip:!1})]}),(0,zt.jsx)(n.Button,{icon:Jt,label:(0,r.__)("Close search","virtual-media-folders"),onClick:d,className:"vmf-folder-manager-button vmf-folder-search__close",size:"small",showTooltip:!1})]}),c()):null;return(0,zt.jsxs)(zt.Fragment,{children:[u,f]})}function Zt({onComplete:e}){const[n,o]=(0,t.useState)([]),[a,i]=(0,t.useState)(""),[l,s]=(0,t.useState)(!1),[d,c]=(0,t.useState)(0),u=(0,t.useCallback)(async()=>{try{const e=Lt();e&&e.length>0&&o(e);const t=await async function(){return Tt()({path:"/vmfo/v1/folders"})}();o(t)}catch(e){console.error("Error fetching folders:",e)}},[]);function f(e,t="success"){const n=document.createElement("div");n.className=`notice notice-${t} vmf-notice is-dismissible`;const r=document.createElement("p");r.textContent=String(null!=e?e:""),n.appendChild(r),n.style.cssText="position: fixed; top: 40px; right: 20px; z-index: 100000; max-width: 300px;",document.body.appendChild(n),setTimeout(()=>n.remove(),3e3)}(0,t.useEffect)(()=>{u();const e=()=>{const e=Lt();e&&e.length>0&&o(e)};return window.addEventListener("vmf:folders-updated",e),()=>{window.removeEventListener("vmf:folders-updated",e)}},[u]),(0,t.useEffect)(()=>{function e(){const e=document.querySelectorAll(".attachment.selected, .attachment.details");c(e.length)}e();const t=new MutationObserver(e),n=document.querySelector(".attachments");return n&&t.observe(n,{attributes:!0,attributeFilter:["class"],subtree:!0}),document.addEventListener("click",e),()=>{t.disconnect(),document.removeEventListener("click",e)}},[]);const v=(0,t.useMemo)(()=>function(e){const t=(n=e,[...n].sort((e,t)=>{const n=e.vmfo_order,r=t.vmfo_order;return null!=n&&null!=r?n-r:null!=n?-1:null!=r?1:e.name.localeCompare(t.name)}));var n;const r={},o=[];t.forEach(e=>{r[e.id]={...e,children:[],depth:0}}),t.forEach(e=>{e.parent&&r[e.parent]?r[e.parent].children.push(r[e.id]):o.push(r[e.id])}),function e(t){t.sort((e,t)=>{const n=e.vmfo_order,r=t.vmfo_order;return null!=n&&null!=r?n-r:null!=n?-1:null!=r?1:e.name.localeCompare(t.name)}),t.forEach(t=>{t.children.length>0&&e(t.children)})}(o);const a=[];return function e(t,n){t.forEach(t=>{a.push({...t,depth:n}),t.children.length>0&&e(t.children,n+1)})}(o,0),a}(n),[n]);return 0===d?null:(0,zt.jsxs)("div",{className:"vmf-bulk-folder-action",children:[(0,zt.jsxs)("select",{value:a,onChange:e=>i(e.target.value),disabled:l,className:"vmf-bulk-folder-select",children:[(0,zt.jsx)("option",{value:"",children:(0,r.__)("Move to folder…","virtual-media-folders")}),(0,zt.jsx)("option",{value:"uncategorized",children:(0,r.__)("Uncategorized","virtual-media-folders")}),v.map(e=>(0,zt.jsx)("option",{value:e.id,children:"—".repeat(e.depth)+(e.depth>0?" ":"")+e.name},e.id))]}),(0,zt.jsx)("button",{type:"button",className:"button vmf-bulk-folder-apply",onClick:async function(){if(!a)return;const t=function(){const e=document.querySelectorAll(".attachment.selected, .attachment.details"),t=[];return e.forEach(e=>{const n=e.getAttribute("data-id");n&&t.push(parseInt(n,10))}),t}();if(0===t.length)return;s(!0);const{ajaxUrl:n,nonce:o}=window.vmfData||{};try{const i=new FormData;i.append("action","vmfo_bulk_move_to_folder"),i.append("nonce",o),i.append("media_ids",JSON.stringify(t)),i.append("folder_id",a);const l=await fetch(n,{method:"POST",credentials:"same-origin",body:i}),s=await l.json();s.success?f(s.data.message,"success"):f(s.data?.message||(0,r.__)("Failed to move items.","virtual-media-folders"),"error");const d=!document.querySelector(".attachments-browser")?.classList.contains("vmf-folder-filtered"),c=document.querySelectorAll(".attachments .attachment").length,u=!d&&c<=t.length;if(window.vmfRefreshFolders&&await window.vmfRefreshFolders(),u&&window.vmfSelectFolder){const e="uncategorized"===a?"uncategorized":parseInt(a,10);window.vmfSelectFolder(e)}else d||t.forEach(e=>{const t=document.querySelector(`.attachment[data-id="${e}"]`);t&&t.remove()});const v=document.querySelector(".select-mode-toggle-button");v&&v.click(),e?.()}catch(e){console.error("Bulk move error:",e),f((0,r.__)("Failed to move some items.","virtual-media-folders"),"error")}finally{s(!1),i("")}},disabled:!a||l,title:l?(0,r.__)("Moving…","virtual-media-folders"):(0,r.__)("Apply","virtual-media-folders"),"aria-label":l?(0,r.__)("Moving…","virtual-media-folders"):(0,r.__)("Apply","virtual-media-folders"),children:l?(0,zt.jsx)("span",{className:"spinner is-active",style:{margin:0}}):(0,zt.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"20",height:"20",fill:"currentColor","aria-hidden":"true",children:(0,zt.jsx)("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"})})}),(0,zt.jsx)("span",{className:"vmf-bulk-folder-count",children:(0,r.sprintf)(/* translators: %d: number of selected items */ /* translators: %d: number of selected items */
    33(0,r.__)("%d selected","virtual-media-folders"),d)})]})}function en({itemCount:e,onCancel:t}){const o=1===e?(0,r.__)("1 item ready to move","virtual-media-folders"):(0,r.sprintf)(/* translators: %d: number of items */ /* translators: %d: number of items */
     
    1313(0,r.__)("%d items picked up. Navigate to a folder and press Enter to drop, or press M or Escape to cancel.","virtual-media-folders"),e.length);l(t)},[l]),d=(0,t.useCallback)(()=>{n&&(o(null),l((0,r.__)("Move cancelled","virtual-media-folders")))},[n,l]),c=(0,t.useCallback)((t,a)=>{if(!n||0===n.length)return;const i=n;o(null),i.forEach(n=>{e?.(n.id,t)});const s=1===i.length?(0,r.sprintf)(/* translators: 1: media item title, 2: folder name */ /* translators: 1: media item title, 2: folder name */
    1414(0,r.__)("Moved %1$s to %2$s","virtual-media-folders"),i[0].title||(0,r.__)("item","virtual-media-folders"),a||(0,r.__)("folder","virtual-media-folders")):(0,r.sprintf)(/* translators: 1: number of items, 2: folder name */ /* translators: 1: number of items, 2: folder name */
    15 (0,r.__)("Moved %1$d items to %2$s","virtual-media-folders"),i.length,a||(0,r.__)("folder","virtual-media-folders"));l(s)},[n,e,l]),u=(0,t.useCallback)(e=>{n?d():s(e)},[n,d,s]);return(0,t.useEffect)(()=>(window.vmfMoveMode={isActive:()=>!!n,getGrabbedMedia:()=>n,pickUp:s,cancel:d,drop:c,toggle:u},()=>{delete window.vmfMoveMode}),[n,s,d,c,u]),{grabbedMedia:n,announcement:a,isActive:!!n,pickUp:s,cancel:d,drop:c,toggle:u}}((e,t)=>{window.vmfMoveToFolder&&window.vmfMoveToFolder(e,t)}),{folders:f,flatFolders:v,selectedId:m,setSelectedId:h,loading:p,uncategorizedCount:g,fetchFolders:b,handleSelect:w}=function({trackUrl:e=!1,onFolderSelect:n,mediaType:r="",defaultFolder:o=null}={}){const a=Lt()||[],i=a.length>0?Ft(a):[],l=a.length>0,[s,d]=(0,t.useState)(i),[c,u]=(0,t.useState)(a),[f,v]=(0,t.useState)(o),[m,h]=(0,t.useState)(!l),[p,g]=(0,t.useState)(0),b=(0,t.useRef)(l?a:null),w=(0,t.useCallback)(e=>[...e].sort((e,t)=>{const n=e.vmfo_order,r=t.vmfo_order;return null!=n&&null!=r?n-r:null!=n?-1:null!=r?1:e.name.localeCompare(t.name)}),[]),y=(0,t.useCallback)((e,t=null)=>{const n=w(e),r=t?n.map(e=>{var n;return{...e,count:null!==(n=t[e.id])&&void 0!==n?n:e.count}}):n;u(r),d(Ft(r))},[w]),x=(0,t.useCallback)(async(e,t)=>{try{const n=function(e){if(!e||"all"===e)return"";if(e.includes("/")||e.includes(",")){const t=e.split(",")[0].split("/")[0];return["image","video","audio","application","text"].includes(t)?t:""}return e}(e);let r="/wp/v2/media?per_page=1";n&&(r+=`&media_type=${encodeURIComponent(n)}`);const o=await Tt()({path:r,parse:!1}),a=parseInt(o.headers.get("X-WP-Total"),10)||0;let i=0;t.forEach(e=>{i+=e.count||0}),g(Math.max(0,a-i))}catch(e){}},[]),_=(0,t.useCallback)(async(e=r,t=!1)=>{try{const n=await Tt()({path:"/vmfo/v1/folders"}),r=t||!function(e,t){if(!e||!t)return!1;if(e.length!==t.length)return!1;const n=e=>JSON.stringify(e.map(e=>({id:e.id,name:e.name,parent:e.parent,vmfo_order:e.vmfo_order})));return n(e)===n(t)}(b.current,n);r&&(y(n),Ot(n),b.current=n);let o=n;if(e)try{const t=await Tt()({path:`/vmfo/v1/folders/counts?media_type=${encodeURIComponent(e)}`});o=n.map(e=>{var n;return{...e,count:null!==(n=t[e.id])&&void 0!==n?n:e.count}}),y(o)}catch(e){}x(e,o)}catch(e){console.error("Error fetching folders:",e)}finally{h(!1)}},[r,y,x]);(0,t.useEffect)(()=>{let t=o;if(e){const e=new URLSearchParams(window.location.search),n=e.get("vmfo_folder"),r=e.get("mode");n?(t="uncategorized"===n?"uncategorized":parseInt(n,10),v(t)):"folder"===r?(v(o),t=o):"grid"!==r&&"list"!==r||(t=null,v(null))}_(),null!==t&&n?.(t)},[_,e,o,n]),(0,t.useEffect)(()=>{void 0!==r&&_(r)},[r,_]);const C=(0,t.useCallback)(e=>{v(e),n?.(e)},[n]);return{folders:s,flatFolders:c,selectedId:f,setSelectedId:v,loading:m,uncategorizedCount:p,fetchFolders:_,handleSelect:C}}({trackUrl:!0,onFolderSelect:e,mediaType:n,defaultFolder:on}),[y,x]=(0,t.useState)(f);(0,t.useEffect)(()=>{x(f)},[f]);const _=(0,t.useCallback)((e,t)=>{if(!t.trim())return e;const n=t.toLowerCase(),r=e=>e.reduce((e,t)=>{const o=t.name.toLowerCase().includes(n),a=t.children?r(t.children):[];return(o||a.length>0)&&e.push({...t,children:a}),e},[]);return r(e)},[]),C=_(y,i);(0,t.useEffect)(()=>{function e(){const e=document.querySelector('select.attachment-filters[id="media-attachment-filters"], select.attachment-filters[id*="media-attachment"]');if(e){const t=e.value;return"all"===t?"":t}return""}function t(e){if(e.target.matches("select.attachment-filters")&&("media-attachment-filters"===e.target.id||e.target.id.includes("media-attachment"))){const t=e.target.value;a("all"===t?"":t)}}if(a(e()),document.addEventListener("change",t),"undefined"!=typeof wp&&wp.media&&wp.media.frame){const t=wp.media.frame;if(t.content&&t.content.get){const n=t.content.get();n&&n.collection&&n.collection.on("change:type",()=>{a(e())})}}return()=>{document.removeEventListener("change",t)}},[]);const S=(0,t.useCallback)(e=>{w(e)},[w]),E=(0,t.useCallback)(t=>{t&&c(t);const n=g>0?"uncategorized":null;h(n),e?.(n)},[g,h,e,c]),D=(0,t.useCallback)(async()=>{await b(n,!0),window.dispatchEvent(new CustomEvent("vmf:folders-updated"))},[b,n]);(0,t.useEffect)(()=>(window.vmfRefreshFolders=D,window.vmfSelectFolder=t=>{h(t),e?.(t)},()=>{delete window.vmfRefreshFolders,delete window.vmfSelectFolder}),[D,e,h]);const M=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}(B(je,{activationConstraint:{distance:8}}),B(De,{coordinateGetter:Nt})),R=(0,t.useCallback)(e=>{const{active:t,over:n}=e;if(!n||t.id===n.id)return;const r=y.map(e=>e.id),o=r.indexOf(t.id),a=r.indexOf(n.id);if(-1===o||-1===a)return;const i=ft(r,o,a),l=ft(y,o,a);x(l);const s=y.find(e=>e.id===t.id);s&&d(s.name,a+1),Ot(v.map(e=>{const t=i.indexOf(e.id);return-1!==t?{...e,vmfo_order:t}:e})),window.dispatchEvent(new CustomEvent("vmf:folders-updated")),Tt()({path:"/vmfo/v1/folders/reorder",method:"POST",data:{order:i,parent:0}}).then(()=>{b("",!0)}).catch(e=>{console.error("Failed to reorder folders:",e),b()})},[y,v,b,d]),k=C.map(e=>e.id),N=(0,t.useCallback)(t=>{if(!u.isActive)return;let n=(0,r.__)("folder","virtual-media-folders");if(null===t)n=(0,r.__)("All Media","virtual-media-folders");else if("uncategorized"===t)n=(0,r.__)("Uncategorized","virtual-media-folders");else{const e=v.find(e=>e.id===t);e&&(n=e.name)}u.drop(t,n),D(),rn&&setTimeout(()=>{h(t),e?.(t)},200)},[u,v,D,h,e]),j=(0,t.useCallback)(({folderId:e,children:t})=>(0,zt.jsx)(qt,{id:e,disabled:"number"!=typeof e,children:(0,zt.jsx)(Ht,{folderId:e,onKeyboardDrop:N,isMoveModeActive:u.isActive,children:t})}),[N,u.isActive]),I=(0,t.useCallback)(({children:e})=>(0,zt.jsx)(Ht,{folderId:"uncategorized",onKeyboardDrop:N,isMoveModeActive:u.isActive,children:e}),[N,u.isActive]),T=y.length>10,A=(0,t.useCallback)(()=>(0,zt.jsxs)("div",{className:"vmf-folder-header",children:[u.isActive&&(0,zt.jsx)(en,{itemCount:u.grabbedMedia?.length||0,onCancel:u.cancel}),(0,zt.jsx)(Xt,{folders:v,selectedId:m,onRefresh:D,onDelete:E,renderExtra:T?()=>(0,zt.jsx)(Gt,{searchQuery:i,onSearchChange:l}):void 0}),(0,zt.jsx)(Zt,{onComplete:D})]}),[v,m,D,E,u,i,T]);return(0,zt.jsxs)(st,{sensors:M,collisionDetection:V,onDragEnd:R,children:[(0,zt.jsx)(Ut,{announcement:s||u.announcement}),(0,zt.jsx)(yt,{items:k,strategy:gt,children:(0,zt.jsx)($t,{folders:C,selectedId:m,onSelect:S,uncategorizedCount:g,showAllMedia:tn,showUncategorized:nn,loading:p,renderWrapper:j,renderUncategorizedWrapper:I,renderHeader:A,enableKeyboardNav:!0,enableAutoExpand:!0,enableAria:!0,isMoveModeActive:u.isActive,forceExpand:!!i.trim(),loadingText:(0,r.__)("Loading folders…","virtual-media-folders")})})]})}let ln=!1,sn=null,dn=null;function cn(){const e=new URLSearchParams(window.location.search),t="vmfo_folder_mode_redirected";if("folder"!==e.get("mode"))try{window.sessionStorage&&sessionStorage.removeItem(t)}catch(e){}if("folder"!==e.get("mode")&&!e.has("vmfo_folder"))return;if(!document.querySelector(".wp-list-table")||document.querySelector(".attachments-browser"))return;try{if(window.sessionStorage&&"1"===sessionStorage.getItem(t))return;sessionStorage.setItem(t,"1")}catch(e){}try{localStorage.setItem("vmfo_folder_view","1")}catch(e){}const n=new URL(window.location.href);n.searchParams.set("mode","grid"),window.location.replace(n.toString())}function un(e,t="success"){const n=document.createElement("div");n.className=`notice notice-${t} vmf-notice is-dismissible`;const r=document.createElement("p");r.textContent=String(null!=e?e:""),n.appendChild(r),n.style.cssText="position: fixed; top: 40px; right: 20px; z-index: 100000; max-width: 300px;",document.body.appendChild(n),setTimeout(()=>n.remove(),3e3)}function fn(e){const t=()=>{const n=document.querySelector(".vmf-folder-tree-sidebar"),r=e.$el.find(".attachments-wrapper")[0],o=e.$el.find(".attachments")[0];if(!n)return void setTimeout(t,100);if(!r||!o)return;"function"==typeof n._cleanupSticky&&n._cleanupSticky(),n._vmfoUploaderObserver&&(n._vmfoUploaderObserver.disconnect(),delete n._vmfoUploaderObserver);let a=!1,i=null,l=0;function s(e=50){i&&clearTimeout(i),i=setTimeout(()=>{i=null,d()},e)}function d(){l=0,l<0&&(l=0),h(),n.classList.add("vmf-positioned")}setTimeout(d,100),setTimeout(d,300),setTimeout(d,600);const c=e.$el.find(".uploader-inline")[0];if(c){const e=new MutationObserver(()=>{s(50)});e.observe(c,{attributes:!0,attributeFilter:["style","class"]}),n._vmfoUploaderObserver=e}const u=document.getElementById("contextual-help-wrap"),f=document.getElementById("contextual-help-link"),v=()=>s(10),m=[];if(u){const e=new MutationObserver(()=>{s(50)});e.observe(u,{attributes:!0,attributeFilter:["class"]}),n._vmfHelpObserver=e,u.querySelectorAll(".contextual-help-tabs a").forEach(e=>{e.addEventListener("click",v),m.push(e)})}function h(){const e=o.getBoundingClientRect().top,t=r.getBoundingClientRect();if(n.style.position="fixed",n.style.left=`${t.left}px`,n.style.transform="none",e>=32){const e=t.top+l;n.style.top=`${e}px`;const r=window.innerHeight-e;n.style.height=`${Math.max(r,200)}px`}else{n.style.top="32px";const e=window.innerHeight-32;n.style.height=`${e}px`}a=!1}function p(){a||(requestAnimationFrame(h),a=!0)}function g(){d()}f&&f.addEventListener("click",v),window.addEventListener("scroll",p,{passive:!0}),window.addEventListener("resize",g,{passive:!0}),h(),n._recalculateOffset=d,n._cleanupSticky=()=>{i&&(clearTimeout(i),i=null),window.removeEventListener("scroll",p),window.removeEventListener("resize",g),n._vmfoUploaderObserver&&(n._vmfoUploaderObserver.disconnect(),delete n._vmfoUploaderObserver),n._vmfHelpObserver&&(n._vmfHelpObserver.disconnect(),delete n._vmfHelpObserver),f&&f.removeEventListener("click",v),m.forEach(e=>{e.removeEventListener("click",v)})}};t()}function vn(){jQuery(".view-switch a").removeClass("current")}function mn(e){dn=e;const t=localStorage.getItem("vmfo_folder_view"),n=new URLSearchParams(window.location.search);("1"===t||n.has("vmfo_folder")||"folder"===n.get("mode"))&&function(e,t){ln=t;const n=e.$el.find("#vmf-folder-tree"),r=jQuery(".vmf-folder-toggle-button");n.addClass("is-visible"),r.addClass("is-active"),document.body.classList.add("vmf-folder-view-active"),e.$el.addClass("vmf-sidebar-visible"),vn(),setTimeout(vn,100),setTimeout(vn,500),hn(e),fn(e);try{const e=new URL(window.location.href);e.searchParams.set("mode","folder"),window.history.replaceState({},"",e)}catch(e){}localStorage.setItem("vmfo_folder_view","1")}(e,!0)}function hn(e){const t=e.$el.find(".attachments");if(!t.length)return;function n(){t.find('.attachment:not([draggable="true"])').each(function(){const e=jQuery(this);e.attr("draggable","true");const t=e.data("id");t&&e.data("attachment-id",t)})}n();const o=t[0];o&&o._vmfoDragObserver&&(o._vmfoDragObserver.disconnect(),delete o._vmfoDragObserver);const a=new MutationObserver(n);a.observe(o,{childList:!0,subtree:!0}),o._vmfoDragObserver=a,t.off("dragstart.vmfo dragend.vmfo"),t.on("dragstart.vmfo",".attachment",function(e){window.vmfMoveMode&&window.vmfMoveMode.isActive()&&window.vmfMoveMode.cancel();const t=jQuery(this);let n=t.data("attachment-id")||t.data("id");if(!n){const e=t.attr("aria-label");if(e){const t=e.match(/id[:\s]+(\d+)/i);t&&(n=parseInt(t[1],10))}}n&&(e.originalEvent.dataTransfer.setData("text/plain",JSON.stringify({mediaId:n,title:t.find(".filename").text()||"",thumbnail:t.find("img").attr("src")||""})),e.originalEvent.dataTransfer.effectAllowed="move",t.addClass("vmf-dragging"),document.body.classList.add("vmf-internal-drag"))}),t.on("dragend.vmfo",".attachment",function(){jQuery(this).removeClass("vmf-dragging"),document.body.classList.remove("vmf-internal-drag")}),function(e){const t=e.$el.find(".attachments");t.length&&(t.off("keydown.vmfmove"),t.on("keydown.vmfmove",".attachment",function(e){if("m"===e.key||"M"===e.key){e.preventDefault(),e.stopPropagation();const n=jQuery(this);let o=n.data("attachment-id")||n.data("id");if(!o){const e=n.attr("aria-label");if(e){const t=e.match(/id[:\s]+(\d+)/i);t&&(o=parseInt(t[1],10))}}if(!o)return;const a=n.find(".filename").text()||n.attr("aria-label")||(0,r.__)("Media item","virtual-media-folders");if(window.vmfMoveMode){const e=t.find(".attachment.selected, .attachment.details");if(e.length>1&&e.is(n)){const t=[];e.each(function(){const e=jQuery(this),n=e.data("attachment-id")||e.data("id"),o=e.find(".filename").text()||e.attr("aria-label")||(0,r.__)("Media item","virtual-media-folders");n&&t.push({id:n,title:o})}),window.vmfMoveMode.toggle(t)}else window.vmfMoveMode.toggle([{id:o,title:a}])}}"Escape"===e.key&&window.vmfMoveMode&&window.vmfMoveMode.isActive()&&(e.preventDefault(),window.vmfMoveMode.cancel())}),jQuery(document).off("keydown.vmfmovecancel").on("keydown.vmfmovecancel",function(e){"Escape"===e.key&&window.vmfMoveMode&&window.vmfMoveMode.isActive()&&(e.preventDefault(),window.vmfMoveMode.cancel())}))}(e)}function pn(){if("undefined"==typeof wp||void 0===wp.media)return;const e=wp.media.view.AttachmentsBrowser.prototype.render;wp.media.view.AttachmentsBrowser.prototype.render=function(){const r=e.apply(this,arguments);return function(e){if(dn=e,e.$el.find("#vmf-folder-tree").length)return void(ln&&(e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active")));const r=document.getElementById("vmf-folder-tree"),o=r&&document.body.contains(r),a=localStorage.getItem("vmfo_folder_view"),i=new URLSearchParams(window.location.search),l="1"===a||i.has("vmfo_folder")||"folder"===i.get("mode")||ln,s=e.$el.find(".attachments-wrapper").first(),d=e.$el;let c;if(o)return c=r,s.length?s.prepend(c):d.prepend(c),(c.classList.contains("is-visible")||l)&&(c.classList.add("is-visible"),e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active"),ln=!0),void(ln&&(mn(e),hn(e),fn(e)));if(r&&!o&&sn){try{sn.unmount()}catch(e){}sn=null}c=document.createElement("div"),c.id="vmf-folder-tree",c.className="vmf-folder-tree-sidebar",l&&(c.classList.add("is-visible"),e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active"),ln=!0),s.length?s.prepend(c):d.prepend(c),sn=(0,t.createRoot)(c),sn.render((0,zt.jsxs)(n.SlotFillProvider,{children:[(0,zt.jsx)(an,{onFolderSelect:t=>{const n=new URL(window.location);t?n.searchParams.set("vmfo_folder",t):n.searchParams.delete("vmfo_folder"),n.searchParams.set("mode","folder"),window.history.pushState({},"",n);const r=e.collection;if(r){const n=r.props.get("orderby")||"date",o=r.props.get("order")||"DESC",a=e.$el.find(".attachments");a.addClass("vmf-loading");const i=e.$el.hasClass("vmf-folder-filtered"),l=null!==t;if(l?e.$el.addClass("vmf-folder-filtered"):e.$el.removeClass("vmf-folder-filtered"),i!==l){const e=document.querySelector(".vmf-folder-tree-sidebar");e&&e._recalculateOffset&&setTimeout(()=>e._recalculateOffset(),50)}r.props.unset("vmfo_folder"),r.props.unset("vmfo_folder_exclude"),"uncategorized"===t?r.props.set({vmfo_folder_exclude:"all",orderby:n,order:o}):t?r.props.set({vmfo_folder:t,orderby:n,order:o}):r.props.set({orderby:n,order:o}),r.reset(),r.more({remove:!1}).then(()=>{a.removeClass("vmf-loading")}).catch(()=>{a.removeClass("vmf-loading")})}}}),(0,zt.jsx)(n.Popover.Slot,{})]})),mn(e)}(this),r}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",cn):cn(),jQuery(document).off("click.vmfo",".view-switch a").on("click.vmfo",".view-switch a",function(e){if(jQuery(this).hasClass("vmf-folder-toggle-button"))return;if(!jQuery(this).hasClass("view-list")&&!jQuery(this).hasClass("view-grid"))return;e.preventDefault(),function(){ln=!1,localStorage.setItem("vmfo_folder_view","0");const e=jQuery("#vmf-folder-tree"),t=jQuery(".vmf-folder-toggle-button");e.removeClass("is-visible"),t.removeClass("is-active"),document.body.classList.remove("vmf-folder-view-active"),jQuery(".attachments-browser").removeClass("vmf-sidebar-visible");const n=document.querySelector(".vmf-folder-tree-sidebar");if(n&&"function"==typeof n._cleanupSticky&&n._cleanupSticky(),dn){const e=dn.$el.find(".attachments")[0];e&&e._vmfoDragObserver&&(e._vmfoDragObserver.disconnect(),delete e._vmfoDragObserver),dn.$el.find(".attachments").off("dragstart.vmfo dragend.vmfo")}try{const e=new URL(window.location.href);"folder"===e.searchParams.get("mode")&&(e.searchParams.set("mode","grid"),window.history.replaceState({},"",e))}catch(e){}jQuery(".view-switch a.view-grid").addClass("current")}();const t=jQuery(this).hasClass("view-grid")?"grid":"list";window.location.href="upload.php?mode="+t}),jQuery(document).off("click.vmfo",".page-title-action").on("click.vmfo",".page-title-action",function(){jQuery(".attachments-browser").hasClass("vmf-folder-filtered")&&"function"==typeof window.vmfSelectFolder&&window.vmfSelectFolder(null)}),jQuery(document).ready(function(){!function(){const e=jQuery(".vmf-folder-toggle-button");if(!e.length)return;const t=localStorage.getItem("vmfo_folder_view"),n=new URLSearchParams(window.location.search);let r=n.has("vmfo_folder")||"folder"===n.get("mode");r||null===t||(r="1"===t),r&&e.addClass("is-active")}()}),window.vmfMoveToFolder=async function(e,t){const{ajaxUrl:n,nonce:o}=window.vmfData||{};if(!n||!o)return void console.error("Virtual Media Folders: Missing AJAX configuration");const a=!document.querySelector(".attachments-browser")?.classList.contains("vmf-folder-filtered"),i=document.querySelectorAll(".attachments .attachment").length,l=!a&&i<=1,s=new FormData;s.append("action","vmfo_move_to_folder"),s.append("nonce",o),s.append("media_id",e),s.append("folder_id",null!=t?t:"");try{const e=await fetch(n,{method:"POST",credentials:"same-origin",body:s}),o=await e.json();o.success?(o.data?.message&&un(o.data.message,"success"),window.vmfRefreshFolders&&await window.vmfRefreshFolders(),l&&window.vmfSelectFolder?window.vmfSelectFolder(t):function(){if(!document.querySelector(".attachments-browser")?.classList.contains("vmf-folder-filtered"))return;const e=jQuery(".vmf-folder-button.is-selected");if(e.length)setTimeout(()=>{e.trigger("click")},100);else try{if(wp.media?.frame?.content?.get){const e=wp.media.frame.content.get();if(e&&e.collection){const t=e.collection.props.get("orderby")||"date",n=e.collection.props.get("order")||"DESC";e.collection.reset(),e.collection.props.set({orderby:t,order:n}),e.collection.more({remove:!1})}}}catch(e){console.error("Error refreshing media library:",e)}}()):un(o.data?.message||(0,r.__)("Failed to move media.","virtual-media-folders"),"error")}catch(e){console.error("Error moving media:",e),un((0,r.__)("Failed to move media.","virtual-media-folders"),"error")}},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",pn):pn()})();
     15(0,r.__)("Moved %1$d items to %2$s","virtual-media-folders"),i.length,a||(0,r.__)("folder","virtual-media-folders"));l(s)},[n,e,l]),u=(0,t.useCallback)(e=>{n?d():s(e)},[n,d,s]);return(0,t.useEffect)(()=>(window.vmfMoveMode={isActive:()=>!!n,getGrabbedMedia:()=>n,pickUp:s,cancel:d,drop:c,toggle:u},()=>{delete window.vmfMoveMode}),[n,s,d,c,u]),{grabbedMedia:n,announcement:a,isActive:!!n,pickUp:s,cancel:d,drop:c,toggle:u}}((e,t)=>{window.vmfMoveToFolder&&window.vmfMoveToFolder(e,t)}),{folders:f,flatFolders:v,selectedId:m,setSelectedId:h,loading:p,uncategorizedCount:g,fetchFolders:b,handleSelect:w}=function({trackUrl:e=!1,onFolderSelect:n,mediaType:r="",defaultFolder:o=null}={}){const a=Lt()||[],i=a.length>0?Ft(a):[],l=a.length>0,[s,d]=(0,t.useState)(i),[c,u]=(0,t.useState)(a),[f,v]=(0,t.useState)(o),[m,h]=(0,t.useState)(!l),[p,g]=(0,t.useState)(0),b=(0,t.useRef)(l?a:null),w=(0,t.useRef)(n);(0,t.useEffect)(()=>{w.current=n},[n]);const y=(0,t.useRef)(!1),x=(0,t.useRef)(!0);(0,t.useEffect)(()=>(x.current=!0,()=>{x.current=!1}),[]);const _=(0,t.useCallback)(e=>[...e].sort((e,t)=>{const n=e.vmfo_order,r=t.vmfo_order;return null!=n&&null!=r?n-r:null!=n?-1:null!=r?1:e.name.localeCompare(t.name)}),[]),C=(0,t.useCallback)((e,t=null)=>{const n=_(e),r=t?n.map(e=>{var n;return{...e,count:null!==(n=t[e.id])&&void 0!==n?n:e.count}}):n;u(r),d(Ft(r))},[_]),S=(0,t.useCallback)(async(e,t)=>{try{const n=function(e){if(!e||"all"===e)return"";if(e.includes("/")||e.includes(",")){const t=e.split(",")[0].split("/")[0];return["image","video","audio","application","text"].includes(t)?t:""}return e}(e);let r="/wp/v2/media?per_page=1";n&&(r+=`&media_type=${encodeURIComponent(n)}`);const o=await Tt()({path:r,parse:!1});if(!x.current)return;const a=parseInt(o.headers.get("X-WP-Total"),10)||0;let i=0;t.forEach(e=>{i+=e.count||0}),g(Math.max(0,a-i))}catch(e){}},[]),E=(0,t.useCallback)(async(e=r,t=!1)=>{try{const n=await Tt()({path:"/vmfo/v1/folders"});if(!x.current)return;const r=t||!function(e,t){if(!e||!t)return!1;if(e.length!==t.length)return!1;const n=e=>JSON.stringify(e.map(e=>({id:e.id,name:e.name,parent:e.parent,vmfo_order:e.vmfo_order})));return n(e)===n(t)}(b.current,n);r&&(C(n),Ot(n),b.current=n);let o=n;if(e)try{const t=await Tt()({path:`/vmfo/v1/folders/counts?media_type=${encodeURIComponent(e)}`});if(!x.current)return;o=n.map(e=>{var n;return{...e,count:null!==(n=t[e.id])&&void 0!==n?n:e.count}}),C(o)}catch(e){}S(e,o)}catch(e){console.error("Error fetching folders:",e)}finally{x.current&&h(!1)}},[r,C,S]);(0,t.useEffect)(()=>{if(y.current)return;y.current=!0;let t=o;if(e){const e=new URLSearchParams(window.location.search),n=e.get("vmfo_folder"),r=e.get("mode");n?(t="uncategorized"===n?"uncategorized":parseInt(n,10),v(t)):"folder"===r?(v(o),t=o):"grid"!==r&&"list"!==r||(t=null,v(null))}E(),null!==t&&w.current?.(t)},[E,e,o]),(0,t.useEffect)(()=>{void 0!==r&&E(r)},[r,E]);const D=(0,t.useCallback)(e=>{v(e),w.current?.(e)},[]);return{folders:s,flatFolders:c,selectedId:f,setSelectedId:v,loading:m,uncategorizedCount:p,fetchFolders:E,handleSelect:D}}({trackUrl:!0,onFolderSelect:e,mediaType:n,defaultFolder:on}),[y,x]=(0,t.useState)(f);(0,t.useEffect)(()=>{x(f)},[f]);const _=(0,t.useCallback)((e,t)=>{if(!t.trim())return e;const n=t.toLowerCase(),r=e=>e.reduce((e,t)=>{const o=t.name.toLowerCase().includes(n),a=t.children?r(t.children):[];return(o||a.length>0)&&e.push({...t,children:a}),e},[]);return r(e)},[]),C=_(y,i);(0,t.useEffect)(()=>{function e(){const e=document.querySelector('select.attachment-filters[id="media-attachment-filters"], select.attachment-filters[id*="media-attachment"]');if(e){const t=e.value;return"all"===t?"":t}return""}function t(e){if(e.target.matches("select.attachment-filters")&&("media-attachment-filters"===e.target.id||e.target.id.includes("media-attachment"))){const t=e.target.value;a("all"===t?"":t)}}if(a(e()),document.addEventListener("change",t),"undefined"!=typeof wp&&wp.media&&wp.media.frame){const t=wp.media.frame;if(t.content&&t.content.get){const n=t.content.get();n&&n.collection&&n.collection.on("change:type",()=>{a(e())})}}return()=>{document.removeEventListener("change",t)}},[]);const S=(0,t.useCallback)(e=>{w(e)},[w]),E=(0,t.useCallback)(t=>{t&&c(t);const n=g>0?"uncategorized":null;h(n),e?.(n)},[g,h,e,c]),D=(0,t.useCallback)(async()=>{await b(n,!0),window.dispatchEvent(new CustomEvent("vmf:folders-updated"))},[b,n]);(0,t.useEffect)(()=>(window.vmfRefreshFolders=D,window.vmfSelectFolder=t=>{h(t),e?.(t)},()=>{delete window.vmfRefreshFolders,delete window.vmfSelectFolder}),[D,e,h]);const M=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,o.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}(B(je,{activationConstraint:{distance:8}}),B(De,{coordinateGetter:Nt})),R=(0,t.useCallback)(e=>{const{active:t,over:n}=e;if(!n||t.id===n.id)return;const r=y.map(e=>e.id),o=r.indexOf(t.id),a=r.indexOf(n.id);if(-1===o||-1===a)return;const i=ft(r,o,a),l=ft(y,o,a);x(l);const s=y.find(e=>e.id===t.id);s&&d(s.name,a+1),Ot(v.map(e=>{const t=i.indexOf(e.id);return-1!==t?{...e,vmfo_order:t}:e})),window.dispatchEvent(new CustomEvent("vmf:folders-updated")),Tt()({path:"/vmfo/v1/folders/reorder",method:"POST",data:{order:i,parent:0}}).then(()=>{b("",!0)}).catch(e=>{console.error("Failed to reorder folders:",e),b()})},[y,v,b,d]),k=C.map(e=>e.id),N=(0,t.useCallback)(t=>{if(!u.isActive)return;let n=(0,r.__)("folder","virtual-media-folders");if(null===t)n=(0,r.__)("All Media","virtual-media-folders");else if("uncategorized"===t)n=(0,r.__)("Uncategorized","virtual-media-folders");else{const e=v.find(e=>e.id===t);e&&(n=e.name)}u.drop(t,n),D(),rn&&setTimeout(()=>{h(t),e?.(t)},200)},[u,v,D,h,e]),j=(0,t.useCallback)(({folderId:e,children:t})=>(0,zt.jsx)(qt,{id:e,disabled:"number"!=typeof e,children:(0,zt.jsx)(Ht,{folderId:e,onKeyboardDrop:N,isMoveModeActive:u.isActive,children:t})}),[N,u.isActive]),I=(0,t.useCallback)(({children:e})=>(0,zt.jsx)(Ht,{folderId:"uncategorized",onKeyboardDrop:N,isMoveModeActive:u.isActive,children:e}),[N,u.isActive]),T=y.length>10,A=(0,t.useCallback)(()=>(0,zt.jsxs)("div",{className:"vmf-folder-header",children:[u.isActive&&(0,zt.jsx)(en,{itemCount:u.grabbedMedia?.length||0,onCancel:u.cancel}),(0,zt.jsx)(Xt,{folders:v,selectedId:m,onRefresh:D,onDelete:E,renderExtra:T?()=>(0,zt.jsx)(Gt,{searchQuery:i,onSearchChange:l}):void 0}),(0,zt.jsx)(Zt,{onComplete:D})]}),[v,m,D,E,u,i,T]);return(0,zt.jsxs)(st,{sensors:M,collisionDetection:V,onDragEnd:R,children:[(0,zt.jsx)($t,{announcement:s||u.announcement}),(0,zt.jsx)(yt,{items:k,strategy:gt,children:(0,zt.jsx)(Ut,{folders:C,selectedId:m,onSelect:S,uncategorizedCount:g,showAllMedia:tn,showUncategorized:nn,loading:p,renderWrapper:j,renderUncategorizedWrapper:I,renderHeader:A,enableKeyboardNav:!0,enableAutoExpand:!0,enableAria:!0,isMoveModeActive:u.isActive,forceExpand:!!i.trim(),loadingText:(0,r.__)("Loading folders…","virtual-media-folders")})})]})}let ln=!1,sn=null,dn=null;function cn(){const e=new URLSearchParams(window.location.search),t="vmfo_folder_mode_redirected";if("folder"!==e.get("mode"))try{window.sessionStorage&&sessionStorage.removeItem(t)}catch(e){}if("folder"!==e.get("mode")&&!e.has("vmfo_folder"))return;if(!document.querySelector(".wp-list-table")||document.querySelector(".attachments-browser"))return;try{if(window.sessionStorage&&"1"===sessionStorage.getItem(t))return;sessionStorage.setItem(t,"1")}catch(e){}try{localStorage.setItem("vmfo_folder_view","1")}catch(e){}const n=new URL(window.location.href);n.searchParams.set("mode","grid"),window.location.replace(n.toString())}function un(){if(!document.querySelector(".attachments-browser")?.classList.contains("vmf-folder-filtered"))return;const e=jQuery(".vmf-folder-button.is-selected");if(e.length)setTimeout(()=>{e.trigger("click")},100);else try{if(wp.media?.frame?.content?.get){const e=wp.media.frame.content.get();if(e&&e.collection){const t=e.collection.props.get("orderby")||"date",n=e.collection.props.get("order")||"DESC";e.collection.reset(),e.collection.props.set({orderby:t,order:n}),e.collection.more({remove:!1})}}}catch(e){console.error("Error refreshing media library:",e)}}function fn(e,t="success"){const n=document.createElement("div");n.className=`notice notice-${t} vmf-notice is-dismissible`;const r=document.createElement("p");r.textContent=String(null!=e?e:""),n.appendChild(r),n.style.cssText="position: fixed; top: 40px; right: 20px; z-index: 100000; max-width: 300px;",document.body.appendChild(n),setTimeout(()=>n.remove(),3e3)}function vn(e){const t=()=>{const n=document.querySelector(".vmf-folder-tree-sidebar"),r=e.$el.find(".attachments-wrapper")[0],o=e.$el.find(".attachments")[0];if(!n)return void setTimeout(t,100);if(!r||!o)return;"function"==typeof n._cleanupSticky&&n._cleanupSticky(),n._vmfoUploaderObserver&&(n._vmfoUploaderObserver.disconnect(),delete n._vmfoUploaderObserver);let a=!1,i=null,l=0;function s(e=50){i&&clearTimeout(i),i=setTimeout(()=>{i=null,d()},e)}function d(){l=0,l<0&&(l=0),h(),n.classList.add("vmf-positioned")}setTimeout(d,100),setTimeout(d,300),setTimeout(d,600);const c=e.$el.find(".uploader-inline")[0];if(c){const e=new MutationObserver(()=>{s(50)});e.observe(c,{attributes:!0,attributeFilter:["style","class"]}),n._vmfoUploaderObserver=e}const u=document.getElementById("contextual-help-wrap"),f=document.getElementById("contextual-help-link"),v=()=>s(10),m=[];if(u){const e=new MutationObserver(()=>{s(50)});e.observe(u,{attributes:!0,attributeFilter:["class"]}),n._vmfHelpObserver=e,u.querySelectorAll(".contextual-help-tabs a").forEach(e=>{e.addEventListener("click",v),m.push(e)})}function h(){const e=o.getBoundingClientRect().top,t=r.getBoundingClientRect();if(n.style.position="fixed",n.style.left=`${t.left}px`,n.style.transform="none",e>=32){const e=t.top+l;n.style.top=`${e}px`;const r=window.innerHeight-e;n.style.height=`${Math.max(r,200)}px`}else{n.style.top="32px";const e=window.innerHeight-32;n.style.height=`${e}px`}a=!1}function p(){a||(requestAnimationFrame(h),a=!0)}function g(){d()}f&&f.addEventListener("click",v),window.addEventListener("scroll",p,{passive:!0}),window.addEventListener("resize",g,{passive:!0}),h(),n._recalculateOffset=d,n._cleanupSticky=()=>{i&&(clearTimeout(i),i=null),window.removeEventListener("scroll",p),window.removeEventListener("resize",g),n._vmfoUploaderObserver&&(n._vmfoUploaderObserver.disconnect(),delete n._vmfoUploaderObserver),n._vmfHelpObserver&&(n._vmfHelpObserver.disconnect(),delete n._vmfHelpObserver),f&&f.removeEventListener("click",v),m.forEach(e=>{e.removeEventListener("click",v)})}};t()}function mn(){jQuery(".view-switch a").removeClass("current")}function hn(e){dn=e;const t=localStorage.getItem("vmfo_folder_view"),n=new URLSearchParams(window.location.search);("1"===t||n.has("vmfo_folder")||"folder"===n.get("mode"))&&function(e,t){ln=t;const n=e.$el.find("#vmf-folder-tree"),r=jQuery(".vmf-folder-toggle-button");n.addClass("is-visible"),r.addClass("is-active"),document.body.classList.add("vmf-folder-view-active"),e.$el.addClass("vmf-sidebar-visible"),mn(),setTimeout(mn,100),setTimeout(mn,500),bn(e),vn(e);try{const e=new URL(window.location.href);e.searchParams.set("mode","folder"),window.history.replaceState({},"",e)}catch(e){}localStorage.setItem("vmfo_folder_view","1")}(e,!0)}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",cn):cn(),jQuery(document).off("click.vmfo",".view-switch a").on("click.vmfo",".view-switch a",function(e){if(jQuery(this).hasClass("vmf-folder-toggle-button"))return;if(!jQuery(this).hasClass("view-list")&&!jQuery(this).hasClass("view-grid"))return;e.preventDefault(),function(){ln=!1,localStorage.setItem("vmfo_folder_view","0");const e=jQuery("#vmf-folder-tree"),t=jQuery(".vmf-folder-toggle-button");e.removeClass("is-visible"),t.removeClass("is-active"),document.body.classList.remove("vmf-folder-view-active"),jQuery(".attachments-browser").removeClass("vmf-sidebar-visible");const n=document.querySelector(".vmf-folder-tree-sidebar");if(n&&"function"==typeof n._cleanupSticky&&n._cleanupSticky(),dn){const e=dn.$el.find(".attachments")[0];e&&e._vmfoDragObserver&&(e._vmfoDragObserver.disconnect(),delete e._vmfoDragObserver),dn.$el.find(".attachments").off("dragstart.vmfo dragend.vmfo")}try{const e=new URL(window.location.href);"folder"===e.searchParams.get("mode")&&(e.searchParams.set("mode","grid"),window.history.replaceState({},"",e))}catch(e){}jQuery(".view-switch a.view-grid").addClass("current")}();const t=jQuery(this).hasClass("view-grid")?"grid":"list";window.location.href="upload.php?mode="+t}),jQuery(document).off("click.vmfo",".page-title-action").on("click.vmfo",".page-title-action",function(){const e=jQuery(".attachments-browser");if(e.hasClass("vmf-folder-filtered")){e.removeClass("vmf-folder-filtered");const t=document.querySelector(".vmf-folder-tree-sidebar");t&&t._recalculateOffset&&setTimeout(()=>t._recalculateOffset(),50)}}),jQuery(document).ready(function(){!function(){const e=jQuery(".vmf-folder-toggle-button");if(!e.length)return;const t=localStorage.getItem("vmfo_folder_view"),n=new URLSearchParams(window.location.search);let r=n.has("vmfo_folder")||"folder"===n.get("mode");r||null===t||(r="1"===t),r&&e.addClass("is-active")}()}),window.vmfMoveToFolder=async function(e,t){const{ajaxUrl:n,nonce:o}=window.vmfData||{};if(!n||!o)return void console.error("Virtual Media Folders: Missing AJAX configuration");const a=!document.querySelector(".attachments-browser")?.classList.contains("vmf-folder-filtered"),i=document.querySelectorAll(".attachments .attachment").length,l=!a&&i<=1,s=new FormData;s.append("action","vmfo_move_to_folder"),s.append("nonce",o),s.append("media_id",e),s.append("folder_id",null!=t?t:"");try{const e=await fetch(n,{method:"POST",credentials:"same-origin",body:s}),o=await e.json();o.success?(o.data?.message&&fn(o.data.message,"success"),window.vmfRefreshFolders&&await window.vmfRefreshFolders(),l&&window.vmfSelectFolder?window.vmfSelectFolder(t):un()):fn(o.data?.message||(0,r.__)("Failed to move media.","virtual-media-folders"),"error")}catch(e){console.error("Error moving media:",e),fn((0,r.__)("Failed to move media.","virtual-media-folders"),"error")}},window.vmfRefreshMediaLibrary=un;let pn=null;function gn(){pn&&clearTimeout(pn),pn=setTimeout(()=>{window.vmfRefreshFolders&&window.vmfRefreshFolders(),pn=null},500)}function bn(e){const t=e.$el.find(".attachments");if(!t.length)return;function n(){t.find('.attachment:not([draggable="true"])').each(function(){const e=jQuery(this);e.attr("draggable","true");const t=e.data("id");t&&e.data("attachment-id",t)})}n();const o=t[0];o&&o._vmfoDragObserver&&(o._vmfoDragObserver.disconnect(),delete o._vmfoDragObserver);const a=new MutationObserver(n);a.observe(o,{childList:!0,subtree:!0}),o._vmfoDragObserver=a,t.off("dragstart.vmfo dragend.vmfo"),t.on("dragstart.vmfo",".attachment",function(e){window.vmfMoveMode&&window.vmfMoveMode.isActive()&&window.vmfMoveMode.cancel();const t=jQuery(this);let n=t.data("attachment-id")||t.data("id");if(!n){const e=t.attr("aria-label");if(e){const t=e.match(/id[:\s]+(\d+)/i);t&&(n=parseInt(t[1],10))}}n&&(e.originalEvent.dataTransfer.setData("text/plain",JSON.stringify({mediaId:n,title:t.find(".filename").text()||"",thumbnail:t.find("img").attr("src")||""})),e.originalEvent.dataTransfer.effectAllowed="move",t.addClass("vmf-dragging"),document.body.classList.add("vmf-internal-drag"))}),t.on("dragend.vmfo",".attachment",function(){jQuery(this).removeClass("vmf-dragging"),document.body.classList.remove("vmf-internal-drag")}),function(e){const t=e.$el.find(".attachments");t.length&&(t.off("keydown.vmfmove"),t.on("keydown.vmfmove",".attachment",function(e){if("m"===e.key||"M"===e.key){e.preventDefault(),e.stopPropagation();const n=jQuery(this);let o=n.data("attachment-id")||n.data("id");if(!o){const e=n.attr("aria-label");if(e){const t=e.match(/id[:\s]+(\d+)/i);t&&(o=parseInt(t[1],10))}}if(!o)return;const a=n.find(".filename").text()||n.attr("aria-label")||(0,r.__)("Media item","virtual-media-folders");if(window.vmfMoveMode){const e=t.find(".attachment.selected, .attachment.details");if(e.length>1&&e.is(n)){const t=[];e.each(function(){const e=jQuery(this),n=e.data("attachment-id")||e.data("id"),o=e.find(".filename").text()||e.attr("aria-label")||(0,r.__)("Media item","virtual-media-folders");n&&t.push({id:n,title:o})}),window.vmfMoveMode.toggle(t)}else window.vmfMoveMode.toggle([{id:o,title:a}])}}"Escape"===e.key&&window.vmfMoveMode&&window.vmfMoveMode.isActive()&&(e.preventDefault(),window.vmfMoveMode.cancel())}),jQuery(document).off("keydown.vmfmovecancel").on("keydown.vmfmovecancel",function(e){"Escape"===e.key&&window.vmfMoveMode&&window.vmfMoveMode.isActive()&&(e.preventDefault(),window.vmfMoveMode.cancel())}))}(e)}function wn(){if("undefined"==typeof wp||void 0===wp.media)return;const e=wp.media.view.AttachmentsBrowser.prototype.render;wp.media.view.AttachmentsBrowser.prototype.render=function(){const r=e.apply(this,arguments);return function(e){if(dn=e,e.$el.find("#vmf-folder-tree").length)return void(ln&&(e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active")));const r=document.getElementById("vmf-folder-tree"),o=r&&document.body.contains(r),a=localStorage.getItem("vmfo_folder_view"),i=new URLSearchParams(window.location.search),l="1"===a||i.has("vmfo_folder")||"folder"===i.get("mode")||ln,s=e.$el.find(".attachments-wrapper").first(),d=e.$el;let c;if(o)return c=r,s.length?s.prepend(c):d.prepend(c),(c.classList.contains("is-visible")||l)&&(c.classList.add("is-visible"),e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active"),ln=!0),void(ln&&(hn(e),bn(e),vn(e)));if(r&&!o&&sn){try{sn.unmount()}catch(e){}sn=null}c=document.createElement("div"),c.id="vmf-folder-tree",c.className="vmf-folder-tree-sidebar",l&&(c.classList.add("is-visible"),e.$el.addClass("vmf-sidebar-visible"),document.body.classList.add("vmf-folder-view-active"),ln=!0),s.length?s.prepend(c):d.prepend(c),sn=(0,t.createRoot)(c),sn.render((0,zt.jsxs)(n.SlotFillProvider,{children:[(0,zt.jsx)(an,{onFolderSelect:t=>{const n=new URL(window.location);t?n.searchParams.set("vmfo_folder",t):n.searchParams.delete("vmfo_folder"),n.searchParams.set("mode","folder"),window.history.pushState({},"",n);const r=e.collection;if(r){const n=r.props.get("orderby")||"date",o=r.props.get("order")||"DESC",a=e.$el.find(".attachments");a.addClass("vmf-loading");const i=e.$el.hasClass("vmf-folder-filtered"),l=null!==t;if(l?e.$el.addClass("vmf-folder-filtered"):e.$el.removeClass("vmf-folder-filtered"),i!==l){const e=document.querySelector(".vmf-folder-tree-sidebar");e&&e._recalculateOffset&&setTimeout(()=>e._recalculateOffset(),50)}r.props.unset("vmfo_folder"),r.props.unset("vmfo_folder_exclude"),"uncategorized"===t?r.props.set({vmfo_folder_exclude:"all",orderby:n,order:o}):t?r.props.set({vmfo_folder:t,orderby:n,order:o}):r.props.set({orderby:n,order:o}),r.reset(),r.more({remove:!1}).then(()=>{a.removeClass("vmf-loading")}).catch(()=>{a.removeClass("vmf-loading")})}}}),(0,zt.jsx)(n.Popover.Slot,{})]})),hn(e),function(e){e._vmfUploadListenerSetup||(e._vmfUploadListenerSetup=!0,e.collection&&e.collection.on("add",gn),e.uploader&&e.uploader.uploader&&e.uploader.uploader.bind("FileUploaded",gn))}(e)}(this),r}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",wn):wn()})();
  • virtual-media-folders/trunk/build/editor.asset.php

    r3432349 r3445057  
    1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '8ab0ba722818ad0eb3a8');
     1<?php return array('dependencies' => array('react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '600a65131264b00b3b14');
  • virtual-media-folders/trunk/build/editor.js

    r3432349 r3445057  
    1 (()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var l in r)e.o(r,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:r[l]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.element,r=window.wp.apiFetch;var l=e.n(r);const n="vmfo_folders_cache";function o(e){const t={},r=[];return e.forEach(e=>{t[e.id]={...e,children:[]}}),e.forEach(e=>{e.parent&&t[e.parent]?t[e.parent].children.push(t[e.id]):r.push(t[e.id])}),r}const a=window.wp.i18n,i=window.ReactJSXRuntime;function s({expanded:e}){return(0,i.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:e?(0,i.jsx)("polyline",{points:"6 9 12 15 18 9"}):(0,i.jsx)("polyline",{points:"9 6 15 12 9 18"})})}function d({folder:e,selectedId:r,onSelect:l,level:n=0,parentId:o=null,renderWrapper:c,enableKeyboardNav:f=!1,enableAutoExpand:u=!1,enableAria:m=!1,isMoveModeActive:p=!1,forceExpand:v=!1}){const h=e=>!(!e.children||0===e.children.length)&&e.children.some(e=>e.id===r||h(e)),g=u&&h(e),[w,x]=(0,t.useState)(g),b=v||w||g,y=e.children&&e.children.length>0,_=r===e.id;(0,t.useEffect)(()=>{g&&!w&&x(!0)},[g,w]);const j=(0,i.jsxs)("button",{type:"button",className:"vmf-folder-button "+(_?"is-selected":""),style:{paddingLeft:16*n+8+"px"},onClick:()=>l(e.id),onKeyDown:f?t=>{if(f)if("ArrowRight"===t.key&&y&&!b)t.preventDefault(),x(!0);else if("ArrowLeft"===t.key)t.preventDefault(),y&&b?x(!1):null!==o&&l(o);else if("Enter"===t.key||" "===t.key){if(p)return;t.preventDefault(),l(e.id)}}:void 0,"aria-current":_?"true":void 0,title:e.name,children:[y?(0,i.jsx)("span",{className:"vmf-folder-toggle",onClick:t=>{t.stopPropagation(),b&&h(e)&&l(e.id),x(!b)},onKeyDown:f?t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),b&&h(e)&&l(e.id),x(!b))}:void 0,role:f?"button":void 0,tabIndex:f?0:void 0,"aria-label":b?(0,a.__)("Collapse","virtual-media-folders"):(0,a.__)("Expand","virtual-media-folders"),children:(0,i.jsx)(s,{expanded:b})}):(0,i.jsx)("span",{className:"vmf-folder-toggle vmf-folder-toggle--placeholder","aria-hidden":"true"}),(0,i.jsx)("span",{className:"vmf-folder-name",children:e.name}),"number"==typeof e.count&&!(y&&0===e.count)&&(0,i.jsxs)("span",{className:"vmf-folder-count","aria-label":m?`${e.count} ${(0,a.__)("items","virtual-media-folders")}`:void 0,children:["(",e.count,")"]})]}),C=c?c({folderId:e.id,children:j}):j,S=m?{role:"treeitem","aria-expanded":y?b:void 0,"aria-selected":_}:{};return(0,i.jsxs)("li",{className:"vmf-folder-item",...S,children:[C,y&&b&&(0,i.jsx)("ul",{className:"vmf-folder-children",role:m?"group":void 0,children:e.children.map(t=>(0,i.jsx)(d,{folder:t,selectedId:r,onSelect:l,level:n+1,parentId:e.id,renderWrapper:c,enableKeyboardNav:f,enableAutoExpand:u,enableAria:m,isMoveModeActive:p,forceExpand:v},t.id))})]})}function c({folders:e,selectedId:t,onSelect:r,uncategorizedCount:l,showAllMedia:n=!0,showUncategorized:o=!0,loading:s,renderWrapper:c,renderUncategorizedWrapper:f,renderHeader:u,enableKeyboardNav:m=!1,enableAutoExpand:p=!1,enableAria:v=!1,isMoveModeActive:h=!1,forceExpand:g=!1,className:w="",loadingText:x}){if(s){const e=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,i.jsx)("div",{className:`${e} ${e}--loading ${w}`,"aria-label":v?(0,a.__)("Media folders","virtual-media-folders"):void 0,children:(0,i.jsx)("p",{"aria-live":v?"polite":void 0,children:x||(0,a.__)("Loading…","virtual-media-folders")})})}const b=(0,i.jsx)("button",{type:"button",className:"vmf-folder-button "+(null===t?"is-selected":""),onClick:()=>r(null),"aria-current":null===t?"true":void 0,children:(0,i.jsx)("span",{className:"vmf-folder-name",children:(0,a.__)("All Media","virtual-media-folders")})}),y=(0,i.jsxs)("button",{type:"button",className:"vmf-folder-button "+("uncategorized"===t?"is-selected":""),onClick:()=>r("uncategorized"),"aria-current":"uncategorized"===t?"true":void 0,children:[(0,i.jsx)("span",{className:"vmf-folder-name",children:(0,a.__)("Uncategorized","virtual-media-folders")}),(0,i.jsxs)("span",{className:"vmf-folder-count","aria-label":v?`${l} ${(0,a.__)("items","virtual-media-folders")}`:void 0,children:["(",l,")"]})]}),_=f?f({children:y}):y,j=v?"nav":"div",C=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,i.jsxs)(j,{className:`${C} ${w}`,"aria-label":v?(0,a.__)("Media folders","virtual-media-folders"):void 0,children:[u&&u(),(0,i.jsxs)("ul",{className:"vmf-folder-list",role:v?"tree":void 0,"aria-label":v?(0,a.__)("Folder tree","virtual-media-folders"):void 0,children:[n&&(0,i.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?null===t:void 0,children:b}),o&&(0,i.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?"uncategorized"===t:void 0,children:_}),e.map(e=>(0,i.jsx)(d,{folder:e,selectedId:t,onSelect:r,renderWrapper:c,enableKeyboardNav:m,enableAutoExpand:p,enableAria:v,isMoveModeActive:h,forceExpand:g},e.id))]})]})}const f=window.wp.components,u=window.wp.primitives;var m=(0,i.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,i.jsx)(u.Path,{d:"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"})}),p=(0,i.jsx)(u.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,i.jsx)(u.Path,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"})});function v({searchQuery:e,onSearchChange:r}){const[l,n]=(0,t.useState)(!1),o=(0,t.useRef)(null);(0,t.useEffect)(()=>{l&&o.current&&o.current.focus()},[l]);const s=()=>{n(!1),r("")};return l?(0,i.jsxs)("div",{className:"vmf-editor-search",children:[(0,i.jsxs)("div",{className:"vmf-editor-search__input-wrapper",children:[(0,i.jsx)("input",{ref:o,type:"text",className:"vmf-editor-search__input",placeholder:(0,a.__)("Search folders…","virtual-media-folders"),value:e,onChange:e=>{r(e.target.value)},onKeyDown:e=>{"Escape"===e.key&&s()},"aria-label":(0,a.__)("Search folders","virtual-media-folders")}),e&&(0,i.jsx)(f.Button,{icon:p,label:(0,a.__)("Clear search","virtual-media-folders"),onClick:()=>{r(""),o.current&&o.current.focus()},className:"vmf-editor-search__clear",size:"small",showTooltip:!1})]}),(0,i.jsx)(f.Button,{icon:p,label:(0,a.__)("Close search","virtual-media-folders"),onClick:s,className:"vmf-editor-search__close",size:"small",showTooltip:!1})]}):(0,i.jsx)(f.Button,{icon:m,label:(0,a.__)("Search folders","virtual-media-folders"),onClick:()=>{n(!0)},className:"vmf-editor-search-button",size:"small",showTooltip:!1})}function h({onFolderSelect:e}){const{showAllMedia:r=!0,showUncategorized:a=!0}=window.vmfEditor||{},[s,d]=(0,t.useState)(""),{folders:f,selectedId:u,loading:m,uncategorizedCount:p,handleSelect:h}=function({trackUrl:e=!1,onFolderSelect:r,mediaType:a="",defaultFolder:i=null}={}){const s=function(){try{const e=localStorage.getItem(n);if(e)return JSON.parse(e)}catch(e){}return window.vmfData?.folders?window.vmfData.folders:window.vmfEditor?.folders?window.vmfEditor.folders:null}()||[],d=s.length>0?o(s):[],c=s.length>0,[f,u]=(0,t.useState)(d),[m,p]=(0,t.useState)(s),[v,h]=(0,t.useState)(i),[g,w]=(0,t.useState)(!c),[x,b]=(0,t.useState)(0),y=(0,t.useRef)(c?s:null),_=(0,t.useCallback)(e=>[...e].sort((e,t)=>{const r=e.vmfo_order,l=t.vmfo_order;return null!=r&&null!=l?r-l:null!=r?-1:null!=l?1:e.name.localeCompare(t.name)}),[]),j=(0,t.useCallback)((e,t=null)=>{const r=_(e),l=t?r.map(e=>{var r;return{...e,count:null!==(r=t[e.id])&&void 0!==r?r:e.count}}):r;p(l),u(o(l))},[_]),C=(0,t.useCallback)(async(e,t)=>{try{const r=function(e){if(!e||"all"===e)return"";if(e.includes("/")||e.includes(",")){const t=e.split(",")[0].split("/")[0];return["image","video","audio","application","text"].includes(t)?t:""}return e}(e);let n="/wp/v2/media?per_page=1";r&&(n+=`&media_type=${encodeURIComponent(r)}`);const o=await l()({path:n,parse:!1}),a=parseInt(o.headers.get("X-WP-Total"),10)||0;let i=0;t.forEach(e=>{i+=e.count||0}),b(Math.max(0,a-i))}catch(e){}},[]),S=(0,t.useCallback)(async(e=a,t=!1)=>{try{const r=await l()({path:"/vmfo/v1/folders"}),o=t||!function(e,t){if(!e||!t)return!1;if(e.length!==t.length)return!1;const r=e=>JSON.stringify(e.map(e=>({id:e.id,name:e.name,parent:e.parent,vmfo_order:e.vmfo_order})));return r(e)===r(t)}(y.current,r);o&&(j(r),function(e){try{localStorage.setItem(n,JSON.stringify(e))}catch(e){}}(r),y.current=r);let a=r;if(e)try{const t=await l()({path:`/vmfo/v1/folders/counts?media_type=${encodeURIComponent(e)}`});a=r.map(e=>{var r;return{...e,count:null!==(r=t[e.id])&&void 0!==r?r:e.count}}),j(a)}catch(e){}C(e,a)}catch(e){console.error("Error fetching folders:",e)}finally{w(!1)}},[a,j,C]);(0,t.useEffect)(()=>{let t=i;if(e){const e=new URLSearchParams(window.location.search),r=e.get("vmfo_folder"),l=e.get("mode");r?(t="uncategorized"===r?"uncategorized":parseInt(r,10),h(t)):"folder"===l?(h(i),t=i):"grid"!==l&&"list"!==l||(t=null,h(null))}S(),null!==t&&r?.(t)},[S,e,i,r]),(0,t.useEffect)(()=>{void 0!==a&&S(a)},[a,S]);const N=(0,t.useCallback)(e=>{h(e),r?.(e)},[r]);return{folders:f,flatFolders:m,selectedId:v,setSelectedId:h,loading:g,uncategorizedCount:x,fetchFolders:S,handleSelect:N}}({trackUrl:!1,onFolderSelect:e}),g=(0,t.useCallback)((e,t)=>{if(!t.trim())return e;const r=t.toLowerCase(),l=e=>e.reduce((e,t)=>{const n=t.name.toLowerCase().includes(r),o=t.children?l(t.children):[];return(n||o.length>0)&&e.push({...t,children:o}),e},[]);return l(e)},[]),w=g(f,s),x=f.length>10,b=(0,t.useCallback)(()=>x?(0,i.jsx)("div",{className:"vmf-folder-sidebar-header",children:(0,i.jsx)(v,{searchQuery:s,onSearchChange:d})}):null,[s,x]);return(0,i.jsx)(c,{folders:w,selectedId:u,onSelect:h,uncategorizedCount:p,loading:m,showAllMedia:r,showUncategorized:a,renderHeader:b,enableKeyboardNav:!1,enableAutoExpand:!1,enableAria:!1,forceExpand:!!s.trim()})}function g(){if(!window.wp?.media?.view?.AttachmentsBrowser)return void setTimeout(g,100);const e=wp.media.view.AttachmentsBrowser.prototype.render;wp.media.view.AttachmentsBrowser.prototype.render=function(){if(e.apply(this,arguments),!this.$el.find(".vmf-editor-folder-sidebar").length){const e=this.$el.find(".attachments-wrapper").first(),r=this.$el.find(".attachments").first();if(e.length||r.length){const l=document.createElement("div");l.className="vmf-editor-folder-sidebar",e.length?e.prepend(l):r.before(l);const n=this.collection,o=this;(0,t.createRoot)(l).render((0,t.createElement)(h,{onFolderSelect:e=>{if(!n)return;const t=o.$el.find(".attachments");t.addClass("vmf-loading"),null!==e?o.$el.addClass("vmf-folder-filtered"):o.$el.removeClass("vmf-folder-filtered"),n.props.unset("vmfo_folder"),n.props.unset("vmfo_folder_exclude"),"uncategorized"===e?n.props.set({vmfo_folder_exclude:"all"}):e&&""!==e&&n.props.set({vmfo_folder:parseInt(e,10)}),n.reset(),n.more({remove:!1}).then(()=>{t.removeClass("vmf-loading")}).catch(()=>{t.removeClass("vmf-loading")})}})),this.$el.addClass("vmf-has-folder-sidebar"),function(e,t){const r=e.$el.find(".attachments-wrapper").first(),l=e.$el.find(".attachments").first();if(!r.length||!l.length)return;const n=r[0];let o=!1;function a(){const e=n.getBoundingClientRect(),r=n.scrollTop>0;r&&!o?(t.style.position="fixed",t.style.top=`${e.top}px`,t.style.left=`${e.left}px`,t.style.height=`${e.height}px`,t.style.width="220px",t.style.zIndex="100",o=!0):!r&&o?(t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.height="100%",t.style.width="",t.style.zIndex="",o=!1):o&&(t.style.top=`${e.top}px`,t.style.left=`${e.left}px`,t.style.height=`${e.height}px`)}n.addEventListener("scroll",()=>{requestAnimationFrame(a)},{passive:!0}),window.addEventListener("resize",a,{passive:!0}),setTimeout(a,100)}(this,l)}}return this}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",g):g()})();
     1(()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.element,r=window.wp.apiFetch;var n=e.n(r);const l="vmfo_folders_cache";function o(e){const t={},r=[];return e.forEach(e=>{t[e.id]={...e,children:[]}}),e.forEach(e=>{e.parent&&t[e.parent]?t[e.parent].children.push(t[e.id]):r.push(t[e.id])}),r}const a=window.wp.i18n,i=window.ReactJSXRuntime;function s({expanded:e}){return(0,i.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:e?(0,i.jsx)("polyline",{points:"6 9 12 15 18 9"}):(0,i.jsx)("polyline",{points:"9 6 15 12 9 18"})})}function d({folder:e,selectedId:r,onSelect:n,level:l=0,parentId:o=null,renderWrapper:c,enableKeyboardNav:u=!1,enableAutoExpand:f=!1,enableAria:m=!1,isMoveModeActive:p=!1,forceExpand:v=!1}){const h=e=>!(!e.children||0===e.children.length)&&e.children.some(e=>e.id===r||h(e)),g=f&&h(e),[w,x]=(0,t.useState)(g),y=v||w||g,b=e.children&&e.children.length>0,_=r===e.id;(0,t.useEffect)(()=>{g&&!w&&x(!0)},[g,w]);const j=(0,i.jsxs)("button",{type:"button",className:"vmf-folder-button "+(_?"is-selected":""),style:{paddingLeft:16*l+8+"px"},onClick:()=>n(e.id),onKeyDown:u?t=>{if(u)if("ArrowRight"===t.key&&b&&!y)t.preventDefault(),x(!0);else if("ArrowLeft"===t.key)t.preventDefault(),b&&y?x(!1):null!==o&&n(o);else if("Enter"===t.key||" "===t.key){if(p)return;t.preventDefault(),n(e.id)}}:void 0,"aria-current":_?"true":void 0,title:e.name,children:[b?(0,i.jsx)("span",{className:"vmf-folder-toggle",onClick:t=>{t.stopPropagation(),y&&h(e)&&n(e.id),x(!y)},onKeyDown:u?t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),y&&h(e)&&n(e.id),x(!y))}:void 0,role:u?"button":void 0,tabIndex:u?0:void 0,"aria-label":y?(0,a.__)("Collapse","virtual-media-folders"):(0,a.__)("Expand","virtual-media-folders"),children:(0,i.jsx)(s,{expanded:y})}):(0,i.jsx)("span",{className:"vmf-folder-toggle vmf-folder-toggle--placeholder","aria-hidden":"true"}),(0,i.jsx)("span",{className:"vmf-folder-name",children:e.name}),"number"==typeof e.count&&!(b&&0===e.count)&&(0,i.jsxs)("span",{className:"vmf-folder-count","aria-label":m?`${e.count} ${(0,a.__)("items","virtual-media-folders")}`:void 0,children:["(",e.count,")"]})]}),C=c?c({folderId:e.id,children:j}):j,S=m?{role:"treeitem","aria-expanded":b?y:void 0,"aria-selected":_}:{};return(0,i.jsxs)("li",{className:"vmf-folder-item",...S,children:[C,b&&y&&(0,i.jsx)("ul",{className:"vmf-folder-children",role:m?"group":void 0,children:e.children.map(t=>(0,i.jsx)(d,{folder:t,selectedId:r,onSelect:n,level:l+1,parentId:e.id,renderWrapper:c,enableKeyboardNav:u,enableAutoExpand:f,enableAria:m,isMoveModeActive:p,forceExpand:v},t.id))})]})}function c({folders:e,selectedId:t,onSelect:r,uncategorizedCount:n,showAllMedia:l=!0,showUncategorized:o=!0,loading:s,renderWrapper:c,renderUncategorizedWrapper:u,renderHeader:f,enableKeyboardNav:m=!1,enableAutoExpand:p=!1,enableAria:v=!1,isMoveModeActive:h=!1,forceExpand:g=!1,className:w="",loadingText:x}){if(s){const e=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,i.jsx)("div",{className:`${e} ${e}--loading ${w}`,"aria-label":v?(0,a.__)("Media folders","virtual-media-folders"):void 0,children:(0,i.jsx)("p",{"aria-live":v?"polite":void 0,children:x||(0,a.__)("Loading…","virtual-media-folders")})})}const y=(0,i.jsx)("button",{type:"button",className:"vmf-folder-button "+(null===t?"is-selected":""),onClick:()=>r(null),"aria-current":null===t?"true":void 0,children:(0,i.jsx)("span",{className:"vmf-folder-name",children:(0,a.__)("All Media","virtual-media-folders")})}),b=(0,i.jsxs)("button",{type:"button",className:"vmf-folder-button "+("uncategorized"===t?"is-selected":""),onClick:()=>r("uncategorized"),"aria-current":"uncategorized"===t?"true":void 0,children:[(0,i.jsx)("span",{className:"vmf-folder-name",children:(0,a.__)("Uncategorized","virtual-media-folders")}),(0,i.jsxs)("span",{className:"vmf-folder-count","aria-label":v?`${n} ${(0,a.__)("items","virtual-media-folders")}`:void 0,children:["(",n,")"]})]}),_=u?u({children:b}):b,j=v?"nav":"div",C=v?"vmf-folder-tree":"vmf-folder-sidebar";return(0,i.jsxs)(j,{className:`${C} ${w}`,"aria-label":v?(0,a.__)("Media folders","virtual-media-folders"):void 0,children:[f&&f(),(0,i.jsxs)("ul",{className:"vmf-folder-list",role:v?"tree":void 0,"aria-label":v?(0,a.__)("Folder tree","virtual-media-folders"):void 0,children:[l&&(0,i.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?null===t:void 0,children:y}),o&&(0,i.jsx)("li",{className:"vmf-folder-item",role:v?"treeitem":void 0,"aria-selected":v?"uncategorized"===t:void 0,children:_}),e.map(e=>(0,i.jsx)(d,{folder:e,selectedId:t,onSelect:r,renderWrapper:c,enableKeyboardNav:m,enableAutoExpand:p,enableAria:v,isMoveModeActive:h,forceExpand:g},e.id))]})]})}const u=window.wp.components,f=window.wp.primitives;var m=(0,i.jsx)(f.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,i.jsx)(f.Path,{d:"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"})}),p=(0,i.jsx)(f.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,i.jsx)(f.Path,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"})});function v({searchQuery:e,onSearchChange:r}){const[n,l]=(0,t.useState)(!1),o=(0,t.useRef)(null);(0,t.useEffect)(()=>{n&&o.current&&o.current.focus()},[n]);const s=()=>{l(!1),r("")};return n?(0,i.jsxs)("div",{className:"vmf-editor-search",children:[(0,i.jsxs)("div",{className:"vmf-editor-search__input-wrapper",children:[(0,i.jsx)("input",{ref:o,type:"text",className:"vmf-editor-search__input",placeholder:(0,a.__)("Search folders…","virtual-media-folders"),value:e,onChange:e=>{r(e.target.value)},onKeyDown:e=>{"Escape"===e.key&&s()},"aria-label":(0,a.__)("Search folders","virtual-media-folders")}),e&&(0,i.jsx)(u.Button,{icon:p,label:(0,a.__)("Clear search","virtual-media-folders"),onClick:()=>{r(""),o.current&&o.current.focus()},className:"vmf-editor-search__clear",size:"small",showTooltip:!1})]}),(0,i.jsx)(u.Button,{icon:p,label:(0,a.__)("Close search","virtual-media-folders"),onClick:s,className:"vmf-editor-search__close",size:"small",showTooltip:!1})]}):(0,i.jsx)(u.Button,{icon:m,label:(0,a.__)("Search folders","virtual-media-folders"),onClick:()=>{l(!0)},className:"vmf-editor-search-button",size:"small",showTooltip:!1})}function h({onFolderSelect:e}){const{showAllMedia:r=!0,showUncategorized:a=!0}=window.vmfEditor||{},s=r?null:"uncategorized",[d,u]=(0,t.useState)(""),{folders:f,selectedId:m,loading:p,uncategorizedCount:h,handleSelect:g}=function({trackUrl:e=!1,onFolderSelect:r,mediaType:a="",defaultFolder:i=null}={}){const s=function(){if(window.vmfData?.folders)return window.vmfData.folders;if(window.vmfEditor?.folders)return window.vmfEditor.folders;try{const e=localStorage.getItem(l);if(e)return JSON.parse(e)}catch(e){}return null}()||[],d=s.length>0?o(s):[],c=s.length>0,[u,f]=(0,t.useState)(d),[m,p]=(0,t.useState)(s),[v,h]=(0,t.useState)(i),[g,w]=(0,t.useState)(!c),[x,y]=(0,t.useState)(0),b=(0,t.useRef)(c?s:null),_=(0,t.useRef)(r);(0,t.useEffect)(()=>{_.current=r},[r]);const j=(0,t.useRef)(!1),C=(0,t.useRef)(!0);(0,t.useEffect)(()=>(C.current=!0,()=>{C.current=!1}),[]);const S=(0,t.useCallback)(e=>[...e].sort((e,t)=>{const r=e.vmfo_order,n=t.vmfo_order;return null!=r&&null!=n?r-n:null!=r?-1:null!=n?1:e.name.localeCompare(t.name)}),[]),E=(0,t.useCallback)((e,t=null)=>{const r=S(e),n=t?r.map(e=>{var r;return{...e,count:null!==(r=t[e.id])&&void 0!==r?r:e.count}}):r;p(n),f(o(n))},[S]),N=(0,t.useCallback)(async(e,t)=>{try{const r=function(e){if(!e||"all"===e)return"";if(e.includes("/")||e.includes(",")){const t=e.split(",")[0].split("/")[0];return["image","video","audio","application","text"].includes(t)?t:""}return e}(e);let l="/wp/v2/media?per_page=1";r&&(l+=`&media_type=${encodeURIComponent(r)}`);const o=await n()({path:l,parse:!1});if(!C.current)return;const a=parseInt(o.headers.get("X-WP-Total"),10)||0;let i=0;t.forEach(e=>{i+=e.count||0}),y(Math.max(0,a-i))}catch(e){}},[]),k=(0,t.useCallback)(async(e=a,t=!1)=>{try{const r=await n()({path:"/vmfo/v1/folders"});if(!C.current)return;const o=t||!function(e,t){if(!e||!t)return!1;if(e.length!==t.length)return!1;const r=e=>JSON.stringify(e.map(e=>({id:e.id,name:e.name,parent:e.parent,vmfo_order:e.vmfo_order})));return r(e)===r(t)}(b.current,r);o&&(E(r),function(e){try{localStorage.setItem(l,JSON.stringify(e))}catch(e){}}(r),b.current=r);let a=r;if(e)try{const t=await n()({path:`/vmfo/v1/folders/counts?media_type=${encodeURIComponent(e)}`});if(!C.current)return;a=r.map(e=>{var r;return{...e,count:null!==(r=t[e.id])&&void 0!==r?r:e.count}}),E(a)}catch(e){}N(e,a)}catch(e){console.error("Error fetching folders:",e)}finally{C.current&&w(!1)}},[a,E,N]);(0,t.useEffect)(()=>{if(j.current)return;j.current=!0;let t=i;if(e){const e=new URLSearchParams(window.location.search),r=e.get("vmfo_folder"),n=e.get("mode");r?(t="uncategorized"===r?"uncategorized":parseInt(r,10),h(t)):"folder"===n?(h(i),t=i):"grid"!==n&&"list"!==n||(t=null,h(null))}k(),null!==t&&_.current?.(t)},[k,e,i]),(0,t.useEffect)(()=>{void 0!==a&&k(a)},[a,k]);const z=(0,t.useCallback)(e=>{h(e),_.current?.(e)},[]);return{folders:u,flatFolders:m,selectedId:v,setSelectedId:h,loading:g,uncategorizedCount:x,fetchFolders:k,handleSelect:z}}({trackUrl:!1,onFolderSelect:e,defaultFolder:s}),w=(0,t.useCallback)((e,t)=>{if(!t.trim())return e;const r=t.toLowerCase(),n=e=>e.reduce((e,t)=>{const l=t.name.toLowerCase().includes(r),o=t.children?n(t.children):[];return(l||o.length>0)&&e.push({...t,children:o}),e},[]);return n(e)},[]),x=w(f,d),y=f.length>10,b=(0,t.useCallback)(()=>y?(0,i.jsx)("div",{className:"vmf-folder-sidebar-header",children:(0,i.jsx)(v,{searchQuery:d,onSearchChange:u})}):null,[d,y]);return(0,i.jsx)(c,{folders:x,selectedId:m,onSelect:g,uncategorizedCount:h,loading:p,showAllMedia:r,showUncategorized:a,renderHeader:b,enableKeyboardNav:!1,enableAutoExpand:!1,enableAria:!1,forceExpand:!!d.trim()})}function g(){if(!window.wp?.media?.view?.AttachmentsBrowser)return void setTimeout(g,100);const e=wp.media.view.AttachmentsBrowser.prototype.render;wp.media.view.AttachmentsBrowser.prototype.render=function(){if(e.apply(this,arguments),!this.$el.find(".vmf-editor-folder-sidebar").length){const e=this.$el.find(".attachments-wrapper").first(),r=this.$el.find(".attachments").first();if(e.length||r.length){const n=document.createElement("div");n.className="vmf-editor-folder-sidebar",e.length?e.prepend(n):r.before(n);const l=this.collection,o=this;(0,t.createRoot)(n).render((0,t.createElement)(h,{onFolderSelect:e=>{if(!l)return;const t=o.$el.find(".attachments");t.addClass("vmf-loading"),null!==e?o.$el.addClass("vmf-folder-filtered"):o.$el.removeClass("vmf-folder-filtered"),l.props.unset("vmfo_folder"),l.props.unset("vmfo_folder_exclude"),"uncategorized"===e?l.props.set({vmfo_folder_exclude:"all"}):e&&""!==e&&l.props.set({vmfo_folder:parseInt(e,10)}),l.reset(),l.more({remove:!1}).then(()=>{t.removeClass("vmf-loading")}).catch(()=>{t.removeClass("vmf-loading")})}})),this.$el.addClass("vmf-has-folder-sidebar"),function(e,t){const r=e.$el.find(".attachments-wrapper").first(),n=e.$el.find(".attachments").first();if(!r.length||!n.length)return()=>{};const l=r[0];let o=!1;function a(){const e=l.getBoundingClientRect(),r=l.scrollTop>0;r&&!o?(t.style.position="fixed",t.style.top=`${e.top}px`,t.style.left=`${e.left}px`,t.style.height=`${e.height}px`,t.style.width="220px",t.style.zIndex="100",o=!0):!r&&o?(t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.height="100%",t.style.width="",t.style.zIndex="",o=!1):o&&(t.style.top=`${e.top}px`,t.style.left=`${e.left}px`,t.style.height=`${e.height}px`)}function i(){requestAnimationFrame(a)}l.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",a,{passive:!0}),setTimeout(a,100),t._cleanupSticky=()=>{l.removeEventListener("scroll",i),window.removeEventListener("resize",a)},t._cleanupSticky}(this,n)}}return this}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",g):g()})();
  • virtual-media-folders/trunk/readme.txt

    r3441627 r3445057  
    44Requires at least: 6.8
    55Tested up to: 6.9
    6 Stable tag: 1.6.1
     6Stable tag: 1.6.2
    77Requires PHP: 8.3
    88License: GPLv2 or later
     
    114114
    115115== Changelog ==
     116
     117= 1.6.2 =
     118* Fixed: "Add Media File" button now respects "Show All Media" setting
     119* Fixed: Block editor folder sidebar now defaults to Uncategorized when "Show All Media" is disabled
     120* Fixed: Prevented duplicate folder selection callbacks and state updates after component unmount
     121* Fixed: Added proper cleanup for sticky sidebar event listeners to prevent memory leaks
     122* Changed: Folder cache now prefers PHP-preloaded data over localStorage
     123* Changed: Exposed `vmfRefreshMediaLibrary` globally for add-on use
     124* Documentation: Updated development docs with accurate REST API endpoints and hooks
    116125
    117126= 1.6.1 =
  • virtual-media-folders/trunk/src/Admin.php

    r3430100 r3445057  
    215215        // Assign media to folder (replaces existing assignments).
    216216        $result = wp_set_object_terms( $media_id, [ $folder_id ], Taxonomy::TAXONOMY );
     217
     218        /**
     219         * Fires after a media item has been assigned to a folder.
     220         *
     221         * @since 1.5.0
     222         *
     223         * @param int   $media_id  The attachment ID.
     224         * @param int   $folder_id The folder term ID.
     225         * @param array $result    The result from wp_set_object_terms.
     226         */
     227        do_action( 'vmfo_folder_assigned', $media_id, $folder_id, $result );
    217228
    218229        if ( is_wp_error( $result ) ) {
  • virtual-media-folders/trunk/src/Editor.php

    r3419279 r3445057  
    121121            'restBase'          => 'vmfo-folders',
    122122            'nonce'             => wp_create_nonce( 'wp_rest' ),
    123             'showAllMedia'      => (bool) Settings::get( 'show_all_media', true ),
    124             'showUncategorized' => (bool) Settings::get( 'show_uncategorized', true ),
     123            'showAllMedia'      => (bool) Settings::get( 'show_all_media' ),
     124            'showUncategorized' => (bool) Settings::get( 'show_uncategorized' ),
    125125        ];
    126126    }
  • virtual-media-folders/trunk/vendor/composer/installed.php

    r3441627 r3445057  
    22    'root' => array(
    33        'name' => 'soderlind/virtual-media-folders',
    4         'pretty_version' => '1.6.1',
    5         'version' => '1.6.1.0',
    6         'reference' => 'bae558de79e7fbb28b316e31993260a3557769b3',
     4        'pretty_version' => '1.6.2',
     5        'version' => '1.6.2.0',
     6        'reference' => '087b13be70ecad5fc8b6c51ca56e188fbf3ead11',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'soderlind/virtual-media-folders' => array(
    14             'pretty_version' => '1.6.1',
    15             'version' => '1.6.1.0',
    16             'reference' => 'bae558de79e7fbb28b316e31993260a3557769b3',
     14            'pretty_version' => '1.6.2',
     15            'version' => '1.6.2.0',
     16            'reference' => '087b13be70ecad5fc8b6c51ca56e188fbf3ead11',
    1717            'type' => 'wordpress-plugin',
    1818            'install_path' => __DIR__ . '/../../',
  • virtual-media-folders/trunk/virtual-media-folders.php

    r3441627 r3445057  
    1515 * Plugin Name: Virtual Media Folders
    1616 * Description: Virtual folder organization and smart management for the WordPress Media Library.
    17  * Version: 1.6.1
     17 * Version: 1.6.2
    1818 * Requires at least: 6.8
    1919 * Requires PHP: 8.3
Note: See TracChangeset for help on using the changeset viewer.