mancha 0.24.2 → 0.25.1

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/dist/mancha.js CHANGED
@@ -14,34 +14,34 @@ function a(e,t){let n=r(t);n!==void 0&&(e.href=n)}let o={};var s=class{construct
14
14
  * SPDX-License-Identifier: Apache-2.0
15
15
  */
16
16
  function _(e,t){e.textContent=g(t)}let v={sm:640,md:768,lg:1024,xl:1280},ee=Object.entries(v),y=.25,b=[...Array(15)].map((e,t)=>t+1),te=[16,20,24,28,32,36,40,48,56,64],ne=[72,80,96,128,160,192,256,320,384,512],x=[...b,...te,...ne,...Object.values(v)],re=Array.from({length:20},(e,t)=>(t+1)*5),ie=[25,50,75,100,150,200,300,500,700,1e3],S={margin:`m`},ae={padding:`p`},oe={...S,...ae},se={width:`w`,height:`h`},ce={top:`top`,right:`right`,bottom:`bottom`,left:`left`},le={"min-width":`min-w`,"min-height":`min-h`,"max-width":`max-w`,"max-height":`max-h`},C=`transition-timing-function: ease-in-out; transition-duration: var(--transition-duration, 150ms)`,ue={"font-mono":`font-family: monospace`,"font-sans":`font-family: sans-serif`,"font-serif":`font-family: serif`,"font-cursive":`font-family: cursive`,"text-xs":`font-size: .75rem; line-height: calc(1 / 0.75)`,"text-sm":`font-size: .875rem; line-height: calc(1.25 / 0.875)`,"text-base":`font-size: 1rem; line-height: calc(1.5 / 1)`,"text-lg":`font-size: 1.125rem; line-height: calc(1.75 / 1.125)`,"text-xl":`font-size: 1.25rem; line-height: calc(1.75 / 1.25)`,"text-2xl":`font-size: 1.5rem; line-height: calc(2 / 1.5)`,"text-3xl":`font-size: 1.875rem; line-height: calc(2.25 / 1.875)`,"text-4xl":`font-size: 2.25rem; line-height: calc(2.5 / 2.25)`,"text-5xl":`font-size: 3rem; line-height: 1`,"text-6xl":`font-size: 3.75rem; line-height: 1`,"text-7xl":`font-size: 4.5rem; line-height: 1`,"font-thin":`font-weight: 100`,"font-extralight":`font-weight: 200`,"font-light":`font-weight: 300`,"font-normal":`font-weight: 400`,"font-medium":`font-weight: 500`,"font-semibold":`font-weight: 600`,"font-bold":`font-weight: 700`,"font-extrabold":`font-weight: 800`,"font-black":`font-weight: 900`,italic:`font-style: italic`,"not-italic":`font-style: normal`,"w-max":`width: max-content`,"w-min":`width: min-content`,"w-fit":`width: fit-content`,"h-max":`height: max-content`,"h-min":`height: min-content`,"h-fit":`height: fit-content`,"size-auto":`width: auto; height: auto`,"size-px":`width: 1px; height: 1px`,"size-full":`width: 100%; height: 100%`,"size-dvw":`width: 100dvw; height: 100dvw`,"size-dvh":`width: 100dvh; height: 100dvh`,"size-lvw":`width: 100lvw; height: 100lvw`,"size-lvh":`width: 100lvh; height: 100lvh`,"size-svw":`width: 100svw; height: 100svw`,"size-svh":`width: 100svh; height: 100svh`,"size-min":`width: min-content; height: min-content`,"size-max":`width: max-content; height: max-content`,"size-fit":`width: fit-content; height: fit-content`,"tracking-tighter":`letter-spacing: -0.05em`,"tracking-tight":`letter-spacing: -0.025em`,"tracking-normal":`letter-spacing: 0`,"tracking-wide":`letter-spacing: 0.025em`,"tracking-wider":`letter-spacing: 0.05em`,"tracking-widest":`letter-spacing: 0.1em`,"leading-none":`line-height: 1`,"leading-tight":`line-height: 1.25`,"leading-snug":`line-height: 1.375`,"leading-normal":`line-height: 1.5`,"leading-relaxed":`line-height: 1.625`,"leading-loose":`line-height: 2`,"text-left":`text-align: left`,"text-right":`text-align: right`,"text-center":`text-align: center`,"text-justify":`text-align: justify`,underline:`text-decoration: underline`,"no-underline":`text-decoration: none`,"decoration-none":`text-decoration: none`,"line-through":`text-decoration: line-through`,uppercase:`text-transform: uppercase`,lowercase:`text-transform: lowercase`,capitalize:`text-transform: capitalize`,truncate:`white-space: nowrap; overflow: hidden; text-overflow: ellipsis`,"text-elipsis":`text-overflow: ellipsis`,"text-clip":`text-overflow: clip`,"text-wrap":`text-wrap: wrap`,"text-nowrap":`text-wrap: nowrap`,"text-balance":`text-wrap: balance`,"text-pretty":`text-wrap: pretty`,"whitespace-normal":`white-space: normal`,"whitespace-nowrap":`white-space: nowrap`,"whitespace-pre":`white-space: pre`,"whitespace-pre-line":`white-space: pre-line`,"whitespace-pre-wrap":`white-space: pre-wrap`,"whitespace-break-spaces":`white-space: break-spaces`,relative:`position: relative`,fixed:`position: fixed`,absolute:`position: absolute`,sticky:`position: sticky`,"object-contain":`object-fit: contain`,"object-cover":`object-fit: cover`,"object-fill":`object-fit: fill`,"object-none":`object-fit: none`,block:`display: block`,contents:`display: contents`,hidden:`display: none`,inline:`display: inline`,"inline-block":`display: inline-block`,visible:`visibility: visible`,invisible:`visibility: hidden`,collapse:`visibility: collapse`,"list-none":`list-style-type: none`,"list-disc":`list-style-type: disc`,"list-decimal":`list-style-type: decimal`,flex:`display: flex`,grid:`display: grid`,"flex-1":`flex: 1 1 0%`,"flex-inline":`display: inline-flex`,"flex-row":`flex-direction: row`,"flex-col":`flex-direction: column`,"flex-row-reverse":`flex-direction: row-reverse`,"flex-col-reverse":`flex-direction: column-reverse`,"flex-wrap":`flex-wrap: wrap`,"flex-wrap-reverse":`flex-wrap: wrap-reverse`,"flex-nowrap":`flex-wrap: nowrap`,"justify-start":`justify-content: flex-start`,"justify-end":`justify-content: flex-end`,"justify-center":`justify-content: center`,"justify-between":`justify-content: space-between`,"justify-around":`justify-content: space-around`,"justify-evenly":`justify-content: space-evenly`,"justify-stretch":`justify-content: stretch`,"items-start":`align-items: flex-start`,"items-end":`align-items: flex-end`,"items-center":`align-items: center`,"items-stretch":`align-items: stretch`,"flex-grow":`flex-grow: 1`,"flex-shrink":`flex-shrink: 1`,"align-baseline":`vertical-align: baseline`,"align-top":`vertical-align: top`,"align-middle":`vertical-align: middle`,"align-bottom":`vertical-align: bottom`,"align-text-top":`vertical-align: text-top`,"align-text-bottom":`vertical-align: text-bottom`,"overflow-auto":`overflow: auto`,"overflow-x-auto":`overflow-x: auto`,"overflow-y-auto":`overflow-y: auto`,"overflow-hidden":`overflow: hidden`,"overflow-x-hidden":`overflow-x: hidden`,"overflow-y-hidden":`overflow-y: hidden`,"overflow-visible":`overflow: visible`,"overscroll-auto":`overscroll-behavior: auto`,"overscroll-contain":`overscroll-behavior: contain`,"overscroll-none":`overscroll-behavior: none`,"overscroll-x-auto":`overscroll-behavior-x: auto`,"overscroll-x-contain":`overscroll-behavior-x: contain`,"overscroll-x-none":`overscroll-behavior-x: none`,"overscroll-y-auto":`overscroll-behavior-y: auto`,"overscroll-y-contain":`overscroll-behavior-y: contain`,"overscroll-y-none":`overscroll-behavior-y: none`,"z-auto":`z-index: auto`,"cursor-pointer":`cursor: pointer`,"cursor-wait":`cursor: wait`,"cursor-not-allowed":`cursor: not-allowed`,"select-none":`user-select: none`,"select-all":`user-select: all`,"pointer-events-auto":`pointer-events: auto`,"pointer-events-none":`pointer-events: none`,"box-border":`box-sizing: border-box`,"box-content":`box-sizing: content-box`,resize:`resize: both`,"resize-x":`resize: horizontal`,"resize-y":`resize: vertical`,"resize-none":`resize: none`,"appearance-none":`appearance: none; -webkit-appearance: none; -moz-appearance: none`,border:`border: 1px solid`,"border-none":`border: none`,"border-solid":`border-style: solid`,"border-dashed":`border-style: dashed`,"border-dotted":`border-style: dotted`,"border-collapse":`border-collapse: collapse`,"rounded-none":`border-radius: 0`,rounded:`border-radius: .25rem`,"rounded-sm":`border-radius: .125rem`,"rounded-md":`border-radius: .375rem`,"rounded-lg":`border-radius: .5rem`,"rounded-xl":`border-radius: .75rem`,"rounded-full":`border-radius: 9999px`,"shadow-2xs":`box-shadow: 0 1px rgb(0 0 0 / 0.05)`,"shadow-xs":`box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05)`,shadow:`box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)`,"shadow-sm":`box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)`,"shadow-md":`box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`,"shadow-lg":`box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`,"shadow-xl":`box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`,"shadow-2xl":`box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25)`,"shadow-inner":`box-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05)`,"shadow-none":`box-shadow: 0 0 #0000`,ring:`box-shadow: var(--ring-inset, ) 0 0 0 3px rgb(59 130 246 / 0.5)`,"ring-0":`box-shadow: var(--ring-inset, ) 0 0 0 0px rgb(59 130 246 / 0.5)`,"ring-1":`box-shadow: var(--ring-inset, ) 0 0 0 1px rgb(59 130 246 / 0.5)`,"ring-2":`box-shadow: var(--ring-inset, ) 0 0 0 2px rgb(59 130 246 / 0.5)`,"ring-4":`box-shadow: var(--ring-inset, ) 0 0 0 4px rgb(59 130 246 / 0.5)`,"ring-8":`box-shadow: var(--ring-inset, ) 0 0 0 8px rgb(59 130 246 / 0.5)`,"ring-inset":`--ring-inset: inset`,outline:`outline-style: solid`,"outline-none":`outline: 2px solid transparent; outline-offset: 2px`,"outline-dashed":`outline-style: dashed`,"outline-dotted":`outline-style: dotted`,"outline-double":`outline-style: double`,"outline-0":`outline-width: 0px`,"outline-1":`outline-width: 1px`,"outline-2":`outline-width: 2px`,"outline-4":`outline-width: 4px`,"outline-8":`outline-width: 8px`,"outline-offset-0":`outline-offset: 0px`,"outline-offset-1":`outline-offset: 1px`,"outline-offset-2":`outline-offset: 2px`,"outline-offset-4":`outline-offset: 4px`,"outline-offset-8":`outline-offset: 8px`,"aspect-auto":`aspect-ratio: auto`,"aspect-square":`aspect-ratio: 1 / 1`,"aspect-video":`aspect-ratio: 16 / 9`,"backdrop-blur-none":`backdrop-filter: blur(0)`,"backdrop-blur-sm":`backdrop-filter: blur(4px)`,"backdrop-blur":`backdrop-filter: blur(8px)`,"backdrop-blur-md":`backdrop-filter: blur(12px)`,"backdrop-blur-lg":`backdrop-filter: blur(16px)`,"backdrop-blur-xl":`backdrop-filter: blur(24px)`,"backdrop-blur-2xl":`backdrop-filter: blur(40px)`,"backdrop-blur-3xl":`backdrop-filter: blur(64px)`,"transition-none":`transition: none`,transition:`transition-property: all; ${C}`,"transition-all":`transition-property: all; ${C}`,"transition-opacity":`transition-property: opacity; ${C}`,"transition-transform":`transition-property: transform; ${C}`,"transition-shadow":`transition-property: box-shadow; ${C}`,"transition-colors":`transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; ${C}`,"animate-none":`animation: none`,"animate-spin":`animation: spin 1s linear infinite`,"animate-ping":`animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite`,"animate-pulse":`animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite`,"bg-auto":`background-size: auto`,"bg-cover":`background-size: cover`,"bg-contain":`background-size: contain`,"bg-center":`background-position: center`,"bg-top":`background-position: top`,"bg-bottom":`background-position: bottom`,"bg-left":`background-position: left`,"bg-right":`background-position: right`,"bg-left-top":`background-position: left top`,"bg-left-bottom":`background-position: left bottom`,"bg-right-top":`background-position: right top`,"bg-right-bottom":`background-position: right bottom`,"bg-no-repeat":`background-repeat: no-repeat`,"bg-fixed":`background-attachment: fixed`,"bg-local":`background-attachment: local`,"bg-scroll":`background-attachment: scroll`,"min-h-screen":`min-height: 100vh`,"max-h-screen":`max-height: 100vh`,"min-w-screen":`min-width: 100vw`,"h-dvh":`height: 100dvh`,"h-svh":`height: 100svh`,"h-lvh":`height: 100lvh`,"w-dvw":`width: 100dvw`,"w-svw":`width: 100svw`,"w-lvw":`width: 100lvw`,"min-h-dvh":`min-height: 100dvh`,"min-h-svh":`min-height: 100svh`,"min-h-lvh":`min-height: 100lvh`,"flex-none":`flex: none`,"flex-auto":`flex: 1 1 auto`,"flex-initial":`flex: 0 1 auto`,grow:`flex-grow: 1`,"grow-0":`flex-grow: 0`,shrink:`flex-shrink: 1`,"shrink-0":`flex-shrink: 0`,"self-auto":`align-self: auto`,"self-start":`align-self: flex-start`,"self-end":`align-self: flex-end`,"self-center":`align-self: center`,"self-stretch":`align-self: stretch`,"self-baseline":`align-self: baseline`,"content-normal":`align-content: normal`,"content-start":`align-content: flex-start`,"content-end":`align-content: flex-end`,"content-center":`align-content: center`,"content-between":`align-content: space-between`,"content-around":`align-content: space-around`,"content-evenly":`align-content: space-evenly`,"content-stretch":`align-content: stretch`,"items-baseline":`align-items: baseline`,"inset-0":`inset: 0`,"inset-auto":`inset: auto`,"inset-x-0":`left: 0; right: 0`,"inset-y-0":`top: 0; bottom: 0`,"inset-x-auto":`left: auto; right: auto`,"inset-y-auto":`top: auto; bottom: auto`,"sr-only":`position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0`,"not-sr-only":`position: static; width: auto; height: auto; padding: 0; margin: 0; overflow: visible; clip: auto; white-space: normal`},de=[`@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`,`@keyframes ping{75%,100%{transform:scale(2);opacity:0}}`,`@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}`],fe=`red pink purple deep-purple indigo blue light-blue cyan teal green light-green lime yellow amber orange deep-orange brown gray blue-gray`.split(` `),pe=[50,100,200,300,400,500,600,700,800,900],me=Object.fromEntries(fe.map((e,t)=>[e,Object.fromEntries(pe.map((e,n)=>{let r=(t*pe.length+n)*6;return[e,`#${`ffebeeffcdd2ef9a9ae57373ef5350f44336e53935d32f2fc62828b71c1cfce4ecf8bbd0f48fb1f06292ec407ae91e63d81b60c2185bad1457880e4ff3e5f5e1bee7ce93d8ba68c8ab47bc9c27b08e24aa7b1fa26a1b9a4a148cede7f6d1c4e9b39ddb9575cd7e57c2673ab75e35b1512da84527a0311b92e8eaf6c5cae99fa8da7986cb5c6bc03f51b53949ab303f9f2835931a237ee3f2fdbbdefb90caf964b5f642a5f52196f31e88e51976d21565c00d47a1e1f5feb3e5fc81d4fa4fc3f729b6f603a9f4039be50288d10277bd01579be0f7fab2ebf280deea4dd0e126c6da00bcd400acc10097a700838f006064e0f2f1b2dfdb80cbc44db6ac26a69a00968800897b00796b00695c004d40e8f5e9c8e6c9a5d6a781c78466bb6a4caf5043a047388e3c2e7d321b5e20f1f8e9dcedc8c5e1a5aed5819ccc658bc34a7cb342689f38558b2f33691ef9fbe7f0f4c3e6ee9cdce775d4e157cddc39c0ca33afb42b9e9d24827717fffde7fff9c4fff59dfff176ffee58ffeb3bfdd835fbc02df9a825f57f17fff8e1ffecb3ffe082ffd54fffca28ffc107ffb300ffa000ff8f00ff6f00fff3e0ffe0b2ffcc80ffb74dffa726ff9800fb8c00f57c00ef6c00e65100fbe9e7ffccbcffab91ff8a65ff7043ff5722f4511ee64a19d84315bf360cefebe9d7ccc8bcaaa4a1887f8d6e637955486d4c415d40374e342e3e2723fafafaf5f5f5eeeeeee0e0e0bdbdbd9e9e9e757575616161424242212121eceff1cfd8dcb0bec590a4ae78909c607d8b546e7a455a6437474f263238`.slice(r,r+6)}`]}))]));function w(e){return e.map(([e,t])=>`.${e} { ${t} }`)}let he=[``,`-`],T=[``],ge=[[`top`,`t`],[`bottom`,`b`],[`left`,`l`],[`right`,`r`]];function E(e,t,n){let r=(r,i)=>[`${e}${t(r)}`,n(`${e}${i}`)];return[...x.map(e=>r(`${e}`,`${e*y}rem`)),...x.map(e=>r(`${e}px`,`${e}px`)),...re.map(e=>r(`${e}\\%`,`${e}%`))]}function D(e,t=he){return w(Object.entries(e).flatMap(([e,n])=>[[`${n}-0`,`${e}: 0`],[`${n}-screen`,`${e}: 100v${e.includes(`height`)?`h`:`w`}`],[`${n}-full`,`${e}: 100%`],...t.flatMap(t=>E(t,e=>`${n}-${e}`,t=>`${e}: ${t}`)),...ee.map(([t,r])=>[`${n}-${t}`,`${e}: ${r}px`])]))}function _e(e){return w(Object.entries(e).map(([e,t])=>[`${t}-auto`,`${e}: auto`]))}function ve(e){return w(Object.entries(e).flatMap(([e,t])=>[[`${t}x-auto`,`${e}-left: auto; ${e}-right: auto;`],[`${t}y-auto`,`${e}-top: auto; ${e}-bottom: auto;`],...ge.map(([n,r])=>[`${t}${r}-auto`,`${e}-${n}: auto`])]))}function ye(e){return w(Object.entries(e).flatMap(([e,t])=>[[`${t}x-0`,`${e}-left: 0; ${e}-right: 0;`],[`${t}y-0`,`${e}-top: 0; ${e}-bottom: 0;`],...E(``,e=>`${t}x-${e}`,t=>`${e}-left: ${t}; ${e}-right: ${t};`),...E(``,e=>`${t}y-${e}`,t=>`${e}-top: ${t}; ${e}-bottom: ${t};`)]))}function be(e,t=he){return w(Object.entries(e).flatMap(([e,n])=>[[`${n}t-0`,`${e}-top: 0`],[`${n}b-0`,`${e}-bottom: 0`],[`${n}l-0`,`${e}-left: 0`],[`${n}r-0`,`${e}-right: 0`],...t.flatMap(t=>ge.flatMap(([r,i])=>E(t,e=>`${n}${i}-${e}`,t=>`${e}-${r}: ${t}`)))]))}function xe(){return w([[`border`,`border-width: 1px`],[`border-x`,`border-inline-width: 1px`],[`border-y`,`border-block-width: 1px`],...[0,...b].map(e=>[`border-${e}`,`border-width: ${e}px`]),...[0,...b].map(e=>[`border-x-${e}`,`border-inline-width: ${e}px;`]),...[0,...b].map(e=>[`border-y-${e}`,`border-block-width: ${e}px;`]),...ge.flatMap(([e,t])=>[[`border-${t}`,`border-${e}-width: 1px`],...[0,...b].map(n=>[`border-${t}-${n}`,`border-${e}-width: ${n}px`])])])}function Se(){return w(re.map(e=>[`z-${e}`,`z-index: ${e}`]))}function Ce(){return w(ie.map(e=>[`duration-${e}`,`--transition-duration: ${e}ms; transition-duration: ${e}ms`]))}function we(){return w([[`space-x-0 > *`,`margin-left: 0`],[`space-y-0 > *`,`margin-top: 0`],...x.map(e=>[`space-x-${e} > :not(:first-child)`,`margin-left: ${e*y}rem`]),...x.map(e=>[`space-y-${e} > :not(:first-child)`,`margin-top: ${e*y}rem`]),...x.map(e=>[`space-x-${e}px > :not(:first-child)`,`margin-left: ${e}px`]),...x.map(e=>[`space-y-${e}px > :not(:first-child)`,`margin-top: ${e}px`]),[`gap-0`,`gap: 0`],...x.map(e=>[`gap-${e}`,`gap: ${e*y}rem`]),...x.map(e=>[`gap-${e}px`,`gap: ${e}px`]),...x.map(e=>[`gap-x-${e}`,`column-gap: ${e*y}rem`]),...x.map(e=>[`gap-y-${e}`,`row-gap: ${e*y}rem`]),...x.map(e=>[`gap-x-${e}px`,`column-gap: ${e}px`]),...x.map(e=>[`gap-y-${e}px`,`row-gap: ${e}px`]),[`divide-x > :not(:last-child)`,`border-inline-end-width: 1px`],[`divide-y > :not(:last-child)`,`border-bottom-width: 1px`],[`divide-x-0 > :not(:last-child)`,`border-inline-end-width: 0px`],[`divide-y-0 > :not(:last-child)`,`border-bottom-width: 0px`],...[2,4,8].map(e=>[`divide-x-${e} > :not(:last-child)`,`border-inline-end-width: ${e}px`]),...[2,4,8].map(e=>[`divide-y-${e} > :not(:last-child)`,`border-bottom-width: ${e}px`]),[`divide-solid > :not(:last-child)`,`border-style: solid`],[`divide-dashed > :not(:last-child)`,`border-style: dashed`],[`divide-dotted > :not(:last-child)`,`border-style: dotted`],[`divide-none > :not(:last-child)`,`border-style: none`]])}function Te(){return w([...Array.from({length:100},(e,t)=>[`text-${t}px`,`font-size: ${t}px`]),...Array.from({length:100},(e,t)=>[`text-${String(t*y).replace(`.`,`\\.`)}rem`,`font-size: ${t*y}rem`])])}function Ee(){return w([`column`,`row`].flatMap(e=>{let t=e.slice(0,3);return[...Array.from({length:12},(e,t)=>t+1).map(n=>[`grid-${t}s-${n}`,`grid-template-${e}s: repeat(${n}, minmax(0, 1fr))`]),[`grid-${t}s-none`,`grid-template-${e}s: none`],...Array.from({length:12},(e,t)=>t+1).map(n=>[`${t}-span-${n}`,`grid-${e}: span ${n} / span ${n}`]),[`${t}-span-full`,`grid-${e}: 1 / -1`],...Array.from({length:13},(e,t)=>t+1).map(n=>[`${t}-start-${n}`,`grid-${e}-start: ${n}`]),[`${t}-start-auto`,`grid-${e}-start: auto`],...Array.from({length:13},(e,t)=>t+1).map(n=>[`${t}-end-${n}`,`grid-${e}-end: ${n}`]),[`${t}-end-auto`,`grid-${e}-end: auto`]]}))}function De(){return Object.entries(ue).map(([e,t])=>`.${e} { ${t} }`)}function Oe(e){let t=0,n=0,r=0;return e.length===4?(t=parseInt(e[1]+e[1],16),n=parseInt(e[2]+e[2],16),r=parseInt(e[3]+e[3],16)):e.length===7&&(t=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),r=parseInt(e.slice(5,7),16)),`${t} ${n} ${r}`}function ke(){let e=(e,t)=>[[`text-${e}`,`color: ${t}`],[`fill-${e}`,`fill: ${t}`],[`bg-${e}`,`background-color: ${t}`],[`border-${e}`,`border-color: ${t}`],[`divide-${e} > :not(:last-child)`,`border-color: ${t}`]];return w([...e(`white`,`#fff`),...e(`black`,`#000`),...e(`transparent`,`transparent`),...Object.entries(me).flatMap(([t,n])=>[...e(t,n[500]),...Object.entries(n).flatMap(([n,r])=>e(`${t}-${n}`,r))])])}function Ae(){return w([[`opacity-0`,`opacity: 0`],...re.map(e=>[`opacity-${e}`,`opacity: ${e/100}`])])}let je=null;function Me(){return je===null&&(je=[...de,...De(),...ke(),...Ae(),...Se(),...Ce(),...D(ce),...D(se,T),..._e(se),...D(S),...D(ae,T),..._e(S),...ve(S),...ye(oe),...be(S),...be(ae,T),...we(),...D(le,T),...xe(),...Te(),...Ee()].join(`
17
- `)),je}let Ne={text:`color`,bg:`background-color`,border:`border-color`,fill:`fill`,divide:`border-color`},Pe=/^(text|bg|border|fill|divide)-([\w-]+)\/(\d+)$/,Fe={w:`width`,h:`height`,"min-w":`min-width`,"min-h":`min-height`,"max-w":`max-width`,"max-h":`max-height`,m:`margin`,mt:`margin-top`,mr:`margin-right`,mb:`margin-bottom`,ml:`margin-left`,mx:`margin-inline`,my:`margin-block`,p:`padding`,pt:`padding-top`,pr:`padding-right`,pb:`padding-bottom`,pl:`padding-left`,px:`padding-inline`,py:`padding-block`,top:`top`,right:`right`,bottom:`bottom`,left:`left`,gap:`gap`,"gap-x":`column-gap`,"gap-y":`row-gap`,text:`font-size`,z:`z-index`,bg:`background-color`,border:`border-color`},Ie=/^(-?)([\w-]+)-\[(.+)\]$/,Le=/^(hover|focus|disabled|sm|md|lg|xl|dark|landscape|portrait):(.+)$/,Re=[`hover`,`focus`,`disabled`],ze=[`landscape`,`portrait`],Be=new Set,O=null;function Ve(e){if(typeof document>`u`)return null;let t=`.${Ue(e)}`;for(let e of document.styleSheets)try{for(let n of e.cssRules)if(n instanceof CSSStyleRule&&n.selectorText===t)return n.style.cssText}catch{}return null}function He(){return typeof document<`u`&&typeof CSSStyleSheet<`u`&&typeof document.createElement==`function`}function Ue(e){let t=globalThis.CSS;return typeof t?.escape==`function`?t.escape(e):e.replace(/[[\]#.:>+~()'"/%,!]/g,`\\$&`)}function We(){if(!He())return null;if(O&&!O.ownerNode?.isConnected&&(O=null,Be.clear()),O)return O;let e=document.createElement(`style`);return e.setAttribute(`data-mancha`,`custom`),document.head.appendChild(e),e.sheet?(O=e.sheet,O):null}function Ge(e){let t=e.match(Ie);if(!t)return null;let[,n,r,i]=t,a=Fe[r];if(!a)return null;let o=i.replace(/_/g,` `);return{property:a,value:n?`-${o}`:o}}function Ke(e){let t=e.match(Pe);if(!t)return null;let[,n,r,i]=t,a=Ne[n];if(!a)return null;let o=Number.parseInt(i,10);if(o<0||o>100)return null;let s=null;if(r===`white`)s=`#fff`;else if(r===`black`)s=`#000`;else{let e=r.lastIndexOf(`-`);if(e>0){let t=r.substring(0,e),n=Number.parseInt(r.substring(e+1),10);s=me[t]?.[n]??null}s||=me[r]?.[500]??null}return s?{property:a,value:`rgb(${Oe(s)} / ${o/100})`}:null}function qe(e,t){let n=t?`${t.name}:${e}`:e,r=We();if(!r)return!1;if(Be.has(n))return!0;let i=Ue(n),a=Ge(e)??Ke(e),o=a?`${a.property}: ${a.value};`:Ve(e);if(!o)return!1;let s=e.startsWith(`divide-`)?` > :not(:last-child)`:``,c;c=t?t.type===`pseudo`?`.${i}${s}:${t.name} { ${o} }`:t.name===`dark`?`@media (prefers-color-scheme: dark) { .${i}${s} { ${o} } }`:ze.includes(t.name)?`@media (orientation: ${t.name}) { .${i}${s} { ${o} } }`:`@media (min-width: ${v[t.name]}px) { .${i}${s} { ${o} } }`:`.${i}${s} { ${o} }`;try{let e=r.insertRule(c,r.cssRules.length),i=r.cssRules[e];return(t?.type===`media`?i.cssRules[0]:i)?.style?.length?(Be.add(n),!0):(r.deleteRule(e),console.warn(`Injected CSS rule had no effect: ${c}`),!1)}catch(e){return console.warn(`Failed to inject CSS rule: ${c}`,e),!1}}function Je(e){return e.includes(`[`)||e.includes(`:`)||e.includes(`/`)}function Ye(e){if(!(!e||!Je(e)))for(let t of e.trim().split(/\s+/)){let e=t.match(Le);if(e){let[,t,n]=e,r=Re.includes(t),i=t in v,a=t===`dark`,o=ze.includes(t);if(r||i||a||o){qe(n,{type:r?`pseudo`:`media`,name:t});continue}}Je(t)&&qe(t)}}function Xe(e){if(!He())return;let t=e??document;if(t instanceof Element){let e=t.getAttribute(`class`);e&&Ye(e)}let n=t.querySelectorAll(`[class]`);for(let e of n){let t=e.getAttribute(`class`);t&&Ye(t)}}function Ze(){return He()&&document.querySelector(`style[data-mancha="utils"]`)!==null}function Qe(e){if(!Ze())return;let t=e;typeof t.querySelectorAll==`function`&&Xe(t)}function $e(e){!e||!Je(e)||Ze()&&Ye(e)}function et(e){return l(e[0].toLowerCase())}function k(e){let t=e[0];return h(t)}function tt(e){return h(e.map(g).join(``))}function nt(e){let t=e.childNodes;for(let e=0;e<t.length;e++){let n=t[e];n.prev=e>0?t[e-1]:null,n.next=e<t.length-1?t[e+1]:null}}let rt=[et`:`,et`style`,et`class`];function*A(e,t=new Set){let n=new Set,r=Array.from(e.childNodes).filter(e=>!t.has(e));for(yield e;r.length;){let e=r.shift();n.has(e)||(n.add(e),yield e),e.childNodes&&Array.from(e.childNodes).filter(e=>!t.has(e)).forEach(e=>{r.push(e)})}}function j(e,t){return e?.[t]!==void 0}function M(e,t){return typeof e?.[t]==`function`}function it(e){return e.replace(/-./g,e=>e[1].toUpperCase())}function N(e,t){return e.attribs?e.attribs[t]??null:e.getAttribute?.(t)??null}function at(e,t){return e.attribs?t in e.attribs:e.hasAttribute?.(t)??!1}function P(e,t,n=``){return N(e,n+t)||N(e,`data-${t}`)||(e.dataset?.[it(t)]??null)}function F(e,t,n){e.attribs?e.attribs[t]=n:e.setAttribute?.(t,n)}function I(e,t,n){e.attribs?e.attribs[t]=n:f(rt,e,t,n)}function L(e,t,n){switch(t){case`disabled`:e.disabled=n;return;case`selected`:e.selected=n;return;case`checked`:e.checked=n;return;default:e[t]=n}}function R(e,t){e.attribs?delete e.attribs[t]:e.removeAttribute?.(t)}function ot(e,t,n,r=``){at(e,`${r}${t}`)?F(e,`${r}${t}`,n):at(e,`data-${t}`)?F(e,`data-${t}`,n):F(e,`${r}${t}`,n)}function z(e,t,n=``){R(e,`${n}${t}`),R(e,`data-${t}`)}function st(e,t,n){if(e.attribs&&t.attribs)t.attribs[n]=e.attribs[n];else if(n.startsWith(`data-`)){let r=it(n.slice(5));t.dataset&&e.dataset&&(t.dataset[r]=e.dataset[r])}else{let r=e?.getAttribute?.(n);I(t,n,r||``)}}function ct(e){return j(e,`firstElementChild`)?e.firstElementChild:Array.from(e.children).find(e=>e.nodeType===1)}function B(e,...t){if(M(e,`replaceWith`)){e.replaceWith(...t);return}else{let n=e,r=n.parentNode;if(!r)return;let i=Array.from(r.childNodes).indexOf(n);n.parentNode=null,t.forEach(e=>{e.parentNode=r}),r.childNodes=[].concat(Array.from(r.childNodes).slice(0,i),t,Array.from(r.childNodes).slice(i+1)),nt(r)}}function lt(e,...t){M(e,`replaceChildren`)?e.replaceChildren(...t):(e.childNodes=t,t.forEach(t=>{t.parentNode=e}),nt(e))}function ut(e,t){return M(t,`appendChild`)?e.appendChild(t):(e.childNodes.push(t),t.parentNode=e,nt(e),t)}function V(e,t){return M(t,`removeChild`)?e.removeChild(t):(lt(e,...Array.from(e.childNodes).filter(e=>e!==t)),t)}function H(e,t,n){return n?M(e,`insertBefore`)?e.insertBefore(t,n):(t.parentNode&&V(t.parentNode,t),B(n,t,n),t):ut(e,t)}function dt(e,t=0){return e?e.length<=t?e:`${e.slice(0,t-1)}…`:``}function U(e,t=0){return globalThis.DocumentFragment&&e instanceof DocumentFragment?Array.from(e.childNodes).map(e=>U(e,t)).join(``):dt(e.outerHTML||e.nodeValue||String(e),t)}function ft(e){return e.includes(`/`)?e.split(`/`).slice(0,-1).join(`/`):``}function pt(e){return!e.includes(`://`)&&!e.startsWith(`/`)&&!e.startsWith(`#`)&&!e.startsWith(`data:`)}var mt=class e{iterable;constructor(e){this.iterable=e}filter(t){return new e(e.filterGenerator(t,this.iterable))}map(t){return new e(e.mapGenerator(t,this.iterable))}find(e){for(let t of this.iterable)if(e(t))return t}array(){return Array.from(this.iterable)}*generator(){for(let e of this.iterable)yield e}static*filterGenerator(e,t){for(let n of t)e(n)&&(yield n)}static*mapGenerator(e,t){for(let n of t)yield e(n)}static equals(e,t){let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(i.value!==a.value)return!1;i=n.next(),a=r.next()}return i.done===a.done}};let W;(function(e){e.resolveIncludes=async function(e,t){let n=e,r=n.tagName?.toLowerCase();if(![`include`,`link`].includes(r)||r===`link`&&N(n,`rel`)!==`subresource`)return;this.log(`include directive found in:
18
- `,U(e,128)),this.log(`include params:`,t);let i=n.tagName.toLocaleLowerCase()===`link`?`href`:`src`,a=N(n,i);if(!a)throw Error(`"${i}" attribute missing from ${U(e,128)}.`);let o=[];r===`include`&&o.push(`src`),r===`link`&&o.push(`rel`,`href`);let s=t=>{let r=ct(t);for(let e of Array.from(n.attributes))r&&!o.includes(e.name)&&st(n,r,e.name);B(e,...t.childNodes)},c={...t,rootDocument:!1,maxdepth:(t?.maxdepth??100)-1};if(c.maxdepth===0)throw Error(`Maximum recursion depth reached.`);if(a.includes(`://`)||a.startsWith(`//`))this.log(`Including remote file from absolute path:`,a),await this.preprocessRemote(a,c).then(s);else if(t?.dirpath?.includes(`://`)||t?.dirpath?.startsWith(`//`)){let e=a.startsWith(`/`)?a:`${t.dirpath}/${a}`;this.log(`Including remote file from relative path:`,e),await this.preprocessRemote(e,c).then(s)}else if(a.charAt(0)===`/`)this.log(`Including local file from absolute path:`,a),await this.preprocessLocal(a,c).then(s);else{let e=t?.dirpath&&t?.dirpath!==`.`?`${t?.dirpath}/${a}`:a;this.log(`Including local file from relative path:`,e),await this.preprocessLocal(e,c).then(s)}},e.rebaseRelativePaths=function(e,t){let n=e,r=n.tagName?.toLowerCase();if(!t?.dirpath)return;let o=N(n,`src`),s=N(n,`href`),c=P(n,`render`,`:`),l=o||s||c;if(!l||!pt(l))return;let u=`${t.dirpath}/${l}`;this.log(`Rebasing relative path as:`,u),c?ot(n,`render`,u,`:`):j(n,`attribs`)?I(n,o?`src`:`href`,u):r===`img`?n.src=u:r===`a`?i(n,u):r===`source`||r===`audio`||r===`video`||r===`track`||r===`input`?n.src=u:r===`area`?a(n,u):this.log(`Unable to rebase relative path for element:`,r)},e.registerCustomElements=function(e,t){let n=e,r=n.tagName?.toLowerCase(),i=(N(n,`is`)||N(n,`alt`))?.toLowerCase();if([`template`,`div`].includes(r)&&i){if(r===`div`&&N(n,`role`)!==`template`)return;if(!this._customElements.has(i)){this.log(`Registering custom element: ${i}\n`,U(n,128));let e=n.content||n,r=Array.from(A(e));for(let e=1;e<r.length;e++)W.rebaseRelativePaths.call(this,r[e],t);this._customElements.set(i,n),n?.parentNode&&V(n.parentNode,n)}}},e.resolveCustomElements=function(e,t){let n=e,r=n.tagName?.toLowerCase(),i=r;if(i===`div`&&(i=N(n,`role`)?.toLowerCase()||i),i&&this._customElements.has(i)){this.log(`Processing custom element: ${i}\n`,U(n,128));let t=this._customElements.get(i),a=(t.content||t).cloneNode(!0),o=ct(a);if(o)for(let e of Array.from(n.attributes))(r!==`div`||e.name!==`role`)&&st(n,o,e.name);let s=new mt(A(a)).find(e=>e.tagName?.toLowerCase()===`slot`);s&&B(s,...n.childNodes),B(e,...a.childNodes)}},e.resolveTextNodeExpressions=function(e,t){let n=e.nodeValue||``;if(e.nodeType!==3||!n?.trim())return;this.log(`Processing node content value:
19
- `,dt(n,128));let r=new RegExp(/{{ ([^}]+) }}/gm),i=Array.from(n.matchAll(r)).map(e=>e[1]);return this.effect(function(){let t=n;for(let n of i){let r=this.eval(n,{$elem:e});t=t.replace(`{{ ${n} }}`,r==null?``:String(r))}e.nodeValue=t},{directive:`text`,element:e.parentElement??void 0,expression:i.join(`, `)})},e.resolveDataAttribute=async function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`data`,`:`);if(r){this.log(`:data attribute found in:
20
- `,U(e,128)),z(n,`data`,`:`);let i;j(e,`renderer`)?(i=e.renderer,this.log(`Reusing existing subrenderer for node:`,U(e,64))):(i=this.subrenderer(),L(e,`renderer`,i),this.log(`Created and attached new subrenderer for node:`,U(e,64)));let a=i.eval(r,{$elem:e});if(await Promise.all(Object.entries(a).map(([e,t])=>e.startsWith(`$$`)?(i._store.get(`$rootRenderer`)||i).set(e,t):i.set(e,t,!0))),i===this)return;for(let t of A(e,this._skipNodes))this._skipNodes.add(t);await i.mount(e,t)}},e.resolveClassAttribute=function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`class`,`:`);if(r){this.log(`:class attribute found in:
21
- `,U(e,128)),z(n,`class`,`:`);let t=N(n,`class`)||``;return this.effect(function(){let i=this.eval(r,{$elem:e}),a=(i?`${t} ${i}`:t).trim();I(n,`class`,a),$e(a)},{directive:`class`,element:n,expression:r})}},e.resolveTextAttributes=function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`text`,`:`);if(r){this.log(`:text attribute found in:
22
- `,U(e,128)),z(n,`text`,`:`);let t=t=>this.textContent(e,t);return this.effect(function(){let n=this.eval(r,{$elem:e});t(n==null?``:String(n))},{directive:`:text`,element:n,expression:r})}},e.resolveHtmlAttribute=async function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`html`,`:`);if(r){this.log(`:html attribute found in:
23
- `,U(e,128)),z(n,`html`,`:`);let i=null;return this.effect(function(){let a=this.eval(r,{$elem:e});return new Promise(e=>{(async()=>{i&&=(i.dispose(),null);let r=this.subrenderer();i=r;let o=await r.preprocessString(a,t);await r.renderNode(o),lt(n,o),Qe(n),r._store.set(`$rootNode`,n),e()})()})},{directive:`:html`,element:n,expression:r})}},e.resolveEventAttributes=function(e,t){if(this._skipNodes.has(e))return;let n=e;for(let t of Array.from(n.attributes||[]))if(t.name.startsWith(`:on:`)||t.name.startsWith(`data-on-`)){let r=``,i=[];if(t.name.startsWith(`:on:`)?[r,...i]=t.name.substring(4).split(`.`):t.name.startsWith(`data-on-`)&&([r,...i]=t.name.substring(8).split(`.`)),!r)throw Error(`Invalid event attribute: ${t.name}`);this.log(t.name,`attribute found in:
24
- `,U(e,128)),z(n,t.name);let a=r===`submit`&&n.tagName.toUpperCase()===`FORM`;e.addEventListener?.(r,n=>((i.includes(`prevent`)||a)&&n.preventDefault(),this.eval(t.value,{$elem:e,$event:n})))}},e.resolveForAttribute=async function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`for`,`:`)?.trim();if(r){this.log(`:for attribute found in:
25
- `,U(e,128)),z(n,`for`,`:`);let i=P(n,`key`,`:`);i&&z(n,`key`,`:`);for(let t of A(e,this._skipNodes))this._skipNodes.add(t);let a=e.parentNode;if(!a)return;this.cloakElement(n);let o=this.createElement(`template`,e.ownerDocument);H(a,o,e),V(a,e),`content`in o?ut(o.content,e):ut(o,e),this.log(`:for template:
26
- `,U(o,128));let s=r.split(` in `,2);if(s.length!==2)throw Error(`Invalid :for format: \`${r}\`. Expected "{key} in {expression}".`);let c=i?P(n,`data`,`:`):null,l=new Map,u=[],d=[],[f,p]=s;await this.effect(function(){let n=this.eval(p,{$elem:e});if(this.log(`:for list items:`,n),!Array.isArray(n)){console.error(`Expression did not yield a list: \`${p}\` => \`${n}\``);return}if(i){let r=new Set,s=new Map,u=[],d=o.nextSibling;for(let o=0;o<n.length;o++){let p=n[o],m=this.eval(i,{[f]:p,$index:o});r.has(m)&&console.warn(`:for duplicate key detected: ${m}. Using last item.`),r.add(m);let h,g,_=l.get(m);if(_){if(h=_.node,g=_.subrenderer,u.push(g.set(f,p,!0)),u.push(g.set(`$index`,o,!0)),c&&j(h,`renderer`)){let e=h.renderer,t=e.eval(c,{$elem:h});u.push(...Object.entries(t).map(([t,n])=>e.set(t,n,!0)))}h===d||h.nextSibling===d||H(a,h,d)}else{g=this.subrenderer(),g.set(f,p,!0),g.set(`$index`,o,!0);let n=e.cloneNode(!0);this.cloakElement(n),H(a,n,d),this._skipNodes.add(n),u.push(g.mount(n,t).then(()=>{this.uncloakElement(n)})),h=n,this.log(`Rendered list child:
27
- `,U(n,128))}s.set(m,{node:h,subrenderer:g}),d=h.nextSibling}for(let[e,{node:t,subrenderer:n}]of l)r.has(e)||(n.dispose(),t.parentNode&&V(t.parentNode,t),this._skipNodes.delete(t));l.clear();for(let[e,t]of s)l.set(e,t);return Promise.all(u).then(()=>{})}else{d.splice(0,d.length).forEach(e=>{e.dispose()}),u.splice(0,u.length).forEach(e=>{e.parentNode&&V(e.parentNode,e),this._skipNodes.delete(e)});let r=o.nextSibling,i=[];for(let o=0;o<n.length;o++){let s=n[o],c=this.subrenderer();c.set(f,s,!0),c.set(`$index`,o,!0);let l=e.cloneNode(!0);this.cloakElement(l),H(a,l,r),u.push(l),d.push(c),this._skipNodes.add(l),i.push(c.mount(l,t).then(()=>{this.uncloakElement(l)})),this.log(`Rendered list child:
28
- `,U(l,128))}return Promise.all(i).then(()=>{})}},{directive:`:for`,element:n,expression:r})}},e.resolveBindAttribute=function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`bind`,`:`);if(r){this.log(`:bind attribute found in:
29
- `,U(e,128));let t=N(n,`:bind:on`)?.split(`,`)||n.dataset?.bindOn?.split(`,`)||[`change`,`input`];z(n,`bind`,`:`),R(n,`:bind:on`),R(n,`data-bind-on`);let i=N(n,`type`)===`checkbox`?`checked`:`value`;!r.includes(`.`)&&!this.has(r)&&this.set(r,``);let a=this;this.effect(function(){let t=this.eval(r,{$elem:e});i===`checked`?n.checked=!!t:(n.value=t,n.value!==t&&t!=null&&a._pendingValueRetries.push(()=>{n.value=t}))},{directive:`:bind`,element:n,expression:r});let o=`${r} = $elem.${i}`;for(let n of t)e.addEventListener(n,()=>this.eval(o,{$elem:e}))}},e.resolveIfAttribute=function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`if`,`:`);if(r){this.log(`:if attribute found in:
30
- `,U(e,128)),z(n,`if`,`:`);let t=this.createComment(` :if placeholder `,e.ownerDocument);this.effect(function(){this.eval(r,{$elem:e})?!n.parentNode&&t.parentNode&&(B(t,n),Qe(n)):n.parentNode&&B(n,t)},{directive:`:if`,element:n,expression:r})}},e.resolveShowAttribute=function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`show`,`:`);if(r){this.log(`:show attribute found in:
31
- `,U(e,128)),z(n,`show`,`:`);let t=n.style?.display===`none`?``:n.style?.display??N(n,`style`)?.split(`;`)?.find(e=>e.split(`:`)[0]===`display`)?.split(`:`)?.at(1)?.trim();this.effect(function(){let i=this.eval(r,{$elem:e});n.style?n.style.display=i?t:`none`:I(n,`style`,`display: ${i?t:`none`};`)},{directive:`:show`,element:n,expression:r})}},e.resolveCustomAttribute=function(e,t){if(this._skipNodes.has(e))return;let n=e;for(let t of Array.from(n.attributes||[])){let r=`:attr:`,i=`data-attr-`;if(t.name.startsWith(r)||t.name.startsWith(i)){this.log(t.name,`attribute found in:
32
- `,U(e,128)),R(n,t.name);let a=(t.name.split(r,2).at(-1)||``).split(i,2).at(-1)??``;this.effect(function(){let r=this.eval(t.value,{$elem:e});F(n,a,r),a===`class`&&$e(String(r??``))},{directive:`:attr:${a}`,element:n,expression:t.value})}}},e.resolveCustomProperty=function(e,t){if(this._skipNodes.has(e))return;let n=e;for(let t of Array.from(n.attributes||[])){let r=`:prop:`,i=`data-prop-`;if(t.name.startsWith(r)||t.name.startsWith(i)){this.log(t.name,`property found in:
33
- `,U(e,128)),R(n,t.name);let a=it((t.name.split(r,2).at(-1)||``).split(i,2).at(-1)??``);this.effect(function(){L(n,a,this.eval(t.value,{$elem:e}))},{directive:`:prop:${a}`,element:n,expression:t.value})}}},e.stripTypes=(e,t)=>{let n=e;N(n,`:types`)&&R(n,`:types`),N(n,`data-types`)&&R(n,`data-types`)},e.resolveRenderAttribute=async function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`render`,`:`);if(!r)return;this.log(`:render attribute found: ${r}`),z(n,`render`,`:`);let i;j(e,`renderer`)?(i=e.renderer,this.log(`Reusing existing subrenderer for :render:`,U(e,64))):(i=this.subrenderer(),L(n,`renderer`,i)),await i.mount(e,t);for(let t of A(e,this._skipNodes))this._skipNodes.add(t);try{let e=await import(r);typeof e.default==`function`?await e.default(n,i):e.default!==void 0&&console.warn(`Module ${r} default export is not a function`)}catch(e){console.error(`Failed to execute render init from ${r}:`,e)}}})(W||={});function ht(){return new URL(globalThis.window?.location?.href||`http://localhost/`)}function gt(e){return e.substring(2)}function _t(e){return`\$\$${e}`}function vt(e){return e.keys().filter(e=>e.startsWith(`$$`))}async function yt(e,t){for(let[n,r]of t.searchParams.entries()){let t=_t(n);e.get(t)!==r&&await e.set(t,r)}}function bt(e,t,n){let r=gt(t),i=!1;if(!n)e.searchParams.has(r)&&(e.searchParams.delete(r),i=!0);else{let t=String(n);e.searchParams.get(r)!==t&&(e.searchParams.set(r,t),i=!0)}return i}function xt(e,t){let n=!1;for(let r of vt(t))bt(e,r,t.get(r))&&(n=!0);n&&globalThis.window?.history?.replaceState({},``,e.toString())}function St(e){return async()=>{let t=ht(),n=new Set;for(let[r,i]of t.searchParams.entries()){let t=_t(r);n.add(t),e.get(t)!==i&&e.set(t,i)}let r=vt(e);for(let t of r)n.has(t)||e.del(t)}}async function Ct(e){let t=ht();await yt(e,t),xt(t,e),e.addKeyHandler(/^\$\$/,(e,t)=>{let n=ht();bt(n,e,t)&&globalThis.window?.history?.replaceState({},``,n.toString())}),globalThis.window?.addEventListener(`popstate`,St(e))}
17
+ `)),je}let Ne={text:`color`,bg:`background-color`,border:`border-color`,fill:`fill`,divide:`border-color`},Pe=/^(text|bg|border|fill|divide)-([\w-]+)\/(\d+)$/,Fe={w:`width`,h:`height`,"min-w":`min-width`,"min-h":`min-height`,"max-w":`max-width`,"max-h":`max-height`,m:`margin`,mt:`margin-top`,mr:`margin-right`,mb:`margin-bottom`,ml:`margin-left`,mx:`margin-inline`,my:`margin-block`,p:`padding`,pt:`padding-top`,pr:`padding-right`,pb:`padding-bottom`,pl:`padding-left`,px:`padding-inline`,py:`padding-block`,top:`top`,right:`right`,bottom:`bottom`,left:`left`,gap:`gap`,"gap-x":`column-gap`,"gap-y":`row-gap`,text:`font-size`,z:`z-index`,bg:`background-color`,border:`border-color`},Ie=/^(-?)([\w-]+)-\[(.+)\]$/,Le=/^(hover|focus|disabled|sm|md|lg|xl|dark|landscape|portrait):(.+)$/,Re=[`hover`,`focus`,`disabled`],ze=[`landscape`,`portrait`],Be=new Set,O=null;function Ve(e){if(typeof document>`u`)return null;let t=`.${Ue(e)}`;for(let e of document.styleSheets)try{for(let n of e.cssRules)if(n instanceof CSSStyleRule&&n.selectorText===t)return n.style.cssText}catch{}return null}function He(){return typeof document<`u`&&typeof CSSStyleSheet<`u`&&typeof document.createElement==`function`}function Ue(e){let t=globalThis.CSS;return typeof t?.escape==`function`?t.escape(e):e.replace(/[[\]#.:>+~()'"/%,!]/g,`\\$&`)}function We(){if(!He())return null;if(O&&!O.ownerNode?.isConnected&&(O=null,Be.clear()),O)return O;let e=document.createElement(`style`);return e.setAttribute(`data-mancha`,`custom`),document.head.appendChild(e),e.sheet?(O=e.sheet,O):null}function Ge(e){let t=e.match(Ie);if(!t)return null;let[,n,r,i]=t,a=Fe[r];if(!a)return null;let o=i.replace(/_/g,` `);return{property:a,value:n?`-${o}`:o}}function Ke(e){let t=e.match(Pe);if(!t)return null;let[,n,r,i]=t,a=Ne[n];if(!a)return null;let o=Number.parseInt(i,10);if(o<0||o>100)return null;let s=null;if(r===`white`)s=`#fff`;else if(r===`black`)s=`#000`;else{let e=r.lastIndexOf(`-`);if(e>0){let t=r.substring(0,e),n=Number.parseInt(r.substring(e+1),10);s=me[t]?.[n]??null}s||=me[r]?.[500]??null}return s?{property:a,value:`rgb(${Oe(s)} / ${o/100})`}:null}function qe(e,t){let n=t?`${t.name}:${e}`:e,r=We();if(!r)return!1;if(Be.has(n))return!0;let i=Ue(n),a=Ge(e)??Ke(e),o=a?`${a.property}: ${a.value};`:Ve(e);if(!o)return!1;let s=e.startsWith(`divide-`)?` > :not(:last-child)`:``,c;c=t?t.type===`pseudo`?`.${i}${s}:${t.name} { ${o} }`:t.name===`dark`?`@media (prefers-color-scheme: dark) { .${i}${s} { ${o} } }`:ze.includes(t.name)?`@media (orientation: ${t.name}) { .${i}${s} { ${o} } }`:`@media (min-width: ${v[t.name]}px) { .${i}${s} { ${o} } }`:`.${i}${s} { ${o} }`;try{let e=r.insertRule(c,r.cssRules.length),i=r.cssRules[e];return(t?.type===`media`?i.cssRules[0]:i)?.style?.length?(Be.add(n),!0):(r.deleteRule(e),console.warn(`Injected CSS rule had no effect: ${c}`),!1)}catch(e){return console.warn(`Failed to inject CSS rule: ${c}`,e),!1}}function Je(e){return e.includes(`[`)||e.includes(`:`)||e.includes(`/`)}function Ye(e){if(!(!e||!Je(e)))for(let t of e.trim().split(/\s+/)){let e=t.match(Le);if(e){let[,t,n]=e,r=Re.includes(t),i=t in v,a=t===`dark`,o=ze.includes(t);if(r||i||a||o){qe(n,{type:r?`pseudo`:`media`,name:t});continue}}Je(t)&&qe(t)}}function Xe(e){if(!He())return;let t=e??document;if(t instanceof Element){let e=t.getAttribute(`class`);e&&Ye(e)}let n=t.querySelectorAll(`[class]`);for(let e of n){let t=e.getAttribute(`class`);t&&Ye(t)}}function Ze(){return He()&&document.querySelector(`style[data-mancha="utils"]`)!==null}function Qe(e){if(!Ze())return;let t=e;typeof t.querySelectorAll==`function`&&Xe(t)}function $e(e){!e||!Je(e)||Ze()&&Ye(e)}function et(e){return l(e[0].toLowerCase())}function k(e){let t=e[0];return h(t)}function tt(e){return h(e.map(g).join(``))}function nt(e){let t=e.childNodes;for(let e=0;e<t.length;e++){let n=t[e];n.prev=e>0?t[e-1]:null,n.next=e<t.length-1?t[e+1]:null}}let rt=[et`:`,et`style`,et`class`];function*A(e,t=new Set){let n=new Set,r=Array.from(e.childNodes).filter(e=>!t.has(e));for(yield e;r.length;){let e=r.shift();n.has(e)||(n.add(e),yield e),e.childNodes&&Array.from(e.childNodes).filter(e=>!t.has(e)).forEach(e=>{r.push(e)})}}function j(e,t){return e?.[t]!==void 0}function M(e,t){return typeof e?.[t]==`function`}function it(e){return e.replace(/-./g,e=>e[1].toUpperCase())}function N(e,t){return e.attribs?e.attribs[t]??null:e.getAttribute?.(t)??null}function at(e,t){return e.attribs?t in e.attribs:e.hasAttribute?.(t)??!1}function P(e,t,n=``){return N(e,n+t)||N(e,`data-${t}`)||(e.dataset?.[it(t)]??null)}function F(e,t,n){e.attribs?e.attribs[t]=n:e.setAttribute?.(t,n)}function ot(e,t,n){e.attribs?e.attribs[t]=n:f(rt,e,t,n)}function I(e,t,n){switch(t){case`disabled`:e.disabled=n;return;case`selected`:e.selected=n;return;case`checked`:e.checked=n;return;default:e[t]=n}}function L(e,t){e.attribs?delete e.attribs[t]:e.removeAttribute?.(t)}function st(e,t,n,r=``){at(e,`${r}${t}`)?F(e,`${r}${t}`,n):at(e,`data-${t}`)?F(e,`data-${t}`,n):F(e,`${r}${t}`,n)}function R(e,t,n=``){L(e,`${n}${t}`),L(e,`data-${t}`)}function ct(e,t,n){if(e.attribs&&t.attribs)t.attribs[n]=e.attribs[n];else if(n.startsWith(`data-`)){let r=it(n.slice(5));t.dataset&&e.dataset&&(t.dataset[r]=e.dataset[r])}else{let r=e?.getAttribute?.(n);F(t,n,r||``)}}function lt(e){return j(e,`firstElementChild`)?e.firstElementChild:Array.from(e.children).find(e=>e.nodeType===1)}function z(e,...t){if(M(e,`replaceWith`)){e.replaceWith(...t);return}else{let n=e,r=n.parentNode;if(!r)return;let i=Array.from(r.childNodes).indexOf(n);n.parentNode=null,t.forEach(e=>{e.parentNode=r}),r.childNodes=[].concat(Array.from(r.childNodes).slice(0,i),t,Array.from(r.childNodes).slice(i+1)),nt(r)}}function ut(e,...t){M(e,`replaceChildren`)?e.replaceChildren(...t):(e.childNodes=t,t.forEach(t=>{t.parentNode=e}),nt(e))}function dt(e,t){return M(t,`appendChild`)?e.appendChild(t):(e.childNodes.push(t),t.parentNode=e,nt(e),t)}function B(e,t){return M(t,`removeChild`)?e.removeChild(t):(ut(e,...Array.from(e.childNodes).filter(e=>e!==t)),t)}function V(e,t,n){return n?M(e,`insertBefore`)?e.insertBefore(t,n):(t.parentNode&&B(t.parentNode,t),z(n,t,n),t):dt(e,t)}function ft(e,t=0){return e?e.length<=t?e:`${e.slice(0,t-1)}…`:``}function H(e,t=0){return globalThis.DocumentFragment&&e instanceof DocumentFragment?Array.from(e.childNodes).map(e=>H(e,t)).join(``):ft(e.outerHTML||e.nodeValue||String(e),t)}function pt(e){return e.includes(`/`)?e.split(`/`).slice(0,-1).join(`/`):``}function mt(e){return!e.includes(`://`)&&!e.startsWith(`/`)&&!e.startsWith(`#`)&&!e.startsWith(`data:`)}var ht=class e{iterable;constructor(e){this.iterable=e}filter(t){return new e(e.filterGenerator(t,this.iterable))}map(t){return new e(e.mapGenerator(t,this.iterable))}find(e){for(let t of this.iterable)if(e(t))return t}array(){return Array.from(this.iterable)}*generator(){for(let e of this.iterable)yield e}static*filterGenerator(e,t){for(let n of t)e(n)&&(yield n)}static*mapGenerator(e,t){for(let n of t)yield e(n)}static equals(e,t){let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(i.value!==a.value)return!1;i=n.next(),a=r.next()}return i.done===a.done}};let U;(function(e){e.resolveIncludes=async function(e,t){let n=e,r=n.tagName?.toLowerCase();if(![`include`,`link`].includes(r)||r===`link`&&N(n,`rel`)!==`subresource`)return;this.log(`include directive found in:
18
+ `,H(e,128)),this.log(`include params:`,t);let i=n.tagName.toLocaleLowerCase()===`link`?`href`:`src`,a=N(n,i);if(!a)throw Error(`"${i}" attribute missing from ${H(e,128)}.`);let o=[];r===`include`&&o.push(`src`),r===`link`&&o.push(`rel`,`href`);let s=t=>{let r=lt(t);for(let e of Array.from(n.attributes))r&&!o.includes(e.name)&&ct(n,r,e.name);z(e,...t.childNodes)},c={...t,rootDocument:!1,maxdepth:(t?.maxdepth??100)-1};if(c.maxdepth===0)throw Error(`Maximum recursion depth reached.`);if(a.includes(`://`)||a.startsWith(`//`))this.log(`Including remote file from absolute path:`,a),await this.preprocessRemote(a,c).then(s);else if(t?.dirpath?.includes(`://`)||t?.dirpath?.startsWith(`//`)){let e=a.startsWith(`/`)?a:`${t.dirpath}/${a}`;this.log(`Including remote file from relative path:`,e),await this.preprocessRemote(e,c).then(s)}else if(a.charAt(0)===`/`)this.log(`Including local file from absolute path:`,a),await this.preprocessLocal(a,c).then(s);else{let e=t?.dirpath&&t?.dirpath!==`.`?`${t?.dirpath}/${a}`:a;this.log(`Including local file from relative path:`,e),await this.preprocessLocal(e,c).then(s)}},e.rebaseRelativePaths=function(e,t){let n=e,r=n.tagName?.toLowerCase();if(!t?.dirpath)return;let o=N(n,`src`),s=N(n,`href`),c=P(n,`render`,`:`),l=o||s||c;if(!l||!mt(l))return;let u=`${t.dirpath}/${l}`;this.log(`Rebasing relative path as:`,u),c?st(n,`render`,u,`:`):j(n,`attribs`)?ot(n,o?`src`:`href`,u):r===`img`?n.src=u:r===`a`?i(n,u):r===`source`||r===`audio`||r===`video`||r===`track`||r===`input`?n.src=u:r===`area`?a(n,u):this.log(`Unable to rebase relative path for element:`,r)},e.registerCustomElements=function(e,t){let n=e,r=n.tagName?.toLowerCase(),i=(N(n,`is`)||N(n,`alt`))?.toLowerCase();if([`template`,`div`].includes(r)&&i){if(r===`div`&&N(n,`role`)!==`template`)return;if(!this._customElements.has(i)){this.log(`Registering custom element: ${i}\n`,H(n,128));let e=n.content||n,r=Array.from(A(e));for(let e=1;e<r.length;e++)U.rebaseRelativePaths.call(this,r[e],t);this._customElements.set(i,n),n?.parentNode&&B(n.parentNode,n)}}},e.resolveCustomElements=function(e,t){let n=e,r=n.tagName?.toLowerCase(),i=r;if(i===`div`&&(i=N(n,`role`)?.toLowerCase()||i),i&&this._customElements.has(i)){this.log(`Processing custom element: ${i}\n`,H(n,128));let t=this._customElements.get(i),a=(t.content||t).cloneNode(!0),o=lt(a);if(o)for(let e of Array.from(n.attributes))(r!==`div`||e.name!==`role`)&&ct(n,o,e.name);let s=new ht(A(a)).find(e=>e.tagName?.toLowerCase()===`slot`);s&&z(s,...n.childNodes),z(e,...a.childNodes)}},e.resolveTextNodeExpressions=function(e,t){let n=e.nodeValue||``;if(e.nodeType!==3||!n?.trim())return;this.log(`Processing node content value:
19
+ `,ft(n,128));let r=new RegExp(/{{ ([^}]+) }}/gm),i=Array.from(n.matchAll(r)).map(e=>e[1]);return this.effect(function(){let t=n;for(let n of i){let r=this.eval(n,{$elem:e});t=t.replace(`{{ ${n} }}`,r==null?``:String(r))}e.nodeValue=t},{directive:`text`,element:e.parentElement??void 0,expression:i.join(`, `)})},e.resolveDataAttribute=async function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`data`,`:`);if(r){this.log(`:data attribute found in:
20
+ `,H(e,128)),R(n,`data`,`:`);let i;j(e,`renderer`)?(i=e.renderer,this.log(`Reusing existing subrenderer for node:`,H(e,64))):(i=this.subrenderer(),I(e,`renderer`,i),this.log(`Created and attached new subrenderer for node:`,H(e,64)));let a=i.eval(r,{$elem:e});if(await Promise.all(Object.entries(a).map(([e,t])=>e.startsWith(`$$`)?(i._store.get(`$rootRenderer`)||i).set(e,t):i.set(e,t,!0))),i===this)return;for(let t of A(e,this._skipNodes))this._skipNodes.add(t);await i.mount(e,t)}},e.resolveClassAttribute=function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`class`,`:`);if(r){this.log(`:class attribute found in:
21
+ `,H(e,128)),R(n,`class`,`:`);let t=N(n,`class`)||``;return this.effect(function(){let i=this.eval(r,{$elem:e}),a=(i?`${t} ${i}`:t).trim();ot(n,`class`,a),$e(a)},{directive:`class`,element:n,expression:r})}},e.resolveTextAttributes=function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`text`,`:`);if(r){this.log(`:text attribute found in:
22
+ `,H(e,128)),R(n,`text`,`:`);let t=t=>this.textContent(e,t),i=this.effect(function(){let n=this.eval(r,{$elem:e});t(n==null?``:String(n))},{directive:`:text`,element:n,expression:r});for(let e of Array.from(n.childNodes||[]))this._skipNodes.add(e);return i}},e.resolveHtmlAttribute=async function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`html`,`:`);if(r){this.log(`:html attribute found in:
23
+ `,H(e,128)),R(n,`html`,`:`);let i=null,a=[];return this.effect(function(){let o=this.eval(r,{$elem:e});return new Promise(e=>{(async()=>{i&&=(i.dispose(),null);let r=this.subrenderer();i=r;let s=await r.preprocessString(o,t);await r.renderNode(s);for(let e of a)this._skipNodes.delete(e);ut(n,s),a=Array.from(n.childNodes||[]);for(let e of a)this._skipNodes.add(e);Qe(n),r._store.set(`$rootNode`,n),e()})()})},{directive:`:html`,element:n,expression:r})}},e.resolveEventAttributes=function(e,t){if(this._skipNodes.has(e))return;let n=e;for(let t of Array.from(n.attributes||[]))if(t.name.startsWith(`:on:`)||t.name.startsWith(`data-on-`)){let r=``,i=[];if(t.name.startsWith(`:on:`)?[r,...i]=t.name.substring(4).split(`.`):t.name.startsWith(`data-on-`)&&([r,...i]=t.name.substring(8).split(`.`)),!r)throw Error(`Invalid event attribute: ${t.name}`);this.log(t.name,`attribute found in:
24
+ `,H(e,128)),R(n,t.name);let a=r===`submit`&&n.tagName.toUpperCase()===`FORM`;e.addEventListener?.(r,n=>((i.includes(`prevent`)||a)&&n.preventDefault(),this.eval(t.value,{$elem:e,$event:n})))}},e.resolveForAttribute=async function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`for`,`:`)?.trim();if(r){this.log(`:for attribute found in:
25
+ `,H(e,128)),R(n,`for`,`:`);let i=P(n,`key`,`:`);i&&R(n,`key`,`:`);for(let t of A(e,this._skipNodes))this._skipNodes.add(t);let a=e.parentNode;if(!a)return;this.cloakElement(n);let o=this.createElement(`template`,e.ownerDocument);V(a,o,e),B(a,e),`content`in o?dt(o.content,e):dt(o,e),this.log(`:for template:
26
+ `,H(o,128));let s=r.split(` in `,2);if(s.length!==2)throw Error(`Invalid :for format: \`${r}\`. Expected "{key} in {expression}".`);let c=i?P(n,`data`,`:`):null,l=new Map,u=[],d=[],[f,p]=s;await this.effect(function(){let n=this.eval(p,{$elem:e});if(this.log(`:for list items:`,n),!Array.isArray(n)){console.error(`Expression did not yield a list: \`${p}\` => \`${n}\``);return}let r=o.parentNode;if(r)if(i){let a=new Set,s=new Map,u=[],d=o.nextSibling;for(let o=0;o<n.length;o++){let p=n[o],m=this.eval(i,{[f]:p,$index:o});a.has(m)&&console.warn(`:for duplicate key detected: ${m}. Using last item.`),a.add(m);let h,g,_=l.get(m);if(_){if(h=_.node,g=_.subrenderer,u.push(g.set(f,p,!0)),u.push(g.set(`$index`,o,!0)),c&&j(h,`renderer`)){let e=h.renderer,t=e.eval(c,{$elem:h});u.push(...Object.entries(t).map(([t,n])=>e.set(t,n,!0)))}h===d||h.nextSibling===d||V(r,h,d)}else{g=this.subrenderer(),g.set(f,p,!0),g.set(`$index`,o,!0);let n=e.cloneNode(!0);this.cloakElement(n),V(r,n,d),this._skipNodes.add(n),u.push(g.mount(n,t).then(()=>{this.uncloakElement(n)})),h=n,this.log(`Rendered list child:
27
+ `,H(n,128))}s.set(m,{node:h,subrenderer:g}),d=h.nextSibling}for(let[e,{node:t,subrenderer:n}]of l)a.has(e)||(n.dispose(),t.parentNode&&B(t.parentNode,t),this._skipNodes.delete(t));l.clear();for(let[e,t]of s)l.set(e,t);return Promise.all(u).then(()=>{})}else{d.splice(0,d.length).forEach(e=>{e.dispose()}),u.splice(0,u.length).forEach(e=>{e.parentNode&&B(e.parentNode,e),this._skipNodes.delete(e)});let i=o.nextSibling,a=[];for(let o=0;o<n.length;o++){let s=n[o],c=this.subrenderer();c.set(f,s,!0),c.set(`$index`,o,!0);let l=e.cloneNode(!0);this.cloakElement(l),V(r,l,i),u.push(l),d.push(c),this._skipNodes.add(l),a.push(c.mount(l,t).then(()=>{this.uncloakElement(l)})),this.log(`Rendered list child:
28
+ `,H(l,128))}return Promise.all(a).then(()=>{})}},{directive:`:for`,element:n,expression:r})}},e.resolveBindAttribute=function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`bind`,`:`);if(r){this.log(`:bind attribute found in:
29
+ `,H(e,128));let t=N(n,`:bind:on`)?.split(`,`)||n.dataset?.bindOn?.split(`,`)||[`change`,`input`];R(n,`bind`,`:`),L(n,`:bind:on`),L(n,`data-bind-on`);let i=N(n,`type`)===`checkbox`?`checked`:`value`;!r.includes(`.`)&&!this.has(r)&&this.set(r,``);let a=this;this.effect(function(){let t=this.eval(r,{$elem:e});i===`checked`?n.checked=!!t:(n.value=t,n.value!==t&&t!=null&&a._pendingValueRetries.push(()=>{n.value=t}))},{directive:`:bind`,element:n,expression:r});let o=`${r} = $elem.${i}`;for(let n of t)e.addEventListener(n,()=>this.eval(o,{$elem:e}))}},e.resolveIfAttribute=function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`if`,`:`);if(r){this.log(`:if attribute found in:
30
+ `,H(e,128)),R(n,`if`,`:`);let t=this.createComment(` :if placeholder `,e.ownerDocument);this.effect(function(){this.eval(r,{$elem:e})?!n.parentNode&&t.parentNode&&(z(t,n),Qe(n)):n.parentNode&&z(n,t)},{directive:`:if`,element:n,expression:r})}},e.resolveShowAttribute=function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`show`,`:`);if(r){this.log(`:show attribute found in:
31
+ `,H(e,128)),R(n,`show`,`:`);let t=n.style?.display===`none`?``:n.style?.display??N(n,`style`)?.split(`;`)?.find(e=>e.split(`:`)[0]===`display`)?.split(`:`)?.at(1)?.trim();this.effect(function(){let i=this.eval(r,{$elem:e});n.style?n.style.display=i?t:`none`:ot(n,`style`,`display: ${i?t:`none`};`)},{directive:`:show`,element:n,expression:r})}},e.resolveCustomAttribute=function(e,t){if(this._skipNodes.has(e))return;let n=e;for(let t of Array.from(n.attributes||[])){let r=`:attr:`,i=`data-attr-`;if(t.name.startsWith(r)||t.name.startsWith(i)){this.log(t.name,`attribute found in:
32
+ `,H(e,128)),L(n,t.name);let a=(t.name.split(r,2).at(-1)||``).split(i,2).at(-1)??``;this.effect(function(){let r=this.eval(t.value,{$elem:e});F(n,a,r),a===`class`&&$e(String(r??``))},{directive:`:attr:${a}`,element:n,expression:t.value})}}},e.resolveCustomProperty=function(e,t){if(this._skipNodes.has(e))return;let n=e;for(let t of Array.from(n.attributes||[])){let r=`:prop:`,i=`data-prop-`;if(t.name.startsWith(r)||t.name.startsWith(i)){this.log(t.name,`property found in:
33
+ `,H(e,128)),L(n,t.name);let a=it((t.name.split(r,2).at(-1)||``).split(i,2).at(-1)??``);this.effect(function(){I(n,a,this.eval(t.value,{$elem:e}))},{directive:`:prop:${a}`,element:n,expression:t.value})}}},e.stripTypes=(e,t)=>{let n=e;N(n,`:types`)&&L(n,`:types`),N(n,`data-types`)&&L(n,`data-types`)},e.resolveRenderAttribute=async function(e,t){if(this._skipNodes.has(e))return;let n=e,r=P(n,`render`,`:`);if(!r)return;this.log(`:render attribute found: ${r}`),R(n,`render`,`:`);let i;j(e,`renderer`)?(i=e.renderer,this.log(`Reusing existing subrenderer for :render:`,H(e,64))):(i=this.subrenderer(),I(n,`renderer`,i)),await i.mount(e,t);for(let t of A(e,this._skipNodes))this._skipNodes.add(t);try{let e=await import(r);typeof e.default==`function`?await e.default(n,i):e.default!==void 0&&console.warn(`Module ${r} default export is not a function`)}catch(e){console.error(`Failed to execute render init from ${r}:`,e)}}})(U||={});function gt(){return new URL(globalThis.window?.location?.href||`http://localhost/`)}function _t(e){return e.substring(2)}function vt(e){return`\$\$${e}`}function yt(e){return e.keys().filter(e=>e.startsWith(`$$`))}async function bt(e,t){for(let[n,r]of t.searchParams.entries()){let t=vt(n);e.get(t)!==r&&await e.set(t,r)}}function xt(e,t,n){let r=_t(t),i=!1;if(!n)e.searchParams.has(r)&&(e.searchParams.delete(r),i=!0);else{let t=String(n);e.searchParams.get(r)!==t&&(e.searchParams.set(r,t),i=!0)}return i}function St(e,t){let n=!1;for(let r of yt(t))xt(e,r,t.get(r))&&(n=!0);n&&globalThis.window?.history?.replaceState({},``,e.toString())}function Ct(e){return async()=>{let t=gt(),n=new Set;for(let[r,i]of t.searchParams.entries()){let t=vt(r);n.add(t),e.get(t)!==i&&e.set(t,i)}let r=yt(e);for(let t of r)n.has(t)||e.del(t)}}async function wt(e){let t=gt();await bt(e,t),St(t,e),e.addKeyHandler(/^\$\$/,(e,t)=>{let n=gt();xt(n,e,t)&&globalThis.window?.history?.replaceState({},``,n.toString())}),globalThis.window?.addEventListener(`popstate`,Ct(e))}
34
34
  /*
35
35
  * @license
36
36
  * Portions Copyright (c) 2013, the Dart project authors.
37
37
  */
