@entur/datepicker 2.1.2 → 3.0.0-alpha.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,42 @@
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.0-alpha.1](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@2.1.3...@entur/datepicker@3.0.0-alpha.1) (2022-09-06)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **timepicker:** fix bugs with disabled state in new TimePicker ([b82a9ca](https://bitbucket.org/enturas/design-system/commits/b82a9ca2bfb9611b07c8f244035a5309438555e2))
11
+
12
+ ### Features
13
+
14
+ - **native time picker:** update native timepicker with small tweaks ([9d72bf7](https://bitbucket.org/enturas/design-system/commits/9d72bf79951aed9b236fb55a007fc96d019b9c46))
15
+ - **timepicker:** add new timepicker component using react-aria ([cd90a09](https://bitbucket.org/enturas/design-system/commits/cd90a092de72ebf1cf1cef61147ada5f42fb67b4))
16
+ - **timepicker utils:** add utility functions for converting between TimeValue and JS Date ([f5ee77e](https://bitbucket.org/enturas/design-system/commits/f5ee77e9b3666816bda82b7e0deceaf27672f536))
17
+
18
+ ### BREAKING CHANGES
19
+
20
+ - **native time picker:** disableLabelAnimation prop has been removed (is always true now)
21
+ - **timepicker:** This is a complete rewrite. Changes in the API will need to be accounted for when using this new
22
+ version
23
+
24
+ # [3.0.0-alpha.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@2.1.3...@entur/datepicker@3.0.0-alpha.0) (2022-09-02)
25
+
26
+ ### Features
27
+
28
+ - **native time picker:** update native timepicker with small tweaks ([9d72bf7](https://bitbucket.org/enturas/design-system/commits/9d72bf79951aed9b236fb55a007fc96d019b9c46))
29
+ - **timepicker:** add new timepicker component using react-aria ([cd90a09](https://bitbucket.org/enturas/design-system/commits/cd90a092de72ebf1cf1cef61147ada5f42fb67b4))
30
+ - **timepicker utils:** add utility functions for converting between TimeValue and JS Date ([f5ee77e](https://bitbucket.org/enturas/design-system/commits/f5ee77e9b3666816bda82b7e0deceaf27672f536))
31
+
32
+ ### BREAKING CHANGES
33
+
34
+ - **native time picker:** disableLabelAnimation prop has been removed (is always true now)
35
+ - **timepicker:** This is a complete rewrite. Changes in the API will need to be accounted for when using this new
36
+ version
37
+
38
+ ## [2.1.3](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@2.1.2...@entur/datepicker@2.1.3) (2022-08-31)
39
+
40
+ **Note:** Version bump only for package @entur/datepicker
41
+
6
42
  ## [2.1.2](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@2.1.1...@entur/datepicker@2.1.2) (2022-08-24)
7
43
 
8
44
  **Note:** Version bump only for package @entur/datepicker
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { VariantType } from '@entur/form';
3
+ import './NativeTimePicker.scss';
3
4
  export declare type NativeTimePickerProps = {
4
5
  /** Ekstra klassenavn */
5
6
  className?: string;
@@ -9,13 +10,7 @@ export declare type NativeTimePickerProps = {
9
10
  feedback?: string;
10
11
  /** Valideringsvariant */
11
12
  variant?: VariantType;
12
- /** Plasserer labelen statisk toppen av inputfeltet
13
- * @default false
14
- */
15
- disableLabelAnimation?: boolean;
16
- /** Tekst eller ikon som kommer før inputfelter
17
- * @default <ClockIcon />
18
- */
13
+ /** Tekst eller ikon som kommer før inputfelter */
19
14
  prepend?: React.ReactNode;
20
15
  } & React.InputHTMLAttributes<HTMLInputElement>;
21
16
  export declare const NativeTimePicker: React.ForwardRefExoticComponent<{
@@ -27,12 +22,6 @@ export declare const NativeTimePicker: React.ForwardRefExoticComponent<{
27
22
  feedback?: string | undefined;
28
23
  /** Valideringsvariant */
29
24
  variant?: VariantType | undefined;
30
- /** Plasserer labelen statisk toppen av inputfeltet
31
- * @default false
32
- */
33
- disableLabelAnimation?: boolean | undefined;
34
- /** Tekst eller ikon som kommer før inputfelter
35
- * @default <ClockIcon />
36
- */
25
+ /** Tekst eller ikon som kommer før inputfelter */
37
26
  prepend?: React.ReactNode;
38
27
  } & React.InputHTMLAttributes<HTMLInputElement> & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,78 @@
1
+ import React from 'react';
2
+ import type { TimePickerProps as ReactAriaTimePickerProps, TimeValue } from '@react-types/datepicker';
3
+ import { VariantType } from '@entur/form';
4
+ import './TimePicker.scss';
5
+ export declare type TimePickerProps = {
6
+ /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */
7
+ selectedTime?: TimeValue;
8
+ /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */
9
+ onChange: (value: TimeValue) => void;
10
+ /** Label til TimePicker */
11
+ label: string;
12
+ /** Minutter som legges til eller trekkes fra ved klikk på pilene i TimePicker
13
+ * @default 30
14
+ */
15
+ minuteIncrementForArrowButtons?: number;
16
+ /** BCP47-språkkoden til locale-en du ønsker å bruke.
17
+ * @default Brukerenhetens selvvalgte locale
18
+ */
19
+ locale?: string;
20
+ /** Viser den gjeldende tidssonen hvis en er valgt
21
+ * @default false
22
+ */
23
+ showTimeZone?: boolean;
24
+ /** Aria-label for venstrepil-knappen som trekker fra tid
25
+ * @default `Trekk fra ${minuteIncrementForArrowButtons} minutter`
26
+ */
27
+ leftArrowButtonAriaLabel?: string;
28
+ /** Aria-label for høyrepil-knappen som legger til tid
29
+ * @default `Legg til ${minuteIncrementForArrowButtons} minutter`
30
+ */
31
+ rightArrowButtonAriaLabel?: string;
32
+ /** Varselmelding, som vil komme under TimePicker */
33
+ feedback?: string;
34
+ /** Valideringsvariant */
35
+ variant?: VariantType;
36
+ labelTooltip?: React.ReactNode;
37
+ disabled?: boolean;
38
+ /** Ekstra klassenavn */
39
+ className?: string;
40
+ style?: React.CSSProperties;
41
+ } & Omit<ReactAriaTimePickerProps<TimeValue>, 'onChange' | 'label' | 'hideTimeZone' | 'placeholder'>;
42
+ export declare const TimePicker: React.ForwardRefExoticComponent<{
43
+ /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */
44
+ selectedTime?: TimeValue | undefined;
45
+ /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */
46
+ onChange: (value: TimeValue) => void;
47
+ /** Label til TimePicker */
48
+ label: string;
49
+ /** Minutter som legges til eller trekkes fra ved klikk på pilene i TimePicker
50
+ * @default 30
51
+ */
52
+ minuteIncrementForArrowButtons?: number | undefined;
53
+ /** BCP47-språkkoden til locale-en du ønsker å bruke.
54
+ * @default Brukerenhetens selvvalgte locale
55
+ */
56
+ locale?: string | undefined;
57
+ /** Viser den gjeldende tidssonen hvis en er valgt
58
+ * @default false
59
+ */
60
+ showTimeZone?: boolean | undefined;
61
+ /** Aria-label for venstrepil-knappen som trekker fra tid
62
+ * @default `Trekk fra ${minuteIncrementForArrowButtons} minutter`
63
+ */
64
+ leftArrowButtonAriaLabel?: string | undefined;
65
+ /** Aria-label for høyrepil-knappen som legger til tid
66
+ * @default `Legg til ${minuteIncrementForArrowButtons} minutter`
67
+ */
68
+ rightArrowButtonAriaLabel?: string | undefined;
69
+ /** Varselmelding, som vil komme under TimePicker */
70
+ feedback?: string | undefined;
71
+ /** Valideringsvariant */
72
+ variant?: VariantType | undefined;
73
+ labelTooltip?: React.ReactNode;
74
+ disabled?: boolean | undefined;
75
+ /** Ekstra klassenavn */
76
+ className?: string | undefined;
77
+ style?: React.CSSProperties | undefined;
78
+ } & Omit<ReactAriaTimePickerProps<TimeValue>, "onChange" | "label" | "hideTimeZone" | "placeholder"> & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ declare type TimePickerArrowButtonProps = {
3
+ direction: 'left' | 'right';
4
+ } & React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>;
5
+ export declare const TimePickerArrowButton: React.FC<TimePickerArrowButtonProps>;
6
+ export {};
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { DateSegment, DateFieldState } from '@react-stately/datepicker';
3
+ declare type TimeSegmentProps = {
4
+ segment: DateSegment;
5
+ state: DateFieldState;
6
+ isAmPm: boolean;
7
+ index: number;
8
+ };
9
+ export declare const TimeSegment: ({ segment, state, isAmPm, index, }: TimeSegmentProps) => JSX.Element;
10
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from './TimePicker';
2
+ export * from './NativeTimePicker';
3
+ export * from './utils';
@@ -0,0 +1,18 @@
1
+ import { ZonedDateTime, CalendarDateTime, Time } from '@internationalized/date';
2
+ import { TimeValue } from '@react-types/datepicker';
3
+ /**
4
+ * Tar inn et JS Date-objekt og returnerer et av TimeValue-objektene fra @internationalized/date-pakken
5
+ * @param {Date} date JS Date-objekt som ønskes konvertert til et TimeValue-objekt
6
+ * @param {boolean} noDateOnlyTime Hvis datoen er irrelevant kan denne settes til true, da får man et Time-objekt uten dato tilbake
7
+ * @param {string} timeZone Tidssonen på IANA-formatet som tidpunktet skal konverteres til. Utelates denne får man et tidspunkt uten tidssone. Kan brukes med og uten en UTC-offset Vær obs på annen oppførsel med offset, les mer på beskrivelsen av offset
8
+ * @param {number} offset UTC-offset i millisekunder, må brukes med en tidssone. Ved å legge på en offset lager du en variant av en tidssone. Det betyr at tidspunktet ikke endres (time, minutt, sekund uendret), men tidssonen, med tilhørende offset, tidspunktet er i endres.
9
+ * @returns {Time | CalendarDateTime | ZonedDateTime} et av TimeValue-objektene med verdier fra date
10
+ */
11
+ export declare const nativeDateToTimeValue: (date: Date, noDateOnlyTime?: boolean, timeZone?: string | undefined, offset?: number | undefined) => Time | CalendarDateTime | ZonedDateTime;
12
+ /**
13
+ * Tar inn et av TimeValue-objektene fra @internationalized/date-pakken og returnerer et JS Date-objekt
14
+ * @param {TimeValue} time Et tidspunkt på TimeValue-formatet som ønsket konvertert til et JS Date-objekt
15
+ * @param {string} timeZoneForCalendarDateTime Tidssonen time er i. Fungerer kun med typen er CalendarDateTime
16
+ * @returns {Date} et Date-objekt med verdier fra time
17
+ */
18
+ export declare const timeValueToNativeDate: (time: TimeValue, timeZoneForCalendarDateTime?: string | undefined) => Date;