diff --git a/packages/core/src/__tests__/__snapshots__/alpine.test.ts.snap b/packages/core/src/__tests__/__snapshots__/alpine.test.ts.snap
index 8f5690c779..d4bdc46ea9 100644
--- a/packages/core/src/__tests__/__snapshots__/alpine.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/alpine.test.ts.snap
@@ -1609,7 +1609,7 @@ exports[`Alpine.js > jsx > Javascript Test > defaultProps 1`] = `
@@ -4076,7 +4076,7 @@ exports[`Alpine.js > jsx > Typescript Test > defaultProps 1`] = `
diff --git a/packages/core/src/__tests__/__snapshots__/angular.import.test.ts.snap b/packages/core/src/__tests__/__snapshots__/angular.import.test.ts.snap
index b96ffae7da..c999eb1b13 100644
--- a/packages/core/src/__tests__/__snapshots__/angular.import.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/angular.import.test.ts.snap
@@ -2689,6 +2689,8 @@ import { Output, EventEmitter, Component, Input } from \\"@angular/core\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -2717,7 +2719,7 @@ const defaultProps = {
@@ -2729,6 +2731,7 @@ export class Button {
@Input() openLinkInNewTab: ButtonProps[\\"openLinkInNewTab\\"] =
defaultProps[\\"openLinkInNewTab\\"];
@Input() text: ButtonProps[\\"text\\"] = defaultProps[\\"text\\"];
+ @Input() buttonText: ButtonProps[\\"buttonText\\"];
@Output() onClick = new EventEmitter();
}
@@ -7017,6 +7020,8 @@ import { Output, EventEmitter, Component, Input } from \\"@angular/core\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -7045,7 +7050,7 @@ const defaultProps = {
@@ -7057,6 +7062,7 @@ export class Button {
@Input() openLinkInNewTab: ButtonProps[\\"openLinkInNewTab\\"] =
defaultProps[\\"openLinkInNewTab\\"];
@Input() text: ButtonProps[\\"text\\"] = defaultProps[\\"text\\"];
+ @Input() buttonText: ButtonProps[\\"buttonText\\"];
@Output() onClick = new EventEmitter();
}
diff --git a/packages/core/src/__tests__/__snapshots__/angular.mapper.test.ts.snap b/packages/core/src/__tests__/__snapshots__/angular.mapper.test.ts.snap
index 0e972b516d..505a6f1dd8 100644
--- a/packages/core/src/__tests__/__snapshots__/angular.mapper.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/angular.mapper.test.ts.snap
@@ -2739,6 +2739,8 @@ import { Output, EventEmitter, Component, Input } from \\"@angular/core\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -2767,7 +2769,7 @@ const defaultProps = {
@@ -2779,6 +2781,7 @@ export class Button {
@Input() openLinkInNewTab: ButtonProps[\\"openLinkInNewTab\\"] =
defaultProps[\\"openLinkInNewTab\\"];
@Input() text: ButtonProps[\\"text\\"] = defaultProps[\\"text\\"];
+ @Input() buttonText: ButtonProps[\\"buttonText\\"];
@Output() onClick = new EventEmitter();
}
@@ -7157,6 +7160,8 @@ import { Output, EventEmitter, Component, Input } from \\"@angular/core\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -7185,7 +7190,7 @@ const defaultProps = {
@@ -7197,6 +7202,7 @@ export class Button {
@Input() openLinkInNewTab: ButtonProps[\\"openLinkInNewTab\\"] =
defaultProps[\\"openLinkInNewTab\\"];
@Input() text: ButtonProps[\\"text\\"] = defaultProps[\\"text\\"];
+ @Input() buttonText: ButtonProps[\\"buttonText\\"];
@Output() onClick = new EventEmitter();
}
diff --git a/packages/core/src/__tests__/__snapshots__/angular.test.ts.snap b/packages/core/src/__tests__/__snapshots__/angular.test.ts.snap
index 8cba44386e..64da4bb6ec 100644
--- a/packages/core/src/__tests__/__snapshots__/angular.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/angular.test.ts.snap
@@ -5517,6 +5517,8 @@ import { Output, EventEmitter, Component, Input } from \\"@angular/core\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -5545,7 +5547,7 @@ const defaultProps = {
@@ -5557,6 +5559,7 @@ export class Button {
@Input() openLinkInNewTab: ButtonProps[\\"openLinkInNewTab\\"] =
defaultProps[\\"openLinkInNewTab\\"];
@Input() text: ButtonProps[\\"text\\"] = defaultProps[\\"text\\"];
+ @Input() buttonText: ButtonProps[\\"buttonText\\"];
@Output() onClick = new EventEmitter();
}
@@ -5580,6 +5583,8 @@ import { CommonModule } from \\"@angular/common\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -5608,7 +5613,7 @@ const defaultProps = {
@@ -5622,6 +5627,7 @@ export class Button {
@Input() openLinkInNewTab: ButtonProps[\\"openLinkInNewTab\\"] =
defaultProps[\\"openLinkInNewTab\\"];
@Input() text: ButtonProps[\\"text\\"] = defaultProps[\\"text\\"];
+ @Input() buttonText: ButtonProps[\\"buttonText\\"];
@Output() onClick = new EventEmitter();
}
@@ -14433,6 +14439,8 @@ import { Output, EventEmitter, Component, Input } from \\"@angular/core\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -14461,7 +14469,7 @@ const defaultProps = {
@@ -14473,6 +14481,7 @@ export class Button {
@Input() openLinkInNewTab: ButtonProps[\\"openLinkInNewTab\\"] =
defaultProps[\\"openLinkInNewTab\\"];
@Input() text: ButtonProps[\\"text\\"] = defaultProps[\\"text\\"];
+ @Input() buttonText: ButtonProps[\\"buttonText\\"];
@Output() onClick = new EventEmitter();
}
@@ -14496,6 +14505,8 @@ import { CommonModule } from \\"@angular/common\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -14524,7 +14535,7 @@ const defaultProps = {
@@ -14538,6 +14549,7 @@ export class Button {
@Input() openLinkInNewTab: ButtonProps[\\"openLinkInNewTab\\"] =
defaultProps[\\"openLinkInNewTab\\"];
@Input() text: ButtonProps[\\"text\\"] = defaultProps[\\"text\\"];
+ @Input() buttonText: ButtonProps[\\"buttonText\\"];
@Output() onClick = new EventEmitter();
}
diff --git a/packages/core/src/__tests__/__snapshots__/html.test.ts.snap b/packages/core/src/__tests__/__snapshots__/html.test.ts.snap
index e45864e7da..6b527cb43e 100644
--- a/packages/core/src/__tests__/__snapshots__/html.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/html.test.ts.snap
@@ -3645,7 +3645,7 @@ exports[`Html > jsx > Javascript Test > defaultProps 1`] = `
@@ -3705,7 +3705,7 @@ exports[`Html > jsx > Javascript Test > defaultProps 1`] = `
});
document.querySelectorAll(\\"[data-el='div-2']\\").forEach((el) => {
- renderTextNode(el, props.text);
+ renderTextNode(el, props.buttonText);
});
destroyAnyNodes();
@@ -9335,7 +9335,7 @@ exports[`Html > jsx > Typescript Test > defaultProps 1`] = `
@@ -9395,7 +9395,7 @@ exports[`Html > jsx > Typescript Test > defaultProps 1`] = `
});
document.querySelectorAll(\\"[data-el='div-2']\\").forEach((el) => {
- renderTextNode(el, props.text);
+ renderTextNode(el, props.buttonText);
});
destroyAnyNodes();
diff --git a/packages/core/src/__tests__/__snapshots__/lit.test.ts.snap b/packages/core/src/__tests__/__snapshots__/lit.test.ts.snap
index dee0b3cd36..74866fa70a 100644
--- a/packages/core/src/__tests__/__snapshots__/lit.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/lit.test.ts.snap
@@ -2608,6 +2608,8 @@ import { customElement, property, state, query } from \\"lit/decorators.js\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -2632,6 +2634,7 @@ export default class Button extends LitElement {
@property() openLinkInNewTab: any;
@property() text: any;
@property() onClick: any;
+ @property() buttonText: any;
render() {
return html\`
@@ -2657,7 +2660,7 @@ export default class Button extends LitElement {
event
) => this.onClick(event)} >
- \${this.text}
+ \${this.buttonText}
\`
: null
@@ -6813,6 +6816,8 @@ import { customElement, property, state, query } from \\"lit/decorators.js\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -6837,6 +6842,7 @@ export default class Button extends LitElement {
@property() openLinkInNewTab: any;
@property() text: any;
@property() onClick: any;
+ @property() buttonText: any;
render() {
return html\`
@@ -6862,7 +6868,7 @@ export default class Button extends LitElement {
event
) => this.onClick(event)} >
- \${this.text}
+ \${this.buttonText}
\`
: null
diff --git a/packages/core/src/__tests__/__snapshots__/marko.test.ts.snap b/packages/core/src/__tests__/__snapshots__/marko.test.ts.snap
index 450e49c601..08dd29ddb0 100644
--- a/packages/core/src/__tests__/__snapshots__/marko.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/marko.test.ts.snap
@@ -1528,7 +1528,7 @@ exports[`Marko > jsx > Javascript Test > defaultProps 1`] = `
...(props.attributes)
on-click(event => input.onClick(event))
>
- \${input.text}
+ \${input.buttonText}
"
`;
@@ -3718,7 +3718,7 @@ exports[`Marko > jsx > Typescript Test > defaultProps 1`] = `
...(props.attributes)
on-click(event => input.onClick(event))
>
- \${input.text}
+ \${input.buttonText}
"
`;
diff --git a/packages/core/src/__tests__/__snapshots__/parse-jsx.test.ts.snap b/packages/core/src/__tests__/__snapshots__/parse-jsx.test.ts.snap
index b4ee750e18..16654db23b 100644
--- a/packages/core/src/__tests__/__snapshots__/parse-jsx.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/parse-jsx.test.ts.snap
@@ -7776,7 +7776,7 @@ exports[`Parse JSX > defaultProps 1`] = `
"@type": "@builder.io/mitosis/node",
"bindings": {
"_text": {
- "code": "props.text",
+ "code": "props.buttonText",
},
},
"children": [],
@@ -7880,6 +7880,8 @@ exports[`Parse JSX > defaultProps 1`] = `
"export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
diff --git a/packages/core/src/__tests__/__snapshots__/preact.test.ts.snap b/packages/core/src/__tests__/__snapshots__/preact.test.ts.snap
index d5ecdaf091..ea7d5c8bcf 100644
--- a/packages/core/src/__tests__/__snapshots__/preact.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/preact.test.ts.snap
@@ -1823,7 +1823,7 @@ export default function Button(props) {
{...props.attributes}
onClick={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
) : null}
@@ -4941,6 +4941,8 @@ import { h, Fragment } from \\"preact\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -4968,7 +4970,7 @@ export default function Button(props: ButtonProps) {
{...props.attributes}
onClick={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
) : null}
diff --git a/packages/core/src/__tests__/__snapshots__/qwik.test.ts.snap b/packages/core/src/__tests__/__snapshots__/qwik.test.ts.snap
index 9cfe970af2..8f7d988c7e 100644
--- a/packages/core/src/__tests__/__snapshots__/qwik.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/qwik.test.ts.snap
@@ -2891,7 +2891,7 @@ export const Button = component$((props) => {
{...props.attributes}
onClick$={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
) : null}
@@ -5890,6 +5890,8 @@ import { Fragment, component$, h } from \\"@builder.io/qwik\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -5912,7 +5914,7 @@ export const Button = component$((props: ButtonProps) => {
{...props.attributes}
onClick$={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
) : null}
diff --git a/packages/core/src/__tests__/__snapshots__/react-native.test.ts.snap b/packages/core/src/__tests__/__snapshots__/react-native.test.ts.snap
index 55e58e1a34..9bfc0f43db 100644
--- a/packages/core/src/__tests__/__snapshots__/react-native.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/react-native.test.ts.snap
@@ -1746,7 +1746,7 @@ export default function Button(props) {
{...props.attributes}
onClick={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
>
) : null}
@@ -4781,6 +4781,8 @@ import { View, StyleSheet, Image, Text } from \\"react-native\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -4808,7 +4810,7 @@ export default function Button(props: ButtonProps) {
{...props.attributes}
onClick={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
>
) : null}
diff --git a/packages/core/src/__tests__/__snapshots__/react.test.ts.snap b/packages/core/src/__tests__/__snapshots__/react.test.ts.snap
index 9289f13680..713d4d6367 100644
--- a/packages/core/src/__tests__/__snapshots__/react.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/react.test.ts.snap
@@ -1774,7 +1774,7 @@ export default function Button(props) {
{...props.attributes}
onClick={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
>
) : null}
@@ -4806,6 +4806,8 @@ exports[`React > jsx > Typescript Test > defaultProps 1`] = `
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -4833,7 +4835,7 @@ export default function Button(props: ButtonProps) {
{...props.attributes}
onClick={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
>
) : null}
diff --git a/packages/core/src/__tests__/__snapshots__/rsc.test.ts.snap b/packages/core/src/__tests__/__snapshots__/rsc.test.ts.snap
index cdfcf62178..b20f2a5389 100644
--- a/packages/core/src/__tests__/__snapshots__/rsc.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/rsc.test.ts.snap
@@ -1617,7 +1617,7 @@ export default function Button(props) {
{!props.link ? (
<>
>
) : null}
@@ -4486,6 +4486,8 @@ exports[`RSC > jsx > Typescript Test > defaultProps 1`] = `
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -4511,7 +4513,7 @@ export default function Button(props: ButtonProps) {
{!props.link ? (
<>
>
) : null}
diff --git a/packages/core/src/__tests__/__snapshots__/solid.test.ts.snap b/packages/core/src/__tests__/__snapshots__/solid.test.ts.snap
index cd27cf2e74..fe07cfe3ae 100644
--- a/packages/core/src/__tests__/__snapshots__/solid.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/solid.test.ts.snap
@@ -3835,7 +3835,7 @@ function Button(props) {
{...props.attributes}
onClick={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
@@ -3870,7 +3870,7 @@ function Button(props) {
{...props.attributes}
onClick={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
@@ -10249,6 +10249,8 @@ exports[`Solid > jsx > Typescript Test > defaultProps 1`] = `
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -10272,7 +10274,7 @@ function Button(props: ButtonProps) {
{...props.attributes}
onClick={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
@@ -10290,6 +10292,8 @@ import { css } from \\"solid-styled-components\\";
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -10314,7 +10318,7 @@ function Button(props: ButtonProps) {
{...props.attributes}
onClick={(event) => props.onClick(event)}
>
- {props.text}
+ {props.buttonText}
diff --git a/packages/core/src/__tests__/__snapshots__/stencil.test.ts.snap b/packages/core/src/__tests__/__snapshots__/stencil.test.ts.snap
index f32e77ee3c..a1b248e9a8 100644
--- a/packages/core/src/__tests__/__snapshots__/stencil.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/stencil.test.ts.snap
@@ -2014,6 +2014,7 @@ export default class Button {
@Prop() openLinkInNewTab: any;
@Prop() text: any;
@Prop() onClick: any;
+ @Prop() buttonText: any;
render() {
return (
@@ -2037,7 +2038,7 @@ export default class Button {
{...props.attributes}
onClick={(event) => this.onClick(event)}
>
- {this.text}
+ {this.buttonText}
>
) : null}
@@ -4832,6 +4833,7 @@ export default class Button {
@Prop() openLinkInNewTab: any;
@Prop() text: any;
@Prop() onClick: any;
+ @Prop() buttonText: any;
render() {
return (
@@ -4855,7 +4857,7 @@ export default class Button {
{...props.attributes}
onClick={(event) => this.onClick(event)}
>
- {this.text}
+ {this.buttonText}
>
) : null}
diff --git a/packages/core/src/__tests__/__snapshots__/svelte.test.ts.snap b/packages/core/src/__tests__/__snapshots__/svelte.test.ts.snap
index fdf5fd9012..d26210140c 100644
--- a/packages/core/src/__tests__/__snapshots__/svelte.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/svelte.test.ts.snap
@@ -1525,6 +1525,7 @@ exports[`Svelte > jsx > Javascript Test > defaultProps 1`] = `
export let onClick = () => {
console.log(\\"hi\\");
};
+ export let buttonText;
@@ -1546,7 +1547,7 @@ exports[`Svelte > jsx > Javascript Test > defaultProps 1`] = `
onClick(event);
}}
>
- {text}
+ {buttonText}
{/if}
"
@@ -4164,6 +4165,8 @@ exports[`Svelte > jsx > Typescript Test > defaultProps 1`] = `
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -4178,6 +4181,7 @@ exports[`Svelte > jsx > Typescript Test > defaultProps 1`] = `
export let onClick: ButtonProps[\\"onClick\\"] = () => {
console.log(\\"hi\\");
};
+ export let buttonText: ButtonProps[\\"buttonText\\"];
@@ -4199,7 +4203,7 @@ exports[`Svelte > jsx > Typescript Test > defaultProps 1`] = `
onClick(event);
}}
>
- {text}
+ {buttonText}
{/if}
"
diff --git a/packages/core/src/__tests__/__snapshots__/vue-composition.test.ts.snap b/packages/core/src/__tests__/__snapshots__/vue-composition.test.ts.snap
index e4d5f00d6b..bc20885494 100644
--- a/packages/core/src/__tests__/__snapshots__/vue-composition.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/vue-composition.test.ts.snap
@@ -1814,7 +1814,7 @@ exports[`Vue > jsx > Javascript Test > defaultProps 1`] = `
@@ -1823,12 +1823,13 @@ exports[`Vue > jsx > Javascript Test > defaultProps 1`] = `
"
`;
@@ -1857,7 +1858,7 @@ exports[`Vue > jsx > Javascript Test > defaultPropsOutsideComponent 1`] = `
"
`;
@@ -4783,7 +4787,7 @@ export interface ButtonProps {
const props = withDefaults(defineProps(), {
link: \\"https://builder.io/\\",
- attributes: {},
+ attributes: undefined,
openLinkInNewTab: false,
text: \\"default text\\",
onClick: () => {},
@@ -5831,7 +5835,7 @@ exports[`Vue > svelte > Javascript Test > classDirective 1`] = `
"
@@ -2095,7 +2096,7 @@ export default {
props: {
link: { default: \\"https://builder.io/\\" },
- attributes: { default: {} },
+ attributes: { default: undefined },
openLinkInNewTab: { default: false },
text: { default: \\"default text\\" },
onClick: { default: () => {} },
@@ -5422,7 +5423,7 @@ exports[`Vue > jsx > Typescript Test > defaultProps 1`] = `
@@ -5432,6 +5433,8 @@ exports[`Vue > jsx > Typescript Test > defaultProps 1`] = `
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -5442,7 +5445,7 @@ export default {
props: {
link: { default: \\"https://builder.io/\\" },
- attributes: { default: {} },
+ attributes: { default: undefined },
openLinkInNewTab: { default: false },
text: { default: \\"default text\\" },
onClick: {
@@ -5450,6 +5453,7 @@ export default {
console.log(\\"hi\\");
},
},
+ buttonText: { default: undefined },
},
};
"
@@ -5490,7 +5494,7 @@ export default {
props: {
link: { default: \\"https://builder.io/\\" },
- attributes: { default: {} },
+ attributes: { default: undefined },
openLinkInNewTab: { default: false },
text: { default: \\"default text\\" },
onClick: { default: () => {} },
@@ -6705,7 +6709,7 @@ exports[`Vue > svelte > Javascript Test > classDirective 1`] = `
export default {
name: \\"my-component\\",
- props: { disabled: { default: {} } },
+ props: { disabled: { default: undefined } },
data() {
return { focus: true };
@@ -7109,7 +7113,7 @@ exports[`Vue > svelte > Typescript Test > classDirective 1`] = `
export default {
name: \\"my-component\\",
- props: { disabled: { default: {} } },
+ props: { disabled: { default: undefined } },
data() {
return { focus: true };
diff --git a/packages/core/src/__tests__/__snapshots__/webcomponent.test.ts.snap b/packages/core/src/__tests__/__snapshots__/webcomponent.test.ts.snap
index 08fea820c8..8d8f56d2c0 100644
--- a/packages/core/src/__tests__/__snapshots__/webcomponent.test.ts.snap
+++ b/packages/core/src/__tests__/__snapshots__/webcomponent.test.ts.snap
@@ -8160,6 +8160,8 @@ exports[`webcomponent > jsx > Javascript Test > defaultProps 1`] = `
"export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -8191,6 +8193,7 @@ class Button extends HTMLElement {
\\"openLinkInNewTab\\",
\\"text\\",
\\"onClick\\",
+ \\"buttonText\\",
];
// used to keep track of all nodes created by show/for
@@ -8238,7 +8241,7 @@ class Button extends HTMLElement {
\`;
@@ -8325,7 +8328,7 @@ class Button extends HTMLElement {
});
this._root.querySelectorAll(\\"[data-el='div-button-2']\\").forEach((el) => {
- this.renderTextNode(el, this.props.text);
+ this.renderTextNode(el, this.props.buttonText);
});
}
@@ -20612,6 +20615,8 @@ exports[`webcomponent > jsx > Typescript Test > defaultProps 1`] = `
"export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
+
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -20643,6 +20648,7 @@ class Button extends HTMLElement {
\\"openLinkInNewTab\\",
\\"text\\",
\\"onClick\\",
+ \\"buttonText\\",
];
// used to keep track of all nodes created by show/for
@@ -20690,7 +20696,7 @@ class Button extends HTMLElement {
\`;
@@ -20777,7 +20783,7 @@ class Button extends HTMLElement {
});
this._root.querySelectorAll(\\"[data-el='div-button-2']\\").forEach((el) => {
- this.renderTextNode(el, this.props.text);
+ this.renderTextNode(el, this.props.buttonText);
});
}
diff --git a/packages/core/src/__tests__/data/default-props/default-props.raw.tsx b/packages/core/src/__tests__/data/default-props/default-props.raw.tsx
index 22cf02b3ff..218182518d 100644
--- a/packages/core/src/__tests__/data/default-props/default-props.raw.tsx
+++ b/packages/core/src/__tests__/data/default-props/default-props.raw.tsx
@@ -3,6 +3,7 @@ import { Show, useDefaultProps } from '@builder.io/mitosis';
export interface ButtonProps {
attributes?: any;
text?: string;
+ buttonText?: string; // no default value
link?: string;
openLinkInNewTab?: boolean;
onClick?: () => void;
@@ -31,7 +32,7 @@ export default function Button(props: ButtonProps) {
diff --git a/packages/core/src/generators/angular.ts b/packages/core/src/generators/angular.ts
index f7fd0148b6..3991057489 100644
--- a/packages/core/src/generators/angular.ts
+++ b/packages/core/src/generators/angular.ts
@@ -444,7 +444,7 @@ export const componentToAngular: TranspilerGenerator =
.map((prop) => {
const value = json.defaultProps!.hasOwnProperty(prop)
? json.defaultProps![prop]?.code
- : '{}';
+ : 'undefined';
return `${prop}: ${value}`;
})
.join(',');
diff --git a/packages/core/src/generators/react/generator.ts b/packages/core/src/generators/react/generator.ts
index e3dddf4ca8..f91e5e777d 100644
--- a/packages/core/src/generators/react/generator.ts
+++ b/packages/core/src/generators/react/generator.ts
@@ -571,7 +571,7 @@ const _componentToReact = (
.map((prop) => {
const value = json.defaultProps!.hasOwnProperty(prop)
? json.defaultProps![prop]?.code
- : '{}';
+ : 'undefined';
return `${prop}: ${value}`;
})
.join(',');
diff --git a/packages/core/src/generators/vue/compositionApi.ts b/packages/core/src/generators/vue/compositionApi.ts
index f16c0b4e8e..074594074f 100644
--- a/packages/core/src/generators/vue/compositionApi.ts
+++ b/packages/core/src/generators/vue/compositionApi.ts
@@ -25,7 +25,7 @@ const getCompositionPropDefinition = ({
.map((prop) => {
const value = component.defaultProps!.hasOwnProperty(prop)
? component.defaultProps![prop]?.code
- : '{}';
+ : 'undefined';
return `${prop}: ${value}`;
})
.join(',');
diff --git a/packages/core/src/generators/vue/optionsApi.ts b/packages/core/src/generators/vue/optionsApi.ts
index c8bdc8fd13..1e11f958c4 100644
--- a/packages/core/src/generators/vue/optionsApi.ts
+++ b/packages/core/src/generators/vue/optionsApi.ts
@@ -167,7 +167,7 @@ export function generateOptionsApiScript(
.map((prop) => {
const value = component.defaultProps!.hasOwnProperty(prop)
? component.defaultProps![prop]?.code
- : '{}';
+ : 'undefined';
return `${prop}: { default: ${value} }`;
})
.join(',');