@entur/datepicker 0.10.2 → 0.10.6

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,29 @@
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
+ ## [0.10.6](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.5...@entur/datepicker@0.10.6) (2021-12-10)
7
+
8
+ **Note:** Version bump only for package @entur/datepicker
9
+
10
+ ## [0.10.5](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.4...@entur/datepicker@0.10.5) (2021-11-17)
11
+
12
+ ### Bug Fixes
13
+
14
+ - **nativedatepicker:** fix label position bug ([dfa18f4](https://bitbucket.org/enturas/design-system/commits/dfa18f4cbac6e19a2e093f04d447c25b6956bf6d))
15
+ - **timepicker:** adjust styling of arrow buttons ([4f23bbc](https://bitbucket.org/enturas/design-system/commits/4f23bbc0b7907e59bad8679a98ea0be622423658))
16
+
17
+ ## [0.10.4](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.3...@entur/datepicker@0.10.4) (2021-10-25)
18
+
19
+ **Note:** Version bump only for package @entur/datepicker
20
+
21
+ ## [0.10.3](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.2...@entur/datepicker@0.10.3) (2021-10-18)
22
+
23
+ ### Bug Fixes
24
+
25
+ - **datepicker:** adjust month button color ([f043577](https://bitbucket.org/enturas/design-system/commits/f043577e981ba00fc6df48529b5687e8c6a20085))
26
+ - **datepicker:** improve id prop usage ([4a5bca9](https://bitbucket.org/enturas/design-system/commits/4a5bca9064f2623a038a86a414ca5494fc246f59))
27
+ - **timepicker:** add hover-styling for arrow buttons ([960bdff](https://bitbucket.org/enturas/design-system/commits/960bdffc1af52af92d549b4b514209f04f7c8c36))
28
+
6
29
  ## [0.10.2](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.1...@entur/datepicker@0.10.2) (2021-09-23)
7
30
 
8
31
  **Note:** Version bump only for package @entur/datepicker
@@ -60,9 +60,10 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
60
60
  label = _ref.label,
61
61
  _ref$hideCalendarButt = _ref.hideCalendarButton,
62
62
  hideCalendarButton = _ref$hideCalendarButt === void 0 ? false : _ref$hideCalendarButt,
63
- rest = _objectWithoutPropertiesLoose(_ref, ["selectedDate", "onChange", "placeholder", "className", "style", "readOnly", "disableLabelAnimation", "locale", "prepend", "disabled", "dateFormat", "variant", "feedback", "label", "hideCalendarButton"]);
63
+ id = _ref.id,
64
+ rest = _objectWithoutPropertiesLoose(_ref, ["selectedDate", "onChange", "placeholder", "className", "style", "readOnly", "disableLabelAnimation", "locale", "prepend", "disabled", "dateFormat", "variant", "feedback", "label", "hideCalendarButton", "id"]);
64
65
 
65
- var id = utils.useRandomId('eds-datepicker');
66
+ var datepickerId = utils.useRandomId('eds-datepicker');
66
67
 
67
68
  var _useInputGroupContext = form.useInputGroupContext(),
68
69
  isDatepickerFilled = _useInputGroupContext.isFilled,
@@ -103,7 +104,8 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
103
104
  showPopperArrow: false,
104
105
  placeholderText: placeholder,
105
106
  readOnly: readOnly,
106
- id: id,
107
+ id: datepickerId,
108
+ ariaLabelledBy: datepickerId,
107
109
  disabled: disabled,
108
110
  locale: locale,
109
111
  popperModifiers: POPPER_MODIFIERS
@@ -119,7 +121,8 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
119
121
  "data-cy": rest['data-cy'],
120
122
  disableLabelAnimation: disableLabelAnimation,
121
123
  prepend: prepend,
122
- hideCalendarButton: hideCalendarButton
124
+ hideCalendarButton: hideCalendarButton,
125
+ inputId: id
123
126
  })
124
127
  }));
125
128
  }); // Props fra customInput i react-datepicker
@@ -160,12 +163,10 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
160
163
  prepend = _ref2.prepend,
161
164
  className = _ref2.className,
162
165
  hideCalendarButton = _ref2.hideCalendarButton,
163
- rest = _objectWithoutPropertiesLoose(_ref2, ["value", "onClick", "onFocus", "onKeyDown", "variant", "feedback", "style", "disableLabelAnimation", "disabled", "label", "readOnly", "id", "prepend", "className", "hideCalendarButton"]);
166
+ inputId = _ref2.inputId,
167
+ rest = _objectWithoutPropertiesLoose(_ref2, ["value", "onClick", "onFocus", "onKeyDown", "variant", "feedback", "style", "disableLabelAnimation", "disabled", "label", "readOnly", "id", "prepend", "className", "hideCalendarButton", "inputId"]);
164
168
 
165
169
  return React.createElement("span", {
166
- style: {
167
- display: 'flex'
168
- },
169
170
  className: className
170
171
  }, React.createElement(form.BaseFormControl, {
171
172
  style: style,
@@ -185,9 +186,10 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
185
186
  readOnly: readOnly,
186
187
  disabled: disabled,
187
188
  ref: ref,
188
- "aria-labelledby": id,
189
- className: "eds-form-control"
190
- }, rest))), !hideCalendarButton && React.createElement(tooltip.Tooltip, {
189
+ // aria-labelledby={id}
190
+ className: "eds-form-control",
191
+ id: inputId
192
+ }, rest)), !hideCalendarButton && React.createElement(tooltip.Tooltip, {
191
193
  placement: "top",
192
194
  content: "\xC5pne kalender",
193
195
  disableHoverListener: disabled,
@@ -201,7 +203,7 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
201
203
  onClick: onClick,
202
204
  disabled: disabled,
203
205
  type: "button"
204
- }, React.createElement(icons.CalendarIcon, null))));
206
+ }, React.createElement(icons.CalendarIcon, null)))));
205
207
  });
206
208
 
207
209
  var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
@@ -227,7 +229,8 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
227
229
  feedback: feedback,
228
230
  variant: variant,
229
231
  labelId: nativedatepickerId,
230
- disableLabelAnimation: disableLabelAnimation
232
+ disableLabelAnimation: disableLabelAnimation,
233
+ isFilled: true
231
234
  }, React.createElement(NativeDatePickerBase, Object.assign({
232
235
  onChange: onChange,
233
236
  "aria-labelledby": nativedatepickerId,
@@ -420,7 +423,7 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref3) {
420
423
  rest = _objectWithoutPropertiesLoose(_ref3, ["direction"]);
421
424
 
422
425
  return React.createElement("button", Object.assign({
423
- className: "eds-timepicker__arrowbutton",
426
+ className: classNames('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction),
424
427
  type: "button"
425
428
  }, rest), direction === 'left' ? React.createElement(icons.LeftArrowIcon, null) : React.createElement(icons.RightArrowIcon, null));
426
429
  };
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.cjs.development.js","sources":["../src/DatePicker.tsx","../src/NativeDatePicker.tsx","../src/TimePicker.tsx","../src/NativeTimePicker.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { CalendarIcon } from '@entur/icons';\nimport { nb } from 'date-fns/locale';\nimport './DatePicker.scss';\nimport { Tooltip } from '@entur/tooltip';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport * as Popper from '@popperjs/core';\n\nregisterLocale('nb', nb);\n\nexport type DatePickerProps = {\n /** Hva som er den valgte datoen */\n selectedDate?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg dato\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over DatePicker */\n label: string;\n /** Varselmelding, som vil komme under DatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n /** Skjuler knapp for åpning av kalender\n * @default false\n */\n hideCalendarButton?: boolean;\n // For testing\n 'data-cy'?: any;\n} & Omit<ReactDatePickerProps, 'selected' | 'customInput'>;\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\n\nexport const DatePicker = React.forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n selectedDate = null,\n onChange,\n placeholder = 'Velg dato',\n className,\n style,\n readOnly,\n disableLabelAnimation = false,\n locale = 'nb',\n prepend,\n disabled,\n dateFormat = ['dd.MM.yyyy', 'ddMMyyyy'],\n variant,\n feedback,\n label,\n hideCalendarButton = false,\n ...rest\n },\n ref,\n ) => {\n const id = useRandomId('eds-datepicker');\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [selectedDate, setFiller, isDatepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n\n return (\n <ReactDatepicker\n className={classNames(className)}\n calendarClassName=\"eds-datepicker__calender\"\n selected={selectedDate}\n onChange={handleChange}\n showWeekNumbers={true}\n dateFormat={dateFormat}\n showPopperArrow={false}\n placeholderText={placeholder}\n readOnly={readOnly}\n id={id}\n disabled={disabled}\n locale={locale}\n popperModifiers={POPPER_MODIFIERS}\n {...rest}\n customInput={\n <DatePickerInput\n style={style}\n readOnly={readOnly}\n variant={variant}\n feedback={feedback}\n label={label}\n disabled={disabled}\n ref={ref}\n data-cy={rest['data-cy']}\n disableLabelAnimation={disableLabelAnimation}\n prepend={prepend}\n hideCalendarButton={hideCalendarButton}\n />\n }\n />\n );\n },\n);\n\ntype DatePickerInputProps = {\n onClick?: any;\n value?: any;\n disableLabelAnimation?: boolean;\n className?: string;\n hideCalendarButton?: boolean;\n feedback?: string;\n [key: string]: any;\n};\n// Props fra customInput i react-datepicker\n// value: inputValue,\n// onBlur: this.handleBlur,\n// onChange: this.handleChange,\n// onClick: this.onInputClick,\n// onFocus: this.handleFocus,\n// onKeyDown: this.onInputKeyDown,\n// id: this.props.id,\n// name: this.props.name,\n// autoFocus: this.props.autoFocus,\n// placeholder: this.props.placeholderText,\n// disabled: this.props.disabled,\n// autoComplete: this.props.autoComplete,\n// className: classnames(customInput.props.className, className),\n// title: this.props.title,\n// readOnly: this.props.readOnly,\n// required: this.props.required,\n// tabIndex: this.props.tabIndex,\n// \"aria-describedby\": this.props.ariaDescribedBy,\n// \"aria-invalid\": this.props.ariaInvalid,\n// \"aria-labelledby\": this.props.ariaLabelledBy,\n// \"aria-required\": this.props.ariaRequired,\n\nconst DatePickerInput = React.forwardRef<\n HTMLInputElement,\n DatePickerInputProps\n>(\n (\n {\n value,\n onClick,\n // Capture onFocus prop from react-datepicker, but doesn't use it\n // eslint-disable-next-line\n onFocus,\n onKeyDown,\n variant,\n feedback,\n style,\n disableLabelAnimation,\n disabled,\n label,\n readOnly,\n id,\n prepend,\n className,\n hideCalendarButton,\n ...rest\n },\n ref,\n ) => {\n return (\n <span style={{ display: 'flex' }} className={className}>\n <BaseFormControl\n style={style}\n className=\"eds-datepicker__form-control\"\n readOnly={readOnly}\n label={label}\n labelId={id}\n feedback={feedback}\n variant={variant}\n disabled={disabled}\n disableLabelAnimation={disableLabelAnimation}\n isFilled={value ? true : false}\n prepend={prepend}\n >\n <input\n value={value}\n onClick={onClick}\n readOnly={readOnly}\n disabled={disabled}\n ref={ref}\n aria-labelledby={id}\n className=\"eds-form-control\"\n {...rest}\n />\n </BaseFormControl>\n {!hideCalendarButton && (\n <Tooltip\n placement=\"top\"\n content=\"Åpne kalender\"\n disableHoverListener={disabled}\n disableFocusListener={disabled}\n >\n <button\n className={classNames('eds-datepicker__calendar-button', {\n 'eds-datepicker__calendar-button--open': true,\n 'eds-datepicker__calendar-button--disabled': disabled,\n })}\n onKeyDown={onKeyDown}\n onClick={onClick}\n disabled={disabled}\n type=\"button\"\n >\n <CalendarIcon />\n </button>\n </Tooltip>\n )}\n </span>\n );\n },\n);\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { DateIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeDatePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeDatePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeDatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeDatePicker = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerProps\n>(\n (\n {\n className,\n style,\n label,\n onChange,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <DateIcon inline />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativedatepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativedatepickerId}\n disableLabelAnimation={disableLabelAnimation}\n >\n <NativeDatePickerBase\n onChange={onChange}\n aria-labelledby={nativedatepickerId}\n ref={ref}\n variant={variant}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeDatePickerBaseProps = {\n onChange?: any;\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeDatePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerBaseProps\n>(({ onChange, variant, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = variant || contextVariant;\n const {\n isFilled: isDatepickerFilled,\n setFilled: setFiller,\n } = useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isDatepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isDatepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"date\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport { nb } from 'date-fns/locale';\nimport { add, sub } from 'date-fns';\nimport * as Popper from '@popperjs/core';\nimport './TimePicker.scss';\nregisterLocale('nb', nb);\n\nexport type TimePickerProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over TimePicker */\n label: string;\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n labelTooltip?: React.ReactNode;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Kalles ved klikk på pil venstre i TimePicker\n * @default Trekker fra 30 minutter av den valgte tiden\n */\n onLeftArrowClick?: (selectedTime?: Date | null, e?: React.MouseEvent) => void;\n /** Kalles ved klikk på pil høyre i TimePicker\n * @default Legger til 30 minutter av den valgte tiden\n */\n onRightArrowClick?: (\n selectedTime?: Date | null,\n e?: React.MouseEvent,\n ) => void;\n} & ReactDatePickerProps;\n\nexport const TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n selectedTime = null,\n onChange,\n placeholder = 'Velg tid',\n disabled,\n className,\n style,\n label,\n labelTooltip,\n feedback,\n variant,\n disableLabelAnimation,\n locale = 'nb',\n onLeftArrowClick = (selectedTime, event) =>\n selectedTime && onChange(sub(selectedTime, { minutes: 30 }), event),\n onRightArrowClick = (selectedTime, event) =>\n selectedTime && onChange(add(selectedTime, { minutes: 30 }), event),\n ...rest\n },\n ref,\n ) => {\n const timepickerId = useRandomId('eds-timepicker');\n return (\n <BaseFormControl\n style={style}\n ref={ref}\n label={label}\n labelId={timepickerId}\n labelTooltip={labelTooltip}\n variant={variant}\n feedback={feedback}\n disableLabelAnimation={disableLabelAnimation}\n className=\"eds-timepicker-form-control\"\n disabled={disabled}\n prepend={\n <TimePickerArrowButton\n direction=\"left\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onLeftArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n }\n >\n <TimePickerBase\n selectedTime={selectedTime}\n onChange={onChange}\n placeholder={placeholder}\n className={className}\n locale={locale}\n ariaLabelledBy={timepickerId}\n disabled={disabled}\n {...rest}\n />\n <TimePickerArrowButton\n direction=\"right\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onRightArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype TimePickerBaseProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date | null;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n} & ReactDatePickerProps;\n\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\nconst TimePickerBase: React.FC<TimePickerBaseProps> = ({\n className,\n onChange,\n selectedTime,\n placeholder,\n timeFormat = 'HH:mm',\n dateFormat = ['HH:mm', 'HHmm'],\n ...rest\n}) => {\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [selectedTime, setFiller, isTimepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n return (\n <ReactDatepicker\n className={classNames(\n 'eds-form-control',\n 'eds-timepicker__input',\n className,\n )}\n calendarClassName=\"eds-timepicker\"\n selected={selectedTime}\n onChange={handleChange}\n dateFormat={dateFormat}\n timeFormat={timeFormat}\n showTimeSelect\n showTimeInput={true}\n showTimeSelectOnly\n showPopperArrow={false}\n placeholderText={placeholder}\n popperClassName=\"eds-datepicker__popper\"\n popperModifiers={POPPER_MODIFIERS}\n open={false}\n {...rest}\n />\n );\n};\n\ntype TimePickerArrowButtonProps = {\n direction: 'left' | 'right';\n} & React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>;\n\nconst TimePickerArrowButton: React.FC<TimePickerArrowButtonProps> = ({\n direction,\n ...rest\n}) => {\n return (\n <button className=\"eds-timepicker__arrowbutton\" type=\"button\" {...rest}>\n {direction === 'left' ? <LeftArrowIcon /> : <RightArrowIcon />}\n </button>\n );\n};\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { ClockIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeTimePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeTimePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeTimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <ClockIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeTimePicker = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerProps\n>(\n (\n {\n className,\n style,\n onChange,\n label,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <ClockIcon />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativetimepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativetimepickerId}\n disableLabelAnimation={disableLabelAnimation}\n >\n <NativeTimePickerBase\n onChange={onChange}\n aria-labelledby={nativetimepickerId}\n ref={ref}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeTimePickerBaseProps = {\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeTimePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerBaseProps\n>(({ onChange, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = rest.variant || contextVariant;\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isTimepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isTimepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"time\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nimport './react-datepicker.scss';\n\nwarnAboutMissingStyles('datepicker', 'form', 'icons');\n\nexport * from './DatePicker';\nexport * from './NativeDatePicker';\nexport * from './TimePicker';\nexport * from './NativeTimePicker';\n"],"names":["registerLocale","nb","POPPER_MODIFIERS","name","enabled","options","offset","DatePicker","React","forwardRef","ref","selectedDate","onChange","placeholder","className","style","readOnly","disableLabelAnimation","locale","prepend","disabled","dateFormat","variant","feedback","label","hideCalendarButton","rest","id","useRandomId","useInputGroupContext","isDatepickerFilled","isFilled","setFiller","setFilled","useOnMount","useEffect","handleChange","date","event","ReactDatepicker","classNames","calendarClassName","selected","showWeekNumbers","showPopperArrow","placeholderText","popperModifiers","customInput","DatePickerInput","value","onClick","onKeyDown","display","BaseFormControl","labelId","Tooltip","placement","content","disableHoverListener","disableFocusListener","type","CalendarIcon","NativeDatePicker","DateIcon","inline","nativedatepickerId","NativeDatePickerBase","contextVariant","useVariant","currentVariant","target","TimePicker","selectedTime","labelTooltip","onLeftArrowClick","sub","minutes","onRightArrowClick","add","timepickerId","TimePickerArrowButton","direction","tabIndex","e","TimePickerBase","ariaLabelledBy","timeFormat","isTimepickerFilled","showTimeSelect","showTimeInput","showTimeSelectOnly","popperClassName","open","LeftArrowIcon","RightArrowIcon","NativeTimePicker","ClockIcon","nativetimepickerId","NativeTimePickerBase","warnAboutMissingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.cjs.development.js","sources":["../src/DatePicker.tsx","../src/NativeDatePicker.tsx","../src/TimePicker.tsx","../src/NativeTimePicker.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { CalendarIcon } from '@entur/icons';\nimport { nb } from 'date-fns/locale';\nimport './DatePicker.scss';\nimport { Tooltip } from '@entur/tooltip';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport * as Popper from '@popperjs/core';\n\nregisterLocale('nb', nb);\n\nexport type DatePickerProps = {\n /** Hva som er den valgte datoen */\n selectedDate?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg dato\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over DatePicker */\n label: string;\n /** Varselmelding, som vil komme under DatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n /** Skjuler knapp for åpning av kalender\n * @default false\n */\n hideCalendarButton?: boolean;\n // For testing\n 'data-cy'?: any;\n} & Omit<ReactDatePickerProps, 'selected' | 'customInput'>;\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\n\nexport const DatePicker = React.forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n selectedDate = null,\n onChange,\n placeholder = 'Velg dato',\n className,\n style,\n readOnly,\n disableLabelAnimation = false,\n locale = 'nb',\n prepend,\n disabled,\n dateFormat = ['dd.MM.yyyy', 'ddMMyyyy'],\n variant,\n feedback,\n label,\n hideCalendarButton = false,\n id,\n ...rest\n },\n ref,\n ) => {\n const datepickerId = useRandomId('eds-datepicker');\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [selectedDate, setFiller, isDatepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n\n return (\n <ReactDatepicker\n className={classNames(className)}\n calendarClassName=\"eds-datepicker__calender\"\n selected={selectedDate}\n onChange={handleChange}\n showWeekNumbers={true}\n dateFormat={dateFormat}\n showPopperArrow={false}\n placeholderText={placeholder}\n readOnly={readOnly}\n id={datepickerId}\n ariaLabelledBy={datepickerId}\n disabled={disabled}\n locale={locale}\n popperModifiers={POPPER_MODIFIERS}\n {...rest}\n customInput={\n <DatePickerInput\n style={style}\n readOnly={readOnly}\n variant={variant}\n feedback={feedback}\n label={label}\n disabled={disabled}\n ref={ref}\n data-cy={rest['data-cy']}\n disableLabelAnimation={disableLabelAnimation}\n prepend={prepend}\n hideCalendarButton={hideCalendarButton}\n inputId={id}\n />\n }\n />\n );\n },\n);\n\ntype DatePickerInputProps = {\n onClick?: any;\n value?: any;\n disableLabelAnimation?: boolean;\n className?: string;\n hideCalendarButton?: boolean;\n feedback?: string;\n inputId?: string;\n [key: string]: any;\n};\n// Props fra customInput i react-datepicker\n// value: inputValue,\n// onBlur: this.handleBlur,\n// onChange: this.handleChange,\n// onClick: this.onInputClick,\n// onFocus: this.handleFocus,\n// onKeyDown: this.onInputKeyDown,\n// id: this.props.id,\n// name: this.props.name,\n// autoFocus: this.props.autoFocus,\n// placeholder: this.props.placeholderText,\n// disabled: this.props.disabled,\n// autoComplete: this.props.autoComplete,\n// className: classnames(customInput.props.className, className),\n// title: this.props.title,\n// readOnly: this.props.readOnly,\n// required: this.props.required,\n// tabIndex: this.props.tabIndex,\n// \"aria-describedby\": this.props.ariaDescribedBy,\n// \"aria-invalid\": this.props.ariaInvalid,\n// \"aria-labelledby\": this.props.ariaLabelledBy,\n// \"aria-required\": this.props.ariaRequired,\n\nconst DatePickerInput = React.forwardRef<\n HTMLInputElement,\n DatePickerInputProps\n>(\n (\n {\n value,\n onClick,\n // Capture onFocus prop from react-datepicker, but doesn't use it\n // eslint-disable-next-line\n onFocus,\n onKeyDown,\n variant,\n feedback,\n style,\n disableLabelAnimation,\n disabled,\n label,\n readOnly,\n id,\n prepend,\n className,\n hideCalendarButton,\n inputId,\n ...rest\n },\n ref,\n ) => {\n return (\n <span className={className}>\n <BaseFormControl\n style={style}\n className=\"eds-datepicker__form-control\"\n readOnly={readOnly}\n label={label}\n labelId={id}\n feedback={feedback}\n variant={variant}\n disabled={disabled}\n disableLabelAnimation={disableLabelAnimation}\n isFilled={value ? true : false}\n prepend={prepend}\n >\n <input\n value={value}\n onClick={onClick}\n readOnly={readOnly}\n disabled={disabled}\n ref={ref}\n // aria-labelledby={id}\n className=\"eds-form-control\"\n id={inputId}\n {...rest}\n />\n {!hideCalendarButton && (\n <Tooltip\n placement=\"top\"\n content=\"Åpne kalender\"\n disableHoverListener={disabled}\n disableFocusListener={disabled}\n >\n <button\n className={classNames('eds-datepicker__calendar-button', {\n 'eds-datepicker__calendar-button--open': true,\n 'eds-datepicker__calendar-button--disabled': disabled,\n })}\n onKeyDown={onKeyDown}\n onClick={onClick}\n disabled={disabled}\n type=\"button\"\n >\n <CalendarIcon />\n </button>\n </Tooltip>\n )}\n </BaseFormControl>\n </span>\n );\n },\n);\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { DateIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeDatePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeDatePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeDatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeDatePicker = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerProps\n>(\n (\n {\n className,\n style,\n label,\n onChange,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <DateIcon inline />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativedatepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativedatepickerId}\n disableLabelAnimation={disableLabelAnimation}\n isFilled\n >\n <NativeDatePickerBase\n onChange={onChange}\n aria-labelledby={nativedatepickerId}\n ref={ref}\n variant={variant}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeDatePickerBaseProps = {\n onChange?: any;\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeDatePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerBaseProps\n>(({ onChange, variant, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = variant || contextVariant;\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isDatepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isDatepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"date\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport { nb } from 'date-fns/locale';\nimport { add, sub } from 'date-fns';\nimport * as Popper from '@popperjs/core';\nimport './TimePicker.scss';\nregisterLocale('nb', nb);\n\nexport type TimePickerProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over TimePicker */\n label: string;\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n labelTooltip?: React.ReactNode;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Kalles ved klikk på pil venstre i TimePicker\n * @default Trekker fra 30 minutter av den valgte tiden\n */\n onLeftArrowClick?: (selectedTime?: Date | null, e?: React.MouseEvent) => void;\n /** Kalles ved klikk på pil høyre i TimePicker\n * @default Legger til 30 minutter av den valgte tiden\n */\n onRightArrowClick?: (\n selectedTime?: Date | null,\n e?: React.MouseEvent,\n ) => void;\n} & ReactDatePickerProps;\n\nexport const TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n selectedTime = null,\n onChange,\n placeholder = 'Velg tid',\n disabled,\n className,\n style,\n label,\n labelTooltip,\n feedback,\n variant,\n disableLabelAnimation,\n locale = 'nb',\n onLeftArrowClick = (selectedTime, event) =>\n selectedTime && onChange(sub(selectedTime, { minutes: 30 }), event),\n onRightArrowClick = (selectedTime, event) =>\n selectedTime && onChange(add(selectedTime, { minutes: 30 }), event),\n ...rest\n },\n ref,\n ) => {\n const timepickerId = useRandomId('eds-timepicker');\n return (\n <BaseFormControl\n style={style}\n ref={ref}\n label={label}\n labelId={timepickerId}\n labelTooltip={labelTooltip}\n variant={variant}\n feedback={feedback}\n disableLabelAnimation={disableLabelAnimation}\n className=\"eds-timepicker-form-control\"\n disabled={disabled}\n prepend={\n <TimePickerArrowButton\n direction=\"left\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onLeftArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n }\n >\n <TimePickerBase\n selectedTime={selectedTime}\n onChange={onChange}\n placeholder={placeholder}\n className={className}\n locale={locale}\n ariaLabelledBy={timepickerId}\n disabled={disabled}\n {...rest}\n />\n <TimePickerArrowButton\n direction=\"right\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onRightArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype TimePickerBaseProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date | null;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n} & ReactDatePickerProps;\n\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\nconst TimePickerBase: React.FC<TimePickerBaseProps> = ({\n className,\n onChange,\n selectedTime,\n placeholder,\n timeFormat = 'HH:mm',\n dateFormat = ['HH:mm', 'HHmm'],\n ...rest\n}) => {\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [selectedTime, setFiller, isTimepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n return (\n <ReactDatepicker\n className={classNames(\n 'eds-form-control',\n 'eds-timepicker__input',\n className,\n )}\n calendarClassName=\"eds-timepicker\"\n selected={selectedTime}\n onChange={handleChange}\n dateFormat={dateFormat}\n timeFormat={timeFormat}\n showTimeSelect\n showTimeInput={true}\n showTimeSelectOnly\n showPopperArrow={false}\n placeholderText={placeholder}\n popperClassName=\"eds-datepicker__popper\"\n popperModifiers={POPPER_MODIFIERS}\n open={false}\n {...rest}\n />\n );\n};\n\ntype TimePickerArrowButtonProps = {\n direction: 'left' | 'right';\n} & React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>;\n\nconst TimePickerArrowButton: React.FC<TimePickerArrowButtonProps> = ({\n direction,\n ...rest\n}) => {\n return (\n <button\n className={classNames(\n 'eds-timepicker__arrowbutton',\n `eds-timepicker__arrowbutton--${direction}`,\n )}\n type=\"button\"\n {...rest}\n >\n {direction === 'left' ? <LeftArrowIcon /> : <RightArrowIcon />}\n </button>\n );\n};\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { ClockIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeTimePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeTimePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeTimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <ClockIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeTimePicker = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerProps\n>(\n (\n {\n className,\n style,\n onChange,\n label,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <ClockIcon />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativetimepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativetimepickerId}\n disableLabelAnimation={disableLabelAnimation}\n >\n <NativeTimePickerBase\n onChange={onChange}\n aria-labelledby={nativetimepickerId}\n ref={ref}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeTimePickerBaseProps = {\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeTimePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerBaseProps\n>(({ onChange, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = rest.variant || contextVariant;\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isTimepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isTimepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"time\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nimport './react-datepicker.scss';\n\nwarnAboutMissingStyles('datepicker', 'form', 'icons');\n\nexport * from './DatePicker';\nexport * from './NativeDatePicker';\nexport * from './TimePicker';\nexport * from './NativeTimePicker';\n"],"names":["registerLocale","nb","POPPER_MODIFIERS","name","enabled","options","offset","DatePicker","React","forwardRef","ref","selectedDate","onChange","placeholder","className","style","readOnly","disableLabelAnimation","locale","prepend","disabled","dateFormat","variant","feedback","label","hideCalendarButton","id","rest","datepickerId","useRandomId","useInputGroupContext","isDatepickerFilled","isFilled","setFiller","setFilled","useOnMount","useEffect","handleChange","date","event","ReactDatepicker","classNames","calendarClassName","selected","showWeekNumbers","showPopperArrow","placeholderText","ariaLabelledBy","popperModifiers","customInput","DatePickerInput","inputId","value","onClick","onKeyDown","BaseFormControl","labelId","Tooltip","placement","content","disableHoverListener","disableFocusListener","type","CalendarIcon","NativeDatePicker","DateIcon","inline","nativedatepickerId","NativeDatePickerBase","contextVariant","useVariant","currentVariant","target","TimePicker","selectedTime","labelTooltip","onLeftArrowClick","sub","minutes","onRightArrowClick","add","timepickerId","TimePickerArrowButton","direction","tabIndex","e","TimePickerBase","timeFormat","isTimepickerFilled","showTimeSelect","showTimeInput","showTimeSelectOnly","popperClassName","open","LeftArrowIcon","RightArrowIcon","NativeTimePicker","ClockIcon","nativetimepickerId","NativeTimePickerBase","warnAboutMissingStyles"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var a=require("@entur/utils"),n=e(require("react")),t=require("react-datepicker"),l=e(t),r=e(require("classnames")),i=require("@entur/form"),o=require("@entur/icons"),d=require("date-fns/locale"),s=require("@entur/tooltip"),c=require("date-fns");function u(e,a){if(null==e)return{};var n,t,l={},r=Object.keys(e);for(t=0;t<r.length;t++)a.indexOf(n=r[t])>=0||(l[n]=e[n]);return l}t.registerLocale("nb",d.nb);var m=[{name:"offset",enabled:!0,options:{offset:[0,0]}}],b=n.forwardRef((function(e,t){var o=e.selectedDate,d=void 0===o?null:o,s=e.onChange,c=e.placeholder,b=void 0===c?"Velg dato":c,f=e.className,v=e.style,k=e.readOnly,y=e.disableLabelAnimation,C=void 0!==y&&y,h=e.locale,g=void 0===h?"nb":h,N=e.prepend,E=e.disabled,w=e.dateFormat,F=void 0===w?["dd.MM.yyyy","ddMMyyyy"]:w,O=e.variant,A=e.feedback,L=e.label,I=e.hideCalendarButton,_=void 0!==I&&I,T=u(e,["selectedDate","onChange","placeholder","className","style","readOnly","disableLabelAnimation","locale","prepend","disabled","dateFormat","variant","feedback","label","hideCalendarButton"]),x=a.useRandomId("eds-datepicker"),R=i.useInputGroupContext(),j=R.isFilled,M=R.setFilled;return a.useOnMount((function(){d&&M&&!j&&M(!0)})),n.useEffect((function(){d?M&&!j&&M(!0):M&&j&&M(!1)}),[d,M,j]),n.createElement(l,Object.assign({className:r(f),calendarClassName:"eds-datepicker__calender",selected:d,onChange:function(e,a){e?M&&!j&&M(!0):M&&j&&M(!1),s&&s(e,a)},showWeekNumbers:!0,dateFormat:F,showPopperArrow:!1,placeholderText:b,readOnly:k,id:x,disabled:E,locale:g,popperModifiers:m},T,{customInput:n.createElement(p,{style:v,readOnly:k,variant:O,feedback:A,label:L,disabled:E,ref:t,"data-cy":T["data-cy"],disableLabelAnimation:C,prepend:N,hideCalendarButton:_})}))})),p=n.forwardRef((function(e,a){var t=e.value,l=e.onClick,d=e.onKeyDown,c=e.variant,m=e.feedback,b=e.style,p=e.disableLabelAnimation,f=e.disabled,v=e.label,k=e.readOnly,y=e.id,C=e.prepend,h=e.className,g=e.hideCalendarButton,N=u(e,["value","onClick","onFocus","onKeyDown","variant","feedback","style","disableLabelAnimation","disabled","label","readOnly","id","prepend","className","hideCalendarButton"]);return n.createElement("span",{style:{display:"flex"},className:h},n.createElement(i.BaseFormControl,{style:b,className:"eds-datepicker__form-control",readOnly:k,label:v,labelId:y,feedback:m,variant:c,disabled:f,disableLabelAnimation:p,isFilled:!!t,prepend:C},n.createElement("input",Object.assign({value:t,onClick:l,readOnly:k,disabled:f,ref:a,"aria-labelledby":y,className:"eds-form-control"},N))),!g&&n.createElement(s.Tooltip,{placement:"top",content:"Åpne kalender",disableHoverListener:f,disableFocusListener:f},n.createElement("button",{className:r("eds-datepicker__calendar-button",{"eds-datepicker__calendar-button--open":!0,"eds-datepicker__calendar-button--disabled":f}),onKeyDown:d,onClick:l,disabled:f,type:"button"},n.createElement(o.CalendarIcon,null))))})),f=n.forwardRef((function(e,t){var l=e.className,r=e.style,d=e.label,s=e.onChange,c=e.feedback,m=e.variant,b=e.disableLabelAnimation,p=e.prepend,f=void 0===p?n.createElement(o.DateIcon,{inline:!0}):p,k=u(e,["className","style","label","onChange","feedback","variant","disableLabelAnimation","prepend"]),y=a.useRandomId("eds-nativetimepicker");return n.createElement(i.BaseFormControl,{style:r,className:l,prepend:f,label:d,feedback:c,variant:m,labelId:y,disableLabelAnimation:b},n.createElement(v,Object.assign({onChange:s,"aria-labelledby":y,ref:t,variant:m},k)))})),v=n.forwardRef((function(e,t){var l=e.onChange,r=e.variant,o=e.value,d=u(e,["onChange","variant","value"]),s=i.useVariant(),c=r||s,m=i.useInputGroupContext(),b=m.isFilled,p=m.setFilled;return a.useOnMount((function(){p&&!b&&p(!0)})),n.useEffect((function(){o?p&&!b&&p(!0):p&&b&&p(!1)}),[o,p,b]),n.createElement("input",Object.assign({ref:t,"aria-invalid":"error"===c,type:"date",className:"eds-form-control eds-native-date-picker",onChange:function(e){i.isFilled(e.target)?p&&!b&&p(!0):p&&b&&p(!1),l&&l(e)},value:o},d))}));t.registerLocale("nb",d.nb);var k=n.forwardRef((function(e,t){var l=e.selectedTime,r=void 0===l?null:l,o=e.onChange,d=e.placeholder,s=void 0===d?"Velg tid":d,m=e.disabled,b=e.className,p=e.style,f=e.label,v=e.labelTooltip,k=e.feedback,y=e.variant,g=e.disableLabelAnimation,N=e.locale,E=void 0===N?"nb":N,w=e.onLeftArrowClick,F=void 0===w?function(e,a){return e&&o(c.sub(e,{minutes:30}),a)}:w,O=e.onRightArrowClick,A=void 0===O?function(e,a){return e&&o(c.add(e,{minutes:30}),a)}:O,L=u(e,["selectedTime","onChange","placeholder","disabled","className","style","label","labelTooltip","feedback","variant","disableLabelAnimation","locale","onLeftArrowClick","onRightArrowClick"]),I=a.useRandomId("eds-timepicker");return n.createElement(i.BaseFormControl,{style:p,ref:t,label:f,labelId:I,labelTooltip:v,variant:y,feedback:k,disableLabelAnimation:g,className:"eds-timepicker-form-control",disabled:m,prepend:n.createElement(h,{direction:"left",tabIndex:-1,onClick:function(e){return F(r,e)},disabled:m})},n.createElement(C,Object.assign({selectedTime:r,onChange:o,placeholder:s,className:b,locale:E,ariaLabelledBy:I,disabled:m},L)),n.createElement(h,{direction:"right",tabIndex:-1,onClick:function(e){return A(r,e)},disabled:m}))})),y=[{name:"offset",enabled:!0,options:{offset:[0,0]}}],C=function(e){var t=e.className,o=e.onChange,d=e.selectedTime,s=e.placeholder,c=e.timeFormat,m=void 0===c?"HH:mm":c,b=e.dateFormat,p=void 0===b?["HH:mm","HHmm"]:b,f=u(e,["className","onChange","selectedTime","placeholder","timeFormat","dateFormat"]),v=i.useInputGroupContext(),k=v.isFilled,C=v.setFilled;return a.useOnMount((function(){d&&C&&!k&&C(!0)})),n.useEffect((function(){d?C&&!k&&C(!0):C&&k&&C(!1)}),[d,C,k]),n.createElement(l,Object.assign({className:r("eds-form-control","eds-timepicker__input",t),calendarClassName:"eds-timepicker",selected:d,onChange:function(e,a){e?C&&!k&&C(!0):C&&k&&C(!1),o&&o(e,a)},dateFormat:p,timeFormat:m,showTimeSelect:!0,showTimeInput:!0,showTimeSelectOnly:!0,showPopperArrow:!1,placeholderText:s,popperClassName:"eds-datepicker__popper",popperModifiers:y,open:!1},f))},h=function(e){var a=e.direction,t=u(e,["direction"]);return n.createElement("button",Object.assign({className:"eds-timepicker__arrowbutton",type:"button"},t),n.createElement("left"===a?o.LeftArrowIcon:o.RightArrowIcon,null))},g=n.forwardRef((function(e,t){var l=e.className,r=e.style,d=e.onChange,s=e.label,c=e.feedback,m=e.variant,b=e.disableLabelAnimation,p=e.prepend,f=void 0===p?n.createElement(o.ClockIcon,null):p,v=u(e,["className","style","onChange","label","feedback","variant","disableLabelAnimation","prepend"]),k=a.useRandomId("eds-nativetimepicker");return n.createElement(i.BaseFormControl,{style:r,className:l,prepend:f,label:s,feedback:c,variant:m,labelId:k,disableLabelAnimation:b},n.createElement(N,Object.assign({onChange:d,"aria-labelledby":k,ref:t},v)))})),N=n.forwardRef((function(e,t){var l=e.onChange,r=e.value,o=u(e,["onChange","value"]),d=i.useVariant(),s=o.variant||d,c=i.useInputGroupContext(),m=c.isFilled,b=c.setFilled;return a.useOnMount((function(){b&&!m&&b(!0)})),n.useEffect((function(){r?b&&!m&&b(!0):b&&m&&b(!1)}),[r,b,m]),n.createElement("input",Object.assign({ref:t,"aria-invalid":"error"===s,type:"time",className:"eds-form-control eds-native-date-picker",onChange:function(e){i.isFilled(e.target)?b&&!m&&b(!0):b&&m&&b(!1),l&&l(e)},value:r},o))}));a.warnAboutMissingStyles("datepicker","form","icons"),exports.DatePicker=b,exports.NativeDatePicker=f,exports.NativeTimePicker=g,exports.TimePicker=k;
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var a=require("@entur/utils"),n=e(require("react")),t=require("react-datepicker"),l=e(t),r=e(require("classnames")),i=require("@entur/form"),o=require("@entur/icons"),d=require("date-fns/locale"),s=require("@entur/tooltip"),c=require("date-fns");function u(e,a){if(null==e)return{};var n,t,l={},r=Object.keys(e);for(t=0;t<r.length;t++)a.indexOf(n=r[t])>=0||(l[n]=e[n]);return l}t.registerLocale("nb",d.nb);var m=[{name:"offset",enabled:!0,options:{offset:[0,0]}}],b=n.forwardRef((function(e,t){var o=e.selectedDate,d=void 0===o?null:o,s=e.onChange,c=e.placeholder,b=void 0===c?"Velg dato":c,f=e.className,v=e.style,k=e.readOnly,y=e.disableLabelAnimation,C=void 0!==y&&y,h=e.locale,g=void 0===h?"nb":h,N=e.prepend,w=e.disabled,E=e.dateFormat,F=void 0===E?["dd.MM.yyyy","ddMMyyyy"]:E,O=e.variant,A=e.feedback,I=e.label,L=e.hideCalendarButton,_=void 0!==L&&L,T=e.id,x=u(e,["selectedDate","onChange","placeholder","className","style","readOnly","disableLabelAnimation","locale","prepend","disabled","dateFormat","variant","feedback","label","hideCalendarButton","id"]),R=a.useRandomId("eds-datepicker"),j=i.useInputGroupContext(),M=j.isFilled,B=j.setFilled;return a.useOnMount((function(){d&&B&&!M&&B(!0)})),n.useEffect((function(){d?B&&!M&&B(!0):B&&M&&B(!1)}),[d,B,M]),n.createElement(l,Object.assign({className:r(f),calendarClassName:"eds-datepicker__calender",selected:d,onChange:function(e,a){e?B&&!M&&B(!0):B&&M&&B(!1),s&&s(e,a)},showWeekNumbers:!0,dateFormat:F,showPopperArrow:!1,placeholderText:b,readOnly:k,id:R,ariaLabelledBy:R,disabled:w,locale:g,popperModifiers:m},x,{customInput:n.createElement(p,{style:v,readOnly:k,variant:O,feedback:A,label:I,disabled:w,ref:t,"data-cy":x["data-cy"],disableLabelAnimation:C,prepend:N,hideCalendarButton:_,inputId:T})}))})),p=n.forwardRef((function(e,a){var t=e.value,l=e.onClick,d=e.onKeyDown,c=e.variant,m=e.feedback,b=e.style,p=e.disableLabelAnimation,f=e.disabled,v=e.label,k=e.readOnly,y=e.id,C=e.prepend,h=e.className,g=e.hideCalendarButton,N=e.inputId,w=u(e,["value","onClick","onFocus","onKeyDown","variant","feedback","style","disableLabelAnimation","disabled","label","readOnly","id","prepend","className","hideCalendarButton","inputId"]);return n.createElement("span",{className:h},n.createElement(i.BaseFormControl,{style:b,className:"eds-datepicker__form-control",readOnly:k,label:v,labelId:y,feedback:m,variant:c,disabled:f,disableLabelAnimation:p,isFilled:!!t,prepend:C},n.createElement("input",Object.assign({value:t,onClick:l,readOnly:k,disabled:f,ref:a,className:"eds-form-control",id:N},w)),!g&&n.createElement(s.Tooltip,{placement:"top",content:"Åpne kalender",disableHoverListener:f,disableFocusListener:f},n.createElement("button",{className:r("eds-datepicker__calendar-button",{"eds-datepicker__calendar-button--open":!0,"eds-datepicker__calendar-button--disabled":f}),onKeyDown:d,onClick:l,disabled:f,type:"button"},n.createElement(o.CalendarIcon,null)))))})),f=n.forwardRef((function(e,t){var l=e.className,r=e.style,d=e.label,s=e.onChange,c=e.feedback,m=e.variant,b=e.disableLabelAnimation,p=e.prepend,f=void 0===p?n.createElement(o.DateIcon,{inline:!0}):p,k=u(e,["className","style","label","onChange","feedback","variant","disableLabelAnimation","prepend"]),y=a.useRandomId("eds-nativetimepicker");return n.createElement(i.BaseFormControl,{style:r,className:l,prepend:f,label:d,feedback:c,variant:m,labelId:y,disableLabelAnimation:b,isFilled:!0},n.createElement(v,Object.assign({onChange:s,"aria-labelledby":y,ref:t,variant:m},k)))})),v=n.forwardRef((function(e,t){var l=e.onChange,r=e.variant,o=e.value,d=u(e,["onChange","variant","value"]),s=i.useVariant(),c=r||s,m=i.useInputGroupContext(),b=m.isFilled,p=m.setFilled;return a.useOnMount((function(){p&&!b&&p(!0)})),n.useEffect((function(){o?p&&!b&&p(!0):p&&b&&p(!1)}),[o,p,b]),n.createElement("input",Object.assign({ref:t,"aria-invalid":"error"===c,type:"date",className:"eds-form-control eds-native-date-picker",onChange:function(e){i.isFilled(e.target)?p&&!b&&p(!0):p&&b&&p(!1),l&&l(e)},value:o},d))}));t.registerLocale("nb",d.nb);var k=n.forwardRef((function(e,t){var l=e.selectedTime,r=void 0===l?null:l,o=e.onChange,d=e.placeholder,s=void 0===d?"Velg tid":d,m=e.disabled,b=e.className,p=e.style,f=e.label,v=e.labelTooltip,k=e.feedback,y=e.variant,g=e.disableLabelAnimation,N=e.locale,w=void 0===N?"nb":N,E=e.onLeftArrowClick,F=void 0===E?function(e,a){return e&&o(c.sub(e,{minutes:30}),a)}:E,O=e.onRightArrowClick,A=void 0===O?function(e,a){return e&&o(c.add(e,{minutes:30}),a)}:O,I=u(e,["selectedTime","onChange","placeholder","disabled","className","style","label","labelTooltip","feedback","variant","disableLabelAnimation","locale","onLeftArrowClick","onRightArrowClick"]),L=a.useRandomId("eds-timepicker");return n.createElement(i.BaseFormControl,{style:p,ref:t,label:f,labelId:L,labelTooltip:v,variant:y,feedback:k,disableLabelAnimation:g,className:"eds-timepicker-form-control",disabled:m,prepend:n.createElement(h,{direction:"left",tabIndex:-1,onClick:function(e){return F(r,e)},disabled:m})},n.createElement(C,Object.assign({selectedTime:r,onChange:o,placeholder:s,className:b,locale:w,ariaLabelledBy:L,disabled:m},I)),n.createElement(h,{direction:"right",tabIndex:-1,onClick:function(e){return A(r,e)},disabled:m}))})),y=[{name:"offset",enabled:!0,options:{offset:[0,0]}}],C=function(e){var t=e.className,o=e.onChange,d=e.selectedTime,s=e.placeholder,c=e.timeFormat,m=void 0===c?"HH:mm":c,b=e.dateFormat,p=void 0===b?["HH:mm","HHmm"]:b,f=u(e,["className","onChange","selectedTime","placeholder","timeFormat","dateFormat"]),v=i.useInputGroupContext(),k=v.isFilled,C=v.setFilled;return a.useOnMount((function(){d&&C&&!k&&C(!0)})),n.useEffect((function(){d?C&&!k&&C(!0):C&&k&&C(!1)}),[d,C,k]),n.createElement(l,Object.assign({className:r("eds-form-control","eds-timepicker__input",t),calendarClassName:"eds-timepicker",selected:d,onChange:function(e,a){e?C&&!k&&C(!0):C&&k&&C(!1),o&&o(e,a)},dateFormat:p,timeFormat:m,showTimeSelect:!0,showTimeInput:!0,showTimeSelectOnly:!0,showPopperArrow:!1,placeholderText:s,popperClassName:"eds-datepicker__popper",popperModifiers:y,open:!1},f))},h=function(e){var a=e.direction,t=u(e,["direction"]);return n.createElement("button",Object.assign({className:r("eds-timepicker__arrowbutton","eds-timepicker__arrowbutton--"+a),type:"button"},t),n.createElement("left"===a?o.LeftArrowIcon:o.RightArrowIcon,null))},g=n.forwardRef((function(e,t){var l=e.className,r=e.style,d=e.onChange,s=e.label,c=e.feedback,m=e.variant,b=e.disableLabelAnimation,p=e.prepend,f=void 0===p?n.createElement(o.ClockIcon,null):p,v=u(e,["className","style","onChange","label","feedback","variant","disableLabelAnimation","prepend"]),k=a.useRandomId("eds-nativetimepicker");return n.createElement(i.BaseFormControl,{style:r,className:l,prepend:f,label:s,feedback:c,variant:m,labelId:k,disableLabelAnimation:b},n.createElement(N,Object.assign({onChange:d,"aria-labelledby":k,ref:t},v)))})),N=n.forwardRef((function(e,t){var l=e.onChange,r=e.value,o=u(e,["onChange","value"]),d=i.useVariant(),s=o.variant||d,c=i.useInputGroupContext(),m=c.isFilled,b=c.setFilled;return a.useOnMount((function(){b&&!m&&b(!0)})),n.useEffect((function(){r?b&&!m&&b(!0):b&&m&&b(!1)}),[r,b,m]),n.createElement("input",Object.assign({ref:t,"aria-invalid":"error"===s,type:"time",className:"eds-form-control eds-native-date-picker",onChange:function(e){i.isFilled(e.target)?b&&!m&&b(!0):b&&m&&b(!1),l&&l(e)},value:r},o))}));a.warnAboutMissingStyles("datepicker","form","icons"),exports.DatePicker=b,exports.NativeDatePicker=f,exports.NativeTimePicker=g,exports.TimePicker=k;
2
2
  //# sourceMappingURL=datepicker.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.cjs.production.min.js","sources":["../src/DatePicker.tsx","../src/NativeDatePicker.tsx","../src/TimePicker.tsx","../src/NativeTimePicker.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { CalendarIcon } from '@entur/icons';\nimport { nb } from 'date-fns/locale';\nimport './DatePicker.scss';\nimport { Tooltip } from '@entur/tooltip';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport * as Popper from '@popperjs/core';\n\nregisterLocale('nb', nb);\n\nexport type DatePickerProps = {\n /** Hva som er den valgte datoen */\n selectedDate?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg dato\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over DatePicker */\n label: string;\n /** Varselmelding, som vil komme under DatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n /** Skjuler knapp for åpning av kalender\n * @default false\n */\n hideCalendarButton?: boolean;\n // For testing\n 'data-cy'?: any;\n} & Omit<ReactDatePickerProps, 'selected' | 'customInput'>;\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\n\nexport const DatePicker = React.forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n selectedDate = null,\n onChange,\n placeholder = 'Velg dato',\n className,\n style,\n readOnly,\n disableLabelAnimation = false,\n locale = 'nb',\n prepend,\n disabled,\n dateFormat = ['dd.MM.yyyy', 'ddMMyyyy'],\n variant,\n feedback,\n label,\n hideCalendarButton = false,\n ...rest\n },\n ref,\n ) => {\n const id = useRandomId('eds-datepicker');\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [selectedDate, setFiller, isDatepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n\n return (\n <ReactDatepicker\n className={classNames(className)}\n calendarClassName=\"eds-datepicker__calender\"\n selected={selectedDate}\n onChange={handleChange}\n showWeekNumbers={true}\n dateFormat={dateFormat}\n showPopperArrow={false}\n placeholderText={placeholder}\n readOnly={readOnly}\n id={id}\n disabled={disabled}\n locale={locale}\n popperModifiers={POPPER_MODIFIERS}\n {...rest}\n customInput={\n <DatePickerInput\n style={style}\n readOnly={readOnly}\n variant={variant}\n feedback={feedback}\n label={label}\n disabled={disabled}\n ref={ref}\n data-cy={rest['data-cy']}\n disableLabelAnimation={disableLabelAnimation}\n prepend={prepend}\n hideCalendarButton={hideCalendarButton}\n />\n }\n />\n );\n },\n);\n\ntype DatePickerInputProps = {\n onClick?: any;\n value?: any;\n disableLabelAnimation?: boolean;\n className?: string;\n hideCalendarButton?: boolean;\n feedback?: string;\n [key: string]: any;\n};\n// Props fra customInput i react-datepicker\n// value: inputValue,\n// onBlur: this.handleBlur,\n// onChange: this.handleChange,\n// onClick: this.onInputClick,\n// onFocus: this.handleFocus,\n// onKeyDown: this.onInputKeyDown,\n// id: this.props.id,\n// name: this.props.name,\n// autoFocus: this.props.autoFocus,\n// placeholder: this.props.placeholderText,\n// disabled: this.props.disabled,\n// autoComplete: this.props.autoComplete,\n// className: classnames(customInput.props.className, className),\n// title: this.props.title,\n// readOnly: this.props.readOnly,\n// required: this.props.required,\n// tabIndex: this.props.tabIndex,\n// \"aria-describedby\": this.props.ariaDescribedBy,\n// \"aria-invalid\": this.props.ariaInvalid,\n// \"aria-labelledby\": this.props.ariaLabelledBy,\n// \"aria-required\": this.props.ariaRequired,\n\nconst DatePickerInput = React.forwardRef<\n HTMLInputElement,\n DatePickerInputProps\n>(\n (\n {\n value,\n onClick,\n // Capture onFocus prop from react-datepicker, but doesn't use it\n // eslint-disable-next-line\n onFocus,\n onKeyDown,\n variant,\n feedback,\n style,\n disableLabelAnimation,\n disabled,\n label,\n readOnly,\n id,\n prepend,\n className,\n hideCalendarButton,\n ...rest\n },\n ref,\n ) => {\n return (\n <span style={{ display: 'flex' }} className={className}>\n <BaseFormControl\n style={style}\n className=\"eds-datepicker__form-control\"\n readOnly={readOnly}\n label={label}\n labelId={id}\n feedback={feedback}\n variant={variant}\n disabled={disabled}\n disableLabelAnimation={disableLabelAnimation}\n isFilled={value ? true : false}\n prepend={prepend}\n >\n <input\n value={value}\n onClick={onClick}\n readOnly={readOnly}\n disabled={disabled}\n ref={ref}\n aria-labelledby={id}\n className=\"eds-form-control\"\n {...rest}\n />\n </BaseFormControl>\n {!hideCalendarButton && (\n <Tooltip\n placement=\"top\"\n content=\"Åpne kalender\"\n disableHoverListener={disabled}\n disableFocusListener={disabled}\n >\n <button\n className={classNames('eds-datepicker__calendar-button', {\n 'eds-datepicker__calendar-button--open': true,\n 'eds-datepicker__calendar-button--disabled': disabled,\n })}\n onKeyDown={onKeyDown}\n onClick={onClick}\n disabled={disabled}\n type=\"button\"\n >\n <CalendarIcon />\n </button>\n </Tooltip>\n )}\n </span>\n );\n },\n);\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { DateIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeDatePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeDatePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeDatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeDatePicker = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerProps\n>(\n (\n {\n className,\n style,\n label,\n onChange,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <DateIcon inline />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativedatepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativedatepickerId}\n disableLabelAnimation={disableLabelAnimation}\n >\n <NativeDatePickerBase\n onChange={onChange}\n aria-labelledby={nativedatepickerId}\n ref={ref}\n variant={variant}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeDatePickerBaseProps = {\n onChange?: any;\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeDatePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerBaseProps\n>(({ onChange, variant, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = variant || contextVariant;\n const {\n isFilled: isDatepickerFilled,\n setFilled: setFiller,\n } = useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isDatepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isDatepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"date\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport { nb } from 'date-fns/locale';\nimport { add, sub } from 'date-fns';\nimport * as Popper from '@popperjs/core';\nimport './TimePicker.scss';\nregisterLocale('nb', nb);\n\nexport type TimePickerProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over TimePicker */\n label: string;\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n labelTooltip?: React.ReactNode;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Kalles ved klikk på pil venstre i TimePicker\n * @default Trekker fra 30 minutter av den valgte tiden\n */\n onLeftArrowClick?: (selectedTime?: Date | null, e?: React.MouseEvent) => void;\n /** Kalles ved klikk på pil høyre i TimePicker\n * @default Legger til 30 minutter av den valgte tiden\n */\n onRightArrowClick?: (\n selectedTime?: Date | null,\n e?: React.MouseEvent,\n ) => void;\n} & ReactDatePickerProps;\n\nexport const TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n selectedTime = null,\n onChange,\n placeholder = 'Velg tid',\n disabled,\n className,\n style,\n label,\n labelTooltip,\n feedback,\n variant,\n disableLabelAnimation,\n locale = 'nb',\n onLeftArrowClick = (selectedTime, event) =>\n selectedTime && onChange(sub(selectedTime, { minutes: 30 }), event),\n onRightArrowClick = (selectedTime, event) =>\n selectedTime && onChange(add(selectedTime, { minutes: 30 }), event),\n ...rest\n },\n ref,\n ) => {\n const timepickerId = useRandomId('eds-timepicker');\n return (\n <BaseFormControl\n style={style}\n ref={ref}\n label={label}\n labelId={timepickerId}\n labelTooltip={labelTooltip}\n variant={variant}\n feedback={feedback}\n disableLabelAnimation={disableLabelAnimation}\n className=\"eds-timepicker-form-control\"\n disabled={disabled}\n prepend={\n <TimePickerArrowButton\n direction=\"left\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onLeftArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n }\n >\n <TimePickerBase\n selectedTime={selectedTime}\n onChange={onChange}\n placeholder={placeholder}\n className={className}\n locale={locale}\n ariaLabelledBy={timepickerId}\n disabled={disabled}\n {...rest}\n />\n <TimePickerArrowButton\n direction=\"right\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onRightArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype TimePickerBaseProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date | null;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n} & ReactDatePickerProps;\n\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\nconst TimePickerBase: React.FC<TimePickerBaseProps> = ({\n className,\n onChange,\n selectedTime,\n placeholder,\n timeFormat = 'HH:mm',\n dateFormat = ['HH:mm', 'HHmm'],\n ...rest\n}) => {\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [selectedTime, setFiller, isTimepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n return (\n <ReactDatepicker\n className={classNames(\n 'eds-form-control',\n 'eds-timepicker__input',\n className,\n )}\n calendarClassName=\"eds-timepicker\"\n selected={selectedTime}\n onChange={handleChange}\n dateFormat={dateFormat}\n timeFormat={timeFormat}\n showTimeSelect\n showTimeInput={true}\n showTimeSelectOnly\n showPopperArrow={false}\n placeholderText={placeholder}\n popperClassName=\"eds-datepicker__popper\"\n popperModifiers={POPPER_MODIFIERS}\n open={false}\n {...rest}\n />\n );\n};\n\ntype TimePickerArrowButtonProps = {\n direction: 'left' | 'right';\n} & React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>;\n\nconst TimePickerArrowButton: React.FC<TimePickerArrowButtonProps> = ({\n direction,\n ...rest\n}) => {\n return (\n <button className=\"eds-timepicker__arrowbutton\" type=\"button\" {...rest}>\n {direction === 'left' ? <LeftArrowIcon /> : <RightArrowIcon />}\n </button>\n );\n};\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { ClockIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeTimePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeTimePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeTimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <ClockIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeTimePicker = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerProps\n>(\n (\n {\n className,\n style,\n onChange,\n label,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <ClockIcon />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativetimepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativetimepickerId}\n disableLabelAnimation={disableLabelAnimation}\n >\n <NativeTimePickerBase\n onChange={onChange}\n aria-labelledby={nativetimepickerId}\n ref={ref}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeTimePickerBaseProps = {\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeTimePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerBaseProps\n>(({ onChange, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = rest.variant || contextVariant;\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isTimepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isTimepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"time\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nimport './react-datepicker.scss';\n\nwarnAboutMissingStyles('datepicker', 'form', 'icons');\n\nexport * from './DatePicker';\nexport * from './NativeDatePicker';\nexport * from './TimePicker';\nexport * from './NativeTimePicker';\n"],"names":["registerLocale","nb","POPPER_MODIFIERS","name","enabled","options","offset","DatePicker","React","forwardRef","ref","selectedDate","onChange","placeholder","className","style","readOnly","disableLabelAnimation","locale","prepend","disabled","dateFormat","variant","feedback","label","hideCalendarButton","rest","id","useRandomId","useInputGroupContext","isDatepickerFilled","isFilled","setFiller","setFilled","useOnMount","useEffect","ReactDatepicker","classNames","calendarClassName","selected","date","event","showWeekNumbers","showPopperArrow","placeholderText","popperModifiers","customInput","DatePickerInput","value","onClick","onKeyDown","display","BaseFormControl","labelId","Tooltip","placement","content","disableHoverListener","disableFocusListener","type","CalendarIcon","NativeDatePicker","DateIcon","inline","nativedatepickerId","NativeDatePickerBase","contextVariant","useVariant","currentVariant","target","TimePicker","selectedTime","labelTooltip","onLeftArrowClick","sub","minutes","onRightArrowClick","add","timepickerId","TimePickerArrowButton","direction","tabIndex","e","TimePickerBase","ariaLabelledBy","timeFormat","isTimepickerFilled","showTimeSelect","showTimeInput","showTimeSelectOnly","popperClassName","open","LeftArrowIcon","RightArrowIcon","NativeTimePicker","ClockIcon","nativetimepickerId","NativeTimePickerBase"],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.cjs.production.min.js","sources":["../src/DatePicker.tsx","../src/NativeDatePicker.tsx","../src/TimePicker.tsx","../src/NativeTimePicker.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { CalendarIcon } from '@entur/icons';\nimport { nb } from 'date-fns/locale';\nimport './DatePicker.scss';\nimport { Tooltip } from '@entur/tooltip';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport * as Popper from '@popperjs/core';\n\nregisterLocale('nb', nb);\n\nexport type DatePickerProps = {\n /** Hva som er den valgte datoen */\n selectedDate?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg dato\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over DatePicker */\n label: string;\n /** Varselmelding, som vil komme under DatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n /** Skjuler knapp for åpning av kalender\n * @default false\n */\n hideCalendarButton?: boolean;\n // For testing\n 'data-cy'?: any;\n} & Omit<ReactDatePickerProps, 'selected' | 'customInput'>;\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\n\nexport const DatePicker = React.forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n selectedDate = null,\n onChange,\n placeholder = 'Velg dato',\n className,\n style,\n readOnly,\n disableLabelAnimation = false,\n locale = 'nb',\n prepend,\n disabled,\n dateFormat = ['dd.MM.yyyy', 'ddMMyyyy'],\n variant,\n feedback,\n label,\n hideCalendarButton = false,\n id,\n ...rest\n },\n ref,\n ) => {\n const datepickerId = useRandomId('eds-datepicker');\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [selectedDate, setFiller, isDatepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n\n return (\n <ReactDatepicker\n className={classNames(className)}\n calendarClassName=\"eds-datepicker__calender\"\n selected={selectedDate}\n onChange={handleChange}\n showWeekNumbers={true}\n dateFormat={dateFormat}\n showPopperArrow={false}\n placeholderText={placeholder}\n readOnly={readOnly}\n id={datepickerId}\n ariaLabelledBy={datepickerId}\n disabled={disabled}\n locale={locale}\n popperModifiers={POPPER_MODIFIERS}\n {...rest}\n customInput={\n <DatePickerInput\n style={style}\n readOnly={readOnly}\n variant={variant}\n feedback={feedback}\n label={label}\n disabled={disabled}\n ref={ref}\n data-cy={rest['data-cy']}\n disableLabelAnimation={disableLabelAnimation}\n prepend={prepend}\n hideCalendarButton={hideCalendarButton}\n inputId={id}\n />\n }\n />\n );\n },\n);\n\ntype DatePickerInputProps = {\n onClick?: any;\n value?: any;\n disableLabelAnimation?: boolean;\n className?: string;\n hideCalendarButton?: boolean;\n feedback?: string;\n inputId?: string;\n [key: string]: any;\n};\n// Props fra customInput i react-datepicker\n// value: inputValue,\n// onBlur: this.handleBlur,\n// onChange: this.handleChange,\n// onClick: this.onInputClick,\n// onFocus: this.handleFocus,\n// onKeyDown: this.onInputKeyDown,\n// id: this.props.id,\n// name: this.props.name,\n// autoFocus: this.props.autoFocus,\n// placeholder: this.props.placeholderText,\n// disabled: this.props.disabled,\n// autoComplete: this.props.autoComplete,\n// className: classnames(customInput.props.className, className),\n// title: this.props.title,\n// readOnly: this.props.readOnly,\n// required: this.props.required,\n// tabIndex: this.props.tabIndex,\n// \"aria-describedby\": this.props.ariaDescribedBy,\n// \"aria-invalid\": this.props.ariaInvalid,\n// \"aria-labelledby\": this.props.ariaLabelledBy,\n// \"aria-required\": this.props.ariaRequired,\n\nconst DatePickerInput = React.forwardRef<\n HTMLInputElement,\n DatePickerInputProps\n>(\n (\n {\n value,\n onClick,\n // Capture onFocus prop from react-datepicker, but doesn't use it\n // eslint-disable-next-line\n onFocus,\n onKeyDown,\n variant,\n feedback,\n style,\n disableLabelAnimation,\n disabled,\n label,\n readOnly,\n id,\n prepend,\n className,\n hideCalendarButton,\n inputId,\n ...rest\n },\n ref,\n ) => {\n return (\n <span className={className}>\n <BaseFormControl\n style={style}\n className=\"eds-datepicker__form-control\"\n readOnly={readOnly}\n label={label}\n labelId={id}\n feedback={feedback}\n variant={variant}\n disabled={disabled}\n disableLabelAnimation={disableLabelAnimation}\n isFilled={value ? true : false}\n prepend={prepend}\n >\n <input\n value={value}\n onClick={onClick}\n readOnly={readOnly}\n disabled={disabled}\n ref={ref}\n // aria-labelledby={id}\n className=\"eds-form-control\"\n id={inputId}\n {...rest}\n />\n {!hideCalendarButton && (\n <Tooltip\n placement=\"top\"\n content=\"Åpne kalender\"\n disableHoverListener={disabled}\n disableFocusListener={disabled}\n >\n <button\n className={classNames('eds-datepicker__calendar-button', {\n 'eds-datepicker__calendar-button--open': true,\n 'eds-datepicker__calendar-button--disabled': disabled,\n })}\n onKeyDown={onKeyDown}\n onClick={onClick}\n disabled={disabled}\n type=\"button\"\n >\n <CalendarIcon />\n </button>\n </Tooltip>\n )}\n </BaseFormControl>\n </span>\n );\n },\n);\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { DateIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeDatePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeDatePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeDatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeDatePicker = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerProps\n>(\n (\n {\n className,\n style,\n label,\n onChange,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <DateIcon inline />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativedatepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativedatepickerId}\n disableLabelAnimation={disableLabelAnimation}\n isFilled\n >\n <NativeDatePickerBase\n onChange={onChange}\n aria-labelledby={nativedatepickerId}\n ref={ref}\n variant={variant}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeDatePickerBaseProps = {\n onChange?: any;\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeDatePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerBaseProps\n>(({ onChange, variant, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = variant || contextVariant;\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isDatepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isDatepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"date\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport { nb } from 'date-fns/locale';\nimport { add, sub } from 'date-fns';\nimport * as Popper from '@popperjs/core';\nimport './TimePicker.scss';\nregisterLocale('nb', nb);\n\nexport type TimePickerProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over TimePicker */\n label: string;\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n labelTooltip?: React.ReactNode;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Kalles ved klikk på pil venstre i TimePicker\n * @default Trekker fra 30 minutter av den valgte tiden\n */\n onLeftArrowClick?: (selectedTime?: Date | null, e?: React.MouseEvent) => void;\n /** Kalles ved klikk på pil høyre i TimePicker\n * @default Legger til 30 minutter av den valgte tiden\n */\n onRightArrowClick?: (\n selectedTime?: Date | null,\n e?: React.MouseEvent,\n ) => void;\n} & ReactDatePickerProps;\n\nexport const TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n selectedTime = null,\n onChange,\n placeholder = 'Velg tid',\n disabled,\n className,\n style,\n label,\n labelTooltip,\n feedback,\n variant,\n disableLabelAnimation,\n locale = 'nb',\n onLeftArrowClick = (selectedTime, event) =>\n selectedTime && onChange(sub(selectedTime, { minutes: 30 }), event),\n onRightArrowClick = (selectedTime, event) =>\n selectedTime && onChange(add(selectedTime, { minutes: 30 }), event),\n ...rest\n },\n ref,\n ) => {\n const timepickerId = useRandomId('eds-timepicker');\n return (\n <BaseFormControl\n style={style}\n ref={ref}\n label={label}\n labelId={timepickerId}\n labelTooltip={labelTooltip}\n variant={variant}\n feedback={feedback}\n disableLabelAnimation={disableLabelAnimation}\n className=\"eds-timepicker-form-control\"\n disabled={disabled}\n prepend={\n <TimePickerArrowButton\n direction=\"left\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onLeftArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n }\n >\n <TimePickerBase\n selectedTime={selectedTime}\n onChange={onChange}\n placeholder={placeholder}\n className={className}\n locale={locale}\n ariaLabelledBy={timepickerId}\n disabled={disabled}\n {...rest}\n />\n <TimePickerArrowButton\n direction=\"right\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onRightArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype TimePickerBaseProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date | null;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n} & ReactDatePickerProps;\n\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\nconst TimePickerBase: React.FC<TimePickerBaseProps> = ({\n className,\n onChange,\n selectedTime,\n placeholder,\n timeFormat = 'HH:mm',\n dateFormat = ['HH:mm', 'HHmm'],\n ...rest\n}) => {\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [selectedTime, setFiller, isTimepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n return (\n <ReactDatepicker\n className={classNames(\n 'eds-form-control',\n 'eds-timepicker__input',\n className,\n )}\n calendarClassName=\"eds-timepicker\"\n selected={selectedTime}\n onChange={handleChange}\n dateFormat={dateFormat}\n timeFormat={timeFormat}\n showTimeSelect\n showTimeInput={true}\n showTimeSelectOnly\n showPopperArrow={false}\n placeholderText={placeholder}\n popperClassName=\"eds-datepicker__popper\"\n popperModifiers={POPPER_MODIFIERS}\n open={false}\n {...rest}\n />\n );\n};\n\ntype TimePickerArrowButtonProps = {\n direction: 'left' | 'right';\n} & React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>;\n\nconst TimePickerArrowButton: React.FC<TimePickerArrowButtonProps> = ({\n direction,\n ...rest\n}) => {\n return (\n <button\n className={classNames(\n 'eds-timepicker__arrowbutton',\n `eds-timepicker__arrowbutton--${direction}`,\n )}\n type=\"button\"\n {...rest}\n >\n {direction === 'left' ? <LeftArrowIcon /> : <RightArrowIcon />}\n </button>\n );\n};\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { ClockIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeTimePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeTimePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeTimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <ClockIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeTimePicker = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerProps\n>(\n (\n {\n className,\n style,\n onChange,\n label,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <ClockIcon />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativetimepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativetimepickerId}\n disableLabelAnimation={disableLabelAnimation}\n >\n <NativeTimePickerBase\n onChange={onChange}\n aria-labelledby={nativetimepickerId}\n ref={ref}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeTimePickerBaseProps = {\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeTimePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerBaseProps\n>(({ onChange, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = rest.variant || contextVariant;\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isTimepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isTimepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"time\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nimport './react-datepicker.scss';\n\nwarnAboutMissingStyles('datepicker', 'form', 'icons');\n\nexport * from './DatePicker';\nexport * from './NativeDatePicker';\nexport * from './TimePicker';\nexport * from './NativeTimePicker';\n"],"names":["registerLocale","nb","POPPER_MODIFIERS","name","enabled","options","offset","DatePicker","React","forwardRef","ref","selectedDate","onChange","placeholder","className","style","readOnly","disableLabelAnimation","locale","prepend","disabled","dateFormat","variant","feedback","label","hideCalendarButton","id","rest","datepickerId","useRandomId","useInputGroupContext","isDatepickerFilled","isFilled","setFiller","setFilled","useOnMount","useEffect","ReactDatepicker","classNames","calendarClassName","selected","date","event","showWeekNumbers","showPopperArrow","placeholderText","ariaLabelledBy","popperModifiers","customInput","DatePickerInput","inputId","value","onClick","onKeyDown","BaseFormControl","labelId","Tooltip","placement","content","disableHoverListener","disableFocusListener","type","CalendarIcon","NativeDatePicker","DateIcon","inline","nativedatepickerId","NativeDatePickerBase","contextVariant","useVariant","currentVariant","target","TimePicker","selectedTime","labelTooltip","onLeftArrowClick","sub","minutes","onRightArrowClick","add","timepickerId","TimePickerArrowButton","direction","tabIndex","e","TimePickerBase","timeFormat","isTimepickerFilled","showTimeSelect","showTimeInput","showTimeSelectOnly","popperClassName","open","LeftArrowIcon","RightArrowIcon","NativeTimePicker","ClockIcon","nativetimepickerId","NativeTimePickerBase"],"mappings":"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"}
@@ -53,9 +53,10 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
53
53
  label = _ref.label,
54
54
  _ref$hideCalendarButt = _ref.hideCalendarButton,
55
55
  hideCalendarButton = _ref$hideCalendarButt === void 0 ? false : _ref$hideCalendarButt,
56
- rest = _objectWithoutPropertiesLoose(_ref, ["selectedDate", "onChange", "placeholder", "className", "style", "readOnly", "disableLabelAnimation", "locale", "prepend", "disabled", "dateFormat", "variant", "feedback", "label", "hideCalendarButton"]);
56
+ id = _ref.id,
57
+ rest = _objectWithoutPropertiesLoose(_ref, ["selectedDate", "onChange", "placeholder", "className", "style", "readOnly", "disableLabelAnimation", "locale", "prepend", "disabled", "dateFormat", "variant", "feedback", "label", "hideCalendarButton", "id"]);
57
58
 
58
- var id = useRandomId('eds-datepicker');
59
+ var datepickerId = useRandomId('eds-datepicker');
59
60
 
60
61
  var _useInputGroupContext = useInputGroupContext(),
61
62
  isDatepickerFilled = _useInputGroupContext.isFilled,
@@ -96,7 +97,8 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
96
97
  showPopperArrow: false,
97
98
  placeholderText: placeholder,
98
99
  readOnly: readOnly,
99
- id: id,
100
+ id: datepickerId,
101
+ ariaLabelledBy: datepickerId,
100
102
  disabled: disabled,
101
103
  locale: locale,
102
104
  popperModifiers: POPPER_MODIFIERS
@@ -112,7 +114,8 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
112
114
  "data-cy": rest['data-cy'],
113
115
  disableLabelAnimation: disableLabelAnimation,
114
116
  prepend: prepend,
115
- hideCalendarButton: hideCalendarButton
117
+ hideCalendarButton: hideCalendarButton,
118
+ inputId: id
116
119
  })
117
120
  }));
118
121
  }); // Props fra customInput i react-datepicker
@@ -153,12 +156,10 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
153
156
  prepend = _ref2.prepend,
154
157
  className = _ref2.className,
155
158
  hideCalendarButton = _ref2.hideCalendarButton,
156
- rest = _objectWithoutPropertiesLoose(_ref2, ["value", "onClick", "onFocus", "onKeyDown", "variant", "feedback", "style", "disableLabelAnimation", "disabled", "label", "readOnly", "id", "prepend", "className", "hideCalendarButton"]);
159
+ inputId = _ref2.inputId,
160
+ rest = _objectWithoutPropertiesLoose(_ref2, ["value", "onClick", "onFocus", "onKeyDown", "variant", "feedback", "style", "disableLabelAnimation", "disabled", "label", "readOnly", "id", "prepend", "className", "hideCalendarButton", "inputId"]);
157
161
 
158
162
  return React.createElement("span", {
159
- style: {
160
- display: 'flex'
161
- },
162
163
  className: className
163
164
  }, React.createElement(BaseFormControl, {
164
165
  style: style,
@@ -178,9 +179,10 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
178
179
  readOnly: readOnly,
179
180
  disabled: disabled,
180
181
  ref: ref,
181
- "aria-labelledby": id,
182
- className: "eds-form-control"
183
- }, rest))), !hideCalendarButton && React.createElement(Tooltip, {
182
+ // aria-labelledby={id}
183
+ className: "eds-form-control",
184
+ id: inputId
185
+ }, rest)), !hideCalendarButton && React.createElement(Tooltip, {
184
186
  placement: "top",
185
187
  content: "\xC5pne kalender",
186
188
  disableHoverListener: disabled,
@@ -194,7 +196,7 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
194
196
  onClick: onClick,
195
197
  disabled: disabled,
196
198
  type: "button"
197
- }, React.createElement(CalendarIcon, null))));
199
+ }, React.createElement(CalendarIcon, null)))));
198
200
  });
199
201
 
200
202
  var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
@@ -220,7 +222,8 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
220
222
  feedback: feedback,
221
223
  variant: variant,
222
224
  labelId: nativedatepickerId,
223
- disableLabelAnimation: disableLabelAnimation
225
+ disableLabelAnimation: disableLabelAnimation,
226
+ isFilled: true
224
227
  }, React.createElement(NativeDatePickerBase, Object.assign({
225
228
  onChange: onChange,
226
229
  "aria-labelledby": nativedatepickerId,
@@ -413,7 +416,7 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref3) {
413
416
  rest = _objectWithoutPropertiesLoose(_ref3, ["direction"]);
414
417
 
415
418
  return React.createElement("button", Object.assign({
416
- className: "eds-timepicker__arrowbutton",
419
+ className: classNames('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction),
417
420
  type: "button"
418
421
  }, rest), direction === 'left' ? React.createElement(LeftArrowIcon, null) : React.createElement(RightArrowIcon, null));
419
422
  };
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.esm.js","sources":["../src/DatePicker.tsx","../src/NativeDatePicker.tsx","../src/TimePicker.tsx","../src/NativeTimePicker.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { CalendarIcon } from '@entur/icons';\nimport { nb } from 'date-fns/locale';\nimport './DatePicker.scss';\nimport { Tooltip } from '@entur/tooltip';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport * as Popper from '@popperjs/core';\n\nregisterLocale('nb', nb);\n\nexport type DatePickerProps = {\n /** Hva som er den valgte datoen */\n selectedDate?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg dato\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over DatePicker */\n label: string;\n /** Varselmelding, som vil komme under DatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n /** Skjuler knapp for åpning av kalender\n * @default false\n */\n hideCalendarButton?: boolean;\n // For testing\n 'data-cy'?: any;\n} & Omit<ReactDatePickerProps, 'selected' | 'customInput'>;\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\n\nexport const DatePicker = React.forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n selectedDate = null,\n onChange,\n placeholder = 'Velg dato',\n className,\n style,\n readOnly,\n disableLabelAnimation = false,\n locale = 'nb',\n prepend,\n disabled,\n dateFormat = ['dd.MM.yyyy', 'ddMMyyyy'],\n variant,\n feedback,\n label,\n hideCalendarButton = false,\n ...rest\n },\n ref,\n ) => {\n const id = useRandomId('eds-datepicker');\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [selectedDate, setFiller, isDatepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n\n return (\n <ReactDatepicker\n className={classNames(className)}\n calendarClassName=\"eds-datepicker__calender\"\n selected={selectedDate}\n onChange={handleChange}\n showWeekNumbers={true}\n dateFormat={dateFormat}\n showPopperArrow={false}\n placeholderText={placeholder}\n readOnly={readOnly}\n id={id}\n disabled={disabled}\n locale={locale}\n popperModifiers={POPPER_MODIFIERS}\n {...rest}\n customInput={\n <DatePickerInput\n style={style}\n readOnly={readOnly}\n variant={variant}\n feedback={feedback}\n label={label}\n disabled={disabled}\n ref={ref}\n data-cy={rest['data-cy']}\n disableLabelAnimation={disableLabelAnimation}\n prepend={prepend}\n hideCalendarButton={hideCalendarButton}\n />\n }\n />\n );\n },\n);\n\ntype DatePickerInputProps = {\n onClick?: any;\n value?: any;\n disableLabelAnimation?: boolean;\n className?: string;\n hideCalendarButton?: boolean;\n feedback?: string;\n [key: string]: any;\n};\n// Props fra customInput i react-datepicker\n// value: inputValue,\n// onBlur: this.handleBlur,\n// onChange: this.handleChange,\n// onClick: this.onInputClick,\n// onFocus: this.handleFocus,\n// onKeyDown: this.onInputKeyDown,\n// id: this.props.id,\n// name: this.props.name,\n// autoFocus: this.props.autoFocus,\n// placeholder: this.props.placeholderText,\n// disabled: this.props.disabled,\n// autoComplete: this.props.autoComplete,\n// className: classnames(customInput.props.className, className),\n// title: this.props.title,\n// readOnly: this.props.readOnly,\n// required: this.props.required,\n// tabIndex: this.props.tabIndex,\n// \"aria-describedby\": this.props.ariaDescribedBy,\n// \"aria-invalid\": this.props.ariaInvalid,\n// \"aria-labelledby\": this.props.ariaLabelledBy,\n// \"aria-required\": this.props.ariaRequired,\n\nconst DatePickerInput = React.forwardRef<\n HTMLInputElement,\n DatePickerInputProps\n>(\n (\n {\n value,\n onClick,\n // Capture onFocus prop from react-datepicker, but doesn't use it\n // eslint-disable-next-line\n onFocus,\n onKeyDown,\n variant,\n feedback,\n style,\n disableLabelAnimation,\n disabled,\n label,\n readOnly,\n id,\n prepend,\n className,\n hideCalendarButton,\n ...rest\n },\n ref,\n ) => {\n return (\n <span style={{ display: 'flex' }} className={className}>\n <BaseFormControl\n style={style}\n className=\"eds-datepicker__form-control\"\n readOnly={readOnly}\n label={label}\n labelId={id}\n feedback={feedback}\n variant={variant}\n disabled={disabled}\n disableLabelAnimation={disableLabelAnimation}\n isFilled={value ? true : false}\n prepend={prepend}\n >\n <input\n value={value}\n onClick={onClick}\n readOnly={readOnly}\n disabled={disabled}\n ref={ref}\n aria-labelledby={id}\n className=\"eds-form-control\"\n {...rest}\n />\n </BaseFormControl>\n {!hideCalendarButton && (\n <Tooltip\n placement=\"top\"\n content=\"Åpne kalender\"\n disableHoverListener={disabled}\n disableFocusListener={disabled}\n >\n <button\n className={classNames('eds-datepicker__calendar-button', {\n 'eds-datepicker__calendar-button--open': true,\n 'eds-datepicker__calendar-button--disabled': disabled,\n })}\n onKeyDown={onKeyDown}\n onClick={onClick}\n disabled={disabled}\n type=\"button\"\n >\n <CalendarIcon />\n </button>\n </Tooltip>\n )}\n </span>\n );\n },\n);\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { DateIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeDatePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeDatePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeDatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeDatePicker = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerProps\n>(\n (\n {\n className,\n style,\n label,\n onChange,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <DateIcon inline />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativedatepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativedatepickerId}\n disableLabelAnimation={disableLabelAnimation}\n >\n <NativeDatePickerBase\n onChange={onChange}\n aria-labelledby={nativedatepickerId}\n ref={ref}\n variant={variant}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeDatePickerBaseProps = {\n onChange?: any;\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeDatePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerBaseProps\n>(({ onChange, variant, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = variant || contextVariant;\n const {\n isFilled: isDatepickerFilled,\n setFilled: setFiller,\n } = useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isDatepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isDatepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"date\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport { nb } from 'date-fns/locale';\nimport { add, sub } from 'date-fns';\nimport * as Popper from '@popperjs/core';\nimport './TimePicker.scss';\nregisterLocale('nb', nb);\n\nexport type TimePickerProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over TimePicker */\n label: string;\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n labelTooltip?: React.ReactNode;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Kalles ved klikk på pil venstre i TimePicker\n * @default Trekker fra 30 minutter av den valgte tiden\n */\n onLeftArrowClick?: (selectedTime?: Date | null, e?: React.MouseEvent) => void;\n /** Kalles ved klikk på pil høyre i TimePicker\n * @default Legger til 30 minutter av den valgte tiden\n */\n onRightArrowClick?: (\n selectedTime?: Date | null,\n e?: React.MouseEvent,\n ) => void;\n} & ReactDatePickerProps;\n\nexport const TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n selectedTime = null,\n onChange,\n placeholder = 'Velg tid',\n disabled,\n className,\n style,\n label,\n labelTooltip,\n feedback,\n variant,\n disableLabelAnimation,\n locale = 'nb',\n onLeftArrowClick = (selectedTime, event) =>\n selectedTime && onChange(sub(selectedTime, { minutes: 30 }), event),\n onRightArrowClick = (selectedTime, event) =>\n selectedTime && onChange(add(selectedTime, { minutes: 30 }), event),\n ...rest\n },\n ref,\n ) => {\n const timepickerId = useRandomId('eds-timepicker');\n return (\n <BaseFormControl\n style={style}\n ref={ref}\n label={label}\n labelId={timepickerId}\n labelTooltip={labelTooltip}\n variant={variant}\n feedback={feedback}\n disableLabelAnimation={disableLabelAnimation}\n className=\"eds-timepicker-form-control\"\n disabled={disabled}\n prepend={\n <TimePickerArrowButton\n direction=\"left\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onLeftArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n }\n >\n <TimePickerBase\n selectedTime={selectedTime}\n onChange={onChange}\n placeholder={placeholder}\n className={className}\n locale={locale}\n ariaLabelledBy={timepickerId}\n disabled={disabled}\n {...rest}\n />\n <TimePickerArrowButton\n direction=\"right\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onRightArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype TimePickerBaseProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date | null;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n} & ReactDatePickerProps;\n\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\nconst TimePickerBase: React.FC<TimePickerBaseProps> = ({\n className,\n onChange,\n selectedTime,\n placeholder,\n timeFormat = 'HH:mm',\n dateFormat = ['HH:mm', 'HHmm'],\n ...rest\n}) => {\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [selectedTime, setFiller, isTimepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n return (\n <ReactDatepicker\n className={classNames(\n 'eds-form-control',\n 'eds-timepicker__input',\n className,\n )}\n calendarClassName=\"eds-timepicker\"\n selected={selectedTime}\n onChange={handleChange}\n dateFormat={dateFormat}\n timeFormat={timeFormat}\n showTimeSelect\n showTimeInput={true}\n showTimeSelectOnly\n showPopperArrow={false}\n placeholderText={placeholder}\n popperClassName=\"eds-datepicker__popper\"\n popperModifiers={POPPER_MODIFIERS}\n open={false}\n {...rest}\n />\n );\n};\n\ntype TimePickerArrowButtonProps = {\n direction: 'left' | 'right';\n} & React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>;\n\nconst TimePickerArrowButton: React.FC<TimePickerArrowButtonProps> = ({\n direction,\n ...rest\n}) => {\n return (\n <button className=\"eds-timepicker__arrowbutton\" type=\"button\" {...rest}>\n {direction === 'left' ? <LeftArrowIcon /> : <RightArrowIcon />}\n </button>\n );\n};\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { ClockIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeTimePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeTimePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeTimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <ClockIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeTimePicker = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerProps\n>(\n (\n {\n className,\n style,\n onChange,\n label,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <ClockIcon />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativetimepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativetimepickerId}\n disableLabelAnimation={disableLabelAnimation}\n >\n <NativeTimePickerBase\n onChange={onChange}\n aria-labelledby={nativetimepickerId}\n ref={ref}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeTimePickerBaseProps = {\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeTimePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerBaseProps\n>(({ onChange, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = rest.variant || contextVariant;\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isTimepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isTimepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"time\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nimport './react-datepicker.scss';\n\nwarnAboutMissingStyles('datepicker', 'form', 'icons');\n\nexport * from './DatePicker';\nexport * from './NativeDatePicker';\nexport * from './TimePicker';\nexport * from './NativeTimePicker';\n"],"names":["registerLocale","nb","POPPER_MODIFIERS","name","enabled","options","offset","DatePicker","React","forwardRef","ref","selectedDate","onChange","placeholder","className","style","readOnly","disableLabelAnimation","locale","prepend","disabled","dateFormat","variant","feedback","label","hideCalendarButton","rest","id","useRandomId","useInputGroupContext","isDatepickerFilled","isFilled","setFiller","setFilled","useOnMount","useEffect","handleChange","date","event","ReactDatepicker","classNames","calendarClassName","selected","showWeekNumbers","showPopperArrow","placeholderText","popperModifiers","customInput","DatePickerInput","value","onClick","onKeyDown","display","BaseFormControl","labelId","Tooltip","placement","content","disableHoverListener","disableFocusListener","type","CalendarIcon","NativeDatePicker","DateIcon","inline","nativedatepickerId","NativeDatePickerBase","contextVariant","useVariant","currentVariant","target","TimePicker","selectedTime","labelTooltip","onLeftArrowClick","sub","minutes","onRightArrowClick","add","timepickerId","TimePickerArrowButton","direction","tabIndex","e","TimePickerBase","ariaLabelledBy","timeFormat","isTimepickerFilled","showTimeSelect","showTimeInput","showTimeSelectOnly","popperClassName","open","LeftArrowIcon","RightArrowIcon","NativeTimePicker","ClockIcon","nativetimepickerId","NativeTimePickerBase","warnAboutMissingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.esm.js","sources":["../src/DatePicker.tsx","../src/NativeDatePicker.tsx","../src/TimePicker.tsx","../src/NativeTimePicker.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { CalendarIcon } from '@entur/icons';\nimport { nb } from 'date-fns/locale';\nimport './DatePicker.scss';\nimport { Tooltip } from '@entur/tooltip';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport * as Popper from '@popperjs/core';\n\nregisterLocale('nb', nb);\n\nexport type DatePickerProps = {\n /** Hva som er den valgte datoen */\n selectedDate?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg dato\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over DatePicker */\n label: string;\n /** Varselmelding, som vil komme under DatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n /** Skjuler knapp for åpning av kalender\n * @default false\n */\n hideCalendarButton?: boolean;\n // For testing\n 'data-cy'?: any;\n} & Omit<ReactDatePickerProps, 'selected' | 'customInput'>;\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\n\nexport const DatePicker = React.forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n selectedDate = null,\n onChange,\n placeholder = 'Velg dato',\n className,\n style,\n readOnly,\n disableLabelAnimation = false,\n locale = 'nb',\n prepend,\n disabled,\n dateFormat = ['dd.MM.yyyy', 'ddMMyyyy'],\n variant,\n feedback,\n label,\n hideCalendarButton = false,\n id,\n ...rest\n },\n ref,\n ) => {\n const datepickerId = useRandomId('eds-datepicker');\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedDate) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [selectedDate, setFiller, isDatepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n\n return (\n <ReactDatepicker\n className={classNames(className)}\n calendarClassName=\"eds-datepicker__calender\"\n selected={selectedDate}\n onChange={handleChange}\n showWeekNumbers={true}\n dateFormat={dateFormat}\n showPopperArrow={false}\n placeholderText={placeholder}\n readOnly={readOnly}\n id={datepickerId}\n ariaLabelledBy={datepickerId}\n disabled={disabled}\n locale={locale}\n popperModifiers={POPPER_MODIFIERS}\n {...rest}\n customInput={\n <DatePickerInput\n style={style}\n readOnly={readOnly}\n variant={variant}\n feedback={feedback}\n label={label}\n disabled={disabled}\n ref={ref}\n data-cy={rest['data-cy']}\n disableLabelAnimation={disableLabelAnimation}\n prepend={prepend}\n hideCalendarButton={hideCalendarButton}\n inputId={id}\n />\n }\n />\n );\n },\n);\n\ntype DatePickerInputProps = {\n onClick?: any;\n value?: any;\n disableLabelAnimation?: boolean;\n className?: string;\n hideCalendarButton?: boolean;\n feedback?: string;\n inputId?: string;\n [key: string]: any;\n};\n// Props fra customInput i react-datepicker\n// value: inputValue,\n// onBlur: this.handleBlur,\n// onChange: this.handleChange,\n// onClick: this.onInputClick,\n// onFocus: this.handleFocus,\n// onKeyDown: this.onInputKeyDown,\n// id: this.props.id,\n// name: this.props.name,\n// autoFocus: this.props.autoFocus,\n// placeholder: this.props.placeholderText,\n// disabled: this.props.disabled,\n// autoComplete: this.props.autoComplete,\n// className: classnames(customInput.props.className, className),\n// title: this.props.title,\n// readOnly: this.props.readOnly,\n// required: this.props.required,\n// tabIndex: this.props.tabIndex,\n// \"aria-describedby\": this.props.ariaDescribedBy,\n// \"aria-invalid\": this.props.ariaInvalid,\n// \"aria-labelledby\": this.props.ariaLabelledBy,\n// \"aria-required\": this.props.ariaRequired,\n\nconst DatePickerInput = React.forwardRef<\n HTMLInputElement,\n DatePickerInputProps\n>(\n (\n {\n value,\n onClick,\n // Capture onFocus prop from react-datepicker, but doesn't use it\n // eslint-disable-next-line\n onFocus,\n onKeyDown,\n variant,\n feedback,\n style,\n disableLabelAnimation,\n disabled,\n label,\n readOnly,\n id,\n prepend,\n className,\n hideCalendarButton,\n inputId,\n ...rest\n },\n ref,\n ) => {\n return (\n <span className={className}>\n <BaseFormControl\n style={style}\n className=\"eds-datepicker__form-control\"\n readOnly={readOnly}\n label={label}\n labelId={id}\n feedback={feedback}\n variant={variant}\n disabled={disabled}\n disableLabelAnimation={disableLabelAnimation}\n isFilled={value ? true : false}\n prepend={prepend}\n >\n <input\n value={value}\n onClick={onClick}\n readOnly={readOnly}\n disabled={disabled}\n ref={ref}\n // aria-labelledby={id}\n className=\"eds-form-control\"\n id={inputId}\n {...rest}\n />\n {!hideCalendarButton && (\n <Tooltip\n placement=\"top\"\n content=\"Åpne kalender\"\n disableHoverListener={disabled}\n disableFocusListener={disabled}\n >\n <button\n className={classNames('eds-datepicker__calendar-button', {\n 'eds-datepicker__calendar-button--open': true,\n 'eds-datepicker__calendar-button--disabled': disabled,\n })}\n onKeyDown={onKeyDown}\n onClick={onClick}\n disabled={disabled}\n type=\"button\"\n >\n <CalendarIcon />\n </button>\n </Tooltip>\n )}\n </BaseFormControl>\n </span>\n );\n },\n);\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { DateIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeDatePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeDatePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeDatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeDatePicker = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerProps\n>(\n (\n {\n className,\n style,\n label,\n onChange,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <DateIcon inline />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativedatepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativedatepickerId}\n disableLabelAnimation={disableLabelAnimation}\n isFilled\n >\n <NativeDatePickerBase\n onChange={onChange}\n aria-labelledby={nativedatepickerId}\n ref={ref}\n variant={variant}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeDatePickerBaseProps = {\n onChange?: any;\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeDatePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerBaseProps\n>(({ onChange, variant, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = variant || contextVariant;\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isDatepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isDatepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"date\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import React from 'react';\nimport {\n default as ReactDatepicker,\n ReactDatePickerProps,\n registerLocale,\n} from 'react-datepicker';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n useInputGroupContext,\n VariantType,\n} from '@entur/form';\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\nimport { nb } from 'date-fns/locale';\nimport { add, sub } from 'date-fns';\nimport * as Popper from '@popperjs/core';\nimport './TimePicker.scss';\nregisterLocale('nb', nb);\n\nexport type TimePickerProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Label over TimePicker */\n label: string;\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n style?: React.CSSProperties;\n labelTooltip?: React.ReactNode;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Kalles ved klikk på pil venstre i TimePicker\n * @default Trekker fra 30 minutter av den valgte tiden\n */\n onLeftArrowClick?: (selectedTime?: Date | null, e?: React.MouseEvent) => void;\n /** Kalles ved klikk på pil høyre i TimePicker\n * @default Legger til 30 minutter av den valgte tiden\n */\n onRightArrowClick?: (\n selectedTime?: Date | null,\n e?: React.MouseEvent,\n ) => void;\n} & ReactDatePickerProps;\n\nexport const TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n selectedTime = null,\n onChange,\n placeholder = 'Velg tid',\n disabled,\n className,\n style,\n label,\n labelTooltip,\n feedback,\n variant,\n disableLabelAnimation,\n locale = 'nb',\n onLeftArrowClick = (selectedTime, event) =>\n selectedTime && onChange(sub(selectedTime, { minutes: 30 }), event),\n onRightArrowClick = (selectedTime, event) =>\n selectedTime && onChange(add(selectedTime, { minutes: 30 }), event),\n ...rest\n },\n ref,\n ) => {\n const timepickerId = useRandomId('eds-timepicker');\n return (\n <BaseFormControl\n style={style}\n ref={ref}\n label={label}\n labelId={timepickerId}\n labelTooltip={labelTooltip}\n variant={variant}\n feedback={feedback}\n disableLabelAnimation={disableLabelAnimation}\n className=\"eds-timepicker-form-control\"\n disabled={disabled}\n prepend={\n <TimePickerArrowButton\n direction=\"left\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onLeftArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n }\n >\n <TimePickerBase\n selectedTime={selectedTime}\n onChange={onChange}\n placeholder={placeholder}\n className={className}\n locale={locale}\n ariaLabelledBy={timepickerId}\n disabled={disabled}\n {...rest}\n />\n <TimePickerArrowButton\n direction=\"right\"\n tabIndex={-1}\n onClick={(e: React.MouseEvent) => onRightArrowClick(selectedTime, e)}\n disabled={disabled}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype TimePickerBaseProps = {\n /** Hva som er den valgte datoen */\n selectedTime?: Date | null;\n /** Kalles når datoen/tiden endres */\n onChange: (\n date: Date | null,\n event: React.SyntheticEvent<any, Event>,\n ) => void;\n /** Placeholder om ingen dato er valgt\n * @default \"Velg tid\"\n */\n placeholder?: string;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n} & ReactDatePickerProps;\n\nconst POPPER_MODIFIERS: Popper.StrictModifiers[] = [\n {\n name: 'offset',\n enabled: true,\n options: {\n offset: [0, 0],\n },\n },\n];\nconst TimePickerBase: React.FC<TimePickerBaseProps> = ({\n className,\n onChange,\n selectedTime,\n placeholder,\n timeFormat = 'HH:mm',\n dateFormat = ['HH:mm', 'HHmm'],\n ...rest\n}) => {\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n }\n });\n\n React.useEffect(() => {\n if (selectedTime) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [selectedTime, setFiller, isTimepickerFilled]);\n\n const handleChange = (date: any, event: any) => {\n if (date) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(date, event);\n }\n };\n return (\n <ReactDatepicker\n className={classNames(\n 'eds-form-control',\n 'eds-timepicker__input',\n className,\n )}\n calendarClassName=\"eds-timepicker\"\n selected={selectedTime}\n onChange={handleChange}\n dateFormat={dateFormat}\n timeFormat={timeFormat}\n showTimeSelect\n showTimeInput={true}\n showTimeSelectOnly\n showPopperArrow={false}\n placeholderText={placeholder}\n popperClassName=\"eds-datepicker__popper\"\n popperModifiers={POPPER_MODIFIERS}\n open={false}\n {...rest}\n />\n );\n};\n\ntype TimePickerArrowButtonProps = {\n direction: 'left' | 'right';\n} & React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>;\n\nconst TimePickerArrowButton: React.FC<TimePickerArrowButtonProps> = ({\n direction,\n ...rest\n}) => {\n return (\n <button\n className={classNames(\n 'eds-timepicker__arrowbutton',\n `eds-timepicker__arrowbutton--${direction}`,\n )}\n type=\"button\"\n {...rest}\n >\n {direction === 'left' ? <LeftArrowIcon /> : <RightArrowIcon />}\n </button>\n );\n};\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { ClockIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeTimePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeTimePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeTimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <ClockIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeTimePicker = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerProps\n>(\n (\n {\n className,\n style,\n onChange,\n label,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <ClockIcon />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativetimepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativetimepickerId}\n disableLabelAnimation={disableLabelAnimation}\n >\n <NativeTimePickerBase\n onChange={onChange}\n aria-labelledby={nativetimepickerId}\n ref={ref}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeTimePickerBaseProps = {\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeTimePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerBaseProps\n>(({ onChange, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = rest.variant || contextVariant;\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isTimepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isTimepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"time\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nimport './react-datepicker.scss';\n\nwarnAboutMissingStyles('datepicker', 'form', 'icons');\n\nexport * from './DatePicker';\nexport * from './NativeDatePicker';\nexport * from './TimePicker';\nexport * from './NativeTimePicker';\n"],"names":["registerLocale","nb","POPPER_MODIFIERS","name","enabled","options","offset","DatePicker","React","forwardRef","ref","selectedDate","onChange","placeholder","className","style","readOnly","disableLabelAnimation","locale","prepend","disabled","dateFormat","variant","feedback","label","hideCalendarButton","id","rest","datepickerId","useRandomId","useInputGroupContext","isDatepickerFilled","isFilled","setFiller","setFilled","useOnMount","useEffect","handleChange","date","event","ReactDatepicker","classNames","calendarClassName","selected","showWeekNumbers","showPopperArrow","placeholderText","ariaLabelledBy","popperModifiers","customInput","DatePickerInput","inputId","value","onClick","onKeyDown","BaseFormControl","labelId","Tooltip","placement","content","disableHoverListener","disableFocusListener","type","CalendarIcon","NativeDatePicker","DateIcon","inline","nativedatepickerId","NativeDatePickerBase","contextVariant","useVariant","currentVariant","target","TimePicker","selectedTime","labelTooltip","onLeftArrowClick","sub","minutes","onRightArrowClick","add","timepickerId","TimePickerArrowButton","direction","tabIndex","e","TimePickerBase","timeFormat","isTimepickerFilled","showTimeSelect","showTimeInput","showTimeSelectOnly","popperClassName","open","LeftArrowIcon","RightArrowIcon","NativeTimePicker","ClockIcon","nativetimepickerId","NativeTimePickerBase","warnAboutMissingStyles"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -828,6 +828,99 @@
828
828
  font-size: 1.44rem;
829
829
  }/* DO NOT CHANGE!*/
830
830
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
831
+ .react-datepicker.eds-timepicker.react-datepicker--time-only {
832
+ width: 100%;
833
+ }
834
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time-container {
835
+ float: left;
836
+ overflow-x: hidden;
837
+ width: inherit;
838
+ }
839
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time-box {
840
+ border-radius: 0;
841
+ width: inherit;
842
+ }
843
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__header--time {
844
+ display: none;
845
+ }
846
+ .eds-contrast .eds-form-control-wrapper--dark .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time-container {
847
+ background-color: #ffffff;
848
+ }
849
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list {
850
+ font-family: var(--eds-font-family);
851
+ color: #181c56;
852
+ background-color: #ffffff;
853
+ }
854
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item {
855
+ align-items: center;
856
+ box-sizing: border-box;
857
+ border-bottom: 0.125rem solid #e9e9e9;
858
+ display: flex;
859
+ font-size: 1rem;
860
+ height: 2rem;
861
+ justify-content: center;
862
+ line-height: 1.25rem;
863
+ padding: calc(0.25rem/ 2) 1rem;
864
+ }
865
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item:hover {
866
+ background-color: #aeb7e2;
867
+ }
868
+ .eds-contrast .eds-form-control-wrapper--dark .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item {
869
+ color: #181c56;
870
+ background-color: #ffffff;
871
+ }
872
+ .eds-contrast .eds-form-control-wrapper--dark .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item:hover {
873
+ background-color: #aeb7e2;
874
+ }
875
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item--selected {
876
+ color: #ffffff;
877
+ background-color: #181c56;
878
+ }
879
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item--selected:hover {
880
+ background-color: #292b6a;
881
+ }
882
+ .eds-contrast .eds-form-control-wrapper--dark .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item--selected {
883
+ color: #ffffff;
884
+ background-color: #181c56;
885
+ }
886
+
887
+ .eds-timepicker-form-control.eds-form-control-wrapper {
888
+ height: 2rem;
889
+ }
890
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__input {
891
+ padding-left: 0;
892
+ padding-right: 0;
893
+ }
894
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-input-group__label {
895
+ margin-left: 0 !important;
896
+ }
897
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-form-control__prepend {
898
+ margin-left: 0;
899
+ }
900
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton {
901
+ appearance: none;
902
+ border: none;
903
+ border-radius: 0.0625rem;
904
+ background: #ffffff;
905
+ color: #181c56;
906
+ cursor: pointer;
907
+ display: flex;
908
+ font-size: 1rem;
909
+ padding: calc(1rem - 0.25rem);
910
+ margin: 0.25rem;
911
+ margin-left: 0.125rem;
912
+ }
913
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton--right {
914
+ margin-right: 0.125rem;
915
+ margin-left: 0.25rem;
916
+ }
917
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton:hover {
918
+ background-color: #d1d4e3;
919
+ }
920
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton:focus {
921
+ outline-offset: none;
922
+ }/* DO NOT CHANGE!*/
923
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
831
924
  .eds-datepicker__calender {
832
925
  font-family: var(--eds-font-family);
833
926
  color: #181c56;
@@ -854,6 +947,8 @@
854
947
  margin-left: -3rem;
855
948
  margin-top: 0.125rem;
856
949
  margin-bottom: 0.125rem;
950
+ position: absolute;
951
+ right: -0.125rem;
857
952
  color: inherit;
858
953
  padding: 0;
859
954
  background: none;
@@ -942,6 +1037,7 @@
942
1037
  .react-datepicker__navigation .react-datepicker__navigation-icon::before {
943
1038
  left: 0;
944
1039
  right: 0;
1040
+ border-color: #181c56;
945
1041
  }
946
1042
  .react-datepicker__navigation--previous {
947
1043
  left: 1.5rem;
@@ -1075,88 +1171,4 @@
1075
1171
 
1076
1172
  .eds-native-date-picker {
1077
1173
  height: 2.75rem;
1078
- }/* DO NOT CHANGE!*/
1079
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
1080
- .react-datepicker.eds-timepicker.react-datepicker--time-only {
1081
- width: 100%;
1082
- }
1083
- .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time-container {
1084
- float: left;
1085
- overflow-x: hidden;
1086
- width: inherit;
1087
- }
1088
- .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time-box {
1089
- border-radius: 0;
1090
- width: inherit;
1091
- }
1092
- .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__header--time {
1093
- display: none;
1094
- }
1095
- .eds-contrast .eds-form-control-wrapper--dark .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time-container {
1096
- background-color: #ffffff;
1097
- }
1098
- .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list {
1099
- font-family: var(--eds-font-family);
1100
- color: #181c56;
1101
- background-color: #ffffff;
1102
- }
1103
- .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item {
1104
- align-items: center;
1105
- box-sizing: border-box;
1106
- border-bottom: 0.125rem solid #e9e9e9;
1107
- display: flex;
1108
- font-size: 1rem;
1109
- height: 2rem;
1110
- justify-content: center;
1111
- line-height: 1.25rem;
1112
- padding: calc(0.25rem/ 2) 1rem;
1113
- }
1114
- .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item:hover {
1115
- background-color: #aeb7e2;
1116
- }
1117
- .eds-contrast .eds-form-control-wrapper--dark .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item {
1118
- color: #181c56;
1119
- background-color: #ffffff;
1120
- }
1121
- .eds-contrast .eds-form-control-wrapper--dark .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item:hover {
1122
- background-color: #aeb7e2;
1123
- }
1124
- .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item--selected {
1125
- color: #ffffff;
1126
- background-color: #181c56;
1127
- }
1128
- .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item--selected:hover {
1129
- background-color: #292b6a;
1130
- }
1131
- .eds-contrast .eds-form-control-wrapper--dark .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item--selected {
1132
- color: #ffffff;
1133
- background-color: #181c56;
1134
- }
1135
-
1136
- .eds-timepicker-form-control.eds-form-control-wrapper {
1137
- height: 2rem;
1138
- }
1139
- .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__input {
1140
- padding-left: 0;
1141
- padding-right: 0;
1142
- }
1143
- .eds-timepicker-form-control.eds-form-control-wrapper .eds-input-group__label {
1144
- margin-left: 0 !important;
1145
- }
1146
- .eds-timepicker-form-control.eds-form-control-wrapper .eds-form-control__prepend {
1147
- margin-left: 0;
1148
- }
1149
- .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton {
1150
- appearance: none;
1151
- border: none;
1152
- background: none;
1153
- color: #181c56;
1154
- cursor: pointer;
1155
- display: flex;
1156
- font-size: 1rem;
1157
- padding: 1rem;
1158
- margin: 0;
1159
- }
1160
- .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton:focus {
1161
- outline-offset: none;
1162
1174
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/datepicker",
3
- "version": "0.10.2",
3
+ "version": "0.10.6",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/datepicker.esm.js",
@@ -27,14 +27,14 @@
27
27
  "react-dom": ">=16.8.0"
28
28
  },
29
29
  "dependencies": {
30
- "@entur/form": "^5.1.1",
31
- "@entur/icons": "^3.3.0",
32
- "@entur/tokens": "^3.2.1",
33
- "@entur/typography": "^1.6.9",
30
+ "@entur/form": "^5.1.5",
31
+ "@entur/icons": "^3.4.0",
32
+ "@entur/tokens": "^3.3.0",
33
+ "@entur/typography": "^1.6.10",
34
34
  "@entur/utils": "^0.4.2",
35
35
  "@types/react-datepicker": "^4.1.6",
36
36
  "classnames": "^2.3.1",
37
37
  "react-datepicker": "4.2.1"
38
38
  },
39
- "gitHead": "d3611d9b3374c6aafc0b95b9ebac011f7b1a7785"
39
+ "gitHead": "4344fc544585636bf5e7f20a1783cb1807082081"
40
40
  }