@communities-webruntime/services
Version:
If you would like to run Lightning Web Runtime without the CLI, we expose some of our programmatic APIs available in Node.js. If you're looking for the CLI documentation [you can find that here](https://www.npmjs.com/package/@communities-webruntime/cli).
30 lines • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultComponentTemplateGenerator = void 0;
const common_1 = require("@communities-webruntime/common");
const template_utils_1 = require("./template-utils");
class DefaultComponentTemplateGenerator {
generate({ cmp, attributeSet, containerRegion, isRenderDesignMode, isThemeLayout, }) {
const elem = common_1.moduleSpecifierToElementName(cmp.descriptor);
const attrs = template_utils_1.attributes(cmp, attributeSet);
// If we're in designmode, the component isn't rendered in a slot but instead is rendered
// directly by the webruntime-generated-component wrapper
const slot = !isRenderDesignMode ? template_utils_1.buildSlot(containerRegion) : ` `;
const rgns = template_utils_1.regions({
regionList: cmp.regions,
isThemeLayout: !!isThemeLayout,
attributeSet: attrs.attributes,
isRenderDesignMode,
});
return {
html: `<${elem}${attrs.html}${slot}>${rgns}</${elem}>`,
attrs,
};
}
// No componentName, as it represents all components without a custom generator
getComponentName() {
return ``;
}
}
exports.DefaultComponentTemplateGenerator = DefaultComponentTemplateGenerator;
//# sourceMappingURL=default-component-template-generator.js.map