@entur/datepicker 4.0.0-beta.4 → 4.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,60 @@
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
+ ## [3.0.10](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.9...@entur/datepicker@3.0.10) (2023-01-19)
7
+
8
+ **Note:** Version bump only for package @entur/datepicker
9
+
10
+ ## [3.0.9](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.6...@entur/datepicker@3.0.9) (2022-12-09)
11
+
12
+ **Note:** Version bump only for package @entur/datepicker
13
+
14
+ ## [3.0.8](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.7...@entur/datepicker@3.0.8) (2022-11-24)
15
+
16
+ **Note:** Version bump only for package @entur/datepicker
17
+
18
+ ## [3.0.7](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.6...@entur/datepicker@3.0.7) (2022-10-31)
19
+
20
+ **Note:** Version bump only for package @entur/datepicker
21
+
22
+ ## [3.0.6](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.5...@entur/datepicker@3.0.6) (2022-10-31)
23
+
24
+ **Note:** Version bump only for package @entur/datepicker
25
+
26
+ ## [3.0.5](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.4...@entur/datepicker@3.0.5) (2022-10-31)
27
+
28
+ **Note:** Version bump only for package @entur/datepicker
29
+
30
+ ## [3.0.4](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.3...@entur/datepicker@3.0.4) (2022-10-20)
31
+
32
+ **Note:** Version bump only for package @entur/datepicker
33
+
34
+ ## [3.0.3](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.2...@entur/datepicker@3.0.3) (2022-10-20)
35
+
36
+ # [4.0.0-RC.3](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-RC.2...@entur/datepicker@4.0.0-RC.3) (2022-11-22)
37
+
38
+ **Note:** Version bump only for package @entur/datepicker
39
+
40
+ # [4.0.0-RC.2](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-RC.1...@entur/datepicker@4.0.0-RC.2) (2022-11-22)
41
+
42
+ ### Bug Fixes
43
+
44
+ - **datepicker:** fix modal not being scrollable when larger than screen due to zoom ([0a75d57](https://bitbucket.org/enturas/design-system/commits/0a75d577b95521fd12fadb0f3e0258687aaba1cb))
45
+
46
+ # [4.0.0-RC.1](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-RC.0...@entur/datepicker@4.0.0-RC.1) (2022-11-21)
47
+
48
+ **Note:** Version bump only for package @entur/datepicker
49
+
50
+ # [4.0.0-RC.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-beta.5...@entur/datepicker@4.0.0-RC.0) (2022-11-21)
51
+
52
+ **Note:** Version bump only for package @entur/datepicker
53
+
54
+ # [4.0.0-beta.5](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-beta.3...@entur/datepicker@4.0.0-beta.5) (2022-11-11)
55
+
56
+ ### Bug Fixes
57
+
58
+ - **DatePicker:** change DatePickerProps to DatePickerBeta to avoid ts-errors when bundeling ([f1efb0a](https://bitbucket.org/enturas/design-system/commits/f1efb0a9b509cfcf6975e9f26034fc5b5a4bba97))
59
+
6
60
  # [4.0.0-beta.4](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-beta.3...@entur/datepicker@4.0.0-beta.4) (2022-11-11)
7
61
 
8
62
  ### Bug Fixes
@@ -6,6 +6,7 @@ declare type CalendarProps = {
6
6
  onChange: (SelectedDate: DateValue) => void;
7
7
  navigationDescription?: string;
8
8
  style?: React.CSSProperties;
9
+ onSelectedCellClick?: () => void;
9
10
  [key: string]: any;
10
11
  };
11
12
  export declare const Calendar: React.ForwardRefExoticComponent<Pick<CalendarProps, keyof CalendarProps> & React.RefAttributes<HTMLDivElement>>;
@@ -4,6 +4,7 @@ import { CalendarDate } from '@internationalized/date';
4
4
  declare type CalendarCellProps = {
5
5
  state: CalendarState;
6
6
  date: CalendarDate;
7
+ onSelectedCellClick?: () => void;
7
8
  };
8
- export declare const CalendarCell: ({ state, date, ...rest }: CalendarCellProps) => JSX.Element;
9
+ export declare const CalendarCell: ({ state, date, onSelectedCellClick, ...rest }: CalendarCellProps) => JSX.Element;
9
10
  export {};
@@ -3,6 +3,7 @@ import { CalendarState } from '@react-stately/calendar';
3
3
  declare type CalendarGridProps = {
4
4
  state: CalendarState;
5
5
  navigationDescription?: string;
6
+ onSelectedCellClick?: () => void;
6
7
  };
7
- export declare const CalendarGrid: ({ state, navigationDescription, ...rest }: CalendarGridProps) => JSX.Element;
8
+ export declare const CalendarGrid: ({ state, navigationDescription, onSelectedCellClick, ...rest }: CalendarGridProps) => JSX.Element;
8
9
  export {};
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import type { SpectrumDateFieldProps, DateValue } from '@react-types/datepicker';
3
- import type { CalendarDate } from '@internationalized/date';
4
3
  import { VariantType } from '@entur/form';
5
4
  import './DateField.scss';
6
5
  export declare type DateFieldProps = {
@@ -21,9 +20,9 @@ export declare type DateFieldProps = {
21
20
  showTime?: boolean;
22
21
  /** Tidligste gyldige datovalg.
23
22
  * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone */
24
- minValue?: CalendarDate;
23
+ minDate?: DateValue;
25
24
  /** Seneste gyldige datovalg. (se minValue) */
26
- maxValue?: CalendarDate;
25
+ maxDate?: DateValue;
27
26
  /** Varselmelding, som vil komme under TimePicker */
28
27
  feedback?: string;
29
28
  /** Valideringsvariant */
@@ -1,192 +1,65 @@
1
1
  import React from 'react';
2
- import { ReactDatePickerProps } from 'react-datepicker';
3
- import { Locale } from 'date-fns';
4
- import { VariantType } from '@entur/form';
2
+ import type { DateValue, AriaDatePickerProps } from '@react-types/datepicker';
3
+ import type { VariantType } from '@entur/form';
5
4
  import './DatePicker.scss';
6
- import 'react-datepicker/dist/react-datepicker.css';
7
5
  export declare type DatePickerProps = {
8
- /** Hva som er den valgte datoen */
9
- selectedDate: Date | null;
10
- /** Kalles når datoen/tiden endres */
11
- onChange: (date: Date | null, event: React.SyntheticEvent<any, Event> | undefined) => void;
12
- /**
13
- * Kalles når en tast trykkes i inputfeltet
14
- */
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;
29
- /** Placeholder om ingen dato er valgt
30
- * @default "dd.mm.yyyy"
31
- */
32
- placeholder?: string;
33
- /** Ekstra klassenavn */
34
- className?: string;
35
- /** Label over DatePicker */
6
+ /** Den valgte datoen. Dato i '@internationalized/date'-pakkens format */
7
+ selectedDate: DateValue;
8
+ /** Kalles når tiden endres. Dato i '@internationalized/date'-pakkens format */
9
+ onChange: (date: DateValue) => void;
10
+ /** Ledetekst for inputfeltet til DatePicker */
36
11
  label: string;
37
- /**
38
- * Varselmelding, som vil komme under DatePicker
12
+ /** BCP47-språkkoden til locale-en du ønsker å bruke.
13
+ * @default Brukerenhetens selvvalgte locale
39
14
  */
40
- feedback?: string;
41
- /** Valideringsvariant
15
+ locale?: string;
16
+ /** Viser den gjeldende tidssonen hvis en er valgt (krever at tid også vises)
17
+ * @default false
42
18
  */
19
+ showTimeZone?: boolean;
20
+ /** Viser tidspunkt i tillegg til dato.
21
+ * OBS: selectedDate må være av typen CalendarDateTime eller ZonedDateTime
22
+ */
23
+ showTime?: boolean;
24
+ /** Tidligste gyldige datovalg.
25
+ * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone. */
26
+ minDate?: DateValue;
27
+ /** Seneste gyldige datovalg.
28
+ * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone
29
+ *
30
+ * OBS: Hvis du bruker dato med tid vil det være til, men ikke med denne datoen */
31
+ maxDate?: DateValue;
32
+ /** Funksjon som tar inn en dato og sier om den er utilgjengelig.
33
+ * Eks. (date) => isWeekend(date, 'no-NO') == helgedager er ikke tilgjengelig */
34
+ isDateUnavailable?: (date: DateValue) => boolean;
35
+ /** Varselmelding, som vil komme under DatePicker sitt inputfelt */
36
+ feedback?: string;
37
+ /** Valideringsvariant */
43
38
  variant?: VariantType;
44
- /** Varselmelding for når datoen er på feil format
39
+ /** Varselmelding som forteller om ugyldig dato
45
40
  * @default "Ugyldig dato"
46
41
  */
47
42
  validationFeedback?: string;
48
- /** Valideringsvariant for melding om feil datoformat
43
+ /** Valideringsvariant for melding om ugyldig dato
49
44
  * @default "error"
50
45
  */
51
46
  validationVariant?: VariantType;
52
- style?: React.CSSProperties;
53
- /** Plasserer labelen statisk toppen av inputfeltet
54
- * @default false
55
- */
56
- disableLabelAnimation?: boolean;
57
- /** Tekst eller ikon som kommer før inputfelter
58
- * @default <DateIcon />
59
- */
60
- prepend?: React.ReactNode;
61
- /**
62
- * Tekst som vises når kalender ikke er åpen på «Åpne/Lukk kalender»-knappen ved hover
63
- */
64
- calendarButtonTooltipOpen?: string;
65
- /**
66
- * Tekst som vises når kalender er åpen på «Åpne/Lukk kalender»-knappen ved hover
67
- */
68
- calendarButtonTooltipClose?: string;
69
- /** Skjuler knapp for åpning av kalender
70
- * @default false
71
- */
72
- hideCalendarButton?: boolean;
73
- /** Skjuler tilbakemeldingsteksten ved feil dato-input
74
- * @default false
75
- */
76
- hideValidation?: boolean;
77
- /** Skjuler kalender-GUI-et
78
- * @default false
79
- */
80
- hideCalendar?: boolean;
81
- /** Viser kun kalender-popover-en
82
- * @default false
83
- */
84
- inline?: boolean;
85
- /** Skjermlesertekst for forrige måned-knapen
86
- * @default "Forrige måned"
87
- */
88
- previousMonthAriaLabel?: string;
89
- /** Skjermlesertekst for neste måned-knapen
90
- * @default "Neste måned"
91
- */
92
- nextMonthAriaLabel?: string;
93
- /**
94
- * Skjermlesertekst som leses før dato i kalenderGUI-et
95
- * @default "Velg"
96
- */
97
- chooseDayAriaLabelPrefix?: string;
98
- 'data-cy'?: any;
99
- } & Omit<ReactDatePickerProps, 'selected' | 'customInput' | 'onChangeRaw' | 'dateFormat' | 'locale' | 'previousMonthAriaLabel' | 'nextMonthAriaLabel'>;
100
- export declare const DatePicker: React.ForwardRefExoticComponent<{
101
- /** Hva som er den valgte datoen */
102
- selectedDate: Date | null;
103
- /** Kalles når datoen/tiden endres */
104
- onChange: (date: Date | null, event: React.SyntheticEvent<any, Event> | undefined) => void;
105
- /**
106
- * Kalles når en tast trykkes i inputfeltet
47
+ disabled?: boolean;
48
+ /** Hvis true vil kalenderen alltid vises i en popover når den åpnes
49
+ * @default false
107
50
  */
108
- onKeyDown?: ((event: KeyboardEvent) => void) | undefined;
109
- /**
110
- * Datoformater som skal støttes. Første i listen er formatet alt input omgjøres til.
111
- * Format-valg tilgjengelig her: https://date-fns.org/v2.28.0/docs/format
112
- * OBS: Noen kombinasjoner av datoformater kan gi rar og uønsket oppførsel,
113
- * test nøye ved endring
114
- * @default "['dd.MM.yyyy', 'ddMMyyyy', 'dd/MM/yyyy', 'ddMMyy']"
51
+ disableModal?: boolean;
52
+ /** Maxbredden til viewport-en for at modal skal vises
53
+ * @default 1000
115
54
  */
116
- dateFormats?: string[] | undefined;
117
- /**
118
- * Locale fra date-fns som brukes av Datepicker-en
119
- * @default nb
55
+ modalTreshold?: number;
56
+ labelTooltip?: React.ReactNode;
57
+ /** Skjermlesertest som forklarer navigasjon i kalenderen. Oversettes automatisk for engelsk locale, men ikke andre språk.
58
+ * @default 'Bruk piltastene til å navigere mellom datoer'
120
59
  */
121
- locale?: globalThis.Locale | undefined;
122
- /** Placeholder om ingen dato er valgt
123
- * @default "dd.mm.yyyy"
124
- */
125
- placeholder?: string | undefined;
60
+ navigationDescription?: string;
126
61
  /** Ekstra klassenavn */
127
- className?: string | undefined;
128
- /** Label over DatePicker */
129
- label: string;
130
- /**
131
- * Varselmelding, som vil komme under DatePicker
132
- */
133
- feedback?: string | undefined;
134
- /** Valideringsvariant
135
- */
136
- variant?: VariantType | undefined;
137
- /** Varselmelding for når datoen er på feil format
138
- * @default "Ugyldig dato"
139
- */
140
- validationFeedback?: string | undefined;
141
- /** Valideringsvariant for melding om feil datoformat
142
- * @default "error"
143
- */
144
- validationVariant?: VariantType | undefined;
145
- style?: React.CSSProperties | undefined;
146
- /** Plasserer labelen statisk på toppen av inputfeltet
147
- * @default false
148
- */
149
- disableLabelAnimation?: boolean | undefined;
150
- /** Tekst eller ikon som kommer før inputfelter
151
- * @default <DateIcon />
152
- */
153
- prepend?: React.ReactNode;
154
- /**
155
- * Tekst som vises når kalender ikke er åpen på «Åpne/Lukk kalender»-knappen ved hover
156
- */
157
- calendarButtonTooltipOpen?: string | undefined;
158
- /**
159
- * Tekst som vises når kalender er åpen på «Åpne/Lukk kalender»-knappen ved hover
160
- */
161
- calendarButtonTooltipClose?: string | undefined;
162
- /** Skjuler knapp for åpning av kalender
163
- * @default false
164
- */
165
- hideCalendarButton?: boolean | undefined;
166
- /** Skjuler tilbakemeldingsteksten ved feil dato-input
167
- * @default false
168
- */
169
- hideValidation?: boolean | undefined;
170
- /** Skjuler kalender-GUI-et
171
- * @default false
172
- */
173
- hideCalendar?: boolean | undefined;
174
- /** Viser kun kalender-popover-en
175
- * @default false
176
- */
177
- inline?: boolean | undefined;
178
- /** Skjermlesertekst for forrige måned-knapen
179
- * @default "Forrige måned"
180
- */
181
- previousMonthAriaLabel?: string | undefined;
182
- /** Skjermlesertekst for neste måned-knapen
183
- * @default "Neste måned"
184
- */
185
- nextMonthAriaLabel?: string | undefined;
186
- /**
187
- * Skjermlesertekst som leses før dato i kalenderGUI-et
188
- * @default "Velg"
189
- */
190
- chooseDayAriaLabelPrefix?: string | undefined;
191
- 'data-cy'?: any;
192
- } & Omit<ReactDatePickerProps<never, undefined>, "selected" | "customInput" | "onChangeRaw" | "dateFormat" | "locale" | "previousMonthAriaLabel" | "nextMonthAriaLabel"> & React.RefAttributes<HTMLInputElement>>;
62
+ className?: string;
63
+ style?: React.CSSProperties;
64
+ } & Omit<AriaDatePickerProps<DateValue>, 'value' | 'onChange' | 'label' | 'hideTimeZone' | 'placeholder' | 'minValue' | 'maxValue'>;
65
+ export declare const DatePicker: ({ selectedDate: value, onChange, locale, disabled: isDisabled, showTime, showTimeZone, className, style, variant, feedback, validationVariant, validationFeedback, disableModal, labelTooltip, navigationDescription, minDate: minValue, maxDate: maxValue, modalTreshold, ...rest }: DatePickerProps) => JSX.Element;
@@ -1,2 +1,4 @@
1
+ export * from './DateField';
2
+ export * from './Calendar';
1
3
  export * from './DatePicker';
2
- export * from './beta';
4
+ export * from './NativeDatePicker';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { TimePickerProps as ReactAriaTimePickerProps, TimeValue } from '@react-types/datepicker';
2
+ import type { TimeValue, AriaTimeFieldProps } from '@react-types/datepicker';
3
3
  import { VariantType } from '@entur/form';
4
4
  import './TimePicker.scss';
5
5
  export declare type TimePickerProps = {
@@ -38,7 +38,7 @@ export declare type TimePickerProps = {
38
38
  /** Ekstra klassenavn */
39
39
  className?: string;
40
40
  style?: React.CSSProperties;
41
- } & Omit<ReactAriaTimePickerProps<TimeValue>, 'onChange' | 'label' | 'hideTimeZone' | 'placeholder'>;
41
+ } & Omit<AriaTimeFieldProps<TimeValue>, 'onChange' | 'label' | 'hideTimeZone' | 'placeholder'>;
42
42
  export declare const TimePicker: React.ForwardRefExoticComponent<{
43
43
  /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */
44
44
  selectedTime: TimeValue | null;
@@ -75,4 +75,4 @@ export declare const TimePicker: React.ForwardRefExoticComponent<{
75
75
  /** Ekstra klassenavn */
76
76
  className?: string | undefined;
77
77
  style?: React.CSSProperties | undefined;
78
- } & Omit<ReactAriaTimePickerProps<TimeValue>, "onChange" | "label" | "hideTimeZone" | "placeholder"> & React.RefAttributes<HTMLDivElement>>;
78
+ } & Omit<AriaTimeFieldProps<TimeValue>, "onChange" | "label" | "hideTimeZone" | "placeholder"> & React.RefAttributes<HTMLDivElement>>;