Toggle group
Choose one or more pressed values from an accessible oriented toggle group.
Default
On this page
Installation
Copy this component and its required dependencies into the consumer-owned Components project.
dotnet fve add toggle-group --config src/Acme.Components/fve.jsonThe CLI resolves dependencies and preserves consumer-authored files. See Installation for project initialization and Tailwind source detection.
Usage
open System
open FSharp.ViewEngine
open Acme.Components
open type Html
open type Svg
open type Datastar
let defaultToggleGroup =
ToggleGroup.single "alignment-default" "components-alignment-default" "Text alignment" id [
ToggleGroupOption.create "left" "Left"
ToggleGroupOption.create "center" "Center"
ToggleGroupOption.create "right" "Right" ]
|> ToggleGroup.renderSingle selection
Multiple, spaced and unavailable
Vertical orientation
API reference
type ToggleGroupVariant =
| Connected
| Spaced
type ToggleGroupOrientation =
| Horizontal
| Vertical
type ToggleGroupOption<'value>
type ToggleGroupConfig<'value, 'mode>
module ToggleGroup =
val single : name:string -> id:string -> label:string -> encode:('value -> string) -> options:ToggleGroupOption<'value> list -> ToggleGroupConfig<'value, SingleSelection>
val multiple : name:string -> id:string -> label:string -> encode:('value -> string) -> options:ToggleGroupOption<'value> list -> ToggleGroupConfig<'value, MultipleSelection>
val withSelected : selected:'value -> config:ToggleGroupConfig<'value, SingleSelection> -> ToggleGroupConfig<'value, SingleSelection>
val withSelectedMany : selected:'value list -> config:ToggleGroupConfig<'value, MultipleSelection> -> ToggleGroupConfig<'value, MultipleSelection>
val allowEmpty : config:ToggleGroupConfig<'value, SingleSelection> -> ToggleGroupConfig<'value, SingleSelection>
val withVariant : variant:ToggleGroupVariant -> config:ToggleGroupConfig<'value, 'mode> -> ToggleGroupConfig<'value, 'mode>
val withOrientation : orientation:ToggleGroupOrientation -> config:ToggleGroupConfig<'value, 'mode> -> ToggleGroupConfig<'value, 'mode>
val withSize : size:ControlSize -> config:ToggleGroupConfig<'value, 'mode> -> ToggleGroupConfig<'value, 'mode>
val disabled : config:ToggleGroupConfig<'value, 'mode> -> ToggleGroupConfig<'value, 'mode>
val render : config:ToggleGroupConfig<'value, 'mode> -> HtmlElement
module ToggleGroupOption =
val create : value:'a -> label:string -> ToggleGroupOption<'a>
val withLeading : leading:HtmlElement -> option:ToggleGroupOption<'value> -> ToggleGroupOption<'value>
val disabled : option:ToggleGroupOption<'value> -> ToggleGroupOption<'value>