File tree 5 files changed +45
-11
lines changed 5 files changed +45
-11
lines changed Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " @programmer_network/yail" ,
3
- "version" : " 1.0.198 " ,
3
+ "version" : " 1.0.199 " ,
4
4
"description" : " Programmer Network's official UI library for React" ,
5
5
"author" : " Aleksandar Grbic - (https://programmer.network)" ,
6
6
"publishConfig" : {
Original file line number Diff line number Diff line change 1
1
export interface InputHeaderProps {
2
2
name ?: string ;
3
- value ?: string | number ;
3
+ value ?: string | number | Date ;
4
4
max ?: number ;
5
5
label ?: string ;
6
6
hint ?: string | React . ReactNode ;
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ export const Default = () => {
19
19
return (
20
20
< DatePicker
21
21
name = 'datetime'
22
- selected = { date }
22
+ value = { date }
23
23
showTimeSelect
24
24
timeCaption = 'Time'
25
25
onChange = { input => {
@@ -41,7 +41,7 @@ export const WithMinAndMaxDate = () => {
41
41
name = 'datetime'
42
42
minDate = { new Date ( ) }
43
43
maxDate = { new Date ( new Date ( ) . setDate ( new Date ( ) . getDate ( ) + 7 ) ) }
44
- selected = { date }
44
+ value = { date }
45
45
timeIntervals = { 60 }
46
46
showTimeSelect
47
47
timeCaption = 'Time'
@@ -55,3 +55,29 @@ export const WithMinAndMaxDate = () => {
55
55
/>
56
56
) ;
57
57
} ;
58
+
59
+ export const WithAHeaderAndError = ( ) => {
60
+ const [ date , setDate ] = useState ( new Date ( ) ) ;
61
+
62
+ return (
63
+ < DatePicker
64
+ name = 'datetime'
65
+ label = 'Select a date and time'
66
+ required
67
+ minDate = { new Date ( ) }
68
+ maxDate = { new Date ( new Date ( ) . setDate ( new Date ( ) . getDate ( ) + 7 ) ) }
69
+ value = { date }
70
+ timeIntervals = { 60 }
71
+ showTimeSelect
72
+ timeCaption = 'Time'
73
+ error = 'Invalid date and time'
74
+ onChange = { input => {
75
+ if ( ! input . datetime ) {
76
+ return ;
77
+ }
78
+
79
+ setDate ( input . datetime ) ;
80
+ } }
81
+ />
82
+ ) ;
83
+ } ;
Original file line number Diff line number Diff line change @@ -2,13 +2,15 @@ import { FC } from "react";
2
2
import BaseDatePicker from "react-datepicker" ;
3
3
import "react-datepicker/dist/react-datepicker.css" ;
4
4
5
+ import InputError from "../Common/InputError" ;
5
6
import InputHeader from "../Common/InputHeader" ;
6
7
import "./style.css" ;
7
8
import { IDatePickerProps } from "./types" ;
8
9
9
10
const DatePicker : FC < IDatePickerProps > = props => {
10
11
const {
11
- selected = undefined ,
12
+ value = undefined ,
13
+ required,
12
14
onChange,
13
15
name,
14
16
showTimeSelect,
@@ -17,7 +19,8 @@ const DatePicker: FC<IDatePickerProps> = props => {
17
19
timeIntervals = 15 ,
18
20
dateFormat = "MMMM d, yyyy h:mm aa" ,
19
21
minDate,
20
- maxDate
22
+ maxDate,
23
+ error
21
24
} = props ;
22
25
23
26
const handleChange = ( date : Date | null ) => {
@@ -36,7 +39,8 @@ const DatePicker: FC<IDatePickerProps> = props => {
36
39
< div className = 'yl-bg-primary-background-color' >
37
40
< InputHeader { ...props } />
38
41
< BaseDatePicker
39
- selected = { selected }
42
+ selected = { value }
43
+ required = { required }
40
44
onChange = { handleChange }
41
45
showTimeSelect = { showTimeSelect }
42
46
timeFormat = { timeFormat }
@@ -47,6 +51,7 @@ const DatePicker: FC<IDatePickerProps> = props => {
47
51
minDate = { minDate }
48
52
maxDate = { maxDate }
49
53
/>
54
+ { error && < InputError error = { error } /> }
50
55
</ div >
51
56
) ;
52
57
} ;
Original file line number Diff line number Diff line change 1
- import { InputHeaderProps } from "../Common/InputHeader/types" ;
2
-
3
- export interface IDatePickerProps extends InputHeaderProps {
4
- selected ?: Date ;
1
+ export interface IDatePickerProps {
2
+ name ?: string ;
3
+ label ?: string ;
4
+ value ?: Date ;
5
+ selected ?: Date | null ;
6
+ required ?: boolean ;
5
7
onChange : ( value : Record < string , Date | null > ) => void ;
6
8
timeFormat ?: string ;
7
9
timeIntervals ?: number ;
@@ -10,4 +12,5 @@ export interface IDatePickerProps extends InputHeaderProps {
10
12
showTimeSelect ?: boolean ;
11
13
minDate ?: Date ;
12
14
maxDate ?: Date ;
15
+ error ?: string | string [ ] | Record < string , string > ;
13
16
}
You can’t perform that action at this time.
0 commit comments