@entur/datepicker 0.11.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,45 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@1.0.0...@entur/datepicker@2.0.0) (2022-04-19)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **datepicker:** fix validation in datepicker breaking if other locale than nb is used ([aa13c15](https://bitbucket.org/enturas/design-system/commits/aa13c15ff76afe8946aec40c87992e564626dcdb))
11
+
12
+ ### BREAKING CHANGES
13
+
14
+ - **datepicker:** locale prop is changed to only accept a date-fns Locale object, previously a string was also
15
+ accepted
16
+
17
+ # [1.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.11.6...@entur/datepicker@1.0.0) (2022-04-13)
18
+
19
+ ### Features
20
+
21
+ - **datepicker:** add custom header to datepicker ([6c9c863](https://bitbucket.org/enturas/design-system/commits/6c9c8636a4eec59b86db928aceb9e4e01c1fa07e))
22
+ - **datepicker:** rewrite custom input in datepicker to use TextField component ([3cc2e51](https://bitbucket.org/enturas/design-system/commits/3cc2e51948080f21b0ec343c06e886b8d285ffbc))
23
+ - **datepicker:** rewrite styling for datepicker calendar popover ([3f10c85](https://bitbucket.org/enturas/design-system/commits/3f10c85aceb02f46d93035ee6b7a9f9e8b26d024))
24
+ - **datepicker:** rewrite validation logic for datepicker ([db25f30](https://bitbucket.org/enturas/design-system/commits/db25f30f009c32018d3707ac53cca2c6f30e9f0a))
25
+
26
+ ### BREAKING CHANGES
27
+
28
+ - **datepicker:** - selectedDate is now a required prop
29
+
30
+ * Complete rewrite of component may have introduced unnoticed bugs
31
+
32
+ - **datepicker:** - Calendar button design has changed
33
+
34
+ * Complete rewrite of component may have introduced unnoticed bugs
35
+
36
+ - **datepicker:** Complete rewrite of component may have introduced unnoticed bugs
37
+ - **datepicker:** Complete rewrite of component may have introduced unnoticed bugs
38
+
39
+ ## [0.11.6](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.11.5...@entur/datepicker@0.11.6) (2022-03-24)
40
+
41
+ ### Bug Fixes
42
+
43
+ - **datepicker:** manual input should respect validation with regards to minDate and maxDate ([cb2eecd](https://bitbucket.org/enturas/design-system/commits/cb2eecd71a962494a0414ce68a544d03bbccfbca))
44
+
6
45
  ## [0.11.5](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.11.4...@entur/datepicker@0.11.5) (2022-03-17)
7
46
 
8
47
  ### Bug Fixes
@@ -1,16 +1,31 @@
1
1
  import React from 'react';
2
2
  import { ReactDatePickerProps } from 'react-datepicker';
3
+ import { Locale } from 'date-fns';
3
4
  import { VariantType } from '@entur/form';
4
5
  import './DatePicker.scss';
6
+ import 'react-datepicker/dist/react-datepicker.css';
5
7
  export declare type DatePickerProps = {
6
8
  /** Hva som er den valgte datoen */
7
- selectedDate?: Date;
9
+ selectedDate: Date | null;
8
10
  /** Kalles når datoen/tiden endres */
9
- onChange: (date: Date | null, event: React.SyntheticEvent<any, Event>) => void;
11
+ onChange: (date: Date | null, event: React.SyntheticEvent<any, Event> | undefined) => void;
10
12
  /**
11
- * Kalles når innholdet i inputfeltet endres
13
+ * Kalles når en tast trykkes i inputfeltet
12
14
  */
13
- onChangeInput?: (value: string) => void;
15
+ onKeyDown?: (event: KeyboardEvent) => void;
16
+ /**
17
+ * Datoformater som skal støttes. Første i listen er formatet alt input omgjøres til.
18
+ * Format-valg tilgjengelig her: https://date-fns.org/v2.28.0/docs/format
19
+ * OBS: Noen kombinasjoner av datoformater kan gi rar og uønsket oppførsel,
20
+ * test nøye ved endring
21
+ * @default "['dd.MM.yyyy', 'ddMMyyyy', 'dd/MM/yyyy', 'ddMMyy']"
22
+ */
23
+ dateFormats?: string[];
24
+ /**
25
+ * Locale fra date-fns som brukes av Datepicker-en
26
+ * @default nb
27
+ */
28
+ locale?: Locale;
14
29
  /** Placeholder om ingen dato er valgt
15
30
  * @default "dd.mm.yyyy"
16
31
  */
@@ -43,6 +58,10 @@ export declare type DatePickerProps = {
43
58
  * @default <DateIcon />
44
59
  */
45
60
  prepend?: React.ReactNode;
61
+ /**
62
+ * Tekst som vises ved hover på «Åpne kalender»-knappen
63
+ */
64
+ calendarButtonTooltip?: string;
46
65
  /** Skjuler knapp for åpning av kalender
47
66
  * @default false
48
67
  */
@@ -50,22 +69,39 @@ export declare type DatePickerProps = {
50
69
  /** Skjuler tilbakemeldingsteksten ved feil dato-input
51
70
  * @default false
52
71
  */
53
- hideValidationFeedback?: boolean;
72
+ hideValidation?: boolean;
54
73
  /** Skjuler kalender-GUI-et
55
74
  * @default false
56
75
  */
57
76
  hideCalendar?: boolean;
77
+ /** Viser kun kalender-popover-en
78
+ * @default false
79
+ */
80
+ inline?: boolean;
58
81
  'data-cy'?: any;
59
- } & Omit<ReactDatePickerProps, 'selected' | 'customInput' | 'onChangeRaw'>;
82
+ } & Omit<ReactDatePickerProps, 'selected' | 'customInput' | 'onChangeRaw' | 'dateFormat' | 'locale'>;
60
83
  export declare const DatePicker: React.ForwardRefExoticComponent<{
61
84
  /** Hva som er den valgte datoen */
62
- selectedDate?: Date | undefined;
85
+ selectedDate: Date | null;
63
86
  /** Kalles når datoen/tiden endres */
64
- onChange: (date: Date | null, event: React.SyntheticEvent<any, Event>) => void;
87
+ onChange: (date: Date | null, event: React.SyntheticEvent<any, Event> | undefined) => void;
65
88
  /**
66
- * Kalles når innholdet i inputfeltet endres
89
+ * Kalles når en tast trykkes i inputfeltet
67
90
  */
68
- onChangeInput?: ((value: string) => void) | undefined;
91
+ onKeyDown?: ((event: KeyboardEvent) => void) | undefined;
92
+ /**
93
+ * Datoformater som skal støttes. Første i listen er formatet alt input omgjøres til.
94
+ * Format-valg tilgjengelig her: https://date-fns.org/v2.28.0/docs/format
95
+ * OBS: Noen kombinasjoner av datoformater kan gi rar og uønsket oppførsel,
96
+ * test nøye ved endring
97
+ * @default "['dd.MM.yyyy', 'ddMMyyyy', 'dd/MM/yyyy', 'ddMMyy']"
98
+ */
99
+ dateFormats?: string[] | undefined;
100
+ /**
101
+ * Locale fra date-fns som brukes av Datepicker-en
102
+ * @default nb
103
+ */
104
+ locale?: globalThis.Locale | undefined;
69
105
  /** Placeholder om ingen dato er valgt
70
106
  * @default "dd.mm.yyyy"
71
107
  */
@@ -98,6 +134,10 @@ export declare const DatePicker: React.ForwardRefExoticComponent<{
98
134
  * @default <DateIcon />
99
135
  */
100
136
  prepend?: React.ReactNode;
137
+ /**
138
+ * Tekst som vises ved hover på «Åpne kalender»-knappen
139
+ */
140
+ calendarButtonTooltip?: string | undefined;
101
141
  /** Skjuler knapp for åpning av kalender
102
142
  * @default false
103
143
  */
@@ -105,10 +145,14 @@ export declare const DatePicker: React.ForwardRefExoticComponent<{
105
145
  /** Skjuler tilbakemeldingsteksten ved feil dato-input
106
146
  * @default false
107
147
  */
108
- hideValidationFeedback?: boolean | undefined;
148
+ hideValidation?: boolean | undefined;
109
149
  /** Skjuler kalender-GUI-et
110
150
  * @default false
111
151
  */
112
152
  hideCalendar?: boolean | undefined;
153
+ /** Viser kun kalender-popover-en
154
+ * @default false
155
+ */
156
+ inline?: boolean | undefined;
113
157
  'data-cy'?: any;
114
- } & Omit<ReactDatePickerProps<never>, "selected" | "customInput" | "onChangeRaw"> & React.RefAttributes<HTMLInputElement>>;
158
+ } & Omit<ReactDatePickerProps<never, undefined>, "selected" | "customInput" | "onChangeRaw" | "dateFormat" | "locale"> & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { ReactDatePickerCustomHeaderProps } from 'react-datepicker';
3
+ export declare const DatePickerHeader: ({ date, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }: Partial<ReactDatePickerCustomHeaderProps>) => JSX.Element;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { VariantType } from '@entur/form';
3
+ declare type DatePickerInputProps = {
4
+ style?: React.CSSProperties;
5
+ label: string;
6
+ inputPlaceholder: string;
7
+ prepend?: React.ReactNode;
8
+ feedback?: string;
9
+ variant?: VariantType;
10
+ disabled?: boolean;
11
+ disableLabelAnimation?: boolean;
12
+ calendarButtonTooltip: string;
13
+ hideCalendarButton?: boolean;
14
+ inputRef: React.RefObject<HTMLInputElement>;
15
+ forwardRef: React.ForwardedRef<HTMLInputElement>;
16
+ toggleCalendarGUI: () => void;
17
+ onClick?: React.MouseEventHandler<HTMLButtonElement | HTMLInputElement>;
18
+ onKeyDownInput: (event: KeyboardEvent) => any;
19
+ onBlurInput: (event: FocusEvent) => any;
20
+ onFocus: undefined;
21
+ selectedDate: Date | null;
22
+ placeholder?: null;
23
+ };
24
+ export declare const DatePickerInput: React.ForwardRefExoticComponent<DatePickerInputProps & React.RefAttributes<HTMLInputElement>>;
25
+ export {};
@@ -0,0 +1 @@
1
+ export * from './DatePicker';
@@ -65,4 +65,4 @@ export declare const TimePicker: React.ForwardRefExoticComponent<{
65
65
  * @default Legger til 30 minutter av den valgte tiden
66
66
  */
67
67
  onRightArrowClick?: ((selectedTime?: Date | null | undefined, e?: React.MouseEvent<Element, MouseEvent> | undefined) => void) | undefined;
68
- } & ReactDatePickerProps<never> & React.RefAttributes<HTMLDivElement>>;
68
+ } & ReactDatePickerProps<never, undefined> & React.RefAttributes<HTMLDivElement>>;