@digitransit-component/digitransit-component-datetimepicker 1.1.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("prop-types"),require("react"),require("moment-timezone"),require("lodash/debounce"),require("moment/locale/fi"),require("moment/locale/sv"),require("moment/locale/de"),require("lodash/uniqueId"),require("i18next"),require("@digitransit-component/digitransit-component-icon"),require("react-select"),require("classnames"),require("react-modal"),require("react-autosuggest")):"function"==typeof define&&define.amd?define(["exports","prop-types","react","moment-timezone","lodash/debounce","moment/locale/fi","moment/locale/sv","moment/locale/de","lodash/uniqueId","i18next","@digitransit-component/digitransit-component-icon","react-select","classnames","react-modal","react-autosuggest"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-datetimepicker"]={},e.PropTypes,e.React,e.moment,e.debounce,null,null,null,e.uniqueId,e.i18next,e.Icon,e.Select,e.cx,e.ReactModal,e.Autosuggest)}(this,(function(e,t,n,i,l,a,o,r,s,d,u,c,p,_,m){"use strict";function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var b=f(t),y=f(n),g=f(i),h=f(l),v=f(s),x=f(d),w=f(u),k=f(c),E=f(p),N=f(_),C=f(m);function R(e){let t=e;return 3===t.length&&t.split("").every((e=>Number.isInteger(Number(e))))&&(t=Number(t.slice(0,2))<=23?`${t.slice(0,2)}:${t[2]}`:`${t[0]}:${t.slice(1)}`),t}const F=(e,t)=>{const n=!Number.isNaN(e)&&e>=0&&e<=23,i=2===t.length?!Number.isNaN(t)&&Number(t)>=0&&Number(t<=59):!Number.isNaN(t)&&Number(t)>=0&&Number(t<=5);return n&&i};function P(e){if(e.split(":").length>2)return!1;if(e.length<=2)return!0;if(3===e.length){let t,n;if(e.includes(":"))[t,n]=e.split(":");else{if(!e.startsWith("0")){const i=e.split("");return 1===Number(i[0])||2===Number(i[0])&&Number(i[1]<=3)?[t,n]=[i[0].concat(i[1]),i[2]]:[t,n]=[i[0],i[1].concat(i[2])],F(t,n)}if(t=e.substring(0,e.length-1),n=e.substring(e.length-1||0),Number(n)>5)return!1}return F(t,n)}if(5===e.length||4===e.length){const t=e.split(":"),n=t[0],i=t[1];return!(e.startsWith("0")&&1===i.length&&Number(i)>5)&&F(n,i)}return!0}const S=(e,t)=>{const n=e.trim();if(null!==n.match(/^[0-9]{1,2}(\.|:)[0-9]{2}$/)){const e=n.includes(".")?".":":",i=n.split(e),l=Number(i[0]),a=!Number.isNaN(l)&&l>=0&&l<=23,o=Number(i[1]);if(!(!Number.isNaN(o)&&o>=0&&o<=59)||!a)return null;return g.default(t).hours(l).minutes(o).valueOf()}return null};var O={"sr-only":"styles_sr-only__BrzYQ","dt-datetimepicker":"styles_dt-datetimepicker__PtoFG",hidden:"styles_hidden__6ySER","datetimepicker-open-container":"styles_datetimepicker-open-container__1dVr5","top-row-container":"styles_top-row-container__cXGjL",closed:"styles_closed__Fqe1r","time-icon":"styles_time-icon__ntgLZ","dropdown-icon":"styles_dropdown-icon__diYYB","close-icon":"styles_close-icon__-MzK5","label-open":"styles_label-open__Gmvov",textbutton:"styles_textbutton__T7wS2",active:"styles_active__4L82E","combobox-left":"styles_combobox-left__Sp4kh","combobox-right":"styles_combobox-right__Hg8kN","departure-or-arrival-container":"styles_departure-or-arrival-container__pJ-Iw","radio-textbutton-label":"styles_radio-textbutton-label__h-zfy","first-radio":"styles_first-radio__FWNoD","radio-textbutton":"styles_radio-textbutton__tsKET","departure-now-button":"styles_departure-now-button__VKMMK","open-button":"styles_open-button__c2B-6","close-button":"styles_close-button__2mfgI","right-edge":"styles_right-edge__29UYw","combobox-container":"styles_combobox-container__CLY9U","combobox-icon":"styles_combobox-icon__-0XPH","date-input-icon":"styles_date-input-icon__KMrj1","time-input-icon":"styles_time-input-icon__qkhC7","datetimepicker-select-container":"styles_datetimepicker-select-container__EVW1l","picker-container":"styles_picker-container__V02r4","combobox-mobile-container":"styles_combobox-mobile-container__u2DSO","mobile-modal-overlay":"styles_mobile-modal-overlay__8vF8L","mobile-modal-content":"styles_mobile-modal-content__fWRgy","top-row":"styles_top-row__h8xy1","modal-title":"styles_modal-title__EA3YD","tab-row":"styles_tab-row__orgwh","radio-tab-label":"styles_radio-tab-label__vIfup","input-row":"styles_input-row__2XXEY","input-container":"styles_input-container__USZlF","time-input-mobile":"styles_time-input-mobile__6e4A5","mobile-input-display":"styles_mobile-input-display__VUMd0","mobile-input-hidden":"styles_mobile-input-hidden__2KIuK",container:"styles_container__ihyhz",suggestion:"styles_suggestion__ZczJa",suggestionHighlighted:"styles_suggestionHighlighted__fzLiW",suggestionsContainerOpen:"styles_suggestionsContainerOpen__ISHXi",input:"styles_input__PAfbH","buttons-row":"styles_buttons-row__-3wsn","ready-button":"styles_ready-button__dH7Qc"};function G({value:e,onChange:t,getDisplay:i,timeChoices:l,id:a,label:o,icon:r,disableTyping:s,timeZone:d,datePicker:u,translationSettings:c}){g.default.tz.setDefault(d);const[p,_]=n.useState(i(e)),[m,f]=n.useState(!1),[b,h]=n.useState(!0),[v,w]=n.useState(!1);n.useEffect((()=>{_(i(e)),u||w(!1)}),[e]);const N=e=>{const n=Number(e);!Number.isNaN(n)&&g.default(n).isValid()&&g.default(n).valueOf()===n&&t(n)};const C=l.map((e=>({value:e.toString(),label:i(e)}))),F=u?C:C.filter((e=>e.label.split(":")[1]%15==0)),G=F.length>0?null==F?void 0:F.reduce(((t,n)=>Math.abs(e-t.value)<Math.abs(e-n.value)?t:n)):void 0,W=`${a}-input`,q=`${a}-label`,z=x.default.t("invalid-input",c);return y.default.createElement("label",{className:O["combobox-container"],htmlFor:W},y.default.createElement("span",{className:O["sr-only"],id:q},o," ",p),r,y.default.createElement(k.default,{"aria-labelledby":q,ariaLiveMessages:{guidance:e=>void 0===e.isDisabled&&v?z:".",onChange:()=>"",onFilter:()=>"",onFocus:({context:e,label:t})=>"menu"===e?t:""},options:C,inputId:W,onChange:t=>{const n=g.default(e).format("HH:mm"),l=S(p,e);if(m)return null!==l?(n!==p&&t.value===e?N(l):N(t.value),f(!1)):(t.value!==e?N(t.value):_(i(e)),f(!1)),void(u||w(!1));u||w(!1),N(t.value)},components:{IndicatorsContainer:()=>null},className:E.default(O["datetimepicker-select-container"],v&&"datetimepicker-invalid-input"),classNamePrefix:"datetimepicker-select",onInputChange:(e,{action:t})=>{if("menu-close"===t?h(!0):b&&h(!1),!(s||e&&!function(e){if(e.length<(null==p?void 0:p.length)){const t=P(e);return w(!t),!0}if(/[a-zA-Z§ÄäÖö.-\s]/g.test(e))return!1;const t=P(e.length>5?e.slice(0,-1):e);return w(!t),e.length<=5}(e))&&"input-change"===t){const t=R(e);_(t),f(!0)}},inputValue:!s&&p,value:G,noOptionsMessage:()=>"",filterOption:(e,t)=>{var n;if(u)return!0;const i=5===t.length||4===t.length&&1===t.split(":")[0].length,l=e.label.split(":")[1]%15==0,a=1===(null===(n=t.split(":")[1])||void 0===n?void 0:n.length);if(b&&l)return!0;if(a){const n=1===t.split(":")[0].length?"0".concat(t.split(":")[0]):t.split(":")[0],i=t.split(":")[1],l=e.label.split(":")[0],a=e.label.split(":")[1];if(n===l){const e=10*Number(i),t=Number(a)-e;return t>=0&&t<=9}}return i&&!b?4===t.length?"0".concat(t)===e.label:t===e.label:!!l&&((e,t)=>{const n=t.length<=2?t:t.split(":")[0],i=/^([0-1]?[0-9]|2[0-3])$/.test(n),l=1===n.length?"0".concat(t):t;return!i||e.label.split(":")[0]===l.split(":")[0]})(e,t)},controlShouldRenderValue:s,tabSelectsValue:!1,placeholder:"",onFocus:e=>{s||e.target.select()},onBlur:()=>{if(m){const t=S(p,e);null!==t?(N(t),f(!1)):(_(i(e)),f(!1))}u||w(!1)},onKeyDown:e=>{["ArrowDown","ArrowUp"].includes(e.key)&&f(!1)},isSearchable:!s}))}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===n&&i.firstChild?i.insertBefore(l,i.firstChild):i.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}(".styles_sr-only__BrzYQ:not(:focus, :active) {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n\n.styles_dt-datetimepicker__PtoFG {\n border: none;\n padding: 0;\n margin: 0;\n font-size: 15px;\n font-weight: var(--font-weight-medium); }\n .styles_dt-datetimepicker__PtoFG button,\n .styles_dt-datetimepicker__PtoFG label {\n font-size: 1em;\n font-weight: inherit; }\n .styles_dt-datetimepicker__PtoFG label button {\n cursor: pointer;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif; }\n .styles_dt-datetimepicker__PtoFG .styles_hidden__6ySER {\n display: none; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-open-container__1dVr5 {\n background-color: #f2f5f7;\n border-radius: 5px;\n padding: 15px; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL {\n display: flex;\n flex-wrap: wrap; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL.styles_closed__Fqe1r {\n margin: 11px 0 6px 18px; }\n @media screen and (max-width: 319px) {\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL {\n margin-left: 14px; } }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_time-icon__ntgLZ svg {\n width: 18px;\n height: 19px; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_dropdown-icon__diYYB {\n margin-left: 9px;\n position: relative;\n top: 1px; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_dropdown-icon__diYYB svg {\n width: 14px;\n height: 10px; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_close-icon__-MzK5 svg {\n width: 12px;\n height: 12px;\n border-radius: 1px; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_close-icon__-MzK5 svg path {\n stroke-width: 30; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL label {\n cursor: pointer; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL label.styles_label-open__Gmvov {\n align-items: flex-start;\n display: flex; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL button,\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL label {\n font-size: 1em;\n letter-spacing: -0.5px;\n line-height: 1; }\n .styles_dt-datetimepicker__PtoFG .styles_textbutton__T7wS2 {\n margin-left: 9px;\n margin-top: 1px;\n background: none;\n border: none;\n color: #666;\n padding: 0; }\n @media screen and (min-width: 768px) {\n .styles_dt-datetimepicker__PtoFG .styles_textbutton__T7wS2 {\n margin-left: 14px; } }\n .styles_dt-datetimepicker__PtoFG .styles_textbutton__T7wS2.styles_active__4L82E {\n color: var(--color); }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-left__Sp4kh {\n position: relative;\n margin-right: 4px;\n width: 63%; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-right__Hg8kN {\n position: relative;\n margin-left: 4px;\n width: 37%; }\n .styles_dt-datetimepicker__PtoFG .styles_departure-or-arrival-container__pJ-Iw {\n height: calc(1rem + 20px);\n background-color: #ddd;\n border-radius: 8px;\n display: flex;\n width: calc(5px + 13em); }\n .styles_dt-datetimepicker__PtoFG .styles_radio-textbutton-label__h-zfy {\n color: #333;\n margin: 2px;\n background: none;\n border-radius: 6px;\n padding: 9px 0;\n width: 50%;\n cursor: pointer;\n height: calc(1rem + 16px);\n text-align: center;\n font-weight: 400;\n font-size: 15px;\n line-height: 18px;\n letter-spacing: -0.03em; }\n .styles_dt-datetimepicker__PtoFG .styles_radio-textbutton-label__h-zfy.styles_active__4L82E {\n font-weight: 500;\n background: white; }\n .styles_dt-datetimepicker__PtoFG .styles_radio-textbutton-label__h-zfy:focus-within {\n /* First apply outline that is used in Edge and Firefox */\n outline: 1px dotted #212121;\n /* Then override outline for webkit browsers like Chrome, this has no effect on other browsers */\n outline: 5px auto -webkit-focus-ring-color;\n /* stylelint-disable-line declaration-block-no-duplicate-properties */ }\n .styles_dt-datetimepicker__PtoFG .styles_radio-textbutton-label__h-zfy.styles_first-radio__FWNoD {\n margin: 0;\n display: flex;\n align-items: flex-start; }\n .styles_dt-datetimepicker__PtoFG .styles_radio-textbutton__tsKET {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n .styles_dt-datetimepicker__PtoFG .styles_departure-now-button__VKMMK {\n font-family: inherit;\n letter-spacing: -0.02em;\n height: calc(1rem + 18px);\n color: var(--color);\n padding: 8px 0;\n width: 6.6875rem;\n background: white;\n border: 1px solid #888;\n border-radius: 30px;\n margin-left: 11px; }\n .styles_dt-datetimepicker__PtoFG .styles_open-button__c2B-6 {\n display: flex;\n margin-bottom: 0;\n margin-top: -1px;\n padding: 2px 0 2px 0; }\n .styles_dt-datetimepicker__PtoFG button.styles_close-button__2mfgI {\n transition: transform 0.2s;\n position: relative;\n top: -8px;\n right: -8px;\n border: 0;\n font-weight: normal;\n background: none;\n color: var(--color);\n padding: 0;\n line-height: normal; }\n .styles_dt-datetimepicker__PtoFG button.styles_close-button__2mfgI:hover {\n transform: scale(1.2); }\n .styles_dt-datetimepicker__PtoFG .styles_right-edge__29UYw {\n margin-left: auto;\n margin-right: 0;\n position: relative;\n top: -2px; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-container__CLY9U {\n cursor: pointer; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH {\n color: var(--color);\n height: 40px;\n position: absolute;\n z-index: 7;\n pointer-events: none; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH.styles_date-input-icon__KMrj1 {\n display: flex;\n align-items: center;\n padding: 0;\n margin-left: 14px; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH.styles_date-input-icon__KMrj1 svg {\n width: 20px;\n height: 18px; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH.styles_time-input-icon__qkhC7 {\n display: flex;\n align-items: center;\n padding: 0;\n margin-left: 8px; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH.styles_time-input-icon__qkhC7 svg {\n margin-top: 1px;\n width: 22px;\n height: 22px; }\n .styles_dt-datetimepicker__PtoFG .datetimepicker-invalid-input input {\n color: #f00 !important; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l {\n position: relative;\n height: 40px; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__control {\n cursor: inherit;\n height: 40px;\n border: 1px solid #888; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__value-container {\n padding: 0; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__single-value {\n margin: 0 0 0 47px; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__input {\n background: inherit;\n position: relative;\n margin-left: 40px; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__input input {\n opacity: 1 !important;\n background: inherit;\n box-shadow: none;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.33;\n letter-spacing: -0.5px;\n color: #333;\n font-family: inherit;\n font-size: 15px;\n font-weight: var(--font-weight-medium); }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__input input:focus {\n box-shadow: none;\n outline: none;\n border: none; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__menu {\n z-index: 19;\n padding: 0;\n background: #fff;\n max-height: 250px;\n border-radius: 5px;\n box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.06);\n border: 1px rgba(0, 0, 0, 0.1) solid; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__menu .datetimepicker-select__menu-list {\n max-height: 250px;\n padding: 0; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__menu .datetimepicker-select__menu-list .datetimepicker-select__option {\n height: 50px;\n border-top: 1px solid #ddd;\n padding: 13px 0 0 12px;\n letter-spacing: -0.6px;\n color: #333; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__menu .datetimepicker-select__menu-list .datetimepicker-select__option--is-selected {\n background: inherit; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__menu .datetimepicker-select__menu-list .datetimepicker-select__option--is-focused {\n background: #dfe5e8; }\n .styles_dt-datetimepicker__PtoFG .styles_picker-container__V02r4 {\n margin: 14px 0 0 0;\n display: flex; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-mobile-container__u2DSO {\n flex-grow: 1; }\n\n.styles_mobile-modal-overlay__8vF8L {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.6);\n z-index: 1000; }\n\n.styles_mobile-modal-content__fWRgy {\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif;\n background: white;\n width: 89%;\n position: absolute;\n left: 5.5%;\n padding: 31px 20px 33px 20px;\n top: 80px;\n border-radius: 5px; }\n .styles_mobile-modal-content__fWRgy .styles_top-row__h8xy1 {\n display: flex;\n justify-content: space-between;\n margin-bottom: 21px; }\n .styles_mobile-modal-content__fWRgy .styles_top-row__h8xy1 .styles_modal-title__EA3YD {\n font-weight: var(--font-weight-medium);\n font-size: 20px;\n line-height: 18px;\n letter-spacing: -0.5px;\n color: #333;\n padding: 6px 0 0 8px; }\n .styles_mobile-modal-content__fWRgy .styles_top-row__h8xy1 .styles_departure-now-button__VKMMK {\n background-color: white;\n font-family: inherit;\n padding: 5px 15px;\n border: 1px solid #888;\n border-radius: 50px;\n font-weight: var(--font-weight-medium);\n font-size: 15px;\n line-height: 18px;\n letter-spacing: -0.02em;\n color: var(--color); }\n .styles_mobile-modal-content__fWRgy .styles_tab-row__orgwh {\n display: flex;\n border: 2px solid #ddd;\n border-radius: 5px;\n margin-bottom: 16px;\n background-color: #ddd; }\n .styles_mobile-modal-content__fWRgy .styles_tab-row__orgwh .styles_radio-tab-label__vIfup {\n padding: 9px 0;\n font-size: 15px;\n line-height: 18px;\n letter-spacing: -0.5px;\n border-radius: 3px;\n font-weight: normal;\n width: 50%;\n text-align: center;\n color: #333; }\n .styles_mobile-modal-content__fWRgy .styles_tab-row__orgwh .styles_radio-tab-label__vIfup.styles_active__4L82E {\n font-weight: var(--font-weight-medium);\n background-color: #fff; }\n .styles_mobile-modal-content__fWRgy .styles_tab-row__orgwh .styles_radio-textbutton__tsKET {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY {\n display: flex;\n margin-bottom: 25px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY label:first-child {\n flex-basis: 60%;\n margin-right: 10px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY label:nth-child(2) {\n flex-basis: 40%; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF {\n border: 1px solid #888;\n border-radius: 5px;\n display: flex;\n align-items: center;\n height: 40px;\n line-height: 1.5;\n font-size: 100%; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF:focus-within {\n background: rgba(0, 122, 201, 0.06);\n border: 2px solid var(--color); }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_combobox-icon__-0XPH {\n height: 18px;\n font-size: 18px;\n padding: 0 0 0 10px;\n border: none;\n position: relative;\n top: 3px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_combobox-icon__-0XPH.styles_time-input-icon__qkhC7 > svg {\n height: 20px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .mobile-datetimepicker-invalid-input {\n color: #f00 !important; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_time-input-mobile__6e4A5 {\n font-family: inherit;\n box-shadow: none;\n font-size: 18px;\n letter-spacing: -0.5px;\n line-height: 20px;\n font-weight: var(--font-weight-medium);\n border: none;\n outline: none;\n background: none;\n width: 50px;\n margin-left: 10px;\n color: #333;\n height: 1.5265rem; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_mobile-input-display__VUMd0 {\n position: relative;\n left: 10px;\n border: none;\n background: inherit;\n box-shadow: none;\n font-family: inherit;\n font-weight: var(--font-weight-medium);\n font-stretch: normal;\n font-style: normal;\n font-size: 16px;\n line-height: 1.33;\n letter-spacing: -0.5px;\n color: #333; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_mobile-input-display__VUMd0:focus {\n outline: none;\n box-shadow: none;\n background: none; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_mobile-input-hidden__2KIuK {\n font-size: 16px;\n margin-bottom: 12px;\n height: 0;\n width: 0;\n background: inherit;\n color: transparent;\n outline: none;\n box-shadow: none;\n border: none; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_mobile-input-hidden__2KIuK:focus {\n outline: none;\n box-shadow: none; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz {\n position: absolute;\n width: calc((100% - 50px) * 0.6);\n height: 25px;\n font-size: 15px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_suggestion__ZczJa {\n list-style: none;\n font-size: 16px;\n font-style: normal;\n font-weight: normal;\n line-height: 49px;\n height: 50px;\n margin: 0;\n padding: 0 0 0 16px;\n color: rgba(0, 0, 0, 0.87);\n background: white; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_suggestionHighlighted__fzLiW {\n background: #dfe5e8; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_suggestionsContainerOpen__ISHXi {\n position: absolute;\n z-index: 19;\n max-height: 250px;\n overflow-x: hidden;\n overflow-y: scroll;\n border-radius: 5px;\n box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.06);\n border: 1px rgba(0, 0, 0, 0.1) solid;\n top: 42px;\n left: -2px;\n width: 100%;\n font-size: 16px;\n line-height: 1;\n color: rgba(0, 0, 0, 0.87); }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_suggestionsContainerOpen__ISHXi ul {\n padding: 0;\n margin: 0; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_input__PAfbH {\n box-shadow: none;\n border: none;\n background: none;\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n height: 25px;\n display: inline-block;\n font-family: inherit;\n line-height: 1.33;\n padding-left: 46px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_input__PAfbH:focus {\n outline: none;\n border: none;\n background: none; }\n .styles_mobile-modal-content__fWRgy .styles_buttons-row__-3wsn {\n display: flex;\n flex-direction: column;\n font-size: 16px;\n font-weight: var(--font-weight-medium); }\n .styles_mobile-modal-content__fWRgy .styles_buttons-row__-3wsn button {\n background-color: white;\n font-family: inherit;\n font-weight: var(--font-weight-medium);\n font-size: 16px;\n letter-spacing: -0.02em;\n width: 100%;\n border-radius: 50px;\n height: 40px;\n color: var(--color);\n border: 1px solid #888; }\n .styles_mobile-modal-content__fWRgy .styles_buttons-row__-3wsn button.styles_ready-button__dH7Qc {\n color: white;\n background-color: var(--color);\n border: none;\n margin-bottom: 10px; }\n"),"production"!==process.env.NODE_ENV&&(G.propTypes={value:b.default.number.isRequired,onChange:b.default.func.isRequired,getDisplay:b.default.func.isRequired,timeChoices:b.default.arrayOf(b.default.number).isRequired,id:b.default.string.isRequired,label:b.default.node.isRequired,icon:b.default.node.isRequired,disableTyping:b.default.bool,timeZone:b.default.string,datePicker:b.default.bool,translationSettings:b.default.shape({lng:b.default.string.isRequired})}),G.defaultProps={disableTyping:!1,timeZone:"Europe/Helsinki",datePicker:!1,translationSettings:{lng:"fi"}};const W={de:{today:"Heute",tomorrow:"Morgen","accessible-close":"Schließe die Auswahl","accessible-closed":"Auswahl geschlossen","accessible-open":"Öffne die Auswahl","accessible-opened":"Auswahl geöffnet","accessible-title":"Datum und Uhrzeitauswahl",arrival:"Ankunft",date:"Datum",departure:"Abfahrt","departure-now":"Abfahrt jetzt","choose-time":"Zeit wählen",ready:"Fertig",time:"Zeit",cancel:"Abbrechen"},en:{today:"Today",tomorrow:"Tomorrow","accessible-close":"Close the picker","accessible-closed":"Timepicker closed","accessible-open":"Open the picker","accessible-opened":"Timepicker opened","accessible-title":"Date and timepicker","accessible-update-instructions":"Changing time parameters will trigger a new search.",arrival:"Arrival",date:"Date",departure:"Departure","departure-now":"Leaving now",time:"Time","choose-time":"Choose time",ready:"Ready",cancel:"Cancel","invalid-input":"The time you entered is invalid"},fi:{today:"Tänään",tomorrow:"Huomenna","accessible-close":"Sulje valitsin","accessible-closed":"Valitsin suljettu","accessible-open":"Avaa valitsin","accessible-opened":"Valitsin avattu","accessible-title":"Aika- ja päivämäärävalitsin","accessible-update-instructions":"Aikavalintojen muuttaminen laukaisee uuden haun.",arrival:"Perillä",date:"Päivä",departure:"Lähtöaika","departure-now":"Lähtö nyt",time:"Aika","choose-time":"Valitse aika",ready:"Valmis",cancel:"Peruuta","invalid-input":"Syöttämäsi aika on virheellinen"},pl:{today:"Dziś",tomorrow:"Jutro","accessible-close":"Zamknij wybornik","accessible-closed":"Zamknięto wybornik","accessible-open":"Otwórz wybornik","accessible-opened":"Otwarto wybornik","accessible-title":"Wybór daty i godziny","accessible-update-instructions":"Zmiana wybranej godziny wywoła nowe wyszukiwanie.",arrival:"Przyjazd",date:"Data",departure:"Wyjazd","departure-now":"Wyjeżdżam teraz",time:"Godzina","choose-time":"Wybierz godzinę",ready:"Gotowe",cancel:"Anuluj","invalid-input":"Wprowadzona godzina jest nieprawidłowa"},sv:{today:"I dag",tomorrow:"I morgon","accessible-close":"Stäng väljaren","accessible-closed":"Väljaren stängde","accessible-open":"Öppna väljaren","accessible-opened":"Väljaren öppnade","accessible-title":"Tid- och datumväljaren","accessible-update-instructions":"Om du ändrar tiderna, startas en ny sökning automatiskt.",arrival:"Anländer",date:"Datum",departure:"Avgångstid","departure-now":"Avgår nu",time:"Tid","choose-time":"Välj tid",ready:"Färdig",cancel:"Avbryt","invalid-input":"Tiden du angav är felaktig"}};function q(){const e=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)}const z=["ref"];function X({value:e,getDisplay:t,onChange:i,itemCount:l,startTime:a,id:o,label:r,icon:s,timeZone:d}){g.default.tz.setDefault(d);const[u,c]=n.useState(!1),p=n.useRef(null),_=Array(l).fill().map(((e,t)=>g.default(a).add(t,"day").valueOf())),m=_.map((t=>e-t)).findIndex((e=>e<6e4));n.useLayoutEffect((()=>{u&&p.current&&(p.current.scrollTop=50*m)}),[e,u]);const f=!(navigator.userAgent.toLowerCase().indexOf("android")>-1),b=`${o}-input`,h=`${o}-label`;return y.default.createElement("label",{className:O["input-container"],htmlFor:b},y.default.createElement("span",null,s),y.default.createElement("span",{className:O["sr-only"],id:h},r),f?y.default.createElement("select",{className:O["mobile-input-display"],onChange:e=>i(Number(e.target.value)),value:e},_.map((e=>y.default.createElement("option",{key:e,value:e},t(e))))):y.default.createElement(C.default,{id:o,suggestions:_,getSuggestionValue:e=>e.toString(),renderSuggestion:e=>t(e),onSuggestionsFetchRequested:()=>null,shouldRenderSuggestions:()=>!0,inputProps:{value:t(e),onChange:(e,{newValue:t})=>{i(Number(t))},onFocus:()=>{c(!0)},onBlur:()=>{c(!1)},"aria-labelledby":h,"aria-autocomplete":"none",readOnly:!0},focusInputOnSuggestionClick:!1,onSuggestionsClearRequested:()=>null,renderSuggestionsContainer:({containerProps:e,children:t})=>{const{ref:n}=e,i=function(e,t){if(null==e)return{};var n,i,l=function(e,t){if(null==e)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;n[i]=e[i]}return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}(e,z);return y.default.createElement("div",Object.assign({tabIndex:"-1"},i,{ref:e=>{e&&(p.current=e,n(e))}}),t)},theme:O}))}function $({value:e,getDisplay:t,onChange:i,id:l,label:a,icon:o,timeZone:r}){const[s,d]=n.useState(t(e)),[u,c]=n.useState(!0);g.default.tz.setDefault(r);const p=`${l}-input`,_=`${l}-label`,m=n.useRef(null);n.useLayoutEffect((()=>{m.current&&m.current.focus()}),[]);const f=!u;return y.default.createElement("label",{className:O["input-container"],htmlFor:p},y.default.createElement("span",null,o),y.default.createElement("span",{className:O["sr-only"],id:_},a),y.default.createElement("input",{id:p,inputMode:"numeric",type:"text",maxLength:"6",className:E.default(O["time-input-mobile"],f&&"mobile-datetimepicker-invalid-input"),value:s,onFocus:e=>{e.target.setSelectionRange(0,0)},onChange:t=>{let n=t.target.value.replace(".",":");const l=P(n);if(c(l),n.match(/[0-9]{3}:[0-9]{2}/)&&n.slice(1)===s&&(n=n.charAt(0)),n.length>5)return;const a=R(n);d(a);const o=S(a,e);o&&i(o)},ref:m}))}function T({departureOrArrival:e,onNowClick:t,lang:i,color:l,timeZone:a,onSubmit:o,onCancel:r,timestamp:s,getTimeDisplay:d,dateSelectItemCount:u,getDateDisplay:c,fontWeights:p}){g.default.tz.setDefault(a);const _={lng:i},[m,f]=n.useState(s),[b,h]=n.useState(e);const[k]=n.useState(v.default("datetimepicker-")),E=g.default().startOf("day").hour(g.default(m).hour()).minute(g.default(m).minute()).valueOf();return y.default.createElement(N.default,{appElement:document?document.querySelector("#app"):void 0,isOpen:!0,className:O["mobile-modal-content"],overlayClassName:O["mobile-modal-overlay"]},y.default.createElement("div",{style:{"--color":`${l}`,"--font-weight-medium":p.medium}},y.default.createElement("div",{className:O["top-row"]},y.default.createElement("h3",{className:O["modal-title"]},x.default.t("choose-time",_)),y.default.createElement("button",{type:"button",className:O["departure-now-button"],onClick:t},x.default.t("departure-now",_))),y.default.createElement("div",{className:O["tab-row"]},y.default.createElement("label",{htmlFor:`${k}-modal-departure`,className:`${O["radio-tab-label"]}\n ${O["departure"===b?"active":void 0]}`},x.default.t("departure",_),y.default.createElement("input",{id:`${k}-modal-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:O["radio-textbutton"],onChange:()=>{h("departure")},checked:"departure"===b})),y.default.createElement("label",{htmlFor:`${k}-modal-arrival`,className:`${O["radio-tab-label"]}\n ${O["arrival"===b?"active":void 0]}`},x.default.t("arrival",_),y.default.createElement("input",{id:`${k}-modal-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:O["radio-textbutton"],onChange:()=>{h("arrival")},checked:"arrival"===b}))),y.default.createElement("div",{className:O["input-row"]},y.default.createElement(X,{value:m,getDisplay:c,onChange:f,itemCount:u,startTime:E,id:`${k}-date`,label:x.default.t("date",_),icon:y.default.createElement("span",{className:`${O["combobox-icon"]} ${O["date-input-icon"]}`},y.default.createElement(w.default,{img:"calendar",color:l})),timeZone:a}),y.default.createElement($,{value:m,getDisplay:d,onChange:f,id:`${k}-time`,label:x.default.t("time",_),icon:y.default.createElement("span",{className:`${O["combobox-icon"]} ${O["time-input-icon"]}`},y.default.createElement(w.default,{img:"time",color:l})),timeZone:a})),y.default.createElement("div",{className:O["buttons-row"]},y.default.createElement("button",{type:"button",className:O["ready-button"],onClick:()=>o(m,b)},x.default.t("ready",_)),y.default.createElement("button",{type:"button",className:O["cancel-button"],onClick:r},x.default.t("cancel",_)))))}function A({timestamp:e,onTimeChange:t,onDateChange:i,departureOrArrival:l,onNowClick:a,onDepartureClick:o,onArrivalClick:r,embedWhenClosed:s,embedWhenOpen:d,lang:u,color:c,timeZone:p,onModalSubmit:_,fontWeights:m,serviceTimeRange:f,onOpen:b,onClose:h,openPicker:k}){g.default.tz.setDefault(p);const[E,N]=n.useState(k||!1),[C,R]=n.useState(e||g.default().valueOf()),[F,P]=n.useState(null),[S]=n.useState(v.default("datetimepicker-")),[z]=n.useState(q()&&function(){if("undefined"==typeof window||null===window)return!1;const e=document.createElement("input");return e.type="date","date"===e.type&&(e.type="time","time"===e.type)}()),X=n.useRef(),$=n.useRef(),A=n.useRef(),D={lng:u};n.useEffect((()=>{Object.keys(W).forEach((e=>x.default.addResourceBundle(e,"translation",W[u])))}),[]),n.useEffect((()=>{g.default.locale(u)}),[u]);const Z=null===e;n.useEffect((()=>{Z?R(g.default().valueOf()):(F&&(clearInterval(F),P(null)),R(e))}),[e]),n.useEffect((()=>{if(!Z)return;F&&clearInterval(F);const e=setInterval((()=>{const t=g.default().valueOf();g.default(C).isSame(t,"minute")||(clearInterval(e),P(null),R(t))}),5e3);return P(e),()=>clearInterval(e)}),[C]);const j=n.useRef();n.useEffect((()=>{j.current=E}));const V=e=>{const t=g.default(e);let n;return n=t.isSame(g.default(),"day")?x.default.t("today",D):t.isSame(g.default().add(1,"day"),"day")?x.default.t("tomorrow",D):t.format("dd D.M."),n=`${n.charAt(0).toUpperCase()}${n.slice(1)}`,n},M=e=>g.default(e).format("HH:mm"),L=g.default(C),H=g.default(C).startOf("day").valueOf();let I=[];const Y=g.default(H);for(;Y.isSame(H,"day");)I.push(Y.valueOf()),q()?Y.add(15,"minutes"):Y.add(1,"minutes");if(null===e){const e=3e5,t=Math.ceil(C/e)*e,n=Array(7).fill().map(((n,i)=>t+i*e)),i=I.map((e=>C-e)).findIndex((e=>e<=0));I.splice(i,0,...n),I=Array.from(new Set(I))}const U=g.default().startOf("day").hour(L.hour()).minute(L.minute()).valueOf(),K=Array(f).fill().map(((e,t)=>g.default(U).add(t,"day").valueOf()));function B(){A.current&&(A.current.innerHTML=x.default.t("accessible-closed",D),setTimeout((()=>{A.current.innerHTML=null}),100))}return y.default.createElement("fieldset",{className:O["dt-datetimepicker"],id:`${S}-root`,style:{"--color":`${c}`,"--font-weight-medium":m.medium}},y.default.createElement("legend",{className:O["sr-only"]},x.default.t("accessible-title",D)),y.default.createElement("span",{className:O["sr-only"]},x.default.t("accessible-update-instructions",D)),y.default.createElement("div",{className:E?`${O.hidden} datetimepicker-top-row`:`${O["top-row-container"]} ${O.closed} datetimepicker-top-row`},y.default.createElement("label",{className:O["label-open"],htmlFor:`${S}-open`},y.default.createElement("span",{className:O["time-icon"]},y.default.createElement(w.default,{img:"time",color:c})),y.default.createElement("span",{className:O["sr-only"]},x.default.t("accessible-open",D)),y.default.createElement("span",{role:"alert",className:O["sr-only"],ref:A}),y.default.createElement("button",{id:`${S}-open`,type:"button",className:`${O.textbutton} ${O.active} ${O["open-button"]}`,"aria-controls":`${S}-root`,"aria-expanded":"false",onClick:()=>{N(!0),A.current&&(A.current.innerHTML=x.default.t("accessible-opened",D),setTimeout((()=>{A.current.innerHTML=null}),100)),b&&b()},ref:X},y.default.createElement("span",null,Z&&"departure"===l?x.default.t("departure-now",D):y.default.createElement(y.default.Fragment,null,x.default.t("departure"===l?"departure":"arrival",D),` ${g.default().isSame(g.default(C),"day")?"":V(C).toLowerCase()} ${M(C)}`)),y.default.createElement("span",{className:O["dropdown-icon"]},y.default.createElement(w.default,{img:"arrow-dropdown",color:c})))),y.default.createElement("span",{className:O["right-edge"]},s)),y.default.createElement("div",null),z?E&&y.default.createElement(T,{departureOrArrival:l,onNowClick:()=>{N(!1),B(),a()},lang:u,color:c,onSubmit:(e,t)=>{_(e,t),N(!1),B()},onCancel:()=>{N(!1),B(),h&&h()},getTimeDisplay:M,timeZone:p,timestamp:C,getDateDisplay:V,dateSelectItemCount:f,getDisplay:M,fontWeights:m}):y.default.createElement(y.default.Fragment,null,y.default.createElement("div",{className:`${O["datetimepicker-open-container"]} ${E?"":O.hidden}`},y.default.createElement("div",{className:E?`${O["top-row-container"]} datetimepicker-top-row`:`${O.hidden} datetimepicker-top-row`}," ",y.default.createElement("span",{role:"alert",className:O["sr-only"],ref:A}),y.default.createElement("span",null),y.default.createElement("span",{className:O["departure-or-arrival-container"]},y.default.createElement("label",{htmlFor:`${S}-departure`,className:`${O["radio-textbutton-label"]}\n ${O["departure"===l?"active":void 0]}`},x.default.t("departure",D),y.default.createElement("input",{id:`${S}-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:O["radio-textbutton"],onChange:()=>{o()},checked:"departure"===l})),y.default.createElement("label",{htmlFor:`${S}-arrival`,className:`${O["radio-textbutton-label"]}\n ${O["arrival"===l?"active":void 0]}`},x.default.t("arrival",D),y.default.createElement("input",{id:`${S}-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:O["radio-textbutton"],onChange:()=>{r()},checked:"arrival"===l}))),y.default.createElement("button",{id:`${S}-now`,type:"button",className:O["departure-now-button"],onClick:()=>{N(!1),B(),h&&h(),a()},ref:$},x.default.t("departure-now",D)),y.default.createElement("span",{className:O["right-edge"]},y.default.createElement("button",{type:"button",className:O["close-button"],"aria-controls":`${S}-root`,"aria-expanded":"true",onClick:()=>{N(!1),B(),h&&h()}},y.default.createElement("span",{className:O["close-icon"]},y.default.createElement(w.default,{img:"close",color:c})),y.default.createElement("span",{className:O["sr-only"]},x.default.t("accessible-close",D))))),y.default.createElement("div",{className:E?`${O["picker-container"]}`:`${O.hidden} datetimepicker-top-row`},y.default.createElement("span",{className:O["combobox-left"]},y.default.createElement(G,{value:C,onChange:e=>{i(e)},getDisplay:V,timeChoices:K,validate:()=>null,icon:y.default.createElement("span",{className:`${O["combobox-icon"]} ${O["date-input-icon"]}`},y.default.createElement(w.default,{img:"calendar",color:c})),id:`${S}-date`,label:x.default.t("date",D),disableTyping:!0,timeZone:p,datePicker:!0})),y.default.createElement("span",{className:O["combobox-right"]},y.default.createElement(G,{value:C,onChange:e=>{t(e)},getDisplay:M,timeChoices:I,icon:y.default.createElement("span",{className:`${O["combobox-icon"]} ${O["time-input-icon"]}`},y.default.createElement(w.default,{img:"time",color:c})),id:`${S}-time`,label:x.default.t("time",D),timeZone:p,translationSettings:D})))),y.default.createElement("span",{className:E?"":O.hidden},d),y.default.createElement("div",{className:E?"datetimepicker-bottom-row-open":""})))}function D({realtime:e,initialArriveBy:t,initialTimestamp:i,onDepartureClick:l,onArrivalClick:a,onTimeChange:o,onDateChange:r,onNowClick:s,embedWhenClosed:d,embedWhenOpen:u,lang:c,color:p,timeZone:_,fontWeights:m,serviceTimeRange:f,onOpen:b,onClose:v,openPicker:x}){g.default.locale(c),g.default.tz.setDefault(_);const w=e?null:g.default().valueOf(),[k,E]=n.useState(i?1e3*i:w),[N,C]=n.useState(!0===t?"arrival":"departure");n.useEffect((()=>{const e=null===k&&void 0===i,n=null===k||void 0===i,l=Math.round(k/1e3)===i;!e&&(n||!l)&&E(void 0===i?null:1e3*i),!t==("arrival"===N)&&C(!0===t?"arrival":"departure")}),[i,t]);const R=h.default((e=>{if(null===e)return E(g.default().valueOf()),void o(Math.round(g.default().valueOf()/1e3),"arrival"===N);E(e),o(Math.round(e/1e3),"arrival"===N)}),10),F=h.default((e=>{if(null===e)return E(g.default().valueOf()),void r(Math.round(g.default().valueOf()/1e3),"arrival"===N);E(e),r(Math.round(e/1e3),"arrival"===N)}),10);return y.default.createElement(A,{timestamp:k,onTimeChange:R,onDateChange:F,departureOrArrival:N,onNowClick:()=>{C("departure");const t=e?null:g.default().valueOf();E(t),s(Math.round(t/1e3))},onDepartureClick:()=>{let e=!1,t=k;if(null===k){const n=g.default().valueOf();E(n),t=n,e=!0}"departure"!==N&&(C("departure"),e=!0),e&&l(Math.round(t/1e3))},onArrivalClick:()=>{let e=!1,t=k;if(null===k){const n=g.default().valueOf();E(n),t=n,e=!0}"arrival"!==N&&(C("arrival"),e=!0),e&&a(Math.round(t/1e3))},embedWhenClosed:d,embedWhenOpen:u,lang:c,color:p,timeZone:_,onModalSubmit:(e,t)=>{E(e),C(t),o(Math.round(e/1e3),"arrival"===t,!0)},fontWeights:m,serviceTimeRange:f,onOpen:b,onClose:v,openPicker:x})}"production"!==process.env.NODE_ENV&&(X.propTypes={value:b.default.number.isRequired,getDisplay:b.default.func.isRequired,onChange:b.default.func.isRequired,itemCount:b.default.number.isRequired,startTime:b.default.number.isRequired,id:b.default.string.isRequired,label:b.default.string.isRequired,icon:b.default.node,dateTimeCombined:b.default.bool,timeZone:b.default.string}),X.defaultProps={icon:null,dateTimeCombined:!1,timeZone:"Europe/Helsinki"},"production"!==process.env.NODE_ENV&&($.propTypes={value:b.default.number.isRequired,getDisplay:b.default.func.isRequired,onChange:b.default.func.isRequired,id:b.default.string.isRequired,label:b.default.string.isRequired,icon:b.default.node,timeZone:b.default.string}),$.defaultProps={icon:null,timeZone:"Europe/Helsinki"},g.default.locale("en"),x.default.init({lng:"en",resources:{}}),Object.keys(W).forEach((e=>x.default.addResourceBundle(e,"translation",W[e]))),"production"!==process.env.NODE_ENV&&(T.propTypes={timeZone:b.default.string,departureOrArrival:b.default.oneOf(["departure","arrival"]).isRequired,onNowClick:b.default.func.isRequired,lang:b.default.string.isRequired,color:b.default.string,onSubmit:b.default.func.isRequired,onCancel:b.default.func.isRequired,timestamp:b.default.number.isRequired,getTimeDisplay:b.default.func.isRequired,dateSelectItemCount:b.default.number.isRequired,getDateDisplay:b.default.func.isRequired,fontWeights:b.default.shape({medium:b.default.number.isRequired}).isRequired}),T.defaultProps={color:"#007ac9",timeZone:"Europe/Helsinki"},g.default.locale("en"),x.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),"production"!==process.env.NODE_ENV&&(A.propTypes={timestamp:b.default.number,timeZone:b.default.string,onTimeChange:b.default.func.isRequired,onDateChange:b.default.func.isRequired,departureOrArrival:b.default.oneOf(["departure","arrival"]).isRequired,onNowClick:b.default.func.isRequired,onDepartureClick:b.default.func.isRequired,onArrivalClick:b.default.func.isRequired,embedWhenClosed:b.default.node,embedWhenOpen:b.default.node,lang:b.default.string.isRequired,color:b.default.string,onModalSubmit:b.default.func.isRequired,fontWeights:b.default.shape({medium:b.default.number.isRequired}).isRequired,serviceTimeRange:b.default.number.isRequired,onOpen:b.default.func,onClose:b.default.func,openPicker:b.default.bool}),A.defaultProps={timestamp:null,embedWhenClosed:null,embedWhenOpen:null,color:"#007ac9",timeZone:"Europe/Helsinki",onOpen:null,onClose:null,openPicker:void 0},"production"!==process.env.NODE_ENV&&(D.propTypes={realtime:b.default.bool,initialTimestamp:b.default.number,initialArriveBy:b.default.bool,onDepartureClick:b.default.func.isRequired,onArrivalClick:b.default.func.isRequired,onTimeChange:b.default.func.isRequired,onDateChange:b.default.func.isRequired,onNowClick:b.default.func.isRequired,embedWhenClosed:b.default.node,embedWhenOpen:b.default.node,lang:b.default.string,color:b.default.string,timeZone:b.default.string,fontWeights:b.default.shape({medium:b.default.number}),serviceTimeRange:b.default.number,onOpen:b.default.func,onClose:b.default.func,openPicker:b.default.bool}),D.defaultProps={realtime:!1,initialArriveBy:void 0,initialTimestamp:void 0,embedWhenClosed:null,embedWhenOpen:null,lang:"en",color:"#007ac9",timeZone:"Europe/Helsinki",fontWeights:{medium:500},onOpen:null,onClose:null,openPicker:void 0,serviceTimeRange:30},e.default=D,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("prop-types"),require("react"),require("luxon"),require("lodash/debounce"),require("lodash/uniqueId"),require("i18next"),require("@digitransit-component/digitransit-component-icon"),require("react-select"),require("classnames"),require("react-modal"),require("react-autosuggest")):"function"==typeof define&&define.amd?define(["exports","prop-types","react","luxon","lodash/debounce","lodash/uniqueId","i18next","@digitransit-component/digitransit-component-icon","react-select","classnames","react-modal","react-autosuggest"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-datetimepicker"]={},e.PropTypes,e.React,e.luxon,e.debounce,e.uniqueId,e.i18next,e.Icon,e.Select,e.cx,e.ReactModal,e.Autosuggest)}(this,(function(e,t,n,i,o,l,a,r,s,d,c,u){"use strict";function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=p(t),_=p(n),f=p(o),y=p(l),b=p(a),g=p(r),h=p(s),x=p(d),w=p(c),v=p(u);function k(e){let t=e;return 3===t.length&&t.split("").every((e=>Number.isInteger(Number(e))))&&(t=Number(t.slice(0,2))<=23?`${t.slice(0,2)}:${t[2]}`:`${t[0]}:${t.slice(1)}`),t}const E=(e,t)=>{const n=!Number.isNaN(e)&&e>=0&&e<=23,i=2===t.length?!Number.isNaN(t)&&Number(t)>=0&&Number(t<=59):!Number.isNaN(t)&&Number(t)>=0&&Number(t<=5);return n&&i};function N(e){if(e.split(":").length>2)return!1;if(e.length<=2)return!0;if(3===e.length){let t,n;if(e.includes(":"))[t,n]=e.split(":");else{if(!e.startsWith("0")){const i=e.split("");return 1===Number(i[0])||2===Number(i[0])&&Number(i[1]<=3)?[t,n]=[i[0].concat(i[1]),i[2]]:[t,n]=[i[0],i[1].concat(i[2])],E(t,n)}if(t=e.substring(0,e.length-1),n=e.substring(e.length-1||0),Number(n)>5)return!1}return E(t,n)}if(5===e.length||4===e.length){const t=e.split(":"),n=t[0],i=t[1];return!(e.startsWith("0")&&1===i.length&&Number(i)>5)&&E(n,i)}return!0}const C=(e,t)=>{const n=e.trim();if(null!==n.match(/^[0-9]{1,2}(\.|:)[0-9]{2}$/)){const e=n.includes(".")?".":":",o=n.split(e),l=Number(o[0]),a=!Number.isNaN(l)&&l>=0&&l<=23,r=Number(o[1]);if(!(!Number.isNaN(r)&&r>=0&&r<=59)||!a)return null;return i.DateTime.fromMillis(t).set({hour:l,minute:r,second:0,millisecond:0}).valueOf()}return null};var R={"sr-only":"styles_sr-only__BrzYQ","dt-datetimepicker":"styles_dt-datetimepicker__PtoFG",hidden:"styles_hidden__6ySER","datetimepicker-open-container":"styles_datetimepicker-open-container__1dVr5","top-row-container":"styles_top-row-container__cXGjL",closed:"styles_closed__Fqe1r","time-icon":"styles_time-icon__ntgLZ","dropdown-icon":"styles_dropdown-icon__diYYB","close-icon":"styles_close-icon__-MzK5","label-open":"styles_label-open__Gmvov",textbutton:"styles_textbutton__T7wS2",active:"styles_active__4L82E","combobox-left":"styles_combobox-left__Sp4kh","combobox-right":"styles_combobox-right__Hg8kN","departure-or-arrival-container":"styles_departure-or-arrival-container__pJ-Iw","radio-textbutton-label":"styles_radio-textbutton-label__h-zfy","first-radio":"styles_first-radio__FWNoD","radio-textbutton":"styles_radio-textbutton__tsKET","departure-now-button":"styles_departure-now-button__VKMMK","open-button":"styles_open-button__c2B-6","close-button":"styles_close-button__2mfgI","right-edge":"styles_right-edge__29UYw","combobox-container":"styles_combobox-container__CLY9U","combobox-icon":"styles_combobox-icon__-0XPH","date-input-icon":"styles_date-input-icon__KMrj1","time-input-icon":"styles_time-input-icon__qkhC7","datetimepicker-select-container":"styles_datetimepicker-select-container__EVW1l","picker-container":"styles_picker-container__V02r4","combobox-mobile-container":"styles_combobox-mobile-container__u2DSO","mobile-modal-overlay":"styles_mobile-modal-overlay__8vF8L","mobile-modal-content":"styles_mobile-modal-content__fWRgy","top-row":"styles_top-row__h8xy1","modal-title":"styles_modal-title__EA3YD","tab-row":"styles_tab-row__orgwh","radio-tab-label":"styles_radio-tab-label__vIfup","input-row":"styles_input-row__2XXEY","input-container":"styles_input-container__USZlF","time-input-mobile":"styles_time-input-mobile__6e4A5","mobile-input-display":"styles_mobile-input-display__VUMd0","mobile-input-hidden":"styles_mobile-input-hidden__2KIuK",container:"styles_container__ihyhz",suggestion:"styles_suggestion__ZczJa",suggestionHighlighted:"styles_suggestionHighlighted__fzLiW",suggestionsContainerOpen:"styles_suggestionsContainerOpen__ISHXi",input:"styles_input__PAfbH","buttons-row":"styles_buttons-row__-3wsn","ready-button":"styles_ready-button__dH7Qc"};function F({value:e,onChange:t,getDisplay:o,timeChoices:l,id:a,label:r,icon:s,disableTyping:d,timeZone:c,datePicker:u,translationSettings:p}){i.Settings.defaultZone=c;const[m,f]=n.useState(o(e)),[y,g]=n.useState(!1),[w,v]=n.useState(!0),[E,F]=n.useState(!1);n.useEffect((()=>{f(o(e)),u||F(!1)}),[e]);const S=e=>{const n=Number(e);try{i.DateTime.fromMillis(n)}catch(e){return}t(n)};const P=l.map((e=>({value:e.toString(),label:o(e)}))),T=u?P:P.filter((e=>e.label.split(":")[1]%15==0)),D=T.length>0?null==T?void 0:T.reduce(((t,n)=>Math.abs(e-t.value)<Math.abs(e-n.value)?t:n)):void 0,G=`${a}-input`,W=`${a}-label`,$=b.default.t("invalid-input",p);return _.default.createElement("label",{className:R["combobox-container"],htmlFor:G},_.default.createElement("span",{className:R["sr-only"],id:W},r," ",m),s,_.default.createElement(h.default,{"aria-labelledby":W,ariaLiveMessages:{guidance:e=>void 0===e.isDisabled&&E?$:".",onChange:()=>"",onFilter:()=>"",onFocus:({context:e,label:t})=>"menu"===e?t:""},options:P,inputId:G,onChange:t=>{const n=i.DateTime.fromMillis(e).toFormat("HH:mm"),l=C(m,e);if(y)return null!==l?(n!==m&&t.value===e?S(l):S(t.value),g(!1)):(t.value!==e?S(t.value):f(o(e)),g(!1)),void(u||F(!1));u||F(!1),S(t.value)},components:{IndicatorsContainer:()=>null},className:x.default(R["datetimepicker-select-container"],E&&"datetimepicker-invalid-input"),classNamePrefix:"datetimepicker-select",onInputChange:(e,{action:t})=>{if("menu-close"===t?v(!0):w&&v(!1),!(d||e&&!function(e){if(e.length<(null==m?void 0:m.length)){const t=N(e);return F(!t),!0}if(/[a-zA-Z§ÄäÖö.-\s]/g.test(e))return!1;const t=N(e.length>5?e.slice(0,-1):e);return F(!t),e.length<=5}(e))&&"input-change"===t){const t=k(e);f(t),g(!0)}},inputValue:!d&&m,value:D,noOptionsMessage:()=>"",filterOption:(e,t)=>{var n;if(u)return!0;const i=5===t.length||4===t.length&&1===t.split(":")[0].length,o=e.label.split(":")[1]%15==0,l=1===(null===(n=t.split(":")[1])||void 0===n?void 0:n.length);if(w&&o)return!0;if(l){const n=1===t.split(":")[0].length?"0".concat(t.split(":")[0]):t.split(":")[0],i=t.split(":")[1],o=e.label.split(":")[0],l=e.label.split(":")[1];if(n===o){const e=10*Number(i),t=Number(l)-e;return t>=0&&t<=9}}return i&&!w?4===t.length?"0".concat(t)===e.label:t===e.label:!!o&&((e,t)=>{const n=t.length<=2?t:t.split(":")[0],i=/^([0-1]?[0-9]|2[0-3])$/.test(n),o=1===n.length?"0".concat(t):t;return!i||e.label.split(":")[0]===o.split(":")[0]})(e,t)},controlShouldRenderValue:d,tabSelectsValue:!1,placeholder:"",onFocus:e=>{d||e.target.select()},onBlur:()=>{if(y){const t=C(m,e);null!==t?(S(t),g(!1)):(f(o(e)),g(!1))}u||F(!1)},onKeyDown:e=>{["ArrowDown","ArrowUp"].includes(e.key)&&g(!1)},isSearchable:!d}))}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".styles_sr-only__BrzYQ:not(:focus, :active) {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n\n.styles_dt-datetimepicker__PtoFG {\n border: none;\n padding: 0;\n margin: 0;\n font-size: 15px;\n font-weight: var(--font-weight-medium); }\n .styles_dt-datetimepicker__PtoFG button,\n .styles_dt-datetimepicker__PtoFG label {\n font-size: 1em;\n font-weight: inherit; }\n .styles_dt-datetimepicker__PtoFG label button {\n cursor: pointer;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif; }\n .styles_dt-datetimepicker__PtoFG .styles_hidden__6ySER {\n display: none; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-open-container__1dVr5 {\n background-color: #f2f5f7;\n border-radius: 5px;\n padding: 15px; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL {\n display: flex;\n flex-wrap: wrap; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL.styles_closed__Fqe1r {\n margin: 11px 0 6px 18px; }\n @media screen and (max-width: 319px) {\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL {\n margin-left: 14px; } }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_time-icon__ntgLZ svg {\n width: 18px;\n height: 19px; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_dropdown-icon__diYYB {\n margin-left: 9px;\n position: relative;\n top: 1px; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_dropdown-icon__diYYB svg {\n width: 14px;\n height: 10px; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_close-icon__-MzK5 svg {\n width: 12px;\n height: 12px;\n border-radius: 1px; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_close-icon__-MzK5 svg path {\n stroke-width: 30; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL label {\n cursor: pointer; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL label.styles_label-open__Gmvov {\n align-items: flex-start;\n display: flex; }\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL button,\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL label {\n font-size: 1em;\n letter-spacing: -0.5px;\n line-height: 1; }\n .styles_dt-datetimepicker__PtoFG .styles_textbutton__T7wS2 {\n margin-left: 9px;\n margin-top: 1px;\n background: none;\n border: none;\n color: #666;\n padding: 0; }\n @media screen and (min-width: 768px) {\n .styles_dt-datetimepicker__PtoFG .styles_textbutton__T7wS2 {\n margin-left: 14px; } }\n .styles_dt-datetimepicker__PtoFG .styles_textbutton__T7wS2.styles_active__4L82E {\n color: var(--color); }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-left__Sp4kh {\n position: relative;\n margin-right: 4px;\n width: 63%; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-right__Hg8kN {\n position: relative;\n margin-left: 4px;\n width: 37%; }\n .styles_dt-datetimepicker__PtoFG .styles_departure-or-arrival-container__pJ-Iw {\n height: calc(1rem + 20px);\n background-color: #ddd;\n border-radius: 8px;\n display: flex;\n width: calc(5px + 13em); }\n .styles_dt-datetimepicker__PtoFG .styles_radio-textbutton-label__h-zfy {\n color: #333;\n margin: 2px;\n background: none;\n border-radius: 6px;\n padding: 9px 0;\n width: 50%;\n cursor: pointer;\n height: calc(1rem + 16px);\n text-align: center;\n font-weight: 400;\n font-size: 15px;\n line-height: 18px;\n letter-spacing: -0.03em; }\n .styles_dt-datetimepicker__PtoFG .styles_radio-textbutton-label__h-zfy.styles_active__4L82E {\n font-weight: 500;\n background: white; }\n .styles_dt-datetimepicker__PtoFG .styles_radio-textbutton-label__h-zfy:focus-within {\n /* First apply outline that is used in Edge and Firefox */\n outline: 1px dotted #212121;\n /* Then override outline for webkit browsers like Chrome, this has no effect on other browsers */\n outline: 5px auto -webkit-focus-ring-color;\n /* stylelint-disable-line declaration-block-no-duplicate-properties */ }\n .styles_dt-datetimepicker__PtoFG .styles_radio-textbutton-label__h-zfy.styles_first-radio__FWNoD {\n margin: 0;\n display: flex;\n align-items: flex-start; }\n .styles_dt-datetimepicker__PtoFG .styles_radio-textbutton__tsKET {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n .styles_dt-datetimepicker__PtoFG .styles_departure-now-button__VKMMK {\n font-family: inherit;\n letter-spacing: -0.02em;\n height: calc(1rem + 18px);\n color: var(--color);\n padding: 8px 0;\n width: 6.6875rem;\n background: white;\n border: 1px solid #888;\n border-radius: 30px;\n margin-left: 11px; }\n .styles_dt-datetimepicker__PtoFG .styles_open-button__c2B-6 {\n display: flex;\n margin-bottom: 0;\n margin-top: -1px;\n padding: 2px 0 2px 0; }\n .styles_dt-datetimepicker__PtoFG button.styles_close-button__2mfgI {\n transition: transform 0.2s;\n position: relative;\n top: -8px;\n right: -8px;\n border: 0;\n font-weight: normal;\n background: none;\n color: var(--color);\n padding: 0;\n line-height: normal; }\n .styles_dt-datetimepicker__PtoFG button.styles_close-button__2mfgI:hover {\n transform: scale(1.2); }\n .styles_dt-datetimepicker__PtoFG .styles_right-edge__29UYw {\n margin-left: auto;\n margin-right: 0;\n position: relative;\n top: -2px; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-container__CLY9U {\n cursor: pointer; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH {\n color: var(--color);\n height: 40px;\n position: absolute;\n z-index: 7;\n pointer-events: none; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH.styles_date-input-icon__KMrj1 {\n display: flex;\n align-items: center;\n padding: 0;\n margin-left: 14px; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH.styles_date-input-icon__KMrj1 svg {\n width: 20px;\n height: 18px; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH.styles_time-input-icon__qkhC7 {\n display: flex;\n align-items: center;\n padding: 0;\n margin-left: 8px; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH.styles_time-input-icon__qkhC7 svg {\n margin-top: 1px;\n width: 22px;\n height: 22px; }\n .styles_dt-datetimepicker__PtoFG .datetimepicker-invalid-input input {\n color: #f00 !important; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l {\n position: relative;\n height: 40px; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__control {\n cursor: inherit;\n height: 40px;\n border: 1px solid #888; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__value-container {\n padding: 0; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__single-value {\n margin: 0 0 0 47px; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__input {\n background: inherit;\n position: relative;\n margin-left: 40px; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__input input {\n opacity: 1 !important;\n background: inherit;\n box-shadow: none;\n font-stretch: normal;\n font-style: normal;\n line-height: 1.33;\n letter-spacing: -0.5px;\n color: #333;\n font-family: inherit;\n font-size: 15px;\n font-weight: var(--font-weight-medium); }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__input input:focus {\n box-shadow: none;\n outline: none;\n border: none; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__menu {\n z-index: 19;\n padding: 0;\n background: #fff;\n max-height: 250px;\n border-radius: 5px;\n box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.06);\n border: 1px rgba(0, 0, 0, 0.1) solid; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__menu .datetimepicker-select__menu-list {\n max-height: 250px;\n padding: 0; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__menu .datetimepicker-select__menu-list .datetimepicker-select__option {\n height: 50px;\n border-top: 1px solid #ddd;\n padding: 13px 0 0 12px;\n letter-spacing: -0.6px;\n color: #333; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__menu .datetimepicker-select__menu-list .datetimepicker-select__option--is-selected {\n background: inherit; }\n .styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__menu .datetimepicker-select__menu-list .datetimepicker-select__option--is-focused {\n background: #dfe5e8; }\n .styles_dt-datetimepicker__PtoFG .styles_picker-container__V02r4 {\n margin: 14px 0 0 0;\n display: flex; }\n .styles_dt-datetimepicker__PtoFG .styles_combobox-mobile-container__u2DSO {\n flex-grow: 1; }\n\n.styles_mobile-modal-overlay__8vF8L {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.6);\n z-index: 1000; }\n\n.styles_mobile-modal-content__fWRgy {\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif;\n background: white;\n width: 89%;\n position: absolute;\n left: 5.5%;\n padding: 31px 20px 33px 20px;\n top: 80px;\n border-radius: 5px; }\n .styles_mobile-modal-content__fWRgy .styles_top-row__h8xy1 {\n display: flex;\n justify-content: space-between;\n margin-bottom: 21px; }\n .styles_mobile-modal-content__fWRgy .styles_top-row__h8xy1 .styles_modal-title__EA3YD {\n font-weight: var(--font-weight-medium);\n font-size: 20px;\n line-height: 18px;\n letter-spacing: -0.5px;\n color: #333;\n padding: 6px 0 0 8px; }\n .styles_mobile-modal-content__fWRgy .styles_top-row__h8xy1 .styles_departure-now-button__VKMMK {\n background-color: white;\n font-family: inherit;\n padding: 5px 15px;\n border: 1px solid #888;\n border-radius: 50px;\n font-weight: var(--font-weight-medium);\n font-size: 15px;\n line-height: 18px;\n letter-spacing: -0.02em;\n color: var(--color); }\n .styles_mobile-modal-content__fWRgy .styles_tab-row__orgwh {\n display: flex;\n border: 2px solid #ddd;\n border-radius: 5px;\n margin-bottom: 16px;\n background-color: #ddd; }\n .styles_mobile-modal-content__fWRgy .styles_tab-row__orgwh .styles_radio-tab-label__vIfup {\n padding: 9px 0;\n font-size: 15px;\n line-height: 18px;\n letter-spacing: -0.5px;\n border-radius: 3px;\n font-weight: normal;\n width: 50%;\n text-align: center;\n color: #333; }\n .styles_mobile-modal-content__fWRgy .styles_tab-row__orgwh .styles_radio-tab-label__vIfup.styles_active__4L82E {\n font-weight: var(--font-weight-medium);\n background-color: #fff; }\n .styles_mobile-modal-content__fWRgy .styles_tab-row__orgwh .styles_radio-textbutton__tsKET {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY {\n display: flex;\n margin-bottom: 25px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY label:first-child {\n flex-basis: 60%;\n margin-right: 10px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY label:nth-child(2) {\n flex-basis: 40%; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF {\n border: 1px solid #888;\n border-radius: 5px;\n display: flex;\n align-items: center;\n height: 40px;\n line-height: 1.5;\n font-size: 100%; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF:focus-within {\n background: rgba(0, 122, 201, 0.06);\n border: 2px solid var(--color); }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_combobox-icon__-0XPH {\n height: 18px;\n font-size: 18px;\n padding: 0 0 0 10px;\n border: none;\n position: relative;\n top: 3px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_combobox-icon__-0XPH.styles_time-input-icon__qkhC7 > svg {\n height: 20px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .mobile-datetimepicker-invalid-input {\n color: #f00 !important; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_time-input-mobile__6e4A5 {\n font-family: inherit;\n box-shadow: none;\n font-size: 18px;\n letter-spacing: -0.5px;\n line-height: 20px;\n font-weight: var(--font-weight-medium);\n border: none;\n outline: none;\n background: none;\n width: 50px;\n margin-left: 10px;\n color: #333;\n height: 1.5265rem; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_mobile-input-display__VUMd0 {\n position: relative;\n left: 10px;\n border: none;\n background: inherit;\n box-shadow: none;\n font-family: inherit;\n font-weight: var(--font-weight-medium);\n font-stretch: normal;\n font-style: normal;\n font-size: 16px;\n line-height: 1.33;\n letter-spacing: -0.5px;\n color: #333; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_mobile-input-display__VUMd0:focus {\n outline: none;\n box-shadow: none;\n background: none; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_mobile-input-hidden__2KIuK {\n font-size: 16px;\n margin-bottom: 12px;\n height: 0;\n width: 0;\n background: inherit;\n color: transparent;\n outline: none;\n box-shadow: none;\n border: none; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_mobile-input-hidden__2KIuK:focus {\n outline: none;\n box-shadow: none; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz {\n position: absolute;\n width: calc((100% - 50px) * 0.6);\n height: 25px;\n font-size: 15px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_suggestion__ZczJa {\n list-style: none;\n font-size: 16px;\n font-style: normal;\n font-weight: normal;\n line-height: 49px;\n height: 50px;\n margin: 0;\n padding: 0 0 0 16px;\n color: rgba(0, 0, 0, 0.87);\n background: white; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_suggestionHighlighted__fzLiW {\n background: #dfe5e8; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_suggestionsContainerOpen__ISHXi {\n position: absolute;\n z-index: 19;\n max-height: 250px;\n overflow-x: hidden;\n overflow-y: scroll;\n border-radius: 5px;\n box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.06);\n border: 1px rgba(0, 0, 0, 0.1) solid;\n top: 42px;\n left: -2px;\n width: 100%;\n font-size: 16px;\n line-height: 1;\n color: rgba(0, 0, 0, 0.87); }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_suggestionsContainerOpen__ISHXi ul {\n padding: 0;\n margin: 0; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_input__PAfbH {\n box-shadow: none;\n border: none;\n background: none;\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n height: 25px;\n display: inline-block;\n font-family: inherit;\n line-height: 1.33;\n padding-left: 46px; }\n .styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_input__PAfbH:focus {\n outline: none;\n border: none;\n background: none; }\n .styles_mobile-modal-content__fWRgy .styles_buttons-row__-3wsn {\n display: flex;\n flex-direction: column;\n font-size: 16px;\n font-weight: var(--font-weight-medium); }\n .styles_mobile-modal-content__fWRgy .styles_buttons-row__-3wsn button {\n background-color: white;\n font-family: inherit;\n font-weight: var(--font-weight-medium);\n font-size: 16px;\n letter-spacing: -0.02em;\n width: 100%;\n border-radius: 50px;\n height: 40px;\n color: var(--color);\n border: 1px solid #888; }\n .styles_mobile-modal-content__fWRgy .styles_buttons-row__-3wsn button.styles_ready-button__dH7Qc {\n color: white;\n background-color: var(--color);\n border: none;\n margin-bottom: 10px; }\n"),"production"!==process.env.NODE_ENV&&(F.propTypes={value:m.default.number.isRequired,onChange:m.default.func.isRequired,getDisplay:m.default.func.isRequired,timeChoices:m.default.arrayOf(m.default.number).isRequired,id:m.default.string.isRequired,label:m.default.node.isRequired,icon:m.default.node.isRequired,disableTyping:m.default.bool,timeZone:m.default.string,datePicker:m.default.bool,translationSettings:m.default.shape({lng:m.default.string.isRequired})}),F.defaultProps={disableTyping:!1,timeZone:"Europe/Helsinki",datePicker:!1,translationSettings:{lng:"fi"}};const S={de:{today:"Heute",tomorrow:"Morgen","accessible-close":"Schließe die Auswahl","accessible-closed":"Auswahl geschlossen","accessible-open":"Öffne die Auswahl","accessible-opened":"Auswahl geöffnet","accessible-title":"Datum und Uhrzeitauswahl",arrival:"Ankunft",date:"Datum",departure:"Abfahrt","departure-now":"Abfahrt jetzt","choose-time":"Zeit wählen",ready:"Fertig",time:"Zeit",cancel:"Abbrechen"},en:{today:"Today",tomorrow:"Tomorrow","accessible-close":"Close the picker","accessible-closed":"Timepicker closed","accessible-open":"Open the picker","accessible-opened":"Timepicker opened","accessible-title":"Date and timepicker","accessible-update-instructions":"Changing time parameters will trigger a new search.",arrival:"Arrival",date:"Date",departure:"Departure","departure-now":"Leaving now",time:"Time","choose-time":"Choose time",ready:"Ready",cancel:"Cancel","invalid-input":"The time you entered is invalid"},fi:{today:"Tänään",tomorrow:"Huomenna","accessible-close":"Sulje valitsin","accessible-closed":"Valitsin suljettu","accessible-open":"Avaa valitsin","accessible-opened":"Valitsin avattu","accessible-title":"Aika- ja päivämäärävalitsin","accessible-update-instructions":"Aikavalintojen muuttaminen laukaisee uuden haun.",arrival:"Perillä",date:"Päivä",departure:"Lähtöaika","departure-now":"Lähtö nyt",time:"Aika","choose-time":"Valitse aika",ready:"Valmis",cancel:"Peruuta","invalid-input":"Syöttämäsi aika on virheellinen"},pl:{today:"Dziś",tomorrow:"Jutro","accessible-close":"Zamknij wybornik","accessible-closed":"Zamknięto wybornik","accessible-open":"Otwórz wybornik","accessible-opened":"Otwarto wybornik","accessible-title":"Wybór daty i godziny","accessible-update-instructions":"Zmiana wybranej godziny wywoła nowe wyszukiwanie.",arrival:"Przyjazd",date:"Data",departure:"Wyjazd","departure-now":"Wyjeżdżam teraz",time:"Godzina","choose-time":"Wybierz godzinę",ready:"Gotowe",cancel:"Anuluj","invalid-input":"Wprowadzona godzina jest nieprawidłowa"},sv:{today:"I dag",tomorrow:"I morgon","accessible-close":"Stäng väljaren","accessible-closed":"Väljaren stängde","accessible-open":"Öppna väljaren","accessible-opened":"Väljaren öppnade","accessible-title":"Tid- och datumväljaren","accessible-update-instructions":"Om du ändrar tiderna, startas en ny sökning automatiskt.",arrival:"Anländer",date:"Datum",departure:"Avgångstid","departure-now":"Avgår nu",time:"Tid","choose-time":"Välj tid",ready:"Färdig",cancel:"Avbryt","invalid-input":"Tiden du angav är felaktig"}};function P(){const e=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)}const T=["ref"];function D({value:e,getDisplay:t,onChange:o,itemCount:l,startTime:a,id:r,label:s,icon:d,timeZone:c}){i.Settings.defaultZone=c;const[u,p]=n.useState(!1),m=n.useRef(null),f=Array(l).fill().map(((e,t)=>i.DateTime.fromMillis(a).plus({days:t}).toMillis())),y=f.map((t=>e-t)).findIndex((e=>e<6e4));n.useLayoutEffect((()=>{u&&m.current&&(m.current.scrollTop=50*y)}),[e,u]);const b=!(navigator.userAgent.toLowerCase().indexOf("android")>-1),g=`${r}-input`,h=`${r}-label`;return _.default.createElement("label",{className:R["input-container"],htmlFor:g},_.default.createElement("span",null,d),_.default.createElement("span",{className:R["sr-only"],id:h},s),b?_.default.createElement("select",{className:R["mobile-input-display"],onChange:e=>o(Number(e.target.value)),value:e},f.map((e=>_.default.createElement("option",{key:e,value:e},t(e))))):_.default.createElement(v.default,{id:r,suggestions:f,getSuggestionValue:e=>e.toString(),renderSuggestion:e=>t(e),onSuggestionsFetchRequested:()=>null,shouldRenderSuggestions:()=>!0,inputProps:{value:t(e),onChange:(e,{newValue:t})=>{o(Number(t))},onFocus:()=>{p(!0)},onBlur:()=>{p(!1)},"aria-labelledby":h,"aria-autocomplete":"none",readOnly:!0},focusInputOnSuggestionClick:!1,onSuggestionsClearRequested:()=>null,renderSuggestionsContainer:({containerProps:e,children:t})=>{const{ref:n}=e,i=function(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;n[i]=e[i]}return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i<l.length;i++)n=l[i],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,T);return _.default.createElement("div",Object.assign({tabIndex:"-1"},i,{ref:e=>{e&&(m.current=e,n(e))}}),t)},theme:R}))}function G({value:e,getDisplay:t,onChange:o,id:l,label:a,icon:r,timeZone:s}){const[d,c]=n.useState(t(e)),[u,p]=n.useState(!0);i.Settings.defaultZone=s;const m=`${l}-input`,f=`${l}-label`,y=n.useRef(null);n.useLayoutEffect((()=>{y.current&&y.current.focus()}),[]);const b=!u;return _.default.createElement("label",{className:R["input-container"],htmlFor:m},_.default.createElement("span",null,r),_.default.createElement("span",{className:R["sr-only"],id:f},a),_.default.createElement("input",{id:m,inputMode:"numeric",type:"text",maxLength:"6",className:x.default(R["time-input-mobile"],b&&"mobile-datetimepicker-invalid-input"),value:d,onFocus:e=>{e.target.setSelectionRange(0,0)},onChange:t=>{let n=t.target.value.replace(".",":");const i=N(n);if(p(i),n.match(/[0-9]{3}:[0-9]{2}/)&&n.slice(1)===d&&(n=n.charAt(0)),n.length>5)return;const l=k(n);c(l);const a=C(l,e);a&&o(a)},ref:y}))}function W({departureOrArrival:e,onNowClick:t,lang:o,color:l,timeZone:a,onSubmit:r,onCancel:s,timestamp:d,getTimeDisplay:c,dateSelectItemCount:u,getDateDisplay:p,fontWeights:m}){i.Settings.defaultZone=a;const f={lng:o},[h,x]=n.useState(d),[v,k]=n.useState(e);const[E]=n.useState(y.default("datetimepicker-")),N=i.DateTime.now().startOf("day").set({hour:i.DateTime.fromMillis(h).hour,minute:i.DateTime.fromMillis(h).minute}).toMillis();return _.default.createElement(w.default,{appElement:document?document.querySelector("#app"):void 0,isOpen:!0,className:R["mobile-modal-content"],overlayClassName:R["mobile-modal-overlay"]},_.default.createElement("div",{style:{"--color":`${l}`,"--font-weight-medium":m.medium}},_.default.createElement("div",{className:R["top-row"]},_.default.createElement("h3",{className:R["modal-title"]},b.default.t("choose-time",f)),_.default.createElement("button",{type:"button",className:R["departure-now-button"],onClick:t},b.default.t("departure-now",f))),_.default.createElement("div",{className:R["tab-row"]},_.default.createElement("label",{htmlFor:`${E}-modal-departure`,className:`${R["radio-tab-label"]}\n ${R["departure"===v?"active":void 0]}`},b.default.t("departure",f),_.default.createElement("input",{id:`${E}-modal-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:R["radio-textbutton"],onChange:()=>{k("departure")},checked:"departure"===v})),_.default.createElement("label",{htmlFor:`${E}-modal-arrival`,className:`${R["radio-tab-label"]}\n ${R["arrival"===v?"active":void 0]}`},b.default.t("arrival",f),_.default.createElement("input",{id:`${E}-modal-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:R["radio-textbutton"],onChange:()=>{k("arrival")},checked:"arrival"===v}))),_.default.createElement("div",{className:R["input-row"]},_.default.createElement(D,{value:h,getDisplay:p,onChange:x,itemCount:u,startTime:N,id:`${E}-date`,label:b.default.t("date",f),icon:_.default.createElement("span",{className:`${R["combobox-icon"]} ${R["date-input-icon"]}`},_.default.createElement(g.default,{img:"calendar",color:l})),timeZone:a}),_.default.createElement(G,{value:h,getDisplay:c,onChange:x,id:`${E}-time`,label:b.default.t("time",f),icon:_.default.createElement("span",{className:`${R["combobox-icon"]} ${R["time-input-icon"]}`},_.default.createElement(g.default,{img:"time",color:l})),timeZone:a})),_.default.createElement("div",{className:R["buttons-row"]},_.default.createElement("button",{type:"button",className:R["ready-button"],onClick:()=>r(h,v)},b.default.t("ready",f)),_.default.createElement("button",{type:"button",className:R["cancel-button"],onClick:s},b.default.t("cancel",f)))))}function $({timestamp:e,onTimeChange:t,onDateChange:o,departureOrArrival:l,onNowClick:a,onDepartureClick:r,onArrivalClick:s,embedWhenClosed:d,embedWhenOpen:c,lang:u,color:p,timeZone:m,onModalSubmit:f,fontWeights:h,serviceTimeRange:x,onOpen:w,onClose:v,openPicker:k}){i.Settings.defaultZone=m;const[E,N]=n.useState(k||!1),[C,T]=n.useState(e||i.DateTime.now().toMillis()),[D,G]=n.useState(null),[$]=n.useState(y.default("datetimepicker-")),[q]=n.useState(P()&&function(){if("undefined"==typeof window||null===window)return!1;const e=document.createElement("input");return e.type="date","date"===e.type&&(e.type="time","time"===e.type)}()),O=n.useRef(),X=n.useRef(),M=n.useRef(),z={lng:u};n.useEffect((()=>{Object.keys(S).forEach((e=>b.default.addResourceBundle(e,"translation",S[u])))}),[]),n.useEffect((()=>{i.Settings.defaultLocale=u}),[u]);const A=null===e;n.useEffect((()=>{A?T(i.DateTime.now().toMillis()):(D&&(clearInterval(D),G(null)),T(e))}),[e]),n.useEffect((()=>{if(!A)return;D&&clearInterval(D);const e=setInterval((()=>{const t=i.DateTime.now();i.DateTime.fromMillis(C).hasSame(t,"minute")||(clearInterval(e),G(null),T(t.toMillis()))}),5e3);return G(e),()=>clearInterval(e)}),[C]);const Z=n.useRef();n.useEffect((()=>{Z.current=E}));const L=e=>{const t=i.DateTime.fromMillis(e),n=i.DateTime.now();let o;return t.hasSame(n,"day")?(o=b.default.t("today",z),o=`${o.charAt(0).toUpperCase()}${o.slice(1)}`):t.hasSame(n.plus({days:1}),"day")?(o=b.default.t("tomorrow",z),o=`${o.charAt(0).toUpperCase()}${o.slice(1)}`):o=t.toFormat("ccc d.L."),o},j=e=>i.DateTime.fromMillis(e).toFormat("HH:mm"),[V,I]=n.useMemo((()=>{const t=i.DateTime.fromMillis(e||i.DateTime.now().toMillis()),n=t.startOf("day").toMillis(),o=P();let l=[],a=t.startOf("day");for(;a.hasSame(n,"day");)l.push(a.valueOf()),a=o?a.plus({minutes:15}):a.plus({minutes:1});if(null===e){const e=3e5,t=Math.ceil(C/e)*e,n=Array(7).fill().map(((n,i)=>t+i*e)),i=l.map((e=>C-e)).findIndex((e=>e<=0));l.splice(i,0,...n),l=Array.from(new Set(l))}const r=i.DateTime.now().startOf("day").set({hour:t.hour,minute:t.minute});return[l,Array(x).fill().map(((e,t)=>r.plus({days:t}).toMillis()))]}),[e]);function H(){M.current&&(M.current.innerHTML=b.default.t("accessible-closed",z),setTimeout((()=>{M.current.innerHTML=null}),100))}return _.default.createElement("fieldset",{className:R["dt-datetimepicker"],id:`${$}-root`,style:{"--color":`${p}`,"--font-weight-medium":h.medium}},_.default.createElement("legend",{className:R["sr-only"]},b.default.t("accessible-title",z)),_.default.createElement("span",{className:R["sr-only"]},b.default.t("accessible-update-instructions",z)),_.default.createElement("div",{className:E?`${R.hidden} datetimepicker-top-row`:`${R["top-row-container"]} ${R.closed} datetimepicker-top-row`},_.default.createElement("label",{className:R["label-open"],htmlFor:`${$}-open`},_.default.createElement("span",{className:R["time-icon"]},_.default.createElement(g.default,{img:"time",color:p})),_.default.createElement("span",{className:R["sr-only"]},b.default.t("accessible-open",z)),_.default.createElement("span",{role:"alert",className:R["sr-only"],ref:M}),_.default.createElement("button",{id:`${$}-open`,type:"button",className:`${R.textbutton} ${R.active} ${R["open-button"]}`,"aria-controls":`${$}-root`,"aria-expanded":"false",onClick:()=>{N(!0),M.current&&(M.current.innerHTML=b.default.t("accessible-opened",z),setTimeout((()=>{M.current.innerHTML=null}),100)),w&&w()},ref:O},(()=>{if(A&&"departure"===l)return _.default.createElement("span",null,b.default.t("departure-now",z));const e=L(C),t=j(C),n=b.default.t("departure"===l?"departure":"arrival",z),o=i.DateTime.now().hasSame(i.DateTime.fromMillis(C),"day"),a=i.DateTime.now().plus({days:1}).hasSame(i.DateTime.fromMillis(C),"day");return o?_.default.createElement("span",null,`${n} ${t}`):a?_.default.createElement("span",null,`${n} ${e.toLowerCase()} ${t}`):_.default.createElement("span",null,`${n} ${e} ${t}`)})(),_.default.createElement("span",{className:R["dropdown-icon"]},_.default.createElement(g.default,{img:"arrow-dropdown",color:p})))),_.default.createElement("span",{className:R["right-edge"]},d)),_.default.createElement("div",null),q?E&&_.default.createElement(W,{departureOrArrival:l,onNowClick:()=>{N(!1),H(),a()},lang:u,color:p,onSubmit:(e,t)=>{f(e,t),N(!1),H()},onCancel:()=>{N(!1),H(),v&&v()},getTimeDisplay:j,timeZone:m,timestamp:C,getDateDisplay:L,dateSelectItemCount:x,getDisplay:j,fontWeights:h}):_.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:`${R["datetimepicker-open-container"]} ${E?"":R.hidden}`},_.default.createElement("div",{className:E?`${R["top-row-container"]} datetimepicker-top-row`:`${R.hidden} datetimepicker-top-row`}," ",_.default.createElement("span",{role:"alert",className:R["sr-only"],ref:M}),_.default.createElement("span",null),_.default.createElement("span",{className:R["departure-or-arrival-container"]},_.default.createElement("label",{htmlFor:`${$}-departure`,className:`${R["radio-textbutton-label"]}\n ${R["departure"===l?"active":void 0]}`},b.default.t("departure",z),_.default.createElement("input",{id:`${$}-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:R["radio-textbutton"],onChange:()=>{r()},checked:"departure"===l})),_.default.createElement("label",{htmlFor:`${$}-arrival`,className:`${R["radio-textbutton-label"]}\n ${R["arrival"===l?"active":void 0]}`},b.default.t("arrival",z),_.default.createElement("input",{id:`${$}-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:R["radio-textbutton"],onChange:()=>{s()},checked:"arrival"===l}))),_.default.createElement("button",{id:`${$}-now`,type:"button",className:R["departure-now-button"],onClick:()=>{N(!1),H(),v&&v(),a()},ref:X},b.default.t("departure-now",z)),_.default.createElement("span",{className:R["right-edge"]},_.default.createElement("button",{type:"button",className:R["close-button"],"aria-controls":`${$}-root`,"aria-expanded":"true",onClick:()=>{N(!1),H(),v&&v()}},_.default.createElement("span",{className:R["close-icon"]},_.default.createElement(g.default,{img:"close",color:p})),_.default.createElement("span",{className:R["sr-only"]},b.default.t("accessible-close",z))))),_.default.createElement("div",{className:E?`${R["picker-container"]}`:`${R.hidden} datetimepicker-top-row`},_.default.createElement("span",{className:R["combobox-left"]},_.default.createElement(F,{value:C,onChange:e=>{o(e)},getDisplay:L,timeChoices:I,validate:()=>null,icon:_.default.createElement("span",{className:`${R["combobox-icon"]} ${R["date-input-icon"]}`},_.default.createElement(g.default,{img:"calendar",color:p})),id:`${$}-date`,label:b.default.t("date",z),disableTyping:!0,timeZone:m,datePicker:!0})),_.default.createElement("span",{className:R["combobox-right"]},_.default.createElement(F,{value:C,onChange:e=>{t(e)},getDisplay:j,timeChoices:V,icon:_.default.createElement("span",{className:`${R["combobox-icon"]} ${R["time-input-icon"]}`},_.default.createElement(g.default,{img:"time",color:p})),id:`${$}-time`,label:b.default.t("time",z),timeZone:m,translationSettings:z})))),_.default.createElement("span",{className:E?"":R.hidden},c),_.default.createElement("div",{className:E?"datetimepicker-bottom-row-open":""})))}function q({realtime:e,initialArriveBy:t,initialTimestamp:o,onDepartureClick:l,onArrivalClick:a,onTimeChange:r,onDateChange:s,onNowClick:d,embedWhenClosed:c,embedWhenOpen:u,lang:p,color:m,timeZone:y,fontWeights:b,serviceTimeRange:g,onOpen:h,onClose:x,openPicker:w}){i.Settings.defaultLocale=p,i.Settings.defaultZone=y;const v=e?null:i.DateTime.now().toMillis(),[k,E]=n.useState(o?1e3*o:v),[N,C]=n.useState(!0===t?"arrival":"departure");n.useEffect((()=>{const e=null===k&&void 0===o,n=null===k||void 0===o,i=Math.round(k/1e3)===o;!e&&(n||!i)&&E(void 0===o?null:1e3*o),!t==("arrival"===N)&&C(!0===t?"arrival":"departure")}),[o,t]);const R=f.default((e=>{if(null===e)return E(i.DateTime.now().toMillis()),void r(i.DateTime.now().toUnixInteger(),"arrival"===N);E(e),r(Math.round(e/1e3),"arrival"===N)}),10),F=f.default((e=>{if(null===e)return E(i.DateTime.now().toMillis()),void s(i.DateTime.now().toUnixInteger(),"arrival"===N);E(e),s(Math.round(e/1e3),"arrival"===N)}),10);return _.default.createElement($,{timestamp:k,onTimeChange:R,onDateChange:F,departureOrArrival:N,onNowClick:()=>{C("departure");const t=e?null:i.DateTime.now().toMillis();E(t),d(Math.round(t/1e3))},onDepartureClick:()=>{let e=!1,t=k;if(null===k){const n=i.DateTime.now().toMillis();E(n),t=n,e=!0}"departure"!==N&&(C("departure"),e=!0),e&&l(Math.round(t/1e3))},onArrivalClick:()=>{let e=!1,t=k;if(null===k){const n=i.DateTime.now().toMillis();E(n),t=n,e=!0}"arrival"!==N&&(C("arrival"),e=!0),e&&a(Math.round(t/1e3))},embedWhenClosed:c,embedWhenOpen:u,lang:p,color:m,timeZone:y,onModalSubmit:(e,t)=>{E(e),C(t),r(Math.round(e/1e3),"arrival"===t,!0)},fontWeights:b,serviceTimeRange:g,onOpen:h,onClose:x,openPicker:w})}"production"!==process.env.NODE_ENV&&(D.propTypes={value:m.default.number.isRequired,getDisplay:m.default.func.isRequired,onChange:m.default.func.isRequired,itemCount:m.default.number.isRequired,startTime:m.default.number.isRequired,id:m.default.string.isRequired,label:m.default.string.isRequired,icon:m.default.node,dateTimeCombined:m.default.bool,timeZone:m.default.string}),D.defaultProps={icon:null,dateTimeCombined:!1,timeZone:"Europe/Helsinki"},"production"!==process.env.NODE_ENV&&(G.propTypes={value:m.default.number.isRequired,getDisplay:m.default.func.isRequired,onChange:m.default.func.isRequired,id:m.default.string.isRequired,label:m.default.string.isRequired,icon:m.default.node,timeZone:m.default.string}),G.defaultProps={icon:null,timeZone:"Europe/Helsinki"},i.Settings.defaultLocale="en",b.default.init({lng:"en",resources:{}}),Object.keys(S).forEach((e=>b.default.addResourceBundle(e,"translation",S[e]))),"production"!==process.env.NODE_ENV&&(W.propTypes={timeZone:m.default.string,departureOrArrival:m.default.oneOf(["departure","arrival"]).isRequired,onNowClick:m.default.func.isRequired,lang:m.default.string.isRequired,color:m.default.string,onSubmit:m.default.func.isRequired,onCancel:m.default.func.isRequired,timestamp:m.default.number.isRequired,getTimeDisplay:m.default.func.isRequired,dateSelectItemCount:m.default.number.isRequired,getDateDisplay:m.default.func.isRequired,fontWeights:m.default.shape({medium:m.default.number.isRequired}).isRequired}),W.defaultProps={color:"#007ac9",timeZone:"Europe/Helsinki"},i.Settings.defaultLocale="en",b.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),"production"!==process.env.NODE_ENV&&($.propTypes={timestamp:m.default.number,timeZone:m.default.string,onTimeChange:m.default.func.isRequired,onDateChange:m.default.func.isRequired,departureOrArrival:m.default.oneOf(["departure","arrival"]).isRequired,onNowClick:m.default.func.isRequired,onDepartureClick:m.default.func.isRequired,onArrivalClick:m.default.func.isRequired,embedWhenClosed:m.default.node,embedWhenOpen:m.default.node,lang:m.default.string.isRequired,color:m.default.string,onModalSubmit:m.default.func.isRequired,fontWeights:m.default.shape({medium:m.default.number.isRequired}).isRequired,serviceTimeRange:m.default.number.isRequired,onOpen:m.default.func,onClose:m.default.func,openPicker:m.default.bool}),$.defaultProps={timestamp:null,embedWhenClosed:null,embedWhenOpen:null,color:"#007ac9",timeZone:"Europe/Helsinki",onOpen:null,onClose:null,openPicker:void 0},"production"!==process.env.NODE_ENV&&(q.propTypes={realtime:m.default.bool,initialTimestamp:m.default.number,initialArriveBy:m.default.bool,onDepartureClick:m.default.func.isRequired,onArrivalClick:m.default.func.isRequired,onTimeChange:m.default.func.isRequired,onDateChange:m.default.func.isRequired,onNowClick:m.default.func.isRequired,embedWhenClosed:m.default.node,embedWhenOpen:m.default.node,lang:m.default.string,color:m.default.string,timeZone:m.default.string,fontWeights:m.default.shape({medium:m.default.number}),serviceTimeRange:m.default.number,onOpen:m.default.func,onClose:m.default.func,openPicker:m.default.bool}),q.defaultProps={realtime:!1,initialArriveBy:void 0,initialTimestamp:void 0,embedWhenClosed:null,embedWhenOpen:null,lang:"en",color:"#007ac9",timeZone:"Europe/Helsinki",fontWeights:{medium:500},onOpen:null,onClose:null,openPicker:void 0,serviceTimeRange:30},e.default=q,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=index.js.map