CartWidget
The cart widget component is used to add or subtract items from the cart.
Component
Storybook
Storybook - CartWidget DocumentationFigma Demo
Guidelines
Cart widgets allow users to add items to their cart either in single increments via add/remove buttons, or by inputting a value in the field.
Interactions
Value = 0
CartWidget value is rendered in placeholder text
Minus button is disabled
Value = greater than 0, less than 999
Any non-zero value should be text-black
Both minus and plus buttons are enabled
Value = 999 (max)
- Plus button is disabled
 
Usage
Cart widgets should always be paired with pricing information.
Best Practices
- CartWidget value should start at 0 using placeholder text
 - Minus button should be disabled
 - Any non-zero value should be text-black
 - Minus button should be enabled
 - Max value of 999
 - Plus button should be disabled
 
Component Specs
API
disabled: Boolean - Disables the cart widget. Default is false.max: Number - The maximum value of the cart widget. Default is 999.min: Number - The minimum value of the cart widget. Default is 0.quantity: Number - The quantity of the cart widget. Default is 1.testId: String - The test id of the cart widget.value: Number - The value of the cart widget. Default is 0.handleChange: Function - The function to handle the change event of the cart widget.handleInput: Function - The function to handle the input event of the cart widget.handleMinus: Function - The function to handle the minus event of the cart widget.handlePlus: Function - The function to handle the plus event of the cart widget.
Example
<script>
	import { CartWidget } from '@getprovi/craft-svelte';
	import { cartStore } from 'path-to-store';
</script>
<CartWidget bind:value={$cartStore.items} />
<CartWidget disabled /> Types
interface Props extends HTMLInputAttributes {
	quantity?: number;
	testId?: string | undefined;
	value?: number;
	handleChange?: () => void | undefined;
	handleInput?: () => void | undefined;
	handleMinusClick?: () => void | undefined;
	handlePlusClick?: () => void | undefined;
}
 Craft Design System