diff --git a/packages/vue-output-target/package.json b/packages/vue-output-target/package.json index cbdb1497..40f3657e 100644 --- a/packages/vue-output-target/package.json +++ b/packages/vue-output-target/package.json @@ -33,7 +33,7 @@ "url": "https://github.com/ionic-team/stencil-ds-output-targets/issues" }, "peerDependencies": { - "@stencil/core": "^2.9.0" + "@stencil/core": "^2.17.2" }, "jest": { "transform": { diff --git a/packages/vue-output-target/src/generate-vue-component.ts b/packages/vue-output-target/src/generate-vue-component.ts index 968ea3b0..b3f7c3ea 100644 --- a/packages/vue-output-target/src/generate-vue-component.ts +++ b/packages/vue-output-target/src/generate-vue-component.ts @@ -8,6 +8,8 @@ export const createComponentDefinition = ( includeCustomElement: boolean = false ) => (cmpMeta: Pick) => { const tagNameAsPascal = dashToPascalCase(cmpMeta.tagName); + const classTypeParams = + cmpMeta.componentClassTypeParameters.length > 0 ? `<${cmpMeta.componentClassTypeParameters.join(',')}>` : ''; const importAs = (includeCustomElement) ? 'define' + tagNameAsPascal : 'undefined'; let props: string[] = []; @@ -24,7 +26,7 @@ export const createComponentDefinition = ( } let templateString = ` -export const ${tagNameAsPascal} = /*@__PURE__*/ defineContainer<${importTypes}.${tagNameAsPascal}>('${cmpMeta.tagName}', ${importAs}`; +export const ${tagNameAsPascal}${classTypeParams} = /*@__PURE__*/ defineContainer<${importTypes}.${tagNameAsPascal}${classTypeParams}>('${cmpMeta.tagName}', ${importAs}`; const findModel = componentModelConfig && componentModelConfig.find(config => config.elements.includes(cmpMeta.tagName));