Menu

Change language

GitHub repo

Label

labelui

Accessible label primitive — wraps text and binds to its child input via `for`. Disabled-state styling and proper screen-reader behavior.

Installation

$npx shadcn-svelte@latest add https://uipkge.dev/r/svelte/label.json
Manifest:https://uipkge.dev/r/svelte/label.jsonInstalls to:src/lib/components/ui/label/

Examples

Loading interactive previews…

Props

NameType / ValuesDefaultRequired
childrenSnippet—optional
refHTMLLabelElement | 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

Raw manifest:https://uipkge.dev/r/svelte/label.json