@entur/datepicker 3.0.7 → 4.0.0-RC.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,25 +3,77 @@
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.7](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.6...@entur/datepicker@3.0.7) (2022-10-31)
6
+ # [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)
7
7
 
8
8
  **Note:** Version bump only for package @entur/datepicker
9
9
 
10
- ## [3.0.6](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.5...@entur/datepicker@3.0.6) (2022-10-31)
10
+ # [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)
11
11
 
12
12
  **Note:** Version bump only for package @entur/datepicker
13
13
 
14
- ## [3.0.5](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.4...@entur/datepicker@3.0.5) (2022-10-31)
14
+ # [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)
15
15
 
16
- **Note:** Version bump only for package @entur/datepicker
16
+ ### Bug Fixes
17
17
 
18
- ## [3.0.4](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.3...@entur/datepicker@3.0.4) (2022-10-20)
18
+ - **DatePicker:** change DatePickerProps to DatePickerBeta to avoid ts-errors when bundeling ([f1efb0a](https://bitbucket.org/enturas/design-system/commits/f1efb0a9b509cfcf6975e9f26034fc5b5a4bba97))
19
19
 
20
- **Note:** Version bump only for package @entur/datepicker
20
+ # [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)
21
21
 
22
- ## [3.0.3](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.2...@entur/datepicker@3.0.3) (2022-10-20)
22
+ ### Bug Fixes
23
23
 
24
- **Note:** Version bump only for package @entur/datepicker
24
+ - **DatePicker:** change DatePickerProps to DatePickerBeta to avoid ts-errors when bundeling ([f1efb0a](https://bitbucket.org/enturas/design-system/commits/f1efb0a9b509cfcf6975e9f26034fc5b5a4bba97))
25
+
26
+ # [4.0.0-beta.3](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-beta.2...@entur/datepicker@4.0.0-beta.3) (2022-11-08)
27
+
28
+ ### Bug Fixes
29
+
30
+ - **datepicker:** change min- and maxValue to min- and maxDate ([f5bfb88](https://bitbucket.org/enturas/design-system/commits/f5bfb885bbbd253f150756f36550b07ed848fdc3))
31
+ - **datepicker:** fix page jumping when opening datepicker popover ([4629f2c](https://bitbucket.org/enturas/design-system/commits/4629f2c6f134f622cab7546b3f6d3980c9ed913a))
32
+
33
+ # [4.0.0-beta.2](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-beta.1...@entur/datepicker@4.0.0-beta.2) (2022-10-31)
34
+
35
+ ### Features
36
+
37
+ - **datepicker utils:** update utils to work with CalendarDate values ([d5993f2](https://bitbucket.org/enturas/design-system/commits/d5993f22c2abcc53e932cc58e960accb979182c3))
38
+
39
+ # [4.0.0-beta.1](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-beta.0...@entur/datepicker@4.0.0-beta.1) (2022-10-28)
40
+
41
+ ### Bug Fixes
42
+
43
+ - **datepicker:** hide next and previous month button when disabled ([1ae7037](https://bitbucket.org/enturas/design-system/commits/1ae70371fb5622b1fbfc593c9c0becd83f665531))
44
+
45
+ # [4.0.0-beta.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-alpha.1...@entur/datepicker@4.0.0-beta.0) (2022-10-27)
46
+
47
+ ### Bug Fixes
48
+
49
+ - **datepicker:** final touches to datepicker and supcomponents ([8c21915](https://bitbucket.org/enturas/design-system/commits/8c21915cea21346444bfdf2b66bfe10de1c9fcba))
50
+
51
+ # [4.0.0-alpha.1](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-alpha.0...@entur/datepicker@4.0.0-alpha.1) (2022-10-26)
52
+
53
+ ### Bug Fixes
54
+
55
+ - **datepicker:** fix locale issues ([8c325b8](https://bitbucket.org/enturas/design-system/commits/8c325b86088feb9f8a7d4ad538a18ec6d78e202d))
56
+
57
+ ### Features
58
+
59
+ - **datepicker:** add i18y-wrapper to components for locale ([aed14fb](https://bitbucket.org/enturas/design-system/commits/aed14fb32e789159b4021c8b740a8101b83228fa))
60
+ - **datepicker:** add modal view for calendar when using small screen widths ([05d9325](https://bitbucket.org/enturas/design-system/commits/05d9325a83dbc8d7d2e62050e7d6bbecbe2f665e))
61
+
62
+ # [4.0.0-alpha.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.2...@entur/datepicker@4.0.0-alpha.0) (2022-10-20)
63
+
64
+ ### Bug Fixes
65
+
66
+ - **locale:** wip fix for locale not working ([0ff0912](https://bitbucket.org/enturas/design-system/commits/0ff0912405e015abb50c9cb6103c5f9827d8bd7b))
67
+
68
+ ### Features
69
+
70
+ - **calendar:** add new calendar component ([6cd168c](https://bitbucket.org/enturas/design-system/commits/6cd168caf3d2e634fc2248abe728ab6a91e44ef8))
71
+ - **date field:** add new date field component ([3f1348d](https://bitbucket.org/enturas/design-system/commits/3f1348d53e0d7dc5381f613633791bcd7565689e))
72
+ - **datepicker:** add new datepicker component ([7d53075](https://bitbucket.org/enturas/design-system/commits/7d5307509bfc3f7d6bf00d47be80eef6550404fb))
73
+
74
+ ### BREAKING CHANGES
75
+
76
+ - **datepicker:** rewrite
25
77
 
26
78
  ## [3.0.2](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@3.0.1...@entur/datepicker@3.0.2) (2022-10-12)
27
79
 
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { DateValue } from '@internationalized/date';
3
+ import './Calendar.scss';
4
+ declare type CalendarProps = {
5
+ selectedDate: DateValue;
6
+ onChange: (SelectedDate: DateValue) => void;
7
+ navigationDescription?: string;
8
+ style?: React.CSSProperties;
9
+ onSelectedCellClick?: () => void;
10
+ [key: string]: any;
11
+ };
12
+ export declare const Calendar: React.ForwardRefExoticComponent<Pick<CalendarProps, keyof CalendarProps> & React.RefAttributes<HTMLDivElement>>;
13
+ export {};
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { CalendarState } from '@react-stately/calendar';
3
+ import { CalendarDate } from '@internationalized/date';
4
+ declare type CalendarCellProps = {
5
+ state: CalendarState;
6
+ date: CalendarDate;
7
+ onSelectedCellClick?: () => void;
8
+ };
9
+ export declare const CalendarCell: ({ state, date, onSelectedCellClick, ...rest }: CalendarCellProps) => JSX.Element;
10
+ export {};
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { CalendarState } from '@react-stately/calendar';
3
+ declare type CalendarGridProps = {
4
+ state: CalendarState;
5
+ navigationDescription?: string;
6
+ onSelectedCellClick?: () => void;
7
+ };
8
+ export declare const CalendarGrid: ({ state, navigationDescription, onSelectedCellClick, ...rest }: CalendarGridProps) => JSX.Element;
9
+ export {};
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ import type { SpectrumDateFieldProps, DateValue } from '@react-types/datepicker';
3
+ import type { CalendarDate } from '@internationalized/date';
4
+ import { VariantType } from '@entur/form';
5
+ import './DateField.scss';
6
+ export declare type DateFieldProps = {
7
+ /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */
8
+ selectedDate: DateValue | null;
9
+ /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */
10
+ onChange: (value: DateValue) => void;
11
+ /** Label til TimePicker */
12
+ label: string;
13
+ /** BCP47-språkkoden til locale-en du ønsker å bruke.
14
+ * @default Brukerenhetens selvvalgte locale
15
+ */
16
+ locale?: string;
17
+ /** Viser den gjeldende tidssonen hvis en er valgt
18
+ * @default false
19
+ */
20
+ showTimeZone?: boolean;
21
+ showTime?: boolean;
22
+ /** Tidligste gyldige datovalg.
23
+ * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone */
24
+ minValue?: CalendarDate;
25
+ /** Seneste gyldige datovalg. (se minValue) */
26
+ maxValue?: CalendarDate;
27
+ /** Varselmelding, som vil komme under TimePicker */
28
+ feedback?: string;
29
+ /** Valideringsvariant */
30
+ variant?: VariantType;
31
+ /** Varselmelding som forteller om ugyldig dato
32
+ * @default "Ugyldig dato"
33
+ */
34
+ validationFeedback?: string;
35
+ /** Valideringsvariant for melding om ugyldig dato
36
+ * @default "error"
37
+ */
38
+ validationVariant?: VariantType;
39
+ labelTooltip?: React.ReactNode;
40
+ disabled?: boolean;
41
+ /** Ekstra klassenavn */
42
+ className?: string;
43
+ style?: React.CSSProperties;
44
+ [key: string]: any;
45
+ } & Omit<SpectrumDateFieldProps<DateValue>, 'value' | 'onChange' | 'label' | 'hideTimeZone' | 'placeholder' | 'minValue' | 'maxValue'>;
46
+ export declare const DateField: React.ForwardRefExoticComponent<Pick<DateFieldProps, string | number> & React.RefAttributes<HTMLDivElement>>;
@@ -1,192 +1,66 @@
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 { CalendarDate } from '@internationalized/date';
3
+ import type { DateValue, SpectrumDatePickerProps } from '@react-types/datepicker';
4
+ import type { VariantType } from '@entur/form';
5
5
  import './DatePicker.scss';
6
- import 'react-datepicker/dist/react-datepicker.css';
7
6
  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 */
7
+ /** Den valgte datoen. Dato i '@internationalized/date'-pakkens format */
8
+ selectedDate: DateValue;
9
+ /** Kalles når tiden endres. Dato i '@internationalized/date'-pakkens format */
10
+ onChange: (date: DateValue) => void;
11
+ /** Ledetekst for inputfeltet til DatePicker */
36
12
  label: string;
37
- /**
38
- * Varselmelding, som vil komme under DatePicker
13
+ /** BCP47-språkkoden til locale-en du ønsker å bruke.
14
+ * @default Brukerenhetens selvvalgte locale
39
15
  */
40
- feedback?: string;
41
- /** Valideringsvariant
16
+ locale?: string;
17
+ /** Viser den gjeldende tidssonen hvis en er valgt (krever at tid også vises)
18
+ * @default false
42
19
  */
20
+ showTimeZone?: boolean;
21
+ /** Viser tidspunkt i tillegg til dato.
22
+ * OBS: selectedDate må være av typen CalendarDateTime eller ZonedDateTime
23
+ */
24
+ showTime?: boolean;
25
+ /** Tidligste gyldige datovalg.
26
+ * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone. */
27
+ minDate?: CalendarDate;
28
+ /** Seneste gyldige datovalg.
29
+ * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone
30
+ *
31
+ * OBS: Hvis du bruker dato med tid vil det være til, men ikke med denne datoen */
32
+ maxDate?: CalendarDate;
33
+ /** Funksjon som tar inn en dato og sier om den er utilgjengelig.
34
+ * Eks. (date) => isWeekend(date, 'no-NO') == helgedager er ikke tilgjengelig */
35
+ isDateUnavailable?: (date: DateValue) => boolean;
36
+ /** Varselmelding, som vil komme under DatePicker sitt inputfelt */
37
+ feedback?: string;
38
+ /** Valideringsvariant */
43
39
  variant?: VariantType;
44
- /** Varselmelding for når datoen er på feil format
40
+ /** Varselmelding som forteller om ugyldig dato
45
41
  * @default "Ugyldig dato"
46
42
  */
47
43
  validationFeedback?: string;
48
- /** Valideringsvariant for melding om feil datoformat
44
+ /** Valideringsvariant for melding om ugyldig dato
49
45
  * @default "error"
50
46
  */
51
47
  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
48
+ disabled?: boolean;
49
+ /** Hvis true vil kalenderen alltid vises i en popover når den åpnes
50
+ * @default false
107
51
  */
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']"
52
+ disableModal?: boolean;
53
+ /** Maxbredden til viewport-en for at modal skal vises
54
+ * @default 1000
115
55
  */
116
- dateFormats?: string[] | undefined;
117
- /**
118
- * Locale fra date-fns som brukes av Datepicker-en
119
- * @default nb
56
+ modalTreshold?: number;
57
+ labelTooltip?: React.ReactNode;
58
+ /** Skjermlesertest som forklarer navigasjon i kalenderen. Oversettes automatisk for engelsk locale, men ikke andre språk.
59
+ * @default 'Bruk piltastene til å navigere mellom datoer'
120
60
  */
121
- locale?: globalThis.Locale | undefined;
122
- /** Placeholder om ingen dato er valgt
123
- * @default "dd.mm.yyyy"
124
- */
125
- placeholder?: string | undefined;
61
+ navigationDescription?: string;
126
62
  /** 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>>;
63
+ className?: string;
64
+ style?: React.CSSProperties;
65
+ } & Omit<SpectrumDatePickerProps<DateValue>, 'value' | 'onChange' | 'label' | 'hideTimeZone' | 'placeholder' | 'minValue' | 'maxValue'>;
66
+ 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 +1,3 @@
1
+ export * from './DateField';
2
+ export * from './Calendar';
1
3
  export * from './DatePicker';
@@ -1,3 +1,3 @@
1
1
  export * from './TimePicker';
2
2
  export * from './NativeTimePicker';
3
- export * from './utils';
3
+ export * from '../shared/utils';