diff --git a/packages/webawesome/docs/docs/resources/changelog.md b/packages/webawesome/docs/docs/resources/changelog.md
index bc4553f9f..3858d8d30 100644
--- a/packages/webawesome/docs/docs/resources/changelog.md
+++ b/packages/webawesome/docs/docs/resources/changelog.md
@@ -22,6 +22,7 @@ Components with the Experimental badge sh
- Fixed a bug in `` that caused the browser to hang when cancelling the `wa-hide` event [issue:1483]
- Fixed a bug in `` that prevented the icon dependency from being imported [issue:1825]
- Improved performance of `` so initial rendering occurs faster, especially with multiple icons on the page [issue:1729]
+- Improved `` to not throw an error when string values are passed to the `min`, `max`, and `step` properties [issue:1823]
- Modified the default `transition` styles of `` to use design tokens [pr:1693]
## 3.0.0
diff --git a/packages/webawesome/src/components/slider/slider.ts b/packages/webawesome/src/components/slider/slider.ts
index 4a4817aad..7c3b027a0 100644
--- a/packages/webawesome/src/components/slider/slider.ts
+++ b/packages/webawesome/src/components/slider/slider.ts
@@ -437,8 +437,14 @@ export default class WaSlider extends WebAwesomeFormAssociatedElement {
/** Clamps a number to min/max while ensuring it's a valid step interval. */
private clampAndRoundToStep(value: number) {
const stepPrecision = (String(this.step).split('.')[1] || '').replace(/0+$/g, '').length;
- value = Math.round(value / this.step) * this.step;
- value = clamp(value, this.min, this.max);
+
+ // Ensure we're working with numbers (in case the user passes strings to the respective properties)
+ const step = Number(this.step);
+ const min = Number(this.min);
+ const max = Number(this.max);
+
+ value = Math.round(value / step) * step;
+ value = clamp(value, min, max);
return parseFloat(value.toFixed(stepPrecision));
}