DocsComponentsCommerce
CartLineItem
React example follows below.
ts
import { CartLineItem } from "@grassroot/ui-react";import * as React from "react"; const item = { id: "trowel", name: "Forged steel trowel", price: 3200, quantity: 1 }; const [quantity, setQuantity] = React.useState(item.quantity); <CartLineItem item={{ ...item, quantity: quantity }} onQuantityChange={(next) => setQuantity(next)} onRemove={() => {}}/>ts
<script setup lang="ts">import { ref } from "vue";import { CartLineItem } from "@grassroot/ui-vue"; const item = { id: "trowel", name: "Forged steel trowel", price: 3200, quantity: 1 }; const quantity = ref(item.quantity);</script> <template> <CartLineItem :item="{ ...item, quantity: quantity }" @quantity-change="quantity = next" @remove="undefined" /></template>No translated snippet for this adapter yet.
ts
<script lang="ts"> import { CartLineItem } from "@grassroot/ui-svelte"; const item = { id: "trowel", name: "Forged steel trowel", price: 3200, quantity: 1 }; let quantity = $state(item.quantity);</script> <CartLineItem item={{ ...item, quantity: quantity }} onQuantityChange={(next) => quantity = next} onRemove={() => {}}/>ts
import { createSignal } from "solid-js";import { CartLineItem } from "@grassroot/ui-solid"; const item = { id: "trowel", name: "Forged steel trowel", price: 3200, quantity: 1 }; export function Example() { const [quantity, setQuantity] = createSignal(item.quantity); return ( <> <CartLineItem item={{ ...item, quantity: quantity() }} onQuantityChange={(next) => setQuantity(next)} onRemove={() => {}} /> </> );}Installation
bash
pnpm dlx grassroot add ui/cart-line-itembash
npx grassroot@latest add ui/cart-line-itembash
yarn dlx grassroot add ui/cart-line-itembash
bunx grassroot add ui/cart-line-itemAPI Reference
| Prop | Type | Default |
|---|---|---|
itemrequired | CartItem | — |
currency | string | undefined | "USD" |
onQuantityChange | ((quantity: number) => void) | undefined | — |
onRemove | (() => void) | undefined | — |
className | string | undefined | — |