CLI previewInstall commands shown on this site are not released yet.

DocsComponentsCommerce

QuantityStepper

React example follows below.
ts
import { QuantityStepper } from "@grassroot/ui-react";
const [qty, setQty] = React.useState(2);
<QuantityStepper value={qty} onChange={setQty} min={1} max={9} label="Quantity" />
ts
<script setup lang="ts">
import { ref } from "vue";
import { QuantityStepper } from "@grassroot/ui-vue";
const qty = ref(2);
</script>
<template>
<QuantityStepper
v-model="qty"
@change="qty = $event"
:min="1"
:max="9"
label="Quantity"
/>
</template>
ts
import { Component, signal } from "@angular/core";
import { GrassrootQuantityStepper } from "@grassroot/ui-angular";
@Component({
selector: "app-example",
standalone: true,
imports: [GrassrootQuantityStepper],
template: `
<grassroot-quantity-stepper
[value]="qty()"
(change)="qty.set($event)"
[min]="1"
[max]="9"
label="Quantity"
/>
`,
})
export class ExampleComponent {
readonly qty = signal(2);
}
ts
<script lang="ts">
import { QuantityStepper } from "@grassroot/ui-svelte";
let qty = $state(2);
</script>
<QuantityStepper
value={qty}
onChange={(next) => (qty = next)}
min={1}
max={9}
label="Quantity"
/>
ts
import { createSignal } from "solid-js";
import { QuantityStepper } from "@grassroot/ui-solid";
export function Example() {
const [qty, setQty] = createSignal(2);
return (
<>
<QuantityStepper value={qty()} onChange={setQty} min={1} max={9} label="Quantity" />
</>
);
}

Installation

bash
pnpm dlx grassroot add ui/quantity-stepper
bash
npx grassroot@latest add ui/quantity-stepper
bash
yarn dlx grassroot add ui/quantity-stepper
bash
bunx grassroot add ui/quantity-stepper

API Reference

QuantityStepperProps
PropTypeDefault
valuenumber | undefined
defaultValuenumber | undefined
minnumber | undefined1
maxnumber | undefined99
stepnumber | undefined1
onChange((value: number) => void) | undefined
size"sm" | "md" | undefined"md"
disabledboolean | undefined
labelAccessible name for the group.string | undefined"Quantity"
classNamestring | undefined