38
- let wt=new Set([`this`,`typeof`]),Tt=new Set([`in`]),Et=new Set([`+`,`-`,`!`,`typeof`]),Dt=new Set([`=`,`+`,`-`,`*`,`/`,`%`,`^`,`==`,`!=`,`>`,`<`,`>=`,`<=`,`||`,`&&`,`??`,`&`,`===`,`!==`,`|`,`in`]),Ot={"!":0,":":0,",":0,")":0,"]":0,"}":0,"?":2,"??":3,"||":4,"&&":5,"|":6,"^":7,"&":8,"!=":9,"==":9,"!==":9,"===":9,">=":10,">":10,"<=":10,"<":10,in:10,"+":11,"-":11,"%":12,"/":12,"*":12,"(":13,"[":13,".":13,"?.":13,"{":13},kt={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,">":(e,t)=>e>t,">=":(e,t)=>e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"||":(e,t)=>e||t,"&&":(e,t)=>e&&t,"??":(e,t)=>e??t,"|":(e,t)=>t(e),in:(e,t)=>e in t},At={"+":e=>e,"-":e=>-e,"!":e=>!e,typeof:e=>typeof e};var jt=class{empty(){return{type:`Empty`,evaluate(e){return e},getIds(e){return e}}}literal(e){return{type:`Literal`,value:e,evaluate(e){return this.value},getIds(e){return e}}}id(e){return{type:`ID`,value:e,evaluate(e){return this.value===`this`?e:e?.[this.value]},getIds(e){return e.push(this.value),e}}}unary(e,t){let n=At[e];return{type:`Unary`,operator:e,child:t,evaluate(e){return n(this.child.evaluate(e))},getIds(e){return this.child.getIds(e)}}}binary(e,t,n){let r=kt[t];return{type:`Binary`,operator:t,left:e,right:n,evaluate(e){if(this.operator===`=`){if(this.left.type!==`ID`&&this.left.type!==`Getter`&&this.left.type!==`Index`)throw Error(`Invalid assignment target: ${this.left}`);let t=this.right.evaluate(e),n,r;return this.left.type===`Getter`?(n=this.left.receiver.evaluate(e),r=this.left.name):this.left.type===`Index`?(n=this.left.receiver.evaluate(e),r=String(this.left.argument.evaluate(e))):this.left.type===`ID`&&(n=e,r=this.left.value),n===void 0?void 0:(n[r]=t,t)}return r(this.left.evaluate(e),this.right.evaluate(e))},getIds(e){return this.left.getIds(e),this.right.getIds(e),e}}}getter(e,t,n){return{type:`Getter`,receiver:e,name:t,optional:n,evaluate(e){let t=this.receiver.evaluate(e);if(!(this.optional&&t==null))return t?.[this.name]},getIds(e){return this.receiver.getIds(e),e}}}invoke(e,t,n,r){if(t!=null&&typeof t!=`string`)throw Error(`method not a string`);return{type:`Invoke`,receiver:e,method:t,arguments:n,optional:r,evaluate(e){let t=this.receiver.evaluate(e);if(this.optional&&t==null)return;let n=this.method?t:e?.this??e,r=this.method?t?.[this.method]:t,i=this.arguments??[],a=[];for(let t of i)if(t?.type===`SpreadElement`){let n=t.evaluate(e);n&&typeof n[Symbol.iterator]==`function`&&a.push(...n)}else a.push(t?.evaluate(e));return r?.apply?.(n,a)},getIds(e){return this.receiver.getIds(e),this.arguments?.forEach(t=>{t?.getIds(e)}),e}}}paren(e){return e}index(e,t,n){return{type:`Index`,receiver:e,argument:t,optional:n,evaluate(e){let t=this.receiver.evaluate(e);if(this.optional&&t==null)return;let n=this.argument.evaluate(e);return t?.[n]},getIds(e){return this.receiver.getIds(e),e}}}ternary(e,t,n){return{type:`Ternary`,condition:e,trueExpr:t,falseExpr:n,evaluate(e){return this.condition.evaluate(e)?this.trueExpr.evaluate(e):this.falseExpr.evaluate(e)},getIds(e){return this.condition.getIds(e),this.trueExpr.getIds(e),this.falseExpr.getIds(e),e}}}map(e){return{type:`Map`,properties:e,evaluate(t){let n={};if(e&&this.properties)for(let e of this.properties)e.type===`SpreadProperty`?Object.assign(n,e.evaluate(t)):n[e.key]=e.value.evaluate(t);return n},getIds(t){if(e&&this.properties)for(let e of this.properties)e.type===`SpreadProperty`?e.expression.getIds(t):e.value.getIds(t);return t}}}property(e,t){return{type:`Property`,key:e,value:t,evaluate(e){return this.value.evaluate(e)},getIds(e){return this.value.getIds(e)}}}list(e){return{type:`List`,items:e,evaluate(e){if(!this.items)return[];let t=[];for(let n of this.items)if(n?.type===`SpreadElement`){let r=n.evaluate(e);r&&typeof r[Symbol.iterator]==`function`&&t.push(...r)}else t.push(n?.evaluate(e));return t},getIds(e){return this.items?.forEach(t=>{t?.getIds(e)}),e}}}arrowFunction(e,t){return{type:`ArrowFunction`,params:e,body:t,evaluate(e){let t=this.params,n=this.body;return function(...r){let i=Object.fromEntries(t.map((e,t)=>[e,r[t]])),a=this??e??{},o=new Proxy(a,{set(e,t,n){return Object.hasOwn(i,t)&&(i[t]=n),e[t]=n,n},get(e,t){return Object.hasOwn(i,t)?i[t]:e[t]}});return n.evaluate(o)}},getIds(e){return this.body.getIds(e).filter(e=>!this.params.includes(e))}}}spreadProperty(e){return{type:`SpreadProperty`,expression:e,evaluate(e){return this.expression.evaluate(e)},getIds(e){return this.expression.getIds(e)}}}spreadElement(e){return{type:`SpreadElement`,expression:e,evaluate(e){return this.expression.evaluate(e)},getIds(e){return this.expression.getIds(e)}}}};
38
+ let Tt=new Set([`this`,`typeof`]),Et=new Set([`in`]),Dt=new Set([`+`,`-`,`!`,`typeof`]),Ot=new Set([`=`,`+`,`-`,`*`,`/`,`%`,`^`,`==`,`!=`,`>`,`<`,`>=`,`<=`,`||`,`&&`,`??`,`&`,`===`,`!==`,`|`,`in`]),kt={"!":0,":":0,",":0,")":0,"]":0,"}":0,"?":2,"??":3,"||":4,"&&":5,"|":6,"^":7,"&":8,"!=":9,"==":9,"!==":9,"===":9,">=":10,">":10,"<=":10,"<":10,in:10,"+":11,"-":11,"%":12,"/":12,"*":12,"(":13,"[":13,".":13,"?.":13,"{":13},At={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,">":(e,t)=>e>t,">=":(e,t)=>e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"||":(e,t)=>e||t,"&&":(e,t)=>e&&t,"??":(e,t)=>e??t,"|":(e,t)=>t(e),in:(e,t)=>e in t},jt={"+":e=>e,"-":e=>-e,"!":e=>!e,typeof:e=>typeof e};var Mt=class{empty(){return{type:`Empty`,evaluate(e){return e},getIds(e){return e}}}literal(e){return{type:`Literal`,value:e,evaluate(e){return this.value},getIds(e){return e}}}id(e){return{type:`ID`,value:e,evaluate(e){return this.value===`this`?e:e?.[this.value]},getIds(e){return e.push(this.value),e}}}unary(e,t){let n=jt[e];return{type:`Unary`,operator:e,child:t,evaluate(e){return n(this.child.evaluate(e))},getIds(e){return this.child.getIds(e)}}}binary(e,t,n){let r=At[t];return{type:`Binary`,operator:t,left:e,right:n,evaluate(e){if(this.operator===`=`){if(this.left.type!==`ID`&&this.left.type!==`Getter`&&this.left.type!==`Index`)throw Error(`Invalid assignment target: ${this.left}`);let t=this.right.evaluate(e),n,r;return this.left.type===`Getter`?(n=this.left.receiver.evaluate(e),r=this.left.name):this.left.type===`Index`?(n=this.left.receiver.evaluate(e),r=String(this.left.argument.evaluate(e))):this.left.type===`ID`&&(n=e,r=this.left.value),n===void 0?void 0:(n[r]=t,t)}return r(this.left.evaluate(e),this.right.evaluate(e))},getIds(e){return this.left.getIds(e),this.right.getIds(e),e}}}getter(e,t,n){return{type:`Getter`,receiver:e,name:t,optional:n,evaluate(e){let t=this.receiver.evaluate(e);if(!(this.optional&&t==null))return t?.[this.name]},getIds(e){return this.receiver.getIds(e),e}}}invoke(e,t,n,r){if(t!=null&&typeof t!=`string`)throw Error(`method not a string`);return{type:`Invoke`,receiver:e,method:t,arguments:n,optional:r,evaluate(e){let t=this.receiver.evaluate(e);if(this.optional&&t==null)return;let n=this.method?t:e?.this??e,r=this.method?t?.[this.method]:t,i=this.arguments??[],a=[];for(let t of i)if(t?.type===`SpreadElement`){let n=t.evaluate(e);n&&typeof n[Symbol.iterator]==`function`&&a.push(...n)}else a.push(t?.evaluate(e));return r?.apply?.(n,a)},getIds(e){return this.receiver.getIds(e),this.arguments?.forEach(t=>{t?.getIds(e)}),e}}}paren(e){return e}index(e,t,n){return{type:`Index`,receiver:e,argument:t,optional:n,evaluate(e){let t=this.receiver.evaluate(e);if(this.optional&&t==null)return;let n=this.argument.evaluate(e);return t?.[n]},getIds(e){return this.receiver.getIds(e),e}}}ternary(e,t,n){return{type:`Ternary`,condition:e,trueExpr:t,falseExpr:n,evaluate(e){return this.condition.evaluate(e)?this.trueExpr.evaluate(e):this.falseExpr.evaluate(e)},getIds(e){return this.condition.getIds(e),this.trueExpr.getIds(e),this.falseExpr.getIds(e),e}}}map(e){return{type:`Map`,properties:e,evaluate(t){let n={};if(e&&this.properties)for(let e of this.properties)e.type===`SpreadProperty`?Object.assign(n,e.evaluate(t)):n[e.key]=e.value.evaluate(t);return n},getIds(t){if(e&&this.properties)for(let e of this.properties)e.type===`SpreadProperty`?e.expression.getIds(t):e.value.getIds(t);return t}}}property(e,t){return{type:`Property`,key:e,value:t,evaluate(e){return this.value.evaluate(e)},getIds(e){return this.value.getIds(e)}}}list(e){return{type:`List`,items:e,evaluate(e){if(!this.items)return[];let t=[];for(let n of this.items)if(n?.type===`SpreadElement`){let r=n.evaluate(e);r&&typeof r[Symbol.iterator]==`function`&&t.push(...r)}else t.push(n?.evaluate(e));return t},getIds(e){return this.items?.forEach(t=>{t?.getIds(e)}),e}}}arrowFunction(e,t){return{type:`ArrowFunction`,params:e,body:t,evaluate(e){let t=this.params,n=this.body;return function(...r){let i=Object.fromEntries(t.map((e,t)=>[e,r[t]])),a=this??e??{},o=new Proxy(a,{set(e,t,n){return Object.hasOwn(i,t)&&(i[t]=n),e[t]=n,n},get(e,t){return Object.hasOwn(i,t)?i[t]:e[t]}});return n.evaluate(o)}},getIds(e){return this.body.getIds(e).filter(e=>!this.params.includes(e))}}}spreadProperty(e){return{type:`SpreadProperty`,expression:e,evaluate(e){return this.expression.evaluate(e)},getIds(e){return this.expression.getIds(e)}}}spreadElement(e){return{type:`SpreadElement`,expression:e,evaluate(e){return this.expression.evaluate(e)},getIds(e){return this.expression.getIds(e)}}}};
39
39
  /*
40
40
  * @license
41
41
  * Portions Copyright (c) 2013, the Dart project authors.
42
42
  */
43
- let Mt=new Set([`==`,`!=`,`<=`,`>=`,`||`,`&&`,`??`,`?.`]),Nt=new Set([`===`,`!==`]),G=function(e){return e[e.STRING=1]=`STRING`,e[e.IDENTIFIER=2]=`IDENTIFIER`,e[e.DOT=3]=`DOT`,e[e.COMMA=4]=`COMMA`,e[e.COLON=5]=`COLON`,e[e.INTEGER=6]=`INTEGER`,e[e.DECIMAL=7]=`DECIMAL`,e[e.OPERATOR=8]=`OPERATOR`,e[e.GROUPER=9]=`GROUPER`,e[e.KEYWORD=10]=`KEYWORD`,e[e.ARROW=11]=`ARROW`,e[e.OPTIONAL_DOT=12]=`OPTIONAL_DOT`,e[e.SPREAD=13]=`SPREAD`,e}({}),K=(e,t,n=0)=>({kind:e,value:t,precedence:n}),Pt=e=>e===9||e===10||e===13||e===32,Ft=e=>{if(e===95||e===36)return!0;let t=e&-33;return 65<=t&&t<=90},It=e=>Ft(e)||q(e),Lt=e=>wt.has(e),Rt=e=>e===34||e===39,q=e=>48<=e&&e<=57,zt=e=>e===43||e===45||e===42||e===47||e===33||e===38||e===37||e===60||e===61||e===62||e===63||e===94||e===124,Bt=e=>e===40||e===41||e===91||e===93||e===123||e===125,Vt=e=>e.replace(/\\(.)/g,(e,t)=>{switch(t){case`n`:return`
44
- `;case`r`:return`\r`;case`t`:return` `;case`b`:return`\b`;case`f`:return`\f`;default:return t}});var Ht=class{_input;_index=-1;_tokenStart=0;_next;constructor(e){this._input=e,this._advance()}nextToken(){for(;Pt(this._next??-1);)this._advance(!0);if(Rt(this._next??-1))return this._tokenizeString();if(Ft(this._next??-1))return this._tokenizeIdentOrKeyword();if(q(this._next??-1))return this._tokenizeNumber();if(this._next===46)return this._tokenizeDot();if(this._next===44)return this._tokenizeComma();if(this._next===58)return this._tokenizeColon();if(zt(this._next??-1))return this._tokenizeOperator();if(Bt(this._next??-1))return this._tokenizeGrouper();if(this._advance(),this._next!==void 0)throw Error(`Expected end of input, got ${this._next}`)}_advance(e){this._index++,this._index<this._input.length?(this._next=this._input.charCodeAt(this._index),e===!0&&(this._tokenStart=this._index)):this._next=void 0}_getValue(e=0){let t=this._input.substring(this._tokenStart,this._index+e);return e===0&&this._clearValue(),t}_clearValue(){this._tokenStart=this._index}_tokenizeString(){let e=this._next;for(this._advance(!0);this._next!==e;){if(this._next===void 0||this._next===92&&(this._advance(),this._next===void 0))throw Error(`unterminated string`);this._advance()}let t=K(G.STRING,Vt(this._getValue()));return this._advance(),t}_tokenizeIdentOrKeyword(){do this._advance();while(It(this._next??-1));let e=this._getValue();return K(Lt(e)?G.KEYWORD:Tt.has(e)?G.OPERATOR:G.IDENTIFIER,e,Ot[e]??0)}_tokenizeNumber(){do this._advance();while(q(this._next??-1));return this._next===46?this._tokenizeDot():K(G.INTEGER,this._getValue())}_tokenizeDot(){if(this._advance(),q(this._next??-1))return this._tokenizeFraction();if(this._next===46){if(this._advance(),this._next===46)return this._advance(),this._clearValue(),K(G.SPREAD,`...`);throw Error(`Unexpected token ..`)}return this._clearValue(),K(G.DOT,`.`,13)}_tokenizeComma(){return this._advance(!0),K(G.COMMA,`,`)}_tokenizeColon(){return this._advance(!0),K(G.COLON,`:`)}_tokenizeFraction(){do this._advance();while(q(this._next??-1));return K(G.DECIMAL,this._getValue())}_tokenizeOperator(){this._advance();let e=this._getValue(2);if(Nt.has(e))this._advance(),this._advance();else{if(e=this._getValue(1),e===`=>`)return this._advance(),K(G.ARROW,e);Mt.has(e)&&this._advance()}return e=this._getValue(),e===`?.`?K(G.OPTIONAL_DOT,e,13):K(G.OPERATOR,e,Ot[e])}_tokenizeGrouper(){let e=String.fromCharCode(this._next??0),t=K(G.GROUPER,e,Ot[e]);return this._advance(!0),t}};let Ut=(e,t)=>new Wt(e,t).parse();var Wt=class{_kind;_tokenizer;_ast;_token;_value;constructor(e,t){this._tokenizer=new Ht(e),this._ast=t}parse(){this._advance();let e=this._parseExpression();if(this._token)throw Error(`Unexpected token: ${this._token.value}`);return e}_advance(e,t){if(!this._matches(e,t))throw Error(`Expected kind ${e} (${t}), was ${this._token?.kind} (${this._token?.value})`);let n=this._tokenizer.nextToken();this._token=n,this._kind=n?.kind,this._value=n?.value}_matches(e,t){return!(e&&this._kind!==e||t&&this._value!==t)}_parseExpression(){if(!this._token)return this._ast.empty();let e=this._parseUnary();return e===void 0?void 0:this._parsePrecedence(e,0)}_parsePrecedence(e,t){if(e===void 0)throw Error(`Expected left to be defined.`);for(;this._token;)if(this._matches(G.GROUPER,`(`)){let t=this._parseArguments();e=this._ast.invoke(e,void 0,t)}else if(this._matches(G.GROUPER,`[`)){let t=this._parseIndex();e=this._ast.index(e,t)}else if(this._matches(G.DOT)||this._matches(G.OPTIONAL_DOT)){let t=this._kind===G.OPTIONAL_DOT;if(this._advance(),t&&this._matches(G.GROUPER,`[`)){let t=this._parseIndex();e=this._ast.index(e,t,!0)}else if(t&&this._matches(G.GROUPER,`(`)){let t=this._parseArguments();e=this._ast.invoke(e,void 0,t,!0)}else{let n=this._parseUnary();e=this._makeInvokeOrGetter(e,n,t)}}else if(this._matches(G.KEYWORD))break;else if(this._matches(G.OPERATOR)&&this._token.precedence>=t)e=this._value===`?`?this._parseTernary(e):this._parseBinary(e,this._token);else break;return e}_makeInvokeOrGetter(e,t,n){if(t===void 0)throw Error(`expected identifier`);if(t.type===`ID`)return this._ast.getter(e,t.value,n);if(t.type===`Invoke`&&t.receiver.type===`ID`){let r=t.receiver;return this._ast.invoke(e,r.value,t.arguments,n)}else throw Error(`expected identifier: ${t}`)}_parseBinary(e,t){if(!Dt.has(t.value))throw Error(`unknown operator: ${t.value}`);this._advance();let n=this._parseUnary();for(;(this._kind===G.OPERATOR||this._kind===G.DOT||this._kind===G.GROUPER)&&this._token&&(this._token.precedence??0)>t.precedence;)n=this._parsePrecedence(n,this._token?.precedence??0);if(n===void 0)throw Error(`Expected expression after ${t.value}`);return this._ast.binary(e,t.value,n)}_parseUnary(){if(this._matches(G.KEYWORD,`typeof`)){this._advance();let e=this._parsePrecedence(this._parsePrimary(),13);return this._ast.unary(`typeof`,e)}if(this._matches(G.OPERATOR)){let e=this._value;if(this._advance(),e===`+`||e===`-`){if(this._matches(G.INTEGER))return this._parseInteger(e);if(this._matches(G.DECIMAL))return this._parseDecimal(e)}if(!e||!Et.has(e))throw Error(`unexpected token: ${e}`);let t=this._parsePrecedence(this._parsePrimary(),13);return this._ast.unary(e,t)}return this._parsePrimary()}_parseTernary(e){this._advance(G.OPERATOR,`?`);let t=this._parseExpression();this._advance(G.COLON);let n=this._parseExpression();return this._ast.ternary(e,t,n)}_parsePrimary(){switch(this._kind){case G.KEYWORD:{let e=this._value??``;if(e===`this`)return this._advance(),this._ast.id(e);throw wt.has(e)?Error(`unexpected keyword: ${e}`):Error(`unrecognized keyword: ${e}`)}case G.IDENTIFIER:return this._parseInvokeOrIdentifier();case G.STRING:return this._parseString();case G.INTEGER:return this._parseInteger();case G.DECIMAL:return this._parseDecimal();case G.GROUPER:return this._value===`(`?this._parseParenOrFunction():this._value===`{`?this._parseMap():this._value===`[`?this._parseList():void 0;case G.COLON:throw Error(`unexpected token ":"`);default:return}}_parseList(){let e=[];do{if(this._advance(),this._matches(G.GROUPER,`]`))break;if(this._matches(G.SPREAD)){this._advance();let t=this._parseExpression();t&&e.push(this._ast.spreadElement(t))}else e.push(this._parseExpression())}while(this._matches(G.COMMA));return this._advance(G.GROUPER,`]`),this._ast.list(e)}_parseMap(){let e=[];do{if(this._advance(),this._matches(G.GROUPER,`}`))break;if(this._matches(G.SPREAD)){this._advance();let t=this._parseExpression();t&&e.push(this._ast.spreadProperty(t))}else{let t=this._value??``;if((this._matches(G.STRING)||this._matches(G.IDENTIFIER))&&this._advance(),this._matches(G.COLON)){this._advance(G.COLON);let n=this._parseExpression();n&&e.push(this._ast.property(t,n))}else e.push(this._ast.property(t,this._ast.id(t)))}}while(this._matches(G.COMMA));return this._advance(G.GROUPER,`}`),this._ast.map(e)}_parseInvokeOrIdentifier(){let e=this._value;if(e===`true`)return this._advance(),this._ast.literal(!0);if(e===`false`)return this._advance(),this._ast.literal(!1);if(e===`null`)return this._advance(),this._ast.literal(null);if(e===`undefined`)return this._advance(),this._ast.literal(void 0);let t=this._parseIdentifier(),n=this._parseArguments();return n?this._ast.invoke(t,void 0,n):t}_parseIdentifier(){if(!this._matches(G.IDENTIFIER))throw Error(`expected identifier: ${this._value}`);let e=this._value;return this._advance(),this._ast.id(e??``)}_parseArguments(){if(!this._matches(G.GROUPER,`(`))return;let e=[];do{if(this._advance(),this._matches(G.GROUPER,`)`))break;if(this._matches(G.SPREAD)){this._advance();let t=this._parseExpression();t&&e.push(this._ast.spreadElement(t))}else{let t=this._parseExpression();e.push(t)}}while(this._matches(G.COMMA));return this._advance(G.GROUPER,`)`),e}_parseIndex(){this._advance();let e=this._parseExpression();return this._advance(G.GROUPER,`]`),e}_parseParenOrFunction(){let e=this._parseArguments();if(this._matches(G.ARROW)){this._advance();let t=this._parseExpression(),n=e?.map(e=>e.value)??[];return this._ast.arrowFunction(n,t)}else return this._ast.paren(e?.[0])}_parseString(){let e=this._ast.literal(this._value??``);return this._advance(),e}_parseInteger(e=``){let t=this._ast.literal(parseInt(`${e}${this._value}`,10));return this._advance(),t}_parseDecimal(e=``){let t=this._ast.literal(parseFloat(`${e}${this._value}`));return this._advance(),t}};let J=Symbol(`__computed__`);function Gt(e){return typeof e==`object`&&!!e&&J in e&&e[J]===!0}let Kt=new jt,qt=`__is_proxy__`;function Jt(e){return e instanceof nn||e[qt]===!0}let Y=new WeakMap;function X(e){return typeof e==`object`&&!!e}function Z(e){return X(e)?Y.get(e):void 0}function Yt(e){return e.subscribers.size===0&&e.holders.size===0}function Xt(e,t){if(!t.has(e)){t.add(e);for(let n of Array.from(e.holders))Yt(n)?e.holders.delete(n):Xt(n,t);for(let t of Array.from(e.subscribers))t()}}function Zt(e){Xt(e,new Set)}function Qt(e,t){Z(e)?.subscribers.add(t)}function $t(e,t){Z(e)?.subscribers.delete(t)}function en(e,t){let n=e?._store;if(n?.has(t))return n.get(t);if(n?.has(`$parent`))return en(n.get(`$parent`),t)}function Q(e,t){let n=e?._store;return n?.has(t)?e:n?.has(`$parent`)?Q(n.get(`$parent`),t):null}function tn(e,t,n){let r=Q(e,t);r?r._store.set(t,n):e._store.set(t,n)}var nn=class e{evalkeys=[`$elem`,`$event`];expressionCache=new Map;observers=new Map;keyHandlers=new Map;_store=new Map;_lock=Promise.resolve();_pending=new Map;_executing=new Set;_dirty=new Set;_children=new Set;_mutationCallbacks=new Map;_disposed=!1;_computedDepth=0;constructor(e){for(let[t,n]of Object.entries(e||{}))this.set(t,n)}wrapObject(e){if(e==null||Jt(e)||Object.isFrozen(e)||Object.isSealed(e))return e;let t=Object.getPrototypeOf(e);if(!(t===Object.prototype||t===null)&&!Array.isArray(e))return e;let n=Y.get(e)??{subscribers:new Set,holders:new Set};Y.set(e,n);let r=()=>Zt(n),i=new Proxy(e,{deleteProperty:(e,t)=>typeof t==`string`&&t in e?(delete e[t],r(),!0):!1,set:(e,t,i,a)=>{if(Reflect.get(e,t,a)===i)return!0;X(i)&&(i=this.wrapObject(i),Z(i)?.holders.add(n));let o=Reflect.set(e,t,i,a);return r(),o},get:(e,t,r)=>{if(t===qt)return!0;let i=Reflect.get(e,t,r);if(!X(i))return i;let a=this.wrapObject(i);return a!==i&&Reflect.set(e,t,a,r),Z(a)?.holders.add(n),a}});return Y.set(i,n),i}watch(e,t){let n=Q(this,e);if(!n)throw Error(`Cannot watch key "${e}" as it does not exist in the store.`);n.observers.has(e)||n.observers.set(e,new Set),Array.from(n.observers.get(e)||[]).some(e=>e.observer===t)||n.observers.get(e)?.add({observer:t,store:this})}addKeyHandler(e,t){this.keyHandlers.has(e)||this.keyHandlers.set(e,new Set),this.keyHandlers.get(e)?.add(t)}tagObserversForComputed(e,t){for(let n of this.observers.values())for(let r of n)r.observer===e&&r.store===this&&(r.computedKey=t);let n=this._store.get(`$parent`);for(;n;){for(let r of n.observers.values())for(let n of r)n.observer===e&&n.store===this&&(n.computedKey=t);n=n._store.get(`$parent`)}}markDependentComputedsDirty(e){let t=Q(this,e)?.observers.get(e);if(t){for(let e of t)if(e.computedKey){let t=e.store._store.get(e.computedKey);Gt(t)&&!t.dirty&&(t.dirty=!0,e.store.markDependentComputedsDirty(e.computedKey))}}}runObservers(e){return e.filter(e=>!e.store._disposed).map(e=>e.observer.call(e.store.proxify(e.observer)))}async notify(e,t=10){let n=Q(this,e),r=Array.from(n?.observers.get(e)||[]);if(this._executing.has(e)){this._dirty.add(e);return}let i=this._pending.get(e);if(i){for(let e of r)i.entries.includes(e)||i.entries.push(e);return i.done}let a=new Promise(i=>{setTimeout(async()=>{this._pending.delete(e);try{this._executing.add(e);let t=this.runObservers(r);this._dirty.delete(e),await Promise.all(t)}finally{this._executing.delete(e),this._dirty.delete(e)&&this.notify(e,t)}let a=n?.observers.get(e);if(a)for(let e of r){let t=e.store._store.has(`$parent`),n=e.store._store.get(`$rootNode`);t&&n&&!n.isConnected&&!n.parentNode&&a.delete(e)}i()},t)});return this._pending.set(e,{done:a,entries:r}),a}get(e,t){t&&this.watch(e,t);let n=en(this,e);if(Gt(n)){if(n.dirty){this._computedDepth++;try{let t=this.proxify(n.effectFn);n.value=n.fn.call(t,t),n.dirty=!1,n.effectFn&&this.tagObserversForComputed(n.effectFn,e),this.markDependentComputedsDirty(e)}finally{this._computedDepth--}}return n.value}return n}setupComputed(e,t){let n=this,r={[J]:!0,fn:t,dirty:!0};this._store.set(e,r);let i=function(){n._computedDepth++;try{let i=t.call(this,this);if(r.value!==i){r.value=i;let t=Q(n,e),a=Array.from(t?.observers.get(e)||[]);for(let e of a)e.observer.call(e.store.proxify(e.observer))}r.dirty=!1}finally{n._computedDepth--}};r.effectFn=i,this.effect(i,{directive:`computed`,id:e}),this.tagObserversForComputed(i,e)}mutationCallback(e){let t=this._mutationCallbacks.get(e);if(t)return t;let n=()=>{this.markDependentComputedsDirty(e),this.notify(e)};return this._mutationCallbacks.set(e,n),n}async set(e,t,n){if(Gt(t)){this.setupComputed(e,t.fn);return}if(this._store.has(e)&&t===this._store.get(e))return;let r=en(this,e);if(X(t)&&(t=this.wrapObject(t)),Z(t)||X(r)){let n=this.mutationCallback(e);$t(r,n),Qt(t,n)}if(n?this._store.set(e,t):tn(this,e,t),!n){for(let[n,r]of this.keyHandlers.entries())if(n.test(e))for(let n of r)await Promise.resolve(n.call(this.$,e,t))}this.markDependentComputedsDirty(e),await this.notify(e)}async del(e){await this.set(e,null),this._store.delete(e),this.observers.delete(e),this._mutationCallbacks.delete(e)}disposeSubtree(e){if(!e.has(this)){e.add(this),this._disposed=!0;for(let t of this._children)t.disposeSubtree(e);this._children.clear();for(let[e,t]of this._mutationCallbacks)$t(en(this,e),t);this._mutationCallbacks.clear();for(let e of this.observers.values())e.clear();this.observers.clear()}}dispose(){this._store.get(`$parent`)?._children.delete(this);let e=new Set;this.disposeSubtree(e);let t=this._store.get(`$parent`);for(;t;){for(let n of t.observers.values())for(let t of n)e.has(t.store)&&n.delete(t);t=t._store.get(`$parent`)}}keys(){return Array.from(this._store.keys())}has(e){return this._store.has(e)}getObserverStats(){let e={},t=0;for(let[n,r]of this.observers)e[n]=r.size,t+=r.size;return{totalKeys:this.observers.size,totalObservers:t,byKey:e}}effect(e,t){return e.call(this.proxify(e))}$computed(e){return{[J]:!0,fn:e,dirty:!0}}proxify(t){let n=Array.from(this._store.entries()).map(([e])=>e),r=Object.fromEntries(n.map(e=>[e,null])),i=(e,t,n)=>typeof e==`function`&&t!==`constructor`?(...t)=>e.call(n,...t):e;return new Proxy(r,{has:(e,t)=>typeof t==`string`&&(Q(this,t)||Reflect.has(this,t))?!0:Reflect.has(r,t),get:(n,r,a)=>{if(typeof r==`string`){if(Q(this,r)){let n=this.get(r,t);return t&&n instanceof e?n.proxify(t):i(n,r,a)}if(t&&r!==qt&&!Reflect.has(this,r))return this.set(r,void 0),this.get(r,t)}return r===`$`?this.proxify(t):i(Reflect.get(this,r,a),r,a)},set:(e,t,n,r)=>(typeof t!=`string`||t in this?Reflect.set(this,t,n,r):(this._computedDepth>0&&console.warn(`[mancha] Computed wrote to '${t}'. Computeds should be pure; use $effect for side effects.`),this.set(t,n)),!0)})}get $(){return this.proxify()}makeEvalFunction(e){return(t,n)=>{let r=Ut(e,Kt),i=new Proxy(n,{has(e,n){return n in e||n in t||n in globalThis},get(e,n){if(typeof n==`string`)return n in e?e[n]:n in t?t[n]:n in globalThis?globalThis[n]:t[n]},set(e,n,r){return typeof n==`string`?n in e?(e[n]=r,!0):(t[n]=r,!0):!1}});return r?.evaluate(i)}}cachedExpressionFunction(e){e=e.trim(),this.expressionCache.has(e)||this.expressionCache.set(e,this.makeEvalFunction(e));let t=this.expressionCache.get(e);if(!t)throw Error(`Failed to retrieve cached expression: ${e}`);return t}eval(e,t={}){let n=this.$;if(this._store.has(e))return n[e];{let r=this.cachedExpressionFunction(e);try{return r(n,t)}catch(t){return console.error(`Failed to evaluate expression: ${e}`,t),null}}}$resolve(e,t){let n={$pending:!0,$result:null,$error:null};return Promise.resolve().then(()=>e(t)).then(e=>{n.$result=e}).catch(e=>{n.$error=e instanceof Error?e:Error(String(e))}).finally(()=>{n.$pending=!1}),n}};let rn=`data-m-cloak`,an=`mancha-runtime-cloak`,on=k`[data-m-cloak]{display:none!important}`;var sn=class e extends nn{_debugLevel=`off`;dirpath=``;_perfData={lifecycle:{},effects:new Map};static DEBUG_LEVELS=[`off`,`lifecycle`,`effects`,`verbose`];_skipNodes=new Set;_customElements=new Map;_pendingValueRetries=[];cloakElement(e){let t=e.ownerDocument??globalThis.document;if(t?.head&&!t.getElementById(an)){let e=t.createElement(`style`);e.id=an,_(e,on),t.head.appendChild(e)}F(e,rn,``)}uncloakElement(e){R(e,rn)}debug(e){return typeof e==`boolean`?this._debugLevel=e?`lifecycle`:`off`:this._debugLevel=e,this}get debugging(){return this._debugLevel!==`off`}shouldLog(t){return e.DEBUG_LEVELS.indexOf(this._debugLevel)>=e.DEBUG_LEVELS.indexOf(t)}clearPerformanceReport(){this._perfData={lifecycle:{},effects:new Map}}getNodePath(e){let t=[],n=e;for(;n?.tagName;){let e=n.tagName.toLowerCase(),r=n.parentElement;if(r){let i=Array.from(r.children).filter(t=>t.tagName.toLowerCase()===e);if(i.length>1){let r=i.indexOf(n)+1;t.unshift(`${e}:nth-child(${r})`)}else t.unshift(e)}else t.unshift(e);n=r}return t.join(`>`)}buildObserverId(e){let t=e?.directive??`unknown`,n=dt(e?.expression??``,32),r=e?.element,i=e?.id??(r?r.dataset?.perfid??r.id??r.dataset?.testid??this.getNodePath(r):`unknown`);return n?`${t}:${i}:${n}`:`${t}:${i}`}recordObserverExecution(e,t){let n=this.buildObserverId(e),r=this._perfData.effects.get(n)??{count:0,totalTime:0};r.count++,r.totalTime+=t,this._perfData.effects.set(n,r)}getPerformanceReport(){let e=Array.from(this._perfData.effects.entries()),t={};for(let[n,r]of e){let e=n.split(`:`)[0];t[e]||(t[e]={count:0,totalTime:0}),t[e].count+=r.count,t[e].totalTime+=r.totalTime}let n=e.map(([e,t])=>({id:e,executionCount:t.count,totalTime:t.totalTime,avgTime:t.count>0?t.totalTime/t.count:0})).sort((e,t)=>t.totalTime-e.totalTime).slice(0,10);return{lifecycle:this._perfData.lifecycle,effects:{total:e.length,byDirective:t,slowest:n},observers:this.getObserverStats()}}effect(e,t){let n=this;function r(){if(!n.shouldLog(`lifecycle`))return e.call(this);let r=performance.now(),i=e.call(this),a=performance.now()-r;return t&&n.recordObserverExecution(t,a),a>16&&console.warn(`[mancha] Slow observer (${a.toFixed(1)}ms):`,n.buildObserverId(t)),n.shouldLog(`effects`)&&console.debug(`[mancha] Observer (${a.toFixed(2)}ms):`,n.buildObserverId(t)),i}return super.effect(r,t)}async fetchRemote(e,t){return fetch(e,{cache:t?.cache??`default`}).then(e=>e.text())}async fetchLocal(e,t){return this.fetchRemote(e,t)}async preprocessString(e,t){this.log(`Preprocessing string content with params:
45
- `,t);let n=this.parseHTML(e,t);return await this.preprocessNode(n,t),n}async preprocessRemote(e,t){let n={};t?.cache&&(n.cache=t.cache);let r=await fetch(e,n).then(e=>e.text());return this.preprocessString(r,{...t,dirpath:ft(e),rootDocument:t?.rootDocument??!e.endsWith(`.tpl.html`)})}async preprocessLocal(e,t){let n=await this.fetchLocal(e,t);return this.preprocessString(n,{...t,dirpath:ft(e),rootDocument:t?.rootDocument??!e.endsWith(`.tpl.html`)})}subrenderer(){let e=new this.constructor().debug(this.debugging);return e._store.set(`$parent`,this),this._disposed||this._children.add(e),e._store.set(`$rootRenderer`,this.get(`$rootRenderer`)??this),e._customElements=this._customElements,e}log(...e){this.shouldLog(`verbose`)&&console.debug(...e)}async preprocessNode(e,t){let n=this.shouldLog(`lifecycle`)?performance.now():0;t={dirpath:this.dirpath,maxdepth:10,...t};let r=new mt(A(e,this._skipNodes)).map(async e=>{this.log(`Preprocessing node:
46
- `,U(e,128)),await W.resolveIncludes.call(this,e,t),await W.rebaseRelativePaths.call(this,e,t),await W.registerCustomElements.call(this,e,t),await W.resolveCustomElements.call(this,e,t)});return await Promise.all(r.generator()),n&&(this._perfData.lifecycle.preprocessTime=(this._perfData.lifecycle.preprocessTime??0)+(performance.now()-n)),e}async renderNode(e,t){let n=this.shouldLog(`lifecycle`)?performance.now():0;for(let n of A(e,this._skipNodes))this.log(`Rendering node:
47
- `,U(n,128)),await W.resolveForAttribute.call(this,n,t),await W.resolveRenderAttribute.call(this,n,t),await W.resolveDataAttribute.call(this,n,t),await W.resolveTextAttributes.call(this,n,t),await W.resolveHtmlAttribute.call(this,n,t),await W.resolveIfAttribute.call(this,n,t),await W.resolveShowAttribute.call(this,n,t),await W.resolveClassAttribute.call(this,n,t),await W.resolveBindAttribute.call(this,n,t),await W.resolveEventAttributes.call(this,n,t),await W.resolveTextNodeExpressions.call(this,n,t),await W.resolveCustomAttribute.call(this,n,t),await W.resolveCustomProperty.call(this,n,t),await W.stripTypes.call(this,n,t);for(let e of this._pendingValueRetries.splice(0))e();return n&&(this._perfData.lifecycle.renderTime=(this._perfData.lifecycle.renderTime??0)+(performance.now()-n)),e}async mount(e,t){let n=this.shouldLog(`lifecycle`)?performance.now():0;n&&this.clearPerformanceReport(),t={...t,rootNode:e},L(e,`renderer`,this),this._store.set(`$rootNode`,e),this.has(`$rootRenderer`)||this._store.set(`$rootRenderer`,this),this.get(`$rootRenderer`)===this&&await Ct(this),await this.preprocessNode(e,t),await this.renderNode(e,t),Qe(e),n&&(this._perfData.lifecycle.mountTime=performance.now()-n)}};function cn(){return tt([k`*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}`,k`html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}`,k`body{margin:0;line-height:inherit}`,k`hr{height:0;color:inherit;border-top-width:1px}`,k`abbr:where([title]){text-decoration:underline dotted}`,k`b,strong{font-weight:bolder}`,k`code,kbd,samp,pre{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:1em}`,k`small{font-size:80%}`,k`sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}`,k`sub{bottom:-0.25em}`,k`sup{top:-0.5em}`,k`button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}`,k`button,select{text-transform:none}`,k`button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}`,k`:-moz-focusring{outline:auto}`,k`:-moz-ui-invalid{box-shadow:none}`,k`progress{vertical-align:baseline}`,k`::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}`,k`[type='search']{-webkit-appearance:textfield;outline-offset:-2px}`,k`::-webkit-search-decoration{-webkit-appearance:none}`,k`::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}`,k`summary{display:list-item}`,k`blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}`,k`fieldset{margin:0;padding:0}`,k`legend{padding:0}`,k`ol,ul,menu{list-style:none;margin:0;padding:0}`,k`textarea{resize:vertical}`,k`::placeholder{opacity:1;color:#9ca3af}`,k`button,[role="button"]{cursor:pointer}`,k`:disabled{cursor:default;pointer-events:none;opacity:0.75}`,k`img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}`,k`img,video{max-width:100%;height:auto}`,k`[hidden]{display:none}`,k`dialog{padding:0}`,k`dialog::backdrop{background:rgba(0,0,0,0.5)}`])}function ln(){return tt([k`html{`,k`max-width: 70ch;`,k`padding: 2em 1em;`,k`margin: auto;`,k`line-height: 1.75;`,k`font-size: 1.25em;`,k`font-family: sans-serif;`,k`}`,k`h1,h2,h3,h4,h5,h6{`,k`margin: 1em 0 0.5em;`,k`}`,k`p,ul,ol{`,k`margin-bottom: 1em;`,k`color: #1d1d1d;`,k`}`])}var un=class extends sn{impl=`browser`;dirpath=ft(globalThis.location?.href??`http://localhost/`);parseHTML(e,t={rootDocument:!1}){if(t.rootDocument)return new DOMParser().parseFromString(e,`text/html`);{let t=document.createRange();return t.selectNodeContents(document.body),t.createContextualFragment(e)}}serializeHTML(e){return new XMLSerializer().serializeToString(e).replace(/\s?xmlns="[^"]+"/gm,``)}preprocessLocal(e,t){return this.preprocessRemote(e,t)}createElement(e,t){return(t||document).createElement(e)}createComment(e,t){return(t||document).createComment(e)}textContent(e,t){e.textContent=t}};new un;function dn(e){for(let t of e){t=t.trim();let e=document.createElement(`style`);switch(t){case`minimal`:_(e,ln());break;case`basic`:case`custom`:continue;case`utils`:{_(e,cn()),e.setAttribute(`data-mancha`,`basic`),globalThis.document.head.appendChild(e);let t=document.createElement(`style`);t.textContent=Me(),t.setAttribute(`data-mancha`,`utils`),globalThis.document.head.appendChild(t),Xe(document);continue}default:console.error(`Unknown style name: "${t}"`);continue}globalThis.document.head.appendChild(e)}}let fn=`mancha-cloak`;function pn(e,t){let n=`${e.join(`, `)} { opacity: 0 !important; ${t>0?`transition: opacity ${t}ms ease-in-out !important;`:``} }`,r=document.getElementById(fn);r||(r=document.createElement(`style`),r.id=fn,document.head.appendChild(r)),r.textContent=n}function mn(e){let t=!1;return async()=>{if(t)return;t=!0;let n=document.getElementById(fn);if(n){if(e!==!1){let t=n.sheet;t&&t.cssRules.length>0&&t.cssRules[0].style.setProperty(`opacity`,`1`,`important`),await new Promise(t=>setTimeout(t,e))}typeof globalThis.requestAnimationFrame==`function`&&(await new Promise(e=>globalThis.requestAnimationFrame(e)),await new Promise(e=>globalThis.requestAnimationFrame(e))),n.remove()}}}async function hn(e={}){let t;document.documentElement.classList.add(`mancha-loading`);let n=e.cloak?e.cloak===!0?{}:e.cloak:void 0;if(n){let r=e.target?Array.isArray(e.target)?e.target:[e.target]:[`body`],i=n.selector&&(Array.isArray(n.selector)||typeof n.selector==`string`)?Array.isArray(n.selector)?n.selector:[n.selector]:r,a=n.duration??0;pn(i,a),t=mn(a>0?a:!1)}else t=mn(!1);document.readyState===`loading`&&await new Promise(e=>{window.addEventListener(`DOMContentLoaded`,()=>e(),{once:!0})});let r=e.renderer??new un;if(e.css&&e.css.length>0&&dn(e.css),e.debug&&r.debug(!0),e.state)for(let[t,n]of Object.entries(e.state))await r.set(t,n);try{if(e.callback)await e.callback(r);else if(e.target){let t=Array.isArray(e.target)?e.target:[e.target];for(let n of t){let t=globalThis.document.querySelector(n);t?await r.mount(t,{cache:e.cache}):console.error(`Target element not found: "${n}"`)}}}finally{document.documentElement.classList.remove(`mancha-loading`),t&&await t()}return r}let $=globalThis.document?.currentScript,gn=new un;if(gn.initMancha=hn,globalThis.Mancha=gn,$?.hasAttribute(`init`)){let e=$.hasAttribute(`debug`),t=$.getAttribute(`cache`)||void 0,n=$.getAttribute(`target`)?.split(`+`).map(e=>e.trim())||[`body`],r=$.getAttribute(`css`)?.split(`+`).map(e=>e.trim()).filter(e=>e!==``),i,a=$.getAttribute(`cloak`);if(a===`false`)i=void 0;else if(a&&!Number.isNaN(parseInt(a,10))){let e=parseInt(a,10);i=e>0?{duration:e}:!0}else i=!0;hn({renderer:gn,css:r,target:n,debug:e,cache:t,cloak:i})}else if($?.hasAttribute(`css`)){let e=$.getAttribute(`css`)?.split(`+`).map(e=>e.trim()).filter(e=>e!==``);hn({css:e})}return gn})();
43
+ let Nt=new Set([`==`,`!=`,`<=`,`>=`,`||`,`&&`,`??`,`?.`]),Pt=new Set([`===`,`!==`]),W=function(e){return e[e.STRING=1]=`STRING`,e[e.IDENTIFIER=2]=`IDENTIFIER`,e[e.DOT=3]=`DOT`,e[e.COMMA=4]=`COMMA`,e[e.COLON=5]=`COLON`,e[e.INTEGER=6]=`INTEGER`,e[e.DECIMAL=7]=`DECIMAL`,e[e.OPERATOR=8]=`OPERATOR`,e[e.GROUPER=9]=`GROUPER`,e[e.KEYWORD=10]=`KEYWORD`,e[e.ARROW=11]=`ARROW`,e[e.OPTIONAL_DOT=12]=`OPTIONAL_DOT`,e[e.SPREAD=13]=`SPREAD`,e}({}),G=(e,t,n=0)=>({kind:e,value:t,precedence:n}),Ft=e=>e===9||e===10||e===13||e===32,It=e=>{if(e===95||e===36)return!0;let t=e&-33;return 65<=t&&t<=90},Lt=e=>It(e)||K(e),Rt=e=>Tt.has(e),zt=e=>e===34||e===39,K=e=>48<=e&&e<=57,Bt=e=>e===43||e===45||e===42||e===47||e===33||e===38||e===37||e===60||e===61||e===62||e===63||e===94||e===124,Vt=e=>e===40||e===41||e===91||e===93||e===123||e===125,Ht=e=>e.replace(/\\(.)/g,(e,t)=>{switch(t){case`n`:return`
44
+ `;case`r`:return`\r`;case`t`:return` `;case`b`:return`\b`;case`f`:return`\f`;default:return t}});var Ut=class{_input;_index=-1;_tokenStart=0;_next;constructor(e){this._input=e,this._advance()}nextToken(){for(;Ft(this._next??-1);)this._advance(!0);if(zt(this._next??-1))return this._tokenizeString();if(It(this._next??-1))return this._tokenizeIdentOrKeyword();if(K(this._next??-1))return this._tokenizeNumber();if(this._next===46)return this._tokenizeDot();if(this._next===44)return this._tokenizeComma();if(this._next===58)return this._tokenizeColon();if(Bt(this._next??-1))return this._tokenizeOperator();if(Vt(this._next??-1))return this._tokenizeGrouper();if(this._advance(),this._next!==void 0)throw Error(`Expected end of input, got ${this._next}`)}_advance(e){this._index++,this._index<this._input.length?(this._next=this._input.charCodeAt(this._index),e===!0&&(this._tokenStart=this._index)):this._next=void 0}_getValue(e=0){let t=this._input.substring(this._tokenStart,this._index+e);return e===0&&this._clearValue(),t}_clearValue(){this._tokenStart=this._index}_tokenizeString(){let e=this._next;for(this._advance(!0);this._next!==e;){if(this._next===void 0||this._next===92&&(this._advance(),this._next===void 0))throw Error(`unterminated string`);this._advance()}let t=G(W.STRING,Ht(this._getValue()));return this._advance(),t}_tokenizeIdentOrKeyword(){do this._advance();while(Lt(this._next??-1));let e=this._getValue();return G(Rt(e)?W.KEYWORD:Et.has(e)?W.OPERATOR:W.IDENTIFIER,e,kt[e]??0)}_tokenizeNumber(){do this._advance();while(K(this._next??-1));return this._next===46?this._tokenizeDot():G(W.INTEGER,this._getValue())}_tokenizeDot(){if(this._advance(),K(this._next??-1))return this._tokenizeFraction();if(this._next===46){if(this._advance(),this._next===46)return this._advance(),this._clearValue(),G(W.SPREAD,`...`);throw Error(`Unexpected token ..`)}return this._clearValue(),G(W.DOT,`.`,13)}_tokenizeComma(){return this._advance(!0),G(W.COMMA,`,`)}_tokenizeColon(){return this._advance(!0),G(W.COLON,`:`)}_tokenizeFraction(){do this._advance();while(K(this._next??-1));return G(W.DECIMAL,this._getValue())}_tokenizeOperator(){this._advance();let e=this._getValue(2);if(Pt.has(e))this._advance(),this._advance();else{if(e=this._getValue(1),e===`=>`)return this._advance(),G(W.ARROW,e);Nt.has(e)&&this._advance()}return e=this._getValue(),e===`?.`?G(W.OPTIONAL_DOT,e,13):G(W.OPERATOR,e,kt[e])}_tokenizeGrouper(){let e=String.fromCharCode(this._next??0),t=G(W.GROUPER,e,kt[e]);return this._advance(!0),t}};let Wt=(e,t)=>new Gt(e,t).parse();var Gt=class{_kind;_tokenizer;_ast;_token;_value;constructor(e,t){this._tokenizer=new Ut(e),this._ast=t}parse(){this._advance();let e=this._parseExpression();if(this._token)throw Error(`Unexpected token: ${this._token.value}`);return e}_advance(e,t){if(!this._matches(e,t))throw Error(`Expected kind ${e} (${t}), was ${this._token?.kind} (${this._token?.value})`);let n=this._tokenizer.nextToken();this._token=n,this._kind=n?.kind,this._value=n?.value}_matches(e,t){return!(e&&this._kind!==e||t&&this._value!==t)}_parseExpression(){if(!this._token)return this._ast.empty();let e=this._parseUnary();return e===void 0?void 0:this._parsePrecedence(e,0)}_parsePrecedence(e,t){if(e===void 0)throw Error(`Expected left to be defined.`);for(;this._token;)if(this._matches(W.GROUPER,`(`)){let t=this._parseArguments();e=this._ast.invoke(e,void 0,t)}else if(this._matches(W.GROUPER,`[`)){let t=this._parseIndex();e=this._ast.index(e,t)}else if(this._matches(W.DOT)||this._matches(W.OPTIONAL_DOT)){let t=this._kind===W.OPTIONAL_DOT;if(this._advance(),t&&this._matches(W.GROUPER,`[`)){let t=this._parseIndex();e=this._ast.index(e,t,!0)}else if(t&&this._matches(W.GROUPER,`(`)){let t=this._parseArguments();e=this._ast.invoke(e,void 0,t,!0)}else{let n=this._parseUnary();e=this._makeInvokeOrGetter(e,n,t)}}else if(this._matches(W.KEYWORD))break;else if(this._matches(W.OPERATOR)&&this._token.precedence>=t)e=this._value===`?`?this._parseTernary(e):this._parseBinary(e,this._token);else break;return e}_makeInvokeOrGetter(e,t,n){if(t===void 0)throw Error(`expected identifier`);if(t.type===`ID`)return this._ast.getter(e,t.value,n);if(t.type===`Invoke`&&t.receiver.type===`ID`){let r=t.receiver;return this._ast.invoke(e,r.value,t.arguments,n)}else throw Error(`expected identifier: ${t}`)}_parseBinary(e,t){if(!Ot.has(t.value))throw Error(`unknown operator: ${t.value}`);this._advance();let n=this._parseUnary();for(;(this._kind===W.OPERATOR||this._kind===W.DOT||this._kind===W.GROUPER)&&this._token&&(this._token.precedence??0)>t.precedence;)n=this._parsePrecedence(n,this._token?.precedence??0);if(n===void 0)throw Error(`Expected expression after ${t.value}`);return this._ast.binary(e,t.value,n)}_parseUnary(){if(this._matches(W.KEYWORD,`typeof`)){this._advance();let e=this._parsePrecedence(this._parsePrimary(),13);return this._ast.unary(`typeof`,e)}if(this._matches(W.OPERATOR)){let e=this._value;if(this._advance(),e===`+`||e===`-`){if(this._matches(W.INTEGER))return this._parseInteger(e);if(this._matches(W.DECIMAL))return this._parseDecimal(e)}if(!e||!Dt.has(e))throw Error(`unexpected token: ${e}`);let t=this._parsePrecedence(this._parsePrimary(),13);return this._ast.unary(e,t)}return this._parsePrimary()}_parseTernary(e){this._advance(W.OPERATOR,`?`);let t=this._parseExpression();this._advance(W.COLON);let n=this._parseExpression();return this._ast.ternary(e,t,n)}_parsePrimary(){switch(this._kind){case W.KEYWORD:{let e=this._value??``;if(e===`this`)return this._advance(),this._ast.id(e);throw Tt.has(e)?Error(`unexpected keyword: ${e}`):Error(`unrecognized keyword: ${e}`)}case W.IDENTIFIER:return this._parseInvokeOrIdentifier();case W.STRING:return this._parseString();case W.INTEGER:return this._parseInteger();case W.DECIMAL:return this._parseDecimal();case W.GROUPER:return this._value===`(`?this._parseParenOrFunction():this._value===`{`?this._parseMap():this._value===`[`?this._parseList():void 0;case W.COLON:throw Error(`unexpected token ":"`);default:return}}_parseList(){let e=[];do{if(this._advance(),this._matches(W.GROUPER,`]`))break;if(this._matches(W.SPREAD)){this._advance();let t=this._parseExpression();t&&e.push(this._ast.spreadElement(t))}else e.push(this._parseExpression())}while(this._matches(W.COMMA));return this._advance(W.GROUPER,`]`),this._ast.list(e)}_parseMap(){let e=[];do{if(this._advance(),this._matches(W.GROUPER,`}`))break;if(this._matches(W.SPREAD)){this._advance();let t=this._parseExpression();t&&e.push(this._ast.spreadProperty(t))}else{let t=this._value??``;if((this._matches(W.STRING)||this._matches(W.IDENTIFIER))&&this._advance(),this._matches(W.COLON)){this._advance(W.COLON);let n=this._parseExpression();n&&e.push(this._ast.property(t,n))}else e.push(this._ast.property(t,this._ast.id(t)))}}while(this._matches(W.COMMA));return this._advance(W.GROUPER,`}`),this._ast.map(e)}_parseInvokeOrIdentifier(){let e=this._value;if(e===`true`)return this._advance(),this._ast.literal(!0);if(e===`false`)return this._advance(),this._ast.literal(!1);if(e===`null`)return this._advance(),this._ast.literal(null);if(e===`undefined`)return this._advance(),this._ast.literal(void 0);let t=this._parseIdentifier(),n=this._parseArguments();return n?this._ast.invoke(t,void 0,n):t}_parseIdentifier(){if(!this._matches(W.IDENTIFIER))throw Error(`expected identifier: ${this._value}`);let e=this._value;return this._advance(),this._ast.id(e??``)}_parseArguments(){if(!this._matches(W.GROUPER,`(`))return;let e=[];do{if(this._advance(),this._matches(W.GROUPER,`)`))break;if(this._matches(W.SPREAD)){this._advance();let t=this._parseExpression();t&&e.push(this._ast.spreadElement(t))}else{let t=this._parseExpression();e.push(t)}}while(this._matches(W.COMMA));return this._advance(W.GROUPER,`)`),e}_parseIndex(){this._advance();let e=this._parseExpression();return this._advance(W.GROUPER,`]`),e}_parseParenOrFunction(){let e=this._parseArguments();if(this._matches(W.ARROW)){this._advance();let t=this._parseExpression(),n=e?.map(e=>e.value)??[];return this._ast.arrowFunction(n,t)}else return this._ast.paren(e?.[0])}_parseString(){let e=this._ast.literal(this._value??``);return this._advance(),e}_parseInteger(e=``){let t=this._ast.literal(parseInt(`${e}${this._value}`,10));return this._advance(),t}_parseDecimal(e=``){let t=this._ast.literal(parseFloat(`${e}${this._value}`));return this._advance(),t}};let q=Symbol(`__computed__`);function Kt(e){return typeof e==`object`&&!!e&&q in e&&e[q]===!0}let qt=new Mt,Jt=`__is_proxy__`;function Yt(e){return e instanceof nn||e[Jt]===!0}let J=new WeakMap;function Y(e){return typeof e==`object`&&!!e}function X(e){return Y(e)?J.get(e):void 0}function Xt(e){return e.subscribers.size===0&&e.holders.size===0}function Zt(e,t){if(!t.has(e)){t.add(e);for(let n of Array.from(e.holders))Xt(n)?e.holders.delete(n):Zt(n,t);for(let t of Array.from(e.subscribers))t()}}function Qt(e){Zt(e,new Set)}function $t(e,t){X(e)?.subscribers.add(t)}function en(e,t){X(e)?.subscribers.delete(t)}function Z(e,t){let n=e?._store;if(n?.has(t))return n.get(t);if(n?.has(`$parent`))return Z(n.get(`$parent`),t)}function Q(e,t){let n=e?._store;return n?.has(t)?e:n?.has(`$parent`)?Q(n.get(`$parent`),t):null}function tn(e,t,n){let r=Q(e,t);r?r._store.set(t,n):e._store.set(t,n)}var nn=class e{evalkeys=[`$elem`,`$event`];expressionCache=new Map;observers=new Map;keyHandlers=new Map;_store=new Map;_lock=Promise.resolve();_pending=new Map;_executing=new Set;_dirty=new Set;_children=new Set;_mutationCallbacks=new Map;_disposed=!1;_computedDepth=0;constructor(e){for(let[t,n]of Object.entries(e||{}))this.set(t,n)}wrapObject(e){if(e==null||Yt(e)||Object.isFrozen(e)||Object.isSealed(e))return e;let t=Object.getPrototypeOf(e);if(!(t===Object.prototype||t===null)&&!Array.isArray(e))return e;let n=J.get(e)??{subscribers:new Set,holders:new Set};J.set(e,n);let r=()=>Qt(n),i=new Proxy(e,{deleteProperty:(e,t)=>typeof t==`string`&&t in e?(delete e[t],r(),!0):!1,set:(e,t,i,a)=>{if(Reflect.get(e,t,a)===i)return!0;Y(i)&&(i=this.wrapObject(i),X(i)?.holders.add(n));let o=Reflect.set(e,t,i,a);return r(),o},get:(e,t,r)=>{if(t===Jt)return!0;let i=Reflect.get(e,t,r);if(!Y(i))return i;let a=this.wrapObject(i);return a!==i&&Reflect.set(e,t,a,r),X(a)?.holders.add(n),a}});return J.set(i,n),i}watch(e,t){let n=Q(this,e);if(!n)throw Error(`Cannot watch key "${e}" as it does not exist in the store.`);n.observers.has(e)||n.observers.set(e,new Set),Array.from(n.observers.get(e)||[]).some(e=>e.observer===t)||n.observers.get(e)?.add({observer:t,store:this})}addKeyHandler(e,t){this.keyHandlers.has(e)||this.keyHandlers.set(e,new Set),this.keyHandlers.get(e)?.add(t)}tagObserversForComputed(e,t){for(let n of this.observers.values())for(let r of n)r.observer===e&&r.store===this&&(r.computedKey=t);let n=this._store.get(`$parent`);for(;n;){for(let r of n.observers.values())for(let n of r)n.observer===e&&n.store===this&&(n.computedKey=t);n=n._store.get(`$parent`)}}markDependentComputedsDirty(e){let t=Q(this,e)?.observers.get(e);if(t){for(let e of t)if(e.computedKey){let t=e.store._store.get(e.computedKey);Kt(t)&&!t.dirty&&(t.dirty=!0,e.store.markDependentComputedsDirty(e.computedKey))}}}runObservers(e){return e.filter(e=>!e.store._disposed).map(e=>e.observer.call(e.store.proxify(e.observer)))}async notify(e,t=10){let n=Q(this,e),r=Array.from(n?.observers.get(e)||[]);if(this._executing.has(e)){this._dirty.add(e);return}let i=this._pending.get(e);if(i){for(let e of r)i.entries.includes(e)||i.entries.push(e);return i.done}let a=new Promise(i=>{setTimeout(async()=>{this._pending.delete(e);try{this._executing.add(e);let t=this.runObservers(r);this._dirty.delete(e),await Promise.all(t)}finally{this._executing.delete(e),this._dirty.delete(e)&&this.notify(e,t)}let a=n?.observers.get(e);if(a)for(let e of r){let t=e.store._store.has(`$parent`),n=e.store._store.get(`$rootNode`);t&&n&&!n.isConnected&&!n.parentNode&&a.delete(e)}i()},t)});return this._pending.set(e,{done:a,entries:r}),a}get(e,t){t&&this.watch(e,t);let n=Z(this,e);if(Kt(n)){if(n.dirty){this._computedDepth++;try{let t=this.proxify(n.effectFn);n.value=n.fn.call(t,t),n.dirty=!1,n.effectFn&&this.tagObserversForComputed(n.effectFn,e),this.markDependentComputedsDirty(e)}finally{this._computedDepth--}}return n.value}return n}setupComputed(e,t){let n=this,r={[q]:!0,fn:t,dirty:!0};this._store.set(e,r);let i=function(){n._computedDepth++;try{let i=t.call(this,this);if(r.value!==i){r.value=i;let t=Q(n,e),a=Array.from(t?.observers.get(e)||[]);for(let e of a)e.observer.call(e.store.proxify(e.observer))}r.dirty=!1}finally{n._computedDepth--}};r.effectFn=i,this.effect(i,{directive:`computed`,id:e}),this.tagObserversForComputed(i,e)}mutationCallback(e){let t=this._mutationCallbacks.get(e);if(t)return t;let n=()=>{this.markDependentComputedsDirty(e),this.notify(e)};return this._mutationCallbacks.set(e,n),n}async set(e,t,n){if(Kt(t)){this.setupComputed(e,t.fn);return}if(this._store.has(e)&&t===this._store.get(e))return;let r=Z(this,e);if(Y(t)&&(t=this.wrapObject(t)),X(t)||Y(r)){let n=this.mutationCallback(e);en(r,n),$t(t,n)}if(n?this._store.set(e,t):tn(this,e,t),!n){for(let[n,r]of this.keyHandlers.entries())if(n.test(e))for(let n of r)await Promise.resolve(n.call(this.$,e,t))}this.markDependentComputedsDirty(e),await this.notify(e)}async del(e){await this.set(e,null),this._store.delete(e),this.observers.delete(e),this._mutationCallbacks.delete(e)}disposeSubtree(e){if(!e.has(this)){e.add(this),this._disposed=!0;for(let t of this._children)t.disposeSubtree(e);this._children.clear();for(let[e,t]of this._mutationCallbacks)en(Z(this,e),t);this._mutationCallbacks.clear();for(let e of this.observers.values())e.clear();this.observers.clear()}}dispose(){this._store.get(`$parent`)?._children.delete(this);let e=new Set;this.disposeSubtree(e);let t=this._store.get(`$parent`);for(;t;){for(let n of t.observers.values())for(let t of n)e.has(t.store)&&n.delete(t);t=t._store.get(`$parent`)}}keys(){return Array.from(this._store.keys())}has(e){return this._store.has(e)}getObserverStats(){let e={},t=0;for(let[n,r]of this.observers)e[n]=r.size,t+=r.size;return{totalKeys:this.observers.size,totalObservers:t,byKey:e}}effect(e,t){return e.call(this.proxify(e))}$computed(e){return{[q]:!0,fn:e,dirty:!0}}proxify(t){let n=Array.from(this._store.entries()).map(([e])=>e),r=Object.fromEntries(n.map(e=>[e,null])),i=(e,t,n)=>typeof e==`function`&&t!==`constructor`?(...t)=>e.call(n,...t):e;return new Proxy(r,{has:(e,t)=>typeof t==`string`&&(Q(this,t)||Reflect.has(this,t))?!0:Reflect.has(r,t),get:(n,r,a)=>{if(typeof r==`string`){if(Q(this,r)){let n=this.get(r,t);return t&&n instanceof e?n.proxify(t):i(n,r,a)}if(t&&r!==Jt&&!Reflect.has(this,r))return this.set(r,void 0),this.get(r,t)}return r===`$`?this.proxify(t):i(Reflect.get(this,r,a),r,a)},set:(e,t,n,r)=>(typeof t!=`string`||t in this?Reflect.set(this,t,n,r):(this._computedDepth>0&&console.warn(`[mancha] Computed wrote to '${t}'. Computeds should be pure; use $effect for side effects.`),this.set(t,n)),!0)})}get $(){return this.proxify()}makeEvalFunction(e){return(t,n)=>{let r=Wt(e,qt),i=new Proxy(n,{has(e,n){return n in e||n in t||n in globalThis},get(e,n){if(typeof n==`string`)return n in e?e[n]:n in t?t[n]:n in globalThis?globalThis[n]:t[n]},set(e,n,r){return typeof n==`string`?n in e?(e[n]=r,!0):(t[n]=r,!0):!1}});return r?.evaluate(i)}}cachedExpressionFunction(e){e=e.trim(),this.expressionCache.has(e)||this.expressionCache.set(e,this.makeEvalFunction(e));let t=this.expressionCache.get(e);if(!t)throw Error(`Failed to retrieve cached expression: ${e}`);return t}eval(e,t={}){let n=this.$;if(this._store.has(e))return n[e];{let r=this.cachedExpressionFunction(e);try{return r(n,t)}catch(t){return console.error(`Failed to evaluate expression: ${e}`,t),null}}}$resolve(e,t){let n={$pending:!0,$result:null,$error:null};return Promise.resolve().then(()=>e(t)).then(e=>{n.$result=e}).catch(e=>{n.$error=e instanceof Error?e:Error(String(e))}).finally(()=>{n.$pending=!1}),n}};let rn=`data-m-cloak`,an=`mancha-runtime-cloak`,on=k`[data-m-cloak]{display:none!important}`;var sn=class e extends nn{_debugLevel=`off`;dirpath=``;_perfData={lifecycle:{},effects:new Map};static DEBUG_LEVELS=[`off`,`lifecycle`,`effects`,`verbose`];_skipNodes=new Set;_customElements=new Map;_pendingValueRetries=[];cloakElement(e){let t=e.ownerDocument??globalThis.document;if(t?.head&&!t.getElementById(an)){let e=t.createElement(`style`);e.id=an,_(e,on),t.head.appendChild(e)}F(e,rn,``)}uncloakElement(e){L(e,rn)}debug(e){return typeof e==`boolean`?this._debugLevel=e?`lifecycle`:`off`:this._debugLevel=e,this}get debugging(){return this._debugLevel!==`off`}shouldLog(t){return e.DEBUG_LEVELS.indexOf(this._debugLevel)>=e.DEBUG_LEVELS.indexOf(t)}clearPerformanceReport(){this._perfData={lifecycle:{},effects:new Map}}getNodePath(e){let t=[],n=e;for(;n?.tagName;){let e=n.tagName.toLowerCase(),r=n.parentElement;if(r){let i=Array.from(r.children).filter(t=>t.tagName.toLowerCase()===e);if(i.length>1){let r=i.indexOf(n)+1;t.unshift(`${e}:nth-child(${r})`)}else t.unshift(e)}else t.unshift(e);n=r}return t.join(`>`)}buildObserverId(e){let t=e?.directive??`unknown`,n=ft(e?.expression??``,32),r=e?.element,i=e?.id??(r?r.dataset?.perfid??r.id??r.dataset?.testid??this.getNodePath(r):`unknown`);return n?`${t}:${i}:${n}`:`${t}:${i}`}recordObserverExecution(e,t){let n=this.buildObserverId(e),r=this._perfData.effects.get(n)??{count:0,totalTime:0};r.count++,r.totalTime+=t,this._perfData.effects.set(n,r)}getPerformanceReport(){let e=Array.from(this._perfData.effects.entries()),t={};for(let[n,r]of e){let e=n.split(`:`)[0];t[e]||(t[e]={count:0,totalTime:0}),t[e].count+=r.count,t[e].totalTime+=r.totalTime}let n=e.map(([e,t])=>({id:e,executionCount:t.count,totalTime:t.totalTime,avgTime:t.count>0?t.totalTime/t.count:0})).sort((e,t)=>t.totalTime-e.totalTime).slice(0,10);return{lifecycle:this._perfData.lifecycle,effects:{total:e.length,byDirective:t,slowest:n},observers:this.getObserverStats()}}effect(e,t){let n=this;function r(){if(!n.shouldLog(`lifecycle`))return e.call(this);let r=performance.now(),i=e.call(this),a=performance.now()-r;return t&&n.recordObserverExecution(t,a),a>16&&console.warn(`[mancha] Slow observer (${a.toFixed(1)}ms):`,n.buildObserverId(t)),n.shouldLog(`effects`)&&console.debug(`[mancha] Observer (${a.toFixed(2)}ms):`,n.buildObserverId(t)),i}return super.effect(r,t)}async fetchRemote(e,t){return fetch(e,{cache:t?.cache??`default`}).then(e=>e.text())}async fetchLocal(e,t){return this.fetchRemote(e,t)}async preprocessString(e,t){this.log(`Preprocessing string content with params:
45
+ `,t);let n=this.parseHTML(e,t);return await this.preprocessNode(n,t),n}async preprocessRemote(e,t){let n={};t?.cache&&(n.cache=t.cache);let r=await fetch(e,n).then(e=>e.text());return this.preprocessString(r,{...t,dirpath:pt(e),rootDocument:t?.rootDocument??!e.endsWith(`.tpl.html`)})}async preprocessLocal(e,t){let n=await this.fetchLocal(e,t);return this.preprocessString(n,{...t,dirpath:pt(e),rootDocument:t?.rootDocument??!e.endsWith(`.tpl.html`)})}subrenderer(){let e=new this.constructor().debug(this.debugging);return e._store.set(`$parent`,this),this._disposed||this._children.add(e),e._store.set(`$rootRenderer`,this.get(`$rootRenderer`)??this),e._customElements=this._customElements,e}log(...e){this.shouldLog(`verbose`)&&console.debug(...e)}async preprocessNode(e,t){let n=this.shouldLog(`lifecycle`)?performance.now():0;t={dirpath:this.dirpath,maxdepth:10,...t};let r=new ht(A(e,this._skipNodes)).map(async e=>{this.log(`Preprocessing node:
46
+ `,H(e,128)),await U.resolveIncludes.call(this,e,t),await U.rebaseRelativePaths.call(this,e,t),await U.registerCustomElements.call(this,e,t),await U.resolveCustomElements.call(this,e,t)});return await Promise.all(r.generator()),n&&(this._perfData.lifecycle.preprocessTime=(this._perfData.lifecycle.preprocessTime??0)+(performance.now()-n)),e}async renderNode(e,t){let n=this.shouldLog(`lifecycle`)?performance.now():0;for(let n of A(e,this._skipNodes))this.log(`Rendering node:
47
+ `,H(n,128)),await U.resolveForAttribute.call(this,n,t),await U.resolveRenderAttribute.call(this,n,t),await U.resolveDataAttribute.call(this,n,t),await U.resolveTextAttributes.call(this,n,t),await U.resolveHtmlAttribute.call(this,n,t),await U.resolveIfAttribute.call(this,n,t),await U.resolveShowAttribute.call(this,n,t),await U.resolveClassAttribute.call(this,n,t),await U.resolveBindAttribute.call(this,n,t),await U.resolveEventAttributes.call(this,n,t),await U.resolveTextNodeExpressions.call(this,n,t),await U.resolveCustomAttribute.call(this,n,t),await U.resolveCustomProperty.call(this,n,t),await U.stripTypes.call(this,n,t);for(let e of this._pendingValueRetries.splice(0))e();return n&&(this._perfData.lifecycle.renderTime=(this._perfData.lifecycle.renderTime??0)+(performance.now()-n)),e}async mount(e,t){let n=this.shouldLog(`lifecycle`)?performance.now():0;n&&this.clearPerformanceReport(),t={...t,rootNode:e},I(e,`renderer`,this),this._store.set(`$rootNode`,e),this.has(`$rootRenderer`)||this._store.set(`$rootRenderer`,this),this.get(`$rootRenderer`)===this&&await wt(this),await this.preprocessNode(e,t),await this.renderNode(e,t),Qe(e),n&&(this._perfData.lifecycle.mountTime=performance.now()-n)}};function cn(){return tt([k`*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}`,k`html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}`,k`body{margin:0;line-height:inherit}`,k`hr{height:0;color:inherit;border-top-width:1px}`,k`abbr:where([title]){text-decoration:underline dotted}`,k`b,strong{font-weight:bolder}`,k`code,kbd,samp,pre{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:1em}`,k`small{font-size:80%}`,k`sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}`,k`sub{bottom:-0.25em}`,k`sup{top:-0.5em}`,k`button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}`,k`button,select{text-transform:none}`,k`button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}`,k`:-moz-focusring{outline:auto}`,k`:-moz-ui-invalid{box-shadow:none}`,k`progress{vertical-align:baseline}`,k`::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}`,k`[type='search']{-webkit-appearance:textfield;outline-offset:-2px}`,k`::-webkit-search-decoration{-webkit-appearance:none}`,k`::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}`,k`summary{display:list-item}`,k`blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}`,k`fieldset{margin:0;padding:0}`,k`legend{padding:0}`,k`ol,ul,menu{list-style:none;margin:0;padding:0}`,k`textarea{resize:vertical}`,k`::placeholder{opacity:1;color:#9ca3af}`,k`button,[role="button"]{cursor:pointer}`,k`:disabled{cursor:default;pointer-events:none;opacity:0.75}`,k`img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}`,k`img,video{max-width:100%;height:auto}`,k`[hidden]{display:none}`,k`dialog{padding:0}`,k`dialog::backdrop{background:rgba(0,0,0,0.5)}`])}function ln(){return tt([k`html{`,k`max-width: 70ch;`,k`padding: 2em 1em;`,k`margin: auto;`,k`line-height: 1.75;`,k`font-size: 1.25em;`,k`font-family: sans-serif;`,k`}`,k`h1,h2,h3,h4,h5,h6{`,k`margin: 1em 0 0.5em;`,k`}`,k`p,ul,ol{`,k`margin-bottom: 1em;`,k`color: #1d1d1d;`,k`}`])}var un=class extends sn{impl=`browser`;dirpath=pt(globalThis.location?.href??`http://localhost/`);parseHTML(e,t={rootDocument:!1}){if(t.rootDocument)return new DOMParser().parseFromString(e,`text/html`);{let t=document.createRange();return t.selectNodeContents(document.body),t.createContextualFragment(e)}}serializeHTML(e){return new XMLSerializer().serializeToString(e).replace(/\s?xmlns="[^"]+"/gm,``)}preprocessLocal(e,t){return this.preprocessRemote(e,t)}createElement(e,t){return(t||document).createElement(e)}createComment(e,t){return(t||document).createComment(e)}textContent(e,t){e.textContent=t}};new un;function dn(e){for(let t of e){t=t.trim();let e=document.createElement(`style`);switch(t){case`minimal`:_(e,ln());break;case`basic`:case`custom`:continue;case`utils`:{_(e,cn()),e.setAttribute(`data-mancha`,`basic`),globalThis.document.head.appendChild(e);let t=document.createElement(`style`);t.textContent=Me(),t.setAttribute(`data-mancha`,`utils`),globalThis.document.head.appendChild(t),Xe(document);continue}default:console.error(`Unknown style name: "${t}"`);continue}globalThis.document.head.appendChild(e)}}let fn=`mancha-cloak`;function pn(e,t){let n=`${e.join(`, `)} { opacity: 0 !important; ${t>0?`transition: opacity ${t}ms ease-in-out !important;`:``} }`,r=document.getElementById(fn);r||(r=document.createElement(`style`),r.id=fn,document.head.appendChild(r)),r.textContent=n}function mn(e){let t=!1;return async()=>{if(t)return;t=!0;let n=document.getElementById(fn);if(n){if(e!==!1){let t=n.sheet;t&&t.cssRules.length>0&&t.cssRules[0].style.setProperty(`opacity`,`1`,`important`),await new Promise(t=>setTimeout(t,e))}typeof globalThis.requestAnimationFrame==`function`&&(await new Promise(e=>globalThis.requestAnimationFrame(e)),await new Promise(e=>globalThis.requestAnimationFrame(e))),n.remove()}}}async function hn(e={}){let t;document.documentElement.classList.add(`mancha-loading`);let n=e.cloak?e.cloak===!0?{}:e.cloak:void 0;if(n){let r=e.target?Array.isArray(e.target)?e.target:[e.target]:[`body`],i=n.selector&&(Array.isArray(n.selector)||typeof n.selector==`string`)?Array.isArray(n.selector)?n.selector:[n.selector]:r,a=n.duration??0;pn(i,a),t=mn(a>0?a:!1)}else t=mn(!1);document.readyState===`loading`&&await new Promise(e=>{window.addEventListener(`DOMContentLoaded`,()=>e(),{once:!0})});let r=e.renderer??new un;if(e.css&&e.css.length>0&&dn(e.css),e.debug&&r.debug(!0),e.state)for(let[t,n]of Object.entries(e.state))await r.set(t,n);try{if(e.callback)await e.callback(r);else if(e.target){let t=Array.isArray(e.target)?e.target:[e.target];for(let n of t){let t=globalThis.document.querySelector(n);t?await r.mount(t,{cache:e.cache}):console.error(`Target element not found: "${n}"`)}}}finally{document.documentElement.classList.remove(`mancha-loading`),t&&await t()}return r}let $=globalThis.document?.currentScript,gn=new un;if(gn.initMancha=hn,globalThis.Mancha=gn,$?.hasAttribute(`init`)){let e=$.hasAttribute(`debug`),t=$.getAttribute(`cache`)||void 0,n=$.getAttribute(`target`)?.split(`+`).map(e=>e.trim())||[`body`],r=$.getAttribute(`css`)?.split(`+`).map(e=>e.trim()).filter(e=>e!==``),i,a=$.getAttribute(`cloak`);if(a===`false`)i=void 0;else if(a&&!Number.isNaN(parseInt(a,10))){let e=parseInt(a,10);i=e>0?{duration:e}:!0}else i=!0;hn({renderer:gn,css:r,target:n,debug:e,cache:t,cloak:i})}else if($?.hasAttribute(`css`)){let e=$.getAttribute(`css`)?.split(`+`).map(e=>e.trim()).filter(e=>e!==``);hn({css:e})}return gn})();
package/dist/plugins.js CHANGED
@@ -276,10 +276,14 @@ export var RendererPlugins;
276
276
  removeAttributeOrDataset(elem, "text", ":");
277
277
  // Compute the function's result and track dependencies.
278
278
  const setTextContent = (content) => this.textContent(node, content);
279
- return this.effect(function () {
279
+ const effectResult = this.effect(function () {
280
280
  const result = this.eval(textAttr, { $elem: node });
281
281
  setTextContent(result == null ? "" : String(result));
282
282
  }, { directive: ":text", element: elem, expression: textAttr });
283
+ // What :text wrote is data, so keep the traversal from evaluating {{ }} inside it.
284
+ for (const child of Array.from(elem.childNodes || []))
285
+ this._skipNodes.add(child);
286
+ return effectResult;
283
287
  }
284
288
  };
285
289
  RendererPlugins.resolveHtmlAttribute = async function (node, params) {
@@ -293,6 +297,8 @@ export var RendererPlugins;
293
297
  removeAttributeOrDataset(elem, "html", ":");
294
298
  // Track the current subrenderer to dispose on content change.
295
299
  let currentSubrenderer = null;
300
+ // Remembered because a nested :for can swap these out, leaving the marks unreachable.
301
+ let skipped = [];
296
302
  // Compute the function's result and track dependencies.
297
303
  return this.effect(function () {
298
304
  const result = this.eval(htmlAttr, { $elem: node });
@@ -308,7 +314,14 @@ export var RendererPlugins;
308
314
  currentSubrenderer = subrenderer;
309
315
  const fragment = await subrenderer.preprocessString(result, params);
310
316
  await subrenderer.renderNode(fragment);
317
+ for (const child of skipped)
318
+ this._skipNodes.delete(child);
311
319
  replaceChildren(elem, fragment);
320
+ // The subrenderer already rendered this; traverse() stops at a skipped node,
321
+ // so marking the immediate children prunes the whole inserted subtree.
322
+ skipped = Array.from(elem.childNodes || []);
323
+ for (const child of skipped)
324
+ this._skipNodes.add(child);
312
325
  // renderNode() alone never triggers the end-of-mount scan, so
313
326
  // classes in this content would otherwise go unseen.
314
327
  scanRenderedTree(elem);
@@ -406,6 +419,10 @@ export var RendererPlugins;
406
419
  console.error(`Expression did not yield a list: \`${itemsExpr}\` => \`${items}\``);
407
420
  return;
408
421
  }
422
+ // Rows go wherever the template is now: :html can move the whole subtree elsewhere.
423
+ const listParent = template.parentNode;
424
+ if (!listParent)
425
+ return;
409
426
  // If :key is provided, use keyed reconciliation. Otherwise, use original behavior.
410
427
  if (keyExpr) {
411
428
  // KEYED RECONCILIATION: Reuse nodes and subrenderers based on key.
@@ -445,7 +462,7 @@ export var RendererPlugins;
445
462
  // Node is already in position if it equals cursor or its nextSibling is cursor.
446
463
  const alreadyInPosition = nodeForThisItem === cursor || nodeForThisItem.nextSibling === cursor;
447
464
  if (!alreadyInPosition) {
448
- insertBefore(parent, nodeForThisItem, cursor);
465
+ insertBefore(listParent, nodeForThisItem, cursor);
449
466
  }
450
467
  }
451
468
  else {
@@ -455,7 +472,7 @@ export var RendererPlugins;
455
472
  subrenderer.set("$index", idx, true);
456
473
  const copy = node.cloneNode(true);
457
474
  this.cloakElement(copy);
458
- insertBefore(parent, copy, cursor);
475
+ insertBefore(listParent, copy, cursor);
459
476
  this._skipNodes.add(copy);
460
477
  awaiters.push(subrenderer.mount(copy, params).then(() => {
461
478
  this.uncloakElement(copy);
@@ -500,7 +517,7 @@ export var RendererPlugins;
500
517
  subrenderer.set("$index", idx, true);
501
518
  const copy = node.cloneNode(true);
502
519
  this.cloakElement(copy);
503
- insertBefore(parent, copy, reference);
520
+ insertBefore(listParent, copy, reference);
504
521
  children.push(copy);
505
522
  subrenderers.push(subrenderer);
506
523
  this._skipNodes.add(copy);
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"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"}