@entur/datepicker 0.11.6 → 1.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,28 @@
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
+ # [1.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.11.6...@entur/datepicker@1.0.0) (2022-04-13)
7
+
8
+ ### Features
9
+
10
+ - **datepicker:** add custom header to datepicker ([6c9c863](https://bitbucket.org/enturas/design-system/commits/6c9c8636a4eec59b86db928aceb9e4e01c1fa07e))
11
+ - **datepicker:** rewrite custom input in datepicker to use TextField component ([3cc2e51](https://bitbucket.org/enturas/design-system/commits/3cc2e51948080f21b0ec343c06e886b8d285ffbc))
12
+ - **datepicker:** rewrite styling for datepicker calendar popover ([3f10c85](https://bitbucket.org/enturas/design-system/commits/3f10c85aceb02f46d93035ee6b7a9f9e8b26d024))
13
+ - **datepicker:** rewrite validation logic for datepicker ([db25f30](https://bitbucket.org/enturas/design-system/commits/db25f30f009c32018d3707ac53cca2c6f30e9f0a))
14
+
15
+ ### BREAKING CHANGES
16
+
17
+ - **datepicker:** - selectedDate is now a required prop
18
+
19
+ * Complete rewrite of component may have introduced unnoticed bugs
20
+
21
+ - **datepicker:** - Calendar button design has changed
22
+
23
+ * Complete rewrite of component may have introduced unnoticed bugs
24
+
25
+ - **datepicker:** Complete rewrite of component may have introduced unnoticed bugs
26
+ - **datepicker:** Complete rewrite of component may have introduced unnoticed bugs
27
+
6
28
  ## [0.11.6](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.11.5...@entur/datepicker@0.11.6) (2022-03-24)
7
29
 
8
30
  ### Bug Fixes
@@ -2,15 +2,24 @@ import React from 'react';
2
2
  import { ReactDatePickerProps } from 'react-datepicker';
3
3
  import { VariantType } from '@entur/form';
4
4
  import './DatePicker.scss';
5
+ import 'react-datepicker/dist/react-datepicker.css';
5
6
  export declare type DatePickerProps = {
6
7
  /** Hva som er den valgte datoen */
7
- selectedDate?: Date;
8
+ selectedDate: Date | null;
8
9
  /** Kalles når datoen/tiden endres */
9
10
  onChange: (date: Date | null, event: React.SyntheticEvent<any, Event> | undefined) => void;
10
11
  /**
11
- * Kalles når innholdet i inputfeltet endres
12
+ * Kalles når en tast trykkes i inputfeltet
12
13
  */
13
- onChangeInput?: (value: string) => void;
14
+ onKeyDown?: (event: KeyboardEvent) => void;
15
+ /**
16
+ * Datoformater som skal støttes. Første i listen er formatet alt input omgjøres til.
17
+ * Format-valg tilgjengelig her: https://date-fns.org/v2.28.0/docs/format
18
+ * OBS: Noen kombinasjoner av datoformater kan gi rar og uønsket oppførsel,
19
+ * test nøye ved endring
20
+ * @default "['dd.MM.yyyy', 'ddMMyyyy', 'dd/MM/yyyy', 'ddMMyy']"
21
+ */
22
+ dateFormats?: string[];
14
23
  /** Placeholder om ingen dato er valgt
15
24
  * @default "dd.mm.yyyy"
16
25
  */
@@ -43,6 +52,10 @@ export declare type DatePickerProps = {
43
52
  * @default <DateIcon />
44
53
  */
45
54
  prepend?: React.ReactNode;
55
+ /**
56
+ * Tekst som vises ved hover på «Åpne kalender»-knappen
57
+ */
58
+ calendarButtonTooltip?: string;
46
59
  /** Skjuler knapp for åpning av kalender
47
60
  * @default false
48
61
  */
@@ -50,22 +63,34 @@ export declare type DatePickerProps = {
50
63
  /** Skjuler tilbakemeldingsteksten ved feil dato-input
51
64
  * @default false
52
65
  */
53
- hideValidationFeedback?: boolean;
66
+ hideValidation?: boolean;
54
67
  /** Skjuler kalender-GUI-et
55
68
  * @default false
56
69
  */
57
70
  hideCalendar?: boolean;
71
+ /** Viser kun kalender-popover-en
72
+ * @default false
73
+ */
74
+ inline?: boolean;
58
75
  'data-cy'?: any;
59
- } & Omit<ReactDatePickerProps, 'selected' | 'customInput' | 'onChangeRaw' | 'onChange'>;
76
+ } & Omit<ReactDatePickerProps, 'selected' | 'customInput' | 'onChangeRaw' | 'dateFormat'>;
60
77
  export declare const DatePicker: React.ForwardRefExoticComponent<{
61
78
  /** Hva som er den valgte datoen */
62
- selectedDate?: Date | undefined;
79
+ selectedDate: Date | null;
63
80
  /** Kalles når datoen/tiden endres */
64
81
  onChange: (date: Date | null, event: React.SyntheticEvent<any, Event> | undefined) => void;
65
82
  /**
66
- * Kalles når innholdet i inputfeltet endres
83
+ * Kalles når en tast trykkes i inputfeltet
67
84
  */
68
- onChangeInput?: ((value: string) => void) | undefined;
85
+ onKeyDown?: ((event: KeyboardEvent) => void) | undefined;
86
+ /**
87
+ * Datoformater som skal støttes. Første i listen er formatet alt input omgjøres til.
88
+ * Format-valg tilgjengelig her: https://date-fns.org/v2.28.0/docs/format
89
+ * OBS: Noen kombinasjoner av datoformater kan gi rar og uønsket oppførsel,
90
+ * test nøye ved endring
91
+ * @default "['dd.MM.yyyy', 'ddMMyyyy', 'dd/MM/yyyy', 'ddMMyy']"
92
+ */
93
+ dateFormats?: string[] | undefined;
69
94
  /** Placeholder om ingen dato er valgt
70
95
  * @default "dd.mm.yyyy"
71
96
  */
@@ -98,6 +123,10 @@ export declare const DatePicker: React.ForwardRefExoticComponent<{
98
123
  * @default <DateIcon />
99
124
  */
100
125
  prepend?: React.ReactNode;
126
+ /**
127
+ * Tekst som vises ved hover på «Åpne kalender»-knappen
128
+ */
129
+ calendarButtonTooltip?: string | undefined;
101
130
  /** Skjuler knapp for åpning av kalender
102
131
  * @default false
103
132
  */
@@ -105,10 +134,14 @@ export declare const DatePicker: React.ForwardRefExoticComponent<{
105
134
  /** Skjuler tilbakemeldingsteksten ved feil dato-input
106
135
  * @default false
107
136
  */
108
- hideValidationFeedback?: boolean | undefined;
137
+ hideValidation?: boolean | undefined;
109
138
  /** Skjuler kalender-GUI-et
110
139
  * @default false
111
140
  */
112
141
  hideCalendar?: boolean | undefined;
142
+ /** Viser kun kalender-popover-en
143
+ * @default false
144
+ */
145
+ inline?: boolean | undefined;
113
146
  'data-cy'?: any;
114
- } & Omit<ReactDatePickerProps<never>, "selected" | "customInput" | "onChangeRaw" | "onChange"> & React.RefAttributes<HTMLInputElement>>;
147
+ } & Omit<ReactDatePickerProps<never, undefined>, "selected" | "customInput" | "onChangeRaw" | "dateFormat"> & 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>>;