formalute
Version:
A flexible drag-and-drop form builder powered by @dnd-kit and React.
1 lines • 176 kB
JavaScript
import e,{useState as t,useLayoutEffect as r,useEffect as a,useRef as n,useMemo as l,useCallback as o,createContext as i,memo as s,useReducer as c,useContext as d,forwardRef as m,cloneElement as u}from"react";import{unstable_batchedUpdates as g,createPortal as p}from"react-dom";var h={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},b=e.createContext&&e.createContext(h),v=["attr","size","title"];function f(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},y.apply(this,arguments)}function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?x(Object(r),!0).forEach((function(t){E(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function E(e,t,r){var a;return(t="symbol"==typeof(a=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t);if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?a:a+"")in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function N(t){return t&&t.map(((t,r)=>e.createElement(t.tag,w({key:r},t.attr),N(t.child))))}function k(t){return r=>e.createElement(C,y({attr:w({},t.attr)},r),N(t.child))}function C(t){var r=r=>{var a,{attr:n,size:l,title:o}=t,i=f(t,v),s=l||r.size||"1em";return r.className&&(a=r.className),t.className&&(a=(a?a+" ":"")+t.className),e.createElement("svg",y({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,n,i,{className:a,style:w(w({color:t.color||r.color},r.style),t.style),height:s,width:s,xmlns:"http://www.w3.org/2000/svg"}),o&&e.createElement("title",null,o),t.children)};return void 0!==b?e.createElement(b.Consumer,null,(e=>r(e))):r(h)}function z(e){return k({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"},child:[]}]})(e)}function D(e){return k({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"},child:[]}]})(e)}function M(e){return k({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z"},child:[]}]})(e)}function P(e){return k({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"},child:[]}]})(e)}function T(e){return k({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"},child:[]}]})(e)}function A(e){return k({attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z"},child:[]}]})(e)}function R(e){return k({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"},child:[]}]})(e)}function S(e){return k({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"},child:[]}]})(e)}function I(e){return k({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"},child:[]}]})(e)}function $(e){return k({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"},child:[]}]})(e)}function L(e){return k({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"},child:[]}]})(e)}const O=({handleExpandToggle:r,handleSave:a,handleRenderer:n,handleIsMultiPart:l})=>{const[o,i]=t(!1),s=e=>{i(!1),e&&e()};return e.createElement("div",{className:"w-full z-50 bg-white shadow-lg text-gray-800 p-3 flex justify-between items-center rounded-lg border-b border-gray-200"},e.createElement("div",{className:"text-lg md:text-2xl font-semibold tracking-wide text-gray-900"},"Formalute",e.createElement("span",{className:"text-blue-600"},"-JS")),e.createElement("div",{className:"hidden lg:flex space-x-4"},e.createElement("button",{onClick:()=>s(r),className:"flex items-center gap-2 text-gray-800 bg-white border border-green-500 px-4 py-2 rounded-lg hover:bg-green-100 transition"},e.createElement(S,null)," ",e.createElement("span",{className:"hidden sm:inline"},"Add Element")),e.createElement("button",{onClick:()=>s(l),className:"flex items-center gap-2 text-gray-800 bg-white border border-yellow-500 px-4 py-2 rounded-lg hover:bg-yellow-100 transition"},e.createElement(P,null)," ",e.createElement("span",{className:"hidden sm:inline"},"Multi-Part Form")),e.createElement("button",{onClick:()=>s(n),className:"flex items-center gap-2 text-gray-800 bg-white border border-teal-500 px-4 py-2 rounded-lg hover:bg-teal-100 transition"},e.createElement(T,null)," ",e.createElement("span",{className:"hidden sm:inline"},"Preview")),e.createElement("button",{onClick:()=>s(a),className:"flex items-center gap-2 text-gray-800 bg-white border border-blue-500 px-4 py-2 rounded-lg hover:bg-blue-100 transition"},e.createElement(I,null)," ",e.createElement("span",{className:"hidden sm:inline"},"Publish"))),e.createElement("div",{className:"lg:hidden"},e.createElement("button",{onClick:()=>i(!o),className:"text-gray-800 bg-transparent p-2 rounded-lg hover:bg-gray-200 focus:outline-none transition"},o?e.createElement($,{size:24}):e.createElement(z,{size:24}))),e.createElement("div",{className:"lg:hidden absolute top-0 right-0 h-full w-3/4 max-w-xs bg-white bg-opacity-30 backdrop-blur-lg shadow-xl transition-transform duration-500 ease-in-out "+(o?"translate-x-0":"translate-x-full"),style:{backdropFilter:"blur(12px)"}},e.createElement("div",{className:"flex justify-between items-center p-[1.1rem] border-b border-gray-300"},e.createElement("div",{className:"text-lg font-semibold text-gray-900"},"Menu"),e.createElement("button",{onClick:()=>i(!1),className:"text-gray-800"},e.createElement($,{size:24}))),e.createElement("div",{className:"flex flex-col items-center mt-6 space-y-4"},e.createElement("button",{onClick:()=>s(r),className:"flex items-center gap-2 text-gray-800 bg-white border border-green-500 px-6 py-3 rounded-lg w-3/4 text-center hover:bg-green-100 transition"},e.createElement(S,null)," Add Element"),e.createElement("button",{onClick:()=>s(l),className:"flex items-center gap-2 text-gray-800 bg-white border border-yellow-500 px-6 py-3 rounded-lg w-3/4 text-center hover:bg-yellow-100 transition"},e.createElement(P,null)," Multi-Part Form"),e.createElement("button",{onClick:()=>s(n),className:"flex items-center gap-2 text-gray-800 bg-white border border-teal-500 px-6 py-3 rounded-lg w-3/4 text-center hover:bg-teal-100 transition"},e.createElement(T,null)," Preview"),e.createElement("button",{onClick:()=>s(a),className:"flex items-center gap-2 text-gray-800 bg-white border border-blue-500 px-6 py-3 rounded-lg w-3/4 text-center hover:bg-blue-100 transition"},e.createElement(I,null)," Publish"))))},F=({handleConfirmDelete:t,setIsDeleteWarningVisible:r})=>e.createElement(e.Fragment,null,e.createElement("div",{className:"modal-overlay"}),e.createElement("div",{className:"modal"},e.createElement("p",null,"Are you sure you want to delete this element?"),e.createElement("button",{onClick:t},"Confirm"),e.createElement("button",{onClick:()=>r(!1)},"Cancel")));const q="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function V(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function H(e){return"nodeType"in e}function j(e){var t,r;return e?V(e)?e:H(e)&&null!=(t=null==(r=e.ownerDocument)?void 0:r.defaultView)?t:window:window}function B(e){const{Document:t}=j(e);return e instanceof t}function U(e){return!V(e)&&e instanceof j(e).HTMLElement}function X(e){return e instanceof j(e).SVGElement}function Y(e){return e?V(e)?e.document:H(e)?B(e)?e:U(e)||X(e)?e.ownerDocument:document:document:document}const Z=q?r:a;function W(e){const t=n(e);return Z((()=>{t.current=e})),o((function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return null==t.current?void 0:t.current(...r)}),[])}function _(e,t){void 0===t&&(t=[e]);const r=n(e);return Z((()=>{r.current!==e&&(r.current=e)}),t),r}function J(e,t){const r=n();return l((()=>{const t=e(r.current);return r.current=t,t}),[...t])}function K(e){const t=W(e),r=n(null),a=o((e=>{e!==r.current&&(null==t||t(e,r.current)),r.current=e}),[]);return[r,a]}function Q(e){const t=n();return a((()=>{t.current=e}),[e]),t.current}let G={};function ee(e,t){return l((()=>{if(t)return t;const r=null==G[e]?0:G[e]+1;return G[e]=r,e+"-"+r}),[e,t])}function te(e){return function(t){for(var r=arguments.length,a=new Array(r>1?r-1:0),n=1;n<r;n++)a[n-1]=arguments[n];return a.reduce(((t,r)=>{const a=Object.entries(r);for(const[r,n]of a){const a=t[r];null!=a&&(t[r]=a+e*n)}return t}),{...t})}}const re=te(1),ae=te(-1);function ne(e){if(!e)return!1;const{KeyboardEvent:t}=j(e.target);return t&&e instanceof t}function le(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=j(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:r}=e.touches[0];return{x:t,y:r}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:r}=e.changedTouches[0];return{x:t,y:r}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const oe=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:r}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(r?Math.round(r):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:r}=e;return"scaleX("+t+") scaleY("+r+")"}},Transform:{toString(e){if(e)return[oe.Translate.toString(e),oe.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:r,easing:a}=e;return t+" "+r+"ms "+a}}}),ie="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function se(e){return e.matches(ie)?e:e.querySelector(ie)}const ce={display:"none"};function de(t){let{id:r,value:a}=t;return e.createElement("div",{id:r,style:ce},a)}function me(t){let{id:r,announcement:a,ariaLiveType:n="assertive"}=t;return e.createElement("div",{id:r,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":n,"aria-atomic":!0},a)}const ue=i(null);const ge={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 "},pe={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:r}=e;return r?"Draggable item "+t.id+" was moved over droppable area "+r.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:r}=e;return r?"Draggable item "+t.id+" was dropped over droppable area "+r.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function he(r){let{announcements:n=pe,container:i,hiddenTextDescribedById:s,screenReaderInstructions:c=ge}=r;const{announce:m,announcement:u}=function(){const[e,r]=t("");return{announce:o((e=>{null!=e&&r(e)}),[]),announcement:e}}(),g=ee("DndLiveRegion"),[h,b]=t(!1);if(a((()=>{b(!0)}),[]),function(e){const t=d(ue);a((()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)}),[e,t])}(l((()=>({onDragStart(e){let{active:t}=e;m(n.onDragStart({active:t}))},onDragMove(e){let{active:t,over:r}=e;n.onDragMove&&m(n.onDragMove({active:t,over:r}))},onDragOver(e){let{active:t,over:r}=e;m(n.onDragOver({active:t,over:r}))},onDragEnd(e){let{active:t,over:r}=e;m(n.onDragEnd({active:t,over:r}))},onDragCancel(e){let{active:t,over:r}=e;m(n.onDragCancel({active:t,over:r}))}})),[m,n])),!h)return null;const v=e.createElement(e.Fragment,null,e.createElement(de,{id:s,value:c.draggable}),e.createElement(me,{id:g,announcement:u}));return i?p(v,i):v}var be;function ve(){}function fe(e,t){return l((()=>({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"}(be||(be={}));const ye=Object.freeze({x:0,y:0});function xe(e,t){const r=le(e);if(!r)return"0 0";return(r.x-t.left)/t.width*100+"% "+(r.y-t.top)/t.height*100+"%"}function we(e,t){let{data:{value:r}}=e,{data:{value:a}}=t;return r-a}function Ee(e,t){let{data:{value:r}}=e,{data:{value:a}}=t;return a-r}function Ne(e){let{left:t,top:r,height:a,width:n}=e;return[{x:t,y:r},{x:t+n,y:r},{x:t,y:r+a},{x:t+n,y:r+a}]}function ke(e,t){if(!e||0===e.length)return null;const[r]=e;return r[t]}function Ce(e,t){const r=Math.max(t.top,e.top),a=Math.max(t.left,e.left),n=Math.min(t.left+t.width,e.left+e.width),l=Math.min(t.top+t.height,e.top+e.height),o=n-a,i=l-r;if(a<n&&r<l){const r=t.width*t.height,a=e.width*e.height,n=o*i;return Number((n/(r+a-n)).toFixed(4))}return 0}const ze=e=>{let{collisionRect:t,droppableRects:r,droppableContainers:a}=e;const n=[];for(const e of a){const{id:a}=e,l=r.get(a);if(l){const r=Ce(l,t);r>0&&n.push({id:a,data:{droppableContainer:e,value:r}})}}return n.sort(Ee)};function De(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ye}function Me(e){return function(t){for(var r=arguments.length,a=new Array(r>1?r-1:0),n=1;n<r;n++)a[n-1]=arguments[n];return a.reduce(((t,r)=>({...t,top:t.top+e*r.y,bottom:t.bottom+e*r.y,left:t.left+e*r.x,right:t.right+e*r.x})),{...t})}}const Pe=Me(1);function Te(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}const Ae={ignoreTransform:!1};function Re(e,t){void 0===t&&(t=Ae);let r=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:a}=j(e).getComputedStyle(e);t&&(r=function(e,t,r){const a=Te(t);if(!a)return e;const{scaleX:n,scaleY:l,x:o,y:i}=a,s=e.left-o-(1-n)*parseFloat(r),c=e.top-i-(1-l)*parseFloat(r.slice(r.indexOf(" ")+1)),d=n?e.width/n:e.width,m=l?e.height/l:e.height;return{width:d,height:m,top:c,right:s+d,bottom:c+m,left:s}}(r,t,a))}const{top:a,left:n,width:l,height:o,bottom:i,right:s}=r;return{top:a,left:n,width:l,height:o,bottom:i,right:s}}function Se(e){return Re(e,{ignoreTransform:!0})}function Ie(e,t){const r=[];return e?function a(n){if(null!=t&&r.length>=t)return r;if(!n)return r;if(B(n)&&null!=n.scrollingElement&&!r.includes(n.scrollingElement))return r.push(n.scrollingElement),r;if(!U(n)||X(n))return r;if(r.includes(n))return r;const l=j(e).getComputedStyle(n);return n!==e&&function(e,t){void 0===t&&(t=j(e).getComputedStyle(e));const r=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some((e=>{const a=t[e];return"string"==typeof a&&r.test(a)}))}(n,l)&&r.push(n),function(e,t){return void 0===t&&(t=j(e).getComputedStyle(e)),"fixed"===t.position}(n,l)?r:a(n.parentNode)}(e):r}function $e(e){const[t]=Ie(e,1);return null!=t?t:null}function Le(e){return q&&e?V(e)?e:H(e)?B(e)||e===Y(e).scrollingElement?window:U(e)?e:null:null:null}function Oe(e){return V(e)?e.scrollX:e.scrollLeft}function Fe(e){return V(e)?e.scrollY:e.scrollTop}function qe(e){return{x:Oe(e),y:Fe(e)}}var Ve;function He(e){return!(!q||!e)&&e===document.scrollingElement}function je(e){const t={x:0,y:0},r=He(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},a={x:e.scrollWidth-r.width,y:e.scrollHeight-r.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=a.y,isRight:e.scrollLeft>=a.x,maxScroll:a,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(Ve||(Ve={}));const Be={x:.2,y:.2};function Ue(e,t,r,a,n){let{top:l,left:o,right:i,bottom:s}=r;void 0===a&&(a=10),void 0===n&&(n=Be);const{isTop:c,isBottom:d,isLeft:m,isRight:u}=je(e),g={x:0,y:0},p={x:0,y:0},h=t.height*n.y,b=t.width*n.x;return!c&&l<=t.top+h?(g.y=Ve.Backward,p.y=a*Math.abs((t.top+h-l)/h)):!d&&s>=t.bottom-h&&(g.y=Ve.Forward,p.y=a*Math.abs((t.bottom-h-s)/h)),!u&&i>=t.right-b?(g.x=Ve.Forward,p.x=a*Math.abs((t.right-b-i)/b)):!m&&o<=t.left+b&&(g.x=Ve.Backward,p.x=a*Math.abs((t.left+b-o)/b)),{direction:g,speed:p}}function Xe(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:r,right:a,bottom:n}=e.getBoundingClientRect();return{top:t,left:r,right:a,bottom:n,width:e.clientWidth,height:e.clientHeight}}function Ye(e){return e.reduce(((e,t)=>re(e,qe(t))),ye)}function Ze(e,t){if(void 0===t&&(t=Re),!e)return;const{top:r,left:a,bottom:n,right:l}=t(e);$e(e)&&(n<=0||l<=0||r>=window.innerHeight||a>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const We=[["x",["left","right"],function(e){return e.reduce(((e,t)=>e+Oe(t)),0)}],["y",["top","bottom"],function(e){return e.reduce(((e,t)=>e+Fe(t)),0)}]];class _e{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 r=Ie(t),a=Ye(r);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,n]of We)for(const l of t)Object.defineProperty(this,l,{get:()=>{const t=n(r),o=a[e]-t;return this.rect[l]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Je{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,r){var a;null==(a=this.target)||a.addEventListener(e,t,r),this.listeners.push([e,t,r])}}function Ke(e,t){const r=Math.abs(e.x),a=Math.abs(e.y);return"number"==typeof t?Math.sqrt(r**2+a**2)>t:"x"in t&&"y"in t?r>t.x&&a>t.y:"x"in t?r>t.x:"y"in t&&a>t.y}var Qe,Ge;function et(e){e.preventDefault()}function tt(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"}(Qe||(Qe={})),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"}(Ge||(Ge={}));const rt={start:[Ge.Space,Ge.Enter],cancel:[Ge.Esc],end:[Ge.Space,Ge.Enter,Ge.Tab]},at=(e,t)=>{let{currentCoordinates:r}=t;switch(e.code){case Ge.Right:return{...r,x:r.x+25};case Ge.Left:return{...r,x:r.x-25};case Ge.Down:return{...r,y:r.y+25};case Ge.Up:return{...r,y:r.y-25}}};class nt{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 Je(Y(t)),this.windowListeners=new Je(j(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Qe.Resize,this.handleCancel),this.windowListeners.add(Qe.VisibilityChange,this.handleCancel),setTimeout((()=>this.listeners.add(Qe.Keydown,this.handleKeyDown)))}handleStart(){const{activeNode:e,onStart:t}=this.props,r=e.node.current;r&&Ze(r),t(ye)}handleKeyDown(e){if(ne(e)){const{active:t,context:r,options:a}=this.props,{keyboardCodes:n=rt,coordinateGetter:l=at,scrollBehavior:o="smooth"}=a,{code:i}=e;if(n.end.includes(i))return void this.handleEnd(e);if(n.cancel.includes(i))return void this.handleCancel(e);const{collisionRect:s}=r.current,c=s?{x:s.left,y:s.top}:ye;this.referenceCoordinates||(this.referenceCoordinates=c);const d=l(e,{active:t,context:r.current,currentCoordinates:c});if(d){const t=ae(d,c),a={x:0,y:0},{scrollableAncestors:n}=r.current;for(const r of n){const n=e.code,{isTop:l,isRight:i,isLeft:s,isBottom:c,maxScroll:m,minScroll:u}=je(r),g=Xe(r),p={x:Math.min(n===Ge.Right?g.right-g.width/2:g.right,Math.max(n===Ge.Right?g.left:g.left+g.width/2,d.x)),y:Math.min(n===Ge.Down?g.bottom-g.height/2:g.bottom,Math.max(n===Ge.Down?g.top:g.top+g.height/2,d.y))},h=n===Ge.Right&&!i||n===Ge.Left&&!s,b=n===Ge.Down&&!c||n===Ge.Up&&!l;if(h&&p.x!==d.x){const e=r.scrollLeft+t.x,l=n===Ge.Right&&e<=m.x||n===Ge.Left&&e>=u.x;if(l&&!t.y)return void r.scrollTo({left:e,behavior:o});a.x=l?r.scrollLeft-e:n===Ge.Right?r.scrollLeft-m.x:r.scrollLeft-u.x,a.x&&r.scrollBy({left:-a.x,behavior:o});break}if(b&&p.y!==d.y){const e=r.scrollTop+t.y,l=n===Ge.Down&&e<=m.y||n===Ge.Up&&e>=u.y;if(l&&!t.x)return void r.scrollTo({top:e,behavior:o});a.y=l?r.scrollTop-e:n===Ge.Down?r.scrollTop-m.y:r.scrollTop-u.y,a.y&&r.scrollBy({top:-a.y,behavior:o});break}}this.handleMove(e,re(ae(d,this.referenceCoordinates),a))}}}handleMove(e,t){const{onMove:r}=this.props;e.preventDefault(),r(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 lt(e){return Boolean(e&&"distance"in e)}function ot(e){return Boolean(e&&"delay"in e)}nt.activators=[{eventName:"onKeyDown",handler:(e,t,r)=>{let{keyboardCodes:a=rt,onActivation:n}=t,{active:l}=r;const{code:o}=e.nativeEvent;if(a.start.includes(o)){const t=l.activatorNode.current;return(!t||e.target===t)&&(e.preventDefault(),null==n||n({event:e.nativeEvent}),!0)}return!1}}];class it{constructor(e,t,r){var a;void 0===r&&(r=function(e){const{EventTarget:t}=j(e);return e instanceof t?e:Y(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:n}=e,{target:l}=n;this.props=e,this.events=t,this.document=Y(l),this.documentListeners=new Je(this.document),this.listeners=new Je(r),this.windowListeners=new Je(j(l)),this.initialCoordinates=null!=(a=le(n))?a:ye,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:r}}}=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(Qe.Resize,this.handleCancel),this.windowListeners.add(Qe.DragStart,et),this.windowListeners.add(Qe.VisibilityChange,this.handleCancel),this.windowListeners.add(Qe.ContextMenu,et),this.documentListeners.add(Qe.Keydown,this.handleKeydown),t){if(null!=r&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(ot(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(lt(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:r,onPending:a}=this.props;a(r,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Qe.Click,tt,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Qe.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:r,initialCoordinates:a,props:n}=this,{onMove:l,options:{activationConstraint:o}}=n;if(!a)return;const i=null!=(t=le(e))?t:ye,s=ae(a,i);if(!r&&o){if(lt(o)){if(null!=o.tolerance&&Ke(s,o.tolerance))return this.handleCancel();if(Ke(s,o.distance))return this.handleStart()}return ot(o)&&Ke(s,o.tolerance)?this.handleCancel():void this.handlePending(o,s)}e.cancelable&&e.preventDefault(),l(i)}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===Ge.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const st={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class ct extends it{constructor(e){const{event:t}=e,r=Y(t.target);super(e,st,r)}}ct.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:a}=t;return!(!r.isPrimary||0!==r.button)&&(null==a||a({event:r}),!0)}}];const dt={move:{name:"mousemove"},end:{name:"mouseup"}};var mt;!function(e){e[e.RightClick=2]="RightClick"}(mt||(mt={}));(class extends it{constructor(e){super(e,dt,Y(e.event.target))}}).activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:a}=t;return r.button!==mt.RightClick&&(null==a||a({event:r}),!0)}}];const ut={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var gt,pt;function ht(e){let{acceleration:t,activator:r=gt.Pointer,canScroll:i,draggingRect:s,enabled:c,interval:d=5,order:m=pt.TreeOrder,pointerCoordinates:u,scrollableAncestors:g,scrollableAncestorRects:p,delta:h,threshold:b}=e;const v=function(e){let{delta:t,disabled:r}=e;const a=Q(t);return J((e=>{if(r||!a||!e)return bt;const n={x:Math.sign(t.x-a.x),y:Math.sign(t.y-a.y)};return{x:{[Ve.Backward]:e.x[Ve.Backward]||-1===n.x,[Ve.Forward]:e.x[Ve.Forward]||1===n.x},y:{[Ve.Backward]:e.y[Ve.Backward]||-1===n.y,[Ve.Forward]:e.y[Ve.Forward]||1===n.y}}}),[r,t,a])}({delta:h,disabled:!c}),[f,y]=function(){const e=n(null);return[o(((t,r)=>{e.current=setInterval(t,r)}),[]),o((()=>{null!==e.current&&(clearInterval(e.current),e.current=null)}),[])]}(),x=n({x:0,y:0}),w=n({x:0,y:0}),E=l((()=>{switch(r){case gt.Pointer:return u?{top:u.y,bottom:u.y,left:u.x,right:u.x}:null;case gt.DraggableRect:return s}}),[r,s,u]),N=n(null),k=o((()=>{const e=N.current;if(!e)return;const t=x.current.x*w.current.x,r=x.current.y*w.current.y;e.scrollBy(t,r)}),[]),C=l((()=>m===pt.TreeOrder?[...g].reverse():g),[m,g]);a((()=>{if(c&&g.length&&E){for(const e of C){if(!1===(null==i?void 0:i(e)))continue;const r=g.indexOf(e),a=p[r];if(!a)continue;const{direction:n,speed:l}=Ue(e,a,E,t,b);for(const e of["x","y"])v[e][n[e]]||(l[e]=0,n[e]=0);if(l.x>0||l.y>0)return y(),N.current=e,f(k,d),x.current=l,void(w.current=n)}x.current={x:0,y:0},w.current={x:0,y:0},y()}else y()}),[t,k,i,y,c,d,JSON.stringify(E),JSON.stringify(v),f,g,C,p,JSON.stringify(b)])}(class extends it{constructor(e){super(e,ut)}static setup(){return window.addEventListener(ut.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(ut.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:a}=t;const{touches:n}=r;return!(n.length>1)&&(null==a||a({event:r}),!0)}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(gt||(gt={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(pt||(pt={}));const bt={x:{[Ve.Backward]:!1,[Ve.Forward]:!1},y:{[Ve.Backward]:!1,[Ve.Forward]:!1}};var vt,ft;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(vt||(vt={})),function(e){e.Optimized="optimized"}(ft||(ft={}));const yt=new Map;function xt(e,t){return J((r=>e?r||("function"==typeof t?t(e):e):null),[t,e])}function wt(e){let{callback:t,disabled:r}=e;const n=W(t),o=l((()=>{if(r||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(n)}),[r]);return a((()=>()=>null==o?void 0:o.disconnect()),[o]),o}function Et(e){return new _e(Re(e),e)}function Nt(e,r,n){void 0===r&&(r=Et);const[o,i]=t(null);function s(){i((t=>{if(!e)return null;var a;if(!1===e.isConnected)return null!=(a=null!=t?t:n)?a:null;const l=r(e);return JSON.stringify(t)===JSON.stringify(l)?t:l}))}const c=function(e){let{callback:t,disabled:r}=e;const n=W(t),o=l((()=>{if(r||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(n)}),[n,r]);return a((()=>()=>null==o?void 0:o.disconnect()),[o]),o}({callback(t){if(e)for(const r of t){const{type:t,target:a}=r;if("childList"===t&&a instanceof HTMLElement&&a.contains(e)){s();break}}}}),d=wt({callback:s});return Z((()=>{s(),e?(null==d||d.observe(e),null==c||c.observe(document.body,{childList:!0,subtree:!0})):(null==d||d.disconnect(),null==c||c.disconnect())}),[e]),o}const kt=[];function Ct(e,t){void 0===t&&(t=[]);const r=n(null);return a((()=>{r.current=null}),t),a((()=>{const t=e!==ye;t&&!r.current&&(r.current=e),!t&&r.current&&(r.current=null)}),[e]),r.current?ae(e,r.current):ye}function zt(e){return l((()=>e?function(e){const t=e.innerWidth,r=e.innerHeight;return{top:0,left:0,right:t,bottom:r,width:t,height:r}}(e):null),[e])}const Dt=[];function Mt(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return U(t)?t:e}const Pt=[{sensor:ct,options:{}},{sensor:nt,options:{}}],Tt={current:{}},At={draggable:{measure:Se},droppable:{measure:Se,strategy:vt.WhileDragging,frequency:ft.Optimized},dragOverlay:{measure:Re}};class Rt 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,r;return null!=(t=null==(r=this.get(e))?void 0:r.node.current)?t:void 0}}const St={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Rt,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:ve},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:At,measureDroppableContainers:ve,windowRect:null,measuringScheduled:!1},It={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:ve,draggableNodes:new Map,over:null,measureDroppableContainers:ve},$t=i(It),Lt=i(St);function Ot(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Rt}}}function Ft(e,t){switch(t.type){case be.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case be.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 be.DragEnd:case be.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case be.RegisterDroppable:{const{element:r}=t,{id:a}=r,n=new Rt(e.droppable.containers);return n.set(a,r),{...e,droppable:{...e.droppable,containers:n}}}case be.SetDroppableDisabled:{const{id:r,key:a,disabled:n}=t,l=e.droppable.containers.get(r);if(!l||a!==l.key)return e;const o=new Rt(e.droppable.containers);return o.set(r,{...l,disabled:n}),{...e,droppable:{...e.droppable,containers:o}}}case be.UnregisterDroppable:{const{id:r,key:a}=t,n=e.droppable.containers.get(r);if(!n||a!==n.key)return e;const l=new Rt(e.droppable.containers);return l.delete(r),{...e,droppable:{...e.droppable,containers:l}}}default:return e}}function qt(e){let{disabled:t}=e;const{active:r,activatorEvent:n,draggableNodes:l}=d($t),o=Q(n),i=Q(null==r?void 0:r.id);return a((()=>{if(!t&&!n&&o&&null!=i){if(!ne(o))return;if(document.activeElement===o.target)return;const e=l.get(i);if(!e)return;const{activatorNode:t,node:r}=e;if(!t.current&&!r.current)return;requestAnimationFrame((()=>{for(const e of[t.current,r.current]){if(!e)continue;const t=se(e);if(t){t.focus();break}}}))}}),[n,t,l,i,o]),null}function Vt(e,t){let{transform:r,...a}=t;return null!=e&&e.length?e.reduce(((e,t)=>t({transform:e,...a})),r):r}const Ht=i({...ye,scaleX:1,scaleY:1});var jt;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(jt||(jt={}));const Bt=s((function(r){var i,s,d,m;let{id:u,accessibility:p,autoScroll:h=!0,children:b,sensors:v=Pt,collisionDetection:f=ze,measuring:y,modifiers:x,...w}=r;const E=c(Ft,void 0,Ot),[N,k]=E,[C,z]=function(){const[e]=t((()=>new Set)),r=o((t=>(e.add(t),()=>e.delete(t))),[e]);return[o((t=>{let{type:r,event:a}=t;e.forEach((e=>{var t;return null==(t=e[r])?void 0:t.call(e,a)}))}),[e]),r]}(),[D,M]=t(jt.Uninitialized),P=D===jt.Initialized,{draggable:{active:T,nodes:A,translate:R},droppable:{containers:S}}=N,I=null!=T?A.get(T):null,$=n({initial:null,translated:null}),L=l((()=>{var e;return null!=T?{id:T,data:null!=(e=null==I?void 0:I.data)?e:Tt,rect:$}:null}),[T,I]),O=n(null),[F,V]=t(null),[H,B]=t(null),X=_(w,Object.values(w)),Y=ee("DndDescribedBy",u),W=l((()=>S.getEnabled()),[S]),Q=function(e){return l((()=>({draggable:{...At.draggable,...null==e?void 0:e.draggable},droppable:{...At.droppable,...null==e?void 0:e.droppable},dragOverlay:{...At.dragOverlay,...null==e?void 0:e.dragOverlay}})),[null==e?void 0:e.draggable,null==e?void 0:e.droppable,null==e?void 0:e.dragOverlay])}(y),{droppableRects:G,measureDroppableContainers:te,measuringScheduled:ae}=function(e,r){let{dragging:l,dependencies:i,config:s}=r;const[c,d]=t(null),{frequency:m,measure:u,strategy:g}=s,p=n(e),h=function(){switch(g){case vt.Always:return!1;case vt.BeforeDragging:return l;default:return!l}}(),b=_(h),v=o((function(e){void 0===e&&(e=[]),b.current||d((t=>null===t?e:t.concat(e.filter((e=>!t.includes(e))))))}),[b]),f=n(null),y=J((t=>{if(h&&!l)return yt;if(!t||t===yt||p.current!==e||null!=c){const t=new Map;for(let r of e){if(!r)continue;if(c&&c.length>0&&!c.includes(r.id)&&r.rect.current){t.set(r.id,r.rect.current);continue}const e=r.node.current,a=e?new _e(u(e),e):null;r.rect.current=a,a&&t.set(r.id,a)}return t}return t}),[e,c,l,h,u]);return a((()=>{p.current=e}),[e]),a((()=>{h||v()}),[l,h]),a((()=>{c&&c.length>0&&d(null)}),[JSON.stringify(c)]),a((()=>{h||"number"!=typeof m||null!==f.current||(f.current=setTimeout((()=>{v(),f.current=null}),m))}),[m,h,v,...i]),{droppableRects:y,measureDroppableContainers:v,measuringScheduled:null!=c}}(W,{dragging:P,dependencies:[R.x,R.y],config:Q.droppable}),ne=function(e,t){const r=null!=t?e.get(t):void 0,a=r?r.node.current:null;return J((e=>{var r;return null==t?null:null!=(r=null!=a?a:e)?r:null}),[a,t])}(A,T),oe=l((()=>H?le(H):null),[H]),ie=function(){const e=!1===(null==F?void 0:F.autoScrollEnabled),t="object"==typeof h?!1===h.enabled:!1===h,r=P&&!e&&!t;if("object"==typeof h)return{...h,enabled:r};return{enabled:r}}(),se=function(e,t){return xt(e,t)}(ne,Q.draggable.measure);!function(e){let{activeNode:t,measure:r,initialRect:a,config:l=!0}=e;const o=n(!1),{x:i,y:s}="boolean"==typeof l?{x:l,y:l}:l;Z((()=>{if(!i&&!s||!t)return void(o.current=!1);if(o.current||!a)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const n=De(r(e),a);if(i||(n.x=0),s||(n.y=0),o.current=!0,Math.abs(n.x)>0||Math.abs(n.y)>0){const t=$e(e);t&&t.scrollBy({top:n.y,left:n.x})}}),[t,i,s,a,r])}({activeNode:null!=T?A.get(T):null,config:ie.layoutShiftCompensation,initialRect:se,measure:Q.draggable.measure});const ce=Nt(ne,Q.draggable.measure,se),de=Nt(ne?ne.parentElement:null),me=n({activatorEvent:null,active:null,activeNode:ne,collisionRect:null,collisions:null,droppableRects:G,draggableNodes:A,draggingNode:null,draggingNodeRect:null,droppableContainers:S,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ge=S.getNodeFor(null==(i=me.current.over)?void 0:i.id),pe=function(e){let{measure:r}=e;const[a,n]=t(null),i=wt({callback:o((e=>{for(const{target:t}of e)if(U(t)){n((e=>{const a=r(t);return e?{...e,width:a.width,height:a.height}:a}));break}}),[r])}),s=o((e=>{const t=Mt(e);null==i||i.disconnect(),t&&(null==i||i.observe(t)),n(t?r(t):null)}),[r,i]),[c,d]=K(s);return l((()=>({nodeRef:c,rect:a,setRef:d})),[a,c,d])}({measure:Q.dragOverlay.measure}),ve=null!=(s=pe.nodeRef.current)?s:ne,fe=P?null!=(d=pe.rect)?d:ce:null,xe=Boolean(pe.nodeRef.current&&pe.rect),we=De(Ee=xe?null:ce,xt(Ee));var Ee;const Ne=zt(ve?j(ve):null),Ce=function(e){const t=n(e),r=J((r=>e?r&&r!==kt&&e&&t.current&&e.parentNode===t.current.parentNode?r:Ie(e):kt),[e]);return a((()=>{t.current=e}),[e]),r}(P?null!=ge?ge:ne:null),Me=function(e,r){void 0===r&&(r=Re);const[a]=e,n=zt(a?j(a):null),[l,o]=t(Dt);function i(){o((()=>e.length?e.map((e=>He(e)?n:new _e(r(e),e))):Dt))}const s=wt({callback:i});return Z((()=>{null==s||s.disconnect(),i(),e.forEach((e=>null==s?void 0:s.observe(e)))}),[e]),l}(Ce),Te=Vt(x,{transform:{x:R.x-we.x,y:R.y-we.y,scaleX:1,scaleY:1},activatorEvent:H,active:L,activeNodeRect:ce,containerNodeRect:de,draggingNodeRect:fe,over:me.current.over,overlayNodeRect:pe.rect,scrollableAncestors:Ce,scrollableAncestorRects:Me,windowRect:Ne}),Ae=oe?re(oe,R):null,Se=function(e){const[r,i]=t(null),s=n(e),c=o((e=>{const t=Le(e.target);t&&i((e=>e?(e.set(t,qe(t)),new Map(e)):null))}),[]);return a((()=>{const t=s.current;if(e!==t){r(t);const a=e.map((e=>{const t=Le(e);return t?(t.addEventListener("scroll",c,{passive:!0}),[t,qe(t)]):null})).filter((e=>null!=e));i(a.length?new Map(a):null),s.current=e}return()=>{r(e),r(t)};function r(e){e.forEach((e=>{const t=Le(e);null==t||t.removeEventListener("scroll",c)}))}}),[c,e]),l((()=>e.length?r?Array.from(r.values()).reduce(((e,t)=>re(e,t)),ye):Ye(e):ye),[e,r])}(Ce),Oe=Ct(Se),Fe=Ct(Se,[ce]),Ve=re(Te,Oe),je=fe?Pe(fe,Te):null,Be=L&&je?f({active:L,collisionRect:je,droppableRects:G,droppableContainers:W,pointerCoordinates:Ae}):null,Ue=ke(Be,"id"),[Xe,Ze]=t(null),We=function(e,t,r){return{...e,scaleX:t&&r?t.width/r.width:1,scaleY:t&&r?t.height/r.height:1}}(xe?Te:re(Te,Fe),null!=(m=null==Xe?void 0:Xe.rect)?m:null,ce),Je=n(null),Ke=o(((e,t)=>{let{sensor:r,options:a}=t;if(null==O.current)return;const n=A.get(O.current);if(!n)return;const l=e.nativeEvent,o=new r({active:O.current,activeNode:n,event:l,options:a,context:me,onAbort(e){if(!A.get(e))return;const{onDragAbort:t}=X.current,r={id:e};null==t||t(r),C({type:"onDragAbort",event:r})},onPending(e,t,r,a){if(!A.get(e))return;const{onDragPending:n}=X.current,l={id:e,constraint:t,initialCoordinates:r,offset:a};null==n||n(l),C({type:"onDragPending",event:l})},onStart(e){const t=O.current;if(null==t)return;const r=A.get(t);if(!r)return;const{onDragStart:a}=X.current,n={activatorEvent:l,active:{id:t,data:r.data,rect:$}};g((()=>{null==a||a(n),M(jt.Initializing),k({type:be.DragStart,initialCoordinates:e,active:t}),C({type:"onDragStart",event:n}),V(Je.current),B(l)}))},onMove(e){k({type:be.DragMove,coordinates:e})},onEnd:i(be.DragEnd),onCancel:i(be.DragCancel)});function i(e){return async function(){const{active:t,collisions:r,over:a,scrollAdjustedTranslate:n}=me.current;let o=null;if(t&&n){const{cancelDrop:i}=X.current;if(o={activatorEvent:l,active:t,collisions:r,delta:n,over:a},e===be.DragEnd&&"function"==typeof i){await Promise.resolve(i(o))&&(e=be.DragCancel)}}O.current=null,g((()=>{k({type:e}),M(jt.Uninitialized),Ze(null),V(null),B(null),Je.current=null;const t=e===be.DragEnd?"onDragEnd":"onDragCancel";if(o){const e=X.current[t];null==e||e(o),C({type:t,event:o})}}))}}Je.current=o}),[A]),Qe=o(((e,t)=>(r,a)=>{const n=r.nativeEvent,l=A.get(a);if(null!==O.current||!l||n.dndKit||n.defaultPrevented)return;const o={active:l};!0===e(r,t.options,o)&&(n.dndKit={capturedBy:t.sensor},O.current=a,Ke(r,t))}),[A,Ke]),Ge=function(e,t){return l((()=>e.reduce(((e,r)=>{const{sensor:a}=r;return[...e,...a.activators.map((e=>({eventName:e.eventName,handler:t(e.handler,r)})))]}),[])),[e,t])}(v,Qe);!function(e){a((()=>{if(!q)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})))}(v),Z((()=>{ce&&D===jt.Initializing&&M(jt.Initialized)}),[ce,D]),a((()=>{const{onDragMove:e}=X.current,{active:t,activatorEvent:r,collisions:a,over:n}=me.current;if(!t||!r)return;const l={active:t,activatorEvent:r,collisions:a,delta:{x:Ve.x,y:Ve.y},over:n};g((()=>{null==e||e(l),C({type:"onDragMove",event:l})}))}),[Ve.x,Ve.y]),a((()=>{const{active:e,activatorEvent:t,collisions:r,droppableContainers:a,scrollAdjustedTranslate:n}=me.current;if(!e||null==O.current||!t||!n)return;const{onDragOver:l}=X.current,o=a.get(Ue),i=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,s={active:e,activatorEvent:t,collisions:r,delta:{x:n.x,y:n.y},over:i};g((()=>{Ze(i),null==l||l(s),C({type:"onDragOver",event:s})}))}),[Ue]),Z((()=>{me.current={activatorEvent:H,active:L,activeNode:ne,collisionRect:je,collisions:Be,droppableRects:G,draggableNodes:A,draggingNode:ve,draggingNodeRect:fe,droppableContainers:S,over:Xe,scrollableAncestors:Ce,scrollAdjustedTranslate:Ve},$.current={initial:fe,translated:je}}),[L,ne,Be,je,A,ve,fe,G,S,Xe,Ce,Ve]),ht({...ie,delta:R,draggingRect:je,pointerCoordinates:Ae,scrollableAncestors:Ce,scrollableAncestorRects:Me});const et=l((()=>({active:L,activeNode:ne,activeNodeRect:ce,activatorEvent:H,collisions:Be,containerNodeRect:de,dragOverlay:pe,draggableNodes:A,droppableContainers:S,droppableRects:G,over:Xe,measureDroppableContainers:te,scrollableAncestors:Ce,scrollableAncestorRects:Me,measuringConfiguration:Q,measuringScheduled:ae,windowRect:Ne})),[L,ne,ce,H,Be,de,pe,A,S,G,Xe,te,Ce,Me,Q,ae,Ne]),tt=l((()=>({activatorEvent:H,activators:Ge,active:L,activeNodeRect:ce,ariaDescribedById:{draggable:Y},dispatch:k,draggableNodes:A,over:Xe,measureDroppableContainers:te})),[H,Ge,L,ce,k,Y,A,Xe,te]);return e.createElement(ue.Provider,{value:z},e.createElement($t.Provider,{value:tt},e.createElement(Lt.Provider,{value:et},e.createElement(Ht.Provider,{value:We},b)),e.createElement(qt,{disabled:!1===(null==p?void 0:p.restoreFocus)})),e.createElement(he,{...p,hiddenTextDescribedById:Y}))})),Ut=i(null),Xt="button";function Yt(e){let{id:t,data:r,disabled:a=!1,attributes:n}=e;const o=ee("Draggable"),{activators:i,activatorEvent:s,active:c,activeNodeRect:m,ariaDescribedById:u,draggableNodes:g,over:p}=d($t),{role:h=Xt,roleDescription:b="draggable",tabIndex:v=0}=null!=n?n:{},f=(null==c?void 0:c.id)===t,y=d(f?Ht:Ut),[x,w]=K(),[E,N]=K(),k=function(e,t){return l((()=>e.reduce(((e,r)=>{let{eventName:a,handler:n}=r;return e[a]=e=>{n(e,t)},e}),{})),[e,t])}(i,t),C=_(r);Z((()=>(g.set(t,{id:t,key:o,node:x,activatorNode:E,data:C}),()=>{const e=g.get(t);e&&e.key===o&&g.delete(t)})),[g,t]);return{active:c,activatorEvent:s,activeNodeRect:m,attributes:l((()=>({role:h,tabIndex:v,"aria-disabled":a,"aria-pressed":!(!f||h!==Xt)||void 0,"aria-roledescription":b,"aria-describedby":u.draggable})),[a,h,v,f,b,u.draggable]),isDragging:f,listeners:a?void 0:k,node:x,over:p,setNodeRef:w,setActivatorNodeRef:N,transform:y}}function Zt(){return d(Lt)}const Wt={timeout:25};function _t(r){let{animation:a,children:n}=r;const[l,o]=t(null),[i,s]=t(null),c=Q(n);return n||l||!c||o(c),Z((()=>{if(!i)return;const e=null==l?void 0:l.key,t=null==l?void 0:l.props.id;null!=e&&null!=t?Promise.resolve(a(t,i)).then((()=>{o(null)})):o(null)}),[a,l,i]),e.createElement(e.Fragment,null,n,l?u(l,{ref:s}):null)}const Jt={x:0,y:0,scaleX:1,scaleY:1};function Kt(t){let{children:r}=t;return e.createElement($t.Provider,{value:It},e.createElement(Ht.Provider,{value:Jt},r))}const Qt={position:"fixed",touchAction:"none"},Gt=e=>ne(e)?"transform 250ms ease":void 0,er=m(((t,r)=>{let{as:a,activatorEvent:n,adjustScale:l,children:o,className:i,rect:s,style:c,transform:d,transition:m=Gt}=t;if(!s)return null;const u=l?d:{...d,scaleX:1,scaleY:1},g={...Qt,width:s.width,height:s.height,top:s.top,left:s.left,transform:oe.Transform.toString(u),transformOrigin:l&&n?xe(n,s):void 0,transition:"function"==typeof m?m(n):m,...c};return e.createElement(a,{className:i,style:g,ref:r},o)})),tr=e=>t=>{let{active:r,dragOverlay:a}=t;const n={},{styles:l,className:o}=e;if(null!=