Number Field
solid-ui/number-fieldFreeComponent
A number field component
Live preview
live · rendered by the registry
Rendered by solid-ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://www.solid-ui.com/r/number-field.jsonSource
1import type { Component, ComponentProps, JSX, ValidComponent } from "solid-js"2import { Show, splitProps } from "solid-js"34import * as NumberFieldPrimitive from "@kobalte/core/number-field"5import type { PolymorphicProps } from "@kobalte/core/polymorphic"67import { cn } from "~/lib/utils"89const NumberField = NumberFieldPrimitive.Root1011const NumberFieldGroup: Component<ComponentProps<"div">> = (props) => {12 const [local, others] = splitProps(props, ["class"])13 return (14 <div15 class={cn(16 "relative rounded-md focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2",17 local.class18 )}19 {...others}20 />21 )22}2324type NumberFieldLabelProps<T extends ValidComponent = "label"> =25 NumberFieldPrimitive.NumberFieldLabelProps<T> & {26 class?: string | undefined27 }2829const NumberFieldLabel = <T extends ValidComponent = "label">(30 props: PolymorphicProps<T, NumberFieldLabelProps<T>>31) => {32 const [local, others] = splitProps(props as NumberFieldLabelProps, ["class"])33 return (34 <NumberFieldPrimitive.Label35 class={cn(36 "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",37 local.class38 )}39 {...others}40 />41 )42}4344type NumberFieldInputProps<T extends ValidComponent = "input"> =45 NumberFieldPrimitive.NumberFieldInputProps<T> & {46 class?: string | undefined47 }4849const NumberFieldInput = <T extends ValidComponent = "input">(50 props: PolymorphicProps<T, NumberFieldInputProps<T>>51) => {52 const [local, others] = splitProps(props as NumberFieldInputProps, ["class"])53 return (54 <NumberFieldPrimitive.Input55 class={cn(56 "flex h-10 w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[invalid]:border-error-foreground data-[invalid]:text-error-foreground",57 local.class58 )}59 {...others}60 />61 )62}6364type NumberFieldIncrementTriggerProps<T extends ValidComponent = "button"> =65 NumberFieldPrimitive.NumberFieldIncrementTriggerProps<T> & {66 class?: string | undefined67 children?: JSX.Element68 }6970const NumberFieldIncrementTrigger = <T extends ValidComponent = "button">(71 props: PolymorphicProps<T, NumberFieldIncrementTriggerProps<T>>72) => {73// … truncated
What it pulls in
npm packages
Files it writes
More from solid-ui
All 55 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | solid-ui | Components | Free | 2 deps | |
| Alertalert | solid-ui | Components | Free | 3 deps | |
| Alert Dialogalert-dialog | solid-ui | Components | Free | 2 deps | |
| Aspect Ratioaspect-ratio | solid-ui | Components | Free | 1 dep | |
| Avataravatar | solid-ui | Components | Free | 2 deps | |
| Badgebadge | solid-ui | Components | Free | 2 deps | |
| Badge Deltabadge-delta | solid-ui | Components | Free | 2 deps | |
| Bar Listbar-list | solid-ui | Components | Free | 1 dep |
