@entur/datepicker 0.11.6 → 2.0.1

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,43 @@
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.1](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@2.0.0...@entur/datepicker@2.0.1) (2022-04-20)
7
+
8
+ **Note:** Version bump only for package @entur/datepicker
9
+
10
+ # [2.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@1.0.0...@entur/datepicker@2.0.0) (2022-04-19)
11
+
12
+ ### Bug Fixes
13
+
14
+ - **datepicker:** fix validation in datepicker breaking if other locale than nb is used ([aa13c15](https://bitbucket.org/enturas/design-system/commits/aa13c15ff76afe8946aec40c87992e564626dcdb))
15
+
16
+ ### BREAKING CHANGES
17
+
18
+ - **datepicker:** locale prop is changed to only accept a date-fns Locale object, previously a string was also
19
+ accepted
20
+
21
+ # [1.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.11.6...@entur/datepicker@1.0.0) (2022-04-13)
22
+
23
+ ### Features
24
+
25
+ - **datepicker:** add custom header to datepicker ([6c9c863](https://bitbucket.org/enturas/design-system/commits/6c9c8636a4eec59b86db928aceb9e4e01c1fa07e))
26
+ - **datepicker:** rewrite custom input in datepicker to use TextField component ([3cc2e51](https://bitbucket.org/enturas/design-system/commits/3cc2e51948080f21b0ec343c06e886b8d285ffbc))
27
+ - **datepicker:** rewrite styling for datepicker calendar popover ([3f10c85](https://bitbucket.org/enturas/design-system/commits/3f10c85aceb02f46d93035ee6b7a9f9e8b26d024))
28
+ - **datepicker:** rewrite validation logic for datepicker ([db25f30](https://bitbucket.org/enturas/design-system/commits/db25f30f009c32018d3707ac53cca2c6f30e9f0a))
29
+
30
+ ### BREAKING CHANGES
31
+
32
+ - **datepicker:** - selectedDate is now a required prop
33
+
34
+ * Complete rewrite of component may have introduced unnoticed bugs
35
+
36
+ - **datepicker:** - Calendar button design has changed
37
+
38
+ * Complete rewrite of component may have introduced unnoticed bugs
39
+
40
+ - **datepicker:** Complete rewrite of component may have introduced unnoticed bugs
41
+ - **datepicker:** Complete rewrite of component may have introduced unnoticed bugs
42
+
6
43
  ## [0.11.6](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.11.5...@entur/datepicker@0.11.6) (2022-03-24)
7
44
 
8
45
  ### 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
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' | 'onChange'>;
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
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" | "onChange"> & 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>>;