diff --git a/.changeset/tame-crews-sing.md b/.changeset/tame-crews-sing.md new file mode 100644 index 00000000..58c3e376 --- /dev/null +++ b/.changeset/tame-crews-sing.md @@ -0,0 +1,6 @@ +--- +"example": patch +"@ladle/react": patch +--- + +Use defaultValue only if value is undefined diff --git a/packages/example/src/controls.stories.tsx b/packages/example/src/controls.stories.tsx index 7644afba..16e53a78 100644 --- a/packages/example/src/controls.stories.tsx +++ b/packages/example/src/controls.stories.tsx @@ -37,6 +37,10 @@ Controls.args = { colors: ["Red", "Blue"], }; Controls.argTypes = { + disabled: { + control: { type: "boolean" }, + defaultValue: true, + }, variant: { options: ["primary", "secondary"], control: { type: "radio" }, diff --git a/packages/ladle/lib/app/src/args-provider.tsx b/packages/ladle/lib/app/src/args-provider.tsx index 92cb104f..09d470e0 100644 --- a/packages/ladle/lib/app/src/args-provider.tsx +++ b/packages/ladle/lib/app/src/args-provider.tsx @@ -107,9 +107,11 @@ const ArgsProvider = ({ name: argValue.name, type: argValue.control.type, labels: argValue.control.labels, - defaultValue: args[argKey] ? args[argKey] : argValue.defaultValue, + defaultValue: + args[argKey] === undefined ? argValue.defaultValue : args[argKey], options: argValue.options, - value: args[argKey] ? args[argKey] : argValue.defaultValue, + value: + args[argKey] === undefined ? argValue.defaultValue : args[argKey], description: argValue.description || argKey, min: argValue.control.min, max: argValue.control.max,