/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@hello-pangea/dnd@18.0.1/dist/dnd.cjs.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var React=require("react"),ReactDOM=require("react-dom"),redux=require("redux"),reactRedux=require("react-redux"),cssBoxModel=require("css-box-model"),rafSchd=require("raf-schd"),_extends=require("@babel/runtime/helpers/extends");const isProduction$1="production"===process.env.NODE_ENV,spacesAndTabs=/[ \t]{2,}/g,lineStartWithSpaces=/^[ \t]*/gm,clean$2=e=>e.replace(spacesAndTabs," ").replace(lineStartWithSpaces,"").trim(),getDevMessage=e=>clean$2(`\n  %c@hello-pangea/dnd\n\n  %c${clean$2(e)}\n\n  %c👷‍ This is a development only message. It will be removed in production builds.\n`),getFormattedMessage=e=>[getDevMessage(e),"color: #00C584; font-size: 1.2em; font-weight: bold;","line-height: 1.5","color: #723874;"],isDisabledFlag="__@hello-pangea/dnd-disable-dev-warnings";function log(e,t){isProduction$1||"undefined"!=typeof window&&window[isDisabledFlag]||console[e](...getFormattedMessage(t))}const warning=log.bind(null,"warn"),error=log.bind(null,"error");function noop$2(){}function getOptions(e,t){return{...e,...t}}function bindEvents(e,t,n){const r=t.map((t=>{const r=getOptions(n,t.options);return e.addEventListener(t.eventName,t.fn,r),function(){e.removeEventListener(t.eventName,t.fn,r)}}));return function(){r.forEach((e=>{e()}))}}const isProduction="production"===process.env.NODE_ENV,prefix$1="Invariant failed";class RbdInvariant extends Error{}function invariant(e,t){throw new RbdInvariant(isProduction?prefix$1:`${prefix$1}: ${t||""}`)}RbdInvariant.prototype.toString=function(){return this.message};class ErrorBoundary extends React.Component{constructor(...e){super(...e),this.callbacks=null,this.unbind=noop$2,this.onWindowError=e=>{const t=this.getCallbacks();t.isDragging()&&(t.tryAbort(),"production"!==process.env.NODE_ENV&&warning("\n        An error was caught by our window 'error' event listener while a drag was occurring.\n        The active drag has been aborted.\n      "));const n=e.error;n instanceof RbdInvariant&&(e.preventDefault(),"production"!==process.env.NODE_ENV&&error(n.message))},this.getCallbacks=()=>{if(!this.callbacks)throw new Error("Unable to find AppCallbacks in <ErrorBoundary/>");return this.callbacks},this.setCallbacks=e=>{this.callbacks=e}}componentDidMount(){this.unbind=bindEvents(window,[{eventName:"error",fn:this.onWindowError}])}componentDidCatch(e){if(e instanceof RbdInvariant)return"production"!==process.env.NODE_ENV&&error(e.message),void this.setState({});throw e}componentWillUnmount(){this.unbind()}render(){return this.props.children(this.setCallbacks)}}const dragHandleUsageInstructions="\n  Press space bar to start a drag.\n  When dragging you can use the arrow keys to move the item around and escape to cancel.\n  Some screen readers may require you to be in focus mode or to use your pass through key\n",position=e=>e+1,onDragStart=e=>`\n  You have lifted an item in position ${position(e.source.index)}\n`,withLocation=(e,t)=>{const n=e.droppableId===t.droppableId,r=position(e.index),o=position(t.index);return n?`\n      You have moved the item from position ${r}\n      to position ${o}\n    `:`\n    You have moved the item from position ${r}\n    in list ${e.droppableId}\n    to list ${t.droppableId}\n    in position ${o}\n  `},withCombine=(e,t,n)=>t.droppableId===n.droppableId?`\n      The item ${e}\n      has been combined with ${n.draggableId}`:`\n      The item ${e}\n      in list ${t.droppableId}\n      has been combined with ${n.draggableId}\n      in list ${n.droppableId}\n    `,onDragUpdate=e=>{const t=e.destination;if(t)return withLocation(e.source,t);const n=e.combine;return n?withCombine(e.draggableId,e.source,n):"You are over an area that cannot be dropped on"},returnedToStart=e=>`\n  The item has returned to its starting position\n  of ${position(e.index)}\n`,onDragEnd=e=>{if("CANCEL"===e.reason)return`\n      Movement cancelled.\n      ${returnedToStart(e.source)}\n    `;const t=e.destination,n=e.combine;return t?`\n      You have dropped the item.\n      ${withLocation(e.source,t)}\n    `:n?`\n      You have dropped the item.\n      ${withCombine(e.draggableId,e.source,n)}\n    `:`\n    The item has been dropped while not over a drop area.\n    ${returnedToStart(e.source)}\n  `},preset={dragHandleUsageInstructions:dragHandleUsageInstructions,onDragStart:onDragStart,onDragUpdate:onDragUpdate,onDragEnd:onDragEnd};function isEqual$2(e,t){return e===t||!(!Number.isNaN(e)||!Number.isNaN(t))}function areInputsEqual(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!isEqual$2(e[n],t[n]))return!1;return!0}function useMemo(e,t){const n=React.useState((()=>({inputs:t,result:e()})))[0],r=React.useRef(!0),o=React.useRef(n),i=r.current||Boolean(t&&o.current.inputs&&areInputsEqual(t,o.current.inputs))?o.current:{inputs:t,result:e()};return React.useEffect((()=>{r.current=!1,o.current=i}),[i]),i.result}function useCallback(e,t){return useMemo((()=>e),t)}const origin={x:0,y:0},add=(e,t)=>({x:e.x+t.x,y:e.y+t.y}),subtract=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),isEqual$1=(e,t)=>e.x===t.x&&e.y===t.y,negate=e=>({x:0!==e.x?-e.x:0,y:0!==e.y?-e.y:0}),patch=(e,t,n=0)=>"x"===e?{x:t,y:n}:{x:n,y:t},distance=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),closest$1=(e,t)=>Math.min(...t.map((t=>distance(e,t)))),apply=e=>t=>({x:e(t.x),y:e(t.y)});var executeClip=(e,t)=>{const n=cssBoxModel.getRect({top:Math.max(t.top,e.top),right:Math.min(t.right,e.right),bottom:Math.min(t.bottom,e.bottom),left:Math.max(t.left,e.left)});return n.width<=0||n.height<=0?null:n};const offsetByPosition=(e,t)=>({top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}),getCorners=e=>[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}],noSpacing={top:0,right:0,bottom:0,left:0},scroll$1=(e,t)=>t?offsetByPosition(e,t.scroll.diff.displacement):e,increase=(e,t,n)=>n&&n.increasedBy?{...e,[t.end]:e[t.end]+n.increasedBy[t.line]}:e,clip=(e,t)=>t&&t.shouldClipSubject?executeClip(t.pageMarginBox,e):cssBoxModel.getRect(e);var getSubject=({page:e,withPlaceholder:t,axis:n,frame:r})=>{const o=scroll$1(e.marginBox,r),i=increase(o,n,t);return{page:e,withPlaceholder:t,active:clip(i,r)}},scrollDroppable=(e,t)=>{e.frame||(process.env.NODE_ENV,invariant());const n=e.frame,r=subtract(t,n.scroll.initial),o=negate(r),i={...n,scroll:{initial:n.scroll.initial,current:t,diff:{value:r,displacement:o},max:n.scroll.max}},a=getSubject({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:i});return{...e,frame:i,subject:a}};function memoizeOne(e,t=areInputsEqual){let n=null;function r(...r){if(n&&n.lastThis===this&&t(r,n.lastArgs))return n.lastResult;const o=e.apply(this,r);return n={lastResult:o,lastArgs:r,lastThis:this},o}return r.clear=function(){n=null},r}const toDroppableMap=memoizeOne((e=>e.reduce(((e,t)=>(e[t.descriptor.id]=t,e)),{}))),toDraggableMap=memoizeOne((e=>e.reduce(((e,t)=>(e[t.descriptor.id]=t,e)),{}))),toDroppableList=memoizeOne((e=>Object.values(e))),toDraggableList=memoizeOne((e=>Object.values(e)));var getDraggablesInsideDroppable=memoizeOne(((e,t)=>{const n=toDraggableList(t).filter((t=>e===t.descriptor.droppableId)).sort(((e,t)=>e.descriptor.index-t.descriptor.index));return n}));function tryGetDestination(e){return e.at&&"REORDER"===e.at.type?e.at.destination:null}function tryGetCombine(e){return e.at&&"COMBINE"===e.at.type?e.at.combine:null}var removeDraggableFromList=memoizeOne(((e,t)=>t.filter((t=>t.descriptor.id!==e.descriptor.id)))),moveToNextCombine=({isMovingForward:e,draggable:t,destination:n,insideDestination:r,previousImpact:o})=>{if(!n.isCombineEnabled)return null;if(!tryGetDestination(o))return null;function i(e){const t={type:"COMBINE",combine:{draggableId:e,droppableId:n.descriptor.id}};return{...o,at:t}}const a=o.displaced.all,s=a.length?a[0]:null;if(e)return s?i(s):null;const l=removeDraggableFromList(t,r);if(!s){if(!l.length)return null;return i(l[l.length-1].descriptor.id)}const c=l.findIndex((e=>e.descriptor.id===s));-1===c&&("production"!==process.env.NODE_ENV?invariant(!1,"Could not find displaced item in set"):invariant());const d=c-1;if(d<0)return null;return i(l[d].descriptor.id)},isHomeOf=(e,t)=>e.descriptor.droppableId===t.descriptor.id;const noDisplacedBy={point:origin,value:0},emptyGroups={invisible:{},visible:{},all:[]},noImpact={displaced:emptyGroups,displacedBy:noDisplacedBy,at:null};var isWithin=(e,t)=>n=>e<=n&&n<=t,isPartiallyVisibleThroughFrame=e=>{const t=isWithin(e.top,e.bottom),n=isWithin(e.left,e.right);return r=>{if(t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right))return!0;const o=t(r.top)||t(r.bottom),i=n(r.left)||n(r.right);if(o&&i)return!0;const a=r.top<e.top&&r.bottom>e.bottom,s=r.left<e.left&&r.right>e.right;if(a&&s)return!0;return a&&i||s&&o}},isTotallyVisibleThroughFrame=e=>{const t=isWithin(e.top,e.bottom),n=isWithin(e.left,e.right);return e=>t(e.top)&&t(e.bottom)&&n(e.left)&&n(e.right)};const vertical={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},horizontal={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"};var isTotallyVisibleThroughFrameOnAxis=e=>t=>{const n=isWithin(t.top,t.bottom),r=isWithin(t.left,t.right);return t=>e===vertical?n(t.top)&&n(t.bottom):r(t.left)&&r(t.right)};const getDroppableDisplaced=(e,t)=>{const n=t.frame?t.frame.scroll.diff.displacement:origin;return offsetByPosition(e,n)},isVisibleInDroppable=(e,t,n)=>!!t.subject.active&&n(t.subject.active)(e),isVisibleInViewport=(e,t,n)=>n(t)(e),isVisible$1=({target:e,destination:t,viewport:n,withDroppableDisplacement:r,isVisibleThroughFrameFn:o})=>{const i=r?getDroppableDisplaced(e,t):e;return isVisibleInDroppable(i,t,o)&&isVisibleInViewport(i,n,o)},isPartiallyVisible=e=>isVisible$1({...e,isVisibleThroughFrameFn:isPartiallyVisibleThroughFrame}),isTotallyVisible=e=>isVisible$1({...e,isVisibleThroughFrameFn:isTotallyVisibleThroughFrame}),isTotallyVisibleOnAxis=e=>isVisible$1({...e,isVisibleThroughFrameFn:isTotallyVisibleThroughFrameOnAxis(e.destination.axis)}),getShouldAnimate=(e,t,n)=>{if("boolean"==typeof n)return n;if(!t)return!0;const{invisible:r,visible:o}=t;if(r[e])return!1;const i=o[e];return!i||i.shouldAnimate};function getTarget(e,t){const n=e.page.marginBox,r={top:t.point.y,right:0,bottom:0,left:t.point.x};return cssBoxModel.getRect(cssBoxModel.expand(n,r))}function getDisplacementGroups({afterDragging:e,destination:t,displacedBy:n,viewport:r,forceShouldAnimate:o,last:i}){return e.reduce((function(e,a){const s=getTarget(a,n),l=a.descriptor.id;e.all.push(l);if(!isPartiallyVisible({target:s,destination:t,viewport:r,withDroppableDisplacement:!0}))return e.invisible[a.descriptor.id]=!0,e;const c={draggableId:l,shouldAnimate:getShouldAnimate(l,i,o)};return e.visible[l]=c,e}),{all:[],visible:{},invisible:{}})}function getIndexOfLastItem(e,t){if(!e.length)return 0;const n=e[e.length-1].descriptor.index;return t.inHomeList?n:n+1}function goAtEnd({insideDestination:e,inHomeList:t,displacedBy:n,destination:r}){const o=getIndexOfLastItem(e,{inHomeList:t});return{displaced:emptyGroups,displacedBy:n,at:{type:"REORDER",destination:{droppableId:r.descriptor.id,index:o}}}}function calculateReorderImpact({draggable:e,insideDestination:t,destination:n,viewport:r,displacedBy:o,last:i,index:a,forceShouldAnimate:s}){const l=isHomeOf(e,n);if(null==a)return goAtEnd({insideDestination:t,inHomeList:l,displacedBy:o,destination:n});const c=t.find((e=>e.descriptor.index===a));if(!c)return goAtEnd({insideDestination:t,inHomeList:l,displacedBy:o,destination:n});const d=removeDraggableFromList(e,t),p=t.indexOf(c);return{displaced:getDisplacementGroups({afterDragging:d.slice(p),destination:n,displacedBy:o,last:i,viewport:r.frame,forceShouldAnimate:s}),displacedBy:o,at:{type:"REORDER",destination:{droppableId:n.descriptor.id,index:a}}}}function didStartAfterCritical(e,t){return Boolean(t.effected[e])}var fromCombine=({isMovingForward:e,destination:t,draggables:n,combine:r,afterCritical:o})=>{if(!t.isCombineEnabled)return null;const i=r.draggableId,a=n[i].descriptor.index;return didStartAfterCritical(i,o)?e?a:a-1:e?a+1:a},fromReorder=({isMovingForward:e,isInHomeList:t,insideDestination:n,location:r})=>{if(!n.length)return null;const o=r.index,i=e?o+1:o-1,a=n[0].descriptor.index,s=n[n.length-1].descriptor.index;return i<a||i>(t?s:s+1)?null:i},moveToNextIndex=({isMovingForward:e,isInHomeList:t,draggable:n,draggables:r,destination:o,insideDestination:i,previousImpact:a,viewport:s,afterCritical:l})=>{const c=a.at;if(c||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot move in direction without previous impact location"):invariant()),"REORDER"===c.type){const r=fromReorder({isMovingForward:e,isInHomeList:t,location:c.destination,insideDestination:i});return null==r?null:calculateReorderImpact({draggable:n,insideDestination:i,destination:o,viewport:s,last:a.displaced,displacedBy:a.displacedBy,index:r})}const d=fromCombine({isMovingForward:e,destination:o,displaced:a.displaced,draggables:r,combine:c.combine,afterCritical:l});return null==d?null:calculateReorderImpact({draggable:n,insideDestination:i,destination:o,viewport:s,last:a.displaced,displacedBy:a.displacedBy,index:d})},getCombinedItemDisplacement=({displaced:e,afterCritical:t,combineWith:n,displacedBy:r})=>{const o=Boolean(e.visible[n]||e.invisible[n]);return didStartAfterCritical(n,t)?o?origin:negate(r.point):o?r.point:origin},whenCombining=({afterCritical:e,impact:t,draggables:n})=>{const r=tryGetCombine(t);r||(process.env.NODE_ENV,invariant());const o=r.draggableId,i=n[o].page.borderBox.center,a=getCombinedItemDisplacement({displaced:t.displaced,afterCritical:e,combineWith:o,displacedBy:t.displacedBy});return add(i,a)};const distanceFromStartToBorderBoxCenter=(e,t)=>t.margin[e.start]+t.borderBox[e.size]/2,distanceFromEndToBorderBoxCenter=(e,t)=>t.margin[e.end]+t.borderBox[e.size]/2,getCrossAxisBorderBoxCenter=(e,t,n)=>t[e.crossAxisStart]+n.margin[e.crossAxisStart]+n.borderBox[e.crossAxisSize]/2,goAfter=({axis:e,moveRelativeTo:t,isMoving:n})=>patch(e.line,t.marginBox[e.end]+distanceFromStartToBorderBoxCenter(e,n),getCrossAxisBorderBoxCenter(e,t.marginBox,n)),goBefore=({axis:e,moveRelativeTo:t,isMoving:n})=>patch(e.line,t.marginBox[e.start]-distanceFromEndToBorderBoxCenter(e,n),getCrossAxisBorderBoxCenter(e,t.marginBox,n)),goIntoStart=({axis:e,moveInto:t,isMoving:n})=>patch(e.line,t.contentBox[e.start]+distanceFromStartToBorderBoxCenter(e,n),getCrossAxisBorderBoxCenter(e,t.contentBox,n));var whenReordering=({impact:e,draggable:t,draggables:n,droppable:r,afterCritical:o})=>{const i=getDraggablesInsideDroppable(r.descriptor.id,n),a=t.page,s=r.axis;if(!i.length)return goIntoStart({axis:s,moveInto:r.page,isMoving:a});const{displaced:l,displacedBy:c}=e,d=l.all[0];if(d){const e=n[d];if(didStartAfterCritical(d,o))return goBefore({axis:s,moveRelativeTo:e.page,isMoving:a});const t=cssBoxModel.offset(e.page,c.point);return goBefore({axis:s,moveRelativeTo:t,isMoving:a})}const p=i[i.length-1];if(p.descriptor.id===t.descriptor.id)return a.borderBox.center;if(didStartAfterCritical(p.descriptor.id,o)){const e=cssBoxModel.offset(p.page,negate(o.displacedBy.point));return goAfter({axis:s,moveRelativeTo:e,isMoving:a})}return goAfter({axis:s,moveRelativeTo:p.page,isMoving:a})},withDroppableDisplacement=(e,t)=>{const n=e.frame;return n?add(t,n.scroll.diff.displacement):t};const getResultWithoutDroppableDisplacement=({impact:e,draggable:t,droppable:n,draggables:r,afterCritical:o})=>{const i=t.page.borderBox.center,a=e.at;return n&&a?"REORDER"===a.type?whenReordering({impact:e,draggable:t,draggables:r,droppable:n,afterCritical:o}):whenCombining({impact:e,draggables:r,afterCritical:o}):i};var getPageBorderBoxCenterFromImpact=e=>{const t=getResultWithoutDroppableDisplacement(e),n=e.droppable;return n?withDroppableDisplacement(n,t):t},scrollViewport=(e,t)=>{const n=subtract(t,e.scroll.initial),r=negate(n);return{frame:cssBoxModel.getRect({top:t.y,bottom:t.y+e.frame.height,left:t.x,right:t.x+e.frame.width}),scroll:{initial:e.scroll.initial,max:e.scroll.max,current:t,diff:{value:n,displacement:r}}}};function getDraggables$1(e,t){return e.map((e=>t[e]))}function tryGetVisible(e,t){for(let n=0;n<t.length;n++){const r=t[n].visible[e];if(r)return r}return null}var speculativelyIncrease=({impact:e,viewport:t,destination:n,draggables:r,maxScrollChange:o})=>{const i=scrollViewport(t,add(t.scroll.current,o)),a=n.frame?scrollDroppable(n,add(n.frame.scroll.current,o)):n,s=e.displaced,l=getDisplacementGroups({afterDragging:getDraggables$1(s.all,r),destination:n,displacedBy:e.displacedBy,viewport:i.frame,last:s,forceShouldAnimate:!1}),c=getDisplacementGroups({afterDragging:getDraggables$1(s.all,r),destination:a,displacedBy:e.displacedBy,viewport:t.frame,last:s,forceShouldAnimate:!1}),d={},p={},u=[s,l,c];s.all.forEach((e=>{const t=tryGetVisible(e,u);t?p[e]=t:d[e]=!0}));return{...e,displaced:{all:s.all,invisible:d,visible:p}}},withViewportDisplacement=(e,t)=>add(e.scroll.diff.displacement,t),getClientFromPageBorderBoxCenter=({pageBorderBoxCenter:e,draggable:t,viewport:n})=>{const r=withViewportDisplacement(n,e),o=subtract(r,t.page.borderBox.center);return add(t.client.borderBox.center,o)},isTotallyVisibleInNewLocation=({draggable:e,destination:t,newPageBorderBoxCenter:n,viewport:r,withDroppableDisplacement:o,onlyOnMainAxis:i=!1})=>{const a=subtract(n,e.page.borderBox.center),s={target:offsetByPosition(e.page.borderBox,a),destination:t,withDroppableDisplacement:o,viewport:r};return i?isTotallyVisibleOnAxis(s):isTotallyVisible(s)},moveToNextPlace=({isMovingForward:e,draggable:t,destination:n,draggables:r,previousImpact:o,viewport:i,previousPageBorderBoxCenter:a,previousClientSelection:s,afterCritical:l})=>{if(!n.isEnabled)return null;const c=getDraggablesInsideDroppable(n.descriptor.id,r),d=isHomeOf(t,n),p=moveToNextCombine({isMovingForward:e,draggable:t,destination:n,insideDestination:c,previousImpact:o})||moveToNextIndex({isMovingForward:e,isInHomeList:d,draggable:t,draggables:r,destination:n,insideDestination:c,previousImpact:o,viewport:i,afterCritical:l});if(!p)return null;const u=getPageBorderBoxCenterFromImpact({impact:p,draggable:t,droppable:n,draggables:r,afterCritical:l});if(isTotallyVisibleInNewLocation({draggable:t,destination:n,newPageBorderBoxCenter:u,viewport:i.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0})){return{clientSelection:getClientFromPageBorderBoxCenter({pageBorderBoxCenter:u,draggable:t,viewport:i}),impact:p,scrollJumpRequest:null}}const g=subtract(u,a);return{clientSelection:s,impact:speculativelyIncrease({impact:p,viewport:i,destination:n,draggables:r,maxScrollChange:g}),scrollJumpRequest:g}};const getKnownActive=e=>{const t=e.subject.active;return t||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot get clipped area from droppable"):invariant()),t};var getBestCrossAxisDroppable=({isMovingForward:e,pageBorderBoxCenter:t,source:n,droppables:r,viewport:o})=>{const i=n.subject.active;if(!i)return null;const a=n.axis,s=isWithin(i[a.start],i[a.end]),l=toDroppableList(r).filter((e=>e!==n)).filter((e=>e.isEnabled)).filter((e=>Boolean(e.subject.active))).filter((e=>isPartiallyVisibleThroughFrame(o.frame)(getKnownActive(e)))).filter((t=>{const n=getKnownActive(t);return e?i[a.crossAxisEnd]<n[a.crossAxisEnd]:n[a.crossAxisStart]<i[a.crossAxisStart]})).filter((e=>{const t=getKnownActive(e),n=isWithin(t[a.start],t[a.end]);return s(t[a.start])||s(t[a.end])||n(i[a.start])||n(i[a.end])})).sort(((t,n)=>{const r=getKnownActive(t)[a.crossAxisStart],o=getKnownActive(n)[a.crossAxisStart];return e?r-o:o-r})).filter(((e,t,n)=>getKnownActive(e)[a.crossAxisStart]===getKnownActive(n[0])[a.crossAxisStart]));if(!l.length)return null;if(1===l.length)return l[0];const c=l.filter((e=>isWithin(getKnownActive(e)[a.start],getKnownActive(e)[a.end])(t[a.line])));return 1===c.length?c[0]:c.length>1?c.sort(((e,t)=>getKnownActive(e)[a.start]-getKnownActive(t)[a.start]))[0]:l.sort(((e,n)=>{const r=closest$1(t,getCorners(getKnownActive(e))),o=closest$1(t,getCorners(getKnownActive(n)));return r!==o?r-o:getKnownActive(e)[a.start]-getKnownActive(n)[a.start]}))[0]};const getCurrentPageBorderBoxCenter=(e,t)=>{const n=e.page.borderBox.center;return didStartAfterCritical(e.descriptor.id,t)?subtract(n,t.displacedBy.point):n},getCurrentPageBorderBox=(e,t)=>{const n=e.page.borderBox;return didStartAfterCritical(e.descriptor.id,t)?offsetByPosition(n,negate(t.displacedBy.point)):n};var getClosestDraggable=({pageBorderBoxCenter:e,viewport:t,destination:n,insideDestination:r,afterCritical:o})=>{const i=r.filter((e=>isTotallyVisible({target:getCurrentPageBorderBox(e,o),destination:n,viewport:t.frame,withDroppableDisplacement:!0}))).sort(((t,r)=>{const i=distance(e,withDroppableDisplacement(n,getCurrentPageBorderBoxCenter(t,o))),a=distance(e,withDroppableDisplacement(n,getCurrentPageBorderBoxCenter(r,o)));return i<a?-1:a<i?1:t.descriptor.index-r.descriptor.index}));return i[0]||null},getDisplacedBy=memoizeOne((function(e,t){const n=t[e.line];return{value:n,point:patch(e.line,n)}}));const getRequiredGrowthForPlaceholder=(e,t,n)=>{const r=e.axis;if("virtual"===e.descriptor.mode)return patch(r.line,t[r.line]);const o=e.subject.page.contentBox[r.size],i=getDraggablesInsideDroppable(e.descriptor.id,n).reduce(((e,t)=>e+t.client.marginBox[r.size]),0)+t[r.line]-o;return i<=0?null:patch(r.line,i)},withMaxScroll=(e,t)=>({...e,scroll:{...e.scroll,max:t}}),addPlaceholder=(e,t,n)=>{const r=e.frame;isHomeOf(t,e)&&("production"!==process.env.NODE_ENV?invariant(!1,"Should not add placeholder space to home list"):invariant()),e.subject.withPlaceholder&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot add placeholder size to a subject when it already has one"):invariant());const o=getDisplacedBy(e.axis,t.displaceBy).point,i=getRequiredGrowthForPlaceholder(e,o,n),a={placeholderSize:o,increasedBy:i,oldFrameMaxScroll:e.frame?e.frame.scroll.max:null};if(!r){const t=getSubject({page:e.subject.page,withPlaceholder:a,axis:e.axis,frame:e.frame});return{...e,subject:t}}const s=i?add(r.scroll.max,i):r.scroll.max,l=withMaxScroll(r,s),c=getSubject({page:e.subject.page,withPlaceholder:a,axis:e.axis,frame:l});return{...e,subject:c,frame:l}},removePlaceholder=e=>{const t=e.subject.withPlaceholder;t||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot remove placeholder form subject when there was none"):invariant());const n=e.frame;if(!n){const t=getSubject({page:e.subject.page,axis:e.axis,frame:null,withPlaceholder:null});return{...e,subject:t}}const r=t.oldFrameMaxScroll;r||("production"!==process.env.NODE_ENV?invariant(!1,"Expected droppable with frame to have old max frame scroll when removing placeholder"):invariant());const o=withMaxScroll(n,r),i=getSubject({page:e.subject.page,axis:e.axis,frame:o,withPlaceholder:null});return{...e,subject:i,frame:o}};var moveToNewDroppable=({previousPageBorderBoxCenter:e,moveRelativeTo:t,insideDestination:n,draggable:r,draggables:o,destination:i,viewport:a,afterCritical:s})=>{if(!t){if(n.length)return null;const e={displaced:emptyGroups,displacedBy:noDisplacedBy,at:{type:"REORDER",destination:{droppableId:i.descriptor.id,index:0}}},t=getPageBorderBoxCenterFromImpact({impact:e,draggable:r,droppable:i,draggables:o,afterCritical:s}),l=isHomeOf(r,i)?i:addPlaceholder(i,r,o);return isTotallyVisibleInNewLocation({draggable:r,destination:l,newPageBorderBoxCenter:t,viewport:a.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0})?e:null}const l=Boolean(e[i.axis.line]<=t.page.borderBox.center[i.axis.line]),c=(()=>{const e=t.descriptor.index;return t.descriptor.id===r.descriptor.id||l?e:e+1})(),d=getDisplacedBy(i.axis,r.displaceBy);return calculateReorderImpact({draggable:r,insideDestination:n,destination:i,viewport:a,displacedBy:d,last:emptyGroups,index:c})},moveCrossAxis=({isMovingForward:e,previousPageBorderBoxCenter:t,draggable:n,isOver:r,draggables:o,droppables:i,viewport:a,afterCritical:s})=>{const l=getBestCrossAxisDroppable({isMovingForward:e,pageBorderBoxCenter:t,source:r,droppables:i,viewport:a});if(!l)return null;const c=getDraggablesInsideDroppable(l.descriptor.id,o),d=getClosestDraggable({pageBorderBoxCenter:t,viewport:a,destination:l,insideDestination:c,afterCritical:s}),p=moveToNewDroppable({previousPageBorderBoxCenter:t,destination:l,draggable:n,draggables:o,moveRelativeTo:d,insideDestination:c,viewport:a,afterCritical:s});if(!p)return null;const u=getPageBorderBoxCenterFromImpact({impact:p,draggable:n,droppable:l,draggables:o,afterCritical:s});return{clientSelection:getClientFromPageBorderBoxCenter({pageBorderBoxCenter:u,draggable:n,viewport:a}),impact:p,scrollJumpRequest:null}},whatIsDraggedOver=e=>{const t=e.at;return t?"REORDER"===t.type?t.destination.droppableId:t.combine.droppableId:null};const getDroppableOver$1=(e,t)=>{const n=whatIsDraggedOver(e);return n?t[n]:null};var moveInDirection=({state:e,type:t})=>{const n=getDroppableOver$1(e.impact,e.dimensions.droppables),r=Boolean(n),o=e.dimensions.droppables[e.critical.droppable.id],i=n||o,a=i.axis.direction,s="vertical"===a&&("MOVE_UP"===t||"MOVE_DOWN"===t)||"horizontal"===a&&("MOVE_LEFT"===t||"MOVE_RIGHT"===t);if(s&&!r)return null;const l="MOVE_DOWN"===t||"MOVE_RIGHT"===t,c=e.dimensions.draggables[e.critical.draggable.id],d=e.current.page.borderBoxCenter,{draggables:p,droppables:u}=e.dimensions;return s?moveToNextPlace({isMovingForward:l,previousPageBorderBoxCenter:d,draggable:c,destination:i,draggables:p,viewport:e.viewport,previousClientSelection:e.current.client.selection,previousImpact:e.impact,afterCritical:e.afterCritical}):moveCrossAxis({isMovingForward:l,previousPageBorderBoxCenter:d,draggable:c,isOver:i,draggables:p,droppables:u,viewport:e.viewport,afterCritical:e.afterCritical})};function isMovementAllowed(e){return"DRAGGING"===e.phase||"COLLECTING"===e.phase}function isPositionInFrame(e){const t=isWithin(e.top,e.bottom),n=isWithin(e.left,e.right);return function(e){return t(e.y)&&n(e.x)}}function getHasOverlap(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function getFurthestAway({pageBorderBox:e,draggable:t,candidates:n}){const r=t.page.borderBox.center,o=n.map((t=>{const n=t.axis,o=patch(t.axis.line,e.center[n.line],t.page.borderBox.center[n.crossAxisLine]);return{id:t.descriptor.id,distance:distance(r,o)}})).sort(((e,t)=>t.distance-e.distance));return o[0]?o[0].id:null}function getDroppableOver({pageBorderBox:e,draggable:t,droppables:n}){const r=toDroppableList(n).filter((t=>{if(!t.isEnabled)return!1;const n=t.subject.active;if(!n)return!1;if(!getHasOverlap(e,n))return!1;if(isPositionInFrame(n)(e.center))return!0;const r=t.axis,o=n.center[r.crossAxisLine],i=e[r.crossAxisStart],a=e[r.crossAxisEnd],s=isWithin(n[r.crossAxisStart],n[r.crossAxisEnd]),l=s(i),c=s(a);return!l&&!c||(l?i<o:a>o)}));return r.length?1===r.length?r[0].descriptor.id:getFurthestAway({pageBorderBox:e,draggable:t,candidates:r}):null}const offsetRectByPosition=(e,t)=>cssBoxModel.getRect(offsetByPosition(e,t));var withDroppableScroll=(e,t)=>{const n=e.frame;return n?offsetRectByPosition(t,n.scroll.diff.value):t};function getIsDisplaced({displaced:e,id:t}){return Boolean(e.visible[t]||e.invisible[t])}function atIndex({draggable:e,closest:t,inHomeList:n}){return t?n&&t.descriptor.index>e.descriptor.index?t.descriptor.index-1:t.descriptor.index:null}var getReorderImpact=({pageBorderBoxWithDroppableScroll:e,draggable:t,destination:n,insideDestination:r,last:o,viewport:i,afterCritical:a})=>{const s=n.axis,l=getDisplacedBy(n.axis,t.displaceBy),c=l.value,d=e[s.start],p=e[s.end],u=atIndex({draggable:t,closest:removeDraggableFromList(t,r).find((e=>{const t=e.descriptor.id,n=e.page.borderBox.center[s.line],r=didStartAfterCritical(t,a),i=getIsDisplaced({displaced:o,id:t});return r?i?p<=n:d<n-c:i?p<=n+c:d<n}))||null,inHomeList:isHomeOf(t,n)});return calculateReorderImpact({draggable:t,insideDestination:r,destination:n,viewport:i,last:o,displacedBy:l,index:u})};const combineThresholdDivisor=4;var getCombineImpact=({draggable:e,pageBorderBoxWithDroppableScroll:t,previousImpact:n,destination:r,insideDestination:o,afterCritical:i})=>{if(!r.isCombineEnabled)return null;const a=r.axis,s=getDisplacedBy(r.axis,e.displaceBy),l=s.value,c=t[a.start],d=t[a.end],p=removeDraggableFromList(e,o).find((e=>{const t=e.descriptor.id,r=e.page.borderBox,o=r[a.size]/4,s=didStartAfterCritical(t,i),p=getIsDisplaced({displaced:n.displaced,id:t});return s?p?d>r[a.start]+o&&d<r[a.end]-o:c>r[a.start]-l+o&&c<r[a.end]-l-o:p?d>r[a.start]+l+o&&d<r[a.end]+l-o:c>r[a.start]+o&&c<r[a.end]-o}));if(!p)return null;return{displacedBy:s,displaced:n.displaced,at:{type:"COMBINE",combine:{draggableId:p.descriptor.id,droppableId:r.descriptor.id}}}},getDragImpact=({pageOffset:e,draggable:t,draggables:n,droppables:r,previousImpact:o,viewport:i,afterCritical:a})=>{const s=offsetRectByPosition(t.page.borderBox,e),l=getDroppableOver({pageBorderBox:s,draggable:t,droppables:r});if(!l)return noImpact;const c=r[l],d=getDraggablesInsideDroppable(c.descriptor.id,n),p=withDroppableScroll(c,s);return getCombineImpact({pageBorderBoxWithDroppableScroll:p,draggable:t,previousImpact:o,destination:c,insideDestination:d,afterCritical:a})||getReorderImpact({pageBorderBoxWithDroppableScroll:p,draggable:t,destination:c,insideDestination:d,last:o.displaced,viewport:i,afterCritical:a})},patchDroppableMap=(e,t)=>({...e,[t.descriptor.id]:t});const clearUnusedPlaceholder=({previousImpact:e,impact:t,droppables:n})=>{const r=whatIsDraggedOver(e),o=whatIsDraggedOver(t);if(!r)return n;if(r===o)return n;const i=n[r];if(!i.subject.withPlaceholder)return n;const a=removePlaceholder(i);return patchDroppableMap(n,a)};var recomputePlaceholders=({draggable:e,draggables:t,droppables:n,previousImpact:r,impact:o})=>{const i=clearUnusedPlaceholder({previousImpact:r,impact:o,droppables:n}),a=whatIsDraggedOver(o);if(!a)return i;const s=n[a];if(isHomeOf(e,s))return i;if(s.subject.withPlaceholder)return i;const l=addPlaceholder(s,e,t);return patchDroppableMap(i,l)},update=({state:e,clientSelection:t,dimensions:n,viewport:r,impact:o,scrollJumpRequest:i})=>{const a=r||e.viewport,s=n||e.dimensions,l=t||e.current.client.selection,c=subtract(l,e.initial.client.selection),d={offset:c,selection:l,borderBoxCenter:add(e.initial.client.borderBoxCenter,c)},p={selection:add(d.selection,a.scroll.current),borderBoxCenter:add(d.borderBoxCenter,a.scroll.current),offset:add(d.offset,a.scroll.diff.value)},u={client:d,page:p};if("COLLECTING"===e.phase)return{...e,dimensions:s,viewport:a,current:u};const g=s.draggables[e.critical.draggable.id],m=o||getDragImpact({pageOffset:p.offset,draggable:g,draggables:s.draggables,droppables:s.droppables,previousImpact:e.impact,viewport:a,afterCritical:e.afterCritical}),b=recomputePlaceholders({draggable:g,impact:m,previousImpact:e.impact,draggables:s.draggables,droppables:s.droppables});return{...e,current:u,dimensions:{draggables:s.draggables,droppables:b},impact:m,viewport:a,scrollJumpRequest:i||null,forceShouldAnimate:!i&&null}};function getDraggables(e,t){return e.map((e=>t[e]))}var recompute=({impact:e,viewport:t,draggables:n,destination:r,forceShouldAnimate:o})=>{const i=e.displaced,a=getDisplacementGroups({afterDragging:getDraggables(i.all,n),destination:r,displacedBy:e.displacedBy,viewport:t.frame,forceShouldAnimate:o,last:i});return{...e,displaced:a}},getClientBorderBoxCenter=({impact:e,draggable:t,droppable:n,draggables:r,viewport:o,afterCritical:i})=>{const a=getPageBorderBoxCenterFromImpact({impact:e,draggable:t,draggables:r,droppable:n,afterCritical:i});return getClientFromPageBorderBoxCenter({pageBorderBoxCenter:a,draggable:t,viewport:o})},refreshSnap=({state:e,dimensions:t,viewport:n})=>{"SNAP"!==e.movementMode&&(process.env.NODE_ENV,invariant());const r=e.impact,o=n||e.viewport,i=t||e.dimensions,{draggables:a,droppables:s}=i,l=a[e.critical.draggable.id],c=whatIsDraggedOver(r);c||("production"!==process.env.NODE_ENV?invariant(!1,"Must be over a destination in SNAP movement mode"):invariant());const d=s[c],p=recompute({impact:r,viewport:o,destination:d,draggables:a}),u=getClientBorderBoxCenter({impact:p,draggable:l,droppable:d,draggables:a,viewport:o,afterCritical:e.afterCritical});return update({impact:p,clientSelection:u,state:e,dimensions:i,viewport:o})},getHomeLocation=e=>({index:e.index,droppableId:e.droppableId}),getLiftEffect=({draggable:e,home:t,draggables:n,viewport:r})=>{const o=getDisplacedBy(t.axis,e.displaceBy),i=getDraggablesInsideDroppable(t.descriptor.id,n),a=i.indexOf(e);-1===a&&("production"!==process.env.NODE_ENV?invariant(!1,"Expected draggable to be inside home list"):invariant());const s=i.slice(a+1),l=s.reduce(((e,t)=>(e[t.descriptor.id]=!0,e)),{}),c={inVirtualList:"virtual"===t.descriptor.mode,displacedBy:o,effected:l};return{impact:{displaced:getDisplacementGroups({afterDragging:s,destination:t,displacedBy:o,last:null,viewport:r.frame,forceShouldAnimate:!1}),displacedBy:o,at:{type:"REORDER",destination:getHomeLocation(e.descriptor)}},afterCritical:c}},patchDimensionMap=(e,t)=>({draggables:e.draggables,droppables:patchDroppableMap(e.droppables,t)});const start=e=>{process.env.NODE_ENV},finish=e=>{process.env.NODE_ENV};var offsetDraggable=({draggable:e,offset:t,initialWindowScroll:n})=>{const r=cssBoxModel.offset(e.client,t),o=cssBoxModel.withScroll(r,n);return{...e,placeholder:{...e.placeholder,client:r},client:r,page:o}},getFrame=e=>{const t=e.frame;return t||("production"!==process.env.NODE_ENV?invariant(!1,"Expected Droppable to have a frame"):invariant()),t},adjustAdditionsForScrollChanges=({additions:e,updatedDroppables:t,viewport:n})=>{const r=n.scroll.diff.value;return e.map((e=>{const o=e.descriptor.droppableId,i=t[o],a=getFrame(i).scroll.diff.value,s=add(r,a);return offsetDraggable({draggable:e,offset:s,initialWindowScroll:n.scroll.initial})}))},publishWhileDraggingInVirtual=({state:e,published:t})=>{start();const n=t.modified.map((t=>{const n=e.dimensions.droppables[t.droppableId];return scrollDroppable(n,t.scroll)})),r={...e.dimensions.droppables,...toDroppableMap(n)},o=toDraggableMap(adjustAdditionsForScrollChanges({additions:t.additions,updatedDroppables:r,viewport:e.viewport})),i={...e.dimensions.draggables,...o};t.removals.forEach((e=>{delete i[e]}));const a={droppables:r,draggables:i},s=whatIsDraggedOver(e.impact),l=s?a.droppables[s]:null,c=a.draggables[e.critical.draggable.id],d=a.droppables[e.critical.droppable.id],{impact:p,afterCritical:u}=getLiftEffect({draggable:c,home:d,draggables:i,viewport:e.viewport}),g=l&&l.isCombineEnabled?e.impact:p,m=getDragImpact({pageOffset:e.current.page.offset,draggable:a.draggables[e.critical.draggable.id],draggables:a.draggables,droppables:a.droppables,previousImpact:g,viewport:e.viewport,afterCritical:u});finish();const b={...e,phase:"DRAGGING",impact:m,onLiftImpact:p,dimensions:a,afterCritical:u,forceShouldAnimate:!1};if("COLLECTING"===e.phase)return b;return{...b,phase:"DROP_PENDING",reason:e.reason,isWaiting:!1}};const isSnapping=e=>"SNAP"===e.movementMode,postDroppableChange=(e,t,n)=>{const r=patchDimensionMap(e.dimensions,t);return!isSnapping(e)||n?update({state:e,dimensions:r}):refreshSnap({state:e,dimensions:r})};function removeScrollJumpRequest(e){return e.isDragging&&"SNAP"===e.movementMode?{...e,scrollJumpRequest:null}:e}const idle$2={phase:"IDLE",completed:null,shouldFlush:!1};var reducer=(e=idle$2,t)=>{if("FLUSH"===t.type)return{...idle$2,shouldFlush:!0};if("INITIAL_PUBLISH"===t.type){"IDLE"!==e.phase&&("production"!==process.env.NODE_ENV?invariant(!1,"INITIAL_PUBLISH must come after a IDLE phase"):invariant());const{critical:n,clientSelection:r,viewport:o,dimensions:i,movementMode:a}=t.payload,s=i.draggables[n.draggable.id],l=i.droppables[n.droppable.id],c={selection:r,borderBoxCenter:s.client.borderBox.center,offset:origin},d={client:c,page:{selection:add(c.selection,o.scroll.initial),borderBoxCenter:add(c.selection,o.scroll.initial),offset:add(c.selection,o.scroll.diff.value)}},p=toDroppableList(i.droppables).every((e=>!e.isFixedOnPage)),{impact:u,afterCritical:g}=getLiftEffect({draggable:s,home:l,draggables:i.draggables,viewport:o});return{phase:"DRAGGING",isDragging:!0,critical:n,movementMode:a,dimensions:i,initial:d,current:d,isWindowScrollAllowed:p,impact:u,afterCritical:g,onLiftImpact:u,viewport:o,scrollJumpRequest:null,forceShouldAnimate:null}}if("COLLECTION_STARTING"===t.type){if("COLLECTING"===e.phase||"DROP_PENDING"===e.phase)return e;"DRAGGING"!==e.phase&&("production"!==process.env.NODE_ENV?invariant(!1,`Collection cannot start from phase ${e.phase}`):invariant());return{...e,phase:"COLLECTING"}}if("PUBLISH_WHILE_DRAGGING"===t.type)return"COLLECTING"!==e.phase&&"DROP_PENDING"!==e.phase&&("production"!==process.env.NODE_ENV?invariant(!1,`Unexpected ${t.type} received in phase ${e.phase}`):invariant()),publishWhileDraggingInVirtual({state:e,published:t.payload});if("MOVE"===t.type){if("DROP_PENDING"===e.phase)return e;isMovementAllowed(e)||("production"!==process.env.NODE_ENV?invariant(!1,`${t.type} not permitted in phase ${e.phase}`):invariant());const{client:n}=t.payload;return isEqual$1(n,e.current.client.selection)?e:update({state:e,clientSelection:n,impact:isSnapping(e)?e.impact:null})}if("UPDATE_DROPPABLE_SCROLL"===t.type){if("DROP_PENDING"===e.phase)return removeScrollJumpRequest(e);if("COLLECTING"===e.phase)return removeScrollJumpRequest(e);isMovementAllowed(e)||("production"!==process.env.NODE_ENV?invariant(!1,`${t.type} not permitted in phase ${e.phase}`):invariant());const{id:n,newScroll:r}=t.payload,o=e.dimensions.droppables[n];if(!o)return e;const i=scrollDroppable(o,r);return postDroppableChange(e,i,!1)}if("UPDATE_DROPPABLE_IS_ENABLED"===t.type){if("DROP_PENDING"===e.phase)return e;isMovementAllowed(e)||("production"!==process.env.NODE_ENV?invariant(!1,`Attempting to move in an unsupported phase ${e.phase}`):invariant());const{id:n,isEnabled:r}=t.payload,o=e.dimensions.droppables[n];o||("production"!==process.env.NODE_ENV?invariant(!1,`Cannot find Droppable[id: ${n}] to toggle its enabled state`):invariant()),o.isEnabled===r&&("production"!==process.env.NODE_ENV?invariant(!1,`Trying to set droppable isEnabled to ${String(r)}\n      but it is already ${String(o.isEnabled)}`):invariant());const i={...o,isEnabled:r};return postDroppableChange(e,i,!0)}if("UPDATE_DROPPABLE_IS_COMBINE_ENABLED"===t.type){if("DROP_PENDING"===e.phase)return e;isMovementAllowed(e)||("production"!==process.env.NODE_ENV?invariant(!1,`Attempting to move in an unsupported phase ${e.phase}`):invariant());const{id:n,isCombineEnabled:r}=t.payload,o=e.dimensions.droppables[n];o||("production"!==process.env.NODE_ENV?invariant(!1,`Cannot find Droppable[id: ${n}] to toggle its isCombineEnabled state`):invariant()),o.isCombineEnabled===r&&("production"!==process.env.NODE_ENV?invariant(!1,`Trying to set droppable isCombineEnabled to ${String(r)}\n      but it is already ${String(o.isCombineEnabled)}`):invariant());const i={...o,isCombineEnabled:r};return postDroppableChange(e,i,!0)}if("MOVE_BY_WINDOW_SCROLL"===t.type){if("DROP_PENDING"===e.phase||"DROP_ANIMATING"===e.phase)return e;isMovementAllowed(e)||("production"!==process.env.NODE_ENV?invariant(!1,`Cannot move by window in phase ${e.phase}`):invariant()),e.isWindowScrollAllowed||("production"!==process.env.NODE_ENV?invariant(!1,"Window scrolling is currently not supported for fixed lists"):invariant());const n=t.payload.newScroll;if(isEqual$1(e.viewport.scroll.current,n))return removeScrollJumpRequest(e);const r=scrollViewport(e.viewport,n);return isSnapping(e)?refreshSnap({state:e,viewport:r}):update({state:e,viewport:r})}if("UPDATE_VIEWPORT_MAX_SCROLL"===t.type){if(!isMovementAllowed(e))return e;const n=t.payload.maxScroll;if(isEqual$1(n,e.viewport.scroll.max))return e;const r={...e.viewport,scroll:{...e.viewport.scroll,max:n}};return{...e,viewport:r}}if("MOVE_UP"===t.type||"MOVE_DOWN"===t.type||"MOVE_LEFT"===t.type||"MOVE_RIGHT"===t.type){if("COLLECTING"===e.phase||"DROP_PENDING"===e.phase)return e;"DRAGGING"!==e.phase&&("production"!==process.env.NODE_ENV?invariant(!1,`${t.type} received while not in DRAGGING phase`):invariant());const n=moveInDirection({state:e,type:t.type});return n?update({state:e,impact:n.impact,clientSelection:n.clientSelection,scrollJumpRequest:n.scrollJumpRequest}):e}if("DROP_PENDING"===t.type){const n=t.payload.reason;"COLLECTING"!==e.phase&&("production"!==process.env.NODE_ENV?invariant(!1,"Can only move into the DROP_PENDING phase from the COLLECTING phase"):invariant());return{...e,phase:"DROP_PENDING",isWaiting:!0,reason:n}}if("DROP_ANIMATE"===t.type){const{completed:n,dropDuration:r,newHomeClientOffset:o}=t.payload;"DRAGGING"!==e.phase&&"DROP_PENDING"!==e.phase&&("production"!==process.env.NODE_ENV?invariant(!1,`Cannot animate drop from phase ${e.phase}`):invariant());return{phase:"DROP_ANIMATING",completed:n,dropDuration:r,newHomeClientOffset:o,dimensions:e.dimensions}}if("DROP_COMPLETE"===t.type){const{completed:e}=t.payload;return{phase:"IDLE",completed:e,shouldFlush:!1}}return e};function guard(e,t){return e instanceof Object&&"type"in e&&e.type===t}const beforeInitialCapture=e=>({type:"BEFORE_INITIAL_CAPTURE",payload:e}),lift$1=e=>({type:"LIFT",payload:e}),initialPublish=e=>({type:"INITIAL_PUBLISH",payload:e}),publishWhileDragging=e=>({type:"PUBLISH_WHILE_DRAGGING",payload:e}),collectionStarting=()=>({type:"COLLECTION_STARTING",payload:null}),updateDroppableScroll=e=>({type:"UPDATE_DROPPABLE_SCROLL",payload:e}),updateDroppableIsEnabled=e=>({type:"UPDATE_DROPPABLE_IS_ENABLED",payload:e}),updateDroppableIsCombineEnabled=e=>({type:"UPDATE_DROPPABLE_IS_COMBINE_ENABLED",payload:e}),move=e=>({type:"MOVE",payload:e}),moveByWindowScroll=e=>({type:"MOVE_BY_WINDOW_SCROLL",payload:e}),updateViewportMaxScroll=e=>({type:"UPDATE_VIEWPORT_MAX_SCROLL",payload:e}),moveUp=()=>({type:"MOVE_UP",payload:null}),moveDown=()=>({type:"MOVE_DOWN",payload:null}),moveRight=()=>({type:"MOVE_RIGHT",payload:null}),moveLeft=()=>({type:"MOVE_LEFT",payload:null}),flush=()=>({type:"FLUSH",payload:null}),animateDrop=e=>({type:"DROP_ANIMATE",payload:e}),completeDrop=e=>({type:"DROP_COMPLETE",payload:e}),drop=e=>({type:"DROP",payload:e}),dropPending=e=>({type:"DROP_PENDING",payload:e}),dropAnimationFinished=()=>({type:"DROP_ANIMATION_FINISHED",payload:null});function checkIndexes(e){if(e.length<=1)return;const t=e.map((e=>e.descriptor.index)),n={};for(let e=1;e<t.length;e++){const r=t[e];r!==t[e-1]+1&&(n[r]=!0)}if(!Object.keys(n).length)return;const r=t.map((e=>Boolean(n[e])?`[🔥${e}]`:`${e}`)).join(", ");"production"!==process.env.NODE_ENV&&warning(`\n    Detected non-consecutive <Draggable /> indexes.\n\n    (This can cause unexpected bugs)\n\n    ${r}\n  `)}function validateDimensions(e,t){if("production"!==process.env.NODE_ENV){checkIndexes(getDraggablesInsideDroppable(e.droppable.id,t.draggables))}}var lift=e=>({getState:t,dispatch:n})=>r=>o=>{if(!guard(o,"LIFT"))return void r(o);const{id:i,clientSelection:a,movementMode:s}=o.payload,l=t();"DROP_ANIMATING"===l.phase&&n(completeDrop({completed:l.completed})),"IDLE"!==t().phase&&("production"!==process.env.NODE_ENV?invariant(!1,"Unexpected phase to start a drag"):invariant()),n(flush()),n(beforeInitialCapture({draggableId:i,movementMode:s}));const c={draggableId:i,scrollOptions:{shouldPublishImmediately:"SNAP"===s}},{critical:d,dimensions:p,viewport:u}=e.startPublishing(c);validateDimensions(d,p),n(initialPublish({critical:d,dimensions:p,clientSelection:a,movementMode:s,viewport:u}))},style=e=>()=>t=>n=>{guard(n,"INITIAL_PUBLISH")&&e.dragging(),guard(n,"DROP_ANIMATE")&&e.dropping(n.payload.completed.result.reason),(guard(n,"FLUSH")||guard(n,"DROP_COMPLETE"))&&e.resting(),t(n)};const curves={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"},combine={opacity:{drop:0,combining:.7},scale:{drop:.75}},timings={outOfTheWay:.2,minDropTime:.33,maxDropTime:.55},outOfTheWayTiming=`${timings.outOfTheWay}s ${curves.outOfTheWay}`,transitions={fluid:`opacity ${outOfTheWayTiming}`,snap:`transform ${outOfTheWayTiming}, opacity ${outOfTheWayTiming}`,drop:e=>{const t=`${e}s ${curves.drop}`;return`transform ${t}, opacity ${t}`},outOfTheWay:`transform ${outOfTheWayTiming}`,placeholder:`height ${outOfTheWayTiming}, width ${outOfTheWayTiming}, margin ${outOfTheWayTiming}`},moveTo=e=>isEqual$1(e,origin)?void 0:`translate(${e.x}px, ${e.y}px)`,transforms={moveTo:moveTo,drop:(e,t)=>{const n=moveTo(e);if(n)return t?`${n} scale(${combine.scale.drop})`:n}},{minDropTime:minDropTime,maxDropTime:maxDropTime}=timings,dropTimeRange=maxDropTime-minDropTime,maxDropTimeAtDistance=1500,cancelDropModifier=.6;var getDropDuration=({current:e,destination:t,reason:n})=>{const r=distance(e,t);if(r<=0)return minDropTime;if(r>=1500)return maxDropTime;const o=minDropTime+dropTimeRange*(r/1500);return Number(("CANCEL"===n?.6*o:o).toFixed(2))},getNewHomeClientOffset=({impact:e,draggable:t,dimensions:n,viewport:r,afterCritical:o})=>{const{draggables:i,droppables:a}=n,s=whatIsDraggedOver(e),l=s?a[s]:null,c=a[t.descriptor.droppableId],d=getClientBorderBoxCenter({impact:e,draggable:t,draggables:i,afterCritical:o,droppable:l||c,viewport:r});return subtract(d,t.client.borderBox.center)},getDropImpact=({draggables:e,reason:t,lastImpact:n,home:r,viewport:o,onLiftImpact:i})=>{if(!n.at||"DROP"!==t){return{impact:recompute({draggables:e,impact:i,destination:r,viewport:o,forceShouldAnimate:!0}),didDropInsideDroppable:!1}}if("REORDER"===n.at.type)return{impact:n,didDropInsideDroppable:!0};return{impact:{...n,displaced:emptyGroups},didDropInsideDroppable:!0}};const dropMiddleware=({getState:e,dispatch:t})=>n=>r=>{if(!guard(r,"DROP"))return void n(r);const o=e(),i=r.payload.reason;if("COLLECTING"===o.phase)return void t(dropPending({reason:i}));if("IDLE"===o.phase)return;"DROP_PENDING"===o.phase&&o.isWaiting&&("production"!==process.env.NODE_ENV?invariant(!1,"A DROP action occurred while DROP_PENDING and still waiting"):invariant()),"DRAGGING"!==o.phase&&"DROP_PENDING"!==o.phase&&("production"!==process.env.NODE_ENV?invariant(!1,`Cannot drop in phase: ${o.phase}`):invariant());const a=o.critical,s=o.dimensions,l=s.draggables[o.critical.draggable.id],{impact:c,didDropInsideDroppable:d}=getDropImpact({reason:i,lastImpact:o.impact,afterCritical:o.afterCritical,onLiftImpact:o.onLiftImpact,home:o.dimensions.droppables[o.critical.droppable.id],viewport:o.viewport,draggables:o.dimensions.draggables}),p=d?tryGetDestination(c):null,u=d?tryGetCombine(c):null,g={index:a.draggable.index,droppableId:a.droppable.id},m={draggableId:l.descriptor.id,type:l.descriptor.type,source:g,reason:i,mode:o.movementMode,destination:p,combine:u},b=getNewHomeClientOffset({impact:c,draggable:l,dimensions:s,viewport:o.viewport,afterCritical:o.afterCritical}),f={critical:o.critical,afterCritical:o.afterCritical,result:m,impact:c};if(!(!isEqual$1(o.current.client.offset,b)||Boolean(m.combine)))return void t(completeDrop({completed:f}));const v=getDropDuration({current:o.current.client.offset,destination:b,reason:i});t(animateDrop({newHomeClientOffset:b,dropDuration:v,completed:f}))};var getWindowScroll=()=>({x:window.pageXOffset,y:window.pageYOffset});function getWindowScrollBinding(e){return{eventName:"scroll",options:{passive:!0,capture:!1},fn:t=>{t.target!==window&&t.target!==window.document||e()}}}function getScrollListener({onWindowScroll:e}){const t=rafSchd((function(){e(getWindowScroll())})),n=getWindowScrollBinding(t);let r=noop$2;function o(){return r!==noop$2}return{start:function(){o()&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot start scroll listener when already active"):invariant()),r=bindEvents(window,[n])},stop:function(){o()||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot stop scroll listener when not active"):invariant()),t.cancel(),r(),r=noop$2},isActive:o}}const shouldStop$1=e=>guard(e,"DROP_COMPLETE")||guard(e,"DROP_ANIMATE")||guard(e,"FLUSH"),scrollListener=e=>{const t=getScrollListener({onWindowScroll:t=>{e.dispatch(moveByWindowScroll({newScroll:t}))}});return e=>n=>{!t.isActive()&&guard(n,"INITIAL_PUBLISH")&&t.start(),t.isActive()&&shouldStop$1(n)&&t.stop(),e(n)}};var getExpiringAnnounce=e=>{let t=!1,n=!1;const r=setTimeout((()=>{n=!0})),o=o=>{t?"production"!==process.env.NODE_ENV&&warning("Announcement already made. Not making a second announcement"):n?"production"!==process.env.NODE_ENV&&warning("\n        Announcements cannot be made asynchronously.\n        Default message has already been announced.\n      "):(t=!0,e(o),clearTimeout(r))};return o.wasCalled=()=>t,o},getAsyncMarshal=()=>{const e=[];return{add:t=>{const n=setTimeout((()=>(t=>{const n=e.findIndex((e=>e.timerId===t));-1===n&&("production"!==process.env.NODE_ENV?invariant(!1,"Could not find timer"):invariant());const[r]=e.splice(n,1);r.callback()})(n))),r={timerId:n,callback:t};e.push(r)},flush:()=>{if(!e.length)return;const t=[...e];e.length=0,t.forEach((e=>{clearTimeout(e.timerId),e.callback()}))}}};const areLocationsEqual=(e,t)=>null==e&&null==t||null!=e&&null!=t&&(e.droppableId===t.droppableId&&e.index===t.index),isCombineEqual=(e,t)=>null==e&&null==t||null!=e&&null!=t&&(e.draggableId===t.draggableId&&e.droppableId===t.droppableId),isCriticalEqual=(e,t)=>{if(e===t)return!0;const n=e.draggable.id===t.draggable.id&&e.draggable.droppableId===t.draggable.droppableId&&e.draggable.type===t.draggable.type&&e.draggable.index===t.draggable.index,r=e.droppable.id===t.droppable.id&&e.droppable.type===t.droppable.type;return n&&r},withTimings=(e,t)=>{start(),t(),finish()},getDragStart=(e,t)=>({draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t});function execute(e,t,n,r){if(!e)return void n(r(t));const o=getExpiringAnnounce(n);e(t,{announce:o}),o.wasCalled()||n(r(t))}var getPublisher=(e,t)=>{const n=getAsyncMarshal();let r=null;const o=n=>{r||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot fire onDragEnd when there is no matching onDragStart"):invariant()),r=null,withTimings(0,(()=>execute(e().onDragEnd,n,t,preset.onDragEnd)))};return{beforeCapture:(t,n)=>{r&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot fire onBeforeCapture as a drag start has already been published"):invariant()),withTimings(0,(()=>{const r=e().onBeforeCapture;if(r){r({draggableId:t,mode:n})}}))},beforeStart:(t,n)=>{r&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot fire onBeforeDragStart as a drag start has already been published"):invariant()),withTimings(0,(()=>{const r=e().onBeforeDragStart;r&&r(getDragStart(t,n))}))},start:(o,i)=>{r&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot fire onBeforeDragStart as a drag start has already been published"):invariant());const a=getDragStart(o,i);r={mode:i,lastCritical:o,lastLocation:a.source,lastCombine:null},n.add((()=>{withTimings(0,(()=>execute(e().onDragStart,a,t,preset.onDragStart)))}))},update:(o,i)=>{const a=tryGetDestination(i),s=tryGetCombine(i);r||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot fire onDragMove when onDragStart has not been called"):invariant());const l=!isCriticalEqual(o,r.lastCritical);l&&(r.lastCritical=o);const c=!areLocationsEqual(r.lastLocation,a);c&&(r.lastLocation=a);const d=!isCombineEqual(r.lastCombine,s);if(d&&(r.lastCombine=s),!l&&!c&&!d)return;const p={...getDragStart(o,r.mode),combine:s,destination:a};n.add((()=>{withTimings(0,(()=>execute(e().onDragUpdate,p,t,preset.onDragUpdate)))}))},flush:()=>{r||("production"!==process.env.NODE_ENV?invariant(!1,"Can only flush responders while dragging"):invariant()),n.flush()},drop:o,abort:()=>{if(!r)return;const e={...getDragStart(r.lastCritical,r.mode),combine:null,destination:null,reason:"CANCEL"};o(e)}}},responders=(e,t)=>{const n=getPublisher(e,t);return e=>t=>r=>{if(guard(r,"BEFORE_INITIAL_CAPTURE"))return void n.beforeCapture(r.payload.draggableId,r.payload.movementMode);if(guard(r,"INITIAL_PUBLISH")){const e=r.payload.critical;return n.beforeStart(e,r.payload.movementMode),t(r),void n.start(e,r.payload.movementMode)}if(guard(r,"DROP_COMPLETE")){const e=r.payload.completed.result;return n.flush(),t(r),void n.drop(e)}if(t(r),guard(r,"FLUSH"))return void n.abort();const o=e.getState();"DRAGGING"===o.phase&&n.update(o.critical,o.impact)}};const dropAnimationFinishMiddleware=e=>t=>n=>{if(!guard(n,"DROP_ANIMATION_FINISHED"))return void t(n);const r=e.getState();"DROP_ANIMATING"!==r.phase&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot finish a drop animating when no drop is occurring"):invariant()),e.dispatch(completeDrop({completed:r.completed}))},dropAnimationFlushOnScrollMiddleware=e=>{let t=null,n=null;return r=>o=>{if((guard(o,"FLUSH")||guard(o,"DROP_COMPLETE")||guard(o,"DROP_ANIMATION_FINISHED"))&&(n&&(cancelAnimationFrame(n),n=null),t&&(t(),t=null)),r(o),!guard(o,"DROP_ANIMATE"))return;const i={eventName:"scroll",options:{capture:!0,passive:!1,once:!0},fn:function(){"DROP_ANIMATING"===e.getState().phase&&e.dispatch(dropAnimationFinished())}};n=requestAnimationFrame((()=>{n=null,t=bindEvents(window,[i])}))}};var dimensionMarshalStopper=e=>()=>t=>n=>{(guard(n,"DROP_COMPLETE")||guard(n,"FLUSH")||guard(n,"DROP_ANIMATE"))&&e.stopPublishing(),t(n)},focus=e=>{let t=!1;return()=>n=>r=>{if(guard(r,"INITIAL_PUBLISH"))return t=!0,e.tryRecordFocus(r.payload.critical.draggable.id),n(r),void e.tryRestoreFocusRecorded();if(n(r),t){if(guard(r,"FLUSH"))return t=!1,void e.tryRestoreFocusRecorded();if(guard(r,"DROP_COMPLETE")){t=!1;const n=r.payload.completed.result;n.combine&&e.tryShiftRecord(n.draggableId,n.combine.draggableId),e.tryRestoreFocusRecorded()}}}};const shouldStop=e=>guard(e,"DROP_COMPLETE")||guard(e,"DROP_ANIMATE")||guard(e,"FLUSH");var autoScroll=e=>t=>n=>r=>{if(shouldStop(r))return e.stop(),void n(r);if(guard(r,"INITIAL_PUBLISH")){n(r);const o=t.getState();return"DRAGGING"!==o.phase&&("production"!==process.env.NODE_ENV?invariant(!1,"Expected phase to be DRAGGING after INITIAL_PUBLISH"):invariant()),void e.start(o)}n(r),e.scroll(t.getState())};const pendingDrop=e=>t=>n=>{if(t(n),!guard(n,"PUBLISH_WHILE_DRAGGING"))return;const r=e.getState();"DROP_PENDING"===r.phase&&(r.isWaiting||e.dispatch(drop({reason:r.reason})))},composeEnhancers="production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({name:"@hello-pangea/dnd"}):redux.compose;var createStore=({dimensionMarshal:e,focusMarshal:t,styleMarshal:n,getResponders:r,announce:o,autoScroller:i})=>redux.createStore(reducer,composeEnhancers(redux.applyMiddleware(style(n),dimensionMarshalStopper(e),lift(e),dropMiddleware,dropAnimationFinishMiddleware,dropAnimationFlushOnScrollMiddleware,pendingDrop,autoScroll(i),scrollListener,focus(t),responders(r,o))));const clean$1=()=>({additions:{},removals:{},modified:{}});function createPublisher({registry:e,callbacks:t}){let n=clean$1(),r=null;const o=()=>{r||(t.collectionStarting(),r=requestAnimationFrame((()=>{r=null,start();const{additions:o,removals:i,modified:a}=n,s=Object.keys(o).map((t=>e.draggable.getById(t).getDimension(origin))).sort(((e,t)=>e.descriptor.index-t.descriptor.index)),l=Object.keys(a).map((t=>({droppableId:t,scroll:e.droppable.getById(t).callbacks.getScrollWhileDragging()}))),c={additions:s,removals:Object.keys(i),modified:l};n=clean$1(),finish(),t.publish(c)})))};return{add:e=>{const t=e.descriptor.id;n.additions[t]=e,n.modified[e.descriptor.droppableId]=!0,n.removals[t]&&delete n.removals[t],o()},remove:e=>{const t=e.descriptor;n.removals[t.id]=!0,n.modified[t.droppableId]=!0,n.additions[t.id]&&delete n.additions[t.id],o()},stop:()=>{r&&(cancelAnimationFrame(r),r=null,n=clean$1())}}}var getMaxScroll=({scrollHeight:e,scrollWidth:t,height:n,width:r})=>{const o=subtract({x:t,y:e},{x:r,y:n});return{x:Math.max(0,o.x),y:Math.max(0,o.y)}},getDocumentElement=()=>{const e=document.documentElement;return e||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot find document.documentElement"):invariant()),e},getMaxWindowScroll=()=>{const e=getDocumentElement();return getMaxScroll({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,width:e.clientWidth,height:e.clientHeight})},getViewport=()=>{const e=getWindowScroll(),t=getMaxWindowScroll(),n=e.y,r=e.x,o=getDocumentElement(),i=r+o.clientWidth,a=n+o.clientHeight;return{frame:cssBoxModel.getRect({top:n,left:r,right:i,bottom:a}),scroll:{initial:e,current:e,max:t,diff:{value:origin,displacement:origin}}}},getInitialPublish=({critical:e,scrollOptions:t,registry:n})=>{start();const r=getViewport(),o=r.scroll.current,i=e.droppable,a=n.droppable.getAllByType(i.type).map((e=>e.callbacks.getDimensionAndWatchScroll(o,t))),s=n.draggable.getAllByType(e.draggable.type).map((e=>e.getDimension(o))),l={draggables:toDraggableMap(s),droppables:toDroppableMap(a)};finish();return{dimensions:l,critical:e,viewport:r}};function shouldPublishUpdate(e,t,n){if(n.descriptor.id===t.id)return!1;if(n.descriptor.type!==t.type)return!1;return"virtual"===e.droppable.getById(n.descriptor.droppableId).descriptor.mode||("production"!==process.env.NODE_ENV&&warning(`\n      You are attempting to add or remove a Draggable [id: ${n.descriptor.id}]\n      while a drag is occurring. This is only supported for virtual lists.\n\n      See https://github.com/hello-pangea/dnd/blob/main/docs/patterns/virtual-lists.md\n    `),!1)}var createDimensionMarshal=(e,t)=>{let n=null;const r=createPublisher({callbacks:{publish:t.publishWhileDragging,collectionStarting:t.collectionStarting},registry:e}),o=t=>{n||("production"!==process.env.NODE_ENV?invariant(!1,"Should only be subscribed when a collection is occurring"):invariant());const o=n.critical.draggable;"ADDITION"===t.type&&shouldPublishUpdate(e,o,t.value)&&r.add(t.value),"REMOVAL"===t.type&&shouldPublishUpdate(e,o,t.value)&&r.remove(t.value)},i={updateDroppableIsEnabled:(r,o)=>{e.droppable.exists(r)||("production"!==process.env.NODE_ENV?invariant(!1,`Cannot update is enabled flag of Droppable ${r} as it is not registered`):invariant()),n&&t.updateDroppableIsEnabled({id:r,isEnabled:o})},updateDroppableIsCombineEnabled:(r,o)=>{n&&(e.droppable.exists(r)||("production"!==process.env.NODE_ENV?invariant(!1,`Cannot update isCombineEnabled flag of Droppable ${r} as it is not registered`):invariant()),t.updateDroppableIsCombineEnabled({id:r,isCombineEnabled:o}))},scrollDroppable:(t,r)=>{n&&e.droppable.getById(t).callbacks.scroll(r)},updateDroppableScroll:(r,o)=>{n&&(e.droppable.exists(r)||("production"!==process.env.NODE_ENV?invariant(!1,`Cannot update the scroll on Droppable ${r} as it is not registered`):invariant()),t.updateDroppableScroll({id:r,newScroll:o}))},startPublishing:t=>{n&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot start capturing critical dimensions as there is already a collection"):invariant());const r=e.draggable.getById(t.draggableId),i=e.droppable.getById(r.descriptor.droppableId),a={draggable:r.descriptor,droppable:i.descriptor},s=e.subscribe(o);return n={critical:a,unsubscribe:s},getInitialPublish({critical:a,registry:e,scrollOptions:t.scrollOptions})},stopPublishing:()=>{if(!n)return;r.stop();const t=n.critical.droppable;e.droppable.getAllByType(t.type).forEach((e=>e.callbacks.dragStopped())),n.unsubscribe(),n=null}};return i},canStartDrag=(e,t)=>"IDLE"===e.phase||"DROP_ANIMATING"===e.phase&&(e.completed.result.draggableId!==t&&"DROP"===e.completed.result.reason),scrollWindow=e=>{window.scrollBy(e.x,e.y)};const getScrollableDroppables=memoizeOne((e=>toDroppableList(e).filter((e=>!!e.isEnabled&&!!e.frame)))),getScrollableDroppableOver=(e,t)=>{const n=getScrollableDroppables(t).find((t=>(t.frame||("production"!==process.env.NODE_ENV?invariant(!1,"Invalid result"):invariant()),isPositionInFrame(t.frame.pageMarginBox)(e))))||null;return n};var getBestScrollableDroppable=({center:e,destination:t,droppables:n})=>{if(t){const e=n[t];return e.frame?e:null}return getScrollableDroppableOver(e,n)};const defaultAutoScrollerOptions={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:e=>e**2,durationDampening:{stopDampeningAt:1200,accelerateAt:360},disabled:!1};var getDistanceThresholds=(e,t,n=()=>defaultAutoScrollerOptions)=>{const r=n();return{startScrollingFrom:e[t.size]*r.startFromPercentage,maxScrollValueAt:e[t.size]*r.maxScrollAtPercentage}},getPercentage=({startOfRange:e,endOfRange:t,current:n})=>{const r=t-e;if(0===r)return"production"!==process.env.NODE_ENV&&warning("\n      Detected distance range of 0 in the fluid auto scroller\n      This is unexpected and would cause a divide by 0 issue.\n      Not allowing an auto scroll\n    "),0;return(n-e)/r},minScroll=1,getValueFromDistance=(e,t,n=()=>defaultAutoScrollerOptions)=>{const r=n();if(e>t.startScrollingFrom)return 0;if(e<=t.maxScrollValueAt)return r.maxPixelScroll;if(e===t.startScrollingFrom)return minScroll;const o=1-getPercentage({startOfRange:t.maxScrollValueAt,endOfRange:t.startScrollingFrom,current:e}),i=r.maxPixelScroll*r.ease(o);return Math.ceil(i)},dampenValueByTime=(e,t,n)=>{const r=n(),o=r.durationDampening.accelerateAt,i=r.durationDampening.stopDampeningAt,a=t,s=i,l=Date.now()-a;if(l>=i)return e;if(l<o)return minScroll;const c=getPercentage({startOfRange:o,endOfRange:s,current:l}),d=e*r.ease(c);return Math.ceil(d)},getValue=({distanceToEdge:e,thresholds:t,dragStartTime:n,shouldUseTimeDampening:r,getAutoScrollerOptions:o})=>{const i=getValueFromDistance(e,t,o);return 0===i?0:r?Math.max(dampenValueByTime(i,n,o),minScroll):i},getScrollOnAxis=({container:e,distanceToEdges:t,dragStartTime:n,axis:r,shouldUseTimeDampening:o,getAutoScrollerOptions:i})=>{const a=getDistanceThresholds(e,r,i);return t[r.end]<t[r.start]?getValue({distanceToEdge:t[r.end],thresholds:a,dragStartTime:n,shouldUseTimeDampening:o,getAutoScrollerOptions:i}):-1*getValue({distanceToEdge:t[r.start],thresholds:a,dragStartTime:n,shouldUseTimeDampening:o,getAutoScrollerOptions:i})},adjustForSizeLimits=({container:e,subject:t,proposedScroll:n})=>{const r=t.height>e.height,o=t.width>e.width;return o||r?o&&r?null:{x:o?0:n.x,y:r?0:n.y}:n};const clean=apply((e=>0===e?0:e));var getScroll$1=({dragStartTime:e,container:t,subject:n,center:r,shouldUseTimeDampening:o,getAutoScrollerOptions:i})=>{const a={top:r.y-t.top,right:t.right-r.x,bottom:t.bottom-r.y,left:r.x-t.left},s=getScrollOnAxis({container:t,distanceToEdges:a,dragStartTime:e,axis:vertical,shouldUseTimeDampening:o,getAutoScrollerOptions:i}),l=getScrollOnAxis({container:t,distanceToEdges:a,dragStartTime:e,axis:horizontal,shouldUseTimeDampening:o,getAutoScrollerOptions:i}),c=clean({x:l,y:s});if(isEqual$1(c,origin))return null;const d=adjustForSizeLimits({container:t,subject:n,proposedScroll:c});return d?isEqual$1(d,origin)?null:d:null};const smallestSigned=apply((e=>0===e?0:e>0?1:-1)),getOverlap=(()=>{const e=(e,t)=>e<0?e:e>t?e-t:0;return({current:t,max:n,change:r})=>{const o=add(t,r),i={x:e(o.x,n.x),y:e(o.y,n.y)};return isEqual$1(i,origin)?null:i}})(),canPartiallyScroll=({max:e,current:t,change:n})=>{const r={x:Math.max(t.x,e.x),y:Math.max(t.y,e.y)},o=smallestSigned(n),i=getOverlap({max:r,current:t,change:o});return!i||(0!==o.x&&0===i.x||0!==o.y&&0===i.y)},canScrollWindow=(e,t)=>canPartiallyScroll({current:e.scroll.current,max:e.scroll.max,change:t}),getWindowOverlap=(e,t)=>{if(!canScrollWindow(e,t))return null;const n=e.scroll.max,r=e.scroll.current;return getOverlap({current:r,max:n,change:t})},canScrollDroppable=(e,t)=>{const n=e.frame;return!!n&&canPartiallyScroll({current:n.scroll.current,max:n.scroll.max,change:t})},getDroppableOverlap=(e,t)=>{const n=e.frame;return n&&canScrollDroppable(e,t)?getOverlap({current:n.scroll.current,max:n.scroll.max,change:t}):null};var getWindowScrollChange=({viewport:e,subject:t,center:n,dragStartTime:r,shouldUseTimeDampening:o,getAutoScrollerOptions:i})=>{const a=getScroll$1({dragStartTime:r,container:e.frame,subject:t,center:n,shouldUseTimeDampening:o,getAutoScrollerOptions:i});return a&&canScrollWindow(e,a)?a:null},getDroppableScrollChange=({droppable:e,subject:t,center:n,dragStartTime:r,shouldUseTimeDampening:o,getAutoScrollerOptions:i})=>{const a=e.frame;if(!a)return null;const s=getScroll$1({dragStartTime:r,container:a.pageMarginBox,subject:t,center:n,shouldUseTimeDampening:o,getAutoScrollerOptions:i});return s&&canScrollDroppable(e,s)?s:null},scroll=({state:e,dragStartTime:t,shouldUseTimeDampening:n,scrollWindow:r,scrollDroppable:o,getAutoScrollerOptions:i})=>{const a=e.current.page.borderBoxCenter,s=e.dimensions.draggables[e.critical.draggable.id].page.marginBox;if(e.isWindowScrollAllowed){const o=e.viewport,l=getWindowScrollChange({dragStartTime:t,viewport:o,subject:s,center:a,shouldUseTimeDampening:n,getAutoScrollerOptions:i});if(l)return void r(l)}const l=getBestScrollableDroppable({center:a,destination:whatIsDraggedOver(e.impact),droppables:e.dimensions.droppables});if(!l)return;const c=getDroppableScrollChange({dragStartTime:t,droppable:l,subject:s,center:a,shouldUseTimeDampening:n,getAutoScrollerOptions:i});c&&o(l.descriptor.id,c)},createFluidScroller=({scrollWindow:e,scrollDroppable:t,getAutoScrollerOptions:n=()=>defaultAutoScrollerOptions})=>{const r=rafSchd(e),o=rafSchd(t);let i=null;const a=e=>{i||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot fluid scroll if not dragging"):invariant());const{shouldUseTimeDampening:t,dragStartTime:a}=i;scroll({state:e,scrollWindow:r,scrollDroppable:o,dragStartTime:a,shouldUseTimeDampening:t,getAutoScrollerOptions:n})};return{start:e=>{start(),i&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot start auto scrolling when already started"):invariant());const t=Date.now();let r=!1;const o=()=>{r=!0};scroll({state:e,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:o,scrollDroppable:o,getAutoScrollerOptions:n}),i={dragStartTime:t,shouldUseTimeDampening:r},finish(),r&&a(e)},stop:()=>{i&&(r.cancel(),o.cancel(),i=null)},scroll:a}},createJumpScroller=({move:e,scrollDroppable:t,scrollWindow:n})=>r=>{const o=r.scrollJumpRequest;if(!o)return;const i=whatIsDraggedOver(r.impact);i||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot perform a jump scroll when there is no destination"):invariant());const a=((e,n)=>{if(!canScrollDroppable(e,n))return n;const r=getDroppableOverlap(e,n);if(!r)return t(e.descriptor.id,n),null;const o=subtract(n,r);return t(e.descriptor.id,o),subtract(n,o)})(r.dimensions.droppables[i],o);if(!a)return;const s=r.viewport,l=((e,t,r)=>{if(!e)return r;if(!canScrollWindow(t,r))return r;const o=getWindowOverlap(t,r);if(!o)return n(r),null;const i=subtract(r,o);return n(i),subtract(r,i)})(r.isWindowScrollAllowed,s,a);l&&((t,n)=>{const r=add(t.current.client.selection,n);e({client:r})})(r,l)},createAutoScroller=({scrollDroppable:e,scrollWindow:t,move:n,getAutoScrollerOptions:r})=>{const o=createFluidScroller({scrollWindow:t,scrollDroppable:e,getAutoScrollerOptions:r}),i=createJumpScroller({move:n,scrollWindow:t,scrollDroppable:e});return{scroll:e=>{r().disabled||"DRAGGING"!==e.phase||("FLUID"!==e.movementMode?e.scrollJumpRequest&&i(e):o.scroll(e))},start:o.start,stop:o.stop}};const prefix="data-rfd",dragHandle=(()=>{const e=`${prefix}-drag-handle`;return{base:e,draggableId:`${e}-draggable-id`,contextId:`${e}-context-id`}})(),draggable=(()=>{const e=`${prefix}-draggable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),droppable=(()=>{const e=`${prefix}-droppable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),scrollContainer={contextId:`${prefix}-scroll-container-context-id`},makeGetSelector=e=>t=>`[${t}="${e}"]`,getStyles=(e,t)=>e.map((e=>{const n=e.styles[t];return n?`${e.selector} { ${n} }`:""})).join(" "),noPointerEvents="pointer-events: none;";var getStyles$1=e=>{const t=makeGetSelector(e),n=(()=>{const e="\n      cursor: -webkit-grab;\n      cursor: grab;\n    ";return{selector:t(dragHandle.contextId),styles:{always:"\n          -webkit-touch-callout: none;\n          -webkit-tap-highlight-color: rgba(0,0,0,0);\n          touch-action: manipulation;\n        ",resting:e,dragging:noPointerEvents,dropAnimating:e}}})(),r=[(()=>{const e=`\n      transition: ${transitions.outOfTheWay};\n    `;return{selector:t(draggable.contextId),styles:{dragging:e,dropAnimating:e,userCancel:e}}})(),n,{selector:t(droppable.contextId),styles:{always:"overflow-anchor: none;"}},{selector:"body",styles:{dragging:"\n        cursor: grabbing;\n        cursor: -webkit-grabbing;\n        user-select: none;\n        -webkit-user-select: none;\n        -moz-user-select: none;\n        -ms-user-select: none;\n        overflow-anchor: none;\n      "}}];return{always:getStyles(r,"always"),resting:getStyles(r,"resting"),dragging:getStyles(r,"dragging"),dropAnimating:getStyles(r,"dropAnimating"),userCancel:getStyles(r,"userCancel")}};const useIsomorphicLayoutEffect="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?React.useLayoutEffect:React.useEffect,getHead=()=>{const e=document.querySelector("head");return e||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot find the head to append a style to"):invariant()),e},createStyleEl=e=>{const t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.type="text/css",t};function useStyleMarshal(e,t){const n=useMemo((()=>getStyles$1(e)),[e]),r=React.useRef(null),o=React.useRef(null),i=useCallback(memoizeOne((e=>{const t=o.current;t||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot set dynamic style element if it is not set"):invariant()),t.textContent=e})),[]),a=useCallback((e=>{const t=r.current;t||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot set dynamic style element if it is not set"):invariant()),t.textContent=e}),[]);useIsomorphicLayoutEffect((()=>{(r.current||o.current)&&("production"!==process.env.NODE_ENV?invariant(!1,"style elements already mounted"):invariant());const s=createStyleEl(t),l=createStyleEl(t);return r.current=s,o.current=l,s.setAttribute(`${prefix}-always`,e),l.setAttribute(`${prefix}-dynamic`,e),getHead().appendChild(s),getHead().appendChild(l),a(n.always),i(n.resting),()=>{const e=e=>{const t=e.current;t||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot unmount ref as it is not set"):invariant()),getHead().removeChild(t),e.current=null};e(r),e(o)}}),[t,a,i,n.always,n.resting,e]);const s=useCallback((()=>i(n.dragging)),[i,n.dragging]),l=useCallback((e=>{i("DROP"!==e?n.userCancel:n.dropAnimating)}),[i,n.dropAnimating,n.userCancel]),c=useCallback((()=>{o.current&&i(n.resting)}),[i,n.resting]);return useMemo((()=>({dragging:s,dropping:l,resting:c})),[s,l,c])}function querySelectorAll(e,t){return Array.from(e.querySelectorAll(t))}var getWindowFromEl=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;function isHtmlElement(e){return e instanceof getWindowFromEl(e).HTMLElement}function findDragHandle(e,t){const n=`[${dragHandle.contextId}="${e}"]`,r=querySelectorAll(document,n);if(!r.length)return"production"!==process.env.NODE_ENV&&warning(`Unable to find any drag handles in the context "${e}"`),null;const o=r.find((e=>e.getAttribute(dragHandle.draggableId)===t));return o?isHtmlElement(o)?o:("production"!==process.env.NODE_ENV&&warning("drag handle needs to be a HTMLElement"),null):("production"!==process.env.NODE_ENV&&warning(`Unable to find drag handle with id "${t}" as no handle with a matching id was found`),null)}function useFocusMarshal(e){const t=React.useRef({}),n=React.useRef(null),r=React.useRef(null),o=React.useRef(!1),i=useCallback((function(e,n){const r={id:e,focus:n};return t.current[e]=r,function(){const n=t.current;n[e]!==r&&delete n[e]}}),[]),a=useCallback((function(t){const n=findDragHandle(e,t);n&&n!==document.activeElement&&n.focus()}),[e]),s=useCallback((function(e,t){n.current===e&&(n.current=t)}),[]),l=useCallback((function(){r.current||o.current&&(r.current=requestAnimationFrame((()=>{r.current=null;const e=n.current;e&&a(e)})))}),[a]),c=useCallback((function(e){n.current=null;const t=document.activeElement;t&&t.getAttribute(dragHandle.draggableId)===e&&(n.current=e)}),[]);useIsomorphicLayoutEffect((()=>(o.current=!0,function(){o.current=!1;const e=r.current;e&&cancelAnimationFrame(e)})),[]);return useMemo((()=>({register:i,tryRecordFocus:c,tryRestoreFocusRecorded:l,tryShiftRecord:s})),[i,c,l,s])}function createRegistry(){const e={draggables:{},droppables:{}},t=[];function n(e){t.length&&t.forEach((t=>t(e)))}function r(t){return e.draggables[t]||null}function o(t){return e.droppables[t]||null}return{draggable:{register:t=>{e.draggables[t.descriptor.id]=t,n({type:"ADDITION",value:t})},update:(t,n)=>{const r=e.draggables[n.descriptor.id];r&&r.uniqueId===t.uniqueId&&(delete e.draggables[n.descriptor.id],e.draggables[t.descriptor.id]=t)},unregister:t=>{const o=t.descriptor.id,i=r(o);i&&t.uniqueId===i.uniqueId&&(delete e.draggables[o],e.droppables[t.descriptor.droppableId]&&n({type:"REMOVAL",value:t}))},getById:function(e){const t=r(e);return t||("production"!==process.env.NODE_ENV?invariant(!1,`Cannot find draggable entry with id [${e}]`):invariant()),t},findById:r,exists:e=>Boolean(r(e)),getAllByType:t=>Object.values(e.draggables).filter((e=>e.descriptor.type===t))},droppable:{register:t=>{e.droppables[t.descriptor.id]=t},unregister:t=>{const n=o(t.descriptor.id);n&&t.uniqueId===n.uniqueId&&delete e.droppables[t.descriptor.id]},getById:function(e){const t=o(e);return t||("production"!==process.env.NODE_ENV?invariant(!1,`Cannot find droppable entry with id [${e}]`):invariant()),t},findById:o,exists:e=>Boolean(o(e)),getAllByType:t=>Object.values(e.droppables).filter((e=>e.descriptor.type===t))},subscribe:function(e){return t.push(e),function(){const n=t.indexOf(e);-1!==n&&t.splice(n,1)}},clean:function(){e.draggables={},e.droppables={},t.length=0}}}function useRegistry(){const e=useMemo(createRegistry,[]);return React.useEffect((()=>function(){e.clean()}),[e]),e}var StoreContext=React.createContext(null),getBodyElement=()=>{const e=document.body;return e||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot find document.body"):invariant()),e};const visuallyHidden={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)","clip-path":"inset(100%)"},getId=e=>`rfd-announcement-${e}`;function useAnnouncer(e){const t=useMemo((()=>getId(e)),[e]),n=React.useRef(null);React.useEffect((function(){const e=document.createElement("div");return n.current=e,e.id=t,e.setAttribute("aria-live","assertive"),e.setAttribute("aria-atomic","true"),_extends(e.style,visuallyHidden),getBodyElement().appendChild(e),function(){setTimeout((function(){const t=getBodyElement();t.contains(e)&&t.removeChild(e),e===n.current&&(n.current=null)}))}}),[t]);return useCallback((e=>{const t=n.current;t?t.textContent=e:"production"!==process.env.NODE_ENV&&warning(`\n      A screen reader message was trying to be announced but it was unable to do so.\n      This can occur if you unmount your <DragDropContext /> in your onDragEnd.\n      Consider calling provided.announce() before the unmount so that the instruction will\n      not be lost for users relying on a screen reader.\n\n      Message not passed to screen reader:\n\n      "${e}"\n    `)}),[])}const defaults={separator:"::"};function useUniqueId(e,t=defaults){const n=React.useId();return useMemo((()=>`${e}${t.separator}${n}`),[t.separator,e,n])}function getElementId({contextId:e,uniqueId:t}){return`rfd-hidden-text-${e}-${t}`}function useHiddenTextElement({contextId:e,text:t}){const n=useUniqueId("hidden-text",{separator:"-"}),r=useMemo((()=>getElementId({contextId:e,uniqueId:n})),[n,e]);return React.useEffect((function(){const e=document.createElement("div");return e.id=r,e.textContent=t,e.style.display="none",getBodyElement().appendChild(e),function(){const t=getBodyElement();t.contains(e)&&t.removeChild(e)}}),[r,t]),r}var AppContext=React.createContext(null),peerDependencies={react:"^18.0.0 || ^19.0.0"};const semver=/(\d+)\.(\d+)\.(\d+)/,getVersion=e=>{const t=semver.exec(e);null==t&&("production"!==process.env.NODE_ENV?invariant(!1,`Unable to parse React version ${e}`):invariant());return{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3]),raw:e}},isSatisfied=(e,t)=>t.major>e.major||!(t.major<e.major)&&(t.minor>e.minor||!(t.minor<e.minor)&&t.patch>=e.patch);var checkReactVersion=(e,t)=>{const n=getVersion(e),r=getVersion(t);isSatisfied(n,r)||"production"!==process.env.NODE_ENV&&warning(`\n    React version: [${r.raw}]\n    does not satisfy expected peer dependency version: [${n.raw}]\n\n    This can result in run time bugs, and even fatal crashes\n  `)};const suffix="\n  We expect a html5 doctype: <!doctype html>\n  This is to ensure consistent browser layout and measurement\n\n  More information: https://github.com/hello-pangea/dnd/blob/main/docs/guides/doctype.md\n";var checkDoctype=e=>{const t=e.doctype;t?("html"!==t.name.toLowerCase()&&"production"!==process.env.NODE_ENV&&warning(`\n      Unexpected <!doctype> found: (${t.name})\n\n      ${suffix}\n    `),""!==t.publicId&&"production"!==process.env.NODE_ENV&&warning(`\n      Unexpected <!doctype> publicId found: (${t.publicId})\n      A html5 doctype does not have a publicId\n\n      ${suffix}\n    `)):"production"!==process.env.NODE_ENV&&warning(`\n      No <!doctype html> found.\n\n      ${suffix}\n    `)};function useDev(e){"production"!==process.env.NODE_ENV&&e()}function useDevSetupWarning(e,t){useDev((()=>{React.useEffect((()=>{try{e()}catch(e){error(`\n          A setup problem was encountered.\n\n          > ${e.message}\n        `)}}),t)}))}function useStartupValidation(){useDevSetupWarning((()=>{checkReactVersion(peerDependencies.react,React.version),checkDoctype(document)}),[])}function usePrevious(e){const t=React.useRef(e);return React.useEffect((()=>{t.current=e})),t}function create(){let e=null;function t(){e||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot release lock when there is no lock"):invariant()),e=null}return{isClaimed:function(){return Boolean(e)},isActive:function(t){return t===e},claim:function(t){e&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot claim lock as it is already claimed"):invariant());const n={abandon:t};return e=n,n},release:t,tryAbandon:function(){e&&(e.abandon(),t())}}}function isDragging(e){return"IDLE"!==e.phase&&"DROP_ANIMATING"!==e.phase&&e.isDragging}const tab=9,enter=13,escape=27,space=32,pageUp=33,pageDown=34,end=35,home=36,arrowLeft=37,arrowUp=38,arrowRight=39,arrowDown=40,preventedKeys={[enter]:!0,[tab]:!0};var preventStandardKeyEvents=e=>{preventedKeys[e.keyCode]&&e.preventDefault()};const supportedEventName=(()=>{const e="visibilitychange";if("undefined"==typeof document)return e;return[e,`ms${e}`,`webkit${e}`,`moz${e}`,`o${e}`].find((e=>`on${e}`in document))||e})(),primaryButton=0,sloppyClickThreshold=5;function isSloppyClickThresholdExceeded(e,t){return Math.abs(t.x-e.x)>=5||Math.abs(t.y-e.y)>=5}const idle$1={type:"IDLE"};function getCaptureBindings({cancel:e,completed:t,getPhase:n,setPhase:r}){return[{eventName:"mousemove",fn:e=>{const{button:t,clientX:o,clientY:i}=e;if(0!==t)return;const a={x:o,y:i},s=n();if("DRAGGING"===s.type)return e.preventDefault(),void s.actions.move(a);"PENDING"!==s.type&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot be IDLE"):invariant());if(!isSloppyClickThresholdExceeded(s.point,a))return;e.preventDefault();const l=s.actions.fluidLift(a);r({type:"DRAGGING",actions:l})}},{eventName:"mouseup",fn:r=>{const o=n();"DRAGGING"===o.type?(r.preventDefault(),o.actions.drop({shouldBlockNextClick:!0}),t()):e()}},{eventName:"mousedown",fn:t=>{"DRAGGING"===n().type&&t.preventDefault(),e()}},{eventName:"keydown",fn:t=>{if("PENDING"!==n().type)return 27===t.keyCode?(t.preventDefault(),void e()):void preventStandardKeyEvents(t);e()}},{eventName:"resize",fn:e},{eventName:"scroll",options:{passive:!0,capture:!1},fn:()=>{"PENDING"===n().type&&e()}},{eventName:"webkitmouseforcedown",fn:t=>{const r=n();"IDLE"===r.type&&("production"!==process.env.NODE_ENV?invariant(!1,"Unexpected phase"):invariant()),r.actions.shouldRespectForcePress()?e():t.preventDefault()}},{eventName:supportedEventName,fn:e}]}function useMouseSensor(e){const t=React.useRef(idle$1),n=React.useRef(noop$2),r=useMemo((()=>({eventName:"mousedown",fn:function(t){if(t.defaultPrevented)return;if(0!==t.button)return;if(t.ctrlKey||t.metaKey||t.shiftKey||t.altKey)return;const r=e.findClosestDraggableId(t);if(!r)return;const o=e.tryGetLock(r,a,{sourceEvent:t});if(!o)return;t.preventDefault();const i={x:t.clientX,y:t.clientY};n.current(),c(o,i)}})),[e]),o=useMemo((()=>({eventName:"webkitmouseforcewillbegin",fn:t=>{if(t.defaultPrevented)return;const n=e.findClosestDraggableId(t);if(!n)return;const r=e.findOptionsForDraggable(n);r&&(r.shouldRespectForcePress||e.canGetLock(n)&&t.preventDefault())}})),[e]),i=useCallback((function(){n.current=bindEvents(window,[o,r],{passive:!1,capture:!0})}),[o,r]),a=useCallback((()=>{"IDLE"!==t.current.type&&(t.current=idle$1,n.current(),i())}),[i]),s=useCallback((()=>{const e=t.current;a(),"DRAGGING"===e.type&&e.actions.cancel({shouldBlockNextClick:!0}),"PENDING"===e.type&&e.actions.abort()}),[a]),l=useCallback((function(){const e=getCaptureBindings({cancel:s,completed:a,getPhase:()=>t.current,setPhase:e=>{t.current=e}});n.current=bindEvents(window,e,{capture:!0,passive:!1})}),[s,a]),c=useCallback((function(e,n){"IDLE"!==t.current.type&&("production"!==process.env.NODE_ENV?invariant(!1,"Expected to move from IDLE to PENDING drag"):invariant()),t.current={type:"PENDING",point:n,actions:e},l()}),[l]);useIsomorphicLayoutEffect((function(){return i(),function(){n.current()}}),[i])}function noop$1(){}const scrollJumpKeys={[pageDown]:!0,[pageUp]:!0,[home]:!0,[end]:!0};function getDraggingBindings(e,t){function n(){t(),e.cancel()}return[{eventName:"keydown",fn:r=>27===r.keyCode?(r.preventDefault(),void n()):32===r.keyCode?(r.preventDefault(),t(),void e.drop()):40===r.keyCode?(r.preventDefault(),void e.moveDown()):38===r.keyCode?(r.preventDefault(),void e.moveUp()):39===r.keyCode?(r.preventDefault(),void e.moveRight()):37===r.keyCode?(r.preventDefault(),void e.moveLeft()):void(scrollJumpKeys[r.keyCode]?r.preventDefault():preventStandardKeyEvents(r))},{eventName:"mousedown",fn:n},{eventName:"mouseup",fn:n},{eventName:"click",fn:n},{eventName:"touchstart",fn:n},{eventName:"resize",fn:n},{eventName:"wheel",fn:n,options:{passive:!0}},{eventName:supportedEventName,fn:n}]}function useKeyboardSensor(e){const t=React.useRef(noop$1),n=useMemo((()=>({eventName:"keydown",fn:function(n){if(n.defaultPrevented)return;if(32!==n.keyCode)return;const o=e.findClosestDraggableId(n);if(!o)return;const i=e.tryGetLock(o,l,{sourceEvent:n});if(!i)return;n.preventDefault();let a=!0;const s=i.snapLift();function l(){a||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot stop capturing a keyboard drag when not capturing"):invariant()),a=!1,t.current(),r()}t.current(),t.current=bindEvents(window,getDraggingBindings(s,l),{capture:!0,passive:!1})}})),[e]),r=useCallback((function(){t.current=bindEvents(window,[n],{passive:!1,capture:!0})}),[n]);useIsomorphicLayoutEffect((function(){return r(),function(){t.current()}}),[r])}const idle={type:"IDLE"},timeForLongPress=120,forcePressThreshold=.15;function getWindowBindings({cancel:e,getPhase:t}){return[{eventName:"orientationchange",fn:e},{eventName:"resize",fn:e},{eventName:"contextmenu",fn:e=>{e.preventDefault()}},{eventName:"keydown",fn:n=>{"DRAGGING"===t().type?(27===n.keyCode&&n.preventDefault(),e()):e()}},{eventName:supportedEventName,fn:e}]}function getHandleBindings({cancel:e,completed:t,getPhase:n}){return[{eventName:"touchmove",options:{capture:!1},fn:t=>{const r=n();if("DRAGGING"!==r.type)return void e();r.hasMoved=!0;const{clientX:o,clientY:i}=t.touches[0],a={x:o,y:i};t.preventDefault(),r.actions.move(a)}},{eventName:"touchend",fn:r=>{const o=n();"DRAGGING"===o.type?(r.preventDefault(),o.actions.drop({shouldBlockNextClick:!0}),t()):e()}},{eventName:"touchcancel",fn:t=>{"DRAGGING"===n().type?(t.preventDefault(),e()):e()}},{eventName:"touchforcechange",fn:t=>{const r=n();"IDLE"===r.type&&(process.env.NODE_ENV,invariant());const o=t.touches[0];if(!o)return;if(!(o.force>=.15))return;const i=r.actions.shouldRespectForcePress();if("PENDING"!==r.type)return i?r.hasMoved?void t.preventDefault():void e():void t.preventDefault();i&&e()}},{eventName:supportedEventName,fn:e}]}function useTouchSensor(e){const t=React.useRef(idle),n=React.useRef(noop$2),r=useCallback((function(){return t.current}),[]),o=useCallback((function(e){t.current=e}),[]),i=useMemo((()=>({eventName:"touchstart",fn:function(t){if(t.defaultPrevented)return;const r=e.findClosestDraggableId(t);if(!r)return;const o=e.tryGetLock(r,s,{sourceEvent:t});if(!o)return;const i=t.touches[0],{clientX:a,clientY:l}=i,c={x:a,y:l};n.current(),p(o,c)}})),[e]),a=useCallback((function(){n.current=bindEvents(window,[i],{capture:!0,passive:!1})}),[i]),s=useCallback((()=>{const e=t.current;"IDLE"!==e.type&&("PENDING"===e.type&&clearTimeout(e.longPressTimerId),o(idle),n.current(),a())}),[a,o]),l=useCallback((()=>{const e=t.current;s(),"DRAGGING"===e.type&&e.actions.cancel({shouldBlockNextClick:!0}),"PENDING"===e.type&&e.actions.abort()}),[s]),c=useCallback((function(){const e={capture:!0,passive:!1},t={cancel:l,completed:s,getPhase:r},o=bindEvents(window,getHandleBindings(t),e),i=bindEvents(window,getWindowBindings(t),e);n.current=function(){o(),i()}}),[l,r,s]),d=useCallback((function(){const e=r();"PENDING"!==e.type&&("production"!==process.env.NODE_ENV?invariant(!1,`Cannot start dragging from phase ${e.type}`):invariant());const t=e.actions.fluidLift(e.point);o({type:"DRAGGING",actions:t,hasMoved:!1})}),[r,o]),p=useCallback((function(e,t){"IDLE"!==r().type&&("production"!==process.env.NODE_ENV?invariant(!1,"Expected to move from IDLE to PENDING drag"):invariant());const n=setTimeout(d,120);o({type:"PENDING",point:t,actions:e,longPressTimerId:n}),c()}),[c,r,o,d]);useIsomorphicLayoutEffect((function(){return a(),function(){n.current();const e=r();"PENDING"===e.type&&(clearTimeout(e.longPressTimerId),o(idle))}}),[r,a,o]),useIsomorphicLayoutEffect((function(){return bindEvents(window,[{eventName:"touchmove",fn:()=>{},options:{capture:!1,passive:!1}}])}),[])}function useValidateSensorHooks(e){useDev((()=>{const t=usePrevious(e);useDevSetupWarning((()=>{t.current.length!==e.length&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot change the amount of sensor hooks after mounting"):invariant(!1))}))}))}const interactiveTagNames=["input","button","textarea","select","option","optgroup","video","audio"];function isAnInteractiveElement(e,t){if(null==t)return!1;if(interactiveTagNames.includes(t.tagName.toLowerCase()))return!0;const n=t.getAttribute("contenteditable");return"true"===n||""===n||t!==e&&isAnInteractiveElement(e,t.parentElement)}function isEventInInteractiveElement(e,t){const n=t.target;return!!isHtmlElement(n)&&isAnInteractiveElement(e,n)}var getBorderBoxCenterPosition=e=>cssBoxModel.getRect(e.getBoundingClientRect()).center;function isElement(e){return e instanceof getWindowFromEl(e).Element}const supportedMatchesName=(()=>{const e="matches";if("undefined"==typeof document)return e;return[e,"msMatchesSelector","webkitMatchesSelector"].find((e=>e in Element.prototype))||e})();function closestPonyfill(e,t){return null==e?null:e[supportedMatchesName](t)?e:closestPonyfill(e.parentElement,t)}function closest(e,t){return e.closest?e.closest(t):closestPonyfill(e,t)}function getSelector(e){return`[${dragHandle.contextId}="${e}"]`}function findClosestDragHandleFromEvent(e,t){const n=t.target;if(!isElement(n))return"production"!==process.env.NODE_ENV&&warning("event.target must be a Element"),null;const r=closest(n,getSelector(e));return r?isHtmlElement(r)?r:("production"!==process.env.NODE_ENV&&warning("drag handle must be a HTMLElement"),null):null}function tryGetClosestDraggableIdFromEvent(e,t){const n=findClosestDragHandleFromEvent(e,t);return n?n.getAttribute(dragHandle.draggableId):null}function findDraggable(e,t){const n=`[${draggable.contextId}="${e}"]`,r=querySelectorAll(document,n).find((e=>e.getAttribute(draggable.id)===t));return r?isHtmlElement(r)?r:("production"!==process.env.NODE_ENV&&warning("Draggable element is not a HTMLElement"),null):null}function preventDefault(e){e.preventDefault()}function isActive({expected:e,phase:t,isLockActive:n,shouldWarn:r}){return n()?e===t||(r&&"production"!==process.env.NODE_ENV&&warning(`\n        Cannot perform action.\n        The actions you used belong to an outdated phase\n\n        Current phase: ${e}\n        You called an action from outdated phase: ${t}\n\n        Tips:\n\n        - Do not use preDragActions actions after calling preDragActions.lift()\n      `),!1):(r&&"production"!==process.env.NODE_ENV&&warning("\n        Cannot perform action.\n        The sensor no longer has an action lock.\n\n        Tips:\n\n        - Throw away your action handlers when forceStop() is called\n        - Check actions.isActive() if you really need to\n      "),!1)}function canStart({lockAPI:e,store:t,registry:n,draggableId:r}){if(e.isClaimed())return!1;const o=n.draggable.findById(r);return o?!!o.options.isEnabled&&!!canStartDrag(t.getState(),r):("production"!==process.env.NODE_ENV&&warning(`Unable to find draggable with id: ${r}`),!1)}function tryStart({lockAPI:e,contextId:t,store:n,registry:r,draggableId:o,forceSensorStop:i,sourceEvent:a}){if(!canStart({lockAPI:e,store:n,registry:r,draggableId:o}))return null;const s=r.draggable.getById(o),l=findDraggable(t,s.descriptor.id);if(!l)return"production"!==process.env.NODE_ENV&&warning(`Unable to find draggable element with id: ${o}`),null;if(a&&!s.options.canDragInteractiveElements&&isEventInInteractiveElement(l,a))return null;const c=e.claim(i||noop$2);let d="PRE_DRAG";function p(){return s.options.shouldRespectForcePress}function u(){return e.isActive(c)}const g=function(e,t){isActive({expected:e,phase:d,isLockActive:u,shouldWarn:!0})&&n.dispatch(t())}.bind(null,"DRAGGING");function m(t){function r(){e.release(),d="COMPLETED"}function o(e,o={shouldBlockNextClick:!1}){if(t.cleanup(),o.shouldBlockNextClick){const e=bindEvents(window,[{eventName:"click",fn:preventDefault,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(e)}r(),n.dispatch(drop({reason:e}))}return"PRE_DRAG"!==d&&(r(),"production"!==process.env.NODE_ENV?invariant(!1,`Cannot lift in phase ${d}`):invariant()),n.dispatch(lift$1(t.liftActionArgs)),d="DRAGGING",{isActive:()=>isActive({expected:"DRAGGING",phase:d,isLockActive:u,shouldWarn:!1}),shouldRespectForcePress:p,drop:e=>o("DROP",e),cancel:e=>o("CANCEL",e),...t.actions}}return{isActive:()=>isActive({expected:"PRE_DRAG",phase:d,isLockActive:u,shouldWarn:!1}),shouldRespectForcePress:p,fluidLift:function(e){const t=rafSchd((e=>{g((()=>move({client:e})))}));return{...m({liftActionArgs:{id:o,clientSelection:e,movementMode:"FLUID"},cleanup:()=>t.cancel(),actions:{move:t}}),move:t}},snapLift:function(){const e={moveUp:()=>g(moveUp),moveRight:()=>g(moveRight),moveDown:()=>g(moveDown),moveLeft:()=>g(moveLeft)};return m({liftActionArgs:{id:o,clientSelection:getBorderBoxCenterPosition(l),movementMode:"SNAP"},cleanup:noop$2,actions:e})},abort:function(){isActive({expected:"PRE_DRAG",phase:d,isLockActive:u,shouldWarn:!0})&&e.release()}}}const defaultSensors=[useMouseSensor,useKeyboardSensor,useTouchSensor];function useSensorMarshal({contextId:e,store:t,registry:n,customSensors:r,enableDefaultSensors:o}){const i=[...o?defaultSensors:[],...r||[]],a=React.useState((()=>create()))[0],s=useCallback((function(e,t){isDragging(e)&&!isDragging(t)&&a.tryAbandon()}),[a]);useIsomorphicLayoutEffect((function(){let e=t.getState();return t.subscribe((()=>{const n=t.getState();s(e,n),e=n}))}),[a,t,s]),useIsomorphicLayoutEffect((()=>a.tryAbandon),[a.tryAbandon]);const l=useCallback((e=>canStart({lockAPI:a,registry:n,store:t,draggableId:e})),[a,n,t]),c=useCallback(((r,o,i)=>tryStart({lockAPI:a,registry:n,contextId:e,store:t,draggableId:r,forceSensorStop:o||null,sourceEvent:i&&i.sourceEvent?i.sourceEvent:null})),[e,a,n,t]),d=useCallback((t=>tryGetClosestDraggableIdFromEvent(e,t)),[e]),p=useCallback((e=>{const t=n.draggable.findById(e);return t?t.options:null}),[n.draggable]),u=useCallback((function(){a.isClaimed()&&(a.tryAbandon(),"IDLE"!==t.getState().phase&&t.dispatch(flush()))}),[a,t]),g=useCallback((()=>a.isClaimed()),[a]),m=useMemo((()=>({canGetLock:l,tryGetLock:c,findClosestDraggableId:d,findOptionsForDraggable:p,tryReleaseLock:u,isLockClaimed:g})),[l,c,d,p,u,g]);useValidateSensorHooks(i);for(let e=0;e<i.length;e++)i[e](m)}const createResponders=e=>({onBeforeCapture:t=>{ReactDOM.flushSync((()=>{e.onBeforeCapture&&e.onBeforeCapture(t)}))},onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,onDragUpdate:e.onDragUpdate}),createAutoScrollerOptions=e=>({...defaultAutoScrollerOptions,...e.autoScrollerOptions,durationDampening:{...defaultAutoScrollerOptions.durationDampening,...e.autoScrollerOptions}});function getStore(e){return e.current||("production"!==process.env.NODE_ENV?invariant(!1,"Could not find store from lazy ref"):invariant()),e.current}function App(e){const{contextId:t,setCallbacks:n,sensors:r,nonce:o,dragHandleUsageInstructions:i}=e,a=React.useRef(null);useStartupValidation();const s=usePrevious(e),l=useCallback((()=>createResponders(s.current)),[s]),c=useCallback((()=>createAutoScrollerOptions(s.current)),[s]),d=useAnnouncer(t),p=useHiddenTextElement({contextId:t,text:i}),u=useStyleMarshal(t,o),g=useCallback((e=>{getStore(a).dispatch(e)}),[]),m=useMemo((()=>redux.bindActionCreators({publishWhileDragging:publishWhileDragging,updateDroppableScroll:updateDroppableScroll,updateDroppableIsEnabled:updateDroppableIsEnabled,updateDroppableIsCombineEnabled:updateDroppableIsCombineEnabled,collectionStarting:collectionStarting},g)),[g]),b=useRegistry(),f=useMemo((()=>createDimensionMarshal(b,m)),[b,m]),v=useMemo((()=>createAutoScroller({scrollWindow:scrollWindow,scrollDroppable:f.scrollDroppable,getAutoScrollerOptions:c,...redux.bindActionCreators({move:move},g)})),[f.scrollDroppable,g,c]),h=useFocusMarshal(t),D=useMemo((()=>createStore({announce:d,autoScroller:v,dimensionMarshal:f,focusMarshal:h,getResponders:l,styleMarshal:u})),[d,v,f,h,l,u]);"production"!==process.env.NODE_ENV&&a.current&&a.current!==D&&"production"!==process.env.NODE_ENV&&warning("unexpected store change"),a.current=D;const E=useCallback((()=>{const e=getStore(a);"IDLE"!==e.getState().phase&&e.dispatch(flush())}),[]),y=useCallback((()=>{const e=getStore(a).getState();return"DROP_ANIMATING"===e.phase||"IDLE"!==e.phase&&e.isDragging}),[]);n(useMemo((()=>({isDragging:y,tryAbort:E})),[y,E]));const x=useCallback((e=>canStartDrag(getStore(a).getState(),e)),[]),I=useCallback((()=>isMovementAllowed(getStore(a).getState())),[]),C=useMemo((()=>({marshal:f,focus:h,contextId:t,canLift:x,isMovementAllowed:I,dragHandleUsageInstructionsId:p,registry:b})),[t,f,p,h,x,I,b]);return useSensorMarshal({contextId:t,store:D,registry:b,customSensors:r||null,enableDefaultSensors:!1!==e.enableDefaultSensors}),React.useEffect((()=>E),[E]),React.createElement(AppContext.Provider,{value:C},React.createElement(reactRedux.Provider,{context:StoreContext,store:D},e.children))}function useUniqueContextId(){return React.useId()}function DragDropContext(e){const t=useUniqueContextId(),n=e.dragHandleUsageInstructions||preset.dragHandleUsageInstructions;return React.createElement(ErrorBoundary,null,(r=>React.createElement(App,{nonce:e.nonce,contextId:t,setCallbacks:r,dragHandleUsageInstructions:n,enableDefaultSensors:e.enableDefaultSensors,sensors:e.sensors,onBeforeCapture:e.onBeforeCapture,onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragUpdate:e.onDragUpdate,onDragEnd:e.onDragEnd,autoScrollerOptions:e.autoScrollerOptions},e.children)))}const zIndexOptions={dragging:5e3,dropAnimating:4500},getDraggingTransition=(e,t)=>t?transitions.drop(t.duration):e?transitions.snap:transitions.fluid,getDraggingOpacity=(e,t)=>{if(e)return t?combine.opacity.drop:combine.opacity.combining},getShouldDraggingAnimate=e=>null!=e.forceShouldAnimate?e.forceShouldAnimate:"SNAP"===e.mode;function getDraggingStyle(e){const t=e.dimension.client,{offset:n,combineWith:r,dropping:o}=e,i=Boolean(r),a=getShouldDraggingAnimate(e),s=Boolean(o),l=s?transforms.drop(n,i):transforms.moveTo(n);return{position:"fixed",top:t.marginBox.top,left:t.marginBox.left,boxSizing:"border-box",width:t.borderBox.width,height:t.borderBox.height,transition:getDraggingTransition(a,o),transform:l,opacity:getDraggingOpacity(i,s),zIndex:s?zIndexOptions.dropAnimating:zIndexOptions.dragging,pointerEvents:"none"}}function getSecondaryStyle(e){return{transform:transforms.moveTo(e.offset),transition:e.shouldAnimateDisplacement?void 0:"none"}}function getStyle$1(e){return"DRAGGING"===e.type?getDraggingStyle(e):getSecondaryStyle(e)}function getDimension$1(e,t,n=origin){const r=window.getComputedStyle(t),o=t.getBoundingClientRect(),i=cssBoxModel.calculateBox(o,r),a=cssBoxModel.withScroll(i,n);return{descriptor:e,placeholder:{client:i,tagName:t.tagName.toLowerCase(),display:r.display},displaceBy:{x:i.marginBox.width,y:i.marginBox.height},client:i,page:a}}function useDraggablePublisher(e){const t=useUniqueId("draggable"),{descriptor:n,registry:r,getDraggableRef:o,canDragInteractiveElements:i,shouldRespectForcePress:a,isEnabled:s}=e,l=useMemo((()=>({canDragInteractiveElements:i,shouldRespectForcePress:a,isEnabled:s})),[i,s,a]),c=useCallback((e=>{const t=o();return t||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot get dimension when no ref is set"):invariant()),getDimension$1(n,t,e)}),[n,o]),d=useMemo((()=>({uniqueId:t,descriptor:n,options:l,getDimension:c})),[n,c,l,t]),p=React.useRef(d),u=React.useRef(!0);useIsomorphicLayoutEffect((()=>(r.draggable.register(p.current),()=>r.draggable.unregister(p.current))),[r.draggable]),useIsomorphicLayoutEffect((()=>{if(u.current)return void(u.current=!1);const e=p.current;p.current=d,r.draggable.update(d,e)}),[d,r.draggable])}var DroppableContext=React.createContext(null);function checkIsValidInnerRef(e){e&&isHtmlElement(e)||("production"!==process.env.NODE_ENV?invariant(!1,"\n    provided.innerRef has not been provided with a HTMLElement.\n\n    You can find a guide on using the innerRef callback functions at:\n    https://github.com/hello-pangea/dnd/blob/main/docs/guides/using-inner-ref.md\n  "):invariant())}function useValidation$1(e,t,n){useDevSetupWarning((()=>{function r(e){return`Draggable[id: ${e}]: `}const o=e.draggableId;o||("production"!==process.env.NODE_ENV?invariant(!1,"Draggable requires a draggableId"):invariant(!1)),"string"!=typeof o&&("production"!==process.env.NODE_ENV?invariant(!1,`Draggable requires a [string] draggableId.\n      Provided: [type: ${typeof o}] (value: ${o})`):invariant(!1)),Number.isInteger(e.index)||("production"!==process.env.NODE_ENV?invariant(!1,`${r(o)} requires an integer index prop`):invariant(!1)),"DRAGGING"!==e.mapped.type&&(checkIsValidInnerRef(n()),e.isEnabled&&(findDragHandle(t,o)||("production"!==process.env.NODE_ENV?invariant(!1,`${r(o)} Unable to find drag handle`):invariant(!1))))}))}function useClonePropValidation(e){useDev((()=>{const t=React.useRef(e);useDevSetupWarning((()=>{e!==t.current&&("production"!==process.env.NODE_ENV?invariant(!1,"Draggable isClone prop value changed during component life"):invariant(!1))}),[e])}))}function useRequiredContext(e){const t=React.useContext(e);return t||("production"!==process.env.NODE_ENV?invariant(!1,"Could not find required context"):invariant()),t}function preventHtml5Dnd(e){e.preventDefault()}const Draggable=e=>{const t=React.useRef(null),n=useCallback(((e=null)=>{t.current=e}),[]),r=useCallback((()=>t.current),[]),{contextId:o,dragHandleUsageInstructionsId:i,registry:a}=useRequiredContext(AppContext),{type:s,droppableId:l}=useRequiredContext(DroppableContext),c=useMemo((()=>({id:e.draggableId,index:e.index,type:s,droppableId:l})),[e.draggableId,e.index,s,l]),{children:d,draggableId:p,isEnabled:u,shouldRespectForcePress:g,canDragInteractiveElements:m,isClone:b,mapped:f,dropAnimationFinished:v}=e;if(useValidation$1(e,o,r),useClonePropValidation(b),!b){useDraggablePublisher(useMemo((()=>({descriptor:c,registry:a,getDraggableRef:r,canDragInteractiveElements:m,shouldRespectForcePress:g,isEnabled:u})),[c,a,r,m,g,u]))}const h=useMemo((()=>u?{tabIndex:0,role:"button","aria-describedby":i,"data-rfd-drag-handle-draggable-id":p,"data-rfd-drag-handle-context-id":o,draggable:!1,onDragStart:preventHtml5Dnd}:null),[o,i,p,u]),D=useCallback((e=>{"DRAGGING"===f.type&&f.dropping&&"transform"===e.propertyName&&ReactDOM.flushSync(v)}),[v,f]),E=useMemo((()=>{const e=getStyle$1(f),t="DRAGGING"===f.type&&f.dropping?D:void 0;return{innerRef:n,draggableProps:{"data-rfd-draggable-context-id":o,"data-rfd-draggable-id":p,style:e,onTransitionEnd:t},dragHandleProps:h}}),[o,h,p,f,D,n]),y=useMemo((()=>({draggableId:c.id,type:c.type,source:{index:c.index,droppableId:c.droppableId}})),[c.droppableId,c.id,c.index,c.type]);return React.createElement(React.Fragment,null,d(E,f.snapshot,y))};var isStrictEqual=(e,t)=>e===t,whatIsDraggedOverFromResult=e=>{const{combine:t,destination:n}=e;return n?n.droppableId:t?t.droppableId:null};const getCombineWithFromResult=e=>e.combine?e.combine.draggableId:null,getCombineWithFromImpact=e=>e.at&&"COMBINE"===e.at.type?e.at.combine.draggableId:null;function getDraggableSelector(){const e=memoizeOne(((e,t)=>({x:e,y:t}))),t=memoizeOne(((e,t,n=null,r=null,o=null)=>({isDragging:!0,isClone:t,isDropAnimating:Boolean(o),dropAnimation:o,mode:e,draggingOver:n,combineWith:r,combineTargetFor:null}))),n=memoizeOne(((e,n,r,o,i=null,a=null,s=null)=>({mapped:{type:"DRAGGING",dropping:null,draggingOver:i,combineWith:a,mode:n,offset:e,dimension:r,forceShouldAnimate:s,snapshot:t(n,o,i,a,null)}})));return(r,o)=>{if(isDragging(r)){if(r.critical.draggable.id!==o.draggableId)return null;const t=r.current.client.offset,i=r.dimensions.draggables[o.draggableId],a=whatIsDraggedOver(r.impact),s=getCombineWithFromImpact(r.impact),l=r.forceShouldAnimate;return n(e(t.x,t.y),r.movementMode,i,o.isClone,a,s,l)}if("DROP_ANIMATING"===r.phase){const e=r.completed;if(e.result.draggableId!==o.draggableId)return null;const n=o.isClone,i=r.dimensions.draggables[o.draggableId],a=e.result,s=a.mode,l=whatIsDraggedOverFromResult(a),c=getCombineWithFromResult(a),d={duration:r.dropDuration,curve:curves.drop,moveTo:r.newHomeClientOffset,opacity:c?combine.opacity.drop:null,scale:c?combine.scale.drop:null};return{mapped:{type:"DRAGGING",offset:r.newHomeClientOffset,dimension:i,dropping:d,draggingOver:l,combineWith:c,mode:s,forceShouldAnimate:null,snapshot:t(s,n,l,c,d)}}}return null}}function getSecondarySnapshot(e=null){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:e,combineWith:null}}const atRest={mapped:{type:"SECONDARY",offset:origin,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:getSecondarySnapshot(null)}};function getSecondarySelector(){const e=memoizeOne(((e,t)=>({x:e,y:t}))),t=memoizeOne(getSecondarySnapshot),n=memoizeOne(((e,n=null,r)=>({mapped:{type:"SECONDARY",offset:e,combineTargetFor:n,shouldAnimateDisplacement:r,snapshot:t(n)}}))),r=e=>e?n(origin,e,!0):null,o=(t,o,i,a)=>{const s=i.displaced.visible[t],l=Boolean(a.inVirtualList&&a.effected[t]),c=tryGetCombine(i),d=c&&c.draggableId===t?o:null;if(!s){if(!l)return r(d);if(i.displaced.invisible[t])return null;const o=negate(a.displacedBy.point),s=e(o.x,o.y);return n(s,d,!0)}if(l)return r(d);const p=i.displacedBy.point,u=e(p.x,p.y);return n(u,d,s.shouldAnimate)};return(e,t)=>{if(isDragging(e))return e.critical.draggable.id===t.draggableId?null:o(t.draggableId,e.critical.draggable.id,e.impact,e.afterCritical);if("DROP_ANIMATING"===e.phase){const n=e.completed;return n.result.draggableId===t.draggableId?null:o(t.draggableId,n.result.draggableId,n.impact,n.afterCritical)}return null}}const makeMapStateToProps$1=()=>{const e=getDraggableSelector(),t=getSecondarySelector();return(n,r)=>e(n,r)||t(n,r)||atRest},mapDispatchToProps$1={dropAnimationFinished:dropAnimationFinished},ConnectedDraggable=reactRedux.connect(makeMapStateToProps$1,mapDispatchToProps$1,null,{context:StoreContext,areStatePropsEqual:isStrictEqual})(Draggable);function PrivateDraggable(e){return useRequiredContext(DroppableContext).isUsingCloneFor!==e.draggableId||e.isClone?React.createElement(ConnectedDraggable,e):null}function PublicDraggable(e){const t="boolean"!=typeof e.isDragDisabled||!e.isDragDisabled,n=Boolean(e.disableInteractiveElementBlocking),r=Boolean(e.shouldRespectForcePress);return React.createElement(PrivateDraggable,_extends({},e,{isClone:!1,isEnabled:t,canDragInteractiveElements:n,shouldRespectForcePress:r}))}const isEqual=e=>t=>e===t,isScroll=isEqual("scroll"),isAuto=isEqual("auto"),isVisible=isEqual("visible"),isEither=(e,t)=>t(e.overflowX)||t(e.overflowY),isBoth=(e,t)=>t(e.overflowX)&&t(e.overflowY),isElementScrollable=e=>{const t=window.getComputedStyle(e),n={overflowX:t.overflowX,overflowY:t.overflowY};return isEither(n,isScroll)||isEither(n,isAuto)},isBodyScrollable=()=>{if("production"===process.env.NODE_ENV)return!1;const e=getBodyElement(),t=document.documentElement;if(t||(process.env.NODE_ENV,invariant()),!isElementScrollable(e))return!1;const n=window.getComputedStyle(t),r={overflowX:n.overflowX,overflowY:n.overflowY};return isBoth(r,isVisible)||"production"!==process.env.NODE_ENV&&warning("\n    We have detected that your <body> element might be a scroll container.\n    We have found no reliable way of detecting whether the <body> element is a scroll container.\n    Under most circumstances a <body> scroll bar will be on the <html> element (document.documentElement)\n\n    Because we cannot determine if the <body> is a scroll container, and generally it is not one,\n    we will be treating the <body> as *not* a scroll container\n\n    More information: https://github.com/hello-pangea/dnd/blob/main/docs/guides/how-we-detect-scroll-containers.md\n  "),!1},getClosestScrollable=e=>null==e?null:e===document.body?isBodyScrollable()?e:null:e===document.documentElement?null:isElementScrollable(e)?e:getClosestScrollable(e.parentElement);var checkForNestedScrollContainers=e=>{if(!e)return;getClosestScrollable(e.parentElement)&&"production"!==process.env.NODE_ENV&&warning("\n    Droppable: unsupported nested scroll container detected.\n    A Droppable can only have one scroll parent (which can be itself)\n    Nested scroll containers are currently not supported.\n\n    We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\n  ")},getScroll=e=>({x:e.scrollLeft,y:e.scrollTop});const getIsFixed=e=>{if(!e)return!1;return"fixed"===window.getComputedStyle(e).position||getIsFixed(e.parentElement)};var getEnv=e=>({closestScrollable:getClosestScrollable(e),isFixedOnPage:getIsFixed(e)}),getDroppableDimension=({descriptor:e,isEnabled:t,isCombineEnabled:n,isFixedOnPage:r,direction:o,client:i,page:a,closest:s})=>{const l=(()=>{if(!s)return null;const{scrollSize:e,client:t}=s,n=getMaxScroll({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,height:t.paddingBox.height,width:t.paddingBox.width});return{pageMarginBox:s.page.marginBox,frameClient:t,scrollSize:e,shouldClipSubject:s.shouldClipSubject,scroll:{initial:s.scroll,current:s.scroll,max:n,diff:{value:origin,displacement:origin}}}})(),c="vertical"===o?vertical:horizontal;return{descriptor:e,isCombineEnabled:n,isFixedOnPage:r,axis:c,isEnabled:t,client:i,page:a,frame:l,subject:getSubject({page:a,withPlaceholder:null,axis:c,frame:l})}};const getClient=(e,t)=>{const n=cssBoxModel.getBox(e);if(!t)return n;if(e!==t)return n;const r=n.paddingBox.top-t.scrollTop,o=n.paddingBox.left-t.scrollLeft,i=r+t.scrollHeight,a={top:r,right:o+t.scrollWidth,bottom:i,left:o},s=cssBoxModel.expand(a,n.border);return cssBoxModel.createBox({borderBox:s,margin:n.margin,border:n.border,padding:n.padding})};var getDimension=({ref:e,descriptor:t,env:n,windowScroll:r,direction:o,isDropDisabled:i,isCombineEnabled:a,shouldClipSubject:s})=>{const l=n.closestScrollable,c=getClient(e,l),d=cssBoxModel.withScroll(c,r),p=(()=>{if(!l)return null;const e=cssBoxModel.getBox(l),t={scrollHeight:l.scrollHeight,scrollWidth:l.scrollWidth};return{client:e,page:cssBoxModel.withScroll(e,r),scroll:getScroll(l),scrollSize:t,shouldClipSubject:s}})();return getDroppableDimension({descriptor:t,isEnabled:!i,isCombineEnabled:a,isFixedOnPage:n.isFixedOnPage,direction:o,client:c,page:d,closest:p})};const immediate={passive:!1},delayed={passive:!0};var getListenerOptions=e=>e.shouldPublishImmediately?immediate:delayed;const getClosestScrollableFromDrag=e=>e&&e.env.closestScrollable||null;function useDroppablePublisher(e){const t=React.useRef(null),n=useRequiredContext(AppContext),r=useUniqueId("droppable"),{registry:o,marshal:i}=n,a=usePrevious(e),s=useMemo((()=>({id:e.droppableId,type:e.type,mode:e.mode})),[e.droppableId,e.mode,e.type]),l=React.useRef(s),c=useMemo((()=>memoizeOne(((e,n)=>{t.current||("production"!==process.env.NODE_ENV?invariant(!1,"Can only update scroll when dragging"):invariant());const r={x:e,y:n};i.updateDroppableScroll(s.id,r)}))),[s.id,i]),d=useCallback((()=>{const e=t.current;return e&&e.env.closestScrollable?getScroll(e.env.closestScrollable):origin}),[]),p=useCallback((()=>{const e=d();c(e.x,e.y)}),[d,c]),u=useMemo((()=>rafSchd(p)),[p]),g=useCallback((()=>{const e=t.current,n=getClosestScrollableFromDrag(e);e&&n||("production"!==process.env.NODE_ENV?invariant(!1,"Could not find scroll options while scrolling"):invariant());e.scrollOptions.shouldPublishImmediately?p():u()}),[u,p]),m=useCallback(((e,r)=>{t.current&&("production"!==process.env.NODE_ENV?invariant(!1,"Cannot collect a droppable while a drag is occurring"):invariant());const o=a.current,i=o.getDroppableRef();i||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot collect without a droppable ref"):invariant());const l=getEnv(i),c={ref:i,descriptor:s,env:l,scrollOptions:r};t.current=c;const d=getDimension({ref:i,descriptor:s,env:l,windowScroll:e,direction:o.direction,isDropDisabled:o.isDropDisabled,isCombineEnabled:o.isCombineEnabled,shouldClipSubject:!o.ignoreContainerClipping}),p=l.closestScrollable;return p&&(p.setAttribute(scrollContainer.contextId,n.contextId),p.addEventListener("scroll",g,getListenerOptions(c.scrollOptions)),"production"!==process.env.NODE_ENV&&checkForNestedScrollContainers(p)),d}),[n.contextId,s,g,a]),b=useCallback((()=>{const e=t.current,n=getClosestScrollableFromDrag(e);return e&&n||("production"!==process.env.NODE_ENV?invariant(!1,"Can only recollect Droppable client for Droppables that have a scroll container"):invariant()),getScroll(n)}),[]),f=useCallback((()=>{const e=t.current;e||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot stop drag when no active drag"):invariant());const n=getClosestScrollableFromDrag(e);t.current=null,n&&(u.cancel(),n.removeAttribute(scrollContainer.contextId),n.removeEventListener("scroll",g,getListenerOptions(e.scrollOptions)))}),[g,u]),v=useCallback((e=>{const n=t.current;n||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot scroll when there is no drag"):invariant());const r=getClosestScrollableFromDrag(n);r||("production"!==process.env.NODE_ENV?invariant(!1,"Cannot scroll a droppable with no closest scrollable"):invariant()),r.scrollTop+=e.y,r.scrollLeft+=e.x}),[]),h=useMemo((()=>({getDimensionAndWatchScroll:m,getScrollWhileDragging:b,dragStopped:f,scroll:v})),[f,m,b,v]),D=useMemo((()=>({uniqueId:r,descriptor:s,callbacks:h})),[h,s,r]);useIsomorphicLayoutEffect((()=>(l.current=D.descriptor,o.droppable.register(D),()=>{t.current&&("production"!==process.env.NODE_ENV&&warning("Unsupported: changing the droppableId or type of a Droppable during a drag"),f()),o.droppable.unregister(D)})),[h,s,f,D,i,o.droppable]),useIsomorphicLayoutEffect((()=>{t.current&&i.updateDroppableIsEnabled(l.current.id,!e.isDropDisabled)}),[e.isDropDisabled,i]),useIsomorphicLayoutEffect((()=>{t.current&&i.updateDroppableIsCombineEnabled(l.current.id,e.isCombineEnabled)}),[e.isCombineEnabled,i])}function noop(){}const empty={width:0,height:0,margin:noSpacing},getSize=({isAnimatingOpenOnMount:e,placeholder:t,animate:n})=>e||"close"===n?empty:{height:t.client.borderBox.height,width:t.client.borderBox.width,margin:t.client.margin},getStyle=({isAnimatingOpenOnMount:e,placeholder:t,animate:n})=>{const r=getSize({isAnimatingOpenOnMount:e,placeholder:t,animate:n});return{display:t.display,boxSizing:"border-box",width:r.width,height:r.height,marginTop:r.margin.top,marginRight:r.margin.right,marginBottom:r.margin.bottom,marginLeft:r.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:"none"!==n?transitions.placeholder:null}},Placeholder=e=>{const t=React.useRef(null),n=useCallback((()=>{t.current&&(clearTimeout(t.current),t.current=null)}),[]),{animate:r,onTransitionEnd:o,onClose:i,contextId:a}=e,[s,l]=React.useState("open"===e.animate);React.useEffect((()=>s?"open"!==r?(n(),l(!1),noop):t.current?noop:(t.current=setTimeout((()=>{t.current=null,l(!1)})),n):noop),[r,s,n]);const c=useCallback((e=>{"height"===e.propertyName&&(o(),"close"===r&&i())}),[r,i,o]),d=getStyle({isAnimatingOpenOnMount:s,animate:e.animate,placeholder:e.placeholder});return React.createElement(e.placeholder.tagName,{style:d,"data-rfd-placeholder-context-id":a,onTransitionEnd:c,ref:e.innerRef})};var Placeholder$1=React.memo(Placeholder);function isBoolean(e){return"boolean"==typeof e}function runChecks(e,t){t.forEach((t=>t(e)))}const shared=[function({props:e}){e.droppableId||("production"!==process.env.NODE_ENV?invariant(!1,"A Droppable requires a droppableId prop"):invariant()),"string"!=typeof e.droppableId&&("production"!==process.env.NODE_ENV?invariant(!1,`A Droppable requires a [string] droppableId. Provided: [${typeof e.droppableId}]`):invariant())},function({props:e}){isBoolean(e.isDropDisabled)||("production"!==process.env.NODE_ENV?invariant(!1,"isDropDisabled must be a boolean"):invariant()),isBoolean(e.isCombineEnabled)||("production"!==process.env.NODE_ENV?invariant(!1,"isCombineEnabled must be a boolean"):invariant()),isBoolean(e.ignoreContainerClipping)||("production"!==process.env.NODE_ENV?invariant(!1,"ignoreContainerClipping must be a boolean"):invariant())},function({getDroppableRef:e}){checkIsValidInnerRef(e())}],standard=[function({props:e,getPlaceholderRef:t}){if(!e.placeholder)return;t()||"production"!==process.env.NODE_ENV&&warning(`\n      Droppable setup issue [droppableId: "${e.droppableId}"]:\n      DroppableProvided > placeholder could not be found.\n\n      Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.\n      More information: https://github.com/hello-pangea/dnd/blob/main/docs/api/droppable.md\n    `)}],virtual=[function({props:e}){e.renderClone||("production"!==process.env.NODE_ENV?invariant(!1,"Must provide a clone render function (renderClone) for virtual lists"):invariant())},function({getPlaceholderRef:e}){e()&&("production"!==process.env.NODE_ENV?invariant(!1,"Expected virtual list to not have a placeholder"):invariant())}];function useValidation(e){useDevSetupWarning((()=>{runChecks(e,shared),"standard"===e.props.mode&&runChecks(e,standard),"virtual"===e.props.mode&&runChecks(e,virtual)}))}class AnimateInOut extends React.PureComponent{constructor(...e){super(...e),this.state={isVisible:Boolean(this.props.on),data:this.props.on,animate:this.props.shouldAnimate&&this.props.on?"open":"none"},this.onClose=()=>{"close"===this.state.animate&&this.setState({isVisible:!1})}}static getDerivedStateFromProps(e,t){return e.shouldAnimate?e.on?{isVisible:!0,data:e.on,animate:"open"}:t.isVisible?{isVisible:!0,data:t.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:Boolean(e.on),data:e.on,animate:"none"}}render(){if(!this.state.isVisible)return null;const e={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(e)}}const Droppable=e=>{const t=React.useContext(AppContext);t||("production"!==process.env.NODE_ENV?invariant(!1,"Could not find app context"):invariant());const{contextId:n,isMovementAllowed:r}=t,o=React.useRef(null),i=React.useRef(null),{children:a,droppableId:s,type:l,mode:c,direction:d,ignoreContainerClipping:p,isDropDisabled:u,isCombineEnabled:g,snapshot:m,useClone:b,updateViewportMaxScroll:f,getContainerForClone:v}=e,h=useCallback((()=>o.current),[]),D=useCallback(((e=null)=>{o.current=e}),[]),E=useCallback((()=>i.current),[]),y=useCallback(((e=null)=>{i.current=e}),[]);useValidation({props:e,getDroppableRef:h,getPlaceholderRef:E});const x=useCallback((()=>{r()&&f({maxScroll:getMaxWindowScroll()})}),[r,f]);useDroppablePublisher({droppableId:s,type:l,mode:c,direction:d,isDropDisabled:u,isCombineEnabled:g,ignoreContainerClipping:p,getDroppableRef:h});const I=useMemo((()=>React.createElement(AnimateInOut,{on:e.placeholder,shouldAnimate:e.shouldAnimatePlaceholder},(({onClose:e,data:t,animate:r})=>React.createElement(Placeholder$1,{placeholder:t,onClose:e,innerRef:y,animate:r,contextId:n,onTransitionEnd:x})))),[n,x,e.placeholder,e.shouldAnimatePlaceholder,y]),C=useMemo((()=>({innerRef:D,placeholder:I,droppableProps:{"data-rfd-droppable-id":s,"data-rfd-droppable-context-id":n}})),[n,s,I,D]),S=b?b.dragging.draggableId:null,N=useMemo((()=>({droppableId:s,type:l,isUsingCloneFor:S})),[s,S,l]);return React.createElement(DroppableContext.Provider,{value:N},a(C,m),function(){if(!b)return null;const{dragging:e,render:t}=b,n=React.createElement(PrivateDraggable,{draggableId:e.draggableId,index:e.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},((n,r)=>t(n,r,e)));return ReactDOM.createPortal(n,v())}())};function getBody(){return document.body||("production"!==process.env.NODE_ENV?invariant(!1,"document.body is not ready"):invariant()),document.body}const defaultProps={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:getBody},attachDefaultPropsToOwnProps=e=>{let t,n={...e};for(t in defaultProps)void 0===e[t]&&(n={...n,[t]:defaultProps[t]});return n},isMatchingType=(e,t)=>e===t.droppable.type,getDraggable=(e,t)=>t.draggables[e.draggable.id],makeMapStateToProps=()=>{const e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t={...e,shouldAnimatePlaceholder:!1},n=memoizeOne((e=>({draggableId:e.id,type:e.type,source:{index:e.index,droppableId:e.droppableId}}))),r=memoizeOne(((r,o,i,a,s,l)=>{const c=s.descriptor.id;if(s.descriptor.droppableId===r){const e=l?{render:l,dragging:n(s.descriptor)}:null,t={isDraggingOver:i,draggingOverWith:i?c:null,draggingFromThisWith:c,isUsingPlaceholder:!0};return{placeholder:s.placeholder,shouldAnimatePlaceholder:!1,snapshot:t,useClone:e}}if(!o)return t;if(!a)return e;const d={isDraggingOver:i,draggingOverWith:c,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:s.placeholder,shouldAnimatePlaceholder:!0,snapshot:d,useClone:null}}));return(n,o)=>{const i=attachDefaultPropsToOwnProps(o),a=i.droppableId,s=i.type,l=!i.isDropDisabled,c=i.renderClone;if(isDragging(n)){const e=n.critical;if(!isMatchingType(s,e))return t;const o=getDraggable(e,n.dimensions),i=whatIsDraggedOver(n.impact)===a;return r(a,l,i,i,o,c)}if("DROP_ANIMATING"===n.phase){const e=n.completed;if(!isMatchingType(s,e.critical))return t;const o=getDraggable(e.critical,n.dimensions);return r(a,l,whatIsDraggedOverFromResult(e.result)===a,whatIsDraggedOver(e.impact)===a,o,c)}if("IDLE"===n.phase&&n.completed&&!n.shouldFlush){const r=n.completed;if(!isMatchingType(s,r.critical))return t;const o=whatIsDraggedOver(r.impact)===a,i=Boolean(r.impact.at&&"COMBINE"===r.impact.at.type),l=r.critical.droppable.id===a;return o?i?e:t:l?e:t}return t}},mapDispatchToProps={updateViewportMaxScroll:updateViewportMaxScroll},ConnectedDroppable=reactRedux.connect(makeMapStateToProps,mapDispatchToProps,((e,t,n)=>({...attachDefaultPropsToOwnProps(n),...e,...t})),{context:StoreContext,areStatePropsEqual:isStrictEqual})(Droppable);exports.DragDropContext=DragDropContext,exports.Draggable=PublicDraggable,exports.Droppable=ConnectedDroppable,exports.useKeyboardSensor=useKeyboardSensor,exports.useMouseSensor=useMouseSensor,exports.useTouchSensor=useTouchSensor;
//# sourceMappingURL=/sm/308b31c45ea0bdd6d6b0a3a0b30e5134de8a73467e1a4af52d97ed88d792b3bf.map