Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

svelte-radio

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

svelte-radio

Declarative Radio button group component for Svelte

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-81.82%
Maintainers
1
Weekly downloads
 
Created
Source

svelte-radio

NPM

Declarative Radio button group component for Svelte.

Try it in the Svelte REPL.


Installation

Yarn

yarn add -D svelte-radio

NPM

npm i -D svelte-radio

pnpm

pnpm i -D svelte-radio

Usage

By default, this component is unstyled.

Basic

<script>
  import { RadioGroup, Radio } from "svelte-radio";

  let value = "1";
</script>

<RadioGroup bind:value label="Radio group legend">
  <Radio label="Label 1" value="1" />
  <Radio label="Label 2" value="2" />
  <Radio label="Label 3" value="3" />
</RadioGroup>

value: {value}

<br />

<button on:click={() => (value = "2")}>Set value to "2"</button>

Custom legend

Customize the radio group legend by using the "legend" slot:

<RadioGroup bind:value>
  <span slot="legend">
    <legend style="color: red">Radio group legend</legend>
  </span>
  <Radio label="Label 1" value="1" />
  <Radio label="Label 2" value="2" />
  <Radio label="Label 3" value="3" />
</RadioGroup>

Styling

This component is unstyled by design. Use a global class selector to style the .svelte-radio-group and .svelte-radio classes.

:global(.svelte-radio-group) {
  border: 2px solid #e0e0e0;
  padding: 1rem;
}

:global(.svelte-radio) {
  margin-bottom: 0.5rem;
}

:global(.svelte-radio label) {
  margin-left: 0.25rem;
}

API

RadioGroup props

NameTypeDefault value
legendstring"Radio group legend"
valuestring or numberundefined

$$restProps are forwarded to the top-level fieldset element.

Radio props

NameTypeDefault value
idstring"radio-" + Math.random().toString(36)
labelstring"Radio button label"
valuestring or number""
checkedbooleanfalse

$$restProps are forwarded to the second-level input element.

Dispatched events

RadioGroup

  • on:change: dispatched when the selection changes
<script>
  let events = [];
</script>

<RadioGroup
  value="1"
  label="Radio group legend"
  on:change={(e) => (events = [...events, e.detail])}
>
  <Radio label="Label 1" value="1" />
  <Radio label="Label 2" value="2" />
  <Radio label="Label 3" value="3" />
</RadioGroup>

{#each events as event}
  <pre>{JSON.stringify(event, null, 2)}</pre>
{/each}

TypeScript

Svelte version 3.31 or greater is required to use this component with TypeScript.

Changelog

Changelog

License

MIT

Keywords

FAQs

Package last updated on 31 Dec 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc