diff --git a/packages/svelte2tsx/src/htmlxtojsx/index.ts b/packages/svelte2tsx/src/htmlxtojsx/index.ts
index 9942c94af..7e0c3dd84 100644
--- a/packages/svelte2tsx/src/htmlxtojsx/index.ts
+++ b/packages/svelte2tsx/src/htmlxtojsx/index.ts
@@ -205,7 +205,7 @@ export function convertHtmlxToJsx(
case 'InlineComponent':
return getTypeForComponent(node);
case 'Element':
- return 'HTMLElement';
+ return `__sveltets_ctorOf(__sveltets_mapElementTag('${node.name}'))`;
case 'Body':
return 'HTMLBodyElement';
default:
@@ -360,12 +360,13 @@ export function convertHtmlxToJsx(
//skip Attribute shorthand, that is handled below
const sapperNoScroll = attr.name === 'sapper:noscroll';
if (
- attr.value !== true &&
- !(
- attr.value.length &&
- attr.value.length == 1 &&
- attr.value[0].type == 'AttributeShorthand'
- ) || sapperNoScroll
+ (attr.value !== true &&
+ !(
+ attr.value.length &&
+ attr.value.length == 1 &&
+ attr.value[0].type == 'AttributeShorthand'
+ )) ||
+ sapperNoScroll
) {
let name = attr.name;
if (!svgAttributes.find((x) => x == name)) {
diff --git a/packages/svelte2tsx/svelte-shims.d.ts b/packages/svelte2tsx/svelte-shims.d.ts
index 8198df2de..3d5b8e01d 100644
--- a/packages/svelte2tsx/svelte-shims.d.ts
+++ b/packages/svelte2tsx/svelte-shims.d.ts
@@ -105,6 +105,7 @@ declare function __sveltets_ensureAction(
declare function __sveltets_ensureTransition(transition: SvelteTransition, ...args: U): {};
declare function __sveltets_ensureFunction(expression: (e: Event & { detail?: any }) => unknown ): {};
declare function __sveltets_ensureType(type: AConstructorTypeOf, el: T): {};
+declare function __sveltets_ctorOf(type: T): AConstructorTypeOf;
declare function __sveltets_instanceOf(type: AConstructorTypeOf): T;
declare function __sveltets_allPropsType(): SvelteAllProps
declare function __sveltets_restPropsType(): SvelteRestProps
diff --git a/packages/svelte2tsx/test/htmlx2jsx/samples/binding-this/expected.jsx b/packages/svelte2tsx/test/htmlx2jsx/samples/binding-this/expected.jsx
index 0d61e1853..da0fb960b 100644
--- a/packages/svelte2tsx/test/htmlx2jsx/samples/binding-this/expected.jsx
+++ b/packages/svelte2tsx/test/htmlx2jsx/samples/binding-this/expected.jsx
@@ -1 +1 @@
-<>>
+<>>
diff --git a/packages/svelte2tsx/test/sourcemaps/repl.html b/packages/svelte2tsx/test/sourcemaps/repl.html
index 12c36a1a9..78d320334 100644
--- a/packages/svelte2tsx/test/sourcemaps/repl.html
+++ b/packages/svelte2tsx/test/sourcemaps/repl.html
@@ -136,7 +136,7 @@
-