diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 10cf6ce..988936a 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -11,4 +11,7 @@ module.exports = { env: { node: true, }, + rules: { + "@typescript-eslint/ban-ts-comment": "off", + }, }; diff --git a/package.json b/package.json index 89a61d8..ca8b80f 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "prettier": "^2.8.8", "prettier-plugin-tailwindcss": "^0.3.0", "release-it": "^15.11.0", + "sass": "^1.69.3", "tailwindcss": "^3.3.2", "tailwindcss-plugin-icons": "^2.1.1", "typescript": "^4.9.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2db778f..3bba4b7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,6 +67,9 @@ devDependencies: release-it: specifier: ^15.11.0 version: 15.11.0 + sass: + specifier: ^1.69.3 + version: 1.69.3 tailwindcss: specifier: ^3.3.2 version: 3.3.2 @@ -78,7 +81,7 @@ devDependencies: version: 4.9.5 vite: specifier: ^4.3.9 - version: 4.3.9(@types/node@18.11.9) + version: 4.3.9(@types/node@18.11.9)(sass@1.69.3) packages: @@ -2113,6 +2116,10 @@ packages: engines: {node: '>= 4'} dev: true + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + dev: true + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -3459,6 +3466,16 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true + /sass@1.69.3: + resolution: {integrity: sha512-X99+a2iGdXkdWn1akFPs0ZmelUzyAQfvqYc2P/MPTrJRuIRoTffGzT9W9nFqG00S+c8hXzVmgxhUuHFdrwxkhQ==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.4 + source-map-js: 1.0.2 + dev: true + /semver-diff@4.0.0: resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} engines: {node: '>=12'} @@ -3908,7 +3925,7 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /vite@4.3.9(@types/node@18.11.9): + /vite@4.3.9(@types/node@18.11.9)(sass@1.69.3): resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -3937,6 +3954,7 @@ packages: esbuild: 0.17.12 postcss: 8.4.24 rollup: 3.26.0 + sass: 1.69.3 optionalDependencies: fsevents: 2.3.2 dev: true diff --git a/src/alpine-data/post-upvote.ts b/src/alpine-data/upvote.ts similarity index 63% rename from src/alpine-data/post-upvote.ts rename to src/alpine-data/upvote.ts index ee93129..7e2242f 100644 --- a/src/alpine-data/post-upvote.ts +++ b/src/alpine-data/upvote.ts @@ -1,14 +1,14 @@ -interface PostUpvote { +interface upvoteState { upvotedNames: string[]; init(): void; upvoted(id: string): boolean; handleUpvote(name: string): void; } -export default (): PostUpvote => ({ +export default (key: string, group: string, plural: string): upvoteState => ({ upvotedNames: [], init() { - this.upvotedNames = JSON.parse(localStorage.getItem("halo.upvoted.post.names") || "[]"); + this.upvotedNames = JSON.parse(localStorage.getItem(`halo.upvoted.${key}.names`) || "[]"); }, upvoted(id: string) { return this.upvotedNames.includes(id); @@ -25,24 +25,24 @@ export default (): PostUpvote => ({ xhr.onload = () => { this.upvotedNames = [...this.upvotedNames, name]; - localStorage.setItem("halo.upvoted.post.names", JSON.stringify(this.upvotedNames)); + localStorage.setItem(`halo.upvoted.${key}.names`, JSON.stringify(this.upvotedNames)); - const upvoteNode = document.querySelector('[data-upvote-post-name="' + name + '"]'); + const upvoteNode = document.querySelector("[data-upvote-" + key + '-name="' + name + '"]'); if (!upvoteNode) { return; } const upvoteCount = parseInt(upvoteNode.textContent || "0"); - upvoteNode.textContent = upvoteCount + 1 + " 点赞"; + upvoteNode.textContent = upvoteCount + 1 + ""; }; xhr.onerror = function () { alert("网络请求失败,请稍后再试"); }; xhr.send( JSON.stringify({ - group: "content.halo.run", - plural: "posts", + group: group, + plural: plural, name: name, }) ); diff --git a/src/main.ts b/src/main.ts index 618d12f..aad96f7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,16 +1,17 @@ import "./styles/tailwind.css"; -import "./styles/main.css"; +import "./styles/main.scss"; import Alpine from "alpinejs"; import * as tocbot from "tocbot"; import dropdown from "./alpine-data/dropdown"; import colorSchemeSwitcher from "./alpine-data/color-scheme-switcher"; -import postUpvote from "./alpine-data/post-upvote"; +import upvote from "./alpine-data/upvote"; window.Alpine = Alpine; Alpine.data("dropdown", dropdown); Alpine.data("colorSchemeSwitcher", colorSchemeSwitcher); -Alpine.data("postUpvote", postUpvote); +// @ts-ignore +Alpine.data("upvote", upvote); Alpine.start(); diff --git a/src/styles/main.css b/src/styles/main.scss similarity index 74% rename from src/styles/main.css rename to src/styles/main.scss index 43c19be..6cbef3d 100644 --- a/src/styles/main.css +++ b/src/styles/main.scss @@ -41,3 +41,12 @@ body { .is-active-li { @apply rounded bg-gray-100 dark:bg-slate-600; } + +.moment-content { + .tag { + &::before { + content: "#"; + } + @apply rounded bg-gray-100 px-1 py-0.5 text-sm text-gray-900 hover:bg-gray-200 dark:bg-slate-600 dark:text-slate-50 dark:hover:bg-slate-700 dark:hover:text-slate-100; + } +} diff --git a/templates/assets/dist/main.iife.js b/templates/assets/dist/main.iife.js index b4e4df8..8a43588 100644 --- a/templates/assets/dist/main.iife.js +++ b/templates/assets/dist/main.iife.js @@ -1,5 +1,5 @@ -var main=function(I){"use strict";const po="",ho="";var Ne=!1,Ie=!1,F=[],Me=-1;function Qr(e){Zr(e)}function Zr(e){F.includes(e)||F.push(e),en()}function Ct(e){let t=F.indexOf(e);t!==-1&&t>Me&&F.splice(t,1)}function en(){!Ie&&!Ne&&(Ne=!0,queueMicrotask(tn))}function tn(){Ne=!1,Ie=!0;for(let e=0;ee.effect(t,{scheduler:r=>{ke?Qr(r):r()}}),Et=e.raw}function At(e){W=e}function on(e){let t=()=>{};return[i=>{let n=W(i);return e._x_effects||(e._x_effects=new Set,e._x_runEffects=()=>{e._x_effects.forEach(o=>o())}),e._x_effects.add(n),t=()=>{n!==void 0&&(e._x_effects.delete(n),X(n))},n},()=>{t()}]}var Ot=[],Tt=[],Lt=[];function sn(e){Lt.push(e)}function Nt(e,t){typeof t=="function"?(e._x_cleanups||(e._x_cleanups=[]),e._x_cleanups.push(t)):(t=e,Tt.push(t))}function an(e){Ot.push(e)}function ln(e,t,r){e._x_attributeCleanups||(e._x_attributeCleanups={}),e._x_attributeCleanups[t]||(e._x_attributeCleanups[t]=[]),e._x_attributeCleanups[t].push(r)}function It(e,t){e._x_attributeCleanups&&Object.entries(e._x_attributeCleanups).forEach(([r,i])=>{(t===void 0||t.includes(r))&&(i.forEach(n=>n()),delete e._x_attributeCleanups[r])})}var Pe=new MutationObserver(He),je=!1;function Re(){Pe.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),je=!0}function Mt(){cn(),Pe.disconnect(),je=!1}var Q=[],$e=!1;function cn(){Q=Q.concat(Pe.takeRecords()),Q.length&&!$e&&($e=!0,queueMicrotask(()=>{un(),$e=!1}))}function un(){He(Q),Q.length=0}function C(e){if(!je)return e();Mt();let t=e();return Re(),t}var qe=!1,fe=[];function fn(){qe=!0}function dn(){qe=!1,He(fe),fe=[]}function He(e){if(qe){fe=fe.concat(e);return}let t=[],r=[],i=new Map,n=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,l=e[o].oldValue,c=()=>{i.has(s)||i.set(s,[]),i.get(s).push({name:a,value:s.getAttribute(a)})},u=()=>{n.has(s)||n.set(s,[]),n.get(s).push(a)};s.hasAttribute(a)&&l===null?c():s.hasAttribute(a)?(u(),c()):u()}n.forEach((o,s)=>{It(s,o)}),i.forEach((o,s)=>{Ot.forEach(a=>a(s,o))});for(let o of r)if(!t.includes(o)&&(Tt.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,Lt.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,i=null,n=null}function kt(e){return ee(V(e))}function Z(e,t,r){return e._x_dataStack=[t,...V(r||e)],()=>{e._x_dataStack=e._x_dataStack.filter(i=>i!==t)}}function V(e){return e._x_dataStack?e._x_dataStack:typeof ShadowRoot=="function"&&e instanceof ShadowRoot?V(e.host):e.parentNode?V(e.parentNode):[]}function ee(e){let t=new Proxy({},{ownKeys:()=>Array.from(new Set(e.flatMap(r=>Object.keys(r)))),has:(r,i)=>e.some(n=>n.hasOwnProperty(i)),get:(r,i)=>(e.find(n=>{if(n.hasOwnProperty(i)){let o=Object.getOwnPropertyDescriptor(n,i);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,l=o;s=s&&s.bind(t),a=a&&a.bind(t),s&&(s._x_alreadyBound=!0),a&&(a._x_alreadyBound=!0),Object.defineProperty(n,i,{...l,get:s,set:a})}return!0}return!1})||{})[i],set:(r,i,n)=>{let o=e.find(s=>s.hasOwnProperty(i));return o?o[i]=n:e[e.length-1][i]=n,!0}});return t}function Pt(e){let t=i=>typeof i=="object"&&!Array.isArray(i)&&i!==null,r=(i,n="")=>{Object.entries(Object.getOwnPropertyDescriptors(i)).forEach(([o,{value:s,enumerable:a}])=>{if(a===!1||s===void 0)return;let l=n===""?o:`${n}.${o}`;typeof s=="object"&&s!==null&&s._x_interceptor?i[o]=s.initialize(e,l,o):t(s)&&s!==i&&!(s instanceof Element)&&r(s,l)})};return r(e)}function jt(e,t=()=>{}){let r={initialValue:void 0,_x_interceptor:!0,initialize(i,n,o){return e(this.initialValue,()=>pn(i,n),s=>Fe(i,n,s),n,o)}};return t(r),i=>{if(typeof i=="object"&&i!==null&&i._x_interceptor){let n=r.initialize.bind(r);r.initialize=(o,s,a)=>{let l=i.initialize(o,s,a);return r.initialValue=l,n(o,s,a)}}else r.initialValue=i;return r}}function pn(e,t){return t.split(".").reduce((r,i)=>r[i],e)}function Fe(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]]={}),Fe(e[t[0]],t.slice(1),r)}}var Rt={};function T(e,t){Rt[e]=t}function De(e,t){return Object.entries(Rt).forEach(([r,i])=>{let n=null;function o(){if(n)return n;{let[s,a]=Dt(t);return n={interceptor:jt,...s},Nt(t,a),n}}Object.defineProperty(e,`$${r}`,{get(){return i(t,o())},enumerable:!1})}),e}function hn(e,t,r,...i){try{return r(...i)}catch(n){te(n,e,t)}}function te(e,t,r=void 0){Object.assign(e,{el:t,expression:r}),console.warn(`Alpine Expression Error: ${e.message} +var main=function(I){"use strict";const ho="",po="";var Ne=!1,Ie=!1,F=[],Me=-1;function Qr(e){Zr(e)}function Zr(e){F.includes(e)||F.push(e),en()}function Ct(e){let t=F.indexOf(e);t!==-1&&t>Me&&F.splice(t,1)}function en(){!Ie&&!Ne&&(Ne=!0,queueMicrotask(tn))}function tn(){Ne=!1,Ie=!0;for(let e=0;ee.effect(t,{scheduler:r=>{Pe?Qr(r):r()}}),Et=e.raw}function At(e){W=e}function on(e){let t=()=>{};return[i=>{let n=W(i);return e._x_effects||(e._x_effects=new Set,e._x_runEffects=()=>{e._x_effects.forEach(o=>o())}),e._x_effects.add(n),t=()=>{n!==void 0&&(e._x_effects.delete(n),X(n))},n},()=>{t()}]}var Ot=[],Tt=[],Lt=[];function sn(e){Lt.push(e)}function Nt(e,t){typeof t=="function"?(e._x_cleanups||(e._x_cleanups=[]),e._x_cleanups.push(t)):(t=e,Tt.push(t))}function an(e){Ot.push(e)}function ln(e,t,r){e._x_attributeCleanups||(e._x_attributeCleanups={}),e._x_attributeCleanups[t]||(e._x_attributeCleanups[t]=[]),e._x_attributeCleanups[t].push(r)}function It(e,t){e._x_attributeCleanups&&Object.entries(e._x_attributeCleanups).forEach(([r,i])=>{(t===void 0||t.includes(r))&&(i.forEach(n=>n()),delete e._x_attributeCleanups[r])})}var ke=new MutationObserver(He),je=!1;function Re(){ke.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),je=!0}function Mt(){cn(),ke.disconnect(),je=!1}var Q=[],$e=!1;function cn(){Q=Q.concat(ke.takeRecords()),Q.length&&!$e&&($e=!0,queueMicrotask(()=>{un(),$e=!1}))}function un(){He(Q),Q.length=0}function C(e){if(!je)return e();Mt();let t=e();return Re(),t}var qe=!1,fe=[];function fn(){qe=!0}function dn(){qe=!1,He(fe),fe=[]}function He(e){if(qe){fe=fe.concat(e);return}let t=[],r=[],i=new Map,n=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,l=e[o].oldValue,c=()=>{i.has(s)||i.set(s,[]),i.get(s).push({name:a,value:s.getAttribute(a)})},u=()=>{n.has(s)||n.set(s,[]),n.get(s).push(a)};s.hasAttribute(a)&&l===null?c():s.hasAttribute(a)?(u(),c()):u()}n.forEach((o,s)=>{It(s,o)}),i.forEach((o,s)=>{Ot.forEach(a=>a(s,o))});for(let o of r)if(!t.includes(o)&&(Tt.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,Lt.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,i=null,n=null}function Pt(e){return ee(V(e))}function Z(e,t,r){return e._x_dataStack=[t,...V(r||e)],()=>{e._x_dataStack=e._x_dataStack.filter(i=>i!==t)}}function V(e){return e._x_dataStack?e._x_dataStack:typeof ShadowRoot=="function"&&e instanceof ShadowRoot?V(e.host):e.parentNode?V(e.parentNode):[]}function ee(e){let t=new Proxy({},{ownKeys:()=>Array.from(new Set(e.flatMap(r=>Object.keys(r)))),has:(r,i)=>e.some(n=>n.hasOwnProperty(i)),get:(r,i)=>(e.find(n=>{if(n.hasOwnProperty(i)){let o=Object.getOwnPropertyDescriptor(n,i);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,l=o;s=s&&s.bind(t),a=a&&a.bind(t),s&&(s._x_alreadyBound=!0),a&&(a._x_alreadyBound=!0),Object.defineProperty(n,i,{...l,get:s,set:a})}return!0}return!1})||{})[i],set:(r,i,n)=>{let o=e.find(s=>s.hasOwnProperty(i));return o?o[i]=n:e[e.length-1][i]=n,!0}});return t}function kt(e){let t=i=>typeof i=="object"&&!Array.isArray(i)&&i!==null,r=(i,n="")=>{Object.entries(Object.getOwnPropertyDescriptors(i)).forEach(([o,{value:s,enumerable:a}])=>{if(a===!1||s===void 0)return;let l=n===""?o:`${n}.${o}`;typeof s=="object"&&s!==null&&s._x_interceptor?i[o]=s.initialize(e,l,o):t(s)&&s!==i&&!(s instanceof Element)&&r(s,l)})};return r(e)}function jt(e,t=()=>{}){let r={initialValue:void 0,_x_interceptor:!0,initialize(i,n,o){return e(this.initialValue,()=>hn(i,n),s=>Fe(i,n,s),n,o)}};return t(r),i=>{if(typeof i=="object"&&i!==null&&i._x_interceptor){let n=r.initialize.bind(r);r.initialize=(o,s,a)=>{let l=i.initialize(o,s,a);return r.initialValue=l,n(o,s,a)}}else r.initialValue=i;return r}}function hn(e,t){return t.split(".").reduce((r,i)=>r[i],e)}function Fe(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]]={}),Fe(e[t[0]],t.slice(1),r)}}var Rt={};function T(e,t){Rt[e]=t}function De(e,t){return Object.entries(Rt).forEach(([r,i])=>{let n=null;function o(){if(n)return n;{let[s,a]=Dt(t);return n={interceptor:jt,...s},Nt(t,a),n}}Object.defineProperty(e,`$${r}`,{get(){return i(t,o())},enumerable:!1})}),e}function pn(e,t,r,...i){try{return r(...i)}catch(n){te(n,e,t)}}function te(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)}var de=!0;function _n(e){let t=de;de=!1,e(),de=t}function J(e,t,r={}){let i;return A(e,t)(n=>i=n,r),i}function A(...e){return $t(...e)}var $t=qt;function mn(e){$t=e}function qt(e,t){let r={};De(r,e);let i=[r,...V(e)],n=typeof t=="function"?gn(i,t):yn(i,t,e);return hn.bind(null,e,t,n)}function gn(e,t){return(r=()=>{},{scope:i={},params:n=[]}={})=>{let o=t.apply(ee([i,...e]),n);pe(r,o)}}var Ke={};function vn(e,t){if(Ke[e])return Ke[e];let r=Object.getPrototypeOf(async function(){}).constructor,i=/^[\n\s]*if.*\(.*\)/.test(e)||/^(let|const)\s/.test(e)?`(async()=>{ ${e} })()`:e,o=(()=>{try{return new r(["__self","scope"],`with (scope) { __self.result = ${i} }; __self.finished = true; return __self.result;`)}catch(s){return te(s,t,e),Promise.resolve()}})();return Ke[e]=o,o}function yn(e,t,r){let i=vn(t,r);return(n=()=>{},{scope:o={},params:s=[]}={})=>{i.result=void 0,i.finished=!1;let a=ee([o,...e]);if(typeof i=="function"){let l=i(i,a).catch(c=>te(c,r,t));i.finished?(pe(n,i.result,a,s,r),i.result=void 0):l.then(c=>{pe(n,c,a,s,r)}).catch(c=>te(c,r,t)).finally(()=>i.result=void 0)}}}function pe(e,t,r,i,n){if(de&&typeof t=="function"){let o=t.apply(r,i);o instanceof Promise?o.then(s=>pe(e,s,r,i)).catch(s=>te(s,n,t)):e(o)}else typeof t=="object"&&t instanceof Promise?t.then(o=>e(o)):e(t)}var Be="x-";function Y(e=""){return Be+e}function bn(e){Be=e}var ze={};function w(e,t){return ze[e]=t,{before(r){if(!ze[r]){console.warn("Cannot find directive `${directive}`. `${name}` will use the default order of execution");return}const i=D.indexOf(r);D.splice(i>=0?i:D.indexOf("DEFAULT"),0,e)}}}function Ue(e,t,r){if(t=Array.from(t),e._x_virtualDirectives){let o=Object.entries(e._x_virtualDirectives).map(([a,l])=>({name:a,value:l})),s=Ht(o);o=o.map(a=>s.find(l=>l.name===a.name)?{name:`x-bind:${a.name}`,value:`"${a.value}"`}:a),t=t.concat(o)}let i={};return t.map(zt((o,s)=>i[o]=s)).filter(Wt).map(wn(i,r)).sort(Cn).map(o=>Sn(e,o))}function Ht(e){return Array.from(e).map(zt()).filter(t=>!Wt(t))}var We=!1,re=new Map,Ft=Symbol();function xn(e){We=!0;let t=Symbol();Ft=t,re.set(t,[]);let r=()=>{for(;re.get(t).length;)re.get(t).shift()();re.delete(t)},i=()=>{We=!1,r()};e(r),i()}function Dt(e){let t=[],r=a=>t.push(a),[i,n]=on(e);return t.push(n),[{Alpine:ae,effect:i,cleanup:r,evaluateLater:A.bind(A,e),evaluate:J.bind(J,e)},()=>t.forEach(a=>a())]}function Sn(e,t){let r=()=>{},i=ze[t.type]||r,[n,o]=Dt(e);ln(e,t.original,o);let s=()=>{e._x_ignore||e._x_ignoreSelf||(i.inline&&i.inline(e,t,n),i=i.bind(i,e,t,n),We?re.get(Ft).push(i):i())};return s.runCleanups=o,s}var Kt=(e,t)=>({name:r,value:i})=>(r.startsWith(e)&&(r=r.replace(e,t)),{name:r,value:i}),Bt=e=>e;function zt(e=()=>{}){return({name:t,value:r})=>{let{name:i,value:n}=Ut.reduce((o,s)=>s(o),{name:t,value:r});return i!==t&&e(i,t),{name:i,value:n}}}var Ut=[];function Ve(e){Ut.push(e)}function Wt({name:e}){return Vt().test(e)}var Vt=()=>new RegExp(`^${Be}([^:^.]+)\\b`);function wn(e,t){return({name:r,value:i})=>{let n=r.match(Vt()),o=r.match(/:([a-zA-Z0-9\-:]+)/),s=r.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],a=t||e[r]||r;return{type:n?n[1]:null,value:o?o[1]:null,modifiers:s.map(l=>l.replace(".","")),expression:i,original:a}}}var Je="DEFAULT",D=["ignore","ref","data","id","bind","init","for","model","modelable","transition","show","if",Je,"teleport"];function Cn(e,t){let r=D.indexOf(e.type)===-1?Je:e.type,i=D.indexOf(t.type)===-1?Je:t.type;return D.indexOf(r)-D.indexOf(i)}function ne(e,t,r={}){e.dispatchEvent(new CustomEvent(t,{detail:r,bubbles:!0,composed:!0,cancelable:!0}))}function j(e,t){if(typeof ShadowRoot=="function"&&e instanceof ShadowRoot){Array.from(e.children).forEach(n=>j(n,t));return}let r=!1;if(t(e,()=>r=!0),r)return;let i=e.firstElementChild;for(;i;)j(i,t),i=i.nextElementSibling}function R(e,...t){console.warn(`Alpine Warning: ${e}`,...t)}var Jt=!1;function En(){Jt&&R("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."),Jt=!0,document.body||R("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `