Label
labeluiAccessible label primitive — wraps text and binds to its child input via `for`. Disabled-state styling and proper screen-reader behavior.
Installation
$pnpm dlx shadcn-svelte@latest add https://uipkge.dev/r/svelte/label.json$npx shadcn-svelte@latest add https://uipkge.dev/r/svelte/label.json$yarn dlx shadcn-svelte@latest add https://uipkge.dev/r/svelte/label.json$bunx shadcn-svelte@latest add https://uipkge.dev/r/svelte/label.jsonManifest:
https://uipkge.dev/r/svelte/label.jsonInstalls to:src/lib/components/ui/label/Examples
Loading interactive previews…
Loading interactive previews…
Props
| Name | Type / Values | Default | Required |
|---|---|---|---|
children | Snippet | — | optional |
ref | HTMLLabelElement | null | — | optional |
Used by
Files installed (2)
src/lib/components/ui/label/Label.svelte0.8 kB
<script lang="ts" module> import type { Snippet } from 'svelte' import type { HTMLLabelAttributes } from 'svelte/elements' export interface LabelProps extends HTMLLabelAttributes { children?: Snippet ref?: HTMLLabelElement | null } </script> <script lang="ts"> import { cn } from '$lib/utils' let { class: className, children, ref = $bindable(null), ...restProps }: LabelProps = $props() </script> <label bind:this={ref} data-uipkge="" data-slot="label" class={cn( 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50', className, )} {...restProps} > {@render children?.()} </label>src/lib/components/ui/label/index.ts0.1 kB
export { default as Label, type LabelProps } from './Label.svelte'
Raw manifest:https://uipkge.dev/r/svelte/label.json