Skip to main content
LocalTapiola Turva

Choice Button new

Choice buttons allow selection of a single or multiple options from a set of predefined options. They are a good alternative to radio buttons, checkboxes, and select menus.

You can set the type of the choice to be either a radio or a checkbox. Using radio type allows you to use Choice component inside Duet’s Radio Group.

Examples

Open in new window
<duet-radio-group
  value="one"
  label="Vakuutus"
  direction="horizontal"
  name="group"
  responsive>
    <duet-choice label="Eläinvakuutus" type="radio" value="one" expand></duet-choice>
    <duet-choice label="Autovakuutus" type="radio" value="two" expand></duet-choice>
    <duet-choice label="Kotivakuutus" type="radio" value="three" expand></duet-choice>
</duet-radio-group>

<script>
  // Select the above choice group
  var group = document.querySelector("duet-radio-group")

  // Listen for choice changes in the group
  group.addEventListener("duetChange", function(e) {
    console.log("Option changed in choice group", e)
  })
</script>
Open in new window
<duet-label>Lemmikit</duet-label>
<duet-caption>Valitse yksi tai useampi vaihtoehto:</duet-caption>
<duet-grid responsive>
  <duet-choice label="Kissa" icon="category-pet-cat" checked expand></duet-choice>
  <duet-choice label="Koira" icon="category-pet-dog" expand></duet-choice>
  <duet-choice label="Hevonen" icon="category-horse" expand></duet-choice>
</duet-grid>
Open in new window
<duet-label>Lemmikit</duet-label>
<duet-caption>Valitse yksi tai useampi vaihtoehto:</duet-caption>
<duet-choice label="Kissa" icon="category-pet-cat" checked expand></duet-choice>
<duet-choice label="Koira" icon="category-pet-dog" expand></duet-choice>
<duet-choice label="Hevonen" icon="category-horse" expand></duet-choice>
Open in new window
<duet-label>Lemmikit</duet-label>
<duet-caption>Valitse yksi tai useampi vaihtoehto:</duet-caption>
<duet-choice label="Kissa" icon="category-pet-cat" checked expand collapsible>
  <duet-paragraph>LähiTapiola-ryhmä on keskinäiseen yhtiömuotoon perustuva, asiakkaidensa omistama yhtiöryhmä, joka palvelee monia eri asiakasryhmiä. <duet-link url="https://www.lahitapiola.fi/henkilo">LähiTapiolan tuotteet</duet-link> ja palvelut kattavat vahinko-, henki- ja eläkevakuuttamisen sekä sijoittamisen ja säästämisen palvelut. Olemme myös yritysten riskienhallinnan ja henkilöstön työhyvinvoinnin ammattilainen. Omistaja-asiakkaita meillä on lähes 1,6 miljoonaa.</duet-paragraph>
</duet-choice>
<duet-choice label="Koira" icon="category-pet-dog" expand collapsible>
  <duet-paragraph>LähiTapiola-ryhmä on keskinäiseen yhtiömuotoon perustuva, asiakkaidensa omistama yhtiöryhmä, joka palvelee monia eri asiakasryhmiä. <duet-link url="https://www.lahitapiola.fi/henkilo">LähiTapiolan tuotteet</duet-link> ja palvelut kattavat vahinko-, henki- ja eläkevakuuttamisen sekä sijoittamisen ja säästämisen palvelut. Olemme myös yritysten riskienhallinnan ja henkilöstön työhyvinvoinnin ammattilainen. Omistaja-asiakkaita meillä on lähes 1,6 miljoonaa.</duet-paragraph>
</duet-choice>
<duet-choice label="Hevonen" icon="category-horse" expand collapsible>
  <duet-paragraph>LähiTapiola-ryhmä on keskinäiseen yhtiömuotoon perustuva, asiakkaidensa omistama yhtiöryhmä, joka palvelee monia eri asiakasryhmiä. <duet-link url="https://www.lahitapiola.fi/henkilo">LähiTapiolan tuotteet</duet-link> ja palvelut kattavat vahinko-, henki- ja eläkevakuuttamisen sekä sijoittamisen ja säästämisen palvelut. Olemme myös yritysten riskienhallinnan ja henkilöstön työhyvinvoinnin ammattilainen. Omistaja-asiakkaita meillä on lähes 1,6 miljoonaa.</duet-paragraph>
</duet-choice>
Open in new window
<duet-choice label="Checked state" icon="category-pet-cat" expand disabled checked></duet-choice>
<duet-choice label="Unchecked" icon="category-pet-cat" expand disabled></duet-choice>
<duet-choice label="Kissa" icon="category-pet-cat" value="one" expand disabled>
  <div slot="info">Info content</div>
</duet-choice>
Open in new window
<duet-radio-group
  value="one"
  label="Vakuutus"
  direction="horizontal"
  name="group"
  responsive>
    <duet-choice label="Eläinvakuutus" caption="Lorem ipsum dolor sit" type="radio" value="one" expand></duet-choice>
    <duet-choice label="Autovakuutus" caption="Lorem ipsum dolor sit" type="radio" value="two" expand></duet-choice>
    <duet-choice label="Kotivakuutus" caption="Lorem ipsum dolor sit" type="radio" value="three" expand></duet-choice>
</duet-radio-group>
Open in new window
<duet-radio-group
  value="one"
  label="Valitse lemmikki"
  direction="vertical"
  name="group">
    <duet-choice type="radio" label="Kissa" icon="category-pet-cat" value="one" expand>
      <div slot="info">
        LähiTapiola-ryhmä on keskinäiseen yhtiömuotoon perustuva, asiakkaidensa omistama yhtiöryhmä, joka palvelee monia eri asiakasryhmiä. <duet-link url="https://www.lahitapiola.fi/henkilo">LähiTapiolan tuotteet</duet-link> ja palvelut kattavat vahinko-, henki- ja eläkevakuuttamisen sekä sijoittamisen ja säästämisen palvelut. Olemme myös yritysten riskienhallinnan ja henkilöstön työhyvinvoinnin ammattilainen. Omistaja-asiakkaita meillä on lähes 1,6 miljoonaa.
      </div>
    </duet-choice>
    <duet-choice type="radio" label="Koira" icon="category-pet-dog" value="two" expand>
      <div slot="info">
        LähiTapiola-ryhmä on keskinäiseen yhtiömuotoon perustuva, asiakkaidensa omistama yhtiöryhmä, joka palvelee monia eri asiakasryhmiä. <duet-link url="https://www.lahitapiola.fi/henkilo">LähiTapiolan tuotteet</duet-link> ja palvelut kattavat vahinko-, henki- ja eläkevakuuttamisen sekä sijoittamisen ja säästämisen palvelut. Olemme myös yritysten riskienhallinnan ja henkilöstön työhyvinvoinnin ammattilainen. Omistaja-asiakkaita meillä on lähes 1,6 miljoonaa.
      </div>
    </duet-choice>
    <duet-choice type="radio" label="Hevonen" icon="category-horse" value="three" expand>
      <div slot="info">
        LähiTapiola-ryhmä on keskinäiseen yhtiömuotoon perustuva, asiakkaidensa omistama yhtiöryhmä, joka palvelee monia eri asiakasryhmiä. <duet-link url="https://www.lahitapiola.fi/henkilo">LähiTapiolan tuotteet</duet-link> ja palvelut kattavat vahinko-, henki- ja eläkevakuuttamisen sekä sijoittamisen ja säästämisen palvelut. Olemme myös yritysten riskienhallinnan ja henkilöstön työhyvinvoinnin ammattilainen. Omistaja-asiakkaita meillä on lähes 1,6 miljoonaa.
      </div>
    </duet-choice>
</duet-radio-group>

Properties #

Property Attribute Description Type Default
accessibleLabel accessible-label Accessible label that is shown for screen reader users in the info toggle. Not visible for normal users. string "Lisätietoja tästä valinnasta"
caption caption Additional caption to show inside the label of the choice button. string ""
checked checked Checked state of the choice button. boolean false
collapsible collapsible Makes the choice button open a new section underneath it when clicked or tapped. This new section can be used to show more options related to this choice. Please note that this feature can’t be used together with the "info" functionality. boolean false
disabled disabled Makes the choice component disabled. This prevents users from being able to interact with the choice, and conveys its inactive state to assistive technologies. boolean false
expand expand Expands the choice button to fill 100% of the container width. boolean false
groupDirection group-direction Determines, whether the control is displayed horizontally or vertically within a group. string undefined
groupDisabled group-disabled Determines, whether the control is disabled from the parent group. boolean undefined
icon icon Icon to display to the left of the choice button label. string ""
identifier identifier Adds a unique identifier for the choice button. string undefined
label label Label for the choice button. string "label"
margin margin Controls the margin of the component. Can be one of: "auto", "none". string "auto"
name name Name attribute of the html input that the Choice component controls. string undefined
padding padding Controls the padding of the component. Can be one of: "auto", "none". string "auto"
theme theme Theme of the definition list. Can be one of: "default", "turva". string ""
type type Type of the choice button. Can be one of: "checkbox", "radio" string "checkbox"
value value The value of the html input that the Choice component controls. string undefined

Events #

Event Description Type
duetBlur Emitted when the checkbox loses focus. CustomEvent<any>
duetChange Emitted when the checked property has changed. CustomEvent<any>
duetFocus Emitted when the checkbox has focus. CustomEvent<any>

Methods #

setFocus() => Promise<void> #

Sets focus on the specified duet-choice. Use this method instead of the global
input.focus().

Returns #

Type: Promise<void>

Dependencies #

Depends on #

Graph #

graph TD;
  duet-choice --> duet-spacer
  duet-choice --> duet-caption
  style duet-choice fill:#f9f,stroke:#333,stroke-width:4px

Integration

For integration, events and theming guidelines, please see Using Components. That page explains how to implement and use Duet’s components across different technologies like Angular, React or Vanilla JavaScript.