UNPKG

formalute

Version:

A flexible drag-and-drop form builder powered by @dnd-kit and React.

1 lines 179 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jquery"),require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","jquery","react","react-dom"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Formalute={},e.$,e.React,e.ReactDOM)}(this,(function(e,t,r,a){"use strict";!function(e){e.fn.formalute=function(t){const r={type:"builder",jsonConfig:{},title:"Build Your Form",theme:"light",onSave:function(e){console.log("Saved:",e)}},a=e.extend({},r,t);return this.each((function(){if(!window.React||!window.ReactDOM||!window.Formalute)return void console.error("React, ReactDOM, or Formalute is missing!");const{FormaluteBuilder:e,FormaluteRenderer:t}=window.Formalute,r=ReactDOM.createRoot(this);"builder"===a.type?r.render(React.createElement(e,{title:a.title,theme:a.theme,onSave:a.onSave})):"renderer"===a.type&&r.render(React.createElement(t,{jsonConfig:a.jsonConfig,onSubmit:a.onSubmit}))}))}}(jQuery);var n={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},l=r.createContext&&r.createContext(n),o=["attr","size","title"];function i(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 s(){return s=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},s.apply(this,arguments)}function c(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 d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){m(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function m(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 u(e){return e&&e.map(((e,t)=>r.createElement(e.tag,d({key:t},e.attr),u(e.child))))}function g(e){return t=>r.createElement(p,s({attr:d({},e.attr)},t),u(e.child))}function p(e){var t=t=>{var a,{attr:n,size:l,title:c}=e,m=i(e,o),u=l||t.size||"1em";return t.className&&(a=t.className),e.className&&(a=(a?a+" ":"")+e.className),r.createElement("svg",s({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,n,m,{className:a,style:d(d({color:e.color||t.color},t.style),e.style),height:u,width:u,xmlns:"http://www.w3.org/2000/svg"}),c&&r.createElement("title",null,c),e.children)};return void 0!==l?r.createElement(l.Consumer,null,(e=>t(e))):t(n)}function h(e){return g({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 b(e){return g({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 f(e){return g({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 v(e){return g({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 y(e){return g({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 x(e){return g({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 w(e){return g({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 E(e){return g({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 k(e){return g({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 C(e){return g({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 N(e){return g({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 z=({handleExpandToggle:e,handleSave:t,handleRenderer:a,handleIsMultiPart:n})=>{const[l,o]=r.useState(!1),i=e=>{o(!1),e&&e()};return r.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"},r.createElement("div",{className:"text-lg md:text-2xl font-semibold tracking-wide text-gray-900"},"Formalute",r.createElement("span",{className:"text-blue-600"},"-JS")),r.createElement("div",{className:"hidden lg:flex space-x-4"},r.createElement("button",{onClick:()=>i(e),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"},r.createElement(E,null)," ",r.createElement("span",{className:"hidden sm:inline"},"Add Element")),r.createElement("button",{onClick:()=>i(n),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"},r.createElement(v,null)," ",r.createElement("span",{className:"hidden sm:inline"},"Multi-Part Form")),r.createElement("button",{onClick:()=>i(a),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"},r.createElement(y,null)," ",r.createElement("span",{className:"hidden sm:inline"},"Preview")),r.createElement("button",{onClick:()=>i(t),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"},r.createElement(k,null)," ",r.createElement("span",{className:"hidden sm:inline"},"Publish"))),r.createElement("div",{className:"lg:hidden"},r.createElement("button",{onClick:()=>o(!l),className:"text-gray-800 bg-transparent p-2 rounded-lg hover:bg-gray-200 focus:outline-none transition"},l?r.createElement(C,{size:24}):r.createElement(h,{size:24}))),r.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 "+(l?"translate-x-0":"translate-x-full"),style:{backdropFilter:"blur(12px)"}},r.createElement("div",{className:"flex justify-between items-center p-[1.1rem] border-b border-gray-300"},r.createElement("div",{className:"text-lg font-semibold text-gray-900"},"Menu"),r.createElement("button",{onClick:()=>o(!1),className:"text-gray-800"},r.createElement(C,{size:24}))),r.createElement("div",{className:"flex flex-col items-center mt-6 space-y-4"},r.createElement("button",{onClick:()=>i(e),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"},r.createElement(E,null)," Add Element"),r.createElement("button",{onClick:()=>i(n),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"},r.createElement(v,null)," Multi-Part Form"),r.createElement("button",{onClick:()=>i(a),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"},r.createElement(y,null)," Preview"),r.createElement("button",{onClick:()=>i(t),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"},r.createElement(k,null)," Publish"))))},D=({handleConfirmDelete:e,setIsDeleteWarningVisible:t})=>r.createElement(r.Fragment,null,r.createElement("div",{className:"modal-overlay"}),r.createElement("div",{className:"modal"},r.createElement("p",null,"Are you sure you want to delete this element?"),r.createElement("button",{onClick:e},"Confirm"),r.createElement("button",{onClick:()=>t(!1)},"Cancel")));const S="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function M(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function R(e){return"nodeType"in e}function P(e){var t,r;return e?M(e)?e:R(e)&&null!=(t=null==(r=e.ownerDocument)?void 0:r.defaultView)?t:window:window}function T(e){const{Document:t}=P(e);return e instanceof t}function A(e){return!M(e)&&e instanceof P(e).HTMLElement}function I(e){return e instanceof P(e).SVGElement}function O(e){return e?M(e)?e.document:R(e)?T(e)?e:A(e)||I(e)?e.ownerDocument:document:document:document}const L=S?r.useLayoutEffect:r.useEffect;function $(e){const t=r.useRef(e);return L((()=>{t.current=e})),r.useCallback((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 F(e,t){void 0===t&&(t=[e]);const a=r.useRef(e);return L((()=>{a.current!==e&&(a.current=e)}),t),a}function q(e,t){const a=r.useRef();return r.useMemo((()=>{const t=e(a.current);return a.current=t,t}),[...t])}function j(e){const t=$(e),a=r.useRef(null),n=r.useCallback((e=>{e!==a.current&&(null==t||t(e,a.current)),a.current=e}),[]);return[a,n]}function V(e){const t=r.useRef();return r.useEffect((()=>{t.current=e}),[e]),t.current}let H={};function B(e,t){return r.useMemo((()=>{if(t)return t;const r=null==H[e]?0:H[e]+1;return H[e]=r,e+"-"+r}),[e,t])}function U(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 X=U(1),Y=U(-1);function Z(e){if(!e)return!1;const{KeyboardEvent:t}=P(e.target);return t&&e instanceof t}function W(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=P(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 _=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[_.Translate.toString(e),_.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:r,easing:a}=e;return t+" "+r+"ms "+a}}}),J="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function K(e){return e.matches(J)?e:e.querySelector(J)}const Q={display:"none"};function G(e){let{id:t,value:a}=e;return r.createElement("div",{id:t,style:Q},a)}function ee(e){let{id:t,announcement:a,ariaLiveType:n="assertive"}=e;return r.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":n,"aria-atomic":!0},a)}const te=r.createContext(null);const re={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 "},ae={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 ne(e){let{announcements:t=ae,container:n,hiddenTextDescribedById:l,screenReaderInstructions:o=re}=e;const{announce:i,announcement:s}=function(){const[e,t]=r.useState("");return{announce:r.useCallback((e=>{null!=e&&t(e)}),[]),announcement:e}}(),c=B("DndLiveRegion"),[d,m]=r.useState(!1);if(r.useEffect((()=>{m(!0)}),[]),function(e){const t=r.useContext(te);r.useEffect((()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)}),[e,t])}(r.useMemo((()=>({onDragStart(e){let{active:r}=e;i(t.onDragStart({active:r}))},onDragMove(e){let{active:r,over:a}=e;t.onDragMove&&i(t.onDragMove({active:r,over:a}))},onDragOver(e){let{active:r,over:a}=e;i(t.onDragOver({active:r,over:a}))},onDragEnd(e){let{active:r,over:a}=e;i(t.onDragEnd({active:r,over:a}))},onDragCancel(e){let{active:r,over:a}=e;i(t.onDragCancel({active:r,over:a}))}})),[i,t])),!d)return null;const u=r.createElement(r.Fragment,null,r.createElement(G,{id:l,value:o.draggable}),r.createElement(ee,{id:c,announcement:s}));return n?a.createPortal(u,n):u}var le;function oe(){}function ie(e,t){return r.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"}(le||(le={}));const se=Object.freeze({x:0,y:0});function ce(e,t){const r=W(e);if(!r)return"0 0";return(r.x-t.left)/t.width*100+"% "+(r.y-t.top)/t.height*100+"%"}function de(e,t){let{data:{value:r}}=e,{data:{value:a}}=t;return r-a}function me(e,t){let{data:{value:r}}=e,{data:{value:a}}=t;return a-r}function ue(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 ge(e,t){if(!e||0===e.length)return null;const[r]=e;return r[t]}function pe(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 he=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=pe(l,t);r>0&&n.push({id:a,data:{droppableContainer:e,value:r}})}}return n.sort(me)};function be(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:se}function fe(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 ve=fe(1);function ye(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 xe={ignoreTransform:!1};function we(e,t){void 0===t&&(t=xe);let r=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:a}=P(e).getComputedStyle(e);t&&(r=function(e,t,r){const a=ye(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 Ee(e){return we(e,{ignoreTransform:!0})}function ke(e,t){const r=[];return e?function a(n){if(null!=t&&r.length>=t)return r;if(!n)return r;if(T(n)&&null!=n.scrollingElement&&!r.includes(n.scrollingElement))return r.push(n.scrollingElement),r;if(!A(n)||I(n))return r;if(r.includes(n))return r;const l=P(e).getComputedStyle(n);return n!==e&&function(e,t){void 0===t&&(t=P(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=P(e).getComputedStyle(e)),"fixed"===t.position}(n,l)?r:a(n.parentNode)}(e):r}function Ce(e){const[t]=ke(e,1);return null!=t?t:null}function Ne(e){return S&&e?M(e)?e:R(e)?T(e)||e===O(e).scrollingElement?window:A(e)?e:null:null:null}function ze(e){return M(e)?e.scrollX:e.scrollLeft}function De(e){return M(e)?e.scrollY:e.scrollTop}function Se(e){return{x:ze(e),y:De(e)}}var Me;function Re(e){return!(!S||!e)&&e===document.scrollingElement}function Pe(e){const t={x:0,y:0},r=Re(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"}(Me||(Me={}));const Te={x:.2,y:.2};function Ae(e,t,r,a,n){let{top:l,left:o,right:i,bottom:s}=r;void 0===a&&(a=10),void 0===n&&(n=Te);const{isTop:c,isBottom:d,isLeft:m,isRight:u}=Pe(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=Me.Backward,p.y=a*Math.abs((t.top+h-l)/h)):!d&&s>=t.bottom-h&&(g.y=Me.Forward,p.y=a*Math.abs((t.bottom-h-s)/h)),!u&&i>=t.right-b?(g.x=Me.Forward,p.x=a*Math.abs((t.right-b-i)/b)):!m&&o<=t.left+b&&(g.x=Me.Backward,p.x=a*Math.abs((t.left+b-o)/b)),{direction:g,speed:p}}function Ie(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 Oe(e){return e.reduce(((e,t)=>X(e,Se(t))),se)}function Le(e,t){if(void 0===t&&(t=we),!e)return;const{top:r,left:a,bottom:n,right:l}=t(e);Ce(e)&&(n<=0||l<=0||r>=window.innerHeight||a>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const $e=[["x",["left","right"],function(e){return e.reduce(((e,t)=>e+ze(t)),0)}],["y",["top","bottom"],function(e){return e.reduce(((e,t)=>e+De(t)),0)}]];class Fe{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=ke(t),a=Oe(r);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,n]of $e)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 qe{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 je(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 Ve,He;function Be(e){e.preventDefault()}function Ue(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"}(Ve||(Ve={})),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"}(He||(He={}));const Xe={start:[He.Space,He.Enter],cancel:[He.Esc],end:[He.Space,He.Enter,He.Tab]},Ye=(e,t)=>{let{currentCoordinates:r}=t;switch(e.code){case He.Right:return{...r,x:r.x+25};case He.Left:return{...r,x:r.x-25};case He.Down:return{...r,y:r.y+25};case He.Up:return{...r,y:r.y-25}}};class Ze{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 qe(O(t)),this.windowListeners=new qe(P(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ve.Resize,this.handleCancel),this.windowListeners.add(Ve.VisibilityChange,this.handleCancel),setTimeout((()=>this.listeners.add(Ve.Keydown,this.handleKeyDown)))}handleStart(){const{activeNode:e,onStart:t}=this.props,r=e.node.current;r&&Le(r),t(se)}handleKeyDown(e){if(Z(e)){const{active:t,context:r,options:a}=this.props,{keyboardCodes:n=Xe,coordinateGetter:l=Ye,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}:se;this.referenceCoordinates||(this.referenceCoordinates=c);const d=l(e,{active:t,context:r.current,currentCoordinates:c});if(d){const t=Y(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}=Pe(r),g=Ie(r),p={x:Math.min(n===He.Right?g.right-g.width/2:g.right,Math.max(n===He.Right?g.left:g.left+g.width/2,d.x)),y:Math.min(n===He.Down?g.bottom-g.height/2:g.bottom,Math.max(n===He.Down?g.top:g.top+g.height/2,d.y))},h=n===He.Right&&!i||n===He.Left&&!s,b=n===He.Down&&!c||n===He.Up&&!l;if(h&&p.x!==d.x){const e=r.scrollLeft+t.x,l=n===He.Right&&e<=m.x||n===He.Left&&e>=u.x;if(l&&!t.y)return void r.scrollTo({left:e,behavior:o});a.x=l?r.scrollLeft-e:n===He.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===He.Down&&e<=m.y||n===He.Up&&e>=u.y;if(l&&!t.x)return void r.scrollTo({top:e,behavior:o});a.y=l?r.scrollTop-e:n===He.Down?r.scrollTop-m.y:r.scrollTop-u.y,a.y&&r.scrollBy({top:-a.y,behavior:o});break}}this.handleMove(e,X(Y(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 We(e){return Boolean(e&&"distance"in e)}function _e(e){return Boolean(e&&"delay"in e)}Ze.activators=[{eventName:"onKeyDown",handler:(e,t,r)=>{let{keyboardCodes:a=Xe,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 Je{constructor(e,t,r){var a;void 0===r&&(r=function(e){const{EventTarget:t}=P(e);return e instanceof t?e:O(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=O(l),this.documentListeners=new qe(this.document),this.listeners=new qe(r),this.windowListeners=new qe(P(l)),this.initialCoordinates=null!=(a=W(n))?a:se,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(Ve.Resize,this.handleCancel),this.windowListeners.add(Ve.DragStart,Be),this.windowListeners.add(Ve.VisibilityChange,this.handleCancel),this.windowListeners.add(Ve.ContextMenu,Be),this.documentListeners.add(Ve.Keydown,this.handleKeydown),t){if(null!=r&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(_e(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(We(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(Ve.Click,Ue,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ve.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=W(e))?t:se,s=Y(a,i);if(!r&&o){if(We(o)){if(null!=o.tolerance&&je(s,o.tolerance))return this.handleCancel();if(je(s,o.distance))return this.handleStart()}return _e(o)&&je(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===He.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const Ke={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class Qe extends Je{constructor(e){const{event:t}=e,r=O(t.target);super(e,Ke,r)}}Qe.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 Ge={move:{name:"mousemove"},end:{name:"mouseup"}};var et;!function(e){e[e.RightClick=2]="RightClick"}(et||(et={}));(class extends Je{constructor(e){super(e,Ge,O(e.event.target))}}).activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:r}=e,{onActivation:a}=t;return r.button!==et.RightClick&&(null==a||a({event:r}),!0)}}];const tt={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var rt,at;function nt(e){let{acceleration:t,activator:a=rt.Pointer,canScroll:n,draggingRect:l,enabled:o,interval:i=5,order:s=at.TreeOrder,pointerCoordinates:c,scrollableAncestors:d,scrollableAncestorRects:m,delta:u,threshold:g}=e;const p=function(e){let{delta:t,disabled:r}=e;const a=V(t);return q((e=>{if(r||!a||!e)return lt;const n={x:Math.sign(t.x-a.x),y:Math.sign(t.y-a.y)};return{x:{[Me.Backward]:e.x[Me.Backward]||-1===n.x,[Me.Forward]:e.x[Me.Forward]||1===n.x},y:{[Me.Backward]:e.y[Me.Backward]||-1===n.y,[Me.Forward]:e.y[Me.Forward]||1===n.y}}}),[r,t,a])}({delta:u,disabled:!o}),[h,b]=function(){const e=r.useRef(null);return[r.useCallback(((t,r)=>{e.current=setInterval(t,r)}),[]),r.useCallback((()=>{null!==e.current&&(clearInterval(e.current),e.current=null)}),[])]}(),f=r.useRef({x:0,y:0}),v=r.useRef({x:0,y:0}),y=r.useMemo((()=>{switch(a){case rt.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case rt.DraggableRect:return l}}),[a,l,c]),x=r.useRef(null),w=r.useCallback((()=>{const e=x.current;if(!e)return;const t=f.current.x*v.current.x,r=f.current.y*v.current.y;e.scrollBy(t,r)}),[]),E=r.useMemo((()=>s===at.TreeOrder?[...d].reverse():d),[s,d]);r.useEffect((()=>{if(o&&d.length&&y){for(const e of E){if(!1===(null==n?void 0:n(e)))continue;const r=d.indexOf(e),a=m[r];if(!a)continue;const{direction:l,speed:o}=Ae(e,a,y,t,g);for(const e of["x","y"])p[e][l[e]]||(o[e]=0,l[e]=0);if(o.x>0||o.y>0)return b(),x.current=e,h(w,i),f.current=o,void(v.current=l)}f.current={x:0,y:0},v.current={x:0,y:0},b()}else b()}),[t,w,n,b,o,i,JSON.stringify(y),JSON.stringify(p),h,d,E,m,JSON.stringify(g)])}(class extends Je{constructor(e){super(e,tt)}static setup(){return window.addEventListener(tt.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(tt.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"}(rt||(rt={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(at||(at={}));const lt={x:{[Me.Backward]:!1,[Me.Forward]:!1},y:{[Me.Backward]:!1,[Me.Forward]:!1}};var ot,it;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(ot||(ot={})),function(e){e.Optimized="optimized"}(it||(it={}));const st=new Map;function ct(e,t){return q((r=>e?r||("function"==typeof t?t(e):e):null),[t,e])}function dt(e){let{callback:t,disabled:a}=e;const n=$(t),l=r.useMemo((()=>{if(a||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(n)}),[a]);return r.useEffect((()=>()=>null==l?void 0:l.disconnect()),[l]),l}function mt(e){return new Fe(we(e),e)}function ut(e,t,a){void 0===t&&(t=mt);const[n,l]=r.useState(null);function o(){l((r=>{if(!e)return null;var n;if(!1===e.isConnected)return null!=(n=null!=r?r:a)?n:null;const l=t(e);return JSON.stringify(r)===JSON.stringify(l)?r:l}))}const i=function(e){let{callback:t,disabled:a}=e;const n=$(t),l=r.useMemo((()=>{if(a||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(n)}),[n,a]);return r.useEffect((()=>()=>null==l?void 0:l.disconnect()),[l]),l}({callback(t){if(e)for(const r of t){const{type:t,target:a}=r;if("childList"===t&&a instanceof HTMLElement&&a.contains(e)){o();break}}}}),s=dt({callback:o});return L((()=>{o(),e?(null==s||s.observe(e),null==i||i.observe(document.body,{childList:!0,subtree:!0})):(null==s||s.disconnect(),null==i||i.disconnect())}),[e]),n}const gt=[];function pt(e,t){void 0===t&&(t=[]);const a=r.useRef(null);return r.useEffect((()=>{a.current=null}),t),r.useEffect((()=>{const t=e!==se;t&&!a.current&&(a.current=e),!t&&a.current&&(a.current=null)}),[e]),a.current?Y(e,a.current):se}function ht(e){return r.useMemo((()=>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 bt=[];function ft(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return A(t)?t:e}const vt=[{sensor:Qe,options:{}},{sensor:Ze,options:{}}],yt={current:{}},xt={draggable:{measure:Ee},droppable:{measure:Ee,strategy:ot.WhileDragging,frequency:it.Optimized},dragOverlay:{measure:we}};class wt 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 Et={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new wt,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:oe},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:xt,measureDroppableContainers:oe,windowRect:null,measuringScheduled:!1},kt={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:oe,draggableNodes:new Map,over:null,measureDroppableContainers:oe},Ct=r.createContext(kt),Nt=r.createContext(Et);function zt(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new wt}}}function Dt(e,t){switch(t.type){case le.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case le.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 le.DragEnd:case le.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case le.RegisterDroppable:{const{element:r}=t,{id:a}=r,n=new wt(e.droppable.containers);return n.set(a,r),{...e,droppable:{...e.droppable,containers:n}}}case le.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 wt(e.droppable.containers);return o.set(r,{...l,disabled:n}),{...e,droppable:{...e.droppable,containers:o}}}case le.UnregisterDroppable:{const{id:r,key:a}=t,n=e.droppable.containers.get(r);if(!n||a!==n.key)return e;const l=new wt(e.droppable.containers);return l.delete(r),{...e,droppable:{...e.droppable,containers:l}}}default:return e}}function St(e){let{disabled:t}=e;const{active:a,activatorEvent:n,draggableNodes:l}=r.useContext(Ct),o=V(n),i=V(null==a?void 0:a.id);return r.useEffect((()=>{if(!t&&!n&&o&&null!=i){if(!Z(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=K(e);if(t){t.focus();break}}}))}}),[n,t,l,i,o]),null}function Mt(e,t){let{transform:r,...a}=t;return null!=e&&e.length?e.reduce(((e,t)=>t({transform:e,...a})),r):r}const Rt=r.createContext({...se,scaleX:1,scaleY:1});var Pt;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(Pt||(Pt={}));const Tt=r.memo((function(e){var t,n,l,o;let{id:i,accessibility:s,autoScroll:c=!0,children:d,sensors:m=vt,collisionDetection:u=he,measuring:g,modifiers:p,...h}=e;const b=r.useReducer(Dt,void 0,zt),[f,v]=b,[y,x]=function(){const[e]=r.useState((()=>new Set)),t=r.useCallback((t=>(e.add(t),()=>e.delete(t))),[e]);return[r.useCallback((t=>{let{type:r,event:a}=t;e.forEach((e=>{var t;return null==(t=e[r])?void 0:t.call(e,a)}))}),[e]),t]}(),[w,E]=r.useState(Pt.Uninitialized),k=w===Pt.Initialized,{draggable:{active:C,nodes:N,translate:z},droppable:{containers:D}}=f,M=null!=C?N.get(C):null,R=r.useRef({initial:null,translated:null}),T=r.useMemo((()=>{var e;return null!=C?{id:C,data:null!=(e=null==M?void 0:M.data)?e:yt,rect:R}:null}),[C,M]),I=r.useRef(null),[O,$]=r.useState(null),[V,H]=r.useState(null),U=F(h,Object.values(h)),Y=B("DndDescribedBy",i),Z=r.useMemo((()=>D.getEnabled()),[D]),_=function(e){return r.useMemo((()=>({draggable:{...xt.draggable,...null==e?void 0:e.draggable},droppable:{...xt.droppable,...null==e?void 0:e.droppable},dragOverlay:{...xt.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])}(g),{droppableRects:J,measureDroppableContainers:K,measuringScheduled:Q}=function(e,t){let{dragging:a,dependencies:n,config:l}=t;const[o,i]=r.useState(null),{frequency:s,measure:c,strategy:d}=l,m=r.useRef(e),u=function(){switch(d){case ot.Always:return!1;case ot.BeforeDragging:return a;default:return!a}}(),g=F(u),p=r.useCallback((function(e){void 0===e&&(e=[]),g.current||i((t=>null===t?e:t.concat(e.filter((e=>!t.includes(e))))))}),[g]),h=r.useRef(null),b=q((t=>{if(u&&!a)return st;if(!t||t===st||m.current!==e||null!=o){const t=new Map;for(let r of e){if(!r)continue;if(o&&o.length>0&&!o.includes(r.id)&&r.rect.current){t.set(r.id,r.rect.current);continue}const e=r.node.current,a=e?new Fe(c(e),e):null;r.rect.current=a,a&&t.set(r.id,a)}return t}return t}),[e,o,a,u,c]);return r.useEffect((()=>{m.current=e}),[e]),r.useEffect((()=>{u||p()}),[a,u]),r.useEffect((()=>{o&&o.length>0&&i(null)}),[JSON.stringify(o)]),r.useEffect((()=>{u||"number"!=typeof s||null!==h.current||(h.current=setTimeout((()=>{p(),h.current=null}),s))}),[s,u,p,...n]),{droppableRects:b,measureDroppableContainers:p,measuringScheduled:null!=o}}(Z,{dragging:k,dependencies:[z.x,z.y],config:_.droppable}),G=function(e,t){const r=null!=t?e.get(t):void 0,a=r?r.node.current:null;return q((e=>{var r;return null==t?null:null!=(r=null!=a?a:e)?r:null}),[a,t])}(N,C),ee=r.useMemo((()=>V?W(V):null),[V]),re=function(){const e=!1===(null==O?void 0:O.autoScrollEnabled),t="object"==typeof c?!1===c.enabled:!1===c,r=k&&!e&&!t;if("object"==typeof c)return{...c,enabled:r};return{enabled:r}}(),ae=function(e,t){return ct(e,t)}(G,_.draggable.measure);!function(e){let{activeNode:t,measure:a,initialRect:n,config:l=!0}=e;const o=r.useRef(!1),{x:i,y:s}="boolean"==typeof l?{x:l,y:l}:l;L((()=>{if(!i&&!s||!t)return void(o.current=!1);if(o.current||!n)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const r=be(a(e),n);if(i||(r.x=0),s||(r.y=0),o.current=!0,Math.abs(r.x)>0||Math.abs(r.y)>0){const t=Ce(e);t&&t.scrollBy({top:r.y,left:r.x})}}),[t,i,s,n,a])}({activeNode:null!=C?N.get(C):null,config:re.layoutShiftCompensation,initialRect:ae,measure:_.draggable.measure});const oe=ut(G,_.draggable.measure,ae),ie=ut(G?G.parentElement:null),ce=r.useRef({activatorEvent:null,active:null,activeNode:G,collisionRect:null,collisions:null,droppableRects:J,draggableNodes:N,draggingNode:null,draggingNodeRect:null,droppableContainers:D,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),de=D.getNodeFor(null==(t=ce.current.over)?void 0:t.id),me=function(e){let{measure:t}=e;const[a,n]=r.useState(null),l=dt({callback:r.useCallback((e=>{for(const{target:r}of e)if(A(r)){n((e=>{const a=t(r);return e?{...e,width:a.width,height:a.height}:a}));break}}),[t])}),o=r.useCallback((e=>{const r=ft(e);null==l||l.disconnect(),r&&(null==l||l.observe(r)),n(r?t(r):null)}),[t,l]),[i,s]=j(o);return r.useMemo((()=>({nodeRef:i,rect:a,setRef:s})),[a,i,s])}({measure:_.dragOverlay.measure}),ue=null!=(n=me.nodeRef.current)?n:G,pe=k?null!=(l=me.rect)?l:oe:null,fe=Boolean(me.nodeRef.current&&me.rect),ye=be(xe=fe?null:oe,ct(xe));var xe;const Ee=ht(ue?P(ue):null),ze=function(e){const t=r.useRef(e),a=q((r=>e?r&&r!==gt&&e&&t.current&&e.parentNode===t.current.parentNode?r:ke(e):gt),[e]);return r.useEffect((()=>{t.current=e}),[e]),a}(k?null!=de?de:G:null),De=function(e,t){void 0===t&&(t=we);const[a]=e,n=ht(a?P(a):null),[l,o]=r.useState(bt);function i(){o((()=>e.length?e.map((e=>Re(e)?n:new Fe(t(e),e))):bt))}const s=dt({callback:i});return L((()=>{null==s||s.disconnect(),i(),e.forEach((e=>null==s?void 0:s.observe(e)))}),[e]),l}(ze),Me=Mt(p,{transform:{x:z.x-ye.x,y:z.y-ye.y,scaleX:1,scaleY:1},activatorEvent:V,active:T,activeNodeRect:oe,containerNodeRect:ie,draggingNodeRect:pe,over:ce.current.over,overlayNodeRect:me.rect,scrollableAncestors:ze,scrollableAncestorRects:De,windowRect:Ee}),Pe=ee?X(ee,z):null,Te=function(e){const[t,a]=r.useState(null),n=r.useRef(e),l=r.useCallback((e=>{const t=Ne(e.target);t&&a((e=>e?(e.set(t,Se(t)),new Map(e)):null))}),[]);return r.useEffect((()=>{const t=n.current;if(e!==t){r(t);const o=e.map((e=>{const t=Ne(e);return t?(t.addEventListener("scroll",l,{passive:!0}),[t,Se(t)]):null})).filter((e=>null!=e));a(o.length?new Map(o):null),n.current=e}return()=>{r(e),r(t)};function r(e){e.forEach((e=>{const t=Ne(e);null==t||t.removeEventListener("scroll",l)}))}}),[l,e]),r.useMemo((()=>e.length?t?Array.from(t.values()).reduce(((e,t)=>X(e,t)),se):Oe(e):se),[e,t])}(ze),Ae=pt(Te),Ie=pt(Te,[oe]),Le=X(Me,Ae),$e=pe?ve(pe,Me):null,qe=T&&$e?u({active:T,collisionRect:$e,droppableRects:J,droppableContainers:Z,pointerCoordinates:Pe}):null,je=ge(qe,"id"),[Ve,He]=r.useState(null),Be=function(e,t,r){return{...e,scaleX:t&&r?t.width/r.width:1,scaleY:t&&r?t.height/r.height:1}}(fe?Me:X(Me,Ie),null!=(o=null==Ve?void 0:Ve.rect)?o:null,oe),Ue=r.useRef(null),Xe=r.useCallback(((e,t)=>{let{sensor:r,options:n}=t;if(null==I.current)return;const l=N.get(I.current);if(!l)return;const o=e.nativeEvent,i=new r({active:I.current,activeNode:l,event:o,options:n,context:ce,onAbort(e){if(!N.get(e))return;const{onDragAbort:t}=U.current,r={id:e};null==t||t(r),y({type:"onDragAbort",event:r})},onPending(e,t,r,a){if(!N.get(e))return;const{onDragPending:n}=U.current,l={id:e,constraint:t,initialCoordinates:r,offset:a};null==n||n(l),y({type:"onDragPending",event:l})},onStart(e){const t=I.current;if(null==t)return;const r=N.get(t);if(!r)return;const{onDragStart:n}=U.current,l={activatorEvent:o,active:{id:t,data:r.data,rect:R}};a.unstable_batchedUpdates((()=>{null==n||n(l),E(Pt.Initializing),v({type:le.DragStart,initialCoordinates:e,active:t}),y({type:"onDragStart",event:l}),$(Ue.current),H(o)}))},onMove(e){v({type:le.DragMove,coordinates:e})},onEnd:s(le.DragEnd),onCancel:s(le.DragCancel)});function s(e){return async function(){const{active:t,collisions:r,over:n,scrollAdjustedTranslate:l}=ce.current;let i=null;if(t&&l){const{cancelDrop:a}=U.current;if(i={activatorEvent:o,active:t,collisions:r,delta:l,over:n},e===le.DragEnd&&"function"==typeof a){await Promise.resolve(a(i))&&(e=le.DragCancel)}}I.current=null,a.unstable_batchedUpdates((()=>{v({type:e}),E(Pt.Uninitialized),He(null),$(null),H(null),Ue.current=null;const t=e===le.DragEnd?"onDragEnd":"onDragCancel";if(i){const e=U.current[t];null==e||e(i),y({type:t,event:i})}}))}}Ue.current=i}),[N]),Ye=r.useCallback(((e,t)=>(r,a)=>{const n=r.nativeEvent,l=N.get(a);if(null!==I.current||!l||n.dndKit||n.defaultPrevented)return;const o={active:l};!0===e(r,t.options,o)&&(n.dndKit={capturedBy:t.sensor},I.current=a,Xe(r,t))}),[N,Xe]),Ze=function(e,t){return r.useMemo((()=>e.reduce(((e,r)=>{const{sensor:a}=r;return[...e,...a.activators.map((e=>({eventName:e.eventName,handler:t(e.handler,r)})))]}),[])),[e,t])}(m,Ye);!function(e){r.useEffect((()=>{if(!S)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})))}(m),L((()=>{oe&&w===Pt.Initializing&&E(Pt.Initialized)}),[oe,w]),r.useEffect((()=>{const{onDragMove:e}=U.current,{active:t,activatorEvent:r,collisions:n,over:l}=ce.current;if(!t||!r)return;const o={active:t,activatorEvent:r,collisions:n,delta:{x:Le.x,y:Le.y},over:l};a.unstable_batchedUpdates((()=>{null==e||e(o),y({type:"onDragMove",event:o})}))}),[Le.x,Le.y]),r.useEffect((()=>{const{active:e,activatorEvent:t,collisions:r,droppableContainers:n,scrollAdjustedTranslate:l}=ce.current;if(!e||null==I.current||!t||!l)return;const{onDragOver:o}=U.current,i=n.get(je),s=i&&i.rect.current?{id:i.id,rect:i.rect.current,data:i.data,disabled:i.disabled}:null,c={active:e,activatorEvent:t,collisions:r,delta:{x:l.x,y:l.y},over:s};a.unstable_batchedUpdates((()=>{He(s),null==o||o(c),y({type:"onDragOver",event:c})}))}),[je]),L((()=>{ce.current={activatorEvent:V,active:T,activeNode:G,collisionRect:$e,collisions:qe,droppableRects:J,draggableNodes:N,draggingNode:ue,draggingNodeRect:pe,droppableContainers:D,over:Ve,scrollableAncestors:ze,scrollAdjustedTranslate:Le},R.current={initial:pe,translated:$e}}),[T,G,qe,$e,N,ue,pe,J,D,Ve,ze,Le]),nt({...re,delta:z,draggingRect:$e,pointerCoordinates:Pe,scrollableAncestors:ze,scrollableAncestorRects:De});const We=r.useMemo((()=>({active:T,activeNode:G,activeNodeRect:oe,activatorEvent:V,collisions:qe,containerNodeRect:ie,dragOverlay:me,draggableNodes:N,droppableContainers:D,droppableRects:J,over:Ve,measureDroppableContainers:K,scrollableAncestors:ze,scrollableAncestorRects:De,measuringConfiguration:_,measuringScheduled:Q,windowRect:Ee})),[T,G,oe,V,qe,ie,me,N,D,J,Ve,K,ze,De,_,Q,Ee]),_e=r.useMemo((()=>({activatorEvent:V,activators:Ze,active:T,activeNodeRect:oe,ariaDescribedById:{draggable:Y},dispatch:v,draggableNodes:N,over:Ve,measureDroppableContainers:K})),[V,Ze,T,oe,v,Y,N,Ve,K]);return r.createElement(te.Provider,{value:x},r.createElement(Ct.Provider,{value:_e},r.createElement(Nt.Provider,{value:We},r.createElement(Rt.Provider,{value:Be},d)),r.createElement(St,{disabled:!1===(null==s?void 0:s.restoreFocus)})),r.createElement(ne,{...s,hiddenTextDescribedById:Y}))})),At=r.createContext(null),It="button";function Ot(e){let{id:t,data:a,disabled:n=!1,attributes:l}=e;const o=B("Draggable"),{activators:i,activatorEvent:s,active:c,activeNodeRect:d,ariaDescribedById:m,draggableNodes:u,over:g}=r.useContext(Ct),{role:p=It,roleDescription:h="draggable",tabIndex:b=0}=null!=l?l:{},f=(null==c?void 0:c.id)===t,v=r.useContext(f?Rt:At),[y,x]=j(),[w,E]=j(),k=function(e,t){return r.useM