@barefootjs/jsx 0.6.1 → 0.7.0

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/index.js CHANGED
@@ -7584,6 +7584,7 @@ function transformComponentElement(node, ctx, name) {
7584
7584
  children,
7585
7585
  template: name.toLowerCase(),
7586
7586
  slotId,
7587
+ ...isDynamicTagLocal(name, ctx) ? { dynamicTag: true } : {},
7587
7588
  loc: getSourceLocation(node, ctx.sourceFile, ctx.filePath)
7588
7589
  };
7589
7590
  }
@@ -7599,6 +7600,7 @@ function transformSelfClosingComponent(node, ctx, name) {
7599
7600
  children: [],
7600
7601
  template: name.toLowerCase(),
7601
7602
  slotId,
7603
+ ...isDynamicTagLocal(name, ctx) ? { dynamicTag: true } : {},
7602
7604
  loc: getSourceLocation(node, ctx.sourceFile, ctx.filePath)
7603
7605
  };
7604
7606
  }
@@ -9291,6 +9293,40 @@ function findLocalConst(name, ctx) {
9291
9293
  const pool = fnScoped.length > 0 ? fnScoped : matches;
9292
9294
  return pool[pool.length - 1];
9293
9295
  }
9296
+ function isDynamicTagLocal(name, ctx) {
9297
+ if (!hasDynamicTagBinding(name, ctx.sourceFile))
9298
+ return false;
9299
+ const a = ctx.analyzer;
9300
+ if (a.jsxConstants?.has(name))
9301
+ return false;
9302
+ if (a.jsxFunctions?.has(name))
9303
+ return false;
9304
+ if (a.jsxMultiReturnFunctions?.has(name))
9305
+ return false;
9306
+ if (a.inlineableJsxConsts?.has(name))
9307
+ return false;
9308
+ return true;
9309
+ }
9310
+ function hasDynamicTagBinding(name, sourceFile) {
9311
+ let found = false;
9312
+ const visit2 = (node) => {
9313
+ if (found)
9314
+ return;
9315
+ if (ts11.isVariableDeclaration(node) && ts11.isIdentifier(node.name) && node.name.text === name && node.initializer) {
9316
+ let init = node.initializer;
9317
+ while (ts11.isAsExpression(init) || ts11.isSatisfiesExpression(init) || ts11.isParenthesizedExpression(init) || ts11.isNonNullExpression(init)) {
9318
+ init = init.expression;
9319
+ }
9320
+ if (ts11.isPropertyAccessExpression(init) && init.name.text === "tag") {
9321
+ found = true;
9322
+ return;
9323
+ }
9324
+ }
9325
+ ts11.forEachChild(node, visit2);
9326
+ };
9327
+ visit2(sourceFile);
9328
+ return found;
9329
+ }
9294
9330
  function tryResolveIdentifierAsTemplateLiteral(ident, ctx) {
9295
9331
  const constInfo = findLocalConst(ident.text, ctx);
9296
9332
  if (!constInfo)
@@ -10579,7 +10615,9 @@ function collectFromElement(element, ctx, insideConditional = false) {
10579
10615
  const elemRestName = ctx.restPropsName;
10580
10616
  const elemPropsObjName = ctx.propsObjectName;
10581
10617
  if (spreadVal && (spreadVal === elemRestName || spreadVal === elemPropsObjName)) {
10582
- const excludeKeys = element.attrs.filter((a) => a.name !== "...").map((a) => a.name);
10618
+ const consumedKeys = spreadVal === elemRestName ? ctx.propsParams.map((p) => p.name) : [];
10619
+ const staticAttrKeys = element.attrs.filter((a) => a.name !== "...").map((a) => a.name);
10620
+ const excludeKeys = [...new Set([...consumedKeys, ...staticAttrKeys])];
10583
10621
  ctx.restAttrElements.push({
10584
10622
  slotId: element.slotId,
10585
10623
  source: PROPS_PARAM,
@@ -1 +1 @@
1
- {"version":3,"file":"collect-elements.d.ts","sourceRoot":"","sources":["../../src/ir-to-client-js/collect-elements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAoC,KAAK,MAAM,EAAmC,MAAM,UAAU,CAAA;AACtH,OAAO,KAAK,EAAE,eAAe,EAA+H,iBAAiB,EAA0B,oBAAoB,EAAc,UAAU,EAAE,MAAM,SAAS,CAAA;AAwGpQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA0C7E;AAyBD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,EAAE,wBAIpC,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACrC,cAAc,CAAC,EAAE,MAAM,EACvB,GAAG,CAAC,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,wBAAwB,GACjC,UAAU,EAAE,CAyId;AAqKD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,eAAe,EACpB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACrC,iBAAiB,UAAQ,GACxB,IAAI,CAsON;AA6VD;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,GAAG,EAAE,eAAe,EACpB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACrC,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,SAAS,OAAO,UAAU,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAC5E,iBAAiB,CAUnB;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,eAAe,EACpB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACrC,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,SAAS,OAAO,UAAU,EAAE,gBAAgB,EAAE,GACjE,oBAAoB,EAAE,CA4DxB"}
1
+ {"version":3,"file":"collect-elements.d.ts","sourceRoot":"","sources":["../../src/ir-to-client-js/collect-elements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAoC,KAAK,MAAM,EAAmC,MAAM,UAAU,CAAA;AACtH,OAAO,KAAK,EAAE,eAAe,EAA+H,iBAAiB,EAA0B,oBAAoB,EAAc,UAAU,EAAE,MAAM,SAAS,CAAA;AAwGpQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA0C7E;AAyBD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,EAAE,wBAIpC,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACrC,cAAc,CAAC,EAAE,MAAM,EACvB,GAAG,CAAC,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,wBAAwB,GACjC,UAAU,EAAE,CAyId;AAqKD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,eAAe,EACpB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACrC,iBAAiB,UAAQ,GACxB,IAAI,CAsON;AA8WD;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,GAAG,EAAE,eAAe,EACpB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACrC,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,SAAS,OAAO,UAAU,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAC5E,iBAAiB,CAUnB;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,eAAe,EACpB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACrC,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,SAAS,OAAO,UAAU,EAAE,gBAAgB,EAAE,GACjE,oBAAoB,EAAE,CA4DxB"}
@@ -496,7 +496,14 @@ export interface RestAttrElement {
496
496
  slotId: string;
497
497
  /** The spread source expression (e.g., 'rest', 'props') */
498
498
  source: string;
499
- /** Attribute names already statically set on the element (exclude from applyRestAttrs) */
499
+ /**
500
+ * Prop SOURCE KEYS already consumed by the component (exclude from
501
+ * applyRestAttrs). For the destructured `...rest` form this is the
502
+ * destructured param names (the JS rest-exclusion set) unioned with any
503
+ * statically-set attr names; applyRestAttrs filters `source[key]` by these
504
+ * so it neither re-binds separately-wired events nor re-emits consumed
505
+ * props under their raw key. See collect-elements.ts for the rationale.
506
+ */
500
507
  excludeKeys: string[];
501
508
  }
502
509
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ir-to-client-js/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ir-to-client-js/types.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -528,6 +528,15 @@ export interface IRComponent {
528
528
  children: IRNode[];
529
529
  template: string;
530
530
  slotId: string | null;
531
+ /**
532
+ * True when `name` is a dynamic-tag local (`const Tag = children.tag`)
533
+ * rather than a real component reference. Such a "component" has no
534
+ * registrable template — it is a runtime-chosen tag. Consumed ONLY by
535
+ * the Go template adapter, which lowers it to a children passthrough so
536
+ * the dead branch registers cleanly (Hono/CSR/Mojo ignore this flag).
537
+ * Omitted (undefined) for ordinary components to keep IR diffs minimal.
538
+ */
539
+ dynamicTag?: boolean;
531
540
  loc: SourceLocation;
532
541
  }
533
542
  export interface IRSlot {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAMtF,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,QAAQ,CAAA;IACf,GAAG,EAAE,QAAQ,CAAA;CACd;AAMD,MAAM,MAAM,QAAQ,GAChB,WAAW,GACX,QAAQ,GACR,OAAO,GACP,OAAO,GACP,UAAU,GACV,WAAW,GACX,SAAS,CAAA;AAEb,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IAGX,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAA;IAGlE,UAAU,CAAC,EAAE,YAAY,EAAE,CAAA;IAG3B,WAAW,CAAC,EAAE,QAAQ,CAAA;IAGtB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;IAGvB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAA;IACpB,UAAU,CAAC,EAAE,QAAQ,CAAA;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0GAA0G;IAC1G,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,uFAAuF;IACvF,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAA;AAEpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAA;AAE/E;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,KAAK,GAAG,IAAI,CAAA;AAE3E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,KAAK,EAAE,KAAK,CAAA;IACZ,6CAA6C;IAC7C,KAAK,EAAE,KAAK,CAAA;IACZ,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;OAUG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,YAAY,EAAE,KAAK,CAAA;IACnB;;;;OAIG;IACH,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,eAAe,GACf,eAAe,GACf,aAAa,GACb,gBAAgB,GAGhB,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,cAAc,GACd,QAAQ,CAAA;AAsCZ;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAEpE;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,WAAW,CAK1D,CAAA;AAEF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE5D;AAMD,MAAM,MAAM,MAAM,GACd,SAAS,GACT,MAAM,GACN,YAAY,GACZ,aAAa,GACb,MAAM,GACN,WAAW,GACX,MAAM,GACN,UAAU,GACV,aAAa,GACb,UAAU,GACV,OAAO,CAAA;AAEX,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,UAAU,EAAE,OAAO,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,sGAAsG;IACtG,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;IACnB,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,0FAA0F;IAC1F,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,wGAAwG;IACxG,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;OAKG;IACH,MAAM,EAAE,UAAU,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,yFAAyF;IACzF,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,uGAAuG;IACvG,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;OAMG;IACH,MAAM,EAAE,UAAU,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,SAAS,CAAA;QAChB,cAAc,EAAE,OAAO,CAAA;KACxB,CAAC,CAAA;IACF,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IAKvB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IAEnB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAA;IAEtB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAE5B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAA;IAErC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAEzC;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE;QAChB,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,UAAU,CAAA;QACtB,SAAS,CAAC,EAAE,eAAe,EAAE,CAAA;QAC7B,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IAED;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,GAAG,aAAa,CAAA;IAE1C;;;;;;;;;;;;;;;;;;OAkBG;IACH,cAAc,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAEnC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAClC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAE1C;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAA;IACf,sEAAsE;IACtE,SAAS,EAAE,kBAAkB,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAA;IACnB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAA;IACX,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EACD;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;KAAE,GACtD;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,GAAG,EAAE,cAAc,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAA;IACV,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;IAChB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,GAAG,EAAE,cAAc,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAA;IACpB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,qFAAqF;IACrF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;;;;;;;;OAQG;IACH,cAAc,EAAE,KAAK,CAAC;QACpB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAC,CAAA;IACF,GAAG,EAAE,cAAc,CAAA;CACpB;AAMD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AACzG;;;;;;;;;;GAUG;GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAExF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,cAAc,GACd,WAAW,GACX,oBAAoB,GACpB,YAAY,GACZ,UAAU,GACV,eAAe,CAAA;AAEnB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAA;IACf;iEAC6D;IAC7D,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAA;IAClB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAA;IACZ;gEAC4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;+EAC2E;IAC3E,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,mBAAmB,CAAA;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW;IACtB,OAAO,QAAQ,MAAM,GAAG,WAAW;IAGnC,UAAU,OACF,MAAM,SACL;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAA;KAAE,GACxF,cAAc;IASjB,WAAW,IAAI,WAAW;IAG1B,gBAAgB,IAAI,oBAAoB;IAGxC,QAAQ,QAAQ,cAAc,EAAE,GAAG,YAAY;IAG/C,MAAM,OAAO,MAAM,iBAAiB,MAAM,WAAW,MAAM,GAAG,UAAU;IAQxE,WAAW,WAAW,MAAM,EAAE,GAAG,eAAe;CAGxC,CAAA;AAEV;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,QAAQ;IACvB;;8EAE0E;IAC1E,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACtC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAKpD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG,QAAQ,CAM7G;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,6GAA6G;IAC7G,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,mHAAmH;IACnH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,MAAO,SAAQ,QAAQ;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,6GAA6G;IAC7G,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,mHAAmH;IACnH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAMD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,GAAG,EAAE,cAAc,CAAA;IACnB;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5C;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,EAAE,cAAc,CAAA;IACnB;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAChD,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,EAAE,CAAA;IACd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,cAAc,CAAA;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,cAAc,CAAA;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACjC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,qCAAqC;IACrC,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,UAAU,EAAE,OAAO,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,UAAU,EAAE,oBAAoB,EAAE,CAAA;IAClC,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB,oEAAoE;IACpE,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAChC;;;;OAIG;IACH,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC3B,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,qBAAqB,CAAA;IAC9D,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,eAAe,EAAE,OAAO,GAAG,KAAK,CAAA;IAChC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;IACnB,mGAAmG;IACnG,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,gGAAgG;IAChG,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2FAA2F;IAC3F,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wGAAwG;IACxG,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,4FAA4F;IAC5F,mBAAmB,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IACjD,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAA;IAC3B,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,OAAO,CAAA;IACzB,mEAAmE;IACnE,UAAU,EAAE,OAAO,CAAA;IACnB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAA;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE,SAAS,EAAE,CAAA;IACxB,+FAA+F;IAC/F,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,oFAAoF;IACpF,qBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB;;;;OAIG;IACH,cAAc,EAAE,iBAAiB,EAAE,CAAA;IACnC,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB;oFACgF;IAChF,eAAe,EAAE,UAAU,EAAE,CAAA;IAC7B,mEAAmE;IACnE,YAAY,EAAE,eAAe,EAAE,CAAA;IAC/B,cAAc,EAAE,YAAY,EAAE,CAAA;IAC9B,cAAc,EAAE,YAAY,EAAE,CAAA;IAC9B,sDAAsD;IACtD,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACxC;AAMD;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB;AAC1B;;;;;GAKG;AACD,WAAW;AACb;;;;;;GAMG;GACD,eAAe;AACjB;;;;;;GAMG;GACD,kBAAkB;AACpB;;;;;;GAMG;GACD,gBAAgB;AAClB;;;;;GAKG;GACD,mBAAmB,CAAA;AAEvB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;IACjD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,eAAe,GAAG,IAAI,CAAA;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,gBAAgB,CAAA;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB;;;;;;OAMG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oEAAoE;IACpE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,OAAO,CAAA;AAEjD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IACxC;0EACsE;IACtE,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAMD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAA;IACd,QAAQ,EAAE,UAAU,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,aAAa,EAAE,CAAA;CACxB;AAMD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AAExD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,cAAc,CAAA;IACnB,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,OAAO,CAAA;IACtC,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAA;CACvD;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,gBAAgB,GAAG,UAAU,GAAG,IAAI,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,CAAA;CACnF;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,MAAM,EAAE,aAAa,EAAE,CAAA;CACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@barefootjs/jsx",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "description": "JSX compiler for BarefootJS - transforms JSX to server HTML + client JS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -53,7 +53,7 @@
53
53
  "directory": "packages/jsx"
54
54
  },
55
55
  "dependencies": {
56
- "@barefootjs/shared": "0.6.1"
56
+ "@barefootjs/shared": "0.7.0"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "@barefootjs/client": ">=0.2.0",
@@ -4092,7 +4092,7 @@ hydrate('Example', { init: initExample, template: (_p) => \`<div bf="s1"><!--bf-
4092
4092
  export function Example(_p, __bfKey) { return createComponent('Example', _p, __bfKey) }"
4093
4093
  `;
4094
4094
 
4095
- exports[`docs/core/adapters/go-template-adapter.md doc-examples L50 — (no label) 1`] = `
4095
+ exports[`docs/core/adapters/go-template-adapter.md doc-examples L71 — (no label) 1`] = `
4096
4096
  "import { $t, __bfText, createComponent, createEffect, escapeText, hydrate } from '@barefootjs/client/runtime'
4097
4097
 
4098
4098
 
@@ -4114,7 +4114,7 @@ hydrate('Greeting', { init: initGreeting, template: (_p) => \`<p bf="s1">Hello,
4114
4114
  export function Greeting(_p, __bfKey) { return createComponent('Greeting', _p, __bfKey) }"
4115
4115
  `;
4116
4116
 
4117
- exports[`docs/core/adapters/go-template-adapter.md doc-examples L74 — (no label) 1`] = `
4117
+ exports[`docs/core/adapters/go-template-adapter.md doc-examples L95 — (no label) 1`] = `
4118
4118
  "import { $, $t, __bfText, createComponent, createEffect, createSignal, escapeText, hydrate } from '@barefootjs/client/runtime'
4119
4119
 
4120
4120
 
@@ -4144,7 +4144,7 @@ hydrate('Counter', { init: initCounter, template: (_p) => \`<div><span bf="s1">C
4144
4144
  export function Counter(_p, __bfKey) { return createComponent('Counter', _p, __bfKey) }"
4145
4145
  `;
4146
4146
 
4147
- exports[`docs/core/adapters/go-template-adapter.md doc-examples L147 — (no label) 1`] = `
4147
+ exports[`docs/core/adapters/go-template-adapter.md doc-examples L168 — (no label) 1`] = `
4148
4148
  "import { $, $t, __bfText, createComponent, createEffect, createSignal, escapeText, hydrate, mapArray } from '@barefootjs/client/runtime'
4149
4149
 
4150
4150
  export function initTodoItem(__scope, _p = {}) {
@@ -4211,7 +4211,7 @@ hydrate('Example', { init: initExample, template: (_p) => \`<div bf="s1"><!--bf-
4211
4211
  export function Example(_p, __bfKey) { return createComponent('Example', _p, __bfKey) }"
4212
4212
  `;
4213
4213
 
4214
- exports[`docs/core/adapters/go-template-adapter.md doc-examples L159 — (no label) 1`] = `
4214
+ exports[`docs/core/adapters/go-template-adapter.md doc-examples L180 — (no label) 1`] = `
4215
4215
  "import { $, $t, __bfText, createComponent, createEffect, createSignal, escapeText, hydrate, mapArray } from '@barefootjs/client/runtime'
4216
4216
 
4217
4217
  export function initTodoItem(__scope, _p = {}) {
@@ -4278,7 +4278,7 @@ hydrate('Example', { init: initExample, template: (_p) => \`<div bf="s1"><!--bf-
4278
4278
  export function Example(_p, __bfKey) { return createComponent('Example', _p, __bfKey) }"
4279
4279
  `;
4280
4280
 
4281
- exports[`docs/core/adapters/go-template-adapter.md doc-examples L173 — (no label) 1`] = `
4281
+ exports[`docs/core/adapters/go-template-adapter.md doc-examples L194 — (no label) 1`] = `
4282
4282
  "import { $, $t, __bfText, createComponent, createEffect, createSignal, escapeText, hydrate } from '@barefootjs/client/runtime'
4283
4283
 
4284
4284
  export function initTodoItem(__scope, _p = {}) {
@@ -4349,7 +4349,7 @@ hydrate('Example', { init: initExample, template: (_p) => \`<div bf="s1"><!--bf-
4349
4349
  export function Example(_p, __bfKey) { return createComponent('Example', _p, __bfKey) }"
4350
4350
  `;
4351
4351
 
4352
- exports[`docs/core/adapters/go-template-adapter.md doc-examples L215 — (no label) 1`] = `
4352
+ exports[`docs/core/adapters/go-template-adapter.md doc-examples L236 — (no label) 1`] = `
4353
4353
  "import { $, createComponent, hydrate, initChild, mapArray, renderChild } from '@barefootjs/client/runtime'
4354
4354
  import '/* @bf-child:TodoItem */'
4355
4355
 
@@ -4373,7 +4373,7 @@ hydrate('TodoList', { init: initTodoList, template: (_p) => \`<ul bf="s1"><!--bf
4373
4373
  export function TodoList(_p, __bfKey) { return createComponent('TodoList', _p, __bfKey) }"
4374
4374
  `;
4375
4375
 
4376
- exports[`docs/core/adapters/go-template-adapter.md doc-examples L231 — (no label) 1`] = `
4376
+ exports[`docs/core/adapters/go-template-adapter.md doc-examples L260 — (no label) 1`] = `
4377
4377
  "import { $, $t, __bfText, createComponent, createEffect, createSignal, escapeText, hydrate, insert } from '@barefootjs/client/runtime'
4378
4378
 
4379
4379
  export function initTodoItem(__scope, _p = {}) {
@@ -2051,6 +2051,57 @@ describe('Client JS generation', () => {
2051
2051
  expect(content).toContain('applyRestAttrs')
2052
2052
  })
2053
2053
 
2054
+ test('applyRestAttrs excludes destructured event handlers + consumed props (#1467)', () => {
2055
+ // Regression: the runtime hands applyRestAttrs the FULL props object
2056
+ // and filters by source key, so the exclude list must be the
2057
+ // destructured param names (the JS rest-exclusion set) — NOT the
2058
+ // element's HTML attr names. When a component destructures event
2059
+ // handlers and wires them separately while also spreading `...props`,
2060
+ // omitting them from the exclude list double-binds the handlers
2061
+ // (fires twice) and re-emits consumed props (e.g. `error`) as raw
2062
+ // attributes.
2063
+ const source = `
2064
+ 'use client'
2065
+ interface FieldProps {
2066
+ error?: boolean
2067
+ describedBy?: string
2068
+ onInput?: (e: Event) => void
2069
+ [key: string]: unknown
2070
+ }
2071
+ export function Field({
2072
+ error = false,
2073
+ describedBy,
2074
+ onInput = () => {},
2075
+ ...props
2076
+ }: FieldProps) {
2077
+ return (
2078
+ <input
2079
+ aria-invalid={error || undefined}
2080
+ onInput={onInput}
2081
+ {...props}
2082
+ />
2083
+ )
2084
+ }
2085
+ `
2086
+ const result = compileJSX(source, 'Field.tsx', { adapter })
2087
+ expect(result.errors).toHaveLength(0)
2088
+ const content = result.files.find(f => f.type === 'clientJs')!.content
2089
+
2090
+ const call = content.match(/applyRestAttrs\([^)]*\[([^\]]*)\]\)/)
2091
+ expect(call).not.toBeNull()
2092
+ const excluded = call![1]
2093
+ .split(',')
2094
+ .map(s => s.trim().replace(/^["']|["']$/g, ''))
2095
+
2096
+ // Destructured handler + consumed props must be excluded by SOURCE KEY
2097
+ // so applyRestAttrs neither re-binds the event nor re-emits them. The
2098
+ // old behaviour keyed only on HTML attr names (`aria-invalid`) and so
2099
+ // never excluded the source key `error` — these three were missing.
2100
+ expect(excluded).toContain('onInput')
2101
+ expect(excluded).toContain('error')
2102
+ expect(excluded).toContain('describedBy')
2103
+ })
2104
+
2054
2105
  test('multi-component file: stateless icons in conditional rendering produce renderChild + hydrate', () => {
2055
2106
  const source = `
2056
2107
  'use client'
@@ -1069,6 +1069,49 @@ describe('.map() inside <Async> — loop body wired after async chunk lands', ()
1069
1069
  })
1070
1070
  })
1071
1071
 
1072
+ describe('<Async> body error path — sync throw + async reject (#1375)', () => {
1073
+ // Whether the body throws synchronously or rejects asynchronously is a
1074
+ // runtime property the compiler can't see. The Layer 1 contract is that
1075
+ // neither shape degrades the boundary's compile output: a throwing /
1076
+ // rejecting body still produces a well-formed `<Async>` boundary with the
1077
+ // fallback preserved, so the adapter has something to fall back to.
1078
+ //
1079
+ // The boundary's fallback is wired into an error-catching boundary by the
1080
+ // adapter: the Hono `renderAsync` emit (see
1081
+ // `packages/adapter-hono/src/__tests__/async-error-boundary.test.ts`) and
1082
+ // the runtime `BfAsync` component (see
1083
+ // `packages/adapter-hono/src/__tests__/async.test.tsx`) both wrap the body
1084
+ // in `ErrorBoundary`. The browser-level behaviour (fallback rendered,
1085
+ // reset-signal re-mount, throw-during-cleanup) is covered by the Layer 6
1086
+ // stubs in `site/ui/e2e/stress-1244.spec.ts`.
1087
+
1088
+ test('synchronously-throwing body component compiles to a clean boundary', () => {
1089
+ const src = `
1090
+ export function Demo() {
1091
+ return (
1092
+ <Async fallback={<p>Fallback</p>}>
1093
+ <Throws />
1094
+ </Async>
1095
+ )
1096
+ }
1097
+ `
1098
+ expectNoFatalErrors(compile(src, 'Demo.tsx'))
1099
+ })
1100
+
1101
+ test('async (Promise-returning) body component compiles to a clean boundary', () => {
1102
+ const src = `
1103
+ export function Demo() {
1104
+ return (
1105
+ <Async fallback={<Skeleton />}>
1106
+ <SlowData />
1107
+ </Async>
1108
+ )
1109
+ }
1110
+ `
1111
+ expectNoFatalErrors(compile(src, 'Demo.tsx'))
1112
+ })
1113
+ })
1114
+
1072
1115
  describe('createPortal inside .map() — per-item portal owner tracking', () => {
1073
1116
  test('one portal created per loop item', () => {
1074
1117
  const src = `
@@ -147,6 +147,70 @@ describe('<Async> streaming boundary', () => {
147
147
  }
148
148
  })
149
149
 
150
+ // -------------------------------------------------------------------------
151
+ // #1375 — body throw, sync + async error paths.
152
+ //
153
+ // Whether the body throws (sync) or rejects (async) is a *runtime* property
154
+ // the compiler can't observe. What Layer 1 can lock in is the structural
155
+ // prerequisite for the runtime fallback to fire: the boundary keeps a
156
+ // fallback distinct from its children, with an assigned id, even when the
157
+ // body is a component that will throw / reject at render time. The adapter
158
+ // then wires that fallback into an error-catching boundary (`ErrorBoundary`
159
+ // for Hono — see the adapter `renderAsync` test and
160
+ // `packages/adapter-hono/src/async.tsx`).
161
+ // -------------------------------------------------------------------------
162
+
163
+ test('body component that throws at render keeps fallback + child wired on the boundary', () => {
164
+ const source = `
165
+ export function Page() {
166
+ return (
167
+ <Async fallback={<p>Fallback</p>}>
168
+ <Throws />
169
+ </Async>
170
+ )
171
+ }
172
+ `
173
+
174
+ const ctx = analyzeComponent(source, 'Page.tsx')
175
+ const ir = jsxToIR(ctx)
176
+
177
+ expect(ctx.errors.filter(e => e.severity === 'error')).toEqual([])
178
+
179
+ const asyncNode = ir as IRAsync
180
+ expect(asyncNode.type).toBe('async')
181
+ expect(asyncNode.id).toBe('a0')
182
+ // Fallback is preserved and distinct from the (throwing) body.
183
+ expect(asyncNode.fallback.type).toBe('element')
184
+ if (asyncNode.fallback.type === 'element') {
185
+ expect(asyncNode.fallback.tag).toBe('p')
186
+ }
187
+ expect(asyncNode.children.length).toBe(1)
188
+ expect(asyncNode.children[0].type).toBe('component')
189
+ })
190
+
191
+ test('async (Promise-returning) body component keeps the boundary intact', () => {
192
+ const source = `
193
+ export function Page() {
194
+ return (
195
+ <Async fallback={<Skeleton />}>
196
+ <SlowData />
197
+ </Async>
198
+ )
199
+ }
200
+ `
201
+
202
+ const ctx = analyzeComponent(source, 'Page.tsx')
203
+ const ir = jsxToIR(ctx)
204
+
205
+ expect(ctx.errors.filter(e => e.severity === 'error')).toEqual([])
206
+
207
+ const asyncNode = ir as IRAsync
208
+ expect(asyncNode.type).toBe('async')
209
+ expect(asyncNode.fallback.type).toBe('component')
210
+ expect(asyncNode.children.length).toBe(1)
211
+ expect(asyncNode.children[0].type).toBe('component')
212
+ })
213
+
150
214
  test('compileJSX surfaces BF046 in errors without crashing on multi-child stub', () => {
151
215
  // Multi-child + root pins the scope-metadata path: a transparent stub
152
216
  // would suppress needsScopeComment and leak ctx.isRoot to only the first
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Pins the `IRComponent.dynamicTag` flag — the additive signal the Go
3
+ * template adapter uses to lower a runtime-chosen tag (`const Tag =
4
+ * children.tag`) to a children passthrough instead of an impossible
5
+ * `{{template "Tag" ...}}` call.
6
+ *
7
+ * Background: the `Slot` component does
8
+ * `const Tag = children.tag; return <Tag {...}>{...}</Tag>`
9
+ * The compiler treats `<Tag>` as a PascalCase component reference, so a
10
+ * naive Go lowering emits `{{template "Tag" .TagSlot0}}` — a template
11
+ * that can never be registered. Go's html/template escape-walks ALL
12
+ * registered templates (even dead branches), so the whole render fails
13
+ * with `no such template "Tag"`. `dynamicTag` lets the Go adapter detect
14
+ * and defuse this; Hono/CSR/Mojo ignore the flag.
15
+ *
16
+ * The binding lives inside an `if (isValidElement(children)) { … }`
17
+ * block, so detection must scan nested scopes (not just component-body
18
+ * `localConstants`). These tests pin both that positive detection and
19
+ * the negative case — a real imported `<Button>` must NOT be flagged.
20
+ */
21
+
22
+ import { describe, test, expect } from 'bun:test'
23
+ import { compileJSX } from '../compiler'
24
+ import { TestAdapter } from '../adapters/test-adapter'
25
+ import type { IRNode, IRComponent } from '../types'
26
+
27
+ const adapter = new TestAdapter()
28
+
29
+ function compileToIR(source: string) {
30
+ const result = compileJSX(source, 'demo.tsx', { adapter, outputIR: true })
31
+ expect(result.errors.filter(e => e.severity === 'error')).toEqual([])
32
+ const ir = result.files.find(f => f.type === 'ir')!
33
+ return JSON.parse(ir.content)
34
+ }
35
+
36
+ function findComponent(node: IRNode, name: string): IRComponent | null {
37
+ if (node.type === 'component' && (node as IRComponent).name === name) {
38
+ return node as IRComponent
39
+ }
40
+ const anyNode = node as IRNode & {
41
+ children?: IRNode[]
42
+ consequent?: IRNode
43
+ alternate?: IRNode
44
+ then?: IRNode
45
+ else?: IRNode
46
+ }
47
+ for (const key of ['children', 'consequent', 'alternate', 'then', 'else'] as const) {
48
+ const v = anyNode[key]
49
+ if (!v) continue
50
+ const list = Array.isArray(v) ? v : [v]
51
+ for (const c of list) {
52
+ const found = findComponent(c, name)
53
+ if (found) return found
54
+ }
55
+ }
56
+ return null
57
+ }
58
+
59
+ describe('IRComponent.dynamicTag', () => {
60
+ test('a block-scoped `const Tag = children.tag` JSX tag is flagged dynamicTag', () => {
61
+ const ir = compileToIR(`
62
+ function isValidElement(el: unknown): el is { tag: unknown; props: Record<string, unknown> } {
63
+ return !!(el && typeof el === 'object' && 'tag' in el && 'props' in el)
64
+ }
65
+ export function Slot({ children, className, ...props }: { children?: any; className?: string; [k: string]: unknown }) {
66
+ if (children && isValidElement(children)) {
67
+ const Tag = children.tag as any
68
+ const childProps = children.props
69
+ return <Tag {...childProps} {...props} className={className}>{childProps.children}</Tag>
70
+ }
71
+ return <>{children}</>
72
+ }
73
+ `)
74
+ const tag = findComponent(ir.root, 'Tag')
75
+ expect(tag).not.toBeNull()
76
+ expect(tag!.dynamicTag).toBe(true)
77
+ })
78
+
79
+ test('a real imported component is NOT flagged dynamicTag', () => {
80
+ const ir = compileToIR(`
81
+ import { Button } from './button'
82
+ export function Demo() {
83
+ return <Button>hi</Button>
84
+ }
85
+ `)
86
+ const button = findComponent(ir.root, 'Button')
87
+ expect(button).not.toBeNull()
88
+ expect(button!.dynamicTag).toBeUndefined()
89
+ })
90
+
91
+ test('a local JSX-producing const factory is NOT flagged dynamicTag', () => {
92
+ const ir = compileToIR(`
93
+ export function Demo() {
94
+ const Inner = () => <span>x</span>
95
+ return <div><Inner /></div>
96
+ }
97
+ `)
98
+ const inner = findComponent(ir.root, 'Inner')
99
+ // Local component factories lower via the jsx* inlining paths; whether
100
+ // they survive as an IRComponent node or get inlined, they must never
101
+ // carry the dynamicTag flag (their initializer is an arrow, not `.tag`).
102
+ if (inner) expect(inner.dynamicTag).toBeUndefined()
103
+ })
104
+ })
@@ -853,9 +853,26 @@ function collectFromElement(element: IRElement, ctx: ClientJsContext, insideCond
853
853
  const elemRestName = ctx.restPropsName
854
854
  const elemPropsObjName = ctx.propsObjectName
855
855
  if (spreadVal && (spreadVal === elemRestName || spreadVal === elemPropsObjName)) {
856
- const excludeKeys = element.attrs
856
+ // `applyRestAttrs(_el, _p, exclude)` is handed the FULL props
857
+ // object (`PROPS_PARAM`), not a computed JS rest binding, and the
858
+ // runtime filters by SOURCE KEY (`source[key]`). So `exclude` must
859
+ // list every prop the component already consumed, keyed the way it
860
+ // arrives on `_p`. For the destructured `...rest` form that set is
861
+ // exactly the destructured param names (the JS rest-exclusion set):
862
+ // it covers every statically/reactively bound attr AND the
863
+ // separately-wired event/ref handlers. Without it, applyRestAttrs
864
+ // re-binds those events (double-fire) and re-emits consumed-but-
865
+ // unbound props under their raw key (e.g. `error` → `error="…"`,
866
+ // `describedBy` → `describedBy="…"`). The element-attr-name list
867
+ // alone was wrong on both counts — it keys on HTML attr names
868
+ // (`aria-invalid` ≠ source key `error`) and omits event handlers.
869
+ // (#1467)
870
+ const consumedKeys =
871
+ spreadVal === elemRestName ? ctx.propsParams.map(p => p.name) : []
872
+ const staticAttrKeys = element.attrs
857
873
  .filter(a => a.name !== '...')
858
874
  .map(a => a.name)
875
+ const excludeKeys = [...new Set([...consumedKeys, ...staticAttrKeys])]
859
876
  ctx.restAttrElements.push({
860
877
  slotId: element.slotId,
861
878
  source: PROPS_PARAM,
@@ -550,6 +550,13 @@ export interface RestAttrElement {
550
550
  slotId: string
551
551
  /** The spread source expression (e.g., 'rest', 'props') */
552
552
  source: string
553
- /** Attribute names already statically set on the element (exclude from applyRestAttrs) */
553
+ /**
554
+ * Prop SOURCE KEYS already consumed by the component (exclude from
555
+ * applyRestAttrs). For the destructured `...rest` form this is the
556
+ * destructured param names (the JS rest-exclusion set) unioned with any
557
+ * statically-set attr names; applyRestAttrs filters `source[key]` by these
558
+ * so it neither re-binds separately-wired events nor re-emits consumed
559
+ * props under their raw key. See collect-elements.ts for the rationale.
560
+ */
554
561
  excludeKeys: string[]
555
562
  }
package/src/jsx-to-ir.ts CHANGED
@@ -1050,6 +1050,7 @@ function transformComponentElement(
1050
1050
  children,
1051
1051
  template: name.toLowerCase(),
1052
1052
  slotId,
1053
+ ...(isDynamicTagLocal(name, ctx) ? { dynamicTag: true } : {}),
1053
1054
  loc: getSourceLocation(node, ctx.sourceFile, ctx.filePath),
1054
1055
  }
1055
1056
  }
@@ -1079,6 +1080,7 @@ function transformSelfClosingComponent(
1079
1080
  children: [],
1080
1081
  template: name.toLowerCase(),
1081
1082
  slotId,
1083
+ ...(isDynamicTagLocal(name, ctx) ? { dynamicTag: true } : {}),
1082
1084
  loc: getSourceLocation(node, ctx.sourceFile, ctx.filePath),
1083
1085
  }
1084
1086
  }
@@ -3959,6 +3961,73 @@ function findLocalConst(name: string, ctx: TransformContext) {
3959
3961
  return pool[pool.length - 1]
3960
3962
  }
3961
3963
 
3964
+ /**
3965
+ * Detect a PascalCase JSX tag that is really a *dynamic tag* local
3966
+ * (`const Tag = children.tag`) rather than a component reference.
3967
+ *
3968
+ * Such a "component" has no registrable template — the tag is chosen at
3969
+ * runtime. The Go template adapter consumes the resulting `dynamicTag`
3970
+ * flag to lower the node to a children passthrough so its dead branch
3971
+ * registers cleanly (Hono/CSR/Mojo ignore the flag).
3972
+ *
3973
+ * A name qualifies only when (a) a `const <name> = <expr>.tag` binding
3974
+ * exists somewhere in the source — at any nesting depth, since the
3975
+ * canonical pattern lives inside an `if (isValidElement(children)) {…}`
3976
+ * block and never reaches the analyzer's `localConstants` (which only
3977
+ * collects component-body-level bindings) — AND (b) the name is NOT a
3978
+ * JSX-producing local (those are tracked in the analyzer's jsx* /
3979
+ * inlineable sets). The `.tag` initializer check already excludes real
3980
+ * imported components (their binding is an import, not a `.tag` const)
3981
+ * and local component factories like `const Foo = () => <div/>` (an
3982
+ * arrow initializer, not a `.tag` access); the jsx* guards are a
3983
+ * belt-and-suspenders second line. Each set is guarded defensively in
3984
+ * case it is absent on a given analyzer context.
3985
+ */
3986
+ function isDynamicTagLocal(name: string, ctx: TransformContext): boolean {
3987
+ if (!hasDynamicTagBinding(name, ctx.sourceFile)) return false
3988
+ const a = ctx.analyzer
3989
+ if (a.jsxConstants?.has(name)) return false
3990
+ if (a.jsxFunctions?.has(name)) return false
3991
+ if (a.jsxMultiReturnFunctions?.has(name)) return false
3992
+ if (a.inlineableJsxConsts?.has(name)) return false
3993
+ return true
3994
+ }
3995
+
3996
+ /**
3997
+ * True when the source contains a `const <name> = <expr>.tag` (the
3998
+ * dynamic-tag pattern), at any nesting depth. The initializer may be
3999
+ * wrapped in an `as`/`satisfies`/parenthesized cast (`children.tag as any`).
4000
+ */
4001
+ function hasDynamicTagBinding(name: string, sourceFile: ts.SourceFile): boolean {
4002
+ let found = false
4003
+ const visit = (node: ts.Node): void => {
4004
+ if (found) return
4005
+ if (
4006
+ ts.isVariableDeclaration(node) &&
4007
+ ts.isIdentifier(node.name) &&
4008
+ node.name.text === name &&
4009
+ node.initializer
4010
+ ) {
4011
+ let init: ts.Expression = node.initializer
4012
+ while (
4013
+ ts.isAsExpression(init) ||
4014
+ ts.isSatisfiesExpression(init) ||
4015
+ ts.isParenthesizedExpression(init) ||
4016
+ ts.isNonNullExpression(init)
4017
+ ) {
4018
+ init = init.expression
4019
+ }
4020
+ if (ts.isPropertyAccessExpression(init) && init.name.text === 'tag') {
4021
+ found = true
4022
+ return
4023
+ }
4024
+ }
4025
+ ts.forEachChild(node, visit)
4026
+ }
4027
+ visit(sourceFile)
4028
+ return found
4029
+ }
4030
+
3962
4031
  /**
3963
4032
  * Resolve a `className={ident}` reference where `ident` is a local
3964
4033
  * const bound to a template literal — typically the cva-style pattern
package/src/types.ts CHANGED
@@ -674,6 +674,15 @@ export interface IRComponent {
674
674
  children: IRNode[]
675
675
  template: string // Reference to partial
676
676
  slotId: string | null // For components with event handlers
677
+ /**
678
+ * True when `name` is a dynamic-tag local (`const Tag = children.tag`)
679
+ * rather than a real component reference. Such a "component" has no
680
+ * registrable template — it is a runtime-chosen tag. Consumed ONLY by
681
+ * the Go template adapter, which lowers it to a children passthrough so
682
+ * the dead branch registers cleanly (Hono/CSR/Mojo ignore this flag).
683
+ * Omitted (undefined) for ordinary components to keep IR diffs minimal.
684
+ */
685
+ dynamicTag?: boolean
677
686
  loc: SourceLocation
678
687
  }
679
688