180 lines
428 KiB
JavaScript
180 lines
428 KiB
JavaScript
|
|
var marketplace=(()=>{var k,E=Object.create,C=Object.defineProperty,O=Object.getOwnPropertyDescriptor,T=Object.getOwnPropertyNames,P=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty,e=(e,t)=>function(){return t||(0,e[T(e)[0]])((t={exports:{}}).exports,t),t.exports},R=(t,a,r,n)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let e of T(a))M.call(t,e)||e===r||C(t,e,{get:()=>a[e],enumerable:!(n=O(a,e))||n.enumerable});return t},t=(e,t,a)=>(a=null!=e?E(P(e)):{},R(!t&&e&&e.__esModule?a:C(a,"default",{value:e,enumerable:!0}),e)),a=e({"external-global-plugin:react"(e,t){t.exports=Spicetify.React}}),_=e({"node_modules/.pnpm/void-elements@3.1.0/node_modules/void-elements/index.js"(e,t){t.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}}}),B=e({"node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.2.3/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"(e){"use strict";function i(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!l(e,a)}catch(e){return 1}}var s,l,c,d,u,p,m,h,t;"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()),s=a(),l="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},c=s.useState,d=s.useEffect,u=s.useLayoutEffect,p=s.useDebugValue,h=m=!1,t="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){m||void 0===s.startTransition||(m=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var a,r=t(),n=(h||(a=t(),l(r,a))||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),h=!0),(a=c({inst:{value:r,getSnapshot:t}}))[0].inst),o=a[1];return u(function(){n.value=r,n.getSnapshot=t,i(n)&&o({inst:n})},[e,r,t]),d(function(){return i(n)&&o({inst:n}),e(function(){i(n)&&o({inst:n})})},[e]),p(r),r},e.useSyncExternalStore=void 0!==s.useSyncExternalStore?s.useSyncExternalStore:t,"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}}),r=e({"node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.2.3/node_modules/use-sync-external-store/shim/index.js"(e,t){"use strict";t.exports=B()}}),V=e({"node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.js"(e,t){"use strict";var a=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:a,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}}),j=e({"node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.js"(e,t){"use strict";var a="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};t.exports=a}}),X=e({"node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.js"(e,t){"use strict";var{MAX_SAFE_COMPONENT_LENGTH:a,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:n}=V(),o=j(),i=(e=t.exports={}).re=[],s=e.safeRe=[],l=e.src=[],c=e.safeSrc=[],d=e.t={},u=0,t="[a-zA-Z0-9-]",p=[["\\s",1],["\\d",n],[t,r]],n=(e,t,a)=>{var r=(e=>{for(var[t,a]of p)e=e.split(t+"*").join(`${t}{0,${a}}`).split(t+"+").join(`${t}{1,${a}}`);return e})(t),n=u++;o(e,n,t),d[e]=n,l[n]=t,c[n]=r,i[n]=new RegExp(t,a?"g":void 0),s[n]=new RegExp(r,a?"g":void 0)};n("NUMERICIDENTIFIER","0|[1-9]\\d*"),n("NUMERICIDENTIFIERLOOSE","\\d+"),n("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${t}*`),n("MAINVERSION",`(${l[d.NUMERICIDENTIFIER]})\\.(${l[d.NUMERICIDENTIFIER]})\\.(${l[d.NUMERICIDENTIFIER]})`),n("MAINVERSIONLOOSE",`(${l[d.NUMERI
|
|||
|
|
${t.code}
|
|||
|
|
`,"");t.innerHTML=e,t.classList.add("marketplaceSnippets"),document.body.appendChild(t)},yo=(e,t)=>{let a=[];return e&&0<e.length?a=e.map(e=>({name:e.name,url:Oo(e.url)})):a.push({name:t,url:"https://github.com/"+t}),a},So=e=>e?Object.keys(e).map(e=>({key:e,value:e})):[],wo=e=>[{key:"stars",value:e("grid.sort.stars")},{key:"newest",value:e("grid.sort.newest")},{key:"oldest",value:e("grid.sort.oldest")},{key:"lastUpdated",value:e("grid.sort.lastUpdated")},{key:"mostStale",value:e("grid.sort.mostStale")},{key:"a-z",value:e("grid.sort.aToZ")},{key:"z-a",value:e("grid.sort.zToA")}],ko=(...e)=>{console.debug("Resetting Marketplace");var t=[];if(0===e.length)for(const a in localStorage)a.startsWith("marketplace:")&&t.push(a);for(const r of e)switch(r){case"extensions":t.push(...N(x.installedExtensions,[])),t.push(x.installedExtensions);break;case"snippets":t.push(...N(x.installedSnippets,[])),t.push(x.installedSnippets);break;case"theme":t.push(...N(x.installedThemes,[])),t.push(x.installedThemes),t.push(x.themeInstalled);break;default:console.error("Unknown category: "+r)}for(const n of t)localStorage.removeItem(n),console.debug("Removed "+n);console.debug("Marketplace has been reset"),location.reload()},Eo=t=>{var a=document.querySelector("style.marketplaceCSS.marketplaceScheme");if(a&&a.remove(),t){a=document.createElement("style");a.classList.add("marketplaceCSS"),a.classList.add("marketplaceScheme");let e=":root {";for(const r of Object.keys(t))e=(e+=`--spice-${r}: #${t[r]};`)+`--spice-rgb-${r}: ${(e=>{e=3===e.length?e.split("").map(e=>e+e).join(""):e;if(6!==e.length)throw"Only 3- or 6-digit hex colours are allowed.";if(e.match(/[^0-9a-f]/i))throw"Only hex colours are allowed.";e=e.match(/.{1,2}/g);if(e&&3===e.length)return[Number.parseInt(e[0],16),Number.parseInt(e[1],16),Number.parseInt(e[2],16)];throw"Could not parse hex colour."})(t[r])};`;e+="}",a.innerHTML=e,document.body.appendChild(a)}},Co=e=>{try{var t,a,r=document.querySelector("link[href='user.css']"),n=(r&&r.remove(),document.querySelector("style.marketplaceCSS.marketplaceUserCSS"));n&&n.remove(),e?((t=document.createElement("style")).classList.add("marketplaceCSS"),t.classList.add("marketplaceUserCSS"),t.innerHTML=e,document.body.appendChild(t)):((a=document.createElement("link")).setAttribute("rel","stylesheet"),a.setAttribute("href","user.css"),a.classList.add("userCSS"),document.body.appendChild(a))}catch(e){console.warn(e)}},xo=async(e,t)=>{if(!e.cssURL)throw new Error("No CSS URL provided");var t=t||await async function(){for(const e of["net","xyz"])try{if("opaqueredirect"===(await fetch("https://cdn.jsdelivr."+e,{redirect:"manual",cache:"no-cache"})).type)return e}catch(e){console.error(e)}}(),t=(e=>{const t=new URL(e);return t.host,t.host==="raw.githubusercontent.com"})(e.cssURL)?`https://cdn.jsdelivr.${t}/gh/${e.user}/${e.repo}@${e.branch}/`+e.manifest.usercss:e.cssURL,a=t.replace("/user.css","/assets/");console.debug("Parsing CSS: ",t);let r=await fetch(t+"?time="+Date.now()).then(e=>e.text());for(const i of r.matchAll(/url\(['|"](?<path>.+?)['|"]\)/gm)||[]){var n,o=i?.groups?.path;!o||o.startsWith("http")||o.startsWith("data")||(n=a+o.replace(/\.\//g,""),r=r.replace(o,n))}return r};function Io(e,t){if(e)for(const n of e){var a=t||n.user+"-"+n.repo,r=window.sessionStorage.getItem(a),r=r?JSON.parse(r):[];r.push(n),window.sessionStorage.setItem(a,JSON.stringify(r))}}async function Ao(e,t,a){try{var r={text:e,context:t+"/"+a,mode:"gfm"},n=await fetch("https://api.github.com/markdown",{method:"POST",body:JSON.stringify(r)});if(n.ok)return await n.text();throw Spicetify.showNotification(y("notifications.markdownParsingError",{status:n.status}),!0)}catch{return null}}function No(e){var t="snippet"===e.type?"snippet:":`${e.item.user}/${e.item.repo}/`;let a;switch(e.type){case"snippet":a=e.item.title.replaceAll(" ","-");break;case"theme":a=e.item.manifest?.usercss||"";break;case"extension":a=e.item.manifest?.main||"";break;case"app":a=e.item.manifest?.name?.replaceAll(" ","-")||""}return"marketplace:installed:"+t+a}var Oo=e=>{var t=decodeURI(e).trim().toLow
|
|||
|
|
self.addEventListener('message', async (event) => {
|
|||
|
|
const url = event.data;
|
|||
|
|
const response = await fetch(url);
|
|||
|
|
const data = await response.json().catch(() => null);
|
|||
|
|
self.postMessage(data);
|
|||
|
|
});
|
|||
|
|
`],{type:"application/javascript"}),Ro=URL.createObjectURL(Kn);async function _o(e,t,a){var r=e+"-"+t,n=window.sessionStorage.getItem(r),o=JSON.parse(window.sessionStorage.getItem("noManifests")||"[]");if(n)return JSON.parse(n);n=`https://raw.githubusercontent.com/${e}/${t}/${a}/manifest.json`;if(o.includes(n))return null;let i=await async function(e){const r=new Worker(Ro);return new Promise(t=>{const a=e=>{r.terminate(),t(e)};r.postMessage(e),r.addEventListener("message",e=>a(e.data),{once:!0}),r.addEventListener("error",()=>a(null),{once:!0})})}(n);return i?(Io(i=Array.isArray(i)?i:[i],r),i):Io([n],"noManifests")}async function Bo(e,r,n,o=!1){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?<user>.+)\/(?<repo>.+)\/contents/);if(!t||!t.groups)return null;const{user:i,repo:s}=t.groups;return(await _o(i,s,r)).reduce((e,t)=>{var a;return t?.name&&t.description&&t.main&&(a=t.branch||r,a={manifest:t,title:t.name,subtitle:t.description,authors:yo(t.authors,i),user:i,repo:s,branch:a,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${i}/${s}/${a}/`+t.preview,extensionURL:t.main.startsWith("http")?t.main:`https://raw.githubusercontent.com/${i}/${s}/${a}/`+t.main,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${i}/${s}/${a}/`+t.readme,stars:n,tags:t.tags},o&&localStorage.getItem(`marketplace:installed:${i}/${s}/`+t.main)||e.push(a)),e},[])}catch{return null}}async function jo(e,r,n){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?<user>.+)\/(?<repo>.+)\/contents/);if(!t||!t.groups)return null;const{user:o,repo:i}=t.groups;return(await _o(o,i,r)).reduce((e,t)=>{var a;return t?.name&&t?.usercss&&t?.description&&(a=t.branch||r,a={manifest:t,title:t.name,subtitle:t.description,authors:yo(t.authors,o),user:o,repo:i,branch:a,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.preview,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.readme,stars:n,tags:t.tags,cssURL:t.usercss.startsWith("http")?t.usercss:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.usercss,schemesURL:t.schemes?t.schemes.startsWith("http")?t.schemes:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.schemes:null,include:t.include},e.push(a)),e},[])}catch{return null}}async function $o(e,r,n){try{var t=e.match(/https:\/\/api\.github\.com\/repos\/(?<user>.+)\/(?<repo>.+)\/contents/);if(!t||!t.groups)return null;const{user:o,repo:i}=t.groups;return(await _o(o,i,r)).reduce((e,t)=>{var a;return t?.name&&t.description&&!t.main&&!t.usercss&&(a=t.branch||r,a={manifest:t,title:t.name,subtitle:t.description,authors:yo(t.authors,o),user:o,repo:i,branch:a,imageURL:t.preview?.startsWith("http")?t.preview:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.preview,readmeURL:t.readme?.startsWith("http")?t.readme:`https://raw.githubusercontent.com/${o}/${i}/${a}/`+t.readme,stars:n,tags:t.tags},e.push(a)),e},[])}catch{return null}}var zo=async()=>{return(await fetch("https://raw.githubusercontent.com/spicetify/marketplace/main/resources/blacklist.json").then(e=>e.json()).catch(()=>({}))).repos},Uo=async(a=!1)=>{var e=await fetch("https://raw.githubusercontent.com/spicetify/marketplace/main/resources/snippets.json").then(e=>e.json()).catch(()=>[]);return e.length?e.reduce((e,t)=>{t={...t};return t.preview&&(t.imageURL=t.preview.startsWith("http")?t.preview:"https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/"+t.preview,t.preview=void 0),a&&localStorage.getItem("marketplace:installed:snippet:"+t.title.replaceAll(" ","-"))||e.push(t),e},[]):[]},Fo=t(a()),Go=t(U()),Vo=t(a()),Ho=t(F()),qo=(Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:
|
|||
|
|
The error may be correlated with this previous error:
|
|||
|
|
${d.current.stack}
|
|||
|
|
|
|||
|
|
`),e}os(()=>{d.current=void 0,S.current=void 0,v.current=C});const x=D.useMemo(()=>D.createElement(I,{...C,ref:e}),[e,I,C]);return D.useMemo(()=>T?D.createElement(n.Provider,{value:c},x):x,[n,x,c])}const a=D.memo(t);return a.WrappedComponent=I,a.displayName=t.displayName=A,l?((e=D.forwardRef(function(e,t){return D.createElement(a,{...e,reactReduxForwardedRef:t})})).displayName=A,e.WrappedComponent=I,ys(e,I)):ys(a,I)}};var As=function(r){const{children:e,context:t,serverState:n,store:o}=r,a=D.useMemo(()=>{var e=as(o),e={store:o,subscription:e,getServerState:n?()=>n:void 0},{identityFunctionCheck:t="once",stabilityCheck:a="once"}=r;return Object.assign(e,{stabilityCheck:a,identityFunctionCheck:t})},[o,n]),i=D.useMemo(()=>o.getState(),[o]);return os(()=>{const e=a["subscription"];return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),i!==o.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}},[a,i]),D.createElement((t||Es).Provider,{value:a},e)},Ns="Invariant failed";function Os(e,t){if(!e)throw t=(e="function"==typeof t?t():t)?"".concat(Ns,": ").concat(e):Ns,new Error(t)}function Ts(e,t){return{top:e.top-t.top,left:e.left-t.left,bottom:e.bottom+t.bottom,right:e.right+t.right}}function Ls(e,t){return{top:e.top+t.top,left:e.left+t.left,bottom:e.bottom-t.bottom,right:e.right-t.right}}function Ds(e,t){return void 0===t&&(t=$s()),zs(e,t)}function Ps(e,t){var a={top:js(t.marginTop),right:js(t.marginRight),bottom:js(t.marginBottom),left:js(t.marginLeft)},r={top:js(t.paddingTop),right:js(t.paddingRight),bottom:js(t.paddingBottom),left:js(t.paddingLeft)},t={top:js(t.borderTopWidth),right:js(t.borderRightWidth),bottom:js(t.borderBottomWidth),left:js(t.borderLeftWidth)};return Bs({borderBox:e,margin:a,padding:r,border:t})}function Ms(e){var t=e.getBoundingClientRect(),e=window.getComputedStyle(e);return Ps(t,e)}var Rs=function(e){var t=e.top,a=e.right,r=e.bottom,e=e.left;return{top:t,right:a,bottom:r,left:e,width:a-e,height:r-t,x:e,y:t,center:{x:(a+e)/2,y:(r+t)/2}}},_s={top:0,right:0,bottom:0,left:0},Bs=function(e){var t=e.borderBox,a=e.margin,a=void 0===a?_s:a,r=e.border,r=void 0===r?_s:r,e=e.padding,e=void 0===e?_s:e,n=Rs(Ts(t,a)),o=Rs(Ls(t,r)),i=Rs(Ls(o,e));return{marginBox:n,borderBox:Rs(t),paddingBox:o,contentBox:i,margin:a,border:r,padding:e}},js=function(e){var t,a=e.slice(0,-2);return"px"!==e.slice(-2)?0:(t=Number(a),isNaN(t)&&Os(!1,"Could not parse value [raw: "+e+", without suffix: "+a+"]"),t)},$s=function(){return{x:window.pageXOffset,y:window.pageYOffset}},zs=function(e,t){var a=e.borderBox,r=e.border,n=e.margin,e=e.padding,a={top:a.top+t.y,left:a.left+t.x,bottom:a.bottom+t.y,right:a.right+t.x};return Bs({borderBox:a,border:r,margin:n,padding:e})},Us=function(r){function e(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];n=t,o=o||requestAnimationFrame(function(){o=null,r.apply(void 0,n)})}var n,o=null;return e.cancel=function(){o&&(cancelAnimationFrame(o),o=null)},e};function Fs(){return(Fs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a,r=arguments[t];for(a in r)!{}.hasOwnProperty.call(r,a)||(e[a]=r[a])}return e}).apply(null,arguments)}var Gs=/[ \t]{2,}/g,Vs=/^[ \t]*/gm,Hs=e=>e.replace(Gs," ").replace(Vs,"").trim(),qs=e=>Hs(`
|
|||
|
|
%c@hello-pangea/dnd
|
|||
|
|
|
|||
|
|
%c${Hs(e)}
|
|||
|
|
|
|||
|
|
%c👷 This is a development only message. It will be removed in production builds.
|
|||
|
|
`);function Ws(e,t){"undefined"!=typeof window&&window["__@hello-pangea/dnd-disable-dev-warnings"]||console[e](...[qs(t),"color: #00C584; font-size: 1.2em; font-weight: bold;","line-height: 1.5","color: #723874;"])}var q=Ws.bind(null,"warn"),Ks=Ws.bind(null,"error");function Js(){}function Ys(r,e,n){const t=e.map(e=>{a=e.options;const t={...n,...a};var a;return r.addEventListener(e.eventName,e.fn,t),function(){r.removeEventListener(e.eventName,e.fn,t)}});return function(){t.forEach(e=>{e()})}}var Zs=!1,Xs="Invariant failed",Qs=class extends Error{};function W(e,t){throw new Qs(Zs?Xs:Xs+": "+(t||""))}Qs.prototype.toString=function(){return this.message};var el=class extends H.default.Component{constructor(...e){super(...e),this.callbacks=null,this.unbind=Js,this.onWindowError=e=>{var t=this.getCallbacks(),t=(t.isDragging()&&(t.tryAbort(),q(`
|
|||
|
|
An error was caught by our window 'error' event listener while a drag was occurring.
|
|||
|
|
The active drag has been aborted.
|
|||
|
|
`)),e.error);t instanceof Qs&&(e.preventDefault(),Ks(t.message))},this.getCallbacks=()=>{if(this.callbacks)return this.callbacks;throw new Error("Unable to find AppCallbacks in <ErrorBoundary/>")},this.setCallbacks=e=>{this.callbacks=e}}componentDidMount(){this.unbind=Ys(window,[{eventName:"error",fn:this.onWindowError}])}componentDidCatch(e){if(!(e instanceof Qs))throw e;Ks(e.message),this.setState({})}componentWillUnmount(){this.unbind()}render(){return this.props.children(this.setCallbacks)}},tl=e=>e+1,al=(e,t)=>{var a=e.droppableId===t.droppableId,r=tl(e.index),n=tl(t.index);return a?`
|
|||
|
|
You have moved the item from position ${r}
|
|||
|
|
to position ${n}
|
|||
|
|
`:`
|
|||
|
|
You have moved the item from position ${r}
|
|||
|
|
in list ${e.droppableId}
|
|||
|
|
to list ${t.droppableId}
|
|||
|
|
in position ${n}
|
|||
|
|
`},rl=(e,t,a)=>{return t.droppableId===a.droppableId?`
|
|||
|
|
The item ${e}
|
|||
|
|
has been combined with `+a.draggableId:`
|
|||
|
|
The item ${e}
|
|||
|
|
in list ${t.droppableId}
|
|||
|
|
has been combined with ${a.draggableId}
|
|||
|
|
in list ${a.droppableId}
|
|||
|
|
`},nl=e=>`
|
|||
|
|
The item has returned to its starting position
|
|||
|
|
of ${tl(e.index)}
|
|||
|
|
`,ol={dragHandleUsageInstructions:`
|
|||
|
|
Press space bar to start a drag.
|
|||
|
|
When dragging you can use the arrow keys to move the item around and escape to cancel.
|
|||
|
|
Some screen readers may require you to be in focus mode or to use your pass through key
|
|||
|
|
`,onDragStart:e=>`
|
|||
|
|
You have lifted an item in position ${tl(e.source.index)}
|
|||
|
|
`,onDragUpdate:e=>{var t=e.destination;return t?al(e.source,t):(t=e.combine)?rl(e.draggableId,e.source,t):"You are over an area that cannot be dropped on"},onDragEnd:e=>{var t,a;return"CANCEL"===e.reason?`
|
|||
|
|
Movement cancelled.
|
|||
|
|
${nl(e.source)}
|
|||
|
|
`:(t=e.destination,a=e.combine,t?`
|
|||
|
|
You have dropped the item.
|
|||
|
|
${al(e.source,t)}
|
|||
|
|
`:a?`
|
|||
|
|
You have dropped the item.
|
|||
|
|
${rl(e.draggableId,e.source,a)}
|
|||
|
|
`:`
|
|||
|
|
The item has been dropped while not over a drop area.
|
|||
|
|
${nl(e.source)}
|
|||
|
|
`)}};function il(t,a){if(t.length!==a.length)return!1;for(let e=0;e<t.length;e++)if(r=t[e],n=a[e],r!==n&&(!Number.isNaN(r)||!Number.isNaN(n)))return!1;var r,n;return!0}function K(e,t){var a=(0,H.useState)(()=>({inputs:t,result:e()}))[0];const r=(0,H.useRef)(!0),n=(0,H.useRef)(a),o=r.current||Boolean(t&&n.current.inputs&&il(t,n.current.inputs))?n.current:{inputs:t,result:e()};return(0,H.useEffect)(()=>{r.current=!1,n.current=o},[o]),o.result}function J(e,t){return K(()=>e,t)}var Y={x:0,y:0},p=(e,t)=>({x:e.x+t.x,y:e.y+t.y}),sl=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),ll=(e,t)=>e.x===t.x&&e.y===t.y,cl=e=>({x:0!==e.x?-e.x:0,y:0!==e.y?-e.y:0}),dl=(e,t,a=0)=>"x"===e?{x:t,y:a}:{x:a,y:t},ul=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),pl=(t,e)=>Math.min(...e.map(e=>ul(t,e))),Vn=t=>e=>({x:t(e.x),y:t(e.y)}),ml=(e,t)=>({top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}),hl=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}],gl=(e,t)=>{var a;return t&&t.shouldClipSubject?(t=t.pageMarginBox,a=e,(a=Rs({top:Math.max(a.top,t.top),right:Math.min(a.right,t.right),bottom:Math.min(a.bottom,t.bottom),left:Math.max(a.left,t.left)})).width<=0||a.height<=0?null:a):Rs(e)},fl=({page:e,withPlaceholder:t,axis:a,frame:r})=>{n=e.marginBox;var n,o=(o=r)?ml(n,o.scroll.diff.displacement):n,a=(n=o,o=a,(a=t)&&a.increasedBy?{...n,[o.end]:n[o.end]+a.increasedBy[o.line]}:n);return{page:e,withPlaceholder:t,active:gl(a,r)}},bl=(e,t)=>{e.frame||W();var a=e.frame,r=sl(t,a.scroll.initial),n=cl(r),t={...a,scroll:{initial:a.scroll.initial,current:t,diff:{value:r,displacement:n},max:a.scroll.max}},r=fl({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:t});return{...e,frame:t,subject:r}};function Z(a,r=il){let n=null;function e(...e){var t;return n&&n.lastThis===this&&r(e,n.lastArgs)?n.lastResult:(t=a.apply(this,e),n={lastResult:t,lastArgs:e,lastThis:this},t)}return e.clear=function(){n=null},e}var vl=Z(e=>e.reduce((e,t)=>(e[t.descriptor.id]=t,e),{})),yl=Z(e=>e.reduce((e,t)=>(e[t.descriptor.id]=t,e),{})),Sl=Z(e=>Object.values(e)),wl=Z(e=>Object.values(e)),kl=Z((t,e)=>{return wl(e).filter(e=>t===e.descriptor.droppableId).sort((e,t)=>e.descriptor.index-t.descriptor.index)});function El(e){return e.at&&"REORDER"===e.at.type?e.at.destination:null}function Cl(e){return e.at&&"COMBINE"===e.at.type?e.at.combine:null}var xl=Z((t,e)=>e.filter(e=>e.descriptor.id!==t.descriptor.id)),Il=(e,t)=>e.descriptor.droppableId===t.descriptor.id,Al={point:Y,value:0},Nl={invisible:{},visible:{},all:[]},Ol={displaced:Nl,displacedBy:Al,at:null},Tl=(t,a)=>e=>t<=e&&e<=a,Ll=n=>{const o=Tl(n.top,n.bottom),i=Tl(n.left,n.right);return e=>{var t,a,r;return!!(o(e.top)&&o(e.bottom)&&i(e.left)&&i(e.right))||(t=o(e.top)||o(e.bottom),a=i(e.left)||i(e.right),!(!t||!a))||(r=e.top<n.top&&e.bottom>n.bottom,e=e.left<n.left&&e.right>n.right,r&&e)||r&&a||e&&t}},Dl=e=>{const t=Tl(e.top,e.bottom),a=Tl(e.left,e.right);return e=>{return t(e.top)&&t(e.bottom)&&a(e.left)&&a(e.right)}},Pl={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},Ml={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"},Rl=({target:e,destination:t,viewport:a,withDroppableDisplacement:r,isVisibleThroughFrameFn:n})=>{var o,r=r?((e,t)=>{t=t.frame?t.frame.scroll.diff.displacement:Y;return ml(e,t)})(e,t):e;return e=r,o=n,!!(t=t).subject.active&&o(t.subject.active)(e)&&(o=r,n(a)(o))},_l=e=>Rl({...e,isVisibleThroughFrameFn:Dl}),Bl=e=>{return Rl({...e,isVisibleThroughFrameFn:(r=e.destination.axis,e=>{const t=Tl(e.top,e.bottom),a=Tl(e.left,e.right);return e=>r===Pl?t(e.top)&&t(e.bottom):a(e.left)&&a(e.right)})});var r};function jl({afterDragging:e,destination:i,displacedBy:s,viewport:l,forceShouldAnimate:c,last:d}){return e.reduce(function(e,t){o=s,n=(n=t).page.marginBox,o={top:s.point.y,right:0,bottom:0,left:s.point.x};var a,r,n=Rs(Ts(n,o)),o=t.descriptor.id,n=(e.all.push
|
|||
|
|
but it is already `+String(c.isEnabled)),{...c,isEnabled:d});return Ac(e,s,!0)}if("UPDATE_DROPPABLE_IS_COMBINE_ENABLED"===t.type){if("DROP_PENDING"===e.phase)return e;pc(e)||W(0,"Attempting to move in an unsupported phase "+e.phase);var{id:l,isCombineEnabled:c}=t.payload,d=e.dimensions.droppables[l],s=(d||W(0,`Cannot find Droppable[id: ${l}] to toggle its isCombineEnabled state`),d.isCombineEnabled===c&&W(0,`Trying to set droppable isCombineEnabled to ${String(c)}
|
|||
|
|
but it is already `+String(d.isCombineEnabled)),{...d,isCombineEnabled:c});return Ac(e,s,!0)}if("MOVE_BY_WINDOW_SCROLL"===t.type){if("DROP_PENDING"===e.phase||"DROP_ANIMATING"===e.phase)return e;pc(e)||W(0,"Cannot move by window in phase "+e.phase),e.isWindowScrollAllowed||W(0,"Window scrolling is currently not supported for fixed lists");l=t.payload.newScroll;return ll(e.viewport.scroll.current,l)?Nc(e):(d=Zl(e.viewport,l),(Ic(e)?Ec:Sc)({state:e,viewport:d}))}if("UPDATE_VIEWPORT_MAX_SCROLL"===t.type)return!pc(e)||(c=t.payload.maxScroll,ll(c,e.viewport.scroll.max))?e:(s={...e.viewport,scroll:{...e.viewport.scroll,max:c}},{...e,viewport:s});if("MOVE_UP"!==t.type&&"MOVE_DOWN"!==t.type&&"MOVE_LEFT"!==t.type&&"MOVE_RIGHT"!==t.type)return"DROP_PENDING"===t.type?(l=t.payload.reason,"COLLECTING"!==e.phase&&W(0,"Can only move into the DROP_PENDING phase from the COLLECTING phase"),{...e,phase:"DROP_PENDING",isWaiting:!0,reason:l}):"DROP_ANIMATE"===t.type?({completed:d,dropDuration:c,newHomeClientOffset:s}=t.payload,"DRAGGING"!==e.phase&&"DROP_PENDING"!==e.phase&&W(0,"Cannot animate drop from phase "+e.phase),{phase:"DROP_ANIMATING",completed:d,dropDuration:c,newHomeClientOffset:s,dimensions:e.dimensions}):"DROP_COMPLETE"===t.type?(l=t.payload["completed"],{phase:"IDLE",completed:l,shouldFlush:!1}):e;if("COLLECTING"===e.phase||"DROP_PENDING"===e.phase)return e;"DRAGGING"!==e.phase&&W(0,t.type+" received while not in DRAGGING phase");d=uc({state:e,type:t.type});return d?Sc({state:e,impact:d.impact,clientSelection:d.clientSelection,scrollJumpRequest:d.scrollJumpRequest}):e};function g(e,t){return e instanceof Object&&"type"in e&&e.type===t}var Lc=e=>({type:"PUBLISH_WHILE_DRAGGING",payload:e}),Dc=()=>({type:"COLLECTION_STARTING",payload:null}),Pc=e=>({type:"UPDATE_DROPPABLE_SCROLL",payload:e}),Mc=e=>({type:"UPDATE_DROPPABLE_IS_ENABLED",payload:e}),Rc=e=>({type:"UPDATE_DROPPABLE_IS_COMBINE_ENABLED",payload:e}),_c=e=>({type:"MOVE",payload:e}),Bc=()=>({type:"MOVE_UP",payload:null}),jc=()=>({type:"MOVE_DOWN",payload:null}),$c=()=>({type:"MOVE_RIGHT",payload:null}),zc=()=>({type:"MOVE_LEFT",payload:null}),Uc=()=>({type:"FLUSH",payload:null}),Fc=e=>({type:"DROP_COMPLETE",payload:e}),Gc=e=>({type:"DROP",payload:e}),Vc=()=>({type:"DROP_ANIMATION_FINISHED",payload:null});function Hc(e,t){e=kl(e.droppable.id,t.draggables);if(!(e.length<=1)){var a=e.map(e=>e.descriptor.index);const n={};for(let e=1;e<a.length;e++){var r=a[e];r!==a[e-1]+1&&(n[r]=!0)}Object.keys(n).length&&(e=a.map(e=>{return Boolean(n[e])?`[🔥${e}]`:""+e}).join(", "),q(`
|
|||
|
|
Detected non-consecutive <Draggable /> indexes.
|
|||
|
|
|
|||
|
|
(This can cause unexpected bugs)
|
|||
|
|
|
|||
|
|
${e}
|
|||
|
|
`))}}var qc=c=>({getState:s,dispatch:l})=>i=>e=>{var t,a,r,n,o;g(e,"LIFT")?({id:n,clientSelection:t,movementMode:a}=e.payload,"DROP_ANIMATING"===(r=s()).phase&&l(Fc({completed:r.completed})),"IDLE"!==s().phase&&W(0,"Unexpected phase to start a drag"),l(Uc()),l({type:"BEFORE_INITIAL_CAPTURE",payload:{draggableId:n,movementMode:a}}),{critical:r,dimensions:n,viewport:o}=c.startPublishing({draggableId:n,scrollOptions:{shouldPublishImmediately:"SNAP"===a}}),Hc(r,n),l({type:"INITIAL_PUBLISH",payload:{critical:r,dimensions:n,clientSelection:t,movementMode:a,viewport:o}})):i(e)},Wc=a=>()=>t=>e=>{g(e,"INITIAL_PUBLISH")&&a.dragging(),g(e,"DROP_ANIMATE")&&a.dropping(e.payload.completed.result.reason),(g(e,"FLUSH")||g(e,"DROP_COMPLETE"))&&a.resting(),t(e)},Kc={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"},Jc={opacity:{drop:0,combining:.7},scale:{drop:.75}},Jn={outOfTheWay:.2,minDropTime:.33,maxDropTime:.55},Wn=Jn.outOfTheWay+"s "+Kc.outOfTheWay,Yc={fluid:"opacity "+Wn,snap:`transform ${Wn}, opacity `+Wn,drop:e=>{e=e+"s "+Kc.drop;return`transform ${e}, opacity `+e},outOfTheWay:"transform "+Wn,placeholder:`height ${Wn}, width ${Wn}, margin `+Wn},Zc=e=>ll(e,Y)?void 0:`translate(${e.x}px, ${e.y}px)`,Xc={moveTo:Zc,drop:(e,t)=>{e=Zc(e);if(e)return t?`${e} scale(${Jc.scale.drop})`:e}},{minDropTime:Qc,maxDropTime:ed}=Jn,td=ed-Qc,ad=({getState:m,dispatch:h})=>p=>e=>{var t,a,r,n,o,i,s,l,c,d,u;g(e,"DROP")?(t=m(),a=e.payload.reason,"COLLECTING"===t.phase?h({type:"DROP_PENDING",payload:{reason:a}}):"IDLE"!==t.phase&&("DROP_PENDING"===t.phase&&t.isWaiting&&W(0,"A DROP action occurred while DROP_PENDING and still waiting"),"DRAGGING"!==t.phase&&"DROP_PENDING"!==t.phase&&W(0,"Cannot drop in phase: "+t.phase),d=t.critical,n=(r=t.dimensions).draggables[t.critical.draggable.id],{impact:o,didDropInsideDroppable:c}=({draggables:i,reason:o,lastImpact:c,home:u,viewport:l,onLiftImpact:s}=[{reason:a,lastImpact:t.impact,afterCritical:t.afterCritical,onLiftImpact:t.onLiftImpact,home:t.dimensions.droppables[t.critical.droppable.id],viewport:t.viewport,draggables:t.dimensions.draggables}][0],c.at&&"DROP"===o?"REORDER"===c.at.type?{impact:c,didDropInsideDroppable:!0}:{impact:{...c,displaced:Nl},didDropInsideDroppable:!0}:{impact:wc({draggables:i,impact:s,destination:u,viewport:l,forceShouldAnimate:!0}),didDropInsideDroppable:!1}),i=c?El(o):null,s=c?Cl(o):null,u={index:d.draggable.index,droppableId:d.droppable.id},l={draggableId:n.descriptor.id,type:n.descriptor.type,source:u,reason:a,mode:t.movementMode,destination:i,combine:s},c=(({impact:e,draggable:t,dimensions:a,viewport:r,afterCritical:n})=>{var{draggables:a,droppables:o}=a,i=dc(e),i=i?o[i]:null,o=o[t.descriptor.droppableId],e=kc({impact:e,draggable:t,draggables:a,afterCritical:n,droppable:i||o,viewport:r});return sl(e,t.client.borderBox.center)})({impact:o,draggable:n,dimensions:r,viewport:t.viewport,afterCritical:t.afterCritical}),d={critical:t.critical,afterCritical:t.afterCritical,result:l,impact:o},!ll(t.current.client.offset,c)||Boolean(l.combine)?(u=(({current:e,destination:t,reason:a})=>{e=ul(e,t);return e<=0?Qc:1500<=e?ed:(t=Qc+td*(e/1500),Number(("CANCEL"===a?.6*t:t).toFixed(2)))})({current:t.current.client.offset,destination:c,reason:a}),h({type:"DROP_ANIMATE",payload:{newHomeClientOffset:c,dropDuration:u,completed:d}})):h(Fc({completed:d})))):p(e)},rd=()=>({x:window.pageXOffset,y:window.pageYOffset});function nd({onWindowScroll:e}){const t=Us(function(){e(rd())}),a=(r=t,{eventName:"scroll",options:{passive:!0,capture:!1},fn:e=>{e.target!==window&&e.target!==window.document||r()}});var r;let n=Js;function o(){return n!==Js}return{start:function(){o()&&W(0,"Cannot start scroll listener when already active"),n=Ys(window,[a])},stop:function(){o()||W(0,"Cannot stop scroll listener when not active"),t.cancel(),n(),n=Js},isActive:o}}var od=t=>{const r=nd({onWindowScroll:e=>{t.dispatch({type:"MOVE_BY_WINDOW_SCROLL",payload:{newScroll:e}})}});return a=>e=>{var t;!r.isActive()&&g(e,"INITIAL_PUBLISH")&&r.start(),r.isActive()&&(g(t=e,"DROP_COMPLETE")||g(t,"DROP_ANIMATE")||g(t,"
|
|||
|
|
Announcements cannot be made asynchronously.
|
|||
|
|
Default message has already been announced.
|
|||
|
|
`):(a=!0,t(e),clearTimeout(n))};return e.wasCalled=()=>a,e})(a)}),e.wasCalled())||a(r(t))}var dd=(c,d)=>{const u=id();let p=null;const t=e=>{p||W(0,"Cannot fire onDragEnd when there is no matching onDragStart"),p=null,sd(0,()=>cd(c().onDragEnd,e,d,ol.onDragEnd))};return{beforeCapture:(t,a)=>{p&&W(0,"Cannot fire onBeforeCapture as a drag start has already been published"),sd(0,()=>{var e=c().onBeforeCapture;e&&e({draggableId:t,mode:a})})},beforeStart:(t,a)=>{p&&W(0,"Cannot fire onBeforeDragStart as a drag start has already been published"),sd(0,()=>{var e=c().onBeforeDragStart;e&&e(ld(t,a))})},start:(e,t)=>{p&&W(0,"Cannot fire onBeforeDragStart as a drag start has already been published");const a=ld(e,t);p={mode:t,lastCritical:e,lastLocation:a.source,lastCombine:null},u.add(()=>{sd(0,()=>cd(c().onDragStart,a,d,ol.onDragStart))})},update:(e,t)=>{var a,r,n=El(t),t=Cl(t),o=(p||W(0,"Cannot fire onDragMove when onDragStart has not been called"),i=e,o=p.lastCritical,!(i===o||(a=i.draggable.id===o.draggable.id&&i.draggable.droppableId===o.draggable.droppableId&&i.draggable.type===o.draggable.type&&i.draggable.index===o.draggable.index,i=i.droppable.id===o.droppable.id&&i.droppable.type===o.droppable.type,a&&i))),i=(o&&(p.lastCritical=e),a=p.lastLocation,i=n,!(null==a&&null==i||null!=a&&null!=i&&a.droppableId===i.droppableId&&a.index===i.index)),s=(i&&(p.lastLocation=n),s=p.lastCombine,r=t,!(null==s&&null==r||null!=s&&null!=r&&s.draggableId===r.draggableId&&s.droppableId===r.droppableId));if(s&&(p.lastCombine=t),o||i||s){const l={...ld(e,p.mode),combine:t,destination:n};u.add(()=>{sd(0,()=>cd(c().onDragUpdate,l,d,ol.onDragUpdate))})}},flush:()=>{p||W(0,"Can only flush responders while dragging"),u.flush()},drop:t,abort:()=>{var e;p&&(e={...ld(p.lastCritical,p.mode),combine:null,destination:null,reason:"CANCEL"},t(e))}}},ud=(e,t)=>{const n=dd(e,t);return r=>a=>e=>{var t;g(e,"BEFORE_INITIAL_CAPTURE")?n.beforeCapture(e.payload.draggableId,e.payload.movementMode):g(e,"INITIAL_PUBLISH")?(t=e.payload.critical,n.beforeStart(t,e.payload.movementMode),a(e),n.start(t,e.payload.movementMode)):g(e,"DROP_COMPLETE")?(t=e.payload.completed.result,n.flush(),a(e),n.drop(t)):(a(e),g(e,"FLUSH")?n.abort():"DRAGGING"===(t=r.getState()).phase&&n.update(t.critical,t.impact))}},pd=r=>a=>e=>{var t;g(e,"DROP_ANIMATION_FINISHED")?("DROP_ANIMATING"!==(t=r.getState()).phase&&W(0,"Cannot finish a drop animating when no drop is occurring"),r.dispatch(Fc({completed:t.completed}))):a(e)},md=r=>{let n=null,o=null;return a=>e=>{if((g(e,"FLUSH")||g(e,"DROP_COMPLETE")||g(e,"DROP_ANIMATION_FINISHED"))&&(o&&(cancelAnimationFrame(o),o=null),n)&&(n(),n=null),a(e),g(e,"DROP_ANIMATE")){const t={eventName:"scroll",options:{capture:!0,passive:!1,once:!0},fn:function(){"DROP_ANIMATING"===r.getState().phase&&r.dispatch(Vc())}};o=requestAnimationFrame(()=>{o=null,n=Ys(window,[t])})}}},hd=a=>()=>t=>e=>{(g(e,"DROP_COMPLETE")||g(e,"FLUSH")||g(e,"DROP_ANIMATE"))&&a.stopPublishing(),t(e)},gd=a=>{let r=!1;return()=>t=>e=>{g(e,"INITIAL_PUBLISH")?(r=!0,a.tryRecordFocus(e.payload.critical.draggable.id),t(e),a.tryRestoreFocusRecorded()):(t(e),r&&(g(e,"FLUSH")?(r=!1,a.tryRestoreFocusRecorded()):g(e,"DROP_COMPLETE")&&(r=!1,(e=e.payload.completed.result).combine&&a.tryShiftRecord(e.draggableId,e.combine.draggableId),a.tryRestoreFocusRecorded())))}},fd=n=>r=>a=>e=>{var t;g(t=e,"DROP_COMPLETE")||g(t,"DROP_ANIMATE")||g(t,"FLUSH")?(n.stop(),a(e)):g(e,"INITIAL_PUBLISH")?(a(e),"DRAGGING"!==(t=r.getState()).phase&&W(0,"Expected phase to be DRAGGING after INITIAL_PUBLISH"),n.start(t)):(a(e),n.scroll(r.getState()))},bd=a=>t=>e=>{t(e),!g(e,"PUBLISH_WHILE_DRAGGING")||"DROP_PENDING"!==(e=a.getState()).phase||e.isWaiting||a.dispatch(Gc({reason:e.reason}))},vd="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({name:"@hello-pangea/dnd"}):Ci,yd=({dimensionMarshal:e,focusMarshal:t,styleMarshal:a,getResponders:r,announce:n,autoScroller:o})=>{return wi(Tc,vd((i=[Wc(a),hd(e),qc(e),ad,pd,md,bd,fd(o),od,gd(t),ud(r,n)],n=>(e,t)=>{e=n(e,t);l
|
|||
|
|
You are attempting to add or remove a Draggable [id: ${a.descriptor.id}]
|
|||
|
|
while a drag is occurring. This is only supported for virtual lists.
|
|||
|
|
|
|||
|
|
See https://github.com/hello-pangea/dnd/blob/main/docs/patterns/virtual-lists.md
|
|||
|
|
`)}}var Id=(r,a)=>{let n=null;const o=function({registry:r,callbacks:n}){let o=Sd(),i=null;const a=()=>{i||(n.collectionStarting(),i=requestAnimationFrame(()=>{i=null;var{additions:e,removals:t,modified:a}=o,e=Object.keys(e).map(e=>r.draggable.getById(e).getDimension(Y)).sort((e,t)=>e.descriptor.index-t.descriptor.index),a=Object.keys(a).map(e=>{return{droppableId:e,scroll:r.droppable.getById(e).callbacks.getScrollWhileDragging()}}),e={additions:e,removals:Object.keys(t),modified:a};o=Sd(),n.publish(e)}))};return{add:e=>{var t=e.descriptor.id;o.additions[t]=e,o.modified[e.descriptor.droppableId]=!0,o.removals[t]&&delete o.removals[t],a()},remove:e=>{e=e.descriptor;o.removals[e.id]=!0,o.modified[e.droppableId]=!0,o.additions[e.id]&&delete o.additions[e.id],a()},stop:()=>{i&&(cancelAnimationFrame(i),i=null,o=Sd())}}}({callbacks:{publish:a.publishWhileDragging,collectionStarting:a.collectionStarting},registry:r});const i=e=>{n||W(0,"Should only be subscribed when a collection is occurring");var t=n.critical.draggable;"ADDITION"===e.type&&xd(r,t,e.value)&&o.add(e.value),"REMOVAL"===e.type&&xd(r,t,e.value)&&o.remove(e.value)};return{updateDroppableIsEnabled:(e,t)=>{r.droppable.exists(e)||W(0,`Cannot update is enabled flag of Droppable ${e} as it is not registered`),n&&a.updateDroppableIsEnabled({id:e,isEnabled:t})},updateDroppableIsCombineEnabled:(e,t)=>{n&&(r.droppable.exists(e)||W(0,`Cannot update isCombineEnabled flag of Droppable ${e} as it is not registered`),a.updateDroppableIsCombineEnabled({id:e,isCombineEnabled:t}))},scrollDroppable:(e,t)=>{n&&r.droppable.getById(e).callbacks.scroll(t)},updateDroppableScroll:(e,t)=>{n&&(r.droppable.exists(e)||W(0,`Cannot update the scroll on Droppable ${e} as it is not registered`),a.updateDroppableScroll({id:e,newScroll:t}))},startPublishing:e=>{n&&W(0,"Cannot start capturing critical dimensions as there is already a collection");var t=r.draggable.getById(e.draggableId),a=r.droppable.getById(t.descriptor.droppableId),t={draggable:t.descriptor,droppable:a.descriptor},a=r.subscribe(i);return n={critical:t,unsubscribe:a},Cd({critical:t,registry:r,scrollOptions:e.scrollOptions})},stopPublishing:()=>{var e;n&&(o.stop(),e=n.critical.droppable,r.droppable.getAllByType(e.type).forEach(e=>e.callbacks.dragStopped()),n.unsubscribe(),n=null)}}},Ad=(e,t)=>"IDLE"===e.phase||"DROP_ANIMATING"===e.phase&&e.completed.result.draggableId!==t&&"DROP"===e.completed.result.reason,Nd=e=>{window.scrollBy(e.x,e.y)},Od=Z(e=>Sl(e).filter(e=>!!e.isEnabled&&!!e.frame)),Td=({center:e,destination:t,droppables:a})=>{var r;return t?(t=a[t]).frame?t:null:(r=e,Od(a).find(e=>(e.frame||W(0,"Invalid result"),mc(e.frame.pageMarginBox)(r)))||null)},Ld={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:e=>e**2,durationDampening:{stopDampeningAt:1200,accelerateAt:360},disabled:!1},Dd=({startOfRange:e,endOfRange:t,current:a})=>{t-=e;return 0==t?(q(`
|
|||
|
|
Detected distance range of 0 in the fluid auto scroller
|
|||
|
|
This is unexpected and would cause a divide by 0 issue.
|
|||
|
|
Not allowing an auto scroll
|
|||
|
|
`),0):(a-e)/t},Pd=({distanceToEdge:e,thresholds:t,dragStartTime:a,shouldUseTimeDampening:r,getAutoScrollerOptions:n})=>{var o,i,e=((e,t,a=()=>Ld)=>{a=a();return e>t.startScrollingFrom?0:e<=t.maxScrollValueAt?a.maxPixelScroll:e===t.startScrollingFrom?1:(t=Dd({startOfRange:t.maxScrollValueAt,endOfRange:t.startScrollingFrom,current:e}),e=a.maxPixelScroll*a.ease(1-t),Math.ceil(e))})(e,t,n);return 0===e?0:r?Math.max((t=e,r=a,a=(a=n)(),n=a.durationDampening.accelerateAt,o=a.durationDampening.stopDampeningAt,i=o,r=Date.now()-r,o<=r?t:r<n?1:(o=Dd({startOfRange:n,endOfRange:i,current:r}),n=t*a.ease(o),Math.ceil(n))),1):e},Md=({container:e,distanceToEdges:t,dragStartTime:a,axis:r,shouldUseTimeDampening:n,getAutoScrollerOptions:o})=>{e=((e,t,a=()=>Ld)=>{a=a();return{startScrollingFrom:e[t.size]*a.startFromPercentage,maxScrollValueAt:e[t.size]*a.maxScrollAtPercentage}})(e,r,o);return t[r.end]<t[r.start]?Pd({distanceToEdge:t[r.end],thresholds:e,dragStartTime:a,shouldUseTimeDampening:n,getAutoScrollerOptions:o}):-1*Pd({distanceToEdge:t[r.start],thresholds:e,dragStartTime:a,shouldUseTimeDampening:n,getAutoScrollerOptions:o})},Rd=Vn(e=>0===e?0:e),_d=({dragStartTime:e,container:t,subject:a,center:r,shouldUseTimeDampening:n,getAutoScrollerOptions:o})=>{var r={top:r.y-t.top,right:t.right-r.x,bottom:t.bottom-r.y,left:r.x-t.left},i=Md({container:t,distanceToEdges:r,dragStartTime:e,axis:Pl,shouldUseTimeDampening:n,getAutoScrollerOptions:o}),r=Md({container:t,distanceToEdges:r,dragStartTime:e,axis:Ml,shouldUseTimeDampening:n,getAutoScrollerOptions:o}),e=Rd({x:r,y:i});return ll(e,Y)||({container:n,subject:o,proposedScroll:r}={container:t,subject:a,proposedScroll:e},i=o.height>n.height,!(t=(o=o.width>n.width)||i?o&&i?null:{x:o?0:r.x,y:i?0:r.y}:r))||ll(t,Y)?null:t},Bd=Vn(e=>0===e?0:0<e?1:-1),jd=(()=>{const r=(e,t)=>e<0?e:t<e?e-t:0;return({current:e,max:t,change:a})=>{e=p(e,a),a={x:r(e.x,t.x),y:r(e.y,t.y)};return ll(a,Y)?null:a}})(),$d=({max:e,current:t,change:a})=>{e={x:Math.max(t.x,e.x),y:Math.max(t.y,e.y)},a=Bd(a),e=jd({max:e,current:t,change:a});return!e||0!==a.x&&0===e.x||0!==a.y&&0===e.y},zd=(e,t)=>$d({current:e.scroll.current,max:e.scroll.max,change:t}),Ud=(e,t)=>{e=e.frame;return!!e&&$d({current:e.scroll.current,max:e.scroll.max,change:t})},Fd=({state:e,dragStartTime:t,shouldUseTimeDampening:a,scrollWindow:r,scrollDroppable:n,getAutoScrollerOptions:o})=>{var i=e.current.page.borderBoxCenter,s=e.dimensions.draggables[e.critical.draggable.id].page.marginBox;if(e.isWindowScrollAllowed){var l=(({viewport:e,subject:t,center:a,dragStartTime:r,shouldUseTimeDampening:n,getAutoScrollerOptions:o})=>{r=_d({dragStartTime:r,container:e.frame,subject:t,center:a,shouldUseTimeDampening:n,getAutoScrollerOptions:o});return r&&zd(e,r)?r:null})({dragStartTime:t,viewport:e.viewport,subject:s,center:i,shouldUseTimeDampening:a,getAutoScrollerOptions:o});if(l)return void r(l)}r=Td({center:i,destination:dc(e.impact),droppables:e.dimensions.droppables});r&&({droppable:l,subject:e,center:t,dragStartTime:s,shouldUseTimeDampening:i,getAutoScrollerOptions:a}=[{dragStartTime:t,droppable:r,subject:s,center:i,shouldUseTimeDampening:a,getAutoScrollerOptions:o}][0],o=(o=l.frame)&&(s=_d({dragStartTime:s,container:o.pageMarginBox,subject:e,center:t,shouldUseTimeDampening:i,getAutoScrollerOptions:a}))&&Ud(l,s)?s:null)&&n(r.descriptor.id,o)},Gd=({scrollWindow:e,scrollDroppable:t,getAutoScrollerOptions:n=()=>Ld})=>{const r=Us(e),o=Us(t);let i=null;const s=e=>{i||W(0,"Cannot fluid scroll if not dragging");var{shouldUseTimeDampening:t,dragStartTime:a}=i;Fd({state:e,scrollWindow:r,scrollDroppable:o,dragStartTime:a,shouldUseTimeDampening:t,getAutoScrollerOptions:n})};return{start:e=>{i&&W(0,"Cannot start auto scrolling when already started");var t=Date.now();let a=!1;var r=()=>{a=!0};Fd({state:e,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:r,scrollDroppable:r,getAutoScrollerOptions:n}),i={dragStartTime:t,shouldUseTimeDampening:a},a&&s(e)},stop:()=>{i&&(r.cancel(),o.cancel(),i=null)},scroll:s}},Vd=({move:r,scrollDroppable:o,scrollWindow:n})=>{const i=(e,t)=>{var a,r,n;
|
|||
|
|
cursor: -webkit-grab;
|
|||
|
|
cursor: grab;
|
|||
|
|
`,e={selector:a(Wd.contextId),styles:{always:`
|
|||
|
|
-webkit-touch-callout: none;
|
|||
|
|
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
|||
|
|
touch-action: manipulation;
|
|||
|
|
`,resting:e,dragging:Qd,dropAnimating:e}},t=`
|
|||
|
|
transition: ${Yc.outOfTheWay};
|
|||
|
|
`;var t=[{selector:a(Kd.contextId),styles:{dragging:t,dropAnimating:t,userCancel:t}},e,{selector:a(Jd.contextId),styles:{always:"overflow-anchor: none;"}},{selector:"body",styles:{dragging:`
|
|||
|
|
cursor: grabbing;
|
|||
|
|
cursor: -webkit-grabbing;
|
|||
|
|
user-select: none;
|
|||
|
|
-webkit-user-select: none;
|
|||
|
|
-moz-user-select: none;
|
|||
|
|
-ms-user-select: none;
|
|||
|
|
overflow-anchor: none;
|
|||
|
|
`}}];return{always:Xd(t,"always"),resting:Xd(t,"resting"),dragging:Xd(t,"dragging"),dropAnimating:Xd(t,"dropAnimating"),userCancel:Xd(t,"userCancel")}}},[r]),o=(0,H.useRef)(null),i=(0,H.useRef)(null),s=J(Z(e=>{var t=i.current;t||W(0,"Cannot set dynamic style element if it is not set"),t.textContent=e}),[]),l=J(e=>{var t=o.current;t||W(0,"Cannot set dynamic style element if it is not set"),t.textContent=e},[]),e=(eu(()=>{(o.current||i.current)&&W(0,"style elements already mounted");var e=au(a),t=au(a);return o.current=e,i.current=t,e.setAttribute(qd+"-always",r),t.setAttribute(qd+"-dynamic",r),tu().appendChild(e),tu().appendChild(t),l(n.always),s(n.resting),()=>{var e=e=>{var t=e.current;t||W(0,"Cannot unmount ref as it is not set"),tu().removeChild(t),e.current=null};e(o),e(i)}},[a,l,s,n.always,n.resting,r]),J(()=>s(n.dragging),[s,n.dragging])),t=J(e=>{"DROP"===e?s(n.dropAnimating):s(n.userCancel)},[s,n.dropAnimating,n.userCancel]),c=J(()=>{i.current&&s(n.resting)},[s,n.resting]);return K(()=>({dragging:e,dropping:t,resting:c}),[e,t,c])}function nu(e,t){return Array.from(e.querySelectorAll(t))}var ou=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;function iu(e){return e instanceof ou(e).HTMLElement}function su(e,t){var a=`[${Wd.contextId}="${e}"]`,a=nu(document,a);return a.length?(a=a.find(e=>e.getAttribute(Wd.draggableId)===t))?iu(a)?a:(q("drag handle needs to be a HTMLElement"),null):(q(`Unable to find drag handle with id "${t}" as no handle with a matching id was found`),null):(q(`Unable to find any drag handles in the context "${e}"`),null)}function lu(){const r={draggables:{},droppables:{}},a=[];function n(t){a.length&&a.forEach(e=>e(t))}function o(e){return r.draggables[e]||null}function i(e){return r.droppables[e]||null}return{draggable:{register:e=>{n({type:"ADDITION",value:r.draggables[e.descriptor.id]=e})},update:(e,t)=>{var a=r.draggables[t.descriptor.id];a&&a.uniqueId===e.uniqueId&&(delete r.draggables[t.descriptor.id],r.draggables[e.descriptor.id]=e)},unregister:e=>{var t=e.descriptor.id,a=o(t);a&&e.uniqueId===a.uniqueId&&(delete r.draggables[t],r.droppables[e.descriptor.droppableId])&&n({type:"REMOVAL",value:e})},getById:function(e){var t=o(e);return t||W(0,`Cannot find draggable entry with id [${e}]`),t},findById:o,exists:e=>Boolean(o(e)),getAllByType:t=>Object.values(r.draggables).filter(e=>e.descriptor.type===t)},droppable:{register:e=>{r.droppables[e.descriptor.id]=e},unregister:e=>{var t=i(e.descriptor.id);t&&e.uniqueId===t.uniqueId&&delete r.droppables[e.descriptor.id]},getById:function(e){var t=i(e);return t||W(0,`Cannot find droppable entry with id [${e}]`),t},findById:i,exists:e=>Boolean(i(e)),getAllByType:t=>Object.values(r.droppables).filter(e=>e.descriptor.type===t)},subscribe:function(t){return a.push(t),function(){var e=a.indexOf(t);-1!==e&&a.splice(e,1)}},clean:function(){r.draggables={},r.droppables={},a.length=0}}}var cu=H.default.createContext(null),du=()=>{var e=document.body;return e||W(0,"Cannot find document.body"),e},uu={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)","clip-path":"inset(100%)"};var pu={separator:"::"};function mu(e,t=pu){const a=H.default.useId();return K(()=>""+e+t.separator+a,[t.separator,e,a])}function hu({contextId:a,text:e}){const r=mu("hidden-text",{separator:"-"}),n=K(()=>{return{contextId:e,uniqueId:t}=[{contextId:a,uniqueId:r}][0],`rfd-hidden-text-${e}-`+t;var e,t},[r,a]);return(0,H.useEffect)(function(){const t=document.createElement("div");return t.id=n,t.textContent=e,t.style.display="none",du().appendChild(t),function(){var e=du();e.contains(t)&&e.removeChild(t)}},[n,e]),n}var gu=H.default.createContext(null),fu="^18.0.0 || ^19.0.0",bu=/(\d+)\.(\d+)\.(\d+)/,vu=e=>{var t=bu.exec(e),a=(null==t&&W(0,"Unable to parse React version "+e),Number(t[1]));return{major:a,minor:Number(t[2]),patch:Number(t[3]),raw:e}},yu=(e,t)=>t.major>e.major||!(t.major<e.major)&&(t.minor>e.minor||!(t.minor<e.minor)&&t.patch>=e.patch),Su=`
|
|||
|
|
We expect a html5 doctype: <!doctype html>
|
|||
|
|
This is to ensure consistent browser layout and measurement
|
|||
|
|
|
|||
|
|
More information: https://github.com/hello-pangea/dnd/blob/main/docs/guides/doctype.md
|
|||
|
|
`;function wu(e){e()}function ku(e,t){wu(()=>{(0,H.useEffect)(()=>{try{e()}catch(e){Ks(`
|
|||
|
|
A setup problem was encountered.
|
|||
|
|
|
|||
|
|
> ${e.message}
|
|||
|
|
`)}},t)})}function Eu(){ku(()=>{var e=fu,t=H.default.version,t=(e=vu(e),t=vu(t),yu(e,t)||q(`
|
|||
|
|
React version: [${t.raw}]
|
|||
|
|
does not satisfy expected peer dependency version: [${e.raw}]
|
|||
|
|
|
|||
|
|
This can result in run time bugs, and even fatal crashes
|
|||
|
|
`),document);(t=t.doctype)?("html"!==t.name.toLowerCase()&&q(`
|
|||
|
|
Unexpected <!doctype> found: (${t.name})
|
|||
|
|
|
|||
|
|
${Su}
|
|||
|
|
`),""!==t.publicId&&q(`
|
|||
|
|
Unexpected <!doctype> publicId found: (${t.publicId})
|
|||
|
|
A html5 doctype does not have a publicId
|
|||
|
|
|
|||
|
|
${Su}
|
|||
|
|
`)):q(`
|
|||
|
|
No <!doctype html> found.
|
|||
|
|
|
|||
|
|
${Su}
|
|||
|
|
`)},[])}function Cu(e){const t=(0,H.useRef)(e);return(0,H.useEffect)(()=>{t.current=e}),t}function xu(){let t=null;function e(){t||W(0,"Cannot release lock when there is no lock"),t=null}return{isClaimed:function(){return Boolean(t)},isActive:function(e){return e===t},claim:function(e){return t&&W(0,"Cannot claim lock as it is already claimed"),e={abandon:e},t=e},release:e,tryAbandon:function(){t&&(t.abandon(),e())}}}function Iu(e){return"IDLE"!==e.phase&&"DROP_ANIMATING"!==e.phase&&e.isDragging}var Au=27,Nu=32,Ou=37,Tu=38,Lu=39,Du=40,Pu={[13]:!0,9:!0},Mu=e=>{Pu[e.keyCode]&&e.preventDefault()},Ru=(n="visibilitychange","undefined"!=typeof document&&[n,"ms"+n,"webkit"+n,"moz"+n,"o"+n].find(e=>"on"+e in document)||n),_u=0,Bu=5;var ju={type:"IDLE"};function $u({cancel:a,completed:r,getPhase:o,setPhase:i}){return[{eventName:"mousemove",fn:e=>{var t,{button:a,clientX:r,clientY:n}=e;a===_u&&(a={x:r,y:n},"DRAGGING"===(r=o()).type?(e.preventDefault(),r.actions.move(a)):("PENDING"!==r.type&&W(0,"Cannot be IDLE"),n=r.point,n=n,t=a,(Math.abs(t.x-n.x)>=Bu||Math.abs(t.y-n.y)>=Bu)&&(e.preventDefault(),t=r.actions.fluidLift(a),i({type:"DRAGGING",actions:t}))))}},{eventName:"mouseup",fn:e=>{var t=o();("DRAGGING"!==t.type?a:(e.preventDefault(),t.actions.drop({shouldBlockNextClick:!0}),r))()}},{eventName:"mousedown",fn:e=>{"DRAGGING"===o().type&&e.preventDefault(),a()}},{eventName:"keydown",fn:e=>{"PENDING"===o().type?a():e.keyCode===Au?(e.preventDefault(),a()):Mu(e)}},{eventName:"resize",fn:a},{eventName:"scroll",options:{passive:!0,capture:!1},fn:()=>{"PENDING"===o().type&&a()}},{eventName:"webkitmouseforcedown",fn:e=>{var t=o();"IDLE"===t.type&&W(0,"Unexpected phase"),t.actions.shouldRespectForcePress()?a():e.preventDefault()}},{eventName:Ru,fn:a}]}function zu(){}var Uu={[34]:!0,33:!0,36:!0,35:!0};function Fu(t,a){function r(){a(),t.cancel()}return[{eventName:"keydown",fn:e=>{e.keyCode===Au?(e.preventDefault(),r()):e.keyCode===Nu?(e.preventDefault(),a(),t.drop()):e.keyCode===Du?(e.preventDefault(),t.moveDown()):e.keyCode===Tu?(e.preventDefault(),t.moveUp()):e.keyCode===Lu?(e.preventDefault(),t.moveRight()):e.keyCode===Ou?(e.preventDefault(),t.moveLeft()):Uu[e.keyCode]?e.preventDefault():Mu(e)}},{eventName:"mousedown",fn:r},{eventName:"mouseup",fn:r},{eventName:"click",fn:r},{eventName:"touchstart",fn:r},{eventName:"resize",fn:r},{eventName:"wheel",fn:r,options:{passive:!0}},{eventName:Ru,fn:r}]}var Gu={type:"IDLE"},Vu=.15;var Hu=["input","button","textarea","select","option","optgroup","video","audio"];function qu(e,t){t=t.target;return iu(t)&&function e(t,a){var r;return null!=a&&(!!Hu.includes(a.tagName.toLowerCase())||"true"===(r=a.getAttribute("contenteditable"))||""===r||a!==t&&e(t,a.parentElement))}(e,t)}Tn="matches";var Wu="undefined"!=typeof document&&[Tn,"msMatchesSelector","webkitMatchesSelector"].find(e=>e in Element.prototype)||Tn;function Ku(e,t){return e.closest?e.closest(t):function e(t,a){return null==t?null:t[Wu](a)?t:e(t.parentElement,a)}(e,t)}function Ju(e,t){var t=t.target;return t instanceof ou(t).Element?(e=`[${Wd.contextId}="${e}"]`,(t=Ku(t,e))?iu(t)?t:(q("drag handle must be a HTMLElement"),null):null):(q("event.target must be a Element"),null)}function Yu(e){e.preventDefault()}function Zu({expected:e,phase:t,isLockActive:a,shouldWarn:r}){return a()?e===t||(r&&q(`
|
|||
|
|
Cannot perform action.
|
|||
|
|
The actions you used belong to an outdated phase
|
|||
|
|
|
|||
|
|
Current phase: ${e}
|
|||
|
|
You called an action from outdated phase: ${t}
|
|||
|
|
|
|||
|
|
Tips:
|
|||
|
|
|
|||
|
|
- Do not use preDragActions actions after calling preDragActions.lift()
|
|||
|
|
`),!1):(r&&q(`
|
|||
|
|
Cannot perform action.
|
|||
|
|
The sensor no longer has an action lock.
|
|||
|
|
|
|||
|
|
Tips:
|
|||
|
|
|
|||
|
|
- Throw away your action handlers when forceStop() is called
|
|||
|
|
- Check actions.isActive() if you really need to
|
|||
|
|
`),!1)}function Xu({lockAPI:e,store:t,registry:a,draggableId:r}){return!(e.isClaimed()||((e=a.draggable.findById(r))?!e.options.isEnabled||!Ad(t.getState(),r):(q("Unable to find draggable with id: "+r),1)))}function Qu({lockAPI:e,contextId:t,store:n,registry:a,draggableId:r,forceSensorStop:o,sourceEvent:i}){var s;if(!Xu({lockAPI:e,store:n,registry:a,draggableId:r}))return null;const l=a.draggable.getById(r),c=(a=t,s=l.descriptor.id,a=`[${Kd.contextId}="${a}"]`,(a=nu(document,a).find(e=>e.getAttribute(Kd.id)===s))?iu(a)?a:(q("Draggable element is not a HTMLElement"),null):null);if(!c)return q("Unable to find draggable element with id: "+r),null;if(i&&!l.options.canDragInteractiveElements&&qu(c,i))return null;const d=e.claim(o||Js);let u="PRE_DRAG";function p(){return l.options.shouldRespectForcePress}function m(){return e.isActive(d)}const h=function(e,t){Zu({expected:e,phase:u,isLockActive:m,shouldWarn:!0})&&n.dispatch(t())}.bind(null,"DRAGGING");function g(a){function r(){e.release(),u="COMPLETED"}function t(e,t={shouldBlockNextClick:!1}){a.cleanup(),t.shouldBlockNextClick&&(t=Ys(window,[{eventName:"click",fn:Yu,options:{once:!0,passive:!1,capture:!0}}]),setTimeout(t)),r(),n.dispatch(Gc({reason:e}))}return"PRE_DRAG"!==u&&(r(),W(0,"Cannot lift in phase "+u)),n.dispatch({type:"LIFT",payload:a.liftActionArgs}),u="DRAGGING",{isActive:()=>Zu({expected:"DRAGGING",phase:u,isLockActive:m,shouldWarn:!1}),shouldRespectForcePress:p,drop:e=>t("DROP",e),cancel:e=>t("CANCEL",e),...a.actions}}return{isActive:()=>Zu({expected:"PRE_DRAG",phase:u,isLockActive:m,shouldWarn:!1}),shouldRespectForcePress:p,fluidLift:function(e){const t=Us(e=>{h(()=>_c({client:e}))});return{...g({liftActionArgs:{id:r,clientSelection:e,movementMode:"FLUID"},cleanup:()=>t.cancel(),actions:{move:t}}),move:t}},snapLift:function(){var e,t={moveUp:()=>h(Bc),moveRight:()=>h($c),moveDown:()=>h(jc),moveLeft:()=>h(zc)};return g({liftActionArgs:{id:r,clientSelection:(e=c,Rs(e.getBoundingClientRect()).center),movementMode:"SNAP"},cleanup:Js,actions:t})},abort:function(){Zu({expected:"PRE_DRAG",phase:u,isLockActive:m,shouldWarn:!0})&&e.release()}}}var ep=[function(r){const a=(0,H.useRef)(ju),n=(0,H.useRef)(Js),e=K(()=>({eventName:"mousedown",fn:function(e){var t;e.defaultPrevented||e.button!==_u||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(t=r.findClosestDraggableId(e))&&(t=r.tryGetLock(t,i,{sourceEvent:e}))&&(e.preventDefault(),e={x:e.clientX,y:e.clientY},n.current(),c(t,e))}}),[r]),t=K(()=>({eventName:"webkitmouseforcewillbegin",fn:e=>{var t,a;e.defaultPrevented||(t=r.findClosestDraggableId(e))&&(a=r.findOptionsForDraggable(t))&&!a.shouldRespectForcePress&&r.canGetLock(t)&&e.preventDefault()}}),[r]),o=J(function(){n.current=Ys(window,[t,e],{passive:!1,capture:!0})},[t,e]),i=J(()=>{"IDLE"!==a.current.type&&(a.current=ju,n.current(),o())},[o]),s=J(()=>{var e=a.current;i(),"DRAGGING"===e.type&&e.actions.cancel({shouldBlockNextClick:!0}),"PENDING"===e.type&&e.actions.abort()},[i]),l=J(function(){var e=$u({cancel:s,completed:i,getPhase:()=>a.current,setPhase:e=>{a.current=e}});n.current=Ys(window,e,{capture:!0,passive:!1})},[s,i]),c=J(function(e,t){"IDLE"!==a.current.type&&W(0,"Expected to move from IDLE to PENDING drag"),a.current={type:"PENDING",point:t,actions:e},l()},[l]);eu(function(){return o(),function(){n.current()}},[o])},function(e){const n=(0,H.useRef)(zu),t=K(()=>({eventName:"keydown",fn:function(t){if(!t.defaultPrevented&&t.keyCode===Nu){var a=e.findClosestDraggableId(t);if(a){a=e.tryGetLock(a,r,{sourceEvent:t});if(a){t.preventDefault();let e=!0;t=a.snapLift();function r(){e||W(0,"Cannot stop capturing a keyboard drag when not capturing"),e=!1,n.current(),o()}n.current(),n.current=Ys(window,Fu(t,r),{capture:!0,passive:!1})}}}}}),[e]),o=J(function(){n.current=Ys(window,[t],{passive:!1,capture:!0})},[t]);eu(function(){return o(),function(){n.current()}},[o])},function(r){const t=(0,H.useRef)(Gu),c=(0,H.useRef)(Js),d=J(function(){return t.current},[]),n=J(function(e){t.current=e},[]),e=K(()=>({eventName:"touchstart",fn:function(e){var t,a;e.defaultPrevented
|
|||
|
|
A screen reader message was trying to be announced but it was unable to do so.
|
|||
|
|
This can occur if you unmount your <DragDropContext /> in your onDragEnd.
|
|||
|
|
Consider calling provided.announce() before the unmount so that the instruction will
|
|||
|
|
not be lost for users relying on a screen reader.
|
|||
|
|
|
|||
|
|
Message not passed to screen reader:
|
|||
|
|
|
|||
|
|
"${e}"
|
|||
|
|
`)},[])}(t),u=hu({contextId:t,text:o}),p=ru(t,n),m=J(e=>{np(i).dispatch(e)},[]),h=K(()=>Ei({publishWhileDragging:Lc,updateDroppableScroll:Pc,updateDroppableIsEnabled:Mc,updateDroppableIsCombineEnabled:Rc,collectionStarting:Dc},m),[m]),g=function(){const e=K(lu,[]);return(0,H.useEffect)(()=>function(){e.clean()},[e]),e}(),f=K(()=>Id(g,h),[g,h]),b=K(()=>Hd({scrollWindow:Nd,scrollDroppable:f.scrollDroppable,getAutoScrollerOptions:c,...Ei({move:_c},m)}),[f.scrollDroppable,m,c]),v=function(t){const r=(0,H.useRef)({}),a=(0,H.useRef)(null),n=(0,H.useRef)(null),o=(0,H.useRef)(!1),e=J(function(t,e){const a={id:t,focus:e};return r.current[t]=a,function(){var e=r.current;e[t]!==a&&delete e[t]}},[]),i=J(function(e){e=su(t,e);e&&e!==document.activeElement&&e.focus()},[t]),s=J(function(e,t){a.current===e&&(a.current=t)},[]),l=J(function(){n.current||o.current&&(n.current=requestAnimationFrame(()=>{n.current=null;var e=a.current;e&&i(e)}))},[i]),c=J(function(e){a.current=null;var t=document.activeElement;t&&t.getAttribute(Wd.draggableId)===e&&(a.current=e)},[]);return eu(()=>(o.current=!0,function(){o.current=!1;var e=n.current;e&&cancelAnimationFrame(e)}),[]),K(()=>({register:e,tryRecordFocus:c,tryRestoreFocusRecorded:l,tryShiftRecord:s}),[e,c,l,s])}(t);var y=K(()=>yd({announce:d,autoScroller:b,dimensionMarshal:f,focusMarshal:v,getResponders:l,styleMarshal:p}),[d,b,f,v,l,p]);i.current&&i.current!==y&&q("unexpected store change"),i.current=y;const S=J(()=>{var e=np(i);"IDLE"!==e.getState().phase&&e.dispatch(Uc())},[]),w=J(()=>{var e=np(i).getState();return"DROP_ANIMATING"===e.phase||"IDLE"!==e.phase&&e.isDragging},[]);var k=K(()=>({isDragging:w,tryAbort:S}),[w,S]);a(k);const E=J(e=>Ad(np(i).getState(),e),[]),C=J(()=>pc(np(i).getState()),[]);k=K(()=>({marshal:f,focus:v,contextId:t,canLift:E,isMovementAllowed:C,dragHandleUsageInstructionsId:u,registry:g}),[t,f,u,v,E,C,g]);return tp({contextId:t,store:y,registry:g,customSensors:r||null,enableDefaultSensors:!1!==e.enableDefaultSensors}),(0,H.useEffect)(()=>S,[S]),H.default.createElement(gu.Provider,{value:k},H.default.createElement(As,{context:cu,store:y},e.children))}function ip(t){const a=H.default.useId(),r=t.dragHandleUsageInstructions||ol.dragHandleUsageInstructions;return H.default.createElement(el,null,e=>H.default.createElement(op,{nonce:t.nonce,contextId:a,setCallbacks:e,dragHandleUsageInstructions:r,enableDefaultSensors:t.enableDefaultSensors,sensors:t.sensors,onBeforeCapture:t.onBeforeCapture,onBeforeDragStart:t.onBeforeDragStart,onDragStart:t.onDragStart,onDragUpdate:t.onDragUpdate,onDragEnd:t.onDragEnd,autoScrollerOptions:t.autoScrollerOptions},t.children))}var sp={dragging:5e3,dropAnimating:4500},lp=(e,t)=>t?Yc.drop(t.duration):e?Yc.snap:Yc.fluid,cp=(e,t)=>{if(e)return t?Jc.opacity.drop:Jc.opacity.combining},dp=e=>null!=e.forceShouldAnimate?e.forceShouldAnimate:"SNAP"===e.mode;function up(e){var t,a,r,n,o,i;return"DRAGGING"===e.type?(i=(r=e).dimension.client,{offset:o,combineWith:a,dropping:t}=r,a=Boolean(a),r=dp(r),n=Boolean(t),o=n?Xc.drop(o,a):Xc.moveTo(o),{position:"fixed",top:i.marginBox.top,left:i.marginBox.left,boxSizing:"border-box",width:i.borderBox.width,height:i.borderBox.height,transition:lp(r,t),transform:o,opacity:cp(a,n),zIndex:n?sp.dropAnimating:sp.dragging,pointerEvents:"none"}):(i=e,{transform:Xc.moveTo(i.offset),transition:i.shouldAnimateDisplacement?void 0:"none"})}function pp(e){const t=mu("draggable"),{descriptor:o,registry:a,getDraggableRef:i,canDragInteractiveElements:r,shouldRespectForcePress:n,isEnabled:s}=e,l=K(()=>({canDragInteractiveElements:r,shouldRespectForcePress:n,isEnabled:s}),[r,s,n]),c=J(e=>{var t,a,r,n=i();return n||W(0,"Cannot get dimension when no ref is set"),[n,e,t=Y]=[o,n,e],a=window.getComputedStyle(e),r=e.getBoundingClientRect(),r=Ps(r,a),t=Ds(r,t),{descriptor:n,placeholder:{client:r,tagName:e.tagName.toLowerCase(),display:a.display},displaceBy:{x:r.marginBox.width,y:r.marginBox.height},client:r,page:t}},[o,i]),d=K(()=>({uniqueId:t,descriptor:o,options:l,getDimension:c}),[o,c,l,t]),u=(0,H.useRef)(d),p=(0,H.useRef)(!0);eu(()=>(a
|
|||
|
|
provided.innerRef has not been provided with a HTMLElement.
|
|||
|
|
|
|||
|
|
You can find a guide on using the innerRef callback functions at:
|
|||
|
|
https://github.com/hello-pangea/dnd/blob/main/docs/guides/using-inner-ref.md
|
|||
|
|
`)}function gp(e){e=(0,H.useContext)(e);return e||W(0,"Could not find required context"),e}var r=(e,t)=>e===t,fp=e=>{var{combine:e,destination:t}=e;return t?t.droppableId:e?e.droppableId:null},bp=e=>e.combine?e.combine.draggableId:null,vp=e=>e.at&&"COMBINE"===e.at.type?e.at.combine.draggableId:null;function yp(e=null){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:e,combineWith:null}}var Sp={mapped:{type:"SECONDARY",offset:Y,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:yp(null)}};var wp=qn(()=>{const a=function(){const s=Z((e,t)=>({x:e,y:t})),l=Z((e,t,a=null,r=null,n=null)=>({isDragging:!0,isClone:t,isDropAnimating:Boolean(n),dropAnimation:n,mode:e,draggingOver:a,combineWith:r,combineTargetFor:null})),c=Z((e,t,a,r,n=null,o=null,i=null)=>({mapped:{type:"DRAGGING",dropping:null,draggingOver:n,combineWith:o,mode:t,offset:e,dimension:a,forceShouldAnimate:i,snapshot:l(t,r,n,o,null)}}));return(e,t)=>{var a,r,n,o,i;return Iu(e)?e.critical.draggable.id!==t.draggableId?null:(o=e.current.client.offset,a=e.dimensions.draggables[t.draggableId],r=dc(e.impact),i=vp(e.impact),n=e.forceShouldAnimate,c(s(o.x,o.y),e.movementMode,a,t.isClone,r,i,n)):"DROP_ANIMATING"!==e.phase||(o=e.completed).result.draggableId!==t.draggableId?null:(a=t.isClone,r=e.dimensions.draggables[t.draggableId],n=(i=o.result).mode,t=fp(i),o=bp(i),i={duration:e.dropDuration,curve:Kc.drop,moveTo:e.newHomeClientOffset,opacity:o?Jc.opacity.drop:null,scale:o?Jc.scale.drop:null},{mapped:{type:"DRAGGING",offset:e.newHomeClientOffset,dimension:r,dropping:i,draggingOver:t,combineWith:o,mode:n,forceShouldAnimate:null,snapshot:l(n,a,t,o,i)}})}}(),r=function(){const s=Z((e,t)=>({x:e,y:t})),r=Z(yp),l=Z((e,t=null,a)=>({mapped:{type:"SECONDARY",offset:e,combineTargetFor:t,shouldAnimateDisplacement:a,snapshot:r(t)}})),c=e=>e?l(Y,e,!0):null,a=(e,t,a,r)=>{var n=a.displaced.visible[e],o=Boolean(r.inVirtualList&&r.effected[e]),i=Cl(a),i=i&&i.draggableId===e?t:null;return n?o?c(i):(t=a.displacedBy.point,t=s(t.x,t.y),l(t,i,n.shouldAnimate)):o?a.displaced.invisible[e]?null:(t=cl(r.displacedBy.point),n=s(t.x,t.y),l(n,i,!0)):c(i)};return(e,t)=>{return Iu(e)?e.critical.draggable.id===t.draggableId?null:a(t.draggableId,e.critical.draggable.id,e.impact,e.afterCritical):"DROP_ANIMATING"!==e.phase||(e=e.completed).result.draggableId===t.draggableId?null:a(t.draggableId,e.result.draggableId,e.impact,e.afterCritical)}}();return(e,t)=>a(e,t)||r(e,t)||Sp},{dropAnimationFinished:Vc},null,{context:cu,areStatePropsEqual:r})(e=>{const t=(0,H.useRef)(null),a=J((e=null)=>{t.current=e},[]),r=J(()=>t.current,[]),{contextId:n,dragHandleUsageInstructionsId:o,registry:i}=gp(gu),{type:s,droppableId:l}=gp(mp),c=K(()=>({id:e.draggableId,index:e.index,type:s,droppableId:l}),[e.draggableId,e.index,s,l]),{children:d,draggableId:u,isEnabled:p,shouldRespectForcePress:m,canDragInteractiveElements:h,isClone:g,mapped:f,dropAnimationFinished:b}=e;var v,y,S,w;v=e,y=n,S=r,ku(()=>{function e(e){return`Draggable[id: ${e}]: `}var t=v.draggableId;t||W(0,"Draggable requires a draggableId"),"string"!=typeof t&&W(0,`Draggable requires a [string] draggableId.
|
|||
|
|
Provided: [type: ${typeof t}] (value: ${t})`),Number.isInteger(v.index)||W(0,e(t)+" requires an integer index prop"),"DRAGGING"!==v.mapped.type&&(hp(S()),v.isEnabled)&&!su(y,t)&&W(0,e(t)+" Unable to find drag handle")}),w=g,wu(()=>{const e=(0,H.useRef)(w);ku(()=>{w!==e.current&&W(0,"Draggable isClone prop value changed during component life")},[w])}),g||pp(K(()=>({descriptor:c,registry:i,getDraggableRef:r,canDragInteractiveElements:h,shouldRespectForcePress:m,isEnabled:p}),[c,i,r,h,m,p]));const k=K(()=>p?{tabIndex:0,role:"button","aria-describedby":o,"data-rfd-drag-handle-draggable-id":u,"data-rfd-drag-handle-context-id":n,draggable:!1,onDragStart:function(e){e.preventDefault()}}:null,[n,o,u,p]),E=J(e=>{"DRAGGING"===f.type&&f.dropping&&"transform"===e.propertyName&&(0,gi.flushSync)(b)},[b,f]);var C=K(()=>{var e=up(f),t="DRAGGING"===f.type&&f.dropping?E:void 0;return{innerRef:a,draggableProps:{"data-rfd-draggable-context-id":n,"data-rfd-draggable-id":u,style:e,onTransitionEnd:t},dragHandleProps:k}},[n,k,u,f,E,a]),x=K(()=>({draggableId:c.id,type:c.type,source:{index:c.index,droppableId:c.droppableId}}),[c.droppableId,c.id,c.index,c.type]);return H.default.createElement(H.default.Fragment,null,d(C,f.snapshot,x))});function kp(e){return gp(mp).isUsingCloneFor!==e.draggableId||e.isClone?H.default.createElement(wp,e):null}function Ep(e){var t="boolean"!=typeof e.isDragDisabled||!e.isDragDisabled,a=Boolean(e.disableInteractiveElementBlocking),r=Boolean(e.shouldRespectForcePress);return H.default.createElement(kp,Fs({},e,{isClone:!1,isEnabled:t,canDragInteractiveElements:a,shouldRespectForcePress:r}))}var Kn=t=>e=>t===e,Cp=Kn("scroll"),xp=Kn("auto"),Ip=Kn("visible"),Ap=(e,t)=>t(e.overflowX)||t(e.overflowY),Np=e=>{e=window.getComputedStyle(e),e={overflowX:e.overflowX,overflowY:e.overflowY};return Ap(e,Cp)||Ap(e,xp)},Op=e=>{var t,a;return null==e?null:e===document.body?(t=du(),(a=document.documentElement)||W(),Np(t)&&(t=window.getComputedStyle(a),a={overflowX:t.overflowX,overflowY:t.overflowY},(t=Ip)((a=a).overflowX)&&t(a.overflowY)||q(`
|
|||
|
|
We have detected that your <body> element might be a scroll container.
|
|||
|
|
We have found no reliable way of detecting whether the <body> element is a scroll container.
|
|||
|
|
Under most circumstances a <body> scroll bar will be on the <html> element (document.documentElement)
|
|||
|
|
|
|||
|
|
Because we cannot determine if the <body> is a scroll container, and generally it is not one,
|
|||
|
|
we will be treating the <body> as *not* a scroll container
|
|||
|
|
|
|||
|
|
More information: https://github.com/hello-pangea/dnd/blob/main/docs/guides/how-we-detect-scroll-containers.md
|
|||
|
|
`)),null):e===document.documentElement?null:Np(e)?e:Op(e.parentElement)},Tp=e=>{e&&Op(e.parentElement)&&q(`
|
|||
|
|
Droppable: unsupported nested scroll container detected.
|
|||
|
|
A Droppable can only have one scroll parent (which can be itself)
|
|||
|
|
Nested scroll containers are currently not supported.
|
|||
|
|
|
|||
|
|
We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131
|
|||
|
|
`)},Lp=e=>({x:e.scrollLeft,y:e.scrollTop}),Dp=e=>{return!!e&&("fixed"===window.getComputedStyle(e).position||Dp(e.parentElement))},Pp=e=>{return{closestScrollable:Op(e),isFixedOnPage:Dp(e)}},Mp=({ref:e,descriptor:t,env:a,windowScroll:r,direction:n,isDropDisabled:o,isCombineEnabled:i,shouldClipSubject:s})=>{const l=a.closestScrollable;p=l,h=Ms(e=e);var c,d,u,p=!p||e!==p?h:(e=h.paddingBox.top-p.scrollTop,c=h.paddingBox.left-p.scrollLeft,m=e+p.scrollHeight,p=c+p.scrollWidth,e=Ts({top:e,right:p,bottom:m,left:c},h.border),Bs({borderBox:e,margin:h.margin,border:h.border,padding:h.padding})),m=Ds(p,r),h=l?(c=Ms(l),e={scrollHeight:l.scrollHeight,scrollWidth:l.scrollWidth},{client:c,page:Ds(c,r),scroll:Lp(l),scrollSize:e,shouldClipSubject:s}):null;return{descriptor:r,isEnabled:e,isCombineEnabled:s,isFixedOnPage:t,direction:o,client:i,page:a,closest:n}=[{descriptor:t,isEnabled:!o,isCombineEnabled:i,isFixedOnPage:a.isFixedOnPage,direction:n,client:p,page:m,closest:h}][0],d=n?({scrollSize:u,client:d}=n,p=wd({scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,height:d.paddingBox.height,width:d.paddingBox.width}),{pageMarginBox:n.page.marginBox,frameClient:d,scrollSize:u,shouldClipSubject:n.shouldClipSubject,scroll:{initial:n.scroll,current:n.scroll,max:p,diff:{value:Y,displacement:Y}}}):null,{descriptor:r,isCombineEnabled:s,isFixedOnPage:t,axis:u="vertical"===o?Pl:Ml,isEnabled:e,client:i,page:a,frame:d,subject:fl({page:a,withPlaceholder:null,axis:u,frame:d})}},Rp={passive:!1},_p={passive:!0},Bp=e=>e.shouldPublishImmediately?Rp:_p,jp=e=>e&&e.env.closestScrollable||null;function $p(){}var zp={width:0,height:0,margin:{top:0,right:0,bottom:0,left:0}},Up=({isAnimatingOpenOnMount:e,placeholder:t,animate:a})=>e||"close"===a?zp:{height:t.client.borderBox.height,width:t.client.borderBox.width,margin:t.client.margin},Fp=H.default.memo(e=>{const t=(0,H.useRef)(null),a=J(()=>{t.current&&(clearTimeout(t.current),t.current=null)},[]),{animate:r,onTransitionEnd:n,onClose:o,contextId:i}=e,[s,l]=(0,H.useState)("open"===e.animate);(0,H.useEffect)(()=>s?"open"!==r?(a(),l(!1),$p):t.current?$p:(t.current=setTimeout(()=>{t.current=null,l(!1)}),a):$p,[r,s,a]);var c=J(e=>{"height"===e.propertyName&&(n(),"close"===r)&&o()},[r,o,n]),d=(({isAnimatingOpenOnMount:e,placeholder:t,animate:a})=>{e=Up({isAnimatingOpenOnMount:e,placeholder:t,animate:a});return{display:t.display,boxSizing:"border-box",width:e.width,height:e.height,marginTop:e.margin.top,marginRight:e.margin.right,marginBottom:e.margin.bottom,marginLeft:e.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:"none"!==a?Yc.placeholder:null}})({isAnimatingOpenOnMount:s,animate:e.animate,placeholder:e.placeholder});return H.default.createElement(e.placeholder.tagName,{style:d,"data-rfd-placeholder-context-id":i,onTransitionEnd:c,ref:e.innerRef})});function Gp(e){return"boolean"==typeof e}function Vp(t,e){e.forEach(e=>e(t))}var Hp=[function({props:e}){e.droppableId||W(0,"A Droppable requires a droppableId prop"),"string"!=typeof e.droppableId&&W(0,`A Droppable requires a [string] droppableId. Provided: [${typeof e.droppableId}]`)},function({props:e}){Gp(e.isDropDisabled)||W(0,"isDropDisabled must be a boolean"),Gp(e.isCombineEnabled)||W(0,"isCombineEnabled must be a boolean"),Gp(e.ignoreContainerClipping)||W(0,"ignoreContainerClipping must be a boolean")},function({getDroppableRef:e}){hp(e())}],qp=[function({props:e,getPlaceholderRef:t}){e.placeholder&&!t()&&q(`
|
|||
|
|
Droppable setup issue [droppableId: "${e.droppableId}"]:
|
|||
|
|
DroppableProvided > placeholder could not be found.
|
|||
|
|
|
|||
|
|
Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.
|
|||
|
|
More information: https://github.com/hello-pangea/dnd/blob/main/docs/api/droppable.md
|
|||
|
|
`)}],Wp=[function({props:e}){e.renderClone||W(0,"Must provide a clone render function (renderClone) for virtual lists")},function({getPlaceholderRef:e}){e()&&W(0,"Expected virtual list to not have a placeholder")}];var Kp=class extends H.default.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(){var e;return this.state.isVisible?(e={onClose:this.onClose,data:this.state.data,animate:this.state.animate},this.props.children(e)):null}};var Jp={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:function(){return document.body||W(0,"document.body is not ready"),document.body}},Yp=e=>{let t={...e},a;for(a in Jp)void 0===e[a]&&(t={...t,[a]:Jp[a]});return t},Zp=(e,t)=>e===t.droppable.type,Xp=(e,t)=>t.draggables[e.draggable.id],Qp=qn(()=>{const s={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},l={...s,shouldAnimatePlaceholder:!1},c=Z(e=>({draggableId:e.id,type:e.type,source:{index:e.index,droppableId:e.droppableId}})),d=Z((e,t,a,r,n,o)=>{var i=n.descriptor.id;return n.descriptor.droppableId===e?(e=o?{render:o,dragging:c(n.descriptor)}:null,{placeholder:n.placeholder,shouldAnimatePlaceholder:!1,snapshot:{isDraggingOver:a,draggingOverWith:a?i:null,draggingFromThisWith:i,isUsingPlaceholder:!0},useClone:e}):t?r?{placeholder:n.placeholder,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:a,draggingOverWith:i,draggingFromThisWith:null,isUsingPlaceholder:!0},useClone:null}:s:l});return(e,t)=>{var a,r,t=Yp(t),n=t.droppableId,o=t.type,i=!t.isDropDisabled,t=t.renderClone;return Iu(e)?(r=e.critical,Zp(o,r)?(r=Xp(r,e.dimensions),a=dc(e.impact)===n,d(n,i,a,a,r,t)):l):"DROP_ANIMATING"===e.phase?(a=e.completed,Zp(o,a.critical)?(r=Xp(a.critical,e.dimensions),d(n,i,fp(a.result)===n,dc(a.impact)===n,r,t)):l):"IDLE"===e.phase&&e.completed&&!e.shouldFlush&&(i=e.completed,Zp(o,i.critical))?(a=dc(i.impact)===n,r=Boolean(i.impact.at&&"COMBINE"===i.impact.at.type),t=i.critical.droppable.id===n,a?r?s:l:t?s:l):l}},{updateViewportMaxScroll:e=>({type:"UPDATE_VIEWPORT_MAX_SCROLL",payload:e})},(e,t,a)=>({...Yp(a),...e,...t}),{context:cu,areStatePropsEqual:r})(e=>{var t=(0,H.useContext)(gu);t||W(0,"Could not find app context");const{contextId:r,isMovementAllowed:a}=t,n=(0,H.useRef)(null),o=(0,H.useRef)(null),{children:_,droppableId:i,type:s,mode:B,direction:j,ignoreContainerClipping:$,isDropDisabled:z,isCombineEnabled:U,snapshot:F,useClone:l,updateViewportMaxScroll:c,getContainerForClone:G}=e;t=J(()=>n.current,[]);const d=J((e=null)=>{n.current=e},[]);var u,p=J(()=>o.current,[]);const m=J((e=null)=>{o.current=e},[]),h=(u={props:e,getDroppableRef:t,getPlaceholderRef:p},ku(()=>{Vp(u,Hp),"standard"===u.props.mode&&Vp(u,qp),"virtual"===u.props.mode&&Vp(u,Wp)}),J(()=>{a()&&c({maxScroll:Ed()})},[a,c]));{var g={droppableId:i,type:s,mode:B,direction:j,isDropDisabled:z,isCombineEnabled:U,ignoreContainerClipping:$,getDroppableRef:t};const b=(0,H.useRef)(null),v=gp(gu),y=mu("droppable"),{registry:S,marshal:w}=v,k=Cu(g),E=K(()=>({id:g.droppableId,type:g.type,mode:g.mode}),[g.droppableId,g.mode,g.type]),C=(0,H.useRef)(E),x=K(()=>Z((e,t)=>{b.current||W(0,"Can only update scroll when dragging");e={x:e,y:t};w.updateDroppableScroll(E.id,e)}),[E.id,w]),I=J(()=>{var e=b.current;return e&&e.env.closestScrollable?Lp(e.env.closestScrollable):Y},[]),A=J(()=>{var e=I();x(e.x,e.y)},[I,x]),N=K(()=>Us(A),[A]),O=J(()=>{var e=b.current,t=jp(e),t=(e&&t||W(0,"Could not find scroll options while scrolling"),e.scrollOption
|
|||
|
|
`;for(const r in e[a])Object.hasOwn(e[a],r)&&(t+=`${r}=${e[a][r]}
|
|||
|
|
`)}else t+=`${a}=${e[a]}
|
|||
|
|
`;return t})(um.schemes):y("devTools.noThemeInstalled"));return lm.default.createElement("div",{id:"marketplace-theme-dev-tools-container",className:"marketplace-theme-dev-tools-container"},lm.default.createElement("div",{className:"devtools-column"},lm.default.createElement("label",{htmlFor:"color-ini-editor"},lm.default.createElement("h2",{className:"devtools-heading"},y("devTools.colorIniEditor"))),lm.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},lm.default.createElement(cm.default,{value:a,onValueChange:e=>t(e),highlight:e=>(0,sm.highlight)(e,sm.languages.ini),textareaId:"color-ini-editor",textareaClassName:"color-ini-editor",readOnly:!um,placeholder:y("devTools.colorIniEditorPlaceholder"),style:{fontFamily:"monospace",resize:"none"}})),lm.default.createElement(Jo,{onClick:()=>{var e=a;{var t;dm?(t=bo(e),um.schemes=t,localStorage.setItem(dm,JSON.stringify(um))):Spicetify.showNotification(y("devTools.noThemeManifest"),!0)}}},y("save"))),lm.default.createElement("div",{className:"devtools-column"},lm.default.createElement("h2",{className:"devtools-heading"},y("devTools.invalidCSS")),lm.default.createElement("div",{className:"marketplace-code-editor-wrapper marketplace-code-editor"},function(){var e=document.querySelector("body > style.marketplaceCSS.marketplaceUserCSS")?.innerHTML;if(!e)return["Error: Class name list not found; please create an issue"];var a=[];for(const o of e.matchAll(/.-?[_a-zA-Z]+[_a-zA-Z0-9-]*\s*{/g)){var r=o[0].replace(/{/g,"").trim(),n=r.split(" ");let t;for(let e=0;e<n.length;e++){try{t=document.querySelector(""+n[e])}catch{t=document.getElementsByClassName(""+r)}t||a.push(r)}}return a}().map((e,t)=>lm.default.createElement("div",{key:t,className:"invalid-css-text"},e)))))},m=t(a());var mm=function(){const[e,t]=m.default.useState(null);return m.default.useEffect(()=>{!async function(){try{var{body:e,tag_name:t,message:a}=await(await fetch($a)).json();return e&&t&&!a?{version:t.replace("v",""),changelog:await Ao(e.match(/## What's Changed([\s\S]*?)(\r\n\r|\n\n##)/)[1],"spicetify","marketplace")}:null}catch(e){return console.error(e),null}}().then(e=>t(e))},[]),m.default.createElement("div",{id:"marketplace-update-container"},m.default.createElement("div",{id:"marketplace-update-description"},m.default.createElement("h4",null,y("updateModal.description")),m.default.createElement("a",{href:ja+"/tag/v1.0.8"},y("updateModal.currentVersion",{version:Ma})),m.default.createElement("a",{href:ja+"/tag/v"+e?.version},y("updateModal.latestVersion",{version:e?.version}))),m.default.createElement("hr",null),m.default.createElement("div",{id:"marketplace-update-whats-changed"},m.default.createElement("h3",{className:"marketplace-update-header"},y("updateModal.whatsChanged")),m.default.createElement("details",null,m.default.createElement("summary",null,y("updateModal.seeChangelog")),m.default.createElement("ul",{dangerouslySetInnerHTML:{__html:e?.changelog??""}}))),m.default.createElement("hr",null),m.default.createElement("div",{id:"marketplace-update-guide"},m.default.createElement("h3",{className:"marketplace-update-header"},y("updateModal.howToUpgrade")),m.default.createElement("a",{href:"https://github.com/spicetify/marketplace/wiki/Installation"},y("updateModal.viewGuide"))))},hm=(e,t,a,r,n)=>{e=((e,t,a,r,n)=>{switch(e){case"ADD_SNIPPET":return{title:y("snippets.addTitle"),content:Fo.default.createElement(im,{type:e}),isLarge:!0};case"EDIT_SNIPPET":return{title:y("snippets.editTitle"),content:Fo.default.createElement(im,{type:e,content:r}),isLarge:!0};case"VIEW_SNIPPET":return{title:y("snippets.viewTitle"),content:Fo.default.createElement(im,{type:e,content:r,callback:n}),isLarge:!0};case"RELOAD":return{title:y("reloadModal.title"),content:Fo.default.createElement(Xo,null),isLarge:!1};case"SETTINGS":return{title:y("settings.title"),content:Fo.default.createElement(rm,{CONFIG:t,updateAppConfig:a}),isLarge:!0};case"THEME_DEV_TOOLS":return{title:y("devTools.title"),content:Fo.default.createElement(pm,null),isLarge:!0};case"BACKUP":return{title:y("backupMo
|