Skip to content
This repository has been archived by the owner on Mar 10, 2022. It is now read-only.

Commit

Permalink
(PC-11678) create datepicker component for Formik
Browse files Browse the repository at this point in the history
  • Loading branch information
MathildeDuboille committed Nov 10, 2021
1 parent 0a2e933 commit 62bcc0d
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 0 deletions.
31 changes: 31 additions & 0 deletions src/ui-kit/form/DatePicker/DatePicker.stories.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { action } from '@storybook/addon-actions'
import { Story } from '@storybook/react'
import { Formik } from 'formik'
import React from 'react'

import DatePicker from './DatePicker'

export default {
title: 'ui-kit/DatePicker',
component: DatePicker,
}

const Template: Story<{label?: string}> = ({ label }) => (
<Formik
initialValues={{ date: new Date().toISOString().split('T')[0] }}
onSubmit={action('onSubmit')}
>
{({ getFieldProps }) => {
return (
<DatePicker
{...getFieldProps('date')}
label={label}
name='date'
/>
)}}
</Formik>
)

export const WithoutLabel = Template.bind({})
export const WithLabel = Template.bind({})
WithLabel.args = { label: 'Date' }
42 changes: 42 additions & 0 deletions src/ui-kit/form/DatePicker/DatePicker.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import { useField } from 'formik'
import React from 'react'

interface DatePickerProps {
name: string;
className?: string;
disabled?: boolean;
label?: string;
}

const DatePicker = ({
name,
className,
disabled,
label,
}: DatePickerProps): JSX.Element => {
const [field, meta] = useField({ name })

return (
<>
<label>
{label}
<input
{...field}
className={className}
disabled={disabled}
type="date"
/>
</label>
{
meta.touched && meta.error ? (
<div className="error">
{meta.error}
</div>
)
: null
}
</>
)
}

export default DatePicker
1 change: 1 addition & 0 deletions src/ui-kit/form/DatePicker/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from './DatePicker'
1 change: 1 addition & 0 deletions src/ui-kit/form/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ export { default as TextArea } from './TextArea'
export { default as Select } from './Select'
export { default as RadioButton } from './RadioButton'
export { default as Checkbox } from './Checkbox'
export { default as DatePicker } from './DatePicker'

0 comments on commit 62bcc0d

Please sign in to comment.