@vireo-ai/trellis-ui 0.1.29 → 0.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/packages/client/src/components/field/styles.css +71 -0
- package/packages/client/src/components/file-upload/styles.css +68 -0
- package/packages/client/src/components/tabs/styles.css +73 -0
- package/packages/client/src/components/toast/styles.css +123 -0
- package/packages/client/src/styles/components.css +14 -4
- package/packages/client/src/styles/generated/theme-fonts.css +1 -1
- package/packages/client/src/styles/generated/theme-palette.css +77 -1462
- package/packages/client/src/styles/generated/theme-runtime.css +1 -1390
- package/packages/client/src/styles/recipes/action.css +175 -0
- package/packages/client/src/styles/recipes/disabled.css +16 -0
- package/packages/client/src/styles/recipes/option.css +123 -0
- package/packages/client/src/styles/recipes/selection.css +78 -0
- package/packages/client/src/styles/theme.css +0 -718
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +630 -3367
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +247 -247
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{alpine-machine-D0Kqjm-1.js → alpine-machine-BS13dbK4.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{alpine-machine-D0Kqjm-1.js.map → alpine-machine-BS13dbK4.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-motion-Cog7tKk0.js → capability-motion-wMoceguq.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-motion-Cog7tKk0.js.map → capability-motion-wMoceguq.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-k107A8WE.js → capability-sortable-BurX5yRd.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-BurX5yRd.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-vW9Cglw8.js → core-BuKz1uWk.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-vW9Cglw8.js.map → core-BuKz1uWk.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-JnbQA47P.js → entry.generated-9sxiaVVI.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-JnbQA47P.js.map → entry.generated-9sxiaVVI.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DVPnOfPb.js → entry.generated-BehM6Hle.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DVPnOfPb.js.map → entry.generated-BehM6Hle.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DOV8BDMY.js → entry.generated-BqOi_tIN.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DOV8BDMY.js.map → entry.generated-BqOi_tIN.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CGgRCeB5.js → entry.generated-BuXeU4zt.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CGgRCeB5.js.map → entry.generated-BuXeU4zt.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Bhvs_TUM.js → entry.generated-C-MH09sf.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Bhvs_TUM.js.map → entry.generated-C-MH09sf.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DMK37KS0.js → entry.generated-C3h9Czzn.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DMK37KS0.js.map → entry.generated-C3h9Czzn.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DFITIl56.js → entry.generated-C5Bueyfb.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DFITIl56.js.map → entry.generated-C5Bueyfb.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Bbm6qhVl.js → entry.generated-CCka3fIO.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Bbm6qhVl.js.map → entry.generated-CCka3fIO.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DMre0DbH.js → entry.generated-CSxEK8G9.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DMre0DbH.js.map → entry.generated-CSxEK8G9.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DiG5fS1F.js → entry.generated-CoJxfxlc.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DiG5fS1F.js.map → entry.generated-CoJxfxlc.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-dTc38DPe.js → entry.generated-D6cdmqiV.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-dTc38DPe.js.map → entry.generated-D6cdmqiV.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cvgc61x9.js → entry.generated-DBSwLHmm.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cvgc61x9.js.map → entry.generated-DBSwLHmm.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DnSxEcns.js → entry.generated-DEiL4FhC.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DnSxEcns.js.map → entry.generated-DEiL4FhC.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BgnZZd0A.js → entry.generated-DRqap77P.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BgnZZd0A.js.map → entry.generated-DRqap77P.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DT70Lo44.js → entry.generated-Dzw2Rg5F.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DT70Lo44.js.map → entry.generated-Dzw2Rg5F.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-byAFfb_v.js → entry.generated-EtCfrZfr.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-byAFfb_v.js.map → entry.generated-EtCfrZfr.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CgO0b8V6.js → entry.generated-cMueWbY7.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-CgO0b8V6.js.map → entry.generated-cMueWbY7.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{semantic-observer-DS2ew4dT.js → semantic-observer-BUswpsNx.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{semantic-observer-DS2ew4dT.js.map → semantic-observer-BUswpsNx.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{stream-uyKKe0QF.js → stream-pMBGbBZH.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{stream-uyKKe0QF.js.map → stream-pMBGbBZH.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +109 -109
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +8 -8
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +8 -8
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-k107A8WE.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"../chunks/motion-BRaHJwNf.js";import{t}from"../chunks/capability-motion-
|
|
1
|
+
import{t as e}from"../chunks/motion-BRaHJwNf.js";import{t}from"../chunks/capability-motion-wMoceguq.js";var n=t;export{n as default,e as motion,t as registerMotionCapability};
|
|
2
2
|
//# sourceMappingURL=motion.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,t as r}from"../chunks/capability-sortable-
|
|
1
|
+
import{i as e,n as t,r as n,t as r}from"../chunks/capability-sortable-BurX5yRd.js";var i=r;export{n as createSortableRegistry,i as default,r as registerSortableCapability,t as registerSortableDirective,e as sortable};
|
|
2
2
|
//# sourceMappingURL=sortable.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e,i as t}from"./codecs-Cb1ns_47.js";var n=e=>typeof e==`object`&&!!e&&!(e instanceof FormData)&&!(e instanceof URLSearchParams)&&!(e instanceof HTMLFormElement)&&!(e instanceof Blob)&&!(e instanceof ArrayBuffer),r=e=>structuredClone(e),i=(e,t)=>{if(Object.is(e,t))return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>i(e,t[n]));if(!n(e)||!n(t))return!1;let r=Object.keys(e),a=Object.keys(t);return r.length===a.length&&r.every(n=>Object.hasOwn(t,n)&&i(e[n],t[n]))},a=e=>e!==null&&(typeof e==`object`||typeof e==`function`)&&`then`in e&&typeof e.then==`function`,o=(e=>{if(e.project===void 0==(e.projectEach===void 0))throw Error(`Transition hook ${e.name} requires exactly one projection.`);return Object.freeze(e)}),s=e=>typeof e==`string`?[e]:e,c=(e,t)=>{let n=e.split(`.`),r=t.split(`.`),i=0;for(;n[i]!==void 0&&n[i]===r[i];)i+=1;return i},l=(e,t)=>[...s(e)].sort((e,n)=>c(n,t)-c(e,t))[0]??t,u=({machine:e,hooks:t,root:n,resolveElement:i})=>{let o=new Map(t.map(e=>[e.name,e])),s=new Map,c=new Map,u=new Set,d=!1;if(o.size!==t.length)throw Error(`Transition hook names must be unique.`);t.forEach(e=>{let t=s.get(e.state)??[],n=t[0];if(n&&(n.onDone!==e.onDone||n.onError!==e.onError))throw Error(`Transition hooks sharing ${e.state} must use the same continuations.`);t.push(e),s.set(e.state,t)});let f=t=>!d&&e.getSnapshot().generations[t.path]===t.generation,p=(t,n,r={})=>{e.send({type:n,...r,__state:t.path,__generation:t.generation})},m=(e,t)=>e.projectEach?.(t)??[e.project?.(t)],h=(t,o,s,c,u,d=0)=>{for(let p=d;p<c.length;p+=1){if(!f(t))return;let d=c[p],m=n??d.el,g=i?.({name:o.name,data:s,root:m,registrationEl:d.el});if(g===null)return;let _=g??d.el,v=e.send.bind(e);Object.entries(o.sends??{}).forEach(([t,n])=>{v[t]=(...t)=>e.send(n(...t))});let y=Object.freeze({el:_,root:m,from:l(t.from,t.path),to:t.path,event:Object.freeze({...t.event}),props:r(t.snapshot.props),data:r(s),send:v,signal:u}),b=d.callback(y);if(a(b))return Promise.resolve(b).then(()=>h(t,o,s,c,u,p+1))}},g=e=>{let t=s.get(e.path);if(!t)return;let n=[],r=[],i=new AbortController,o={entry:e,controller:i};u.add(o),t.forEach(t=>{let a=[...c.get(t.name)??[]];if(a.length===0){t.required&&r.push(Error(`Transition hook ${t.name} requires a registered callback.`));return}m(t,e.snapshot).forEach(o=>{try{n.push(h(e,t,o,a,i.signal))}catch(e){r.push(e)}})});let l=t[0],d=(t=[])=>{if(u.delete(o),!f(e))return;let n=[...r,...t][0];n===void 0?p(e,l.onDone):p(e,l.onError,{error:n})},g=n.filter(a);if(g.length===0){d();return}Promise.allSettled(g).then(e=>d(e.flatMap(e=>e.status===`rejected`?[e.reason]:[])))},_=e.subscribeEntries(e=>{g(e)}),v=e.subscribe(()=>{u.forEach(e=>{f(e.entry)||(e.controller.abort(),u.delete(e))})});return{register({name:e,el:t,callback:n}){if(d)throw Error(`Transition coordinator has been destroyed.`);if(!o.has(e))throw Error(`Unknown transition hook: ${e}`);let r={name:e,el:t,callback:n},i=c.get(e)??[];return i.push(r),c.set(e,i),()=>{let t=c.get(e);if(!t)return;let n=t.indexOf(r);n>=0&&t.splice(n,1),t.length===0&&c.delete(e)}},destroy(){d||(d=!0,_(),v(),u.forEach(e=>e.controller.abort()),u.clear(),c.clear())}}},d=new WeakMap,
|
|
2
|
-
//# sourceMappingURL=alpine-machine-
|
|
1
|
+
import{a as e,i as t}from"./codecs-Cb1ns_47.js";var n=e=>typeof e==`object`&&!!e&&!(e instanceof FormData)&&!(e instanceof URLSearchParams)&&!(e instanceof HTMLFormElement)&&!(e instanceof Blob)&&!(e instanceof ArrayBuffer),r=e=>structuredClone(e),i=(e,t)=>{if(Object.is(e,t))return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>i(e,t[n]));if(!n(e)||!n(t))return!1;let r=Object.keys(e),a=Object.keys(t);return r.length===a.length&&r.every(n=>Object.hasOwn(t,n)&&i(e[n],t[n]))},a=e=>e!==null&&(typeof e==`object`||typeof e==`function`)&&`then`in e&&typeof e.then==`function`,o=(e=>{if(e.project===void 0==(e.projectEach===void 0))throw Error(`Transition hook ${e.name} requires exactly one projection.`);return Object.freeze(e)}),s=e=>typeof e==`string`?[e]:e,c=(e,t)=>{let n=e.split(`.`),r=t.split(`.`),i=0;for(;n[i]!==void 0&&n[i]===r[i];)i+=1;return i},l=(e,t)=>[...s(e)].sort((e,n)=>c(n,t)-c(e,t))[0]??t,u=({machine:e,hooks:t,root:n,resolveElement:i})=>{let o=new Map(t.map(e=>[e.name,e])),s=new Map,c=new Map,u=new Set,d=!1;if(o.size!==t.length)throw Error(`Transition hook names must be unique.`);t.forEach(e=>{let t=s.get(e.state)??[],n=t[0];if(n&&(n.onDone!==e.onDone||n.onError!==e.onError))throw Error(`Transition hooks sharing ${e.state} must use the same continuations.`);t.push(e),s.set(e.state,t)});let f=t=>!d&&e.getSnapshot().generations[t.path]===t.generation,p=(t,n,r={})=>{e.send({type:n,...r,__state:t.path,__generation:t.generation})},m=(e,t)=>e.projectEach?.(t)??[e.project?.(t)],h=(t,o,s,c,u,d=0)=>{for(let p=d;p<c.length;p+=1){if(!f(t))return;let d=c[p],m=n??d.el,g=i?.({name:o.name,data:s,root:m,registrationEl:d.el});if(g===null)return;let _=g??d.el,v=e.send.bind(e);Object.entries(o.sends??{}).forEach(([t,n])=>{v[t]=(...t)=>e.send(n(...t))});let y=Object.freeze({el:_,root:m,from:l(t.from,t.path),to:t.path,event:Object.freeze({...t.event}),props:r(t.snapshot.props),data:r(s),send:v,signal:u}),b=d.callback(y);if(a(b))return Promise.resolve(b).then(()=>h(t,o,s,c,u,p+1))}},g=e=>{let t=s.get(e.path);if(!t)return;let n=[],r=[],i=new AbortController,o={entry:e,controller:i};u.add(o),t.forEach(t=>{let a=[...c.get(t.name)??[]];if(a.length===0){t.required&&r.push(Error(`Transition hook ${t.name} requires a registered callback.`));return}m(t,e.snapshot).forEach(o=>{try{n.push(h(e,t,o,a,i.signal))}catch(e){r.push(e)}})});let l=t[0],d=(t=[])=>{if(u.delete(o),!f(e))return;let n=[...r,...t][0];n===void 0?p(e,l.onDone):p(e,l.onError,{error:n})},g=n.filter(a);if(g.length===0){d();return}Promise.allSettled(g).then(e=>d(e.flatMap(e=>e.status===`rejected`?[e.reason]:[])))},_=e.subscribeEntries(e=>{g(e)}),v=e.subscribe(()=>{u.forEach(e=>{f(e.entry)||(e.controller.abort(),u.delete(e))})});return{register({name:e,el:t,callback:n}){if(d)throw Error(`Transition coordinator has been destroyed.`);if(!o.has(e))throw Error(`Unknown transition hook: ${e}`);let r={name:e,el:t,callback:n},i=c.get(e)??[];return i.push(r),c.set(e,i),()=>{let t=c.get(e);if(!t)return;let n=t.indexOf(r);n>=0&&t.splice(n,1),t.length===0&&c.delete(e)}},destroy(){d||(d=!0,_(),v(),u.forEach(e=>e.controller.abort()),u.clear(),c.clear())}}},d=Symbol.for(`trellis-ui.alpine-machine-owner`),f=new WeakMap,p=(e,t)=>{let n=(typeof e.closestDataStack==`function`?e.closestDataStack(t):[]).find(e=>Reflect.get(e,d)===!0);if(n)return n;let r=e.findClosest(t,e=>f.has(e));return r?f.get(r):void 0},m=({schema:n,hooks:r,createMachine:a,resolveTransitionElement:o})=>{let s={current:null},c=s,l=[],p=null,m=null,h=null,g=null,_=null,v=!1,y=()=>{if(!m)throw Error(`Alpine machine has not been initialized.`);return m},b=e=>{!h||!p||!e.active||(e.unregister=h.register({name:e.name,el:e.el??p,callback:e.callback}))},x={snapshot:s,invalidateDom(){v||!m||m.send(`DOM_INVALIDATED`)},connect(d,y=s){if(v)throw Error(`Alpine machine has been destroyed.`);if(m)return;p=d,c=y;let S=e({el:p,schema:n}),C=a({el:p,props:S}),w;try{w=u({machine:C,hooks:r,root:p,...o?{resolveElement:o}:{}})}catch(e){throw C.stop(),p=null,e}m=C,h=w,c.current=m.getSnapshot(),_=m.subscribe(e=>{c.current=e}),f.set(p,x),l.forEach(b);let T=new Map(Object.entries(n).flatMap(([e,n])=>n.meta.attribute?[[t(e,n),e]]:[]));g=new MutationObserver(t=>{if(!p||!m)return;let r=new Set(t.flatMap(({attributeName:e})=>{let t=e?T.get(e):void 0;return t?[t]:[]})),a=e({el:p,schema:n}),o=Object.keys(a).flatMap(e=>{let t=e;return!r.has(t)&&i(S[t],a[t])?[]:[{key:t,previous:S[t],value:a[t],source:`attribute`}]});o.length!==0&&(S=a,m.send({type:`PROPS_CHANGED`,props:a,changes:o}))}),g.observe(p,{attributes:!0,attributeFilter:Object.entries(n).map(([e,n])=>t(e,n))})},disconnect(){v||(v=!0,g?.disconnect(),g=null,_?.(),_=null,h?.destroy(),h=null,m?.stop(),m=null,p&&f.delete(p),Reflect.deleteProperty(x,d),p=null,l.splice(0).forEach(e=>e.unregister?.()),c.current=null,c=s)},getSnapshot(){let e=c.current;if(!e)throw Error(`Alpine machine has not been initialized.`);return e},getCommittedSnapshot(){return y().getSnapshot()},send(e){y().send(e)},matches(e){return y().matches(e)},hasTag(e){return y().hasTag(e)},onTransition(e,t,n){if(v)throw Error(`Alpine machine has been destroyed.`);let r={name:e,callback:t,active:!0};return n&&(r.el=n),l.push(r),b(r),()=>{if(!r.active)return;r.active=!1,r.unregister?.(),delete r.unregister;let e=l.indexOf(r);e>=0&&l.splice(e,1)}}};return Reflect.defineProperty(x,d,{value:!0,configurable:!0}),x};export{n as a,o as i,p as n,i as o,u as r,m as t};
|
|
2
|
+
//# sourceMappingURL=alpine-machine-BS13dbK4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpine-machine-D0Kqjm-1.js","names":[],"sources":["../../../../../../../../client/src/utils/object.ts","../../../../../../../../client/src/runtime/transition-coordinator.ts","../../../../../../../../client/src/runtime/alpine-machine.ts"],"sourcesContent":["const isRecord = (value: unknown): value is Record<string, unknown> => (\n typeof value === 'object'\n && value !== null\n && !(value instanceof FormData)\n && !(value instanceof URLSearchParams)\n && !(value instanceof HTMLFormElement)\n && !(value instanceof Blob)\n && !(value instanceof ArrayBuffer)\n);\n\nconst cloneSerializable = <T>(value: T): T => structuredClone(value);\n\nconst isSerializableEqual = (left: unknown, right: unknown): boolean => {\n if (Object.is(left, right)) return true;\n if (Array.isArray(left) || Array.isArray(right)) {\n return Array.isArray(left)\n && Array.isArray(right)\n && left.length === right.length\n && left.every((value, index) => isSerializableEqual(value, right[index]));\n }\n if (!isRecord(left) || !isRecord(right)) return false;\n const leftKeys = Object.keys(left);\n const rightKeys = Object.keys(right);\n return leftKeys.length === rightKeys.length\n && leftKeys.every((key) => Object.hasOwn(right, key) && isSerializableEqual(left[key], right[key]));\n};\n\nconst isPromiseLike = (value: unknown): value is PromiseLike<unknown> => (\n value !== null\n && (typeof value === 'object' || typeof value === 'function')\n && 'then' in value\n && typeof value.then === 'function'\n);\n\nexport {cloneSerializable, isPromiseLike, isRecord, isSerializableEqual};\n","import type {\n Machine,\n MachineEntry,\n MachineEvent,\n MachineEventObject,\n MachineSnapshot,\n MachineStateValue,\n} from './state-machine';\nimport {cloneSerializable, isPromiseLike} from '../utils';\n\ntype TransitionEventCreator = (...args: never[]) => MachineEvent;\ntype TransitionSend<\n TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n> = ((event: MachineEvent) => void) & (\n string extends keyof TSends\n ? {[name: string]: ((...args: unknown[]) => void) | undefined}\n : {[TName in keyof TSends]: (...args: Parameters<TSends[TName]>) => void}\n);\n\ntype TransitionHookDefinition<\n TContext,\n TProps,\n TData,\n TName extends string = string,\n TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n> = Readonly<{\n name: TName;\n state: string;\n onDone: string;\n onError: string;\n required?: boolean;\n sends?: TSends;\n project?: (snapshot: MachineSnapshot<TContext, TProps>) => TData;\n projectEach?: (snapshot: MachineSnapshot<TContext, TProps>) => readonly TData[];\n}>;\n\ntype AnyTransitionHook<TContext, TProps> = TransitionHookDefinition<TContext, TProps, unknown>;\n\ntype TransitionHookShape = Readonly<{\n name: string;\n state: string;\n onDone: string;\n onError: string;\n required?: boolean;\n sends?: Record<string, TransitionEventCreator>;\n project?: (...args: never[]) => unknown;\n projectEach?: (...args: never[]) => readonly unknown[];\n}>;\n\ntype TransitionContext<\n TProps,\n TData,\n TElement = unknown,\n TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n> = Readonly<{\n el: TElement;\n root: TElement;\n from: string;\n to: string;\n event: MachineEventObject;\n props: TProps;\n data: TData;\n send: TransitionSend<TSends>;\n signal: AbortSignal;\n}>;\n\ntype TransitionCallback<\n TProps,\n TData,\n TElement = unknown,\n TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n> = (\n transition: TransitionContext<TProps, TData, TElement, TSends>,\n) => unknown | Promise<unknown>;\n\ntype HookProjection<THook> = THook extends {project: (snapshot: infer TSnapshot) => infer TData}\n ? {snapshot: TSnapshot; data: TData}\n : THook extends {projectEach: (snapshot: infer TSnapshot) => readonly (infer TData)[]}\n ? {snapshot: TSnapshot; data: TData}\n : never;\ntype HookSends<THook> = THook extends {\n sends: infer TSends extends Record<string, TransitionEventCreator>;\n} ? TSends : Record<never, TransitionEventCreator>;\ntype TransitionForHook<THook, TElement = unknown> = THook extends unknown\n ? HookProjection<THook> extends {\n snapshot: MachineSnapshot<infer _TContext, infer TProps>;\n data: infer TData;\n } ? TransitionContext<TProps, TData, TElement, HookSends<THook>> : never\n : never;\n\ntype TransitionRegistration<TProps, TElement> = {\n name: string;\n el: TElement;\n callback: TransitionCallback<TProps, unknown, TElement>;\n};\n\ntype TransitionCoordinatorOptions<TContext, TProps, TElement> = {\n machine: Machine<TContext, TProps>;\n hooks: readonly AnyTransitionHook<TContext, TProps>[];\n root?: TElement;\n resolveElement?: TransitionElementResolver<TElement>;\n};\n\ntype TransitionElementResolver<TElement> = (scope: Readonly<{\n name: string;\n data: unknown;\n root: TElement;\n registrationEl: TElement;\n}>) => TElement | null | undefined;\n\ntype TransitionCoordinator<TProps, TElement = unknown> = {\n register<TData>(registration: {\n name: string;\n el: TElement;\n callback: TransitionCallback<TProps, TData, TElement>;\n }): () => void;\n destroy(): void;\n};\n\ntype DefineHook = {\n <const TDefinition extends TransitionHookShape>(definition: TDefinition): TDefinition;\n <\n TContext,\n TProps,\n TData,\n const TName extends string,\n const TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n >(definition: TransitionHookDefinition<TContext, TProps, TData, TName, TSends>): typeof definition;\n};\n\nconst defineHook = ((definition: TransitionHookShape): TransitionHookShape => {\n if ((definition.project === undefined) === (definition.projectEach === undefined)) {\n throw new Error(`Transition hook ${definition.name} requires exactly one projection.`);\n }\n return Object.freeze(definition);\n}) as DefineHook;\n\nconst statePaths = (value: MachineStateValue): readonly string[] => (\n typeof value === 'string' ? [value] : value\n);\n\nconst commonPrefixLength = (left: string, right: string): number => {\n const leftParts = left.split('.');\n const rightParts = right.split('.');\n let index = 0;\n while (leftParts[index] !== undefined && leftParts[index] === rightParts[index]) index += 1;\n return index;\n};\n\nconst closestStatePath = (value: MachineStateValue, enteredPath: string): string => {\n const paths = statePaths(value);\n return [...paths].sort((left, right) => (\n commonPrefixLength(right, enteredPath) - commonPrefixLength(left, enteredPath)\n ))[0] ?? enteredPath;\n};\n\nconst createTransitionCoordinator = <TContext, TProps, TElement = unknown>({\n machine,\n hooks,\n root: ownerRoot,\n resolveElement,\n}: TransitionCoordinatorOptions<TContext, TProps, TElement>): TransitionCoordinator<TProps, TElement> => {\n const hooksByName = new Map(hooks.map((hook) => [hook.name, hook]));\n const hooksByState = new Map<string, AnyTransitionHook<TContext, TProps>[]>();\n const registrations = new Map<string, TransitionRegistration<TProps, TElement>[]>();\n const activeRuns = new Set<{entry: MachineEntry<TContext, TProps>; controller: AbortController}>();\n let destroyed = false;\n\n if (hooksByName.size !== hooks.length) throw new Error('Transition hook names must be unique.');\n hooks.forEach((hook) => {\n const grouped = hooksByState.get(hook.state) ?? [];\n const first = grouped[0];\n if (first && (first.onDone !== hook.onDone || first.onError !== hook.onError)) {\n throw new Error(`Transition hooks sharing ${hook.state} must use the same continuations.`);\n }\n grouped.push(hook);\n hooksByState.set(hook.state, grouped);\n });\n\n const isActive = (entry: MachineEntry<TContext, TProps>): boolean => (\n !destroyed && machine.getSnapshot().generations[entry.path] === entry.generation\n );\n\n const continuation = (\n entry: MachineEntry<TContext, TProps>,\n type: string,\n detail: Record<string, unknown> = {},\n ): void => {\n machine.send({\n type,\n ...detail,\n __state: entry.path,\n __generation: entry.generation,\n });\n };\n\n const projections = (\n hook: AnyTransitionHook<TContext, TProps>,\n snapshot: MachineSnapshot<TContext, TProps>,\n ): readonly unknown[] => hook.projectEach?.(snapshot) ?? [hook.project?.(snapshot)];\n\n const runQueue = (\n entry: MachineEntry<TContext, TProps>,\n hook: AnyTransitionHook<TContext, TProps>,\n data: unknown,\n queue: TransitionRegistration<TProps, TElement>[],\n signal: AbortSignal,\n index = 0,\n ): void | Promise<void> => {\n for (let cursor = index; cursor < queue.length; cursor += 1) {\n if (!isActive(entry)) return;\n const registration = queue[cursor] as TransitionRegistration<TProps, TElement>;\n const root = ownerRoot ?? registration.el;\n const resolved = resolveElement?.({\n name: hook.name,\n data,\n root,\n registrationEl: registration.el,\n });\n if (resolved === null) return;\n const el = resolved ?? registration.el;\n const send = machine.send.bind(machine) as TransitionSend;\n Object.entries(hook.sends ?? {}).forEach(([name, createEvent]) => {\n send[name] = (...args: unknown[]) => machine.send(createEvent(...args as never[]));\n });\n const transition = Object.freeze({\n el,\n root,\n from: closestStatePath(entry.from, entry.path),\n to: entry.path,\n event: Object.freeze({...entry.event}),\n props: cloneSerializable(entry.snapshot.props),\n data: cloneSerializable(data),\n send,\n signal,\n }) as TransitionContext<TProps, unknown, TElement>;\n const result = registration.callback(transition);\n if (isPromiseLike(result)) {\n return Promise.resolve(result).then(() => runQueue(entry, hook, data, queue, signal, cursor + 1));\n }\n }\n };\n\n const runEntry = (entry: MachineEntry<TContext, TProps>): void => {\n const groupedHooks = hooksByState.get(entry.path);\n if (!groupedHooks) return;\n const results: Array<void | Promise<void>> = [];\n const errors: unknown[] = [];\n const controller = new AbortController();\n const activeRun = {entry, controller};\n activeRuns.add(activeRun);\n\n groupedHooks.forEach((hook) => {\n const queue = [...registrations.get(hook.name) ?? []];\n if (queue.length === 0) {\n if (hook.required) errors.push(new Error(`Transition hook ${hook.name} requires a registered callback.`));\n return;\n }\n projections(hook, entry.snapshot).forEach((data) => {\n try {\n results.push(runQueue(entry, hook, data, queue, controller.signal));\n } catch (error) {\n errors.push(error);\n }\n });\n });\n\n const first = groupedHooks[0] as AnyTransitionHook<TContext, TProps>;\n const finish = (asyncErrors: unknown[] = []): void => {\n activeRuns.delete(activeRun);\n if (!isActive(entry)) return;\n const failure = [...errors, ...asyncErrors][0];\n if (failure !== undefined) {\n continuation(entry, first.onError, {error: failure});\n } else {\n continuation(entry, first.onDone);\n }\n };\n const pending = results.filter(isPromiseLike);\n if (pending.length === 0) {\n finish();\n return;\n }\n void Promise.allSettled(pending).then((settled) => finish(settled.flatMap((result) => (\n result.status === 'rejected' ? [result.reason] : []\n ))));\n };\n\n const unsubscribe = machine.subscribeEntries((entry) => {\n runEntry(entry);\n });\n const unsubscribeSnapshot = machine.subscribe(() => {\n activeRuns.forEach((run) => {\n if (isActive(run.entry)) return;\n run.controller.abort();\n activeRuns.delete(run);\n });\n });\n\n return {\n register<TData>({name, el, callback}: {\n name: string;\n el: TElement;\n callback: TransitionCallback<TProps, TData, TElement>;\n }): () => void {\n if (destroyed) throw new Error('Transition coordinator has been destroyed.');\n if (!hooksByName.has(name)) throw new Error(`Unknown transition hook: ${name}`);\n\n const registration: TransitionRegistration<TProps, TElement> = {\n name,\n el,\n callback: callback as TransitionCallback<TProps, unknown, TElement>,\n };\n const queue = registrations.get(name) ?? [];\n queue.push(registration);\n registrations.set(name, queue);\n\n return () => {\n const current = registrations.get(name);\n if (!current) return;\n const index = current.indexOf(registration);\n if (index >= 0) current.splice(index, 1);\n if (current.length === 0) registrations.delete(name);\n };\n },\n destroy(): void {\n if (destroyed) return;\n destroyed = true;\n unsubscribe();\n unsubscribeSnapshot();\n activeRuns.forEach((run) => run.controller.abort());\n activeRuns.clear();\n registrations.clear();\n },\n };\n};\n\nexport {createTransitionCoordinator, defineHook};\nexport type {\n AnyTransitionHook,\n TransitionCallback,\n TransitionContext,\n TransitionCoordinator,\n TransitionCoordinatorOptions,\n TransitionEventCreator,\n TransitionForHook,\n TransitionSend,\n TransitionElementResolver,\n TransitionHookDefinition,\n};\n","import type Alpine from 'alpinejs';\n\nimport {\n decodeProps,\n dataAttributeForSchemaProp,\n type CodecFn,\n type PropChange,\n type SchemaToProps,\n} from './codecs';\nimport {\n createTransitionCoordinator,\n type AnyTransitionHook,\n type TransitionCallback,\n type TransitionCoordinator,\n type TransitionForHook,\n} from './transition-coordinator';\nimport type {Machine, MachineEvent, MachineSnapshot} from './state-machine';\nimport {isSerializableEqual} from '../utils';\n\ntype MachineElement = HTMLElement & Alpine.ElementWithXAttributes;\ntype MachineSchema = Record<string, CodecFn<unknown>>;\ntype MachineProps<TSchema extends MachineSchema> = SchemaToProps<TSchema>;\ntype TransitionHookLike = {\n name: string;\n state: string;\n project?: (...args: never[]) => unknown;\n projectEach?: (...args: never[]) => readonly unknown[];\n onDone: string;\n onError: string;\n};\ntype HookName<THooks extends readonly {name: string}[]> = THooks[number]['name'];\ntype HookForName<THooks, TName> = Extract<THooks extends readonly unknown[] ? THooks[number] : never, {name: TName}>;\n\ntype AlpinePropsChangedEvent<TSchema extends MachineSchema> = {\n type: 'PROPS_CHANGED';\n props: MachineProps<TSchema>;\n changes: Array<PropChange<TSchema>>;\n};\n\ntype MachineFactoryScope<TSchema extends MachineSchema> = {\n el: MachineElement;\n props: MachineProps<TSchema>;\n};\n\ntype CreateAlpineMachineOptions<\n TContext,\n TSchema extends MachineSchema,\n THooks extends readonly TransitionHookLike[],\n> = {\n schema: TSchema;\n hooks: THooks;\n createMachine(scope: MachineFactoryScope<TSchema>): Machine<TContext, MachineProps<TSchema>>;\n resolveTransitionElement?(scope: Readonly<{\n name: string;\n data: unknown;\n root: MachineElement;\n registrationEl: MachineElement;\n }>): MachineElement | null | undefined;\n};\n\ntype AlpineMachineOwner<TProps = unknown> = {\n invalidateDom(): void;\n onTransition<TData>(\n name: string,\n callback: TransitionCallback<TProps, TData, MachineElement>,\n el?: MachineElement,\n ): () => void;\n};\n\ntype AlpineMachine<\n TContext,\n TProps,\n THooks extends readonly TransitionHookLike[],\n> = Omit<AlpineMachineOwner<TProps>, 'onTransition'> & {\n snapshot: {current: MachineSnapshot<TContext, TProps> | null};\n connect(\n el: MachineElement,\n snapshot?: {current: MachineSnapshot<TContext, TProps> | null},\n ): void;\n disconnect(): void;\n getSnapshot(): MachineSnapshot<TContext, TProps>;\n getCommittedSnapshot(): MachineSnapshot<TContext, TProps>;\n send(event: MachineEvent): void;\n matches(state: string): boolean;\n hasTag(tag: string): boolean;\n onTransition<TName extends HookName<THooks>>(\n name: TName,\n callback: (transition: TransitionForHook<HookForName<THooks, TName>, MachineElement>) => unknown | Promise<unknown>,\n el?: MachineElement,\n ): () => void;\n};\n\ntype PendingTransition<TProps> = {\n name: string;\n callback: TransitionCallback<TProps, unknown, MachineElement>;\n el?: MachineElement;\n unregister?: () => void;\n active: boolean;\n};\n\nconst owners = new WeakMap<Element, AlpineMachineOwner>();\n\nconst findAlpineMachineOwner = (\n AlpineInstance: Alpine.Alpine,\n el: Element,\n): AlpineMachineOwner | undefined => {\n const owner = AlpineInstance.findClosest(el, (candidate) => owners.has(candidate));\n return owner ? owners.get(owner) : undefined;\n};\n\nconst createAlpineMachine = <\n TContext,\n TSchema extends MachineSchema,\n const THooks extends readonly TransitionHookLike[],\n>({\n schema,\n hooks,\n createMachine: machineFactory,\n resolveTransitionElement,\n}: CreateAlpineMachineOptions<TContext, TSchema, THooks>): AlpineMachine<TContext, MachineProps<TSchema>, THooks> => {\n type TProps = MachineProps<TSchema>;\n\n const snapshot: {current: MachineSnapshot<TContext, TProps> | null} = {current: null};\n let snapshotMirror = snapshot;\n const pending: PendingTransition<TProps>[] = [];\n let root: MachineElement | null = null;\n let machine: Machine<TContext, TProps> | null = null;\n let coordinator: TransitionCoordinator<TProps, MachineElement> | null = null;\n let observer: MutationObserver | null = null;\n let unsubscribeSnapshot: (() => void) | null = null;\n let destroyed = false;\n\n const requireMachine = (): Machine<TContext, TProps> => {\n if (!machine) throw new Error('Alpine machine has not been initialized.');\n return machine;\n };\n\n const registerPending = (registration: PendingTransition<TProps>): void => {\n if (!coordinator || !root || !registration.active) return;\n registration.unregister = coordinator.register({\n name: registration.name,\n el: registration.el ?? root,\n callback: registration.callback,\n });\n };\n\n const component: AlpineMachine<TContext, TProps, THooks> = {\n snapshot,\n invalidateDom(): void {\n if (destroyed || !machine) return;\n machine.send('DOM_INVALIDATED');\n },\n connect(el, reactiveSnapshot = snapshot): void {\n if (destroyed) throw new Error('Alpine machine has been destroyed.');\n if (machine) return;\n\n root = el;\n snapshotMirror = reactiveSnapshot;\n let props = decodeProps({el: root, schema});\n const createdMachine = machineFactory({el: root, props});\n let createdCoordinator: TransitionCoordinator<TProps, MachineElement>;\n try {\n createdCoordinator = createTransitionCoordinator<TContext, TProps, MachineElement>({\n machine: createdMachine,\n hooks: hooks as unknown as readonly AnyTransitionHook<TContext, TProps>[],\n root,\n ...(resolveTransitionElement ? {resolveElement: resolveTransitionElement} : {}),\n });\n } catch (error) {\n createdMachine.stop();\n root = null;\n throw error;\n }\n machine = createdMachine;\n coordinator = createdCoordinator;\n snapshotMirror.current = machine.getSnapshot();\n unsubscribeSnapshot = machine.subscribe((nextSnapshot) => {\n snapshotMirror.current = nextSnapshot;\n });\n owners.set(root, component as unknown as AlpineMachineOwner);\n pending.forEach(registerPending);\n\n const authoritativePropByAttribute = new Map(Object.entries(schema).flatMap(([key, codec]) => codec.meta.attribute ? [[\n dataAttributeForSchemaProp(key, codec),\n key as keyof TProps & string,\n ] as const] : []));\n observer = new MutationObserver((mutations) => {\n if (!root || !machine) return;\n const touched = new Set(mutations.flatMap(({attributeName}) => {\n const key = attributeName ? authoritativePropByAttribute.get(attributeName) : undefined;\n return key ? [key] : [];\n }));\n const nextProps = decodeProps({el: root, schema});\n const changes = Object.keys(nextProps).flatMap((key) => {\n const typedKey = key as keyof TProps & string;\n if (!touched.has(typedKey) && isSerializableEqual(props[typedKey], nextProps[typedKey])) return [];\n return [{\n key: typedKey,\n previous: props[typedKey],\n value: nextProps[typedKey],\n source: 'attribute' as const,\n } as PropChange<TSchema>];\n });\n if (changes.length === 0) return;\n props = nextProps;\n machine.send({type: 'PROPS_CHANGED', props: nextProps, changes});\n });\n observer.observe(root, {\n attributes: true,\n attributeFilter: Object.entries(schema).map(([key, codec]) => dataAttributeForSchemaProp(key, codec)),\n });\n },\n disconnect(): void {\n if (destroyed) return;\n destroyed = true;\n observer?.disconnect();\n observer = null;\n unsubscribeSnapshot?.();\n unsubscribeSnapshot = null;\n coordinator?.destroy();\n coordinator = null;\n machine?.stop();\n machine = null;\n if (root) owners.delete(root);\n root = null;\n pending.splice(0).forEach((registration) => registration.unregister?.());\n snapshotMirror.current = null;\n snapshotMirror = snapshot;\n },\n getSnapshot(): MachineSnapshot<TContext, TProps> {\n const current = snapshotMirror.current;\n if (!current) throw new Error('Alpine machine has not been initialized.');\n return current;\n },\n getCommittedSnapshot(): MachineSnapshot<TContext, TProps> {\n return requireMachine().getSnapshot();\n },\n send(event): void {\n requireMachine().send(event);\n },\n matches(state): boolean {\n return requireMachine().matches(state);\n },\n hasTag(tag): boolean {\n return requireMachine().hasTag(tag);\n },\n onTransition<TName extends HookName<THooks>>(\n name: TName,\n callback: (transition: TransitionForHook<HookForName<THooks, TName>, MachineElement>) => unknown | Promise<unknown>,\n el?: MachineElement,\n ): () => void {\n if (destroyed) throw new Error('Alpine machine has been destroyed.');\n const registration: PendingTransition<TProps> = {\n name,\n callback: callback as TransitionCallback<TProps, unknown, MachineElement>,\n active: true,\n };\n if (el) registration.el = el;\n pending.push(registration);\n registerPending(registration);\n\n return () => {\n if (!registration.active) return;\n registration.active = false;\n registration.unregister?.();\n delete registration.unregister;\n const index = pending.indexOf(registration);\n if (index >= 0) pending.splice(index, 1);\n };\n },\n };\n\n return component;\n};\n\nexport {createAlpineMachine, findAlpineMachineOwner};\nexport type {\n AlpineMachine,\n AlpineMachineOwner,\n AlpinePropsChangedEvent,\n CreateAlpineMachineOptions,\n MachineFactoryScope,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"alpine-machine-BS13dbK4.js","names":[],"sources":["../../../../../../../../client/src/utils/object.ts","../../../../../../../../client/src/runtime/transition-coordinator.ts","../../../../../../../../client/src/runtime/alpine-machine.ts"],"sourcesContent":["const isRecord = (value: unknown): value is Record<string, unknown> => (\n typeof value === 'object'\n && value !== null\n && !(value instanceof FormData)\n && !(value instanceof URLSearchParams)\n && !(value instanceof HTMLFormElement)\n && !(value instanceof Blob)\n && !(value instanceof ArrayBuffer)\n);\n\nconst cloneSerializable = <T>(value: T): T => structuredClone(value);\n\nconst isSerializableEqual = (left: unknown, right: unknown): boolean => {\n if (Object.is(left, right)) return true;\n if (Array.isArray(left) || Array.isArray(right)) {\n return Array.isArray(left)\n && Array.isArray(right)\n && left.length === right.length\n && left.every((value, index) => isSerializableEqual(value, right[index]));\n }\n if (!isRecord(left) || !isRecord(right)) return false;\n const leftKeys = Object.keys(left);\n const rightKeys = Object.keys(right);\n return leftKeys.length === rightKeys.length\n && leftKeys.every((key) => Object.hasOwn(right, key) && isSerializableEqual(left[key], right[key]));\n};\n\nconst isPromiseLike = (value: unknown): value is PromiseLike<unknown> => (\n value !== null\n && (typeof value === 'object' || typeof value === 'function')\n && 'then' in value\n && typeof value.then === 'function'\n);\n\nexport {cloneSerializable, isPromiseLike, isRecord, isSerializableEqual};\n","import type {\n Machine,\n MachineEntry,\n MachineEvent,\n MachineEventObject,\n MachineSnapshot,\n MachineStateValue,\n} from './state-machine';\nimport {cloneSerializable, isPromiseLike} from '../utils';\n\ntype TransitionEventCreator = (...args: never[]) => MachineEvent;\ntype TransitionSend<\n TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n> = ((event: MachineEvent) => void) & (\n string extends keyof TSends\n ? {[name: string]: ((...args: unknown[]) => void) | undefined}\n : {[TName in keyof TSends]: (...args: Parameters<TSends[TName]>) => void}\n);\n\ntype TransitionHookDefinition<\n TContext,\n TProps,\n TData,\n TName extends string = string,\n TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n> = Readonly<{\n name: TName;\n state: string;\n onDone: string;\n onError: string;\n required?: boolean;\n sends?: TSends;\n project?: (snapshot: MachineSnapshot<TContext, TProps>) => TData;\n projectEach?: (snapshot: MachineSnapshot<TContext, TProps>) => readonly TData[];\n}>;\n\ntype AnyTransitionHook<TContext, TProps> = TransitionHookDefinition<TContext, TProps, unknown>;\n\ntype TransitionHookShape = Readonly<{\n name: string;\n state: string;\n onDone: string;\n onError: string;\n required?: boolean;\n sends?: Record<string, TransitionEventCreator>;\n project?: (...args: never[]) => unknown;\n projectEach?: (...args: never[]) => readonly unknown[];\n}>;\n\ntype TransitionContext<\n TProps,\n TData,\n TElement = unknown,\n TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n> = Readonly<{\n el: TElement;\n root: TElement;\n from: string;\n to: string;\n event: MachineEventObject;\n props: TProps;\n data: TData;\n send: TransitionSend<TSends>;\n signal: AbortSignal;\n}>;\n\ntype TransitionCallback<\n TProps,\n TData,\n TElement = unknown,\n TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n> = (\n transition: TransitionContext<TProps, TData, TElement, TSends>,\n) => unknown | Promise<unknown>;\n\ntype HookProjection<THook> = THook extends {project: (snapshot: infer TSnapshot) => infer TData}\n ? {snapshot: TSnapshot; data: TData}\n : THook extends {projectEach: (snapshot: infer TSnapshot) => readonly (infer TData)[]}\n ? {snapshot: TSnapshot; data: TData}\n : never;\ntype HookSends<THook> = THook extends {\n sends: infer TSends extends Record<string, TransitionEventCreator>;\n} ? TSends : Record<never, TransitionEventCreator>;\ntype TransitionForHook<THook, TElement = unknown> = THook extends unknown\n ? HookProjection<THook> extends {\n snapshot: MachineSnapshot<infer _TContext, infer TProps>;\n data: infer TData;\n } ? TransitionContext<TProps, TData, TElement, HookSends<THook>> : never\n : never;\n\ntype TransitionRegistration<TProps, TElement> = {\n name: string;\n el: TElement;\n callback: TransitionCallback<TProps, unknown, TElement>;\n};\n\ntype TransitionCoordinatorOptions<TContext, TProps, TElement> = {\n machine: Machine<TContext, TProps>;\n hooks: readonly AnyTransitionHook<TContext, TProps>[];\n root?: TElement;\n resolveElement?: TransitionElementResolver<TElement>;\n};\n\ntype TransitionElementResolver<TElement> = (scope: Readonly<{\n name: string;\n data: unknown;\n root: TElement;\n registrationEl: TElement;\n}>) => TElement | null | undefined;\n\ntype TransitionCoordinator<TProps, TElement = unknown> = {\n register<TData>(registration: {\n name: string;\n el: TElement;\n callback: TransitionCallback<TProps, TData, TElement>;\n }): () => void;\n destroy(): void;\n};\n\ntype DefineHook = {\n <const TDefinition extends TransitionHookShape>(definition: TDefinition): TDefinition;\n <\n TContext,\n TProps,\n TData,\n const TName extends string,\n const TSends extends Record<string, TransitionEventCreator> = Record<string, TransitionEventCreator>,\n >(definition: TransitionHookDefinition<TContext, TProps, TData, TName, TSends>): typeof definition;\n};\n\nconst defineHook = ((definition: TransitionHookShape): TransitionHookShape => {\n if ((definition.project === undefined) === (definition.projectEach === undefined)) {\n throw new Error(`Transition hook ${definition.name} requires exactly one projection.`);\n }\n return Object.freeze(definition);\n}) as DefineHook;\n\nconst statePaths = (value: MachineStateValue): readonly string[] => (\n typeof value === 'string' ? [value] : value\n);\n\nconst commonPrefixLength = (left: string, right: string): number => {\n const leftParts = left.split('.');\n const rightParts = right.split('.');\n let index = 0;\n while (leftParts[index] !== undefined && leftParts[index] === rightParts[index]) index += 1;\n return index;\n};\n\nconst closestStatePath = (value: MachineStateValue, enteredPath: string): string => {\n const paths = statePaths(value);\n return [...paths].sort((left, right) => (\n commonPrefixLength(right, enteredPath) - commonPrefixLength(left, enteredPath)\n ))[0] ?? enteredPath;\n};\n\nconst createTransitionCoordinator = <TContext, TProps, TElement = unknown>({\n machine,\n hooks,\n root: ownerRoot,\n resolveElement,\n}: TransitionCoordinatorOptions<TContext, TProps, TElement>): TransitionCoordinator<TProps, TElement> => {\n const hooksByName = new Map(hooks.map((hook) => [hook.name, hook]));\n const hooksByState = new Map<string, AnyTransitionHook<TContext, TProps>[]>();\n const registrations = new Map<string, TransitionRegistration<TProps, TElement>[]>();\n const activeRuns = new Set<{entry: MachineEntry<TContext, TProps>; controller: AbortController}>();\n let destroyed = false;\n\n if (hooksByName.size !== hooks.length) throw new Error('Transition hook names must be unique.');\n hooks.forEach((hook) => {\n const grouped = hooksByState.get(hook.state) ?? [];\n const first = grouped[0];\n if (first && (first.onDone !== hook.onDone || first.onError !== hook.onError)) {\n throw new Error(`Transition hooks sharing ${hook.state} must use the same continuations.`);\n }\n grouped.push(hook);\n hooksByState.set(hook.state, grouped);\n });\n\n const isActive = (entry: MachineEntry<TContext, TProps>): boolean => (\n !destroyed && machine.getSnapshot().generations[entry.path] === entry.generation\n );\n\n const continuation = (\n entry: MachineEntry<TContext, TProps>,\n type: string,\n detail: Record<string, unknown> = {},\n ): void => {\n machine.send({\n type,\n ...detail,\n __state: entry.path,\n __generation: entry.generation,\n });\n };\n\n const projections = (\n hook: AnyTransitionHook<TContext, TProps>,\n snapshot: MachineSnapshot<TContext, TProps>,\n ): readonly unknown[] => hook.projectEach?.(snapshot) ?? [hook.project?.(snapshot)];\n\n const runQueue = (\n entry: MachineEntry<TContext, TProps>,\n hook: AnyTransitionHook<TContext, TProps>,\n data: unknown,\n queue: TransitionRegistration<TProps, TElement>[],\n signal: AbortSignal,\n index = 0,\n ): void | Promise<void> => {\n for (let cursor = index; cursor < queue.length; cursor += 1) {\n if (!isActive(entry)) return;\n const registration = queue[cursor] as TransitionRegistration<TProps, TElement>;\n const root = ownerRoot ?? registration.el;\n const resolved = resolveElement?.({\n name: hook.name,\n data,\n root,\n registrationEl: registration.el,\n });\n if (resolved === null) return;\n const el = resolved ?? registration.el;\n const send = machine.send.bind(machine) as TransitionSend;\n Object.entries(hook.sends ?? {}).forEach(([name, createEvent]) => {\n send[name] = (...args: unknown[]) => machine.send(createEvent(...args as never[]));\n });\n const transition = Object.freeze({\n el,\n root,\n from: closestStatePath(entry.from, entry.path),\n to: entry.path,\n event: Object.freeze({...entry.event}),\n props: cloneSerializable(entry.snapshot.props),\n data: cloneSerializable(data),\n send,\n signal,\n }) as TransitionContext<TProps, unknown, TElement>;\n const result = registration.callback(transition);\n if (isPromiseLike(result)) {\n return Promise.resolve(result).then(() => runQueue(entry, hook, data, queue, signal, cursor + 1));\n }\n }\n };\n\n const runEntry = (entry: MachineEntry<TContext, TProps>): void => {\n const groupedHooks = hooksByState.get(entry.path);\n if (!groupedHooks) return;\n const results: Array<void | Promise<void>> = [];\n const errors: unknown[] = [];\n const controller = new AbortController();\n const activeRun = {entry, controller};\n activeRuns.add(activeRun);\n\n groupedHooks.forEach((hook) => {\n const queue = [...registrations.get(hook.name) ?? []];\n if (queue.length === 0) {\n if (hook.required) errors.push(new Error(`Transition hook ${hook.name} requires a registered callback.`));\n return;\n }\n projections(hook, entry.snapshot).forEach((data) => {\n try {\n results.push(runQueue(entry, hook, data, queue, controller.signal));\n } catch (error) {\n errors.push(error);\n }\n });\n });\n\n const first = groupedHooks[0] as AnyTransitionHook<TContext, TProps>;\n const finish = (asyncErrors: unknown[] = []): void => {\n activeRuns.delete(activeRun);\n if (!isActive(entry)) return;\n const failure = [...errors, ...asyncErrors][0];\n if (failure !== undefined) {\n continuation(entry, first.onError, {error: failure});\n } else {\n continuation(entry, first.onDone);\n }\n };\n const pending = results.filter(isPromiseLike);\n if (pending.length === 0) {\n finish();\n return;\n }\n void Promise.allSettled(pending).then((settled) => finish(settled.flatMap((result) => (\n result.status === 'rejected' ? [result.reason] : []\n ))));\n };\n\n const unsubscribe = machine.subscribeEntries((entry) => {\n runEntry(entry);\n });\n const unsubscribeSnapshot = machine.subscribe(() => {\n activeRuns.forEach((run) => {\n if (isActive(run.entry)) return;\n run.controller.abort();\n activeRuns.delete(run);\n });\n });\n\n return {\n register<TData>({name, el, callback}: {\n name: string;\n el: TElement;\n callback: TransitionCallback<TProps, TData, TElement>;\n }): () => void {\n if (destroyed) throw new Error('Transition coordinator has been destroyed.');\n if (!hooksByName.has(name)) throw new Error(`Unknown transition hook: ${name}`);\n\n const registration: TransitionRegistration<TProps, TElement> = {\n name,\n el,\n callback: callback as TransitionCallback<TProps, unknown, TElement>,\n };\n const queue = registrations.get(name) ?? [];\n queue.push(registration);\n registrations.set(name, queue);\n\n return () => {\n const current = registrations.get(name);\n if (!current) return;\n const index = current.indexOf(registration);\n if (index >= 0) current.splice(index, 1);\n if (current.length === 0) registrations.delete(name);\n };\n },\n destroy(): void {\n if (destroyed) return;\n destroyed = true;\n unsubscribe();\n unsubscribeSnapshot();\n activeRuns.forEach((run) => run.controller.abort());\n activeRuns.clear();\n registrations.clear();\n },\n };\n};\n\nexport {createTransitionCoordinator, defineHook};\nexport type {\n AnyTransitionHook,\n TransitionCallback,\n TransitionContext,\n TransitionCoordinator,\n TransitionCoordinatorOptions,\n TransitionEventCreator,\n TransitionForHook,\n TransitionSend,\n TransitionElementResolver,\n TransitionHookDefinition,\n};\n","import type Alpine from 'alpinejs';\n\nimport {\n decodeProps,\n dataAttributeForSchemaProp,\n type CodecFn,\n type PropChange,\n type SchemaToProps,\n} from './codecs';\nimport {\n createTransitionCoordinator,\n type AnyTransitionHook,\n type TransitionCallback,\n type TransitionCoordinator,\n type TransitionForHook,\n} from './transition-coordinator';\nimport type {Machine, MachineEvent, MachineSnapshot} from './state-machine';\nimport {isSerializableEqual} from '../utils';\n\ntype MachineElement = HTMLElement & Alpine.ElementWithXAttributes;\ntype MachineSchema = Record<string, CodecFn<unknown>>;\ntype MachineProps<TSchema extends MachineSchema> = SchemaToProps<TSchema>;\ntype TransitionHookLike = {\n name: string;\n state: string;\n project?: (...args: never[]) => unknown;\n projectEach?: (...args: never[]) => readonly unknown[];\n onDone: string;\n onError: string;\n};\ntype HookName<THooks extends readonly {name: string}[]> = THooks[number]['name'];\ntype HookForName<THooks, TName> = Extract<THooks extends readonly unknown[] ? THooks[number] : never, {name: TName}>;\n\ntype AlpinePropsChangedEvent<TSchema extends MachineSchema> = {\n type: 'PROPS_CHANGED';\n props: MachineProps<TSchema>;\n changes: Array<PropChange<TSchema>>;\n};\n\ntype MachineFactoryScope<TSchema extends MachineSchema> = {\n el: MachineElement;\n props: MachineProps<TSchema>;\n};\n\ntype CreateAlpineMachineOptions<\n TContext,\n TSchema extends MachineSchema,\n THooks extends readonly TransitionHookLike[],\n> = {\n schema: TSchema;\n hooks: THooks;\n createMachine(scope: MachineFactoryScope<TSchema>): Machine<TContext, MachineProps<TSchema>>;\n resolveTransitionElement?(scope: Readonly<{\n name: string;\n data: unknown;\n root: MachineElement;\n registrationEl: MachineElement;\n }>): MachineElement | null | undefined;\n};\n\ntype AlpineMachineOwner<TProps = unknown> = {\n invalidateDom(): void;\n onTransition<TData>(\n name: string,\n callback: TransitionCallback<TProps, TData, MachineElement>,\n el?: MachineElement,\n ): () => void;\n};\n\ntype AlpineMachine<\n TContext,\n TProps,\n THooks extends readonly TransitionHookLike[],\n> = Omit<AlpineMachineOwner<TProps>, 'onTransition'> & {\n snapshot: {current: MachineSnapshot<TContext, TProps> | null};\n connect(\n el: MachineElement,\n snapshot?: {current: MachineSnapshot<TContext, TProps> | null},\n ): void;\n disconnect(): void;\n getSnapshot(): MachineSnapshot<TContext, TProps>;\n getCommittedSnapshot(): MachineSnapshot<TContext, TProps>;\n send(event: MachineEvent): void;\n matches(state: string): boolean;\n hasTag(tag: string): boolean;\n onTransition<TName extends HookName<THooks>>(\n name: TName,\n callback: (transition: TransitionForHook<HookForName<THooks, TName>, MachineElement>) => unknown | Promise<unknown>,\n el?: MachineElement,\n ): () => void;\n};\n\ntype PendingTransition<TProps> = {\n name: string;\n callback: TransitionCallback<TProps, unknown, MachineElement>;\n el?: MachineElement;\n unregister?: () => void;\n active: boolean;\n};\n\nconst alpineMachineOwner = Symbol.for('trellis-ui.alpine-machine-owner');\nconst owners = new WeakMap<Element, AlpineMachineOwner>();\n\nconst findAlpineMachineOwner = (\n AlpineInstance: Alpine.Alpine,\n el: Element,\n): AlpineMachineOwner | undefined => {\n const dataStack = typeof AlpineInstance.closestDataStack === 'function'\n ? AlpineInstance.closestDataStack(el as Alpine.ElementWithXAttributes)\n : [];\n const scopedOwner = dataStack.find((scope) => Reflect.get(scope, alpineMachineOwner) === true);\n if (scopedOwner) return scopedOwner as AlpineMachineOwner;\n\n const owner = AlpineInstance.findClosest(el, (candidate) => owners.has(candidate));\n return owner ? owners.get(owner) : undefined;\n};\n\nconst createAlpineMachine = <\n TContext,\n TSchema extends MachineSchema,\n const THooks extends readonly TransitionHookLike[],\n>({\n schema,\n hooks,\n createMachine: machineFactory,\n resolveTransitionElement,\n}: CreateAlpineMachineOptions<TContext, TSchema, THooks>): AlpineMachine<TContext, MachineProps<TSchema>, THooks> => {\n type TProps = MachineProps<TSchema>;\n\n const snapshot: {current: MachineSnapshot<TContext, TProps> | null} = {current: null};\n let snapshotMirror = snapshot;\n const pending: PendingTransition<TProps>[] = [];\n let root: MachineElement | null = null;\n let machine: Machine<TContext, TProps> | null = null;\n let coordinator: TransitionCoordinator<TProps, MachineElement> | null = null;\n let observer: MutationObserver | null = null;\n let unsubscribeSnapshot: (() => void) | null = null;\n let destroyed = false;\n\n const requireMachine = (): Machine<TContext, TProps> => {\n if (!machine) throw new Error('Alpine machine has not been initialized.');\n return machine;\n };\n\n const registerPending = (registration: PendingTransition<TProps>): void => {\n if (!coordinator || !root || !registration.active) return;\n registration.unregister = coordinator.register({\n name: registration.name,\n el: registration.el ?? root,\n callback: registration.callback,\n });\n };\n\n const component: AlpineMachine<TContext, TProps, THooks> = {\n snapshot,\n invalidateDom(): void {\n if (destroyed || !machine) return;\n machine.send('DOM_INVALIDATED');\n },\n connect(el, reactiveSnapshot = snapshot): void {\n if (destroyed) throw new Error('Alpine machine has been destroyed.');\n if (machine) return;\n\n root = el;\n snapshotMirror = reactiveSnapshot;\n let props = decodeProps({el: root, schema});\n const createdMachine = machineFactory({el: root, props});\n let createdCoordinator: TransitionCoordinator<TProps, MachineElement>;\n try {\n createdCoordinator = createTransitionCoordinator<TContext, TProps, MachineElement>({\n machine: createdMachine,\n hooks: hooks as unknown as readonly AnyTransitionHook<TContext, TProps>[],\n root,\n ...(resolveTransitionElement ? {resolveElement: resolveTransitionElement} : {}),\n });\n } catch (error) {\n createdMachine.stop();\n root = null;\n throw error;\n }\n machine = createdMachine;\n coordinator = createdCoordinator;\n snapshotMirror.current = machine.getSnapshot();\n unsubscribeSnapshot = machine.subscribe((nextSnapshot) => {\n snapshotMirror.current = nextSnapshot;\n });\n owners.set(root, component as unknown as AlpineMachineOwner);\n pending.forEach(registerPending);\n\n const authoritativePropByAttribute = new Map(Object.entries(schema).flatMap(([key, codec]) => codec.meta.attribute ? [[\n dataAttributeForSchemaProp(key, codec),\n key as keyof TProps & string,\n ] as const] : []));\n observer = new MutationObserver((mutations) => {\n if (!root || !machine) return;\n const touched = new Set(mutations.flatMap(({attributeName}) => {\n const key = attributeName ? authoritativePropByAttribute.get(attributeName) : undefined;\n return key ? [key] : [];\n }));\n const nextProps = decodeProps({el: root, schema});\n const changes = Object.keys(nextProps).flatMap((key) => {\n const typedKey = key as keyof TProps & string;\n if (!touched.has(typedKey) && isSerializableEqual(props[typedKey], nextProps[typedKey])) return [];\n return [{\n key: typedKey,\n previous: props[typedKey],\n value: nextProps[typedKey],\n source: 'attribute' as const,\n } as PropChange<TSchema>];\n });\n if (changes.length === 0) return;\n props = nextProps;\n machine.send({type: 'PROPS_CHANGED', props: nextProps, changes});\n });\n observer.observe(root, {\n attributes: true,\n attributeFilter: Object.entries(schema).map(([key, codec]) => dataAttributeForSchemaProp(key, codec)),\n });\n },\n disconnect(): void {\n if (destroyed) return;\n destroyed = true;\n observer?.disconnect();\n observer = null;\n unsubscribeSnapshot?.();\n unsubscribeSnapshot = null;\n coordinator?.destroy();\n coordinator = null;\n machine?.stop();\n machine = null;\n if (root) owners.delete(root);\n Reflect.deleteProperty(component, alpineMachineOwner);\n root = null;\n pending.splice(0).forEach((registration) => registration.unregister?.());\n snapshotMirror.current = null;\n snapshotMirror = snapshot;\n },\n getSnapshot(): MachineSnapshot<TContext, TProps> {\n const current = snapshotMirror.current;\n if (!current) throw new Error('Alpine machine has not been initialized.');\n return current;\n },\n getCommittedSnapshot(): MachineSnapshot<TContext, TProps> {\n return requireMachine().getSnapshot();\n },\n send(event): void {\n requireMachine().send(event);\n },\n matches(state): boolean {\n return requireMachine().matches(state);\n },\n hasTag(tag): boolean {\n return requireMachine().hasTag(tag);\n },\n onTransition<TName extends HookName<THooks>>(\n name: TName,\n callback: (transition: TransitionForHook<HookForName<THooks, TName>, MachineElement>) => unknown | Promise<unknown>,\n el?: MachineElement,\n ): () => void {\n if (destroyed) throw new Error('Alpine machine has been destroyed.');\n const registration: PendingTransition<TProps> = {\n name,\n callback: callback as TransitionCallback<TProps, unknown, MachineElement>,\n active: true,\n };\n if (el) registration.el = el;\n pending.push(registration);\n registerPending(registration);\n\n return () => {\n if (!registration.active) return;\n registration.active = false;\n registration.unregister?.();\n delete registration.unregister;\n const index = pending.indexOf(registration);\n if (index >= 0) pending.splice(index, 1);\n };\n },\n };\n\n Reflect.defineProperty(component, alpineMachineOwner, {\n value: true,\n configurable: true,\n });\n return component;\n};\n\nexport {createAlpineMachine, findAlpineMachineOwner};\nexport type {\n AlpineMachine,\n AlpineMachineOwner,\n AlpinePropsChangedEvent,\n CreateAlpineMachineOptions,\n MachineFactoryScope,\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e,d as t,f as n,i as r,n as i,r as a,t as o}from"./motion-BRaHJwNf.js";import{n as s}from"./ui-H3t7UHMs.js";import{n as c}from"./stream-
|
|
2
|
-
//# sourceMappingURL=capability-motion-
|
|
1
|
+
import{a as e,d as t,f as n,i as r,n as i,r as a,t as o}from"./motion-BRaHJwNf.js";import{n as s}from"./ui-H3t7UHMs.js";import{n as c}from"./stream-pMBGbBZH.js";var l=e=>e.selector?e.selector:e.target?e.target.startsWith(`#`)?e.target:`#${r(e.target)}`:null,u=e=>{let t=getComputedStyle(e);return[t.overflow,t.overflowX,t.overflowY].some(e=>e&&e!==`visible`)},d=e=>{let t=e.parentElement;for(;t&&t!==document.body&&t!==document.documentElement;){if(u(t))return t;t=t.parentElement}return null},f=e=>e.width===0&&e.height===0&&e.top===0&&e.left===0,p=e=>{let t=d(e);if(!t)return!0;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();if(f(n)&&f(r))return!0;let i=Math.min(n.height,160);return n.top>=r.top&&n.left<r.right&&n.right>r.left&&n.bottom+i<=r.bottom},m=t=>{let n=[];return t.forEach(t=>{let r=l(t),i=r?document.querySelector(r):null;if(!i)return;let a=[],o=i.getAttribute(`data-ui-motion-key`);if(i.querySelectorAll(`[data-ui-motion-key]`).forEach(t=>{let n=t.getAttribute(`data-ui-motion-key`);if(n&&p(t)){let t=e(n);a.push({from:{selector:t},to:{selector:t}})}}),(o||i.hasAttribute(`data-ui-motion-layout`))&&p(i)){let t=o?e(o):r;a.unshift({from:{selector:t},to:{selector:t}})}n.push(...a)}),n},h=(e,r,a={})=>{let o=a.update;if(!o)return n();let s=m(Array.isArray(r)?r:[r]);if(s.length===0||t(a.reducedMotion))return n(o);let c={...a,preset:`stream`};return a.scope&&a.scope!==`target`&&(c.scope=a.scope),i(o,s,c)},g=new WeakSet,_=e=>{g.has(e)||(g.add(e),a(()=>e.nextTick()),s(o),c((e,t,n)=>{h(e,t,{scope:`target`,update:n})}))};export{_ as t};
|
|
2
|
+
//# sourceMappingURL=capability-motion-wMoceguq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-motion-
|
|
1
|
+
{"version":3,"file":"capability-motion-wMoceguq.js","names":[],"sources":["../../../../../../../../client/src/motion/stream.ts","../../../../../../../../client/src/capabilities/motion.ts"],"sourcesContent":["import {animateView, type AnimateViewOptions} from './view';\nimport {cssEscape, keySelector, type MotionTarget, type ViewScope} from './targets';\nimport {noopHandle, type MotionHandle} from './animate';\nimport {shouldReduceMotion, type MotionPreference} from './reduced-motion';\n\ntype StreamPatchLike = {\n html?: string | null;\n target?: string | null;\n selector?: string | null;\n};\n\ntype AnimateStreamPatchOptions = Omit<AnimateViewOptions, 'scope' | 'preset'> & {\n scope?: ViewScope | 'target';\n update?: () => void | Promise<void>;\n reducedMotion?: MotionPreference;\n};\n\nconst targetSelectorForPatch = (patch: StreamPatchLike): string | null => {\n if (patch.selector) return patch.selector;\n if (!patch.target) return null;\n return patch.target.startsWith('#') ? patch.target : `#${cssEscape(patch.target)}`;\n};\n\nconst clipsOverflow = (element: Element): boolean => {\n const style = getComputedStyle(element);\n return [style.overflow, style.overflowX, style.overflowY].some((value) => value && value !== 'visible');\n};\n\nconst nearestClippingAncestor = (element: Element): Element | null => {\n let current = element.parentElement;\n while (current && current !== document.body && current !== document.documentElement) {\n if (clipsOverflow(current)) return current;\n current = current.parentElement;\n }\n return null;\n};\n\nconst isZeroRect = (rect: DOMRect): boolean => (\n rect.width === 0 && rect.height === 0 && rect.top === 0 && rect.left === 0\n);\n\nconst isComfortablyInsideClip = (element: Element): boolean => {\n const clip = nearestClippingAncestor(element);\n if (!clip) return true;\n\n const rect = element.getBoundingClientRect();\n const clipRect = clip.getBoundingClientRect();\n if (isZeroRect(rect) && isZeroRect(clipRect)) return true;\n\n const movementGuard = Math.min(rect.height, 160);\n return (\n rect.top >= clipRect.top\n && rect.left < clipRect.right\n && rect.right > clipRect.left\n && rect.bottom + movementGuard <= clipRect.bottom\n );\n};\n\nconst streamTargetsFromPatches = (patches: StreamPatchLike[]): MotionTarget[] => {\n const targets: MotionTarget[] = [];\n\n patches.forEach((patch) => {\n const selector = targetSelectorForPatch(patch);\n const target = selector ? document.querySelector(selector) : null;\n if (!target) return;\n\n const patchTargets: MotionTarget[] = [];\n const rootKey = target.getAttribute('data-ui-motion-key');\n target.querySelectorAll('[data-ui-motion-key]').forEach((element) => {\n const key = element.getAttribute('data-ui-motion-key');\n if (key && isComfortablyInsideClip(element)) {\n const selector = keySelector(key);\n patchTargets.push({from: {selector}, to: {selector}});\n }\n });\n if ((rootKey || target.hasAttribute('data-ui-motion-layout')) && isComfortablyInsideClip(target)) {\n const rootSelector = rootKey ? keySelector(rootKey) : selector as string;\n patchTargets.unshift({from: {selector: rootSelector}, to: {selector: rootSelector}});\n }\n\n targets.push(...patchTargets);\n });\n\n return targets;\n};\n\nconst animateStreamPatch = <AlpineInstance>(\n _Alpine: AlpineInstance,\n patchOrPatches: StreamPatchLike | StreamPatchLike[],\n options: AnimateStreamPatchOptions = {},\n): MotionHandle => {\n const update = options.update;\n if (!update) return noopHandle();\n\n const patches = Array.isArray(patchOrPatches) ? patchOrPatches : [patchOrPatches];\n const targets = streamTargetsFromPatches(patches);\n if (targets.length === 0 || shouldReduceMotion(options.reducedMotion)) {\n return noopHandle(update);\n }\n\n const viewOptions: AnimateViewOptions = {\n ...options,\n preset: 'stream',\n };\n if (options.scope && options.scope !== 'target') viewOptions.scope = options.scope;\n\n return animateView(update, targets, viewOptions);\n};\n\nexport {animateStreamPatch, streamTargetsFromPatches};\nexport type {AnimateStreamPatchOptions, StreamPatchLike};\n","import type {Alpine as AlpineType} from 'alpinejs';\n\nimport {motion} from '../motion';\nimport {animateStreamPatch} from '../motion/stream';\nimport {configureViewFlush} from '../motion/view';\nimport {registerStreamPatchAnimator} from '../runtime/engine/stream';\nimport {registerUiMotion} from '../runtime/ui';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerMotionCapability = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n configureViewFlush(() => AlpineInstance.nextTick());\n registerUiMotion(motion);\n registerStreamPatchAnimator((Alpine, patches, update) => {\n animateStreamPatch(Alpine, patches, {scope: 'target', update});\n });\n};\n\nexport {motion, registerMotionCapability};\nexport type * from '../motion';\n"],"mappings":"iKAiBA,IAAM,EAA0B,GACxB,EAAM,SAAiB,EAAM,SAC5B,EAAM,OACJ,EAAM,OAAO,WAAW,GAAG,EAAI,EAAM,OAAS,IAAI,EAAU,EAAM,MAAM,IADrD,KAIxB,EAAiB,GAA8B,CACjD,IAAM,EAAQ,iBAAiB,CAAO,EACtC,MAAO,CAAC,EAAM,SAAU,EAAM,UAAW,EAAM,SAAS,EAAE,KAAM,GAAU,GAAS,IAAU,SAAS,CAC1G,EAEM,EAA2B,GAAqC,CAClE,IAAI,EAAU,EAAQ,cACtB,KAAO,GAAW,IAAY,SAAS,MAAQ,IAAY,SAAS,iBAAiB,CACjF,GAAI,EAAc,CAAO,EAAG,OAAO,EACnC,EAAU,EAAQ,aACtB,CACA,OAAO,IACX,EAEM,EAAc,GAChB,EAAK,QAAU,GAAK,EAAK,SAAW,GAAK,EAAK,MAAQ,GAAK,EAAK,OAAS,EAGvE,EAA2B,GAA8B,CAC3D,IAAM,EAAO,EAAwB,CAAO,EAC5C,GAAI,CAAC,EAAM,MAAO,GAElB,IAAM,EAAO,EAAQ,sBAAsB,EACrC,EAAW,EAAK,sBAAsB,EAC5C,GAAI,EAAW,CAAI,GAAK,EAAW,CAAQ,EAAG,MAAO,GAErD,IAAM,EAAgB,KAAK,IAAI,EAAK,OAAQ,GAAG,EAC/C,OACI,EAAK,KAAO,EAAS,KAClB,EAAK,KAAO,EAAS,OACrB,EAAK,MAAQ,EAAS,MACtB,EAAK,OAAS,GAAiB,EAAS,MAEnD,EAEM,EAA4B,GAA+C,CAC7E,IAAM,EAA0B,CAAC,EAwBjC,OAtBA,EAAQ,QAAS,GAAU,CACvB,IAAM,EAAW,EAAuB,CAAK,EACvC,EAAS,EAAW,SAAS,cAAc,CAAQ,EAAI,KAC7D,GAAI,CAAC,EAAQ,OAEb,IAAM,EAA+B,CAAC,EAChC,EAAU,EAAO,aAAa,oBAAoB,EAQxD,GAPA,EAAO,iBAAiB,sBAAsB,EAAE,QAAS,GAAY,CACjE,IAAM,EAAM,EAAQ,aAAa,oBAAoB,EACrD,GAAI,GAAO,EAAwB,CAAO,EAAG,CACzC,IAAM,EAAW,EAAY,CAAG,EAChC,EAAa,KAAK,CAAC,KAAM,CAAC,UAAQ,EAAG,GAAI,CAAC,UAAQ,CAAC,CAAC,CACxD,CACJ,CAAC,GACI,GAAW,EAAO,aAAa,uBAAuB,IAAM,EAAwB,CAAM,EAAG,CAC9F,IAAM,EAAe,EAAU,EAAY,CAAO,EAAI,EACtD,EAAa,QAAQ,CAAC,KAAM,CAAC,SAAU,CAAY,EAAG,GAAI,CAAC,SAAU,CAAY,CAAC,CAAC,CACvF,CAEA,EAAQ,KAAK,GAAG,CAAY,CAChC,CAAC,EAEM,CACX,EAEM,GACF,EACA,EACA,EAAqC,CAAC,IACvB,CACf,IAAM,EAAS,EAAQ,OACvB,GAAI,CAAC,EAAQ,OAAO,EAAW,EAG/B,IAAM,EAAU,EADA,MAAM,QAAQ,CAAc,EAAI,EAAiB,CAAC,CAAc,CAChC,EAChD,GAAI,EAAQ,SAAW,GAAK,EAAmB,EAAQ,aAAa,EAChE,OAAO,EAAW,CAAM,EAG5B,IAAM,EAAkC,CACpC,GAAG,EACH,OAAQ,QACZ,EAGA,OAFI,EAAQ,OAAS,EAAQ,QAAU,WAAU,EAAY,MAAQ,EAAQ,OAEtE,EAAY,EAAQ,EAAS,CAAW,CACnD,ECnGM,EAAa,IAAI,QAEjB,EAA4B,GAAqC,CAC/D,EAAW,IAAI,CAAc,IACjC,EAAW,IAAI,CAAc,EAC7B,MAAyB,EAAe,SAAS,CAAC,EAClD,EAAiB,CAAM,EACvB,GAA6B,EAAQ,EAAS,IAAW,CACrD,EAAmB,EAAQ,EAAS,CAAC,MAAO,SAAU,QAAM,CAAC,CACjE,CAAC,EACL"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{_ as e,b as t,g as n,h as r,l as i,m as a,s as o,y as s}from"./element-adapter-native-data-key-CW8suC9A.js";import{t as c}from"./motion-BRaHJwNf.js";import{d as l,r as u,s as d,u as f}from"./ui-H3t7UHMs.js";import{c as p,f as m,l as h,n as g,o as _,s as v}from"./codecs-Cb1ns_47.js";import{r as y}from"./dom-qAeVl7dc.js";import{i as b,t as ee}from"./alpine-machine-D0Kqjm-1.js";import{t as te}from"./machine-Dqut4h89.js";import{a as ne,c as re,i as ie,l as ae,o as oe,r as se,s as ce}from"./drag-and-drop-BV6kB47L.js";var x=e=>e!==null&&Number.isInteger(e)&&e>0,S=4,le=(e,t)=>e===t||!!(e&&t&&e.destination.groupId===t.destination.groupId&&e.anchor?.id===t.anchor?.id&&e.anchor?.edge===t.anchor?.edge),ue=({point:e,start:t,end:n})=>{let r=n.x-t.x,i=n.y-t.y,a=r*r+i*i;if(a===0)return Math.hypot(e.x-t.x,e.y-t.y);let o=Math.max(0,Math.min(1,((e.x-t.x)*r+(e.y-t.y)*i)/a));return Math.hypot(e.x-(t.x+o*r),e.y-(t.y+o*i))},de=e=>e.length===0?[]:[{anchor:{id:e[0].id,edge:`before`},index:0,distance:t=>Math.abs(t.clientY-e[0].rect.top)},...e.slice(1).map((t,n)=>{let r=(e[n].rect.bottom+t.rect.top)/2;return{anchor:{id:t.id,edge:`before`},index:n+1,distance:e=>Math.abs(e.clientY-r)}}),{anchor:{id:e.at(-1).id,edge:`after`},index:e.length,distance:t=>Math.abs(t.clientY-e.at(-1).rect.bottom)}],fe=(e,t)=>{if(e.length===0)return[];let n=e=>t===`rtl`?e.rect.right:e.rect.left,r=e=>t===`rtl`?e.rect.left:e.rect.right;return[{anchor:{id:e[0].id,edge:`before`},index:0,distance:t=>Math.abs(t.clientX-n(e[0]))},...e.slice(1).map((t,i)=>{let a=e[i],o=(r(a)+n(t))/2;return{anchor:{id:t.id,edge:`before`},index:i+1,distance:e=>Math.abs(e.clientX-o)}}),{anchor:{id:e.at(-1).id,edge:`after`},index:e.length,distance:t=>Math.abs(t.clientX-r(e.at(-1)))}]},pe=({columns:e,direction:t,groupRect:n,items:r})=>{if(!x(e))throw TypeError(`Grid sortable groups require a positive integer columns value.`);if(r.length===0)return[];let i=e=>t===`rtl`?e.rect.right:e.rect.left,a=e=>t===`rtl`?e.rect.left:e.rect.right,o=t=>r.slice(t*e,(t+1)*e),s=e=>Math.min(...o(e).map(e=>e.rect.top)),c=e=>Math.max(...o(e).map(e=>e.rect.bottom)),l=(e,t,n,r)=>({anchor:n,index:r,distance:n=>ue({point:{x:n.clientX,y:n.clientY},start:{x:e,y:s(t)},end:{x:e,y:c(t)}})}),u=(e,t,r)=>({anchor:t,index:r,distance:t=>ue({point:{x:t.clientX,y:t.clientY},start:{x:n.left,y:e},end:{x:n.right,y:e}})}),d=[l(i(r[0]),0,{id:r[0].id,edge:`before`},0)];for(let t=1;t<r.length;t+=1){let n=r[t],o=r[t-1];if(t%e===0){let r=t/e;d.push(u((c(r-1)+s(r))/2,{id:n.id,edge:`before`},t))}else{let r=Math.floor(t/e);d.push(l((a(o)+i(n))/2,r,{id:n.id,edge:`before`},t))}}let f=r.length-1,p=r[f],m=Math.floor(f/e),h=r.length%e;if(h===0)d.push(u(c(m),{id:p.id,edge:`after`},r.length));else{let e=r[h],t=e===void 0?a(p):(a(p)+i(e))/2;d.push(l(t,m,{id:p.id,edge:`after`},r.length))}return d},me=(e,t)=>e.reduce((e,n)=>n.distance(t)<e.distance(t)?n:e),he=e=>{if(e.items.length===0)return{destination:{groupId:e.groupId},anchor:null,index:0};let t=me(e.orientation===`horizontal`?fe(e.items,e.direction):e.orientation===`grid`?pe(e):de(e.items),e.input);return{destination:{groupId:e.groupId},anchor:t.anchor,index:t.index}},ge=e=>{if(e.items.length===0||e.orientation===`grid`)return he(e);let t=e.orientation===`vertical`?e.input.clientY:e.input.clientX*(e.direction===`rtl`?-1:1),n=e.items.findIndex(({rect:n})=>t<(e.orientation===`vertical`?n.top+n.height/2:(n.left+n.width/2)*(e.direction===`rtl`?-1:1))),r=n<0?e.items.length:n,i=r===e.items.length?{id:e.items.at(-1).id,edge:`after`}:{id:e.items[r].id,edge:`before`};return{destination:{groupId:e.groupId},anchor:i,index:r}},_e=({placement:e,sourceId:t,sourceGroupId:n,itemIds:r})=>{if(n!==e.destination.groupId)return e;let i=r.indexOf(t);if(i<0)return e;let a=r.filter(e=>e!==t),o=e.index??0,s=Math.max(0,Math.min(a.length,o>i?o-1:o)),c=a.length===0?null:s===a.length?{id:a.at(-1),edge:`after`}:{id:a[s],edge:`before`};return{destination:e.destination,anchor:c,index:s}},ve=(e,t)=>{let{groupRect:n,items:r,orientation:i,direction:a}=e;if(r.length===0||t.anchor===null)return i===`horizontal`?{x:a===`rtl`?n.right-S:n.left+S,y:n.top,width:0,height:n.height,kind:`inline-boundary`}:{x:n.left,y:n.top+S,width:n.width,height:0,kind:`block-boundary`};let o=t.index??0,s=o>0?r[o-1]:void 0,c=o<r.length?r[o]:void 0;if(i===`vertical`){let e=s&&c?(s.rect.bottom+c.rect.top)/2:c?c.rect.top-S:s.rect.bottom+S;return{x:n.left,y:e,width:n.width,height:0,kind:`block-boundary`}}let l=e=>a===`rtl`?e.rect.right:e.rect.left,u=e=>a===`rtl`?e.rect.left:e.rect.right;if(i===`horizontal`)return{x:s&&c?(u(s)+l(c))/2:c?l(c)+(a===`rtl`?S:-4):u(s)+(a===`rtl`?-4:S),y:n.top,width:0,height:n.height,kind:`inline-boundary`};let d=e.columns;if(!x(d))throw TypeError(`Grid sortable groups require a positive integer columns value.`);if(o>0&&o%d===0){let e=c?(s.rect.bottom+c.rect.top)/2:s.rect.bottom+S;return{x:n.left,y:e,width:n.width,height:0,kind:`block-boundary`}}let f;if(s&&c)f=(u(s)+l(c))/2;else if(c)f=l(c)+(a===`rtl`?S:-4);else{let e=r.length%d,t=e===0?void 0:r[e];f=t?(u(s)+l(t))/2:u(s)+(a===`rtl`?-4:S)}let p=Math.floor(Math.min(o,r.length-1)/d)*d,m=r.slice(p,p+d);return{x:f,y:Math.min(...m.map(e=>e.rect.top)),width:0,height:Math.max(...m.map(e=>e.rect.bottom))-Math.min(...m.map(e=>e.rect.top)),kind:`inline-boundary`}};function ye(e){var n=e.list,r=e.startIndex,i=e.finishIndex;if(r===-1||i===-1)return Array.from(n);var a=Array.from(n),o=t(a.splice(r,1),1)[0];return a.splice(i,0,o),a}var C=(e,t,n)=>({groupId:e,id:t.id,x:n.left-t.rect.left,y:n.top-t.rect.top}),w=({x:e,y:t})=>e!==0||t!==0,T=(e,t,n)=>({left:e.left+t,top:e.top+n,right:e.right+t,bottom:e.bottom+n,width:e.width,height:e.height}),be=e=>{let{items:t,orientation:n,direction:r,columns:i}=e,a=t.at(-1);if(!a)return null;let o=t.at(-2);if(n===`vertical`){let e=o?a.rect.top-o.rect.top:a.rect.height+8;return T(a.rect,0,e)}if(n===`horizontal`){let e=o?a.rect.left-o.rect.left:(a.rect.width+8)*(r===`rtl`?-1:1);return T(a.rect,e,0)}if(i&&t.length>=i){let e=t[t.length-i];return T(e.rect,0,a.rect.top-e.rect.top||a.rect.height+8)}let s=o?a.rect.left-o.rect.left:(a.rect.width+8)*(r===`rtl`?-1:1);return T(a.rect,s,0)},xe=e=>{let t=be(e);return t?[...e.items.map(({rect:e})=>e),t]:[]},Se=({source:e,placement:t,sourceLayout:n,destinationLayout:r=n})=>{if(!r)return null;let i=Math.max(0,Math.min(r.items.length,t.index??r.items.length));return e.groupId===r.groupId&&n?n.items[Math.min(i,n.items.length-1)]?.rect??r.groupRect:xe(r)[i]??r.groupRect},Ce=({source:e,placement:t,sourceLayout:n,destinationLayout:r=n})=>{if(!r)return[];let i=Math.max(0,Math.min(r.items.length,t.index??r.items.length));if(e.groupId===r.groupId&&n){let t=n.items.findIndex(({id:t})=>t===e.id);if(t<0)return[];let r=ye({list:[...n.items],startIndex:t,finishIndex:i});return n.items.map(e=>C(n.groupId,e,n.items[r.findIndex(({id:t})=>t===e.id)].rect)).filter(w)}let a=xe(r),o=r.items.map((e,t)=>C(r.groupId,e,a[t<i?t:t+1])).filter(w);if(!n||e.groupId===null)return o;let s=n.items.findIndex(({id:t})=>t===e.id);if(s<0)return o;let c=n.items[s],l=C(n.groupId,c,a[i]??r.groupRect);return w(l)&&o.push(l),n.items.slice(s+1).forEach((e,t)=>{o.push(C(n.groupId,e,n.items[s+t].rect))}),o},we=e=>{e.setAttribute(`x-ignore`,``),[e,...e.querySelectorAll(`*`)].forEach(e=>{e.removeAttribute(`id`),(e instanceof HTMLInputElement||e instanceof HTMLButtonElement)&&(e.disabled=!0),(e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement)&&(e.disabled=!0)})},Te=(e,t)=>{let n=[e,...e.querySelectorAll(`input, textarea, select`)],r=[t,...t.querySelectorAll(`input, textarea, select`)];n.forEach((e,t)=>{let n=r[t];e instanceof HTMLInputElement&&n instanceof HTMLInputElement?(n.value=e.value,n.checked=e.checked):e instanceof HTMLTextAreaElement&&n instanceof HTMLTextAreaElement?n.value=e.value:e instanceof HTMLSelectElement&&n instanceof HTMLSelectElement&&(n.selectedIndex=e.selectedIndex)})},Ee=e=>({x:e.left,y:e.top,width:e.width,height:e.height}),De=({source:e,input:t,preview:n,opacity:r=.92})=>{let i=e.getBoundingClientRect(),a=document.createElement(`div`),o=document.createElement(`div`),s=document.createElement(`div`),l=n?.content.firstElementChild?.cloneNode(!0),u=l instanceof HTMLElement?l:e.cloneNode(!0);l||Te(e,u),we(u),a.setAttribute(`data-ui-sortable-overlay`,``),o.setAttribute(`data-ui-sortable-ghost-positioner`,``),s.setAttribute(`data-ui-sortable-ghost`,``),s.setAttribute(`aria-hidden`,`true`),s.setAttribute(`inert`,``);let d=e.closest(`[data-theme], .dark, .light`);d?.classList.contains(`dark`)&&a.classList.add(`dark`),d?.classList.contains(`light`)&&a.classList.add(`light`),d?.dataset.theme&&(a.dataset.theme=d.dataset.theme),Object.assign(a.style,{position:`fixed`,inset:`0`,overflow:`clip`,contain:`strict`,zIndex:`2147483647`,pointerEvents:`none`}),Object.assign(o.style,{position:`absolute`,left:`0`,top:`0`,width:`${i.width}px`,height:`${i.height}px`,pointerEvents:`none`}),Object.assign(s.style,{width:`100%`,height:`100%`,opacity:`${r}`,pointerEvents:`none`,filter:`drop-shadow(0 10px 18px rgb(0 0 0 / 0.16))`}),s.append(u),o.append(s),a.append(o),document.body.append(a);let f={x:t.clientX-i.left,y:t.clientY-i.top},p=c.createController({values:{x:{initial:i.left,transition:{...c.speeds.moderate,ease:c.easings.out}},y:{initial:i.top,transition:{...c.speeds.moderate,ease:c.easings.out}}},style:({x:e,y:t})=>({transform:`translate3d(${e}px, ${t}px, 0)`})});return p.mount(o),{positioner:o,visual:s,frame:()=>({...p.current(),width:i.width,height:i.height}),projectedFrame:e=>({x:e.clientX-f.x,y:e.clientY-f.y,width:i.width,height:i.height}),move(e){p.set({x:e.clientX-f.x,y:e.clientY-f.y})},async finish(e){e&&await p.animate({x:e.x,y:e.y}).finished},remove:()=>{p.destroy(),a.remove()}}},Oe=1e3,E=null,D=`1px`,ke={width:D,height:D,padding:`0`,position:`absolute`,border:`0`,clip:`rect(${D}, ${D}, ${D}, ${D})`,overflow:`hidden`,whiteSpace:`nowrap`,marginTop:`-${D}`,pointerEvents:`none`};function Ae(){var e=document.createElement(`div`);return e.setAttribute(`role`,`status`),Object.assign(e.style,ke),document.body.append(e),e}function je(){return E===null&&(E=Ae()),E}var O=null;function Me(){O!==null&&clearTimeout(O),O=null}function Ne(e){je(),Me(),O=setTimeout(function(){O=null;var t=je();t.textContent=e},Oe)}var k=(e,t)=>`${e}\u0000${t}`,Pe=(e,t)=>{let n={destination:Object.freeze({...t.destination}),anchor:t.anchor===null?null:Object.freeze({...t.anchor}),...t.index===void 0?{}:{index:t.index}};return e.operation===`insert`?Object.freeze({operation:`insert`,source:Object.freeze({...e}),...n}):Object.freeze({operation:`move`,source:Object.freeze({...e}),...n})},Fe=()=>{let e=new Map,t=new Map,n=(e,t,n,r,i)=>{let a=t,o=!0;if(e.has(a))throw Error(`Duplicate sortable ${i} identity: ${a.replace(`\0`,`/`)}`);return e.set(a,r),Object.assign(()=>{o&&(o=!1,e.get(a)===r&&e.delete(a))},{refresh:()=>{if(!o)return;let t=n();if(t===a)return;let s=e.get(t);if(s&&s!==r)throw Error(`Duplicate sortable ${i} identity: ${t.replace(`\0`,`/`)}`);e.get(a)===r&&e.delete(a),e.set(t,r),a=t}})},r=(t,n)=>e.get(k(t,n))??null,i=(e,n)=>t.get(k(e,n))??null,a=(e,t,n=null)=>{let a=r(e.scopeId,t),o=i(e.scopeId,e.id);if(!a||!o||o.isDisabled())return!1;let s=a.getGroup();if(s.disabled||s.readOnly||s.orientation===`grid`&&!x(s.columns)||!s.accepts.includes(e.type))return!1;let c=a.getItemIds().filter(n=>e.operation!==`move`||e.groupId!==t||n!==e.id),l=Object.freeze({source:e,destination:s,itemIds:Object.freeze(c),input:n===null?null:Object.freeze({...n})});return a.canDrop?.(l)!==!1},o=(e,t)=>{let n=r(e.scopeId,t.destination.groupId);if(!n)return null;let i=n.getItemIds(),a=e.operation===`move`&&e.groupId===t.destination.groupId?i.filter(t=>t!==e.id):[...i];return t.anchor!==null&&!a.includes(t.anchor.id)?null:{originalIds:i,insertionIndex:t.anchor===null?0:a.indexOf(t.anchor.id)+ +(t.anchor.edge===`after`)}},s=(e,t)=>{if(e.operation!==`move`||e.groupId!==t.destination.groupId)return!1;let n=o(e,t);return n!==null&&n.originalIds.indexOf(e.id)===n.insertionIndex},c=(e,t,n=null)=>{let i=r(e.scopeId,t.destination.groupId);if(!i||!a(e,t.destination.groupId,n))return!1;let c=i.getGroup(),l=o(e,t);if(!l||s(e,t))return!1;let u={...t,index:l.insertionIndex};return y({el:i.element,name:`ui:sortable-drop`,composed:!0,detail:Pe(e,u)}),e.label&&c.label&&Ne(`${e.label} moved to ${c.label}.`),!0},l=(e,t)=>{let n=i(t.scope,t.sourceId);if(!n)return!1;let r=n.getSource(),a=t.destinationGroupId??r.groupId;return!a||t.anchorId===t.sourceId?!1:c(r,{destination:{groupId:a},anchor:{id:t.anchorId,edge:e}})},u=(e,t)=>{let n=i(t.scope,t.sourceId),a=r(t.scope,t.destinationGroupId);if(!n||!a)return!1;let o=n.getSource(),s=a.getItemIds().filter(e=>o.groupId!==t.destinationGroupId||e!==o.id),l=s.length===0?null:e===`start`?{id:s[0],edge:`before`}:{id:s.at(-1),edge:`after`};return c(o,{destination:{groupId:t.destinationGroupId},anchor:l})};return{registerGroup:t=>{let r=t.getGroup();return n(e,k(r.scopeId,r.id),()=>{let e=t.getGroup();return k(e.scopeId,e.id)},t,`group`)},registerSource:e=>{let r=e.getSource();return n(t,k(r.scopeId,r.id),()=>{let t=e.getSource();return k(t.scopeId,t.id)},e,`source`)},group:r,source:i,canDrop:a,isNoop:s,emitDrop:c,moveBefore:e=>l(`before`,e),moveAfter:e=>l(`after`,e),moveToStart:e=>u(`start`,e),moveToEnd:e=>u(`end`,e)}},A=Fe(),j=`--ui-sortable-drag-cursor`,M=`data-ui-sortable-dragging`,Ie=e=>{let t=document.documentElement,n=t.getAttribute(M),r=t.style.getPropertyValue(j);return t.setAttribute(M,``),t.style.setProperty(j,e.trim()||`default`),()=>{n===null?t.removeAttribute(M):t.setAttribute(M,n),r?t.style.setProperty(j,r):t.style.removeProperty(j)}},Le=({props:e,effects:t})=>te({type:`parallel`,on:{PROPS_CHANGED:{reduce:`props`,effects:`reconcile`},DOM_INVALIDATED:{effects:`reconcile`}},states:{interaction:{initial:`idle`,on:{POINTER_MOVED:{reduce:`pointer`}},states:{idle:{on:{START:{target:`starting`,reduce:`start`}}},starting:{on:{STARTING_DONE:{target:`dragging`},END:{target:`ending`,reduce:`data`}}},dragging:{on:{END:{target:`ending`,reduce:`data`}}},ending:{on:{ENDING_DONE:{target:`idle`,effects:`complete`}}}}},layout:{initial:`inactive`,states:{inactive:{on:{START:{target:`calculating`}}},calculating:{entry:`resolvePlacement`,on:{POINTER_MOVED:{effects:`resolvePlacement`},LAYOUT_PROPOSED:{target:`syncing`,reduce:`data`},END:{target:`inactive`}}},syncing:{on:{RECTS_SYNCED:{target:`calculating`,effects:`synced`},END:{target:`inactive`,effects:`synced`}}}}}}},{props:e,context:{data:{},pointer:null},reducers:{start:({event:e})=>({context:{data:e.data,pointer:null}}),data:({context:e,event:t})=>({context:{...e,data:t.data}}),pointer:({context:e,event:t})=>({context:{...e,pointer:t.pointer}}),props:({context:e,event:t})=>({context:e,props:t.props})},effects:t}),N=new Map,P=new Set;function Re(e){ze(e);var t=N.get(e);if(t)return t;var n={timeOfEngagementStart:Date.now()};return N.set(e,n),n}function ze(e){P.add(e)}function Be(e){P.clear(),e(),N.forEach(function(e,t){P.has(t)||N.delete(t)}),P.clear()}function Ve(){N.clear()}var He=new Map;function Ue(e){var t=He.get(e);if(t)return t;var n=We(e);return He.set(e,n),n}function We(t){var n={type:`idle`},r=[];function i(t){if(n.type===`running`){var a=t-n.timeLastFrameFinished,o=n.latestArgs,s=e({x:o.location.current.input.clientX,y:o.location.current.input.clientY});Be(function(){r.forEach(function(e){return e({underUsersPointer:s,latestArgs:o,timeSinceLastFrame:a})})}),n.timeLastFrameFinished=t,n.frameId=requestAnimationFrame(i)}}function a(){n.type!==`idle`&&(cancelAnimationFrame(n.frameId),Ve(),n={type:`idle`})}function o(e){n.type===`idle`&&(n={type:`initializing`,latestArgs:e,frameId:requestAnimationFrame(function(e){n.type===`initializing`&&(n={type:`running`,timeLastFrameFinished:e,latestArgs:n.latestArgs,frameId:requestAnimationFrame(i)})})})}function s(e){if(n.type===`idle`){o(e);return}n.latestArgs=e}return t({onDragStart:o,onDropTargetChange:s,onDrag:s,onDrop:a}),{onFrame:function(e){r.push(e)}}}var F=`data-auto-scrollable`,Ge=`[${F}="true"]`;function Ke(e){return e.setAttribute(F,`true`),function(){return e.removeAttribute(F)}}function qe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Je(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t];t%2?qe(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qe(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Ye={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},Xe={standard:900,fast:1500};function Ze(e){return Je(Je({},Ye),{},{maxPixelScrollPerSecond:Xe[e?.maxScrollSpeed??`standard`]})}var Qe={top:function(e){return e.scrollTop>0},right:function(e){return Math.ceil(e.scrollLeft)+e.clientWidth<e.scrollWidth},bottom:function(e){return Math.ceil(e.scrollTop)+e.clientHeight<e.scrollHeight},left:function(e){return e.scrollLeft>0}},$e=[`top`,`right`,`bottom`,`left`],et={top:`vertical`,right:`horizontal`,bottom:`vertical`,left:`horizontal`},tt={start:`top`,end:`bottom`,point:`y`,size:`height`},nt={start:`left`,end:`right`,point:`x`,size:`width`},rt={vertical:{mainAxis:tt,crossAxis:nt},horizontal:{mainAxis:nt,crossAxis:tt}},I={top:`start`,right:`end`,bottom:`end`,left:`start`};function L(e){var t=e.edge,r=e.axis;return function(e){var i=e.clientRect,a=e.config,o=rt[r],s=o.mainAxis,c=o.crossAxis,l=I[t],u=Math.min(a.startHitboxAtPercentageRemainingOfElement[t]*i[s.size],a.maxMainAxisHitboxSize);return DOMRect.fromRect(n(n(n(n({},s.point,l===`start`?i[s.point]:i[s.point]+i[s.size]-u),c.point,i[c.point]),s.size,u),c.size,i[c.size]))}}var it={top:L({axis:`vertical`,edge:`top`}),right:L({axis:`horizontal`,edge:`right`}),bottom:L({axis:`vertical`,edge:`bottom`}),left:L({axis:`horizontal`,edge:`left`})};function at(e){var t=e.startOfRange,n=e.endOfRange,r=e.value;if(!(t<n)||r<t)return 0;if(r>n)return 1;var i=n-t;return(r-t)/i}function ot(e){var t=e.timeSinceLastFrame,n=e.config,r=n.maxPixelScrollPerSecond/1e3,i=Math.ceil(r*t),a=n.maxPixelScrollPerSecond/60;return Math.min(i,a)}function st(e){var t=e.client,n=e.axis,r=e.edge,i=e.hitbox,a=e.config,o=rt[n].mainAxis,s=I[r],c=i[o.size]*a.maxScrollAtPercentageRemainingOfHitbox[r];return s===`end`?at({startOfRange:i[o.start],endOfRange:i[o.end]-c,value:t[o.point]}):1-at({startOfRange:i[o.start]+c,endOfRange:i[o.end],value:t[o.point]})}function R(e){var t=e.client,n=e.timeSinceLastFrame,r=e.engagement,i=e.axis,a=e.hitbox,o=e.edge,s=e.isDistanceDampeningEnabled,c=e.config,l=ot({timeSinceLastFrame:n,config:c}),u=(s?st({client:t,edge:o,hitbox:a,axis:i,config:c}):1)*at({startOfRange:r.timeOfEngagementStart,endOfRange:r.timeOfEngagementStart+c.timeDampeningDurationMs,value:Date.now()}),d=Math.max(l*u,1);return I[o]===`end`?d:-1*d}function ct(e,t){return t===`all`||e===t}function lt(e){var t=e.client,n=e.clientRect;return t.x>=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height}function ut(e){return e.getBoundingClientRect()}function dt(e){var t=e.element,n=e.input,r=e.timeSinceLastFrame,i=e.engagement,a=e.config,o=e.allowedAxis,s=e.getRect,c=s===void 0?ut:s,l={x:n.clientX,y:n.clientY},u=c(t),d=$e.reduce(function(e,n){var r=it[n]({clientRect:u,config:a}),i=et[n];return!ct(i,o)||!lt({client:l,clientRect:r})||!Qe[n](t)||e.set(n,{edge:n,hitbox:r}),e},new Map);return{left:function(){var e=`horizontal`,t=d.get(`left`);if(t)return R({client:l,edge:t.edge,hitbox:t.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a});var n=d.get(`right`);return n?R({client:l,edge:n.edge,hitbox:n.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a}):0}(),top:function(){var e=`vertical`,t=d.get(`bottom`);if(t)return R({client:l,edge:t.edge,hitbox:t.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a});var n=d.get(`top`);return n?R({client:l,edge:n.edge,hitbox:n.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a}):0}()}}function ft(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=pt(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
1
|
+
import{_ as e,b as t,g as n,h as r,l as i,m as a,s as o,y as s}from"./element-adapter-native-data-key-CW8suC9A.js";import{t as c}from"./motion-BRaHJwNf.js";import{d as l,r as u,s as d,u as f}from"./ui-H3t7UHMs.js";import{c as p,f as m,l as h,n as g,o as _,s as v}from"./codecs-Cb1ns_47.js";import{r as y}from"./dom-qAeVl7dc.js";import{i as b,t as ee}from"./alpine-machine-BS13dbK4.js";import{t as te}from"./machine-Dqut4h89.js";import{a as ne,c as re,i as ie,l as ae,o as oe,r as se,s as ce}from"./drag-and-drop-BV6kB47L.js";var x=e=>e!==null&&Number.isInteger(e)&&e>0,S=4,le=(e,t)=>e===t||!!(e&&t&&e.destination.groupId===t.destination.groupId&&e.anchor?.id===t.anchor?.id&&e.anchor?.edge===t.anchor?.edge),ue=({point:e,start:t,end:n})=>{let r=n.x-t.x,i=n.y-t.y,a=r*r+i*i;if(a===0)return Math.hypot(e.x-t.x,e.y-t.y);let o=Math.max(0,Math.min(1,((e.x-t.x)*r+(e.y-t.y)*i)/a));return Math.hypot(e.x-(t.x+o*r),e.y-(t.y+o*i))},de=e=>e.length===0?[]:[{anchor:{id:e[0].id,edge:`before`},index:0,distance:t=>Math.abs(t.clientY-e[0].rect.top)},...e.slice(1).map((t,n)=>{let r=(e[n].rect.bottom+t.rect.top)/2;return{anchor:{id:t.id,edge:`before`},index:n+1,distance:e=>Math.abs(e.clientY-r)}}),{anchor:{id:e.at(-1).id,edge:`after`},index:e.length,distance:t=>Math.abs(t.clientY-e.at(-1).rect.bottom)}],fe=(e,t)=>{if(e.length===0)return[];let n=e=>t===`rtl`?e.rect.right:e.rect.left,r=e=>t===`rtl`?e.rect.left:e.rect.right;return[{anchor:{id:e[0].id,edge:`before`},index:0,distance:t=>Math.abs(t.clientX-n(e[0]))},...e.slice(1).map((t,i)=>{let a=e[i],o=(r(a)+n(t))/2;return{anchor:{id:t.id,edge:`before`},index:i+1,distance:e=>Math.abs(e.clientX-o)}}),{anchor:{id:e.at(-1).id,edge:`after`},index:e.length,distance:t=>Math.abs(t.clientX-r(e.at(-1)))}]},pe=({columns:e,direction:t,groupRect:n,items:r})=>{if(!x(e))throw TypeError(`Grid sortable groups require a positive integer columns value.`);if(r.length===0)return[];let i=e=>t===`rtl`?e.rect.right:e.rect.left,a=e=>t===`rtl`?e.rect.left:e.rect.right,o=t=>r.slice(t*e,(t+1)*e),s=e=>Math.min(...o(e).map(e=>e.rect.top)),c=e=>Math.max(...o(e).map(e=>e.rect.bottom)),l=(e,t,n,r)=>({anchor:n,index:r,distance:n=>ue({point:{x:n.clientX,y:n.clientY},start:{x:e,y:s(t)},end:{x:e,y:c(t)}})}),u=(e,t,r)=>({anchor:t,index:r,distance:t=>ue({point:{x:t.clientX,y:t.clientY},start:{x:n.left,y:e},end:{x:n.right,y:e}})}),d=[l(i(r[0]),0,{id:r[0].id,edge:`before`},0)];for(let t=1;t<r.length;t+=1){let n=r[t],o=r[t-1];if(t%e===0){let r=t/e;d.push(u((c(r-1)+s(r))/2,{id:n.id,edge:`before`},t))}else{let r=Math.floor(t/e);d.push(l((a(o)+i(n))/2,r,{id:n.id,edge:`before`},t))}}let f=r.length-1,p=r[f],m=Math.floor(f/e),h=r.length%e;if(h===0)d.push(u(c(m),{id:p.id,edge:`after`},r.length));else{let e=r[h],t=e===void 0?a(p):(a(p)+i(e))/2;d.push(l(t,m,{id:p.id,edge:`after`},r.length))}return d},me=(e,t)=>e.reduce((e,n)=>n.distance(t)<e.distance(t)?n:e),he=e=>{if(e.items.length===0)return{destination:{groupId:e.groupId},anchor:null,index:0};let t=me(e.orientation===`horizontal`?fe(e.items,e.direction):e.orientation===`grid`?pe(e):de(e.items),e.input);return{destination:{groupId:e.groupId},anchor:t.anchor,index:t.index}},ge=e=>{if(e.items.length===0||e.orientation===`grid`)return he(e);let t=e.orientation===`vertical`?e.input.clientY:e.input.clientX*(e.direction===`rtl`?-1:1),n=e.items.findIndex(({rect:n})=>t<(e.orientation===`vertical`?n.top+n.height/2:(n.left+n.width/2)*(e.direction===`rtl`?-1:1))),r=n<0?e.items.length:n,i=r===e.items.length?{id:e.items.at(-1).id,edge:`after`}:{id:e.items[r].id,edge:`before`};return{destination:{groupId:e.groupId},anchor:i,index:r}},_e=({placement:e,sourceId:t,sourceGroupId:n,itemIds:r})=>{if(n!==e.destination.groupId)return e;let i=r.indexOf(t);if(i<0)return e;let a=r.filter(e=>e!==t),o=e.index??0,s=Math.max(0,Math.min(a.length,o>i?o-1:o)),c=a.length===0?null:s===a.length?{id:a.at(-1),edge:`after`}:{id:a[s],edge:`before`};return{destination:e.destination,anchor:c,index:s}},ve=(e,t)=>{let{groupRect:n,items:r,orientation:i,direction:a}=e;if(r.length===0||t.anchor===null)return i===`horizontal`?{x:a===`rtl`?n.right-S:n.left+S,y:n.top,width:0,height:n.height,kind:`inline-boundary`}:{x:n.left,y:n.top+S,width:n.width,height:0,kind:`block-boundary`};let o=t.index??0,s=o>0?r[o-1]:void 0,c=o<r.length?r[o]:void 0;if(i===`vertical`){let e=s&&c?(s.rect.bottom+c.rect.top)/2:c?c.rect.top-S:s.rect.bottom+S;return{x:n.left,y:e,width:n.width,height:0,kind:`block-boundary`}}let l=e=>a===`rtl`?e.rect.right:e.rect.left,u=e=>a===`rtl`?e.rect.left:e.rect.right;if(i===`horizontal`)return{x:s&&c?(u(s)+l(c))/2:c?l(c)+(a===`rtl`?S:-4):u(s)+(a===`rtl`?-4:S),y:n.top,width:0,height:n.height,kind:`inline-boundary`};let d=e.columns;if(!x(d))throw TypeError(`Grid sortable groups require a positive integer columns value.`);if(o>0&&o%d===0){let e=c?(s.rect.bottom+c.rect.top)/2:s.rect.bottom+S;return{x:n.left,y:e,width:n.width,height:0,kind:`block-boundary`}}let f;if(s&&c)f=(u(s)+l(c))/2;else if(c)f=l(c)+(a===`rtl`?S:-4);else{let e=r.length%d,t=e===0?void 0:r[e];f=t?(u(s)+l(t))/2:u(s)+(a===`rtl`?-4:S)}let p=Math.floor(Math.min(o,r.length-1)/d)*d,m=r.slice(p,p+d);return{x:f,y:Math.min(...m.map(e=>e.rect.top)),width:0,height:Math.max(...m.map(e=>e.rect.bottom))-Math.min(...m.map(e=>e.rect.top)),kind:`inline-boundary`}};function ye(e){var n=e.list,r=e.startIndex,i=e.finishIndex;if(r===-1||i===-1)return Array.from(n);var a=Array.from(n),o=t(a.splice(r,1),1)[0];return a.splice(i,0,o),a}var C=(e,t,n)=>({groupId:e,id:t.id,x:n.left-t.rect.left,y:n.top-t.rect.top}),w=({x:e,y:t})=>e!==0||t!==0,T=(e,t,n)=>({left:e.left+t,top:e.top+n,right:e.right+t,bottom:e.bottom+n,width:e.width,height:e.height}),be=e=>{let{items:t,orientation:n,direction:r,columns:i}=e,a=t.at(-1);if(!a)return null;let o=t.at(-2);if(n===`vertical`){let e=o?a.rect.top-o.rect.top:a.rect.height+8;return T(a.rect,0,e)}if(n===`horizontal`){let e=o?a.rect.left-o.rect.left:(a.rect.width+8)*(r===`rtl`?-1:1);return T(a.rect,e,0)}if(i&&t.length>=i){let e=t[t.length-i];return T(e.rect,0,a.rect.top-e.rect.top||a.rect.height+8)}let s=o?a.rect.left-o.rect.left:(a.rect.width+8)*(r===`rtl`?-1:1);return T(a.rect,s,0)},xe=e=>{let t=be(e);return t?[...e.items.map(({rect:e})=>e),t]:[]},Se=({source:e,placement:t,sourceLayout:n,destinationLayout:r=n})=>{if(!r)return null;let i=Math.max(0,Math.min(r.items.length,t.index??r.items.length));return e.groupId===r.groupId&&n?n.items[Math.min(i,n.items.length-1)]?.rect??r.groupRect:xe(r)[i]??r.groupRect},Ce=({source:e,placement:t,sourceLayout:n,destinationLayout:r=n})=>{if(!r)return[];let i=Math.max(0,Math.min(r.items.length,t.index??r.items.length));if(e.groupId===r.groupId&&n){let t=n.items.findIndex(({id:t})=>t===e.id);if(t<0)return[];let r=ye({list:[...n.items],startIndex:t,finishIndex:i});return n.items.map(e=>C(n.groupId,e,n.items[r.findIndex(({id:t})=>t===e.id)].rect)).filter(w)}let a=xe(r),o=r.items.map((e,t)=>C(r.groupId,e,a[t<i?t:t+1])).filter(w);if(!n||e.groupId===null)return o;let s=n.items.findIndex(({id:t})=>t===e.id);if(s<0)return o;let c=n.items[s],l=C(n.groupId,c,a[i]??r.groupRect);return w(l)&&o.push(l),n.items.slice(s+1).forEach((e,t)=>{o.push(C(n.groupId,e,n.items[s+t].rect))}),o},we=e=>{e.setAttribute(`x-ignore`,``),[e,...e.querySelectorAll(`*`)].forEach(e=>{e.removeAttribute(`id`),(e instanceof HTMLInputElement||e instanceof HTMLButtonElement)&&(e.disabled=!0),(e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement)&&(e.disabled=!0)})},Te=(e,t)=>{let n=[e,...e.querySelectorAll(`input, textarea, select`)],r=[t,...t.querySelectorAll(`input, textarea, select`)];n.forEach((e,t)=>{let n=r[t];e instanceof HTMLInputElement&&n instanceof HTMLInputElement?(n.value=e.value,n.checked=e.checked):e instanceof HTMLTextAreaElement&&n instanceof HTMLTextAreaElement?n.value=e.value:e instanceof HTMLSelectElement&&n instanceof HTMLSelectElement&&(n.selectedIndex=e.selectedIndex)})},Ee=e=>({x:e.left,y:e.top,width:e.width,height:e.height}),De=({source:e,input:t,preview:n,opacity:r=.92})=>{let i=e.getBoundingClientRect(),a=document.createElement(`div`),o=document.createElement(`div`),s=document.createElement(`div`),l=n?.content.firstElementChild?.cloneNode(!0),u=l instanceof HTMLElement?l:e.cloneNode(!0);l||Te(e,u),we(u),a.setAttribute(`data-ui-sortable-overlay`,``),o.setAttribute(`data-ui-sortable-ghost-positioner`,``),s.setAttribute(`data-ui-sortable-ghost`,``),s.setAttribute(`aria-hidden`,`true`),s.setAttribute(`inert`,``);let d=e.closest(`[data-theme], .dark, .light`);d?.classList.contains(`dark`)&&a.classList.add(`dark`),d?.classList.contains(`light`)&&a.classList.add(`light`),d?.dataset.theme&&(a.dataset.theme=d.dataset.theme),Object.assign(a.style,{position:`fixed`,inset:`0`,overflow:`clip`,contain:`strict`,zIndex:`2147483647`,pointerEvents:`none`}),Object.assign(o.style,{position:`absolute`,left:`0`,top:`0`,width:`${i.width}px`,height:`${i.height}px`,pointerEvents:`none`}),Object.assign(s.style,{width:`100%`,height:`100%`,opacity:`${r}`,pointerEvents:`none`,filter:`drop-shadow(0 10px 18px rgb(0 0 0 / 0.16))`}),s.append(u),o.append(s),a.append(o),document.body.append(a);let f={x:t.clientX-i.left,y:t.clientY-i.top},p=c.createController({values:{x:{initial:i.left,transition:{...c.speeds.moderate,ease:c.easings.out}},y:{initial:i.top,transition:{...c.speeds.moderate,ease:c.easings.out}}},style:({x:e,y:t})=>({transform:`translate3d(${e}px, ${t}px, 0)`})});return p.mount(o),{positioner:o,visual:s,frame:()=>({...p.current(),width:i.width,height:i.height}),projectedFrame:e=>({x:e.clientX-f.x,y:e.clientY-f.y,width:i.width,height:i.height}),move(e){p.set({x:e.clientX-f.x,y:e.clientY-f.y})},async finish(e){e&&await p.animate({x:e.x,y:e.y}).finished},remove:()=>{p.destroy(),a.remove()}}},Oe=1e3,E=null,D=`1px`,ke={width:D,height:D,padding:`0`,position:`absolute`,border:`0`,clip:`rect(${D}, ${D}, ${D}, ${D})`,overflow:`hidden`,whiteSpace:`nowrap`,marginTop:`-${D}`,pointerEvents:`none`};function Ae(){var e=document.createElement(`div`);return e.setAttribute(`role`,`status`),Object.assign(e.style,ke),document.body.append(e),e}function je(){return E===null&&(E=Ae()),E}var O=null;function Me(){O!==null&&clearTimeout(O),O=null}function Ne(e){je(),Me(),O=setTimeout(function(){O=null;var t=je();t.textContent=e},Oe)}var k=(e,t)=>`${e}\u0000${t}`,Pe=(e,t)=>{let n={destination:Object.freeze({...t.destination}),anchor:t.anchor===null?null:Object.freeze({...t.anchor}),...t.index===void 0?{}:{index:t.index}};return e.operation===`insert`?Object.freeze({operation:`insert`,source:Object.freeze({...e}),...n}):Object.freeze({operation:`move`,source:Object.freeze({...e}),...n})},Fe=()=>{let e=new Map,t=new Map,n=(e,t,n,r,i)=>{let a=t,o=!0,s=e.get(a);if(s&&(s.element.isConnected||!r.element.isConnected))throw Error(`Duplicate sortable ${i} identity: ${a.replace(`\0`,`/`)}`);return e.set(a,r),Object.assign(()=>{o&&(o=!1,e.get(a)===r&&e.delete(a))},{refresh:()=>{if(!o)return;let t=n();if(t===a)return;let s=e.get(t);if(s&&s!==r&&(s.element.isConnected||!r.element.isConnected))throw Error(`Duplicate sortable ${i} identity: ${t.replace(`\0`,`/`)}`);e.get(a)===r&&e.delete(a),e.set(t,r),a=t}})},r=(t,n)=>e.get(k(t,n))??null,i=(e,n)=>t.get(k(e,n))??null,a=(e,t,n=null)=>{let a=r(e.scopeId,t),o=i(e.scopeId,e.id);if(!a||!o||o.isDisabled())return!1;let s=a.getGroup();if(s.disabled||s.readOnly||s.orientation===`grid`&&!x(s.columns)||!s.accepts.includes(e.type))return!1;let c=a.getItemIds().filter(n=>e.operation!==`move`||e.groupId!==t||n!==e.id),l=Object.freeze({source:e,destination:s,itemIds:Object.freeze(c),input:n===null?null:Object.freeze({...n})});return a.canDrop?.(l)!==!1},o=(e,t)=>{let n=r(e.scopeId,t.destination.groupId);if(!n)return null;let i=n.getItemIds(),a=e.operation===`move`&&e.groupId===t.destination.groupId?i.filter(t=>t!==e.id):[...i];return t.anchor!==null&&!a.includes(t.anchor.id)?null:{originalIds:i,insertionIndex:t.anchor===null?0:a.indexOf(t.anchor.id)+ +(t.anchor.edge===`after`)}},s=(e,t)=>{if(e.operation!==`move`||e.groupId!==t.destination.groupId)return!1;let n=o(e,t);return n!==null&&n.originalIds.indexOf(e.id)===n.insertionIndex},c=(e,t,n=null)=>{let i=r(e.scopeId,t.destination.groupId);if(!i||!a(e,t.destination.groupId,n))return!1;let c=i.getGroup(),l=o(e,t);if(!l||s(e,t))return!1;let u={...t,index:l.insertionIndex};return y({el:i.element,name:`ui:sortable-drop`,composed:!0,detail:Pe(e,u)}),e.label&&c.label&&Ne(`${e.label} moved to ${c.label}.`),!0},l=(e,t)=>{let n=i(t.scope,t.sourceId);if(!n)return!1;let r=n.getSource(),a=t.destinationGroupId??r.groupId;return!a||t.anchorId===t.sourceId?!1:c(r,{destination:{groupId:a},anchor:{id:t.anchorId,edge:e}})},u=(e,t)=>{let n=i(t.scope,t.sourceId),a=r(t.scope,t.destinationGroupId);if(!n||!a)return!1;let o=n.getSource(),s=a.getItemIds().filter(e=>o.groupId!==t.destinationGroupId||e!==o.id),l=s.length===0?null:e===`start`?{id:s[0],edge:`before`}:{id:s.at(-1),edge:`after`};return c(o,{destination:{groupId:t.destinationGroupId},anchor:l})};return{registerGroup:t=>{let r=t.getGroup();return n(e,k(r.scopeId,r.id),()=>{let e=t.getGroup();return k(e.scopeId,e.id)},t,`group`)},registerSource:e=>{let r=e.getSource();return n(t,k(r.scopeId,r.id),()=>{let t=e.getSource();return k(t.scopeId,t.id)},e,`source`)},group:r,source:i,canDrop:a,isNoop:s,emitDrop:c,moveBefore:e=>l(`before`,e),moveAfter:e=>l(`after`,e),moveToStart:e=>u(`start`,e),moveToEnd:e=>u(`end`,e)}},A=Fe(),j=`--ui-sortable-drag-cursor`,M=`data-ui-sortable-dragging`,Ie=e=>{let t=document.documentElement,n=t.getAttribute(M),r=t.style.getPropertyValue(j);return t.setAttribute(M,``),t.style.setProperty(j,e.trim()||`default`),()=>{n===null?t.removeAttribute(M):t.setAttribute(M,n),r?t.style.setProperty(j,r):t.style.removeProperty(j)}},Le=({props:e,effects:t})=>te({type:`parallel`,on:{PROPS_CHANGED:{reduce:`props`,effects:`reconcile`},DOM_INVALIDATED:{effects:`reconcile`}},states:{interaction:{initial:`idle`,on:{POINTER_MOVED:{reduce:`pointer`}},states:{idle:{on:{START:{target:`starting`,reduce:`start`}}},starting:{on:{STARTING_DONE:{target:`dragging`},END:{target:`ending`,reduce:`data`}}},dragging:{on:{END:{target:`ending`,reduce:`data`}}},ending:{on:{ENDING_DONE:{target:`idle`,effects:`complete`}}}}},layout:{initial:`inactive`,states:{inactive:{on:{START:{target:`calculating`}}},calculating:{entry:`resolvePlacement`,on:{POINTER_MOVED:{effects:`resolvePlacement`},LAYOUT_PROPOSED:{target:`syncing`,reduce:`data`},END:{target:`inactive`}}},syncing:{on:{RECTS_SYNCED:{target:`calculating`,effects:`synced`},END:{target:`inactive`,effects:`synced`}}}}}}},{props:e,context:{data:{},pointer:null},reducers:{start:({event:e})=>({context:{data:e.data,pointer:null}}),data:({context:e,event:t})=>({context:{...e,data:t.data}}),pointer:({context:e,event:t})=>({context:{...e,pointer:t.pointer}}),props:({context:e,event:t})=>({context:e,props:t.props})},effects:t}),N=new Map,P=new Set;function Re(e){ze(e);var t=N.get(e);if(t)return t;var n={timeOfEngagementStart:Date.now()};return N.set(e,n),n}function ze(e){P.add(e)}function Be(e){P.clear(),e(),N.forEach(function(e,t){P.has(t)||N.delete(t)}),P.clear()}function Ve(){N.clear()}var He=new Map;function Ue(e){var t=He.get(e);if(t)return t;var n=We(e);return He.set(e,n),n}function We(t){var n={type:`idle`},r=[];function i(t){if(n.type===`running`){var a=t-n.timeLastFrameFinished,o=n.latestArgs,s=e({x:o.location.current.input.clientX,y:o.location.current.input.clientY});Be(function(){r.forEach(function(e){return e({underUsersPointer:s,latestArgs:o,timeSinceLastFrame:a})})}),n.timeLastFrameFinished=t,n.frameId=requestAnimationFrame(i)}}function a(){n.type!==`idle`&&(cancelAnimationFrame(n.frameId),Ve(),n={type:`idle`})}function o(e){n.type===`idle`&&(n={type:`initializing`,latestArgs:e,frameId:requestAnimationFrame(function(e){n.type===`initializing`&&(n={type:`running`,timeLastFrameFinished:e,latestArgs:n.latestArgs,frameId:requestAnimationFrame(i)})})})}function s(e){if(n.type===`idle`){o(e);return}n.latestArgs=e}return t({onDragStart:o,onDropTargetChange:s,onDrag:s,onDrop:a}),{onFrame:function(e){r.push(e)}}}var F=`data-auto-scrollable`,Ge=`[${F}="true"]`;function Ke(e){return e.setAttribute(F,`true`),function(){return e.removeAttribute(F)}}function qe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Je(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t];t%2?qe(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qe(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Ye={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},Xe={standard:900,fast:1500};function Ze(e){return Je(Je({},Ye),{},{maxPixelScrollPerSecond:Xe[e?.maxScrollSpeed??`standard`]})}var Qe={top:function(e){return e.scrollTop>0},right:function(e){return Math.ceil(e.scrollLeft)+e.clientWidth<e.scrollWidth},bottom:function(e){return Math.ceil(e.scrollTop)+e.clientHeight<e.scrollHeight},left:function(e){return e.scrollLeft>0}},$e=[`top`,`right`,`bottom`,`left`],et={top:`vertical`,right:`horizontal`,bottom:`vertical`,left:`horizontal`},tt={start:`top`,end:`bottom`,point:`y`,size:`height`},nt={start:`left`,end:`right`,point:`x`,size:`width`},rt={vertical:{mainAxis:tt,crossAxis:nt},horizontal:{mainAxis:nt,crossAxis:tt}},I={top:`start`,right:`end`,bottom:`end`,left:`start`};function L(e){var t=e.edge,r=e.axis;return function(e){var i=e.clientRect,a=e.config,o=rt[r],s=o.mainAxis,c=o.crossAxis,l=I[t],u=Math.min(a.startHitboxAtPercentageRemainingOfElement[t]*i[s.size],a.maxMainAxisHitboxSize);return DOMRect.fromRect(n(n(n(n({},s.point,l===`start`?i[s.point]:i[s.point]+i[s.size]-u),c.point,i[c.point]),s.size,u),c.size,i[c.size]))}}var it={top:L({axis:`vertical`,edge:`top`}),right:L({axis:`horizontal`,edge:`right`}),bottom:L({axis:`vertical`,edge:`bottom`}),left:L({axis:`horizontal`,edge:`left`})};function at(e){var t=e.startOfRange,n=e.endOfRange,r=e.value;if(!(t<n)||r<t)return 0;if(r>n)return 1;var i=n-t;return(r-t)/i}function ot(e){var t=e.timeSinceLastFrame,n=e.config,r=n.maxPixelScrollPerSecond/1e3,i=Math.ceil(r*t),a=n.maxPixelScrollPerSecond/60;return Math.min(i,a)}function st(e){var t=e.client,n=e.axis,r=e.edge,i=e.hitbox,a=e.config,o=rt[n].mainAxis,s=I[r],c=i[o.size]*a.maxScrollAtPercentageRemainingOfHitbox[r];return s===`end`?at({startOfRange:i[o.start],endOfRange:i[o.end]-c,value:t[o.point]}):1-at({startOfRange:i[o.start]+c,endOfRange:i[o.end],value:t[o.point]})}function R(e){var t=e.client,n=e.timeSinceLastFrame,r=e.engagement,i=e.axis,a=e.hitbox,o=e.edge,s=e.isDistanceDampeningEnabled,c=e.config,l=ot({timeSinceLastFrame:n,config:c}),u=(s?st({client:t,edge:o,hitbox:a,axis:i,config:c}):1)*at({startOfRange:r.timeOfEngagementStart,endOfRange:r.timeOfEngagementStart+c.timeDampeningDurationMs,value:Date.now()}),d=Math.max(l*u,1);return I[o]===`end`?d:-1*d}function ct(e,t){return t===`all`||e===t}function lt(e){var t=e.client,n=e.clientRect;return t.x>=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height}function ut(e){return e.getBoundingClientRect()}function dt(e){var t=e.element,n=e.input,r=e.timeSinceLastFrame,i=e.engagement,a=e.config,o=e.allowedAxis,s=e.getRect,c=s===void 0?ut:s,l={x:n.clientX,y:n.clientY},u=c(t),d=$e.reduce(function(e,n){var r=it[n]({clientRect:u,config:a}),i=et[n];return!ct(i,o)||!lt({client:l,clientRect:r})||!Qe[n](t)||e.set(n,{edge:n,hitbox:r}),e},new Map);return{left:function(){var e=`horizontal`,t=d.get(`left`);if(t)return R({client:l,edge:t.edge,hitbox:t.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a});var n=d.get(`right`);return n?R({client:l,edge:n.edge,hitbox:n.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a}):0}(),top:function(){var e=`vertical`,t=d.get(`bottom`);if(t)return R({client:l,edge:t.edge,hitbox:t.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a});var n=d.get(`top`);return n?R({client:l,edge:n.edge,hitbox:n.hitbox,axis:e,timeSinceLastFrame:r,engagement:i,isDistanceDampeningEnabled:!0,config:a}):0}()}}function ft(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=pt(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function pt(e,t){if(e){if(typeof e==`string`)return mt(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mt(e,t):void 0}}function mt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ht(e){return!!(e.top||e.left)}function gt(e){var t=e.target,n=e.input,r=e.source,i=e.findEntry,a=e.timeSinceLastFrame,o=e.available,s=o===void 0?{top:!0,left:!0}:o;if(!ht(s)||!t)return s;var c=t.closest(Ge);if(!c)return s;var l=i(c);if(!l)return s;function u(){return gt({target:c?.parentElement??null,findEntry:i,source:r,timeSinceLastFrame:a,input:n,available:s})}var d={input:n,source:r,element:c};if(l.canScroll&&!l.canScroll(d))return u();var f=Re(c),p=Ze(l.getConfiguration?.call(l,d)),m=dt({element:c,engagement:f,input:n,timeSinceLastFrame:a,allowedAxis:l.getAllowedAxis?.call(l,d)??`all`,config:p}),h={top:0,left:0};return s.top&&m.top!==0&&(h.top=m.top,s.top=!1),s.left&&m.left!==0&&(h.left=m.left,s.left=!1),(h.top!==0||h.left!==0)&&c.scrollBy(h),u()}function _t(e){var t=e.input,n=e.timeSinceLastFrame,r=e.available,i=e.source,a=e.entries,o=document.documentElement,s={input:t,source:i,element:o},c=ft(a),l;try{for(c.s();!(l=c.n()).done;){var u=l.value;if(!(u.canScroll&&!u.canScroll(s))){var d=dt({element:o,engagement:Re(o),input:t,config:Ze(u.getConfiguration?.call(u,s)),allowedAxis:u.getAllowedAxis?.call(u,s)??`all`,getRect:function(e){return DOMRect.fromRect({y:0,x:0,width:e.clientWidth,height:e.clientHeight})},timeSinceLastFrame:n}),f={top:r.top?d.top:0,left:r.left?d.left:0};(f.top!==0||f.left!==0)&&o.scrollBy(f);break}}}catch(e){c.e(e)}finally{c.f()}}function vt(e){var t=e.input,n=e.findEntry,r=e.timeSinceLastFrame,i=e.source,a=e.getWindowScrollEntries,o=e.underUsersPointer,s=gt({target:o,timeSinceLastFrame:r,input:t,source:i,findEntry:n});ht(s)&&_t({input:t,source:i,entries:a(),timeSinceLastFrame:r,available:s})}function yt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t];t%2?yt(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function xt(e){var t=e.monitor,n=new Map,i=new Set;function a(e){return n.set(e.element,e),r(o(Ke(e.element),function(){return n.delete(e.element)}))}function s(){var e=bt({},arguments.length>0&&arguments[0]!==void 0?arguments[0]:{});i.add(e);function t(){i.delete(e)}return r(t)}function c(e){return n.get(e)??null}function l(){return Array.from(i)}function u(e){var t=e.latestArgs,n=e.underUsersPointer,r=e.timeSinceLastFrame;vt({input:t.location.current.input,source:t.source,findEntry:c,underUsersPointer:n,timeSinceLastFrame:r,getWindowScrollEntries:l})}return Ue(t).onFrame(u),{autoScroll:a,autoScrollWindow:s}}var St=xt({monitor:ae}),Ct=St.autoScroll,wt=St.autoScrollWindow,Tt=s();function Et(e){e.defaultPrevented||(e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),e.preventDefault())}var z=null;function Dt(){B(),z=(0,Tt.bindAll)(window,[{type:`dragover`,listener:Et},{type:`dragenter`,listener:Et},{type:`drop`,listener:function(e){e.preventDefault(),B()}},{type:`dragend`,listener:B}].concat(a(i({onDragEnd:B}))),{capture:!1})}function B(){var e;(e=z)==null||e(),z=null}function Ot(){if(window.event?.type===`drop`){var e;(e=window.event)==null||e.preventDefault()}B()}var V={start:Dt,stop:Ot},H=`[data-ui-sortable]`,U=`[data-ui-sortable-item]`,kt=`[data-ui-sortable-source]`,At=`[x-ui-sortable\\:handle], [data-ui-sortable-handle]`,jt=`[x-ui-sortable\\:preview], [data-ui-sortable-preview]`,Mt=`[x-ui-sortable\\:indicator], [data-ui-sortable-indicator]`,Nt=`ui-sortable`,W=2,Pt=`a, button, input, select, textarea, summary, [contenteditable], [role="button"], [role="link"]`,Ft={sortableScope:m.trim,sortableId:m.trim,orientation:h([`vertical`,`horizontal`,`grid`],`vertical`),columns:p.default(0),accepts:v.array([]),disabled:g,readonly:g,feedback:h([`indicator`,`reorder`],`indicator`),sourceOpacity:p.clamp(0,1).default(.4),ghostOpacity:p.clamp(0,1).default(.92),dragCursor:m.trim.default(`default`),label:m.trim,sortableData:v.object({})},It={sortableScope:m.trim,sortableId:m.trim,sortableType:m.trim,label:m.trim,disabled:g,sortableData:v.object({}),sourceOpacity:p.clamp(0,1).default(.4),ghostOpacity:p.clamp(0,1).default(.92),dragCursor:m.trim.default(`default`)},Lt=[b({name:`starting`,state:`interaction.starting`,project:({context:e})=>e.data,onDone:`STARTING_DONE`,onError:`STARTING_DONE`}),b({name:`placing`,state:`layout.syncing`,project:({context:e})=>e.data,onDone:`RECTS_SYNCED`,onError:`RECTS_SYNCED`}),b({name:`ending`,state:`interaction.ending`,project:({context:e})=>e.data,onDone:`ENDING_DONE`,onError:`ENDING_DONE`})],G=new WeakMap,K=new Set,q=new WeakMap,J=null,Y=(e,t)=>e.closest(t),X=e=>[...e.querySelectorAll(U)].filter(t=>Y(t.parentElement??t,H)===e),Rt=e=>{let t=e.group();return{controller:e,layout:{groupId:t.id,orientation:t.orientation,direction:getComputedStyle(e.el).direction===`rtl`?`rtl`:`ltr`,columns:t.columns,groupRect:e.el.getBoundingClientRect(),items:X(e.el).map(e=>({id:e.dataset.sortableId??``,rect:e.getBoundingClientRect()}))}}},Z=e=>{let t=e.controller.group(),n=e.controller.el.getBoundingClientRect(),r=n.left-e.layout.groupRect.left,i=n.top-e.layout.groupRect.top,a=e=>({left:e.left+r,right:e.right+r,top:e.top+i,bottom:e.bottom+i,width:e.width,height:e.height});return{...e.layout,orientation:t.orientation,columns:t.columns,groupRect:n,items:e.layout.items.map(e=>({...e,rect:a(e.rect)}))}},zt=(e,t,n)=>{if(t.target===n)return null;t.target=n;let r=c(e).animate({translate:n||`none`}).speed(`moderate`).transition({ease:c.easings.inOut}).play();return t.handle=r,r.finished.then(()=>{t.handle===r&&(t.handle=null,e.style.translate=t.target)}),r},Bt=()=>{let e=J;if(!e)return;let t=[...e.projections.keys()];e.projections.forEach((t,n)=>{t.handle=null,n.style.translate=t.target,t.target===t.baseline&&(n.removeAttribute(`data-reordering`),e.projections.delete(n))}),t.forEach(e=>e.getBoundingClientRect())},Vt=(e=!1)=>{let t=J;if(!t)return[];let n=[];return t.projections.forEach((t,r)=>{if(e)t.handle?.stop(),r.style.translate=t.baseline;else{let e=zt(r,t,t.baseline);e&&n.push(e)}r.removeAttribute(`data-reordering`)}),e&&t.projections.clear(),K.forEach(({el:e})=>e.removeAttribute(`data-reordering`)),n},Q=(e=null)=>{K.forEach(({el:t})=>{t!==e&&t.removeAttribute(`data-drag-rejected`)})},Ht=e=>{let t=J;if(!t)return[];let n=[],r=new Map;e.forEach(({groupId:e,id:n,x:i,y:a})=>{let o=t.layouts.get(e),s=o&&X(o.controller.el).find(e=>e.dataset.sortableId===n);s&&r.set(s,{x:i,y:a,group:o.controller})}),t.projections.forEach((e,t)=>{if(r.has(t))return;let i=zt(t,e,e.baseline);i&&n.push(i),t.removeAttribute(`data-reordering`)});let i=new Set;return r.forEach(({x:e,y:r,group:a},o)=>{let s=t.projections.get(o);s||(s={baseline:o.style.translate,target:o.style.translate,handle:null},t.projections.set(o,s));let c=`${e}px ${r}px`,l=zt(o,s,c);l&&n.push(l),o.setAttribute(`data-reordering`,``),i.add(a)}),K.forEach(e=>e.el.toggleAttribute(`data-reordering`,i.has(e))),n},Ut=(e,t,n,r=null)=>{let i=e.indicator();if(!i)return;if(!t||!r){i.hidden=!0;return}Object.assign(i.style,{position:`absolute`,left:`0`,top:`0`}),i.hidden=!1;let a=t.anchor?.edge??`empty`,o=i.offsetParent,s=o instanceof Element?o.getBoundingClientRect():{left:-window.scrollX,top:-window.scrollY},c=o instanceof HTMLElement?o.scrollLeft:0,l=o instanceof HTMLElement?o.scrollTop:0,u=r.kind===`inline-boundary`,d=r.kind===`block-boundary`,f=r.x-s.left+c-(u?W/2:0),p=r.y-s.top+l-(d?W/2:0);Object.assign(i.style,{transform:`translate3d(${f}px, ${p}px, 0)`,width:`${u?W:r.width}px`,height:`${d?W:r.height}px`,pointerEvents:`none`,zIndex:`2147483646`}),i.dataset.orientation=e.group().orientation,i.dataset.edge=a,i.dataset.operation=n??``,i.dataset.indicatorKind=r.kind},Wt=()=>{J?.group&&(J.group.el.removeAttribute(`data-drag-over`),J.group.el.removeAttribute(`data-drop-edge`),J.group.el.removeAttribute(`data-drop-effect`),J.group.el.removeAttribute(`data-drop-noop`),J.group.el.removeAttribute(`data-placing`),Ut(J.group,null),J.group=null)},Gt=(e=!1)=>{if(!J)return[];let t=Vt(e);return Wt(),J.placement=null,t},$=(e,t=`outside`)=>{let n=J;if(!n)return;V.stop();let r=n.placement,i=n.source.groupId===null?null:n.layouts.get(n.source.groupId)??null,a=r?n.layouts.get(r.destination.groupId)??null:null,o=e===`drop`&&r&&a?Se({source:n.source,placement:r,sourceLayout:i?Z(i):null,destinationLayout:Z(a)}):null,s=o?{x:o.left,y:o.top,width:o.width,height:o.height}:Ee(n.controller.el.getBoundingClientRect());Gt(!0),J=null,n.controller.el.removeAttribute(`data-dragging`),n.controller.el.removeAttribute(`data-drag-operation`),n.controller.el.removeAttribute(`data-sortable-phase`),n.controller.restoreAppearance(),n.restoreCursor(),Q(),e===`cancel`&&y({el:n.controller.el,name:`ui:sortable-cancel`,composed:!0,detail:Object.freeze({source:n.source,reason:t})});let c=n.ghost.frame();n.controller.afterEnd=()=>{n.ghost.remove(),n.controller.ghost=null,n.controller.afterEnd=null},n.controller.machine.send({type:`END`,data:{outcome:e,source:n.source,placement:e===`drop`?r:null,...e===`cancel`?{reason:t}:{},fromFrame:c,toFrame:s??c,fromTransform:n.ghost.positioner.style.transform,toTransform:s?`translate3d(${s.x}px, ${s.y}px, 0)`:n.ghost.positioner.style.transform}})},Kt=(e,t)=>{if(!J)return;let n=J.placement,r=J.group!==e;r&&Wt();let i=e.group(),a=J.source.operation===`insert`?`indicator`:i.feedback,o=Rt(e).layout,s=o.items,c=s.map(({id:e})=>e),l=J.source.id,u=a===`reorder`&&i.id===J.source.groupId?s.filter(({id:e})=>e!==l):s,d={groupId:i.id,orientation:i.orientation,direction:o.direction,columns:i.columns,groupRect:o.groupRect,items:u},f=J.ghost.projectedFrame(t),p=a===`reorder`?{clientX:i.orientation===`vertical`?t.clientX:f.x+f.width/2,clientY:i.orientation===`horizontal`?t.clientY:f.y+f.height/2}:t,m=(a===`reorder`?ge:he)({...d,input:p}),h=a===`indicator`?ve({...d,items:s},m):null,g=a===`reorder`?m:_e({placement:m,sourceId:J.source.id,sourceGroupId:J.source.groupId,itemIds:c});if(!r&&le(n,g))return;let _=J.source.groupId===null?null:J.layouts.get(J.source.groupId)??null,v=J.layouts.get(i.id),b=A.isNoop(J.source,g),ee=a===`reorder`&&!b?Ce({source:J.source,placement:g,sourceLayout:_?Z(_):null,destinationLayout:v?Z(v):null}):[];J.group=e,J.placement=g,e.el.setAttribute(`data-drag-over`,``),e.el.dataset.dropEdge=g.anchor?.edge??`empty`,e.el.dataset.dropEffect=J.source.operation===`insert`?`copy`:`move`,e.el.toggleAttribute(`data-drop-noop`,b),y({el:e.el,name:`ui:sortable-placement-change`,composed:!0,detail:Object.freeze({source:J.source,previous:n,placement:g})}),J.controller.machine.send({type:`LAYOUT_PROPOSED`,data:{source:J.source,previous:n,placement:g,feedback:a,offsets:ee,indicatorFrame:h,noop:b}})},qt=e=>{let t=J;if(!t?.group||!le(t.placement,e.placement))return;t.controller.el.dataset.sortablePhase=`placing`,t.group.el.setAttribute(`data-placing`,``);let n=e.feedback===`reorder`&&!e.noop?Ht(e.offsets):Vt();e.feedback===`reorder`&&!e.noop?Ut(t.group,null):Ut(t.group,e.noop?null:e.placement,t.source.operation,e.indicatorFrame);let r=()=>{J===t&&Bt()};if(n.length===0){r();return}return Promise.allSettled(n.map(({finished:e})=>e)).then(r)},Jt=(e,t)=>{e.setAttribute(`data-ui-sortable`,``),d(e,`data-ui-sortable`);let n=()=>void 0,r=_({el:e,schema:Ft,onChange:()=>n()}),i={el:e,group:()=>Object.freeze({scopeId:r.sortableScope,id:r.sortableId,orientation:r.orientation,columns:r.orientation===`grid`?r.columns:null,accepts:r.accepts,disabled:r.disabled,readOnly:r.readonly,...r.label?{label:r.label}:{},feedback:r.feedback,sourceOpacity:r.sourceOpacity,ghostOpacity:r.ghostOpacity,dragCursor:r.dragCursor,...Object.keys(r.sortableData).length?{data:Object.freeze({...r.sortableData})}:{}}),itemIds:()=>X(e).map(e=>e.dataset.sortableId??``).filter(Boolean),indicator:()=>[...e.querySelectorAll(Mt)].find(t=>Y(t.parentElement??t,H)===e)??null,refresh:()=>n()};(!r.sortableScope||!r.sortableId||r.accepts.length===0)&&l(`Invalid sortable group props`,e),r.orientation===`grid`&&!x(r.columns)&&l(`Grid sortable groups require positive data-columns`,e),G.set(e,i),K.add(i);let a=A.registerGroup({element:e,getGroup:i.group,getItemIds:i.itemIds,canDrop:t=>q.get(e)?.(t)!==!1});n=()=>{J?.group===i&&$(`cancel`,`removed`),a.refresh()};let o=f(e,{invalidateDom:i.refresh}),s=re({element:e,canDrop:({source:t,input:n})=>{let r=J,a=t.data.marker===Nt&&r!==null,o=a&&A.canDrop(r.source,i.group().id,{clientX:n.clientX,clientY:n.clientY});return e.toggleAttribute(`data-drag-rejected`,a&&!o),o},getDropEffect:()=>`move`,onDrop:()=>{if(!J||J.group!==i||!J.placement)return;let e=A.emitDrop(J.source,J.placement,J.input),t=i.group();$(e?`drop`:`cancel`,t.disabled||t.readOnly?`disabled`:`outside`)}}),c=Ct({element:e});t.cleanup(()=>{J?.group===i&&Gt(!0),c(),s(),o(),a(),r.disconnect(),G.delete(e),K.delete(i),e.removeAttribute(`data-drag-rejected`)})},Yt=(e,t,n)=>{let r=t===`item`?`data-ui-sortable-item`:`data-ui-sortable-source`;e.setAttribute(r,``),d(e,r,`draggable`);let i=()=>t===`item`?Y(e.parentElement??e,H):null,a,o=ee({schema:It,hooks:Lt,createMachine:({props:t})=>Le({props:t,effects:{resolvePlacement:({context:e})=>{let t=J,n=e.pointer;if(!t||!n)return;let r=n.destinationId===null?null:t.layouts.get(n.destinationId)?.controller??null;r&&Kt(r,n.input)},synced:()=>{e.removeAttribute(`data-sortable-phase`),J?.group?.el.removeAttribute(`data-placing`)},complete:()=>a.afterEnd?.(),reconcile:()=>a.refresh()}}),resolveTransitionElement:({name:e})=>e===`starting`?a.ghost?.visual:e===`placing`?J?.group?.el:a.ghost?.positioner});o.connect(e);let s=()=>o.getCommittedSnapshot().props;a={el:e,owner:i,source:()=>{let e=s(),n=i(),r=n?G.get(n)?.group():null,a={scopeId:t===`item`?r?.scopeId??``:e.sortableScope,id:e.sortableId,type:e.sortableType,...e.label?{label:e.label}:{},...Object.keys(e.sortableData).length?{data:Object.freeze({...e.sortableData})}:{}};return Object.freeze(t===`item`?{operation:`move`,groupId:r?.id??``,...a}:{operation:`insert`,groupId:null,...a})},disabled:()=>{let e=i(),t=e?G.get(e)?.group():null;return s().disabled||t?.disabled===!0||t?.readOnly===!0},appearance:()=>{let e=s(),t=i(),n=t?G.get(t)?.group():null;return{sourceOpacity:n?.sourceOpacity??e.sourceOpacity,ghostOpacity:n?.ghostOpacity??e.ghostOpacity,dragCursor:n?.dragCursor??e.dragCursor}},refresh:()=>void 0,restoreAppearance:()=>{a.previousOpacity!==null&&(e.style.opacity=a.previousOpacity,a.previousOpacity=null)},machine:o,ghost:null,afterEnd:null,previousOpacity:null};let c=o.onTransition(`placing`,e=>qt(e.data)),u=e.getAttributeNames().some(e=>e===`x-ui-transition:ending`)?()=>void 0:o.onTransition(`ending`,e=>{let t=e.data.toFrame??null;return a.ghost?.finish(t)}),f=a.source();(!f.scopeId||!f.id||!f.type)&&l(`Invalid sortable source props`,e);let p=A.registerSource({element:e,getSource:a.source,isDisabled:a.disabled});a.refresh=()=>{J?.controller===a&&$(`cancel`,`removed`),p.refresh()};let m=[...e.querySelectorAll(At)].find(t=>Y(t,`${U}, ${kt}`)===e),h=[...e.querySelectorAll(jt)].find(t=>Y(t,`${U}, ${kt}`)===e),g=se(e,`move`),_=ce({element:e,...m?{dragHandle:m}:{},canDrag:({input:t})=>{let n=document.elementFromPoint(t.clientX,t.clientY)?.closest(Pt)??null;return!a.disabled()&&(!!m||n===null||n===e)},getInitialData:()=>{let e=a.source();return{marker:Nt,scopeId:e.scopeId,sortableId:e.id,sortableType:e.type}},onGenerateDragPreview:oe,onDragStart:t=>{V.start();let n=a.source(),r=ie(t),i=a.appearance(),s=De({source:e,input:ne(t),preview:h??null,opacity:i.ghostOpacity});s.move(r),a.ghost=s,a.previousOpacity=e.style.opacity,e.style.opacity=`${i.sourceOpacity}`;let c=Ie(i.dragCursor);J={controller:a,source:n,ghost:s,placement:null,group:null,layouts:new Map([...K].flatMap(e=>{let t=e.group();return t.scopeId===n.scopeId?[[t.id,Rt(e)]]:[]})),projections:new Map,input:r,timestamp:performance.now(),restoreCursor:c},e.setAttribute(`data-dragging`,``),e.dataset.dragOperation=n.operation,y({el:e,name:`ui:sortable-start`,composed:!0,detail:Object.freeze({source:n})}),o.send({type:`START`,data:{source:n,sourceFrame:Ee(e.getBoundingClientRect()),ghostFrame:s.frame()}})},onDrag:t=>{if(J?.controller!==a)return;let n=ie(t),r=J.input,i=performance.now(),s=Math.max(i-J.timestamp,1);J.input=n,J.timestamp=i,J.ghost.move(n);let c=t.location.current.dropTargets.map(({element:e})=>e instanceof HTMLElement?G.get(e):void 0).find(e=>e!==void 0);o.send({type:`POINTER_MOVED`,pointer:{destinationId:c?.group().id??null,input:n}}),Q(document.elementFromPoint(n.clientX,n.clientY)?.closest(H)??null),y({el:e,name:`ui:sortable-drag`,composed:!0,detail:Object.freeze({source:J.source,input:Object.freeze(n),previousInput:Object.freeze(r),delta:Object.freeze({x:n.clientX-r.clientX,y:n.clientY-r.clientY}),velocity:Object.freeze({x:(n.clientX-r.clientX)/s,y:(n.clientY-r.clientY)/s}),ghostFrame:Object.freeze({...J.ghost.frame()})})})},onDrop:()=>queueMicrotask(()=>{J?.controller===a&&$(`cancel`,a.disabled()?`disabled`:`outside`)})});n.cleanup(()=>{if(J?.controller===a){let t=J;V.stop(),Gt(!0),J=null,e.removeAttribute(`data-dragging`),e.removeAttribute(`data-drag-operation`),e.removeAttribute(`data-sortable-phase`),y({el:e,name:`ui:sortable-cancel`,composed:!0,detail:Object.freeze({source:t.source,reason:`removed`})}),t.ghost.remove(),t.restoreCursor(),Q(),a.restoreAppearance(),a.ghost=null,a.afterEnd=null}_(),g(),c(),u(),p(),o.disconnect(),a.afterEnd?.(),a.ghost?.remove(),a.ghost=null,a.afterEnd=null})},Xt=null,Zt=e=>{e.addInitSelector(()=>`[x-ui-sortable], [x-ui-sortable\\:item], [x-ui-sortable\\:source]`),Xt??=wt(),e.directive(`ui-sortable`,e.skipDuringClone((e,{value:t,expression:n},r)=>{e instanceof HTMLElement&&(t?t===`item`||t===`source`?Yt(e,t,r):t===`handle`?(e.setAttribute(`data-ui-sortable-handle`,``),d(e,`data-ui-sortable-handle`)):t===`indicator`?(e.setAttribute(`data-ui-sortable-indicator`,``),d(e,`data-ui-sortable-indicator`,`aria-hidden`,`hidden`),e.setAttribute(`aria-hidden`,`true`),e.hidden=!0):t===`preview`?(e.setAttribute(`data-ui-sortable-preview`,``),d(e,`data-ui-sortable-preview`)):t===`can-drop`&&n?.trim()&&(q.set(e,e=>r.evaluate(n,{scope:{$sortable:e}})!==!1),r.cleanup(()=>q.delete(e))):Jt(e,r))}))},Qt=new WeakSet,$t=e=>{Qt.has(e)||(Qt.add(e),u(A),Zt(e))};export{A as i,Zt as n,Fe as r,$t as t};
|
|
3
|
-
//# sourceMappingURL=capability-sortable-
|
|
3
|
+
//# sourceMappingURL=capability-sortable-BurX5yRd.js.map
|