} | null>(null)
onMounted(() => {
fieldRef.value?.validateOnSubmit()
})
return { args, fieldRef }
},
template: `
Choisissez votre moyen de contact :
`,
}
},
}
export const Multiple: Story = {
parameters: {
sourceCode: [
{
name: 'Template',
code: `
Choisissez votre moyen de contact :
`,
},
{
name: 'Script',
code: `
`,
},
],
},
args: {
modelValue: null,
items: [
{ text: 'Email', value: 'email' },
{ text: 'Courrier', value: 'courrier' },
{ text: 'SMS', value: 'sms' },
],
multiple: true,
},
render: (args) => {
return {
components: { SelectBtnField },
setup() {
return { args }
},
template: `
Choisissez votre moyen de contact :
`,
}
},
}
export const inline: Story = {
parameters: {
sourceCode: [
{
name: 'Template',
code: `
Choisissez votre moyen de contact :
`,
},
{
name: 'Script',
code: `
`,
},
],
},
args: {
modelValue: null,
items: [
{ text: 'Email', value: 'email' },
{ text: 'Courrier', value: 'courrier' },
{ text: 'SMS', value: 'sms' },
],
inline: true,
},
render: (args) => {
return {
components: { SelectBtnField },
setup() {
return { args }
},
template: `
Choisissez votre moyen de contact :
`,
}
},
}
export const itemUnique: Story = {
parameters: {
sourceCode: [
{
name: 'Template',
code: `
Choisissez votre moyen de contact :
`,
},
{
name: 'Script',
code: `
`,
},
],
},
args: {
modelValue: null,
items: [
{ text: 'Email', value: 'email' },
{ text: 'Courrier', value: 'courrier' },
{ text: 'SMS', value: 'sms' },
{ text: 'Autre', value: 'other', unique: true },
],
multiple: true,
},
render: (args) => {
return {
components: { SelectBtnField },
setup() {
return { args }
},
template: `
Choisissez votre moyen de contact :
Les items marqués avec unique: true sont exclusifs : lorsqu’ils sont sélectionnés,
tous les autres items sont automatiquement désélectionnés.
`,
}
},
}
export const HelpText: Story = {
parameters: {
sourceCode: [
{
name: 'Template',
code: `
Choisissez votre moyen de contact :
`,
},
{
name: 'Script',
code: `
`,
},
],
},
args: {
modelValue: null,
items: [
{ text: 'Email', value: 'email' },
{ text: 'Courrier', value: 'courrier' },
{ text: 'SMS', value: 'sms' },
],
helpText: 'Par défaut, le moyen de contact est l’email.',
},
render: (args) => {
return {
components: { SelectBtnField },
setup() {
return { args }
},
template: `
Choisissez votre moyen de contact :
`,
}
},
}
export const readonly: Story = {
parameters: {
sourceCode: [
{
name: 'Template',
code: `
Choisissez votre moyen de contact :
`,
},
{
name: 'Script',
code: `
`,
},
],
},
args: {
modelValue: ['email'],
items: [
{ text: 'Email', value: 'email' },
{ text: 'Courrier', value: 'courrier' },
{ text: 'SMS', value: 'sms' },
],
label: 'Moyen de contact',
readonly: true,
},
render: (args) => {
return {
components: { SelectBtnField },
setup() {
return { args }
},
template: `
Choisissez votre moyen de contact :
`,
}
},
}