@cmds/single-select-field

Used for selecting a single option from a list.

Usage no npm install needed!

<script type="module">
  import cmdsSingleSelectField from 'https://cdn.skypack.dev/@cmds/single-select-field';
</script>

README

SingleSelectField"> SingleSelectField

npm package

Used for selecting a single option from a list.

Getting started

npm install @cmds/single-select-field --save
<SingleSelectField
    id={'fld1'}
    contextId={'recordGalleryCard'}
    roleId={'readOnly'}
    optionId={'opt5'}
    options={{
        options: ['opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6'],
        optionsById: {
            'opt1': {
                id: 'opt1',
                colorId: 'blue.base',
                name: 'Blue'
            },
            'opt2': {
                id: 'opt2',
                colorId: 'green.base',
                name: 'Green'
            },
            'opt3': {
                id: 'opt3',
                colorId: 'red.base',
                name: 'Red'
            },
            'opt4': {
                id: 'opt4',
                colorId: 'yellow.base',
                name: 'Yellow'
            },
            'opt5': {
                id: 'opt5',
                colorId: 'indigo.base',
                name: 'Indigo'
            },
            'opt6': {
                id: 'opt6',
                colorId: 'purple.base',
                name: 'Purple'
            }
        }
    }}
    onChange={({id, optionId}) => {
       // do something 
    }}
/>

Prop Types

Property Type Required? Description
id String Unique id for the instance of this field
contextId Context The appearance will change depending on context in which the field is displayed. Valid options include: recordDetail or recordGridRow or recordGalleryCard or recordListItem
roleId Role The behaviour changes based on the role. Valid options include editor or readOnly
options Object Object that holds each option by it's id. Each option should have an id, name, colorId (optional)
optionOrder Array Should reference all options in the preferred order
coloredOptions Boolean Enables coloring for options
optionId String Selected option
onChange Function Callback invoked whenever an option get's selected: ({id: string, optionId: string}): void

More information

This component is designed and developed as part of Cosmos Design System.