import { jsx as _jsx } from "react/jsx-runtime";
import { getDefaultArgTypes, getValidationArgTypes, PrebuiltArgTypes, StorybookControlCategory, } from '../../../../scalars/lib/storybook-arg-types.js';
import { PasswordInput } from './password-input.js';
/**
 * ## Password input component
 *
 * `PasswordInput` is a specialized input component for handling passwords.
 *
 * > **Note:** This component does not have built-in validation. If you need built-in validation
 * > you can use the [PasswordField](?path=/docs/scalars-password-field--readme)
 * > component.
 */
const meta = {
    title: 'Data Entry/Password Input',
    component: PasswordInput,
    decorators: [
        (Story) => (_jsx("div", { style: { width: '280px', margin: '1rem auto 0' }, children: _jsx(Story, {}) })),
    ],
    parameters: {
        layout: 'padded',
    },
    tags: ['autodocs'],
    argTypes: {
        ...getDefaultArgTypes(),
        ...PrebuiltArgTypes.placeholder,
        ...PrebuiltArgTypes.minLength,
        ...PrebuiltArgTypes.maxLength,
        ...PrebuiltArgTypes.pattern,
        ...getValidationArgTypes({
            enabledArgTypes: {
                validators: false,
                showErrorOnBlur: false,
                showErrorOnChange: false,
            },
        }),
        showPasswordStrength: {
            control: 'boolean',
            description: 'Displays a password strength meter',
            table: {
                type: { summary: 'boolean' },
                defaultValue: { summary: 'true' },
                category: StorybookControlCategory.COMPONENT_SPECIFIC,
            },
        },
        ...PrebuiltArgTypes.viewMode,
        ...PrebuiltArgTypes.baseValue,
    },
    args: {
        name: 'password-input',
    },
};
export default meta;
export const Default = {
    args: {
        label: 'Password input',
        placeholder: 'Password',
    },
};
export const Filled = {
    args: {
        label: 'Password input',
        placeholder: 'Password',
        defaultValue: 'H0l4.mundo',
    },
};
export const WithPasswordStrength = {
    args: {
        label: 'Password input',
        placeholder: 'Password',
        defaultValue: 'weakpassword',
        showPasswordStrengthOpen: true,
    },
};
export const WithDifferencesAddition = {
    args: {
        label: 'Password input addition',
        placeholder: 'Password',
        defaultValue: 'new password',
        baseValue: 'old password',
        viewMode: 'addition',
    },
};
export const WithDifferencesRemoval = {
    args: {
        label: 'Password input removal',
        placeholder: 'Password',
        defaultValue: 'new password',
        baseValue: 'old password',
        viewMode: 'removal',
    },
};
export const WithDifferencesMixed = {
    args: {
        label: 'Password input mixed',
        placeholder: 'Password',
        defaultValue: 'new password',
        baseValue: 'old password',
        viewMode: 'mixed',
    },
};
//# sourceMappingURL=password-input.stories.js.map