UNPKG

@mozaic-ds/vue

Version:

Mozaic-Vue is the Vue.js implementation of ADEO Design system

76 lines (66 loc) 1.95 kB
import type { Meta, StoryObj } from '@storybook/vue3-vite'; import { action } from 'storybook/actions'; import MPasswordInput from './MPasswordInput.vue'; const meta: Meta<typeof MPasswordInput> = { title: 'Form Elements/PasswordInput', component: MPasswordInput, parameters: { docs: { description: { component: 'A password input is a specialized input field used to securely enter and manage passwords. It typically masks the characters entered to protect sensitive information from being seen. It includes a toggle button to show or hide the password, improving usability while maintaining security. Password inputs are commonly used in login forms, account creation, and authentication flows.<br><br> To put a label, requierement text, help text or to apply a valid or invalid message, the examples are available in the [Field section](/docs/form-elements-field--docs#input).', }, }, }, args: { id: 'passwordInputId', placeholder: 'Enter your password', }, render: (args) => ({ components: { MPasswordInput }, setup() { const handleUpdate = action('update:modelValue'); return { args, handleUpdate }; }, template: ` <MPasswordInput v-bind="args" @update:modelValue="handleUpdate" /> `, }), }; export default meta; type Story = StoryObj<typeof MPasswordInput>; export const WithValue: Story = { args: { id: 'withValueId', modelValue: 'Magic-word-123', }, }; export const Default: Story = {}; export const Clearable: Story = { args: { id: 'clearableId', modelValue: 'Magic-word-123', isClearable: true, }, }; export const Disabled: Story = { args: { id: 'disableId', disabled: true, }, }; export const ReadOnly: Story = { args: { id: 'readonlyId', readonly: true, }, }; export const Invalid: Story = { args: { id: 'invalidId', isInvalid: true, }, };