diff --git a/renderers/angular/src/v0_9/catalog/basic/slider.component.ts b/renderers/angular/src/v0_9/catalog/basic/slider.component.ts index 2b7a44d1e9..9622e2388e 100644 --- a/renderers/angular/src/v0_9/catalog/basic/slider.component.ts +++ b/renderers/angular/src/v0_9/catalog/basic/slider.component.ts @@ -44,7 +44,6 @@ import {SliderApi} from '@a2ui/web_core/v0_9/basic_catalog'; type="range" [min]="min()" [max]="max()" - [step]="step()" [value]="value()" (input)="handleInput($event)" class="a2ui-slider" @@ -85,7 +84,6 @@ export class SliderComponent extends BasicCatalogComponent { readonly value = computed(() => this.props()['value']?.value()); readonly min = computed(() => this.props()['min']?.value() ?? 0); readonly max = computed(() => this.props()['max']?.value() ?? 100); - readonly step = computed(() => this.props()['step']?.value() ?? 1); handleInput(event: Event) { const val = Number((event.target as HTMLInputElement).value); diff --git a/renderers/web_core/src/v0_9/basic_catalog/components/basic_components.test.ts b/renderers/web_core/src/v0_9/basic_catalog/components/basic_components.test.ts index 875e6e8215..a95947480f 100644 --- a/renderers/web_core/src/v0_9/basic_catalog/components/basic_components.test.ts +++ b/renderers/web_core/src/v0_9/basic_catalog/components/basic_components.test.ts @@ -16,7 +16,7 @@ import {describe, it} from 'node:test'; import * as assert from 'node:assert'; -import {ImageApi} from './basic_components.js'; +import {ImageApi, SliderApi} from './basic_components.js'; describe('Basic Components Schema', () => { describe('ImageApi', () => { @@ -46,4 +46,26 @@ describe('Basic Components Schema', () => { assert.throws(() => ImageApi.schema.parse(invalidImage)); }); }); + + describe('SliderApi', () => { + it('should reject non-spec step property', () => { + const validSlider = { + max: 100, + value: 50, + }; + SliderApi.schema.parse(validSlider); + + const result = SliderApi.schema.safeParse({ + ...validSlider, + step: 5, + }); + + assert.strictEqual(result.success, false); + assert.ok( + result.error.issues.some( + issue => issue.code === 'unrecognized_keys' && issue.keys.includes('step'), + ), + ); + }); + }); }); diff --git a/renderers/web_core/src/v0_9/basic_catalog/components/basic_components.ts b/renderers/web_core/src/v0_9/basic_catalog/components/basic_components.ts index b704b00f9a..7d669127d2 100644 --- a/renderers/web_core/src/v0_9/basic_catalog/components/basic_components.ts +++ b/renderers/web_core/src/v0_9/basic_catalog/components/basic_components.ts @@ -442,7 +442,6 @@ export const SliderApi = { label: DynamicStringSchema.describe('The label for the slider.').optional(), min: z.number().default(0).describe('The minimum value of the slider.').optional(), max: z.number().describe('The maximum value of the slider.'), - step: z.number().describe('The granularity or step size of the slider.').optional(), value: DynamicNumberSchema.describe('The current value of the slider.'), checks: CheckableSchema.shape.checks, })