From 99f542f0c2fb665466c4e1ec3d11713d086d31cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Fri, 22 Apr 2022 15:31:00 +0200 Subject: Update to Alpine 3.10.2 --- alpinejs/packages/alpinejs/dist/cdn.js | 105 +- alpinejs/packages/alpinejs/dist/cdn.min.js | 4 +- alpinejs/packages/alpinejs/dist/module.cjs.js | 105 +- alpinejs/packages/alpinejs/dist/module.esm.js | 2115 ++++++++------------ alpinejs/packages/alpinejs/package.json | 2 +- alpinejs/packages/alpinejs/src/alpine.js | 3 +- alpinejs/packages/alpinejs/src/directives.js | 1 + alpinejs/packages/alpinejs/src/directives/index.js | 13 + .../packages/alpinejs/src/directives/x-data.js | 2 + .../packages/alpinejs/src/directives/x-html.js | 10 +- .../packages/alpinejs/src/directives/x-model.js | 13 +- .../alpinejs/src/directives/x-modelable.js | 12 +- .../packages/alpinejs/src/directives/x-show.js | 32 +- alpinejs/packages/alpinejs/src/evaluator.js | 16 +- alpinejs/packages/alpinejs/src/magics/$watch.js | 8 +- alpinejs/packages/alpinejs/src/magics/index.js | 11 + alpinejs/packages/alpinejs/src/nextTick.js | 19 +- alpinejs/packages/alpinejs/src/reactivity.js | 2 + alpinejs/packages/alpinejs/src/utils/on.js | 18 +- alpinejs/packages/collapse/dist/cdn.js | 31 +- alpinejs/packages/collapse/dist/cdn.min.js | 2 +- alpinejs/packages/collapse/dist/module.cjs.js | 31 +- alpinejs/packages/collapse/dist/module.esm.js | 31 +- alpinejs/packages/collapse/package.json | 2 +- alpinejs/packages/collapse/src/index.js | 32 +- alpinejs/packages/csp/dist/cdn.js | 105 +- alpinejs/packages/csp/dist/cdn.min.js | 4 +- alpinejs/packages/csp/dist/module.cjs.js | 105 +- alpinejs/packages/csp/dist/module.esm.js | 2115 ++++++++------------ alpinejs/packages/docs/package.json | 2 +- alpinejs/packages/docs/src/en/directives/bind.md | 3 +- alpinejs/packages/docs/src/en/directives/for.md | 2 +- alpinejs/packages/docs/src/en/directives/model.md | 2 +- .../packages/docs/src/en/directives/modelable.md | 7 +- alpinejs/packages/docs/src/en/directives/on.md | 5 +- .../packages/docs/src/en/directives/teleport.md | 2 +- .../packages/docs/src/en/directives/transition.md | 6 +- .../docs/src/en/essentials/installation.md | 2 +- alpinejs/packages/docs/src/en/essentials/state.md | 2 +- alpinejs/packages/docs/src/en/magics/id.md | 2 +- alpinejs/packages/docs/src/en/magics/nextTick.md | 19 + alpinejs/packages/docs/src/en/magics/store.md | 2 +- alpinejs/packages/docs/src/en/plugins/collapse.md | 29 + alpinejs/packages/docs/src/en/plugins/focus.md | 4 +- alpinejs/packages/docs/src/en/plugins/intersect.md | 23 +- alpinejs/packages/docs/src/en/plugins/mask.md | 157 ++ alpinejs/packages/docs/src/en/plugins/morph.md | 4 +- alpinejs/packages/docs/src/en/upgrade-guide.md | 2 +- alpinejs/packages/focus/dist/module.esm.js | 1172 ++++++----- alpinejs/packages/focus/package.json | 2 +- alpinejs/packages/intersect/dist/cdn.js | 9 +- alpinejs/packages/intersect/dist/cdn.min.js | 2 +- alpinejs/packages/intersect/dist/module.cjs.js | 9 +- alpinejs/packages/intersect/dist/module.esm.js | 9 +- alpinejs/packages/intersect/package.json | 2 +- alpinejs/packages/intersect/src/index.js | 8 +- alpinejs/packages/mask/builds/cdn.js | 5 + alpinejs/packages/mask/builds/module.js | 5 + alpinejs/packages/mask/dist/cdn.js | 150 ++ alpinejs/packages/mask/dist/cdn.min.js | 1 + alpinejs/packages/mask/dist/module.cjs.js | 160 ++ alpinejs/packages/mask/dist/module.esm.js | 150 ++ alpinejs/packages/mask/package.json | 9 + alpinejs/packages/mask/src/index.js | 202 ++ alpinejs/packages/morph/dist/cdn.js | 513 +++-- alpinejs/packages/morph/dist/cdn.min.js | 4 +- alpinejs/packages/morph/dist/module.cjs.js | 525 +++-- alpinejs/packages/morph/dist/module.esm.js | 513 +++-- alpinejs/packages/morph/package.json | 2 +- alpinejs/packages/morph/src/dom.js | 66 + alpinejs/packages/morph/src/morph.js | 557 +++--- alpinejs/packages/persist/package.json | 2 +- alpinejs/packages/trap/dist/cdn.js | 700 ------- alpinejs/packages/trap/dist/cdn.min.js | 9 - alpinejs/packages/trap/dist/module.cjs.js | 762 ------- alpinejs/packages/trap/dist/module.esm.js | 755 ------- 76 files changed, 4741 insertions(+), 6786 deletions(-) create mode 100644 alpinejs/packages/docs/src/en/plugins/mask.md create mode 100644 alpinejs/packages/mask/builds/cdn.js create mode 100644 alpinejs/packages/mask/builds/module.js create mode 100644 alpinejs/packages/mask/dist/cdn.js create mode 100644 alpinejs/packages/mask/dist/cdn.min.js create mode 100644 alpinejs/packages/mask/dist/module.cjs.js create mode 100644 alpinejs/packages/mask/dist/module.esm.js create mode 100644 alpinejs/packages/mask/package.json create mode 100644 alpinejs/packages/mask/src/index.js create mode 100644 alpinejs/packages/morph/src/dom.js delete mode 100644 alpinejs/packages/trap/dist/cdn.js delete mode 100644 alpinejs/packages/trap/dist/cdn.min.js delete mode 100644 alpinejs/packages/trap/dist/module.cjs.js delete mode 100644 alpinejs/packages/trap/dist/module.esm.js diff --git a/alpinejs/packages/alpinejs/dist/cdn.js b/alpinejs/packages/alpinejs/dist/cdn.js index 4ba2177..aeca34f 100644 --- a/alpinejs/packages/alpinejs/dist/cdn.js +++ b/alpinejs/packages/alpinejs/dist/cdn.js @@ -76,6 +76,7 @@ el._x_effects.delete(effectReference); release(effectReference); }; + return effectReference; }; return [wrappedEffect, () => { cleanup2(); @@ -427,6 +428,13 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); } // packages/alpinejs/src/evaluator.js + var shouldAutoEvaluateFunctions = true; + function dontAutoEvaluateFunctions(callback) { + let cache = shouldAutoEvaluateFunctions; + shouldAutoEvaluateFunctions = false; + callback(); + shouldAutoEvaluateFunctions = cache; + } function evaluate(el, expression, extras = {}) { let result; evaluateLater(el, expression)((value) => result = value, extras); @@ -498,7 +506,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); }; } function runIfTypeOfFunction(receiver, value, scope2, params, el) { - if (typeof value === "function") { + if (shouldAutoEvaluateFunctions && typeof value === "function") { let result = value.apply(scope2, params); if (result instanceof Promise) { result.then((i) => runIfTypeOfFunction(receiver, i, scope2, params)).catch((error2) => handleError(error2, el, value)); @@ -632,6 +640,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); "bind", "init", "for", + "mask", "model", "modelable", "transition", @@ -660,13 +669,19 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); // packages/alpinejs/src/nextTick.js var tickStack = []; var isHolding = false; - function nextTick(callback) { - tickStack.push(callback); + function nextTick(callback = () => { + }) { queueMicrotask(() => { isHolding || setTimeout(() => { releaseNextTicks(); }); }); + return new Promise((res) => { + tickStack.push(() => { + callback(); + res(); + }); + }); } function releaseNextTicks() { isHolding = false; @@ -1414,8 +1429,9 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); get raw() { return raw; }, - version: "3.9.1", + version: "3.10.2", flushAndStopDeferringMutations, + dontAutoEvaluateFunctions, disableEffectScheduling, stopObservingMutations, destroyTree, @@ -2146,7 +2162,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); let evaluate2 = evaluateLater2(key); let firstTime = true; let oldValue; - effect3(() => evaluate2((value) => { + let effectReference = effect3(() => evaluate2((value) => { JSON.stringify(value); if (!firstTime) { queueMicrotask(() => { @@ -2158,6 +2174,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); } firstTime = false; })); + el._x_effects.delete(effectReference); }); // packages/alpinejs/src/magics/$store.js @@ -2217,8 +2234,15 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); // packages/alpinejs/src/magics/$el.js magic("el", (el) => el); + // packages/alpinejs/src/magics/index.js + warnMissingPluginMagic("Focus", "focus", "focus"); + warnMissingPluginMagic("Persist", "persist", "persist"); + function warnMissingPluginMagic(name, magicName, slug) { + magic(magicName, (el) => warn(`You can't use [$${directiveName}] without first installing the "${name}" plugin here: https://alpinejs.dev/plugins/${slug}`, el)); + } + // packages/alpinejs/src/directives/x-modelable.js - directive("modelable", (el, {expression}, {effect: effect3, evaluate: evaluate2, evaluateLater: evaluateLater2}) => { + directive("modelable", (el, {expression}, {effect: effect3, evaluateLater: evaluateLater2}) => { let func = evaluateLater2(expression); let innerGet = () => { let result; @@ -2229,12 +2253,11 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); let innerSet = (val) => evaluateInnerSet(() => { }, {scope: {__placeholder: val}}); let initialValue = innerGet(); - if (el._x_modelable_hook) - initialValue = el._x_modelable_hook(initialValue); innerSet(initialValue); queueMicrotask(() => { if (!el._x_model) return; + el._x_removeModelListeners["default"](); let outerGet = el._x_model.get; let outerSet = el._x_model.set; effect3(() => innerSet(outerGet())); @@ -2320,6 +2343,8 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); handler3 = wrapHandler(handler3, (next, e) => { if (el.contains(e.target)) return; + if (e.target.isConnected === false) + return; if (el.offsetWidth < 1 && el.offsetHeight < 1) return; if (el._x_isShown === false) @@ -2327,6 +2352,12 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); next(e); }); } + if (modifiers.includes("once")) { + handler3 = wrapHandler(handler3, (next, e) => { + next(e); + listenerTarget.removeEventListener(event, handler3, options); + }); + } handler3 = wrapHandler(handler3, (next, e) => { if (isKeyEvent(event)) { if (isListeningForASpecificKeyThatHasntBeenPressed(e, modifiers)) { @@ -2345,12 +2376,6 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); let wait = isNumeric(nextModifier.split("ms")[0]) ? Number(nextModifier.split("ms")[0]) : 250; handler3 = throttle(handler3, wait); } - if (modifiers.includes("once")) { - handler3 = wrapHandler(handler3, (next, e) => { - next(e); - listenerTarget.removeEventListener(event, handler3, options); - }); - } listenerTarget.addEventListener(event, handler3, options); return () => { listenerTarget.removeEventListener(event, handler3, options); @@ -2438,7 +2463,10 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); rightSideOfExpression: assigmentFunction }}); }); - cleanup2(() => removeListener()); + if (!el._x_removeModelListeners) + el._x_removeModelListeners = {}; + el._x_removeModelListeners["default"] = removeListener; + cleanup2(() => el._x_removeModelListeners["default"]()); let evaluateSetModel = evaluateLater(el, `${expression} = __placeholder`); el._x_model = { get() { @@ -2538,7 +2566,12 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); let evaluate2 = evaluateLater2(expression); effect3(() => { evaluate2((value) => { - el.innerHTML = value; + mutateDom(() => { + el.innerHTML = value; + el._x_ignoreSelf = true; + initTree(el); + delete el._x_ignoreSelf; + }); }); }); }); @@ -2608,24 +2641,35 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); cleanup1(); cleanup22(); reactiveData["destroy"] && evaluate(el, reactiveData["destroy"]); + undo(); }); })); // packages/alpinejs/src/directives/x-show.js directive("show", (el, {modifiers, expression}, {effect: effect3}) => { let evaluate2 = evaluateLater(el, expression); - let hide = () => mutateDom(() => { - el.style.display = "none"; + if (!el._x_doHide) + el._x_doHide = () => { + mutateDom(() => el.style.display = "none"); + }; + if (!el._x_doShow) + el._x_doShow = () => { + mutateDom(() => { + if (el.style.length === 1 && el.style.display === "none") { + el.removeAttribute("style"); + } else { + el.style.removeProperty("display"); + } + }); + }; + let hide = () => { + el._x_doHide(); el._x_isShown = false; - }); - let show = () => mutateDom(() => { - if (el.style.length === 1 && el.style.display === "none") { - el.removeAttribute("style"); - } else { - el.style.removeProperty("display"); - } + }; + let show = () => { + el._x_doShow(); el._x_isShown = true; - }); + }; let clickAwayCompatibleShow = () => setTimeout(show); let toggle = once((value) => value ? show() : hide(), (value) => { if (typeof el._x_toggleAndCascadeWithTransitions === "function") { @@ -2882,6 +2926,15 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); cleanup2(() => removeListener()); })); + // packages/alpinejs/src/directives/index.js + warnMissingPluginDirective("Collapse", "collapse", "collapse"); + warnMissingPluginDirective("Intersect", "intersect", "intersect"); + warnMissingPluginDirective("Focus", "trap", "focus"); + warnMissingPluginDirective("Mask", "mask", "mask"); + function warnMissingPluginDirective(name, directiveName2, slug) { + directive(directiveName2, (el) => warn(`You can't use [x-${directiveName2}] without first installing the "${name}" plugin here: https://alpinejs.dev/plugins/${slug}`, el)); + } + // packages/alpinejs/src/index.js alpine_default.setEvaluator(normalEvaluator); alpine_default.setReactivityEngine({reactive: reactive2, effect: effect2, release: stop, raw: toRaw}); diff --git a/alpinejs/packages/alpinejs/dist/cdn.min.js b/alpinejs/packages/alpinejs/dist/cdn.min.js index 06be4e5..01f9fcd 100644 --- a/alpinejs/packages/alpinejs/dist/cdn.min.js +++ b/alpinejs/packages/alpinejs/dist/cdn.min.js @@ -1,5 +1,5 @@ -(()=>{var Ue=!1,We=!1,F=[];function Dt(e){nn(e)}function nn(e){F.includes(e)||F.push(e),on()}function he(e){let t=F.indexOf(e);t!==-1&&F.splice(t,1)}function on(){!We&&!Ue&&(Ue=!0,queueMicrotask(sn))}function sn(){Ue=!1,We=!0;for(let e=0;ee.effect(t,{scheduler:r=>{Ye?Dt(r):r()}}),Ge=e.raw}function Je(e){K=e}function jt(e){let t=()=>{};return[n=>{let i=K(n);e._x_effects||(e._x_effects=new Set,e._x_runEffects=()=>{e._x_effects.forEach(o=>o())}),e._x_effects.add(i),t=()=>{i!==void 0&&(e._x_effects.delete(i),Y(i))}},()=>{t()}]}var Ft=[],Kt=[],Bt=[];function zt(e){Bt.push(e)}function _e(e,t){typeof t=="function"?(e._x_cleanups||(e._x_cleanups=[]),e._x_cleanups.push(t)):(t=e,Kt.push(t))}function Vt(e){Ft.push(e)}function ge(e,t,r){e._x_attributeCleanups||(e._x_attributeCleanups={}),e._x_attributeCleanups[t]||(e._x_attributeCleanups[t]=[]),e._x_attributeCleanups[t].push(r)}function Ze(e,t){!e._x_attributeCleanups||Object.entries(e._x_attributeCleanups).forEach(([r,n])=>{(t===void 0||t.includes(r))&&(n.forEach(i=>i()),delete e._x_attributeCleanups[r])})}var Xe=new MutationObserver(Qe),et=!1;function tt(){Xe.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),et=!0}function rt(){an(),Xe.disconnect(),et=!1}var te=[],nt=!1;function an(){te=te.concat(Xe.takeRecords()),te.length&&!nt&&(nt=!0,queueMicrotask(()=>{cn(),nt=!1}))}function cn(){Qe(te),te.length=0}function m(e){if(!et)return e();rt();let t=e();return tt(),t}var it=!1,xe=[];function Ht(){it=!0}function qt(){it=!1,Qe(xe),xe=[]}function Qe(e){if(it){xe=xe.concat(e);return}let t=[],r=[],n=new Map,i=new Map;for(let o=0;os.nodeType===1&&t.push(s)),e[o].removedNodes.forEach(s=>s.nodeType===1&&r.push(s))),e[o].type==="attributes")){let s=e[o].target,a=e[o].attributeName,c=e[o].oldValue,l=()=>{n.has(s)||n.set(s,[]),n.get(s).push({name:a,value:s.getAttribute(a)})},u=()=>{i.has(s)||i.set(s,[]),i.get(s).push(a)};s.hasAttribute(a)&&c===null?l():s.hasAttribute(a)?(u(),l()):u()}i.forEach((o,s)=>{Ze(s,o)}),n.forEach((o,s)=>{Ft.forEach(a=>a(s,o))});for(let o of r)if(!t.includes(o)&&(Kt.forEach(s=>s(o)),o._x_cleanups))for(;o._x_cleanups.length;)o._x_cleanups.pop()();t.forEach(o=>{o._x_ignoreSelf=!0,o._x_ignore=!0});for(let o of t)r.includes(o)||!o.isConnected||(delete o._x_ignoreSelf,delete o._x_ignore,Bt.forEach(s=>s(o)),o._x_ignore=!0,o._x_ignoreSelf=!0);t.forEach(o=>{delete o._x_ignoreSelf,delete o._x_ignore}),t=null,r=null,n=null,i=null}function ye(e){return I(k(e))}function T(e,t,r){return e._x_dataStack=[t,...k(r||e)],()=>{e._x_dataStack=e._x_dataStack.filter(n=>n!==t)}}function ot(e,t){let r=e._x_dataStack[0];Object.entries(t).forEach(([n,i])=>{r[n]=i})}function k(e){return e._x_dataStack?e._x_dataStack:typeof ShadowRoot=="function"&&e instanceof ShadowRoot?k(e.host):e.parentNode?k(e.parentNode):[]}function I(e){let t=new Proxy({},{ownKeys:()=>Array.from(new Set(e.flatMap(r=>Object.keys(r)))),has:(r,n)=>e.some(i=>i.hasOwnProperty(n)),get:(r,n)=>(e.find(i=>{if(i.hasOwnProperty(n)){let o=Object.getOwnPropertyDescriptor(i,n);if(o.get&&o.get._x_alreadyBound||o.set&&o.set._x_alreadyBound)return!0;if((o.get||o.set)&&o.enumerable){let s=o.get,a=o.set,c=o;s=s&&s.bind(t),a=a&&a.bind(t),s&&(s._x_alreadyBound=!0),a&&(a._x_alreadyBound=!0),Object.defineProperty(i,n,{...c,get:s,set:a})}return!0}return!1})||{})[n],set:(r,n,i)=>{let o=e.find(s=>s.hasOwnProperty(n));return o?o[n]=i:e[e.length-1][n]=i,!0}});return t}function be(e){let t=n=>typeof n=="object"&&!Array.isArray(n)&&n!==null,r=(n,i="")=>{Object.entries(Object.getOwnPropertyDescriptors(n)).forEach(([o,{value:s,enumerable:a}])=>{if(a===!1||s===void 0)return;let c=i===""?o:`${i}.${o}`;typeof s=="object"&&s!==null&&s._x_interceptor?n[o]=s.initialize(e,c,o):t(s)&&s!==n&&!(s instanceof Element)&&r(s,c)})};return r(e)}function ve(e,t=()=>{}){let r={initialValue:void 0,_x_interceptor:!0,initialize(n,i,o){return e(this.initialValue,()=>ln(n,i),s=>st(n,i,s),i,o)}};return t(r),n=>{if(typeof n=="object"&&n!==null&&n._x_interceptor){let i=r.initialize.bind(r);r.initialize=(o,s,a)=>{let c=n.initialize(o,s,a);return r.initialValue=c,i(o,s,a)}}else r.initialValue=n;return r}}function ln(e,t){return t.split(".").reduce((r,n)=>r[n],e)}function st(e,t,r){if(typeof t=="string"&&(t=t.split(".")),t.length===1)e[t[0]]=r;else{if(t.length===0)throw error;return e[t[0]]||(e[t[0]]={}),st(e[t[0]],t.slice(1),r)}}var Ut={};function y(e,t){Ut[e]=t}function re(e,t){return Object.entries(Ut).forEach(([r,n])=>{Object.defineProperty(e,`$${r}`,{get(){let[i,o]=at(t);return i={interceptor:ve,...i},_e(t,o),n(t,i)},enumerable:!1})}),{obj:e,cleanup:()=>{t=null}}}function Wt(e,t,r,...n){try{return r(...n)}catch(i){J(i,e,t)}}function J(e,t,r=void 0){Object.assign(e,{el:t,expression:r}),console.warn(`Alpine Expression Error: ${e.message} +(()=>{var Ge=!1,Ye=!1,K=[];function Lt(e){cn(e)}function cn(e){K.includes(e)||K.push(e),ln()}function he(e){let t=K.indexOf(e);t!==-1&&K.splice(t,1)}function ln(){!Ye&&!Ge&&(Ge=!0,queueMicrotask(un))}function un(){Ge=!1,Ye=!0;for(let e=0;ee.effect(t,{scheduler:r=>{Ze?Lt(r):r()}}),Je=e.raw}function Qe(e){B=e}function Kt(e){let t=()=>{};return[n=>{let i=B(n);return e._x_effects||(e._x_effects=new Set,e._x_runEffects=()=>{e._x_effects.forEach(o=>o())}),e._x_effects.add(i),t=()=>{i!==void 0&&(e._x_effects.delete(i),Y(i))},i},()=>{t()}]}var Bt=[],zt=[],Vt=[];function Ht(e){Vt.push(e)}function _e(e,t){typeof t=="function"?(e._x_cleanups||(e._x_cleanups=[]),e._x_cleanups.push(t)):(t=e,zt.push(t))}function qt(e){Bt.push(e)}function ge(e,t,r){e._x_attributeCleanups||(e._x_attributeCleanups={}),e._x_attributeCleanups[t]||(e._x_attributeCleanups[t]=[]),e._x_attributeCleanups[t].push(r)}function Xe(e,t){!e._x_attributeCleanups||Object.entries(e._x_attributeCleanups).forEach(([r,n])=>{(t===void 0||t.includes(r))&&(n.forEach(i=>i()),delete e._x_attributeCleanups[r])})}var tt=new MutationObserver(et),rt=!1;function nt(){tt.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),rt=!0}function it(){fn(),tt.disconnect(),rt=!1}var te=[],ot=!1;function fn(){te=te.concat(tt.takeRecords()),te.length&&!ot&&(ot=!0,queueMicrotask(()=>{dn(),ot=!1}))}function dn(){et(te),te.length=0}function m(e){if(!rt)return e();it();let t=e();return nt(),t}var st=!1,xe=[];function Ut(){st=!0}function Wt(){st=!1,et(xe),xe=[]}function et(e){if(st){xe=xe.concat(e);return}let t=[],r=[],n=new Map,i=new Map;for(let o=0;os.nodeType===1&&t.push(s)),e[o].removedNodes.forEach(s=>s.nodeType===1&&r.push(s))),e[o].type==="attributes")){let s=e[o].target,a=e[o].attributeName,c=e[o].oldValue,l=()=>{n.has(s)||n.set(s,[]),n.get(s).push({name:a,value:s.getAttribute(a)})},u=()=>{i.has(s)||i.set(s,[]),i.get(s).push(a)};s.hasAttribute(a)&&c===null?l():s.hasAttribute(a)?(u(),l()):u()}i.forEach((o,s)=>{Xe(s,o)}),n.forEach((o,s)=>{Bt.forEach(a=>a(s,o))});for(let o of r)if(!t.includes(o)&&(zt.forEach(s=>s(o)),o._x_cleanups))for(;o._x_cleanups.length;)o._x_cleanups.pop()();t.forEach(o=>{o._x_ignoreSelf=!0,o._x_ignore=!0});for(let o of t)r.includes(o)||!o.isConnected||(delete o._x_ignoreSelf,delete o._x_ignore,Vt.forEach(s=>s(o)),o._x_ignore=!0,o._x_ignoreSelf=!0);t.forEach(o=>{delete o._x_ignoreSelf,delete o._x_ignore}),t=null,r=null,n=null,i=null}function ye(e){return I(P(e))}function C(e,t,r){return e._x_dataStack=[t,...P(r||e)],()=>{e._x_dataStack=e._x_dataStack.filter(n=>n!==t)}}function at(e,t){let r=e._x_dataStack[0];Object.entries(t).forEach(([n,i])=>{r[n]=i})}function P(e){return e._x_dataStack?e._x_dataStack:typeof ShadowRoot=="function"&&e instanceof ShadowRoot?P(e.host):e.parentNode?P(e.parentNode):[]}function I(e){let t=new Proxy({},{ownKeys:()=>Array.from(new Set(e.flatMap(r=>Object.keys(r)))),has:(r,n)=>e.some(i=>i.hasOwnProperty(n)),get:(r,n)=>(e.find(i=>{if(i.hasOwnProperty(n)){let o=Object.getOwnPropertyDescriptor(i,n);if(o.get&&o.get._x_alreadyBound||o.set&&o.set._x_alreadyBound)return!0;if((o.get||o.set)&&o.enumerable){let s=o.get,a=o.set,c=o;s=s&&s.bind(t),a=a&&a.bind(t),s&&(s._x_alreadyBound=!0),a&&(a._x_alreadyBound=!0),Object.defineProperty(i,n,{...c,get:s,set:a})}return!0}return!1})||{})[n],set:(r,n,i)=>{let o=e.find(s=>s.hasOwnProperty(n));return o?o[n]=i:e[e.length-1][n]=i,!0}});return t}function be(e){let t=n=>typeof n=="object"&&!Array.isArray(n)&&n!==null,r=(n,i="")=>{Object.entries(Object.getOwnPropertyDescriptors(n)).forEach(([o,{value:s,enumerable:a}])=>{if(a===!1||s===void 0)return;let c=i===""?o:`${i}.${o}`;typeof s=="object"&&s!==null&&s._x_interceptor?n[o]=s.initialize(e,c,o):t(s)&&s!==n&&!(s instanceof Element)&&r(s,c)})};return r(e)}function ve(e,t=()=>{}){let r={initialValue:void 0,_x_interceptor:!0,initialize(n,i,o){return e(this.initialValue,()=>pn(n,i),s=>ct(n,i,s),i,o)}};return t(r),n=>{if(typeof n=="object"&&n!==null&&n._x_interceptor){let i=r.initialize.bind(r);r.initialize=(o,s,a)=>{let c=n.initialize(o,s,a);return r.initialValue=c,i(o,s,a)}}else r.initialValue=n;return r}}function pn(e,t){return t.split(".").reduce((r,n)=>r[n],e)}function ct(e,t,r){if(typeof t=="string"&&(t=t.split(".")),t.length===1)e[t[0]]=r;else{if(t.length===0)throw error;return e[t[0]]||(e[t[0]]={}),ct(e[t[0]],t.slice(1),r)}}var Gt={};function x(e,t){Gt[e]=t}function re(e,t){return Object.entries(Gt).forEach(([r,n])=>{Object.defineProperty(e,`$${r}`,{get(){let[i,o]=lt(t);return i={interceptor:ve,...i},_e(t,o),n(t,i)},enumerable:!1})}),{obj:e,cleanup:()=>{t=null}}}function Yt(e,t,r,...n){try{return r(...n)}catch(i){J(i,e,t)}}function J(e,t,r=void 0){Object.assign(e,{el:t,expression:r}),console.warn(`Alpine Expression Error: ${e.message} ${r?'Expression: "'+r+`" -`:""}`,t),setTimeout(()=>{throw e},0)}function N(e,t,r={}){let n;return g(e,t)(i=>n=i,r),n}function g(...e){return Gt(...e)}var Gt=ct;function Yt(e){Gt=e}function ct(e,t){let r={},n=re(r,e).cleanup;ge(e,"evaluator",n);let i=[r,...k(e)];if(typeof t=="function")return un(i,t);let o=fn(i,t,e);return Wt.bind(null,e,t,o)}function un(e,t){return(r=()=>{},{scope:n={},params:i=[]}={})=>{let o=t.apply(I([n,...e]),i);we(r,o)}}var lt={};function dn(e,t){if(lt[e])return lt[e];let r=Object.getPrototypeOf(async function(){}).constructor,n=/^[\n\s]*if.*\(.*\)/.test(e)||/^(let|const)\s/.test(e)?`(() => { ${e} })()`:e,o=(()=>{try{return new r(["__self","scope"],`with (scope) { __self.result = ${n} }; __self.finished = true; return __self.result;`)}catch(s){return J(s,t,e),Promise.resolve()}})();return lt[e]=o,o}function fn(e,t,r){let n=dn(t,r);return(i=()=>{},{scope:o={},params:s=[]}={})=>{n.result=void 0,n.finished=!1;let a=I([o,...e]);if(typeof n=="function"){let c=n(n,a).catch(l=>J(l,r,t));n.finished?(we(i,n.result,a,s,r),n.result=void 0):c.then(l=>{we(i,l,a,s,r)}).catch(l=>J(l,r,t)).finally(()=>n.result=void 0)}}}function we(e,t,r,n,i){if(typeof t=="function"){let o=t.apply(r,n);o instanceof Promise?o.then(s=>we(e,s,r,n)).catch(s=>J(s,i,t)):e(o)}else e(t)}var ut="x-";function w(e=""){return ut+e}function Jt(e){ut=e}var Zt={};function p(e,t){Zt[e]=t}function ne(e,t,r){let n={};return Array.from(t).map(Qt((o,s)=>n[o]=s)).filter(Xt).map(mn(n,r)).sort(hn).map(o=>pn(e,o))}function er(e){return Array.from(e).map(Qt()).filter(t=>!Xt(t))}var ft=!1,ie=new Map,tr=Symbol();function rr(e){ft=!0;let t=Symbol();tr=t,ie.set(t,[]);let r=()=>{for(;ie.get(t).length;)ie.get(t).shift()();ie.delete(t)},n=()=>{ft=!1,r()};e(r),n()}function at(e){let t=[],r=a=>t.push(a),[n,i]=jt(e);return t.push(i),[{Alpine:P,effect:n,cleanup:r,evaluateLater:g.bind(g,e),evaluate:N.bind(N,e)},()=>t.forEach(a=>a())]}function pn(e,t){let r=()=>{},n=Zt[t.type]||r,[i,o]=at(e);ge(e,t.original,o);let s=()=>{e._x_ignore||e._x_ignoreSelf||(n.inline&&n.inline(e,t,i),n=n.bind(n,e,t,i),ft?ie.get(tr).push(n):n())};return s.runCleanups=o,s}var Ee=(e,t)=>({name:r,value:n})=>(r.startsWith(e)&&(r=r.replace(e,t)),{name:r,value:n}),Se=e=>e;function Qt(e=()=>{}){return({name:t,value:r})=>{let{name:n,value:i}=nr.reduce((o,s)=>s(o),{name:t,value:r});return n!==t&&e(n,t),{name:n,value:i}}}var nr=[];function Z(e){nr.push(e)}function Xt({name:e}){return ir().test(e)}var ir=()=>new RegExp(`^${ut}([^:^.]+)\\b`);function mn(e,t){return({name:r,value:n})=>{let i=r.match(ir()),o=r.match(/:([a-zA-Z0-9\-:]+)/),s=r.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],a=t||e[r]||r;return{type:i?i[1]:null,value:o?o[1]:null,modifiers:s.map(c=>c.replace(".","")),expression:n,original:a}}}var dt="DEFAULT",Ae=["ignore","ref","data","id","bind","init","for","model","modelable","transition","show","if",dt,"teleport","element"];function hn(e,t){let r=Ae.indexOf(e.type)===-1?dt:e.type,n=Ae.indexOf(t.type)===-1?dt:t.type;return Ae.indexOf(r)-Ae.indexOf(n)}function B(e,t,r={}){e.dispatchEvent(new CustomEvent(t,{detail:r,bubbles:!0,composed:!0,cancelable:!0}))}var pt=[],mt=!1;function Te(e){pt.push(e),queueMicrotask(()=>{mt||setTimeout(()=>{Oe()})})}function Oe(){for(mt=!1;pt.length;)pt.shift()()}function or(){mt=!0}function C(e,t){if(typeof ShadowRoot=="function"&&e instanceof ShadowRoot){Array.from(e.children).forEach(i=>C(i,t));return}let r=!1;if(t(e,()=>r=!0),r)return;let n=e.firstElementChild;for(;n;)C(n,t,!1),n=n.nextElementSibling}function z(e,...t){console.warn(`Alpine Warning: ${e}`,...t)}function ar(){document.body||z("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's ` + ``` That's it! Alpine is now available for use inside your page. diff --git a/alpinejs/packages/docs/src/en/essentials/state.md b/alpinejs/packages/docs/src/en/essentials/state.md index fd1f39b..02935a0 100644 --- a/alpinejs/packages/docs/src/en/essentials/state.md +++ b/alpinejs/packages/docs/src/en/essentials/state.md @@ -54,7 +54,7 @@ Although this may seem obvious to some, it's worth mentioning that Alpine data c ### Data-less Alpine -Sometimes you may want to use Alpine functionality, but don't need any reactive data. In these cases, you can opt-out of passing an expression to `x-data` entirely. For example: +Sometimes you may want to use Alpine functionality, but don't need any reactive data. In these cases, you can opt out of passing an expression to `x-data` entirely. For example: ```alpine diff --git a/alpinejs/packages/docs/src/en/magics/id.md b/alpinejs/packages/docs/src/en/magics/id.md index d0e2b8d..a1cb84b 100644 --- a/alpinejs/packages/docs/src/en/magics/id.md +++ b/alpinejs/packages/docs/src/en/magics/id.md @@ -34,7 +34,7 @@ Now let's say you want to have those same two input elements, but this time you This presents a problem, you now need to be able to reference the same ID twice. One for the `