Skip to content

Commit a13de04

Browse files
committed
fix: issue where an integer value for radius was losing persistence
1 parent d16b105 commit a13de04

1 file changed

Lines changed: 15 additions & 7 deletions

File tree

packages/imagekit-editor-dev/src/components/common/CornerRadiusInput.tsx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,12 @@ export const RadiusInputField: React.FC<RadiusInputFieldProps> = ({
122122
const [radiusMode, setRadiusMode] = useState<RadiusMode>(
123123
value?.mode ?? "uniform",
124124
)
125-
const [radiusValue, setRadiusValue] = useState<RadiusObject | string>(
126-
value?.radius ?? "",
127-
)
125+
const [radiusValue, setRadiusValue] = useState<RadiusObject | string>(() => {
126+
const r = value?.radius
127+
if (r === undefined || r === null || r === "") return ""
128+
if (typeof r === "number") return String(r)
129+
return r
130+
})
128131
const errorRed = useColorModeValue("red.500", "red.300")
129132
const activeColor = useColorModeValue("blue.500", "blue.600")
130133
const inactiveColor = useColorModeValue("gray.600", "gray.400")
@@ -145,16 +148,21 @@ export const RadiusInputField: React.FC<RadiusInputFieldProps> = ({
145148
setRadiusValue((prev) => {
146149
const prevString =
147150
typeof prev === "string" ? prev : JSON.stringify(prev ?? "")
151+
const next = value.radius
152+
const nextNormalised =
153+
typeof next === "number"
154+
? String(next)
155+
: (next as RadiusObject | string)
148156
const nextString =
149-
typeof value.radius === "string"
150-
? value.radius
151-
: JSON.stringify(value.radius ?? "")
157+
typeof nextNormalised === "string"
158+
? nextNormalised
159+
: JSON.stringify(nextNormalised ?? "")
152160

153161
if (prevString === nextString) {
154162
return prev
155163
}
156164

157-
return value.radius as RadiusObject | string
165+
return nextNormalised
158166
})
159167
}
160168
}, [value?.mode, value?.radius])

0 commit comments

Comments
 (0)