@entur/datepicker 0.10.3 → 0.10.7

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,25 @@
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.7](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.6...@entur/datepicker@0.10.7) (2022-01-05)
7
+
8
+ **Note:** Version bump only for package @entur/datepicker
9
+
10
+ ## [0.10.6](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.5...@entur/datepicker@0.10.6) (2021-12-10)
11
+
12
+ **Note:** Version bump only for package @entur/datepicker
13
+
14
+ ## [0.10.5](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.4...@entur/datepicker@0.10.5) (2021-11-17)
15
+
16
+ ### Bug Fixes
17
+
18
+ - **nativedatepicker:** fix label position bug ([dfa18f4](https://bitbucket.org/enturas/design-system/commits/dfa18f4cbac6e19a2e093f04d447c25b6956bf6d))
19
+ - **timepicker:** adjust styling of arrow buttons ([4f23bbc](https://bitbucket.org/enturas/design-system/commits/4f23bbc0b7907e59bad8679a98ea0be622423658))
20
+
21
+ ## [0.10.4](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.3...@entur/datepicker@0.10.4) (2021-10-25)
22
+
23
+ **Note:** Version bump only for package @entur/datepicker
24
+
6
25
  ## [0.10.3](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.2...@entur/datepicker@0.10.3) (2021-10-18)
7
26
 
8
27
  ### Bug Fixes
@@ -229,7 +229,8 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
229
229
  feedback: feedback,
230
230
  variant: variant,
231
231
  labelId: nativedatepickerId,
232
- disableLabelAnimation: disableLabelAnimation
232
+ disableLabelAnimation: disableLabelAnimation,
233
+ isFilled: true
233
234
  }, React.createElement(NativeDatePickerBase, Object.assign({
234
235
  onChange: onChange,
235
236
  "aria-labelledby": nativedatepickerId,
@@ -422,7 +423,7 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref3) {
422
423
  rest = _objectWithoutPropertiesLoose(_ref3, ["direction"]);
423
424
 
424
425
  return React.createElement("button", Object.assign({
425
- className: "eds-timepicker__arrowbutton",
426
+ className: classNames('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction),
426
427
  type: "button"
427
428
  }, rest), direction === 'left' ? React.createElement(icons.LeftArrowIcon, null) : React.createElement(icons.RightArrowIcon, null));
428
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 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 >\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","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
+ {"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,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:E,locale:g,popperModifiers:m},x,{customInput:n.createElement(p,{style:v,readOnly:k,variant:O,feedback:A,label:I,disabled:E,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,E=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},E)),!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,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:E,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:"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 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 >\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","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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"}
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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"}
@@ -222,7 +222,8 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
222
222
  feedback: feedback,
223
223
  variant: variant,
224
224
  labelId: nativedatepickerId,
225
- disableLabelAnimation: disableLabelAnimation
225
+ disableLabelAnimation: disableLabelAnimation,
226
+ isFilled: true
226
227
  }, React.createElement(NativeDatePickerBase, Object.assign({
227
228
  onChange: onChange,
228
229
  "aria-labelledby": nativedatepickerId,
@@ -415,7 +416,7 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref3) {
415
416
  rest = _objectWithoutPropertiesLoose(_ref3, ["direction"]);
416
417
 
417
418
  return React.createElement("button", Object.assign({
418
- className: "eds-timepicker__arrowbutton",
419
+ className: classNames('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction),
419
420
  type: "button"
420
421
  }, rest), direction === 'left' ? React.createElement(LeftArrowIcon, null) : React.createElement(RightArrowIcon, null));
421
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 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 >\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","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
+ {"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
@@ -1,6 +1,4 @@
1
- :root {
2
- --eds-datepicker: 1;
3
- }@charset "UTF-8";
1
+ @charset "UTF-8";
4
2
  /* DO NOT CHANGE!*/
5
3
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
6
4
  .react-datepicker__navigation-icon::before,
@@ -826,93 +824,8 @@
826
824
  .react-datepicker__portal .react-datepicker__current-month,
827
825
  .react-datepicker__portal .react-datepicker-time__header {
828
826
  font-size: 1.44rem;
829
- }/* DO NOT CHANGE!*/
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
- background: none;
904
- color: #181c56;
905
- cursor: pointer;
906
- display: flex;
907
- font-size: 1rem;
908
- padding: 1rem;
909
- margin: 0;
910
- }
911
- .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton:hover {
912
- background-color: #d1d4e3;
913
- }
914
- .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton:focus {
915
- outline-offset: none;
827
+ }:root {
828
+ --eds-datepicker: 1;
916
829
  }/* DO NOT CHANGE!*/
917
830
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
918
831
  .eds-datepicker__calender {
@@ -1165,4 +1078,97 @@
1165
1078
 
1166
1079
  .eds-native-date-picker {
1167
1080
  height: 2.75rem;
1081
+ }/* DO NOT CHANGE!*/
1082
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
1083
+ .react-datepicker.eds-timepicker.react-datepicker--time-only {
1084
+ width: 100%;
1085
+ }
1086
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time-container {
1087
+ float: left;
1088
+ overflow-x: hidden;
1089
+ width: inherit;
1090
+ }
1091
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time-box {
1092
+ border-radius: 0;
1093
+ width: inherit;
1094
+ }
1095
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__header--time {
1096
+ display: none;
1097
+ }
1098
+ .eds-contrast .eds-form-control-wrapper--dark .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time-container {
1099
+ background-color: #ffffff;
1100
+ }
1101
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list {
1102
+ font-family: var(--eds-font-family);
1103
+ color: #181c56;
1104
+ background-color: #ffffff;
1105
+ }
1106
+ .react-datepicker.eds-timepicker.react-datepicker--time-only .react-datepicker__time .react-datepicker__time-box .react-datepicker__time-list .react-datepicker__time-list-item {
1107
+ align-items: center;
1108
+ box-sizing: border-box;
1109
+ border-bottom: 0.125rem solid #e9e9e9;
1110
+ display: flex;
1111
+ font-size: 1rem;
1112
+ height: 2rem;
1113
+ justify-content: center;
1114
+ line-height: 1.25rem;
1115
+ padding: calc(0.25rem/ 2) 1rem;
1116
+ }
1117
+ .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 {
1118
+ background-color: #aeb7e2;
1119
+ }
1120
+ .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 {
1121
+ color: #181c56;
1122
+ background-color: #ffffff;
1123
+ }
1124
+ .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 {
1125
+ background-color: #aeb7e2;
1126
+ }
1127
+ .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 {
1128
+ color: #ffffff;
1129
+ background-color: #181c56;
1130
+ }
1131
+ .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 {
1132
+ background-color: #292b6a;
1133
+ }
1134
+ .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 {
1135
+ color: #ffffff;
1136
+ background-color: #181c56;
1137
+ }
1138
+
1139
+ .eds-timepicker-form-control.eds-form-control-wrapper {
1140
+ height: 2rem;
1141
+ }
1142
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__input {
1143
+ padding-left: 0;
1144
+ padding-right: 0;
1145
+ }
1146
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-input-group__label {
1147
+ margin-left: 0 !important;
1148
+ }
1149
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-form-control__prepend {
1150
+ margin-left: 0;
1151
+ }
1152
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton {
1153
+ appearance: none;
1154
+ border: none;
1155
+ border-radius: 0.0625rem;
1156
+ background: #ffffff;
1157
+ color: #181c56;
1158
+ cursor: pointer;
1159
+ display: flex;
1160
+ font-size: 1rem;
1161
+ padding: calc(1rem - 0.25rem);
1162
+ margin: 0.25rem;
1163
+ margin-left: 0.125rem;
1164
+ }
1165
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton--right {
1166
+ margin-right: 0.125rem;
1167
+ margin-left: 0.25rem;
1168
+ }
1169
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton:hover {
1170
+ background-color: #d1d4e3;
1171
+ }
1172
+ .eds-timepicker-form-control.eds-form-control-wrapper .eds-timepicker__arrowbutton:focus {
1173
+ outline-offset: none;
1168
1174
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/datepicker",
3
- "version": "0.10.3",
3
+ "version": "0.10.7",
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.2",
31
- "@entur/icons": "^3.3.0",
32
- "@entur/tokens": "^3.2.1",
33
- "@entur/typography": "^1.6.9",
30
+ "@entur/form": "^5.2.0",
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": "c1f44a917e26ae2b050a0e051fe6a39793f73854"
39
+ "gitHead": "7862498307d864c5f0265d657f49f76cd0afa8db"
40
40
  }