@xtrable-ltd/nanoesis 0.1.36 → 0.1.37
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/adapter-azure-blob.js +1 -1
- package/dist/adapter-sharp.js +4 -1
- package/dist/{chunk-2OWUWOGB.js → chunk-APYNH4WV.js} +1 -1
- package/dist/{chunk-AH2MVN2O.js → chunk-PC4CBVFU.js} +11 -10
- package/dist/editor-api.js +2 -2
- package/dist/index.d.ts +16 -8
- package/dist/index.js +1 -1
- package/dist/mcp.js +3 -3
- package/editor/assets/{MigrationsPane-DNIZD5v9.js → MigrationsPane-Gl4TRput.js} +1 -1
- package/editor/assets/{TemplatesPane-tI-X3c-0.js → TemplatesPane-B61rHJkg.js} +7 -7
- package/editor/assets/{cssMode-BHqRWMex.js → cssMode-bYk8sP3U.js} +1 -1
- package/editor/assets/{freemarker2-CfiPR_ij.js → freemarker2-BU4rgrfa.js} +1 -1
- package/editor/assets/{handlebars-0ARiDNDT.js → handlebars-CZr10U1G.js} +1 -1
- package/editor/assets/{html-Dp9xFEzA.js → html-BHiPgbpO.js} +1 -1
- package/editor/assets/{htmlMode-Di7FTYZK.js → htmlMode-CRDc1TY9.js} +1 -1
- package/editor/assets/{index-CMn2xISn.js → index-CHzAqQHp.js} +52 -52
- package/editor/assets/{javascript-CzNePMtj.js → javascript-BnirEF_x.js} +1 -1
- package/editor/assets/{jsonMode-CrPeML79.js → jsonMode-CGYlgPX5.js} +1 -1
- package/editor/assets/{liquid-Cfq-Fp7b.js → liquid-CE01l5IB.js} +1 -1
- package/editor/assets/{mdx-sMGe_OUc.js → mdx-WWDFUE9y.js} +1 -1
- package/editor/assets/{python-lEgAHzP3.js → python-336D9sQt.js} +1 -1
- package/editor/assets/{razor-BbvZMZxa.js → razor-D-m82ylU.js} +1 -1
- package/editor/assets/{tsMode-DMVtz8YS.js → tsMode-Dtinbfel.js} +1 -1
- package/editor/assets/{typescript-D-p3vFTx.js → typescript-C3y5Ddzl.js} +1 -1
- package/editor/assets/{xml-CmbnTHPn.js → xml-Dh77Kjd0.js} +1 -1
- package/editor/assets/{yaml-HnvHlCHy.js → yaml-4PsSVpRL.js} +1 -1
- package/editor/index.html +1 -1
- package/package.json +1 -1
package/dist/adapter-sharp.js
CHANGED
|
@@ -7,7 +7,10 @@ function createSharpEncoder() {
|
|
|
7
7
|
const metadata = await sharp(buffer).metadata();
|
|
8
8
|
const sourceWidth = metadata.width ?? 0;
|
|
9
9
|
const sourceHeight = metadata.height ?? 0;
|
|
10
|
-
const
|
|
10
|
+
const fitted = [
|
|
11
|
+
...new Set(request.widths.filter((width) => width > 0 && width <= sourceWidth))
|
|
12
|
+
];
|
|
13
|
+
const widths = (fitted.length > 0 ? fitted : [sourceWidth]).sort((a, b) => a - b);
|
|
11
14
|
const variants = [];
|
|
12
15
|
for (const format of request.formats) {
|
|
13
16
|
for (const width of widths) {
|
|
@@ -1664,7 +1664,7 @@ function cacheControlFor(artifact) {
|
|
|
1664
1664
|
}
|
|
1665
1665
|
|
|
1666
1666
|
// ../engine/src/media/media.ts
|
|
1667
|
-
var DEFAULT_WIDTHS = [
|
|
1667
|
+
var DEFAULT_WIDTHS = [1600];
|
|
1668
1668
|
var MIME = {
|
|
1669
1669
|
avif: "image/avif",
|
|
1670
1670
|
webp: "image/webp",
|
|
@@ -1707,9 +1707,11 @@ function buildImageOutput(assetPath, hash, source, variants, bytesFor) {
|
|
|
1707
1707
|
byFormat.set(variant.format, list);
|
|
1708
1708
|
}
|
|
1709
1709
|
const srcsetOf = (format) => (byFormat.get(format) ?? []).map((entry) => `${entry.url} ${entry.width}w`).join(", ");
|
|
1710
|
-
const
|
|
1711
|
-
const
|
|
1712
|
-
const
|
|
1710
|
+
const produced = [...byFormat.keys()];
|
|
1711
|
+
const imgFormat = byFormat.has(fallbackFormat) ? fallbackFormat : produced[0];
|
|
1712
|
+
const sources = ["avif", "webp"].filter((format) => format !== imgFormat && byFormat.has(format)).map((format) => ({ format, mime: MIME[format], srcset: srcsetOf(format) }));
|
|
1713
|
+
const imgList = imgFormat === void 0 ? [] : byFormat.get(imgFormat) ?? [];
|
|
1714
|
+
const fallbackSrc = imgList[imgList.length - 1]?.url ?? `/${assetPath}`;
|
|
1713
1715
|
const info = {
|
|
1714
1716
|
width: source.width,
|
|
1715
1717
|
height: source.height,
|
|
@@ -1721,9 +1723,7 @@ function buildImageOutput(assetPath, hash, source, variants, bytesFor) {
|
|
|
1721
1723
|
}
|
|
1722
1724
|
var EMPTY_BYTES = new Uint8Array(0);
|
|
1723
1725
|
async function processImage(input, assetPath, encoder) {
|
|
1724
|
-
const
|
|
1725
|
-
const formats = [.../* @__PURE__ */ new Set(["avif", "webp", fallbackFormat])];
|
|
1726
|
-
const encoded = await encoder.encode(input, { widths: DEFAULT_WIDTHS, formats });
|
|
1726
|
+
const encoded = await encoder.encode(input, { widths: DEFAULT_WIDTHS, formats: ["webp"] });
|
|
1727
1727
|
const hash = contentHash(input);
|
|
1728
1728
|
const bytesByVariant = /* @__PURE__ */ new Map();
|
|
1729
1729
|
const variants = [];
|
|
@@ -1763,11 +1763,12 @@ function blur(blurDataUri) {
|
|
|
1763
1763
|
return blurDataUri !== void 0 ? { blurDataUri } : {};
|
|
1764
1764
|
}
|
|
1765
1765
|
function buildPictureMarkup(info, extraAttrs) {
|
|
1766
|
+
const carried = extraAttrs.filter(([name]) => name !== "src" && name !== "width" && name !== "height").map(([name, value]) => ` ${name}="${escapeHtmlAttribute(value)}"`).join("");
|
|
1767
|
+
const img = `<img src="${escapeHtmlAttribute(info.fallbackSrc)}" width="${info.width}" height="${info.height}" loading="lazy" decoding="async"${carried}>`;
|
|
1768
|
+
if (info.sources.length === 0) return img;
|
|
1766
1769
|
const sources = info.sources.map(
|
|
1767
1770
|
(source) => `<source type="${source.mime}" srcset="${escapeHtmlAttribute(source.srcset)}">`
|
|
1768
1771
|
).join("");
|
|
1769
|
-
const carried = extraAttrs.filter(([name]) => name !== "src" && name !== "width" && name !== "height").map(([name, value]) => ` ${name}="${escapeHtmlAttribute(value)}"`).join("");
|
|
1770
|
-
const img = `<img src="${escapeHtmlAttribute(info.fallbackSrc)}" width="${info.width}" height="${info.height}" loading="lazy" decoding="async"${carried}>`;
|
|
1771
1772
|
return `<picture>${sources}${img}</picture>`;
|
|
1772
1773
|
}
|
|
1773
1774
|
|
|
@@ -2680,7 +2681,7 @@ var FIELD_TYPE_DOCS = [
|
|
|
2680
2681
|
},
|
|
2681
2682
|
{
|
|
2682
2683
|
type: "image",
|
|
2683
|
-
summary: "An image asset. On publish it
|
|
2684
|
+
summary: "An image asset. On publish it is re-encoded to an optimised WebP and the <img> is rewritten to point at it (lazy-loaded, fixed dimensions). Inferred from <img src>.",
|
|
2684
2685
|
example: '<img src="{hero}" alt="{caption}">'
|
|
2685
2686
|
},
|
|
2686
2687
|
{
|
package/dist/editor-api.js
CHANGED
|
@@ -21,8 +21,8 @@ import {
|
|
|
21
21
|
serveEditorAsset,
|
|
22
22
|
templateSnapshotIntegrityDiagnostic,
|
|
23
23
|
templateSuffixConflictDiagnostic
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-
|
|
24
|
+
} from "./chunk-APYNH4WV.js";
|
|
25
|
+
import "./chunk-PC4CBVFU.js";
|
|
26
26
|
export {
|
|
27
27
|
FileBrandingStore,
|
|
28
28
|
InMemoryBrandingStore,
|
package/dist/index.d.ts
CHANGED
|
@@ -552,15 +552,20 @@ declare function compilePage(source: ContentSource, itemPath: string, options?:
|
|
|
552
552
|
declare function buildResolveContext(tree: DirNode): ResolveContext;
|
|
553
553
|
|
|
554
554
|
/**
|
|
555
|
-
* The media pipeline (DESIGN §8).
|
|
556
|
-
*
|
|
557
|
-
*
|
|
558
|
-
*
|
|
559
|
-
*
|
|
555
|
+
* The media pipeline (DESIGN §8). Each image is re-encoded once into a single, modern,
|
|
556
|
+
* content-hashed **WebP** and the author's `<img>` is rewritten to point at it (lazy-loaded,
|
|
557
|
+
* with intrinsic width/height so there is no layout shift). WebP has near-universal support
|
|
558
|
+
* and is much smaller than the original; one encode per image keeps publish fast (the earlier
|
|
559
|
+
* AVIF + multi-width + JPEG-fallback fan-out made adding images take minutes on a small
|
|
560
|
+
* instance). Display sizing is the site's CSS job, so we do not emit a responsive `srcset`.
|
|
561
|
+
* The *policy* (one WebP, the width cap, content-hashed names) lives here in the pure engine;
|
|
562
|
+
* the actual pixel encoding is a port (CLAUDE.md §3) so the engine needs no native dependency
|
|
563
|
+
* and stays testable.
|
|
560
564
|
*/
|
|
561
565
|
type ImageFormat = 'avif' | 'webp' | 'jpeg' | 'png';
|
|
562
566
|
interface EncodeRequest {
|
|
563
|
-
/** Candidate widths
|
|
567
|
+
/** Candidate widths (a size cap): the encoder emits each that does not upscale, and falls
|
|
568
|
+
* back to the native width only when none fit. It does not otherwise add the native width. */
|
|
564
569
|
readonly widths: readonly number[];
|
|
565
570
|
readonly formats: readonly ImageFormat[];
|
|
566
571
|
}
|
|
@@ -650,8 +655,11 @@ declare function processImageFromCache(assetPath: string, hash: string, cached:
|
|
|
650
655
|
readonly info: ImageInfo;
|
|
651
656
|
};
|
|
652
657
|
/**
|
|
653
|
-
* Build the
|
|
654
|
-
*
|
|
658
|
+
* Build the markup for a processed image (DESIGN §8). `extraAttrs` carries the resolved
|
|
659
|
+
* attributes from the author's `<img>` (alt, class, …) onto the emitted `<img>`. With no
|
|
660
|
+
* alternate-format sources (the default, single-WebP policy) this is a plain optimised
|
|
661
|
+
* `<img>`; when {@link ImageInfo.sources} carries other formats it is wrapped in a
|
|
662
|
+
* `<picture>` with one `<source>` each.
|
|
655
663
|
*/
|
|
656
664
|
declare function buildPictureMarkup(info: ImageInfo, extraAttrs: ReadonlyArray<readonly [string, string]>): string;
|
|
657
665
|
|
package/dist/index.js
CHANGED
package/dist/mcp.js
CHANGED
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
MCP_TOOLS,
|
|
4
4
|
callMcpTool,
|
|
5
5
|
readMcpResource
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-APYNH4WV.js";
|
|
7
|
+
import "./chunk-PC4CBVFU.js";
|
|
8
8
|
|
|
9
9
|
// ../../hosts/host-mcp/src/http.ts
|
|
10
10
|
import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
|
|
@@ -56,7 +56,7 @@ function createMcpServer(deps, identity) {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
// ../../hosts/host-mcp/src/http.ts
|
|
59
|
-
var DEFAULT_VERSION = true ? "0.1.
|
|
59
|
+
var DEFAULT_VERSION = true ? "0.1.37" : "0.0.0-workspace";
|
|
60
60
|
async function handleMcpRequest(deps, request, opts) {
|
|
61
61
|
const server = createMcpServer(deps, {
|
|
62
62
|
name: opts?.name ?? "nanoesis",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{ai as Ke,aG as F,ag as Te,aa as g,W as w,T as e,h as n,ab as Qe,q as a,Q as z,aH as h,y as j,aC as o,R as _,au as v,r as Ve,J as U,x as Ye,i as ze,aN as Ue,aA as c,aI as J,aw as X,ax as _e,Y as Xe,at as Ze,ac as ea}from"./index-
|
|
1
|
+
import{ai as Ke,aG as F,ag as Te,aa as g,W as w,T as e,h as n,ab as Qe,q as a,Q as z,aH as h,y as j,aC as o,R as _,au as v,r as Ve,J as U,x as Ye,i as ze,aN as Ue,aA as c,aI as J,aw as X,ax as _e,Y as Xe,at as Ze,ac as ea}from"./index-CHzAqQHp.js";var aa=_('<p class="placeholder svelte-1lpfi31">Loading preview…</p>'),ta=_('<p class="error svelte-1lpfi31" role="alert"> </p>'),la=_("<option> </option>"),sa=_('<select class="svelte-1lpfi31"></select>'),ra=_('<li class="orphan svelte-1lpfi31"><div class="orphan-head svelte-1lpfi31"><code class="orphan-name svelte-1lpfi31"> </code> <span class="orphan-value svelte-1lpfi31"> </span></div> <div class="orphan-actions svelte-1lpfi31" role="radiogroup"><label class="svelte-1lpfi31"><input type="radio" value="drop"/> Drop</label> <label class="svelte-1lpfi31"><input type="radio" value="keep"/> Keep (unrendered)</label> <label class="svelte-1lpfi31"><input type="radio" value="rename"/> Rename to</label> <!></div></li>'),ia=_(`<section class="resolutions svelte-1lpfi31" aria-label="Orphan field resolutions"><h3 class="svelte-1lpfi31">Orphan fields</h3> <p class="hint svelte-1lpfi31">These fields exist in this item's JSON but the current template doesn't render them.
|
|
2
2
|
Pick what to do with each.</p> <ul class="orphans svelte-1lpfi31"></ul></section>`),na=_('<p class="error svelte-1lpfi31" role="alert"> </p>'),oa=_('<div class="diff svelte-1lpfi31"><section class="pane svelte-1lpfi31" aria-label="Previous version (left)"><header class="pane-head svelte-1lpfi31"><!></header> <pre class="source svelte-1lpfi31"> </pre></section> <section class="pane svelte-1lpfi31" aria-label="Current template (right)"><header class="pane-head svelte-1lpfi31"> </header> <pre class="source svelte-1lpfi31"> </pre></section></div> <!> <!> <div class="commit-bar svelte-1lpfi31"><button type="button" class="primary svelte-1lpfi31"> </button></div>',1),va=_('<header class="detail-head svelte-1lpfi31"><button type="button" class="back svelte-1lpfi31">← Back</button> <h2 class="svelte-1lpfi31"> </h2></header> <!>',1),pa=_('<p class="error svelte-1lpfi31" role="alert"> </p>'),ca=_('<p class="placeholder svelte-1lpfi31">Loading…</p>'),fa=_(`<div class="empty svelte-1lpfi31"><h3 class="svelte-1lpfi31">All caught up</h3> <p>Every content item's fields match its bound template. Migrations show up here when a
|
|
3
3
|
destructive template edit (or a manual hand-edit) leaves an item with orphan fields.</p></div>`),ua=_('<li class="item"><button class="item-row svelte-1lpfi31" type="button"><span class="item-path svelte-1lpfi31"><code> </code></span> <span class="item-summary svelte-1lpfi31"><!> <!> <!></span> <span class="open-icon svelte-1lpfi31">→</span></button></li>'),da=_('<section class="group svelte-1lpfi31"><h3 class="group-title svelte-1lpfi31"><code class="svelte-1lpfi31"> </code> <span class="count svelte-1lpfi31"> </span></h3> <ul class="items svelte-1lpfi31"></ul></section>'),ma=_('<header class="list-head svelte-1lpfi31"><h2>Migrations</h2> <button type="button" class="svelte-1lpfi31"> </button></header> <!>',1),_a=_('<div class="migrations svelte-1lpfi31"><!> <!></div>');function ga(Re,Le){Ke(Le,!0);let M=F(null),u=F(null),Z=F(!1),C=F(null),r=F(Te({})),he=F(Te({})),N=F(!1),W=F(null);g.ensureLoaded();async function Ce(s){v(M,s,!0),v(r,{},!0),v(he,{},!0),v(u,null),v(C,null),v(Z,!0);try{v(u,await ea(s),!0);const f={};for(const l of e(u).orphans){const d=Ee(l.name,e(u).currentTemplateFields);f[l.name]=d?{rename:d}:"keep"}v(r,f,!0)}catch(f){v(C,f instanceof Error?f.message:String(f),!0)}finally{v(Z,!1)}}function ge(){v(M,null),v(u,null),v(C,null)}function Ee(s,f){const l=s.toLowerCase();for(const d of f)if(d.toLowerCase().startsWith(l)||d.toLowerCase().endsWith(l))return d;return null}async function Se(){if(!(e(M)===null||e(u)===null)){v(N,!0),v(W,null);try{const s={drop:Object.entries(e(r)).filter(([,l])=>l==="drop").map(([l])=>l),keep:Object.entries(e(r)).filter(([,l])=>l==="keep").map(([l])=>l),rename:Object.fromEntries(Object.entries(e(r)).filter(([,l])=>typeof l=="object"&&l!==null&&"rename"in l).map(([l,d])=>[l,d.rename])),fill:{...e(he)}},f=await ze(e(M),s);g.refresh().catch(()=>{}),ge()}catch(s){v(W,s instanceof Error?s.message:String(s),!0)}finally{v(N,!1)}}}function Pe(s){return typeof s=="string"?s:JSON.stringify(s)}const qe=Ue(()=>g.list===null?[]:Object.entries(g.list.byTemplate).map(([s,f])=>({template:s,items:[...f].sort((l,d)=>l.path.localeCompare(d.path))})));var be=_a(),xe=a(be);{var Ae=s=>{var f=va(),l=z(f),d=a(l),ee=o(d,2),ae=a(ee),te=o(l,2);{var le=i=>{var m=aa();n(i,m)},se=i=>{var m=ta(),k=a(m);h(()=>c(k,e(C))),n(i,m)},re=i=>{var m=oa(),k=z(m),R=a(k),O=a(R),I=a(O);{var $=p=>{var x=J();h(()=>c(x,`Before — ${e(u).left.template??""}`)),n(p,x)},D=p=>{var x=J("Before — no snapshot available");n(p,x)};w(I,p=>{e(u).left?p($):p(D,-1)})}var ie=o(O,2),ne=a(ie),oe=o(R,2),G=a(oe),E=a(G),b=o(G,2),H=a(b),S=o(k,2);{var K=p=>{var x=ia(),P=o(a(x),4);U(P,21,()=>e(u).orphans,q=>q.name,(q,t)=>{var y=ra(),V=a(y),ye=a(V),We=a(ye),Ie=o(ye,2),$e=a(Ie),we=o(V,2),ke=a(we),fe=a(ke),Fe=o(ke,2),ue=a(Fe),je=o(Fe,2),de=a(je),De=o(je,2);{var Ge=A=>{var T=sa();U(T,20,()=>e(u).currentTemplateFields,B=>B,(B,me)=>{var Y=la(),He=a(Y),Oe={};h(()=>{c(He,me),Oe!==(Oe=me)&&(Y.value=(Y.__value=me)??"")}),n(B,Y)});var Me;Xe(T),h(()=>{Me!==(Me=e(r)[e(t).name].rename)&&(T.value=(T.__value=e(r)[e(t).name].rename)??"",Ze(T,e(r)[e(t).name].rename))}),j("change",T,B=>v(r,{...e(r),[e(t).name]:{rename:B.currentTarget.value}},!0)),n(A,T)};w(De,A=>{typeof e(r)[e(t).name]=="object"&&e(r)[e(t).name]!==null&&"rename"in e(r)[e(t).name]&&A(Ge)})}h(A=>{c(We,e(t).name),c($e,A),X(we,"aria-label",`Resolution for ${e(t).name}`),X(fe,"name",`d-${e(t).name}`),_e(fe,e(r)[e(t).name]==="drop"),X(ue,"name",`d-${e(t).name}`),_e(ue,e(r)[e(t).name]==="keep"),X(de,"name",`d-${e(t).name}`),_e(de,typeof e(r)[e(t).name]=="object"&&e(r)[e(t).name]!==null&&"rename"in e(r)[e(t).name])},[()=>Pe(e(t).value)]),j("change",fe,()=>v(r,{...e(r),[e(t).name]:"drop"},!0)),j("change",ue,()=>v(r,{...e(r),[e(t).name]:"keep"},!0)),j("change",de,()=>v(r,{...e(r),[e(t).name]:{rename:e(u).currentTemplateFields[0]??""}},!0)),n(q,y)}),n(p,x)};w(S,p=>{e(u).orphans.length>0&&p(K)})}var Q=o(S,2);{var ve=p=>{var x=na(),P=a(x);h(()=>c(P,e(W))),n(p,x)};w(Q,p=>{e(W)&&p(ve)})}var pe=o(Q,2),L=a(pe),ce=a(L);h(()=>{var p;c(ne,((p=e(u).left)==null?void 0:p.html)??"(no snapshot covers this item)"),c(E,`After — ${e(u).right.template??""}`),c(H,e(u).right.html),L.disabled=e(N)||e(u).orphans.length===0,c(ce,e(N)?"Migrating…":"Migrate item")}),j("click",L,Se),n(i,m)};w(te,i=>{e(Z)?i(le):e(C)?i(se,1):e(u)&&i(re,2)})}h(()=>c(ae,e(M))),j("click",d,ge),n(s,f)},Be=s=>{var f=ma(),l=z(f),d=o(a(l),2),ee=a(d),ae=o(l,2);{var te=i=>{var m=pa(),k=a(m);h(()=>c(k,g.error)),n(i,m)},le=i=>{var m=ca();n(i,m)},se=i=>{var m=fa();n(i,m)},re=i=>{var m=Ve(),k=z(m);U(k,17,()=>e(qe),R=>R.template,(R,O)=>{var I=da(),$=a(I),D=a($),ie=a(D),ne=o(D,2),oe=a(ne),G=o($,2);U(G,21,()=>e(O).items,E=>E.path,(E,b)=>{var H=ua(),S=a(H),K=a(S),Q=a(K),ve=a(Q),pe=o(K,2),L=a(pe);{var ce=t=>{var y=J();h(V=>c(y,`${e(b).orphanFields.length??""} orphan field${e(b).orphanFields.length===1?"":"s"}:
|
|
4
4
|
${V??""}`),[()=>e(b).orphanFields.join(", ")]),n(t,y)};w(L,t=>{e(b).orphanFields.length>0&&t(ce)})}var p=o(L,2);{var x=t=>{var y=J();h(()=>c(y,`· ${e(b).missingRequiredFields.length??""} missing required`)),n(t,y)};w(p,t=>{e(b).missingRequiredFields.length>0&&t(x)})}var P=o(p,2);{var q=t=>{var y=J();h(()=>c(y,`· best-fit: ${e(b).bestFitSnapshot??""}`)),n(t,y)};w(P,t=>{e(b).bestFitSnapshot&&t(q)})}h(()=>c(ve,e(b).path)),j("click",S,()=>Ce(e(b).path)),n(E,H)}),h(()=>{c(ie,e(O).template),c(oe,`${e(O).items.length??""} item${e(O).items.length===1?"":"s"}`)}),n(R,I)}),n(i,m)};w(ae,i=>{g.error?i(te):g.loading&&g.list===null?i(le,1):g.count===0?i(se,2):i(re,-1)})}h(()=>{d.disabled=g.loading,c(ee,g.loading?"Refreshing…":"Refresh")}),j("click",d,()=>g.refresh()),n(s,f)};w(xe,s=>{e(M)!==null?s(Ae):s(Be,-1)})}var Je=o(xe,2);{var Ne=s=>{};w(Je,s=>{!e(M)&&g.list===null&&s(Ne)})}n(Re,be),Qe()}Ye(["click","change"]);export{ga as default};
|