// Field.stories.ts|tsx import { ComponentMeta, ComponentStory } from '@storybook/react'; import React, { SyntheticEvent, useContext, useState } from 'react'; import { BrowserRouter } from 'react-router-dom'; import { Button } from '../Button'; import { Controller } from '../..'; import Field from './Field'; import { InputDuration } from './InputDuration/InputDuration.stories'; import { InputEditor } from './InputEditor/InputEditor.stories'; import { InputNumber } from './InputNumber/InputNumber.stories'; import { InputPassword } from './InputPassword/InputPassword.stories'; import { InputPhone } from './InputPhone/InputPhone.stories'; import { InputSearch } from './InputSearch/InputSearch.stories'; import { InputSelect } from './InputSelect/InputSelect.stories'; import { InputTextarea } from './InputTextarea/InputTextarea.stories'; import { InputTimezone } from './InputTimezone/InputTimezone.stories'; import { ReactiveControllerContext } from '../../Contexts'; import { withReactive } from '../../Providers/withReactive'; export const Password = InputPassword; export const Select = InputSelect; export const Search = InputSearch; export const Timezone = InputTimezone; export const Duration = InputDuration; export const Phone = InputPhone; export const Editor = InputEditor; export const Textarea = InputTextarea; export const Number = InputNumber; export default { title: 'Field', component: Field, decorators: [ (Story) => (
), ], } as ComponentMeta; export const Text: ComponentStory = () => ; export const Currency: ComponentStory = () => ; export const Address: ComponentStory = () => ; export const DateOfBirth: ComponentStory = () => ( ); export const Image: ComponentStory = () => ; export const Toggle: ComponentStory = () => ; export const ToggleButton: ComponentStory = () => ( ); export const Transfer: ComponentStory = () => ; export const Sample = () => { const [state, setState] = useState({ user: { first_name: 'test', last_name: 'martin', phone: { number: '55656', }, }, }); return (
{/*
*/}
                    {JSON.stringify(state, null, 2)}
                
); }; const properties = { controller: "App//Lala" } export const SampleController = withReactive(Controller(properties,() => { const context = useContext(ReactiveControllerContext) const { dispatch } = context const onSubmit = (e: SyntheticEvent): void => { alert('submit'); dispatch(`save`); e.preventDefault(); }; return (
{/*
*/}
                    {JSON.stringify(context, null, 2)}
                
); }));