UNPKG

@builder.io/mitosis

Version:

Write components once, run everywhere. Compiles to Vue, React, Solid, and Liquid. Import code from Figma and Builder.io

26 lines (25 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getInitEmbedViewCode = exports.getDynamicTemplateRefs = void 0; const getViewContainerRefName = (component) => { return component.split('.')[1].toLowerCase() + 'TemplateRef'; }; const getNgTemplateRefName = (component) => { return component.split('.')[1].toLowerCase() + 'Template'; }; const getDynamicTemplateRefs = (dynamicComponents) => { return ` myContent = signal<any[]>([]); ${Array.from(dynamicComponents) .map((component) => `${getViewContainerRefName(component)} = viewChild<TemplateRef<any>>('${getNgTemplateRefName(component)}');`) .join('\n')} `; }; exports.getDynamicTemplateRefs = getDynamicTemplateRefs; const getInitEmbedViewCode = (dynamicComponents) => { return ` this.myContent.set([${Array.from(dynamicComponents) .map((component) => `this.viewContainer.createEmbeddedView(this.${getViewContainerRefName(component)}()).rootNodes`) .join(', ')}]);`; }; exports.getInitEmbedViewCode = getInitEmbedViewCode;