@digitransit-component/digitransit-component-datetimepicker 1.1.8 → 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.development.js +2 -2
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +7 -8
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,a,l,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 y=f(t),b=f(n),g=f(i),h=f(a),v=f(s),x=f(d),w=f(u),k=f(c),E=f(p),N=f(_),C=f(m);function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function F(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,a,l,o,r=[],s=!0,d=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(i=l.call(n)).done)&&(r.push(i.value),r.length!==t);s=!0);}catch(e){d=!0,a=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(d)throw a}}return r}}(e,t)||function(e,t){if(e){if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?R(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e){var 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}var P=(e,t)=>{var 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 O(e){if(e.split(":").length>2)return!1;if(e.length<=2)return!0;if(3===e.length){var t,n;if(e.includes(":")){var i=F(e.split(":"),2);t=i[0],n=i[1]}else{if(!e.startsWith("0")){var a=e.split("");if(1===Number(a[0])){var l=[a[0].concat(a[1]),a[2]];t=l[0],n=l[1]}else if(2===Number(a[0]))if(Number(a[1]<=3)){var o=[a[0].concat(a[1]),a[2]];t=o[0],n=o[1]}else{var r=[a[0],a[1].concat(a[2])];t=r[0],n=r[1]}else{var s=[a[0],a[1].concat(a[2])];t=s[0],n=s[1]}return P(t,n)}if(t=e.substring(0,e.length-1),n=e.substring(e.length-1||0),Number(n)>5)return!1}return P(t,n)}if(5===e.length||4===e.length){var d=e.split(":"),u=d[0],c=d[1];return!(e.startsWith("0")&&1===c.length&&Number(c)>5)&&P(u,c)}return!0}var G=(e,t)=>{var n=e.trim();if(null!==n.match(/^[0-9]{1,2}(\.|:)[0-9]{2}$/)){var i=n.includes(".")?".":":",a=n.split(i),l=Number(a[0]),o=!Number.isNaN(l)&&l>=0&&l<=23,r=Number(a[1]);return!Number.isNaN(r)&&r>=0&&r<=59&&o?g.default(t).hours(l).minutes(r).valueOf():null}return null};var W={"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 q(e){var t=e.value,i=e.onChange,a=e.getDisplay,l=e.timeChoices,o=e.id,r=e.label,s=e.icon,d=e.disableTyping,u=e.timeZone,c=e.datePicker,p=e.translationSettings;g.default.tz.setDefault(u);var _=F(n.useState(a(t)),2),m=_[0],f=_[1],y=F(n.useState(!1),2),h=y[0],v=y[1],w=F(n.useState(!0),2),N=w[0],C=w[1],R=F(n.useState(!1),2),P=R[0],q=R[1];n.useEffect((()=>{f(a(t)),c||q(!1)}),[t]);var z=e=>{var t=Number(e);!Number.isNaN(t)&&g.default(t).isValid()&&g.default(t).valueOf()===t&&i(t)};var A=l.map((e=>({value:e.toString(),label:a(e)}))),X=c?A:A.filter((e=>e.label.split(":")[1]%15==0)),$=X.length>0?null==X?void 0:X.reduce(((e,n)=>Math.abs(t-e.value)<Math.abs(t-n.value)?e:n)):void 0,T=`${o}-input`,D=`${o}-label`,Z=x.default.t("invalid-input",p);return b.default.createElement("label",{className:W["combobox-container"],htmlFor:T},b.default.createElement("span",{className:W["sr-only"],id:D},r," ",m),s,b.default.createElement(k.default,{"aria-labelledby":D,ariaLiveMessages:{guidance:e=>void 0===e.isDisabled&&P?Z:".",onChange:()=>"",onFilter:()=>"",onFocus:e=>{var t=e.context,n=e.label;return"menu"===t?n:""}},options:A,inputId:T,onChange:e=>{var n=g.default(t).format("HH:mm"),i=G(m,t);if(h)return null!==i?(n!==m&&e.value===t?z(i):z(e.value),v(!1)):(e.value!==t?z(e.value):f(a(t)),v(!1)),void(c||q(!1));c||q(!1),z(e.value)},components:{IndicatorsContainer:()=>null},className:E.default(W["datetimepicker-select-container"],P&&"datetimepicker-invalid-input"),classNamePrefix:"datetimepicker-select",onInputChange:(e,t)=>{var n=t.action;if("menu-close"===n?C(!0):N&&C(!1),!(d||e&&!function(e){if(e.length<(null==m?void 0:m.length)){var t=O(e);return q(!t),!0}if(/[a-zA-Z§ÄäÖö.-\s]/g.test(e))return!1;var n=O(e.length>5?e.slice(0,-1):e);return q(!n),e.length<=5}(e))&&"input-change"===n){var i=S(e);f(i),v(!0)}},inputValue:!d&&m,value:$,noOptionsMessage:()=>"",filterOption:(e,t)=>{var n;if(c)return!0;var i=5===t.length||4===t.length&&1===t.split(":")[0].length,a=e.label.split(":")[1]%15==0,l=1===(null===(n=t.split(":")[1])||void 0===n?void 0:n.length);if(N&&a)return!0;if(l){var o=1===t.split(":")[0].length?"0".concat(t.split(":")[0]):t.split(":")[0],r=t.split(":")[1],s=e.label.split(":")[0],d=e.label.split(":")[1];if(o===s){var u=10*Number(r),p=Number(d)-u;return p>=0&&p<=9}}return i&&!N?4===t.length?"0".concat(t)===e.label:t===e.label:!!a&&((e,t)=>{var n=t.length<=2?t:t.split(":")[0],i=/^([0-1]?[0-9]|2[0-3])$/.test(n),a=1===n.length?"0".concat(t):t;return!i||e.label.split(":")[0]===a.split(":")[0]})(e,t)},controlShouldRenderValue:d,tabSelectsValue:!1,placeholder:"",onFocus:e=>{d||e.target.select()},onBlur:()=>{if(h){var e=G(m,t);null!==e?(z(e),v(!1)):(f(a(t)),v(!1))}c||q(!1)},onKeyDown:e=>{["ArrowDown","ArrowUp"].includes(e.key)&&v(!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],a=document.createElement("style");a.type="text/css","top"===n&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.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&&(q.propTypes={value:y.default.number.isRequired,onChange:y.default.func.isRequired,getDisplay:y.default.func.isRequired,timeChoices:y.default.arrayOf(y.default.number).isRequired,id:y.default.string.isRequired,label:y.default.node.isRequired,icon:y.default.node.isRequired,disableTyping:y.default.bool,timeZone:y.default.string,datePicker:y.default.bool,translationSettings:y.default.shape({lng:y.default.string.isRequired})}),q.defaultProps={disableTyping:!1,timeZone:"Europe/Helsinki",datePicker:!1,translationSettings:{lng:"fi"}};var z={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 A(){var 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)}function X(e,t){if(null==e)return{};var n,i,a=function(e,t){if(null==e)return{};var n,i,a={},l=Object.keys(e);for(i=0;i<l.length;i++)n=l[i],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i<l.length;i++)n=l[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var $=["ref"];function T(e){var t=e.value,i=e.getDisplay,a=e.onChange,l=e.itemCount,o=e.startTime,r=e.id,s=e.label,d=e.icon,u=e.timeZone;g.default.tz.setDefault(u);var c=F(n.useState(!1),2),p=c[0],_=c[1],m=n.useRef(null),f=Array(l).fill().map(((e,t)=>g.default(o).add(t,"day").valueOf())),y=f.map((e=>t-e)).findIndex((e=>e<6e4));n.useLayoutEffect((()=>{p&&m.current&&(m.current.scrollTop=50*y)}),[t,p]);var h=!(navigator.userAgent.toLowerCase().indexOf("android")>-1),v=`${r}-input`,x=`${r}-label`;return b.default.createElement("label",{className:W["input-container"],htmlFor:v},b.default.createElement("span",null,d),b.default.createElement("span",{className:W["sr-only"],id:x},s),h?b.default.createElement("select",{className:W["mobile-input-display"],onChange:e=>a(Number(e.target.value)),value:t},f.map((e=>b.default.createElement("option",{key:e,value:e},i(e))))):b.default.createElement(C.default,{id:r,suggestions:f,getSuggestionValue:e=>e.toString(),renderSuggestion:e=>i(e),onSuggestionsFetchRequested:()=>null,shouldRenderSuggestions:()=>!0,inputProps:{value:i(t),onChange:(e,t)=>{var n=t.newValue;a(Number(n))},onFocus:()=>{_(!0)},onBlur:()=>{_(!1)},"aria-labelledby":x,"aria-autocomplete":"none",readOnly:!0},focusInputOnSuggestionClick:!1,onSuggestionsClearRequested:()=>null,renderSuggestionsContainer:e=>{var t=e.containerProps,n=e.children,i=t.ref,a=X(t,$);return b.default.createElement("div",Object.assign({tabIndex:"-1"},a,{ref:e=>{e&&(m.current=e,i(e))}}),n)},theme:W}))}function D(e){var t=e.value,i=e.getDisplay,a=e.onChange,l=e.id,o=e.label,r=e.icon,s=e.timeZone,d=F(n.useState(i(t)),2),u=d[0],c=d[1],p=F(n.useState(!0),2),_=p[0],m=p[1];g.default.tz.setDefault(s);var f=`${l}-input`,y=`${l}-label`,h=n.useRef(null);n.useLayoutEffect((()=>{h.current&&h.current.focus()}),[]);var v=!_;return b.default.createElement("label",{className:W["input-container"],htmlFor:f},b.default.createElement("span",null,r),b.default.createElement("span",{className:W["sr-only"],id:y},o),b.default.createElement("input",{id:f,inputMode:"numeric",type:"text",maxLength:"6",className:E.default(W["time-input-mobile"],v&&"mobile-datetimepicker-invalid-input"),value:u,onFocus:e=>{e.target.setSelectionRange(0,0)},onChange:e=>{var n=e.target.value.replace(".",":"),i=O(n);if(m(i),n.match(/[0-9]{3}:[0-9]{2}/)&&n.slice(1)===u&&(n=n.charAt(0)),!(n.length>5)){var l=S(n);c(l);var o=G(l,t);o&&a(o)}},ref:h}))}function Z(e){var t=e.departureOrArrival,i=e.onNowClick,a=e.lang,l=e.color,o=e.timeZone,r=e.onSubmit,s=e.onCancel,d=e.timestamp,u=e.getTimeDisplay,c=e.dateSelectItemCount,p=e.getDateDisplay,_=e.fontWeights;g.default.tz.setDefault(o);var m={lng:a},f=F(n.useState(d),2),y=f[0],h=f[1],k=F(n.useState(t),2),E=k[0],C=k[1];var R=F(n.useState(v.default("datetimepicker-")),1)[0],S=g.default().startOf("day").hour(g.default(y).hour()).minute(g.default(y).minute()).valueOf();return b.default.createElement(N.default,{appElement:document?document.querySelector("#app"):void 0,isOpen:!0,className:W["mobile-modal-content"],overlayClassName:W["mobile-modal-overlay"]},b.default.createElement("div",{style:{"--color":`${l}`,"--font-weight-medium":_.medium}},b.default.createElement("div",{className:W["top-row"]},b.default.createElement("h3",{className:W["modal-title"]},x.default.t("choose-time",m)),b.default.createElement("button",{type:"button",className:W["departure-now-button"],onClick:i},x.default.t("departure-now",m))),b.default.createElement("div",{className:W["tab-row"]},b.default.createElement("label",{htmlFor:`${R}-modal-departure`,className:`${W["radio-tab-label"]}\n ${W["departure"===E?"active":void 0]}`},x.default.t("departure",m),b.default.createElement("input",{id:`${R}-modal-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:W["radio-textbutton"],onChange:()=>{C("departure")},checked:"departure"===E})),b.default.createElement("label",{htmlFor:`${R}-modal-arrival`,className:`${W["radio-tab-label"]}\n ${W["arrival"===E?"active":void 0]}`},x.default.t("arrival",m),b.default.createElement("input",{id:`${R}-modal-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:W["radio-textbutton"],onChange:()=>{C("arrival")},checked:"arrival"===E}))),b.default.createElement("div",{className:W["input-row"]},b.default.createElement(T,{value:y,getDisplay:p,onChange:h,itemCount:c,startTime:S,id:`${R}-date`,label:x.default.t("date",m),icon:b.default.createElement("span",{className:`${W["combobox-icon"]} ${W["date-input-icon"]}`},b.default.createElement(w.default,{img:"calendar",color:l})),timeZone:o}),b.default.createElement(D,{value:y,getDisplay:u,onChange:h,id:`${R}-time`,label:x.default.t("time",m),icon:b.default.createElement("span",{className:`${W["combobox-icon"]} ${W["time-input-icon"]}`},b.default.createElement(w.default,{img:"time",color:l})),timeZone:o})),b.default.createElement("div",{className:W["buttons-row"]},b.default.createElement("button",{type:"button",className:W["ready-button"],onClick:()=>r(y,E)},x.default.t("ready",m)),b.default.createElement("button",{type:"button",className:W["cancel-button"],onClick:s},x.default.t("cancel",m)))))}function j(e){var t=e.timestamp,i=e.onTimeChange,a=e.onDateChange,l=e.departureOrArrival,o=e.onNowClick,r=e.onDepartureClick,s=e.onArrivalClick,d=e.embedWhenClosed,u=e.embedWhenOpen,c=e.lang,p=e.color,_=e.timeZone,m=e.onModalSubmit,f=e.fontWeights,y=e.serviceTimeRange,h=e.onOpen,k=e.onClose,E=e.openPicker;g.default.tz.setDefault(_);var N=F(n.useState(E||!1),2),C=N[0],R=N[1],S=F(n.useState(t||g.default().valueOf()),2),P=S[0],O=S[1],G=F(n.useState(null),2),X=G[0],$=G[1],T=F(n.useState(v.default("datetimepicker-")),1)[0],D=F(n.useState(A()&&function(){if("undefined"==typeof window||null===window)return!1;var e=document.createElement("input");return e.type="date","date"===e.type&&(e.type="time","time"===e.type)}()),1)[0],j=n.useRef(),V=n.useRef(),M=n.useRef(),I={lng:c};n.useEffect((()=>{Object.keys(z).forEach((e=>x.default.addResourceBundle(e,"translation",z[c])))}),[]),n.useEffect((()=>{g.default.locale(c)}),[c]);var L=null===t;n.useEffect((()=>{L?O(g.default().valueOf()):(X&&(clearInterval(X),$(null)),O(t))}),[t]),n.useEffect((()=>{if(L){X&&clearInterval(X);var e=setInterval((()=>{var t=g.default().valueOf();g.default(P).isSame(t,"minute")||(clearInterval(e),$(null),O(t))}),5e3);return $(e),()=>clearInterval(e)}}),[P]);var H=n.useRef();n.useEffect((()=>{H.current=C}));for(var Y=e=>{var t,n=g.default(e);return t=`${(t=n.isSame(g.default(),"day")?x.default.t("today",I):n.isSame(g.default().add(1,"day"),"day")?x.default.t("tomorrow",I):n.format("dd D.M.")).charAt(0).toUpperCase()}${t.slice(1)}`},U=e=>g.default(e).format("HH:mm"),K=g.default(P),B=g.default(P).startOf("day").valueOf(),J=[],Q=g.default(B);Q.isSame(B,"day");)J.push(Q.valueOf()),A()?Q.add(15,"minutes"):Q.add(1,"minutes");if(null===t){var ee=3e5,te=Math.ceil(P/ee)*ee,ne=Array(7).fill().map(((e,t)=>te+t*ee)),ie=J.map((e=>P-e)).findIndex((e=>e<=0));J.splice(ie,0,...ne),J=Array.from(new Set(J))}var ae=g.default().startOf("day").hour(K.hour()).minute(K.minute()).valueOf(),le=Array(y).fill().map(((e,t)=>g.default(ae).add(t,"day").valueOf()));function oe(){M.current&&(M.current.innerHTML=x.default.t("accessible-closed",I),setTimeout((()=>{M.current.innerHTML=null}),100))}return b.default.createElement("fieldset",{className:W["dt-datetimepicker"],id:`${T}-root`,style:{"--color":`${p}`,"--font-weight-medium":f.medium}},b.default.createElement("legend",{className:W["sr-only"]},x.default.t("accessible-title",I)),b.default.createElement("span",{className:W["sr-only"]},x.default.t("accessible-update-instructions",I)),b.default.createElement("div",{className:C?`${W.hidden} datetimepicker-top-row`:`${W["top-row-container"]} ${W.closed} datetimepicker-top-row`},b.default.createElement("label",{className:W["label-open"],htmlFor:`${T}-open`},b.default.createElement("span",{className:W["time-icon"]},b.default.createElement(w.default,{img:"time",color:p})),b.default.createElement("span",{className:W["sr-only"]},x.default.t("accessible-open",I)),b.default.createElement("span",{role:"alert",className:W["sr-only"],ref:M}),b.default.createElement("button",{id:`${T}-open`,type:"button",className:`${W.textbutton} ${W.active} ${W["open-button"]}`,"aria-controls":`${T}-root`,"aria-expanded":"false",onClick:()=>{R(!0),M.current&&(M.current.innerHTML=x.default.t("accessible-opened",I),setTimeout((()=>{M.current.innerHTML=null}),100)),h&&h()},ref:j},b.default.createElement("span",null,L&&"departure"===l?x.default.t("departure-now",I):b.default.createElement(b.default.Fragment,null,x.default.t("departure"===l?"departure":"arrival",I),` ${g.default().isSame(g.default(P),"day")?"":Y(P).toLowerCase()} ${U(P)}`)),b.default.createElement("span",{className:W["dropdown-icon"]},b.default.createElement(w.default,{img:"arrow-dropdown",color:p})))),b.default.createElement("span",{className:W["right-edge"]},d)),b.default.createElement("div",null),D?C&&b.default.createElement(Z,{departureOrArrival:l,onNowClick:()=>{R(!1),oe(),o()},lang:c,color:p,onSubmit:(e,t)=>{m(e,t),R(!1),oe()},onCancel:()=>{R(!1),oe(),k&&k()},getTimeDisplay:U,timeZone:_,timestamp:P,getDateDisplay:Y,dateSelectItemCount:y,getDisplay:U,fontWeights:f}):b.default.createElement(b.default.Fragment,null,b.default.createElement("div",{className:`${W["datetimepicker-open-container"]} ${C?"":W.hidden}`},b.default.createElement("div",{className:C?`${W["top-row-container"]} datetimepicker-top-row`:`${W.hidden} datetimepicker-top-row`}," ",b.default.createElement("span",{role:"alert",className:W["sr-only"],ref:M}),b.default.createElement("span",null),b.default.createElement("span",{className:W["departure-or-arrival-container"]},b.default.createElement("label",{htmlFor:`${T}-departure`,className:`${W["radio-textbutton-label"]}\n ${W["departure"===l?"active":void 0]}`},x.default.t("departure",I),b.default.createElement("input",{id:`${T}-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:W["radio-textbutton"],onChange:()=>{r()},checked:"departure"===l})),b.default.createElement("label",{htmlFor:`${T}-arrival`,className:`${W["radio-textbutton-label"]}\n ${W["arrival"===l?"active":void 0]}`},x.default.t("arrival",I),b.default.createElement("input",{id:`${T}-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:W["radio-textbutton"],onChange:()=>{s()},checked:"arrival"===l}))),b.default.createElement("button",{id:`${T}-now`,type:"button",className:W["departure-now-button"],onClick:()=>{R(!1),oe(),k&&k(),o()},ref:V},x.default.t("departure-now",I)),b.default.createElement("span",{className:W["right-edge"]},b.default.createElement("button",{type:"button",className:W["close-button"],"aria-controls":`${T}-root`,"aria-expanded":"true",onClick:()=>{R(!1),oe(),k&&k()}},b.default.createElement("span",{className:W["close-icon"]},b.default.createElement(w.default,{img:"close",color:p})),b.default.createElement("span",{className:W["sr-only"]},x.default.t("accessible-close",I))))),b.default.createElement("div",{className:C?`${W["picker-container"]}`:`${W.hidden} datetimepicker-top-row`},b.default.createElement("span",{className:W["combobox-left"]},b.default.createElement(q,{value:P,onChange:e=>{a(e)},getDisplay:Y,timeChoices:le,validate:()=>null,icon:b.default.createElement("span",{className:`${W["combobox-icon"]} ${W["date-input-icon"]}`},b.default.createElement(w.default,{img:"calendar",color:p})),id:`${T}-date`,label:x.default.t("date",I),disableTyping:!0,timeZone:_,datePicker:!0})),b.default.createElement("span",{className:W["combobox-right"]},b.default.createElement(q,{value:P,onChange:e=>{i(e)},getDisplay:U,timeChoices:J,icon:b.default.createElement("span",{className:`${W["combobox-icon"]} ${W["time-input-icon"]}`},b.default.createElement(w.default,{img:"time",color:p})),id:`${T}-time`,label:x.default.t("time",I),timeZone:_,translationSettings:I})))),b.default.createElement("span",{className:C?"":W.hidden},u),b.default.createElement("div",{className:C?"datetimepicker-bottom-row-open":""})))}function V(e){var t=e.realtime,i=e.initialArriveBy,a=e.initialTimestamp,l=e.onDepartureClick,o=e.onArrivalClick,r=e.onTimeChange,s=e.onDateChange,d=e.onNowClick,u=e.embedWhenClosed,c=e.embedWhenOpen,p=e.lang,_=e.color,m=e.timeZone,f=e.fontWeights,y=e.serviceTimeRange,v=e.onOpen,x=e.onClose,w=e.openPicker;g.default.locale(p),g.default.tz.setDefault(m);var k=t?null:g.default().valueOf(),E=F(n.useState(a?1e3*a:k),2),N=E[0],C=E[1],R=F(n.useState(!0===i?"arrival":"departure"),2),S=R[0],P=R[1];n.useEffect((()=>{var e=null===N&&void 0===a,t=null===N||void 0===a,n=Math.round(N/1e3)===a;!e&&(t||!n)&&C(void 0===a?null:1e3*a),!i==("arrival"===S)&&P(!0===i?"arrival":"departure")}),[a,i]);var O=h.default((e=>{if(null===e)return C(g.default().valueOf()),void r(Math.round(g.default().valueOf()/1e3),"arrival"===S);C(e),r(Math.round(e/1e3),"arrival"===S)}),10),G=h.default((e=>{if(null===e)return C(g.default().valueOf()),void s(Math.round(g.default().valueOf()/1e3),"arrival"===S);C(e),s(Math.round(e/1e3),"arrival"===S)}),10);return b.default.createElement(j,{timestamp:N,onTimeChange:O,onDateChange:G,departureOrArrival:S,onNowClick:()=>{P("departure");var e=t?null:g.default().valueOf();C(e),d(Math.round(e/1e3))},onDepartureClick:()=>{var e=!1,t=N;if(null===N){var n=g.default().valueOf();C(n),t=n,e=!0}"departure"!==S&&(P("departure"),e=!0),e&&l(Math.round(t/1e3))},onArrivalClick:()=>{var e=!1,t=N;if(null===N){var n=g.default().valueOf();C(n),t=n,e=!0}"arrival"!==S&&(P("arrival"),e=!0),e&&o(Math.round(t/1e3))},embedWhenClosed:u,embedWhenOpen:c,lang:p,color:_,timeZone:m,onModalSubmit:(e,t)=>{C(e),P(t),r(Math.round(e/1e3),"arrival"===t,!0)},fontWeights:f,serviceTimeRange:y,onOpen:v,onClose:x,openPicker:w})}"production"!==process.env.NODE_ENV&&(T.propTypes={value:y.default.number.isRequired,getDisplay:y.default.func.isRequired,onChange:y.default.func.isRequired,itemCount:y.default.number.isRequired,startTime:y.default.number.isRequired,id:y.default.string.isRequired,label:y.default.string.isRequired,icon:y.default.node,dateTimeCombined:y.default.bool,timeZone:y.default.string}),T.defaultProps={icon:null,dateTimeCombined:!1,timeZone:"Europe/Helsinki"},"production"!==process.env.NODE_ENV&&(D.propTypes={value:y.default.number.isRequired,getDisplay:y.default.func.isRequired,onChange:y.default.func.isRequired,id:y.default.string.isRequired,label:y.default.string.isRequired,icon:y.default.node,timeZone:y.default.string}),D.defaultProps={icon:null,timeZone:"Europe/Helsinki"},g.default.locale("en"),x.default.init({lng:"en",resources:{}}),Object.keys(z).forEach((e=>x.default.addResourceBundle(e,"translation",z[e]))),"production"!==process.env.NODE_ENV&&(Z.propTypes={timeZone:y.default.string,departureOrArrival:y.default.oneOf(["departure","arrival"]).isRequired,onNowClick:y.default.func.isRequired,lang:y.default.string.isRequired,color:y.default.string,onSubmit:y.default.func.isRequired,onCancel:y.default.func.isRequired,timestamp:y.default.number.isRequired,getTimeDisplay:y.default.func.isRequired,dateSelectItemCount:y.default.number.isRequired,getDateDisplay:y.default.func.isRequired,fontWeights:y.default.shape({medium:y.default.number.isRequired}).isRequired}),Z.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&&(j.propTypes={timestamp:y.default.number,timeZone:y.default.string,onTimeChange:y.default.func.isRequired,onDateChange:y.default.func.isRequired,departureOrArrival:y.default.oneOf(["departure","arrival"]).isRequired,onNowClick:y.default.func.isRequired,onDepartureClick:y.default.func.isRequired,onArrivalClick:y.default.func.isRequired,embedWhenClosed:y.default.node,embedWhenOpen:y.default.node,lang:y.default.string.isRequired,color:y.default.string,onModalSubmit:y.default.func.isRequired,fontWeights:y.default.shape({medium:y.default.number.isRequired}).isRequired,serviceTimeRange:y.default.number.isRequired,onOpen:y.default.func,onClose:y.default.func,openPicker:y.default.bool}),j.defaultProps={timestamp:null,embedWhenClosed:null,embedWhenOpen:null,color:"#007ac9",timeZone:"Europe/Helsinki",onOpen:null,onClose:null,openPicker:void 0},"production"!==process.env.NODE_ENV&&(V.propTypes={realtime:y.default.bool,initialTimestamp:y.default.number,initialArriveBy:y.default.bool,onDepartureClick:y.default.func.isRequired,onArrivalClick:y.default.func.isRequired,onTimeChange:y.default.func.isRequired,onDateChange:y.default.func.isRequired,onNowClick:y.default.func.isRequired,embedWhenClosed:y.default.node,embedWhenOpen:y.default.node,lang:y.default.string,color:y.default.string,timeZone:y.default.string,fontWeights:y.default.shape({medium:y.default.number}),serviceTimeRange:y.default.number,onOpen:y.default.func,onClose:y.default.func,openPicker:y.default.bool}),V.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=V,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
|