@digitransit-component/digitransit-component-datetimepicker 6.0.2 → 6.0.4
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 +5 -5
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("react-i18next"),require("luxon"),require("lodash/debounce"),require("lodash/uniqueId"),require("@digitransit-component/digitransit-component-icon"),require("react-select"),require("classnames"),require("react-modal"),require("downshift"),require("i18next")):"function"==typeof define&&define.amd?define(["exports","prop-types","react","react-i18next","luxon","lodash/debounce","lodash/uniqueId","@digitransit-component/digitransit-component-icon","react-select","classnames","react-modal","downshift","i18next"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-datetimepicker"]={},e.PropTypes,e.React,e.reactI18next,e.luxon,e.debounce,e.uniqueId,e.Icon,e.Select,e.cx,e.ReactModal,e.downshift,e.i18next)}(this,function(e,t,n,i,l,o,a,s,r,d,c,u,p){"use strict";function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=_(t),f=_(n),y=_(o),b=_(a),g=_(s),h=_(r),x=_(d),w=_(c);function v(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 k=(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 E(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])],k(t,n)}if(t=e.substring(0,e.length-1),n=e.substring(e.length-1||0),Number(n)>5)return!1}return k(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)&&k(n,i)}return!0}const N=(e,t)=>{const n=e.trim();if(null!==n.match(/^[0-9]{1,2}(\.|:)[0-9]{2}$/)){const e=n.includes(".")?".":":",i=n.split(e),o=Number(i[0]),a=!Number.isNaN(o)&&o>=0&&o<=23,s=Number(i[1]);if(!(!Number.isNaN(s)&&s>=0&&s<=59)||!a)return null;return l.DateTime.fromMillis(t).set({hour:o,minute:s,second:0,millisecond:0}).valueOf()}return null};var C={"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 R({value:e,onChange:t,getDisplay:o,timeChoices:a,id:s,label:r,icon:d,disableTyping:c,timeZone:u,datePicker:p,translationSettings:_}){l.Settings.defaultZone=u;const[m]=i.useTranslation(),[y,b]=n.useState(o(e)),[g,w]=n.useState(!1),[k,R]=n.useState(!0),[F,S]=n.useState(!1);n.useEffect(()=>{b(o(e)),p||S(!1)},[e]);const P=e=>{const n=Number(e);try{l.DateTime.fromMillis(n)}catch(e){return}t(n)};const T=a.map(e=>({value:e.toString(),label:o(e)})),D=p?T:T.filter(e=>e.label.split(":")[1]%15==0),W=D.length>0?null==D?void 0:D.reduce((t,n)=>Math.abs(e-t.value)<Math.abs(e-n.value)?t:n):void 0,G=`${s}-input`,q=`${s}-label`,$=m("invalid-input",_);return f.default.createElement("label",{className:C["combobox-container"],htmlFor:G},f.default.createElement("span",{className:C["sr-only"],id:q},r," ",y),d,f.default.createElement(h.default,{"aria-labelledby":q,ariaLiveMessages:{guidance:e=>void 0===e.isDisabled&&F?$:".",onChange:()=>"",onFilter:()=>"",onFocus:({context:e,label:t})=>"menu"===e?t:""},options:T,inputId:G,onChange:t=>{const n=l.DateTime.fromMillis(e).toFormat("HH:mm"),i=N(y,e);if(g)return null!==i?(n!==y&&t.value===e?P(i):P(t.value),w(!1)):(t.value!==e?P(t.value):b(o(e)),w(!1)),void(p||S(!1));p||S(!1),P(t.value)},components:{IndicatorsContainer:()=>null},className:x.default(C["datetimepicker-select-container"],F&&"datetimepicker-invalid-input"),classNamePrefix:"datetimepicker-select",onInputChange:(e,{action:t})=>{if("menu-close"===t?R(!0):k&&R(!1),!(c||e&&!function(e){if(e.length<(null==y?void 0:y.length)){const t=E(e);return S(!t),!0}if(/[a-zA-Z§ÄäÖö.-\s]/g.test(e))return!1;const t=E(e.length>5?e.slice(0,-1):e);return S(!t),e.length<=5}(e))&&"input-change"===t){const t=v(e);b(t),w(!0)}},inputValue:!c&&y,value:W,noOptionsMessage:()=>"",filterOption:(e,t)=>{var n;if(p)return!0;const i=5===t.length||4===t.length&&1===t.split(":")[0].length,l=e.label.split(":")[1]%15==0,o=1===(null===(n=t.split(":")[1])||void 0===n?void 0:n.length);if(k&&l)return!0;if(o){const n=1===t.split(":")[0].length?"0".concat(t.split(":")[0]):t.split(":")[0],i=t.split(":")[1],l=e.label.split(":")[0],o=e.label.split(":")[1];if(n===l){const e=10*Number(i),t=Number(o)-e;return t>=0&&t<=9}}return i&&!k?4===t.length?"0".concat(t)===e.label:t===e.label:!!l&&((e,t)=>{const n=t.length<=2?t:t.split(":")[0],i=/^([0-1]?[0-9]|2[0-3])$/.test(n),l=1===n.length?"0".concat(t):t;return!i||e.label.split(":")[0]===l.split(":")[0]})(e,t)},controlShouldRenderValue:c,tabSelectsValue:!1,placeholder:"",onFocus:e=>{c||e.target.select()},onBlur:()=>{if(g){const t=N(y,e);null!==t?(P(t),w(!1)):(b(o(e)),w(!1))}p||S(!1)},onKeyDown:e=>{["ArrowDown","ArrowUp"].includes(e.key)&&w(!1)},isSearchable:!c}))}function F(){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)}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===n&&i.firstChild?i.insertBefore(l,i.firstChild):i.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}('.styles_sr-only__BrzYQ:not(:focus, :active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\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}\n.styles_dt-datetimepicker__PtoFG button,\n.styles_dt-datetimepicker__PtoFG label {\n font-size: 1em;\n font-weight: inherit;\n}\n.styles_dt-datetimepicker__PtoFG label button {\n cursor: pointer;\n font-family: "Gotham Rounded A", "Gotham Rounded B", Roboto, Arial, Georgia, serif;\n}\n.styles_dt-datetimepicker__PtoFG .styles_hidden__6ySER {\n display: none;\n}\n.styles_dt-datetimepicker__PtoFG .styles_datetimepicker-open-container__1dVr5 {\n background-color: #f2f5f7;\n border-radius: 5px;\n padding: 15px;\n}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL {\n display: flex;\n flex-wrap: wrap;\n}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL.styles_closed__Fqe1r {\n margin: 11px 0 6px 18px;\n}\n@media screen and (max-width: 319px) {\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL {\n margin-left: 14px;\n }\n}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_time-icon__ntgLZ svg {\n width: 18px;\n height: 19px;\n}\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}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_dropdown-icon__diYYB svg {\n width: 14px;\n height: 10px;\n}\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}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_close-icon__-MzK5 svg path {\n stroke-width: 30;\n}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL label {\n cursor: pointer;\n}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL label.styles_label-open__Gmvov {\n align-items: flex-start;\n display: flex;\n}\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}\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}\n@media screen and (min-width: 768px) {\n .styles_dt-datetimepicker__PtoFG .styles_textbutton__T7wS2 {\n margin-left: 14px;\n }\n}\n.styles_dt-datetimepicker__PtoFG .styles_textbutton__T7wS2.styles_active__4L82E {\n color: var(--color);\n}\n.styles_dt-datetimepicker__PtoFG .styles_combobox-left__Sp4kh {\n position: relative;\n margin-right: 4px;\n width: 63%;\n}\n.styles_dt-datetimepicker__PtoFG .styles_combobox-right__Hg8kN {\n position: relative;\n margin-left: 4px;\n width: 37%;\n}\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}\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}\n.styles_dt-datetimepicker__PtoFG .styles_radio-textbutton-label__h-zfy.styles_active__4L82E {\n font-weight: 500;\n background: white;\n}\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; /* stylelint-disable-line declaration-block-no-duplicate-properties */\n}\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}\n.styles_dt-datetimepicker__PtoFG .styles_radio-textbutton__tsKET {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\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 .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}\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}\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}\n.styles_dt-datetimepicker__PtoFG button.styles_close-button__2mfgI:hover {\n transform: scale(1.2);\n}\n.styles_dt-datetimepicker__PtoFG .styles_right-edge__29UYw {\n margin-left: auto;\n margin-right: 0;\n position: relative;\n top: -2px;\n}\n.styles_dt-datetimepicker__PtoFG .styles_combobox-container__CLY9U {\n cursor: pointer;\n}\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}\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}\n.styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH.styles_date-input-icon__KMrj1 svg {\n width: 20px;\n height: 18px;\n}\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}\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}\n.styles_dt-datetimepicker__PtoFG .datetimepicker-invalid-input input {\n color: #f00 !important;\n}\n.styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l {\n position: relative;\n height: 40px;\n}\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}\n.styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__value-container {\n padding: 0;\n}\n.styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__single-value {\n margin: 0 0 0 47px;\n}\n.styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__input {\n background: inherit;\n position: relative;\n margin-left: 40px;\n margin-top: -4px;\n}\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}\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}\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}\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}\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}\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}\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}\n.styles_dt-datetimepicker__PtoFG .styles_picker-container__V02r4 {\n margin: 14px 0 0 0;\n display: flex;\n}\n.styles_dt-datetimepicker__PtoFG .styles_combobox-mobile-container__u2DSO {\n flex-grow: 1;\n}\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\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}\n.styles_mobile-modal-content__fWRgy .styles_top-row__h8xy1 {\n display: flex;\n justify-content: space-between;\n margin-bottom: 21px;\n}\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}\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}\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}\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}\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}\n.styles_mobile-modal-content__fWRgy .styles_tab-row__orgwh .styles_radio-textbutton__tsKET {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY {\n display: flex;\n margin-bottom: 25px;\n}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY label:first-child {\n flex-basis: 60%;\n margin-right: 10px;\n}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY label:nth-child(2) {\n flex-basis: 40%;\n}\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}\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}\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}\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}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_combobox-icon__-0XPH.styles_date-input-icon__KMrj1 > svg {\n height: 20px;\n}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .mobile-datetimepicker-invalid-input {\n color: #f00 !important;\n}\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: 54px;\n margin-left: 10px;\n color: #333;\n height: 1.5265rem;\n}\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}\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}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_mobile-input-display__VUMd0 {\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}\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}\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}\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}\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}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_suggestionHighlighted__fzLiW {\n background: #dfe5e8;\n}\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}\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}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_input__PAfbH {\n color: black;\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}\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}\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}\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}\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&&(R.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})}),R.defaultProps={disableTyping:!1,timeZone:"Europe/Helsinki",datePicker:!1,translationSettings:{lng:"fi"}};const S=({value:e,dateChoices:t,id:n,getDisplay:i,onChange:l,labelId:o,inputId:a})=>{const s=t.map(e=>({value:e,label:i(e)})),r=s.find(t=>t.value===e)||s[0]||null,{isOpen:d,getToggleButtonProps:c,getMenuProps:p,getItemProps:_,highlightedIndex:m}=u.useSelect({selectedItem:r,items:s,itemToString:e=>{var t;return null!==(t=null==e?void 0:e.label)&&void 0!==t?t:""},onSelectedItemChange:({selectedItem:e})=>{e&&l(e.value)},id:n});return f.default.createElement("div",{className:C.container},f.default.createElement("div",c({"aria-labelledby":o,id:a}),f.default.createElement("div",{className:C.input},r.label)),f.default.createElement("div",{className:x.default(C.suggestionsContainerOpen,!d&&"hidden")},f.default.createElement("ul",p(),d&&s.map((e,t)=>f.default.createElement("li",Object.assign({key:e.value,className:x.default(C.suggestion,t===m&&C.suggestionHighlighted)},_({index:t})),f.default.createElement("span",null,e.label))))))};function P({value:e,getDisplay:t,onChange:n,itemCount:i,startTime:o,id:a,label:s,icon:r,timeZone:d}){l.Settings.defaultZone=d;const c=Array(i).fill().map((e,t)=>l.DateTime.fromMillis(o).plus({days:t}).toMillis()),u=!(navigator.userAgent.toLowerCase().indexOf("android")>-1),p=`${a}-label`,_=`${a}-input`;return f.default.createElement("label",{className:C["input-container"],htmlFor:_},f.default.createElement("span",null,r),f.default.createElement("span",{className:C["sr-only"],id:p},s),u?f.default.createElement("select",{id:_,className:C["mobile-input-display"],onChange:e=>n(Number(e.target.value)),value:e},c.map(e=>f.default.createElement("option",{key:e,value:e},t(e)))):f.default.createElement(S,{value:e,dateChoices:c,id:a,getDisplay:t,onChange:n,labelId:p,inputId:_}))}function T({value:e,getDisplay:t,onChange:i,id:o,label:a,icon:s,timeZone:r}){const[d,c]=n.useState(t(e)),[u,p]=n.useState(!0);l.Settings.defaultZone=r;const _=`${o}-input`,m=`${o}-label`,y=!u;return f.default.createElement("label",{className:C["input-container"],htmlFor:_},f.default.createElement("span",null,s),f.default.createElement("span",{className:C["sr-only"],id:m},a),f.default.createElement("input",{id:_,inputMode:"numeric",type:"text",maxLength:"6",className:x.default(C["time-input-mobile"],y&&"mobile-datetimepicker-invalid-input"),value:d,onFocus:e=>{e.target.setSelectionRange(0,0)},onChange:t=>{let n=t.target.value.replace(".",":");const l=E(n);if(p(l),n.match(/[0-9]{3}:[0-9]{2}/)&&n.slice(1)===d&&(n=n.charAt(0)),n.length>5)return;const o=v(n);c(o);const a=N(o,e);a&&i(a)}}))}function D({departureOrArrival:e,onNowClick:t,lang:o,color:a,timeZone:s,onSubmit:r,onCancel:d,timestamp:c,getTimeDisplay:u,dateSelectItemCount:p,getDateDisplay:_,fontWeights:m,onAfterClose:y}){l.Settings.defaultZone=s;const[h]=i.useTranslation(),x={lng:o},[v,k]=n.useState(c),[E,N]=n.useState(e);const[R]=n.useState(b.default("datetimepicker-")),F=l.DateTime.now().startOf("day").set({hour:l.DateTime.fromMillis(v).hour,minute:l.DateTime.fromMillis(v).minute}).toMillis();return f.default.createElement(w.default,{appElement:document?document.querySelector("#app"):void 0,isOpen:!0,className:C["mobile-modal-content"],overlayClassName:C["mobile-modal-overlay"],onAfterClose:y},f.default.createElement("div",{id:"digitransit-mobile-datetime",style:{"--color":`${a}`,"--font-weight-medium":m.medium}},f.default.createElement("div",{className:C["top-row"]},f.default.createElement("h3",{className:C["modal-title"]},h("choose-time",x)),f.default.createElement("button",{type:"button",className:C["departure-now-button"],onClick:t},h("departure-now",x))),f.default.createElement("div",{className:C["tab-row"]},f.default.createElement("label",{htmlFor:`${R}-modal-departure`,className:`${C["radio-tab-label"]}\n ${C["departure"===E?"active":void 0]}`},h("departure",x),f.default.createElement("input",{id:`${R}-modal-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:C["radio-textbutton"],onChange:()=>{N("departure")},checked:"departure"===E})),f.default.createElement("label",{htmlFor:`${R}-modal-arrival`,className:`${C["radio-tab-label"]}\n ${C["arrival"===E?"active":void 0]}`},h("arrival",x),f.default.createElement("input",{id:`${R}-modal-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:C["radio-textbutton"],onChange:()=>{N("arrival")},checked:"arrival"===E}))),f.default.createElement("div",{className:C["input-row"]},f.default.createElement(P,{value:v,getDisplay:_,onChange:k,itemCount:p,startTime:F,id:`${R}-date`,label:h("date",x),icon:f.default.createElement("span",{className:`${C["combobox-icon"]} ${C["date-input-icon"]}`},f.default.createElement(g.default,{img:"calendar",color:a})),timeZone:s}),f.default.createElement(T,{value:v,getDisplay:u,onChange:k,id:`${R}-time`,label:h("time",x),icon:f.default.createElement("span",{className:`${C["combobox-icon"]} ${C["time-input-icon"]}`},f.default.createElement(g.default,{img:"time",color:a})),timeZone:s})),f.default.createElement("div",{className:C["buttons-row"]},f.default.createElement("button",{type:"button",className:C["ready-button"],onClick:()=>r(v,E)},h("ready",x)),f.default.createElement("button",{type:"button",className:C["cancel-button"],onClick:d},h("cancel",x)))))}function W({timestamp:e,onTimeChange:t,onDateChange:o,departureOrArrival:a,onNowClick:s,onDepartureClick:r,onArrivalClick:d,embedWhenClosed:c,embedWhenOpen:u,lang:p,color:_,timeZone:m,onModalSubmit:y,fontWeights:h,serviceTimeRange:x,onOpen:w,onClose:v,openPicker:k}){l.Settings.defaultZone=m;const[E]=i.useTranslation(),[N,S]=n.useState(k||!1),[P,T]=n.useState(e||l.DateTime.now().toMillis()),[W,G]=n.useState(null),[q]=n.useState(b.default("datetimepicker-")),[$]=n.useState(F()&&function(){if("undefined"==typeof window||null===window)return!1;const e=document.createElement("input");return e.type="date","date"===e.type&&(e.type="time","time"===e.type)}()),X=n.useRef(),M=n.useRef(),A=n.useRef(),z={lng:p};n.useEffect(()=>{l.Settings.defaultLocale=p},[p]);const Z=null===e;n.useEffect(()=>{Z?T(l.DateTime.now().toMillis()):(W&&(clearInterval(W),G(null)),T(e))},[e]),n.useEffect(()=>{if(!Z)return;W&&clearInterval(W);const e=setInterval(()=>{const t=l.DateTime.now();l.DateTime.fromMillis(P).hasSame(t,"minute")||(clearInterval(e),G(null),T(t.toMillis()))},5e3);return G(e),()=>clearInterval(e)},[P]);const O=e=>{const t=l.DateTime.fromMillis(e),n=l.DateTime.now();let i;return t.hasSame(n,"day")?(i=E("today",z),i=`${i.charAt(0).toUpperCase()}${i.slice(1)}`):t.hasSame(n.plus({days:1}),"day")?(i=E("tomorrow",z),i=`${i.charAt(0).toUpperCase()}${i.slice(1)}`):i=t.toFormat("ccc d.L."),i},I=e=>l.DateTime.fromMillis(e).toFormat("HH:mm"),[L,V]=n.useMemo(()=>{const t=l.DateTime.fromMillis(e||l.DateTime.now().toMillis()),n=t.startOf("day").toMillis(),i=F();let o=[],a=t.startOf("day");for(;a.hasSame(n,"day");)o.push(a.valueOf()),a=i?a.plus({minutes:15}):a.plus({minutes:1});if(null===e){const e=3e5,t=Math.ceil(P/e)*e,n=Array(7).fill().map((n,i)=>t+i*e),i=o.map(e=>P-e).findIndex(e=>e<=0);o.splice(i,0,...n),o=Array.from(new Set(o))}const s=l.DateTime.now().startOf("day").set({hour:t.hour,minute:t.minute});return[o,Array(x).fill().map((e,t)=>s.plus({days:t}).toMillis())]},[e]);function j(){A.current&&(A.current.innerHTML=E("accessible-closed",z),setTimeout(()=>{A.current.innerHTML=null},100))}const H=()=>{S(!1),j(),v&&v()},Y=()=>{H(),s()};return f.default.createElement("fieldset",{className:C["dt-datetimepicker"],id:`${q}-root`,style:{"--color":`${_}`,"--font-weight-medium":h.medium}},f.default.createElement("legend",{className:C["sr-only"]},E("accessible-title",z)),f.default.createElement("span",{className:C["sr-only"]},E("accessible-update-instructions",z)),f.default.createElement("div",{className:N?`${C.hidden} datetimepicker-top-row`:`${C["top-row-container"]} ${C.closed} datetimepicker-top-row`},f.default.createElement("label",{className:C["label-open"],htmlFor:`${q}-open`},f.default.createElement("span",{className:C["time-icon"]},f.default.createElement(g.default,{img:"time",color:_})),f.default.createElement("span",{className:C["sr-only"]},E("accessible-open",z)),f.default.createElement("span",{role:"alert",className:C["sr-only"],ref:A}),f.default.createElement("button",{id:`${q}-open`,type:"button",className:`${C.textbutton} ${C.active} ${C["open-button"]}`,"aria-controls":`${q}-root`,"aria-expanded":"false",onClick:()=>{S(!0),A.current&&(A.current.innerHTML=E("accessible-opened",z),setTimeout(()=>{A.current.innerHTML=null},100)),w&&w()},ref:X},(()=>{if(Z&&"departure"===a)return f.default.createElement("span",null,E("departure-now",z));const e=O(P),t=I(P),n=E("departure"===a?"departure":"arrival",z),i=l.DateTime.now().hasSame(l.DateTime.fromMillis(P),"day"),o=l.DateTime.now().plus({days:1}).hasSame(l.DateTime.fromMillis(P),"day");return i?f.default.createElement("span",null,`${n} ${t}`):o?f.default.createElement("span",null,`${n} ${e.toLowerCase()} ${t}`):f.default.createElement("span",null,`${n} ${e} ${t}`)})(),f.default.createElement("span",{className:C["dropdown-icon"]},f.default.createElement(g.default,{img:"arrow-dropdown",color:_})))),f.default.createElement("span",{className:C["right-edge"]},c)),f.default.createElement("div",null),$?N&&f.default.createElement(D,{departureOrArrival:a,onNowClick:Y,lang:p,color:_,onSubmit:(e,t)=>{y(e,t),S(!1),j()},onCancel:H,onAfterClose:()=>requestAnimationFrame(()=>{var e;null===(e=X.current)||void 0===e||e.focus()}),getTimeDisplay:I,timeZone:m,timestamp:P,getDateDisplay:O,dateSelectItemCount:x,getDisplay:I,fontWeights:h}):f.default.createElement(f.default.Fragment,null,f.default.createElement("div",{className:`${C["datetimepicker-open-container"]} ${N?"":C.hidden}`},f.default.createElement("div",{className:N?`${C["top-row-container"]} datetimepicker-top-row`:`${C.hidden} datetimepicker-top-row`}," ",f.default.createElement("span",{role:"alert",className:C["sr-only"],ref:A}),f.default.createElement("span",null),f.default.createElement("span",{className:C["departure-or-arrival-container"]},f.default.createElement("label",{htmlFor:`${q}-departure`,className:`${C["radio-textbutton-label"]}\n ${C["departure"===a?"active":void 0]}`},E("departure",z),f.default.createElement("input",{id:`${q}-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:C["radio-textbutton"],onChange:()=>{r()},checked:"departure"===a})),f.default.createElement("label",{htmlFor:`${q}-arrival`,className:`${C["radio-textbutton-label"]}\n ${C["arrival"===a?"active":void 0]}`},E("arrival",z),f.default.createElement("input",{id:`${q}-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:C["radio-textbutton"],onChange:()=>{d()},checked:"arrival"===a}))),f.default.createElement("button",{id:`${q}-now`,type:"button",className:C["departure-now-button"],onClick:Y,ref:M},E("departure-now",z)),f.default.createElement("span",{className:C["right-edge"]},f.default.createElement("button",{type:"button",className:C["close-button"],"aria-controls":`${q}-root`,"aria-expanded":"true",onClick:H},f.default.createElement("span",{className:C["close-icon"]},f.default.createElement(g.default,{img:"close",color:_})),f.default.createElement("span",{className:C["sr-only"]},E("accessible-close",z))))),f.default.createElement("div",{className:N?`${C["picker-container"]}`:`${C.hidden} datetimepicker-top-row`},f.default.createElement("span",{className:C["combobox-left"]},f.default.createElement(R,{value:P,onChange:e=>{o(e)},getDisplay:O,timeChoices:V,validate:()=>null,icon:f.default.createElement("span",{className:`${C["combobox-icon"]} ${C["date-input-icon"]}`},f.default.createElement(g.default,{img:"calendar",color:_})),id:`${q}-date`,label:E("date",z),disableTyping:!0,timeZone:m,datePicker:!0})),f.default.createElement("span",{className:C["combobox-right"]},f.default.createElement(R,{value:P,onChange:e=>{t(e)},getDisplay:I,timeChoices:L,icon:f.default.createElement("span",{className:`${C["combobox-icon"]} ${C["time-input-icon"]}`},f.default.createElement(g.default,{img:"time",color:_})),id:`${q}-time`,label:E("time",z),timeZone:m,translationSettings:z})))),f.default.createElement("span",{className:N?"":C.hidden},u),f.default.createElement("div",{className:N?"datetimepicker-bottom-row-open":""})))}"production"!==process.env.NODE_ENV&&(S.propTypes={value:m.default.number.isRequired,dateChoices:m.default.arrayOf(m.default.number).isRequired,id:m.default.string.isRequired,getDisplay:m.default.func.isRequired,onChange:m.default.func.isRequired,labelId:m.default.string.isRequired,inputId:m.default.string.isRequired}),"production"!==process.env.NODE_ENV&&(P.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,timeZone:m.default.string}),P.defaultProps={icon:null,timeZone:"Europe/Helsinki"},"production"!==process.env.NODE_ENV&&(T.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}),T.defaultProps={icon:null,timeZone:"Europe/Helsinki"},l.Settings.defaultLocale="en","production"!==process.env.NODE_ENV&&(D.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,onAfterClose: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}),D.defaultProps={color:"#007ac9",timeZone:"Europe/Helsinki"},l.Settings.defaultLocale="en","production"!==process.env.NODE_ENV&&(W.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}),W.defaultProps={timestamp:null,embedWhenClosed:null,embedWhenOpen:null,color:"#007ac9",timeZone:"Europe/Helsinki",onOpen:null,onClose:null,openPicker:void 0};const G=p.createInstance({fallbackLng:"fi",resources:{de:{translation:{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:{translation:{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:{translation:{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:{translation:{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:{translation:{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"}}},defaultNS:"translation",react:{useSuspense:!0}});function q({realtime:e,initialArriveBy:t,initialTimestamp:o,onDepartureClick:a,onArrivalClick:s,onTimeChange:r,onDateChange:d,onNowClick:c,embedWhenClosed:u,embedWhenOpen:p,lang:_,color:m,timeZone:b,fontWeights:g,serviceTimeRange:h,onOpen:x,onClose:w,openPicker:v}){l.Settings.defaultLocale=_,l.Settings.defaultZone=b;const k=e?null:l.DateTime.now().toMillis(),[E,N]=n.useState(o?1e3*o:k),[C,R]=n.useState(!0===t?"arrival":"departure");n.useEffect(()=>{const e=null===E&&void 0===o,n=null===E||void 0===o,i=Math.round(E/1e3)===o;!e&&(n||!i)&&N(void 0===o?null:1e3*o),!t==("arrival"===C)&&R(!0===t?"arrival":"departure")},[o,t]);const F=y.default(e=>{if(null===e)return N(l.DateTime.now().toMillis()),void r(l.DateTime.now().toUnixInteger(),"arrival"===C);N(e),r(Math.round(e/1e3),"arrival"===C)},10),S=y.default(e=>{if(null===e)return N(l.DateTime.now().toMillis()),void d(l.DateTime.now().toUnixInteger(),"arrival"===C);N(e),d(Math.round(e/1e3),"arrival"===C)},10);return f.default.createElement(i.I18nextProvider,{i18n:G},f.default.createElement(W,{timestamp:E,onTimeChange:F,onDateChange:S,departureOrArrival:C,onNowClick:()=>{R("departure");const t=e?null:l.DateTime.now().toMillis();N(t),c(Math.round(t/1e3))},onDepartureClick:()=>{let e=!1,t=E;if(null===E){const n=l.DateTime.now().toMillis();N(n),t=n,e=!0}"departure"!==C&&(R("departure"),e=!0),e&&a(Math.round(t/1e3))},onArrivalClick:()=>{let e=!1,t=E;if(null===E){const n=l.DateTime.now().toMillis();N(n),t=n,e=!0}"arrival"!==C&&(R("arrival"),e=!0),e&&s(Math.round(t/1e3))},embedWhenClosed:u,embedWhenOpen:p,lang:_,color:m,timeZone:b,onModalSubmit:(e,t)=>{N(e),R(t),r(Math.round(e/1e3),"arrival"===t,!0)},fontWeights:g,serviceTimeRange:h,onOpen:x,onClose:w,openPicker:v}))}G.init(),"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})});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("prop-types"),require("react"),require("react-i18next"),require("luxon"),require("lodash/debounce"),require("lodash/uniqueId"),require("@digitransit-component/digitransit-component-icon"),require("react-select"),require("classnames"),require("react-modal"),require("downshift"),require("i18next")):"function"==typeof define&&define.amd?define(["exports","prop-types","react","react-i18next","luxon","lodash/debounce","lodash/uniqueId","@digitransit-component/digitransit-component-icon","react-select","classnames","react-modal","downshift","i18next"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-datetimepicker"]={},e.PropTypes,e.React,e.reactI18next,e.luxon,e.debounce,e.uniqueId,e.Icon,e.Select,e.cx,e.ReactModal,e.downshift,e.i18next)}(this,function(e,t,n,i,l,a,o,s,r,d,c,u,p){"use strict";function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=_(t),f=_(n),y=_(a),b=_(o),g=_(s),h=_(r),x=_(d),w=_(c);function v(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 k=(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 E(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])],k(t,n)}if(t=e.substring(0,e.length-1),n=e.substring(e.length-1||0),Number(n)>5)return!1}return k(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)&&k(n,i)}return!0}const N=(e,t)=>{const n=e.trim();if(null!==n.match(/^[0-9]{1,2}(\.|:)[0-9]{2}$/)){const e=n.includes(".")?".":":",i=n.split(e),a=Number(i[0]),o=!Number.isNaN(a)&&a>=0&&a<=23,s=Number(i[1]);if(!(!Number.isNaN(s)&&s>=0&&s<=59)||!o)return null;return l.DateTime.fromMillis(t).set({hour:a,minute:s,second:0,millisecond:0}).valueOf()}return null};var C={"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 R({value:e,onChange:t,getDisplay:a,timeChoices:o,id:s,label:r,icon:d,disableTyping:c,timeZone:u,datePicker:p,translationSettings:_}){l.Settings.defaultZone=u;const[m]=i.useTranslation(),[y,b]=n.useState(a(e)),[g,w]=n.useState(!1),[k,R]=n.useState(!0),[F,S]=n.useState(!1);n.useEffect(()=>{b(a(e)),p||S(!1)},[e]);const P=e=>{const n=Number(e);try{l.DateTime.fromMillis(n)}catch(e){return}t(n)};const T=o.map(e=>({value:e.toString(),label:a(e)})),D=p?T:T.filter(e=>e.label.split(":")[1]%15==0),W=D.length>0?null==D?void 0:D.reduce((t,n)=>Math.abs(e-t.value)<Math.abs(e-n.value)?t:n):void 0,q=`${s}-input`,G=`${s}-label`,$=m("invalid-input",_);return f.default.createElement("label",{className:C["combobox-container"],htmlFor:q},f.default.createElement("span",{className:C["sr-only"],id:G},r," ",y),d,f.default.createElement(h.default,{"aria-labelledby":G,ariaLiveMessages:{guidance:e=>void 0===e.isDisabled&&F?$:".",onChange:()=>"",onFilter:()=>"",onFocus:({context:e,label:t})=>"menu"===e?t:""},options:T,inputId:q,onChange:t=>{const n=l.DateTime.fromMillis(e).toFormat("HH:mm"),i=N(y,e);if(g)return null!==i?(n!==y&&t.value===e?P(i):P(t.value),w(!1)):(t.value!==e?P(t.value):b(a(e)),w(!1)),void(p||S(!1));p||S(!1),P(t.value)},components:{IndicatorsContainer:()=>null},className:x.default(C["datetimepicker-select-container"],F&&"datetimepicker-invalid-input"),classNamePrefix:"datetimepicker-select",onInputChange:(e,{action:t})=>{if("menu-close"===t?R(!0):k&&R(!1),!(c||e&&!function(e){if(e.length<(null==y?void 0:y.length)){const t=E(e);return S(!t),!0}if(/[a-zA-Z§ÄäÖö.-\s]/g.test(e))return!1;const t=E(e.length>5?e.slice(0,-1):e);return S(!t),e.length<=5}(e))&&"input-change"===t){const t=v(e);b(t),w(!0)}},inputValue:!c&&y,value:W,noOptionsMessage:()=>"",filterOption:(e,t)=>{var n;if(p)return!0;const i=5===t.length||4===t.length&&1===t.split(":")[0].length,l=e.label.split(":")[1]%15==0,a=1===(null===(n=t.split(":")[1])||void 0===n?void 0:n.length);if(k&&l)return!0;if(a){const n=1===t.split(":")[0].length?"0".concat(t.split(":")[0]):t.split(":")[0],i=t.split(":")[1],l=e.label.split(":")[0],a=e.label.split(":")[1];if(n===l){const e=10*Number(i),t=Number(a)-e;return t>=0&&t<=9}}return i&&!k?4===t.length?"0".concat(t)===e.label:t===e.label:!!l&&((e,t)=>{const n=t.length<=2?t:t.split(":")[0],i=/^([0-1]?[0-9]|2[0-3])$/.test(n),l=1===n.length?"0".concat(t):t;return!i||e.label.split(":")[0]===l.split(":")[0]})(e,t)},controlShouldRenderValue:c,tabSelectsValue:!1,placeholder:"",onFocus:e=>{c||e.target.select()},onBlur:()=>{if(g){const t=N(y,e);null!==t?(P(t),w(!1)):(b(a(e)),w(!1))}p||S(!1)},onKeyDown:e=>{["ArrowDown","ArrowUp"].includes(e.key)&&w(!1)},isSearchable:!c}))}function F(){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)}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===n&&i.firstChild?i.insertBefore(l,i.firstChild):i.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}(".styles_sr-only__BrzYQ:not(:focus, :active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\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}\n.styles_dt-datetimepicker__PtoFG button,\n.styles_dt-datetimepicker__PtoFG label {\n font-size: 1em;\n font-weight: inherit;\n}\n.styles_dt-datetimepicker__PtoFG label button {\n cursor: pointer;\n font-family: var(--font-family);\n}\n.styles_dt-datetimepicker__PtoFG .styles_hidden__6ySER {\n display: none;\n}\n.styles_dt-datetimepicker__PtoFG .styles_datetimepicker-open-container__1dVr5 {\n background-color: #f2f5f7;\n border-radius: 5px;\n padding: 15px;\n}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL {\n display: flex;\n flex-wrap: wrap;\n}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL.styles_closed__Fqe1r {\n margin: 11px 0 6px 18px;\n}\n@media screen and (max-width: 319px) {\n .styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL {\n margin-left: 14px;\n }\n}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_time-icon__ntgLZ svg {\n width: 18px;\n height: 19px;\n}\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}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_dropdown-icon__diYYB svg {\n width: 14px;\n height: 10px;\n}\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}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL .styles_close-icon__-MzK5 svg path {\n stroke-width: 30;\n}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL label {\n cursor: pointer;\n}\n.styles_dt-datetimepicker__PtoFG .styles_top-row-container__cXGjL label.styles_label-open__Gmvov {\n align-items: flex-start;\n display: flex;\n}\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}\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}\n@media screen and (min-width: 768px) {\n .styles_dt-datetimepicker__PtoFG .styles_textbutton__T7wS2 {\n margin-left: 14px;\n }\n}\n.styles_dt-datetimepicker__PtoFG .styles_textbutton__T7wS2.styles_active__4L82E {\n color: var(--color);\n}\n.styles_dt-datetimepicker__PtoFG .styles_combobox-left__Sp4kh {\n position: relative;\n margin-right: 4px;\n width: 63%;\n}\n.styles_dt-datetimepicker__PtoFG .styles_combobox-right__Hg8kN {\n position: relative;\n margin-left: 4px;\n width: 37%;\n}\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}\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}\n.styles_dt-datetimepicker__PtoFG .styles_radio-textbutton-label__h-zfy.styles_active__4L82E {\n font-weight: 500;\n background: white;\n}\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; /* stylelint-disable-line declaration-block-no-duplicate-properties */\n}\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}\n.styles_dt-datetimepicker__PtoFG .styles_radio-textbutton__tsKET {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\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 .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}\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}\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}\n.styles_dt-datetimepicker__PtoFG button.styles_close-button__2mfgI:hover {\n transform: scale(1.2);\n}\n.styles_dt-datetimepicker__PtoFG .styles_right-edge__29UYw {\n margin-left: auto;\n margin-right: 0;\n position: relative;\n top: -2px;\n}\n.styles_dt-datetimepicker__PtoFG .styles_combobox-container__CLY9U {\n cursor: pointer;\n}\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}\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}\n.styles_dt-datetimepicker__PtoFG .styles_combobox-icon__-0XPH.styles_date-input-icon__KMrj1 svg {\n width: 20px;\n height: 18px;\n}\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}\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}\n.styles_dt-datetimepicker__PtoFG .datetimepicker-invalid-input input {\n color: #f00 !important;\n}\n.styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l {\n position: relative;\n height: 40px;\n}\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}\n.styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__value-container {\n padding: 0;\n}\n.styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__single-value {\n margin: 0 0 0 47px;\n}\n.styles_dt-datetimepicker__PtoFG .styles_datetimepicker-select-container__EVW1l .datetimepicker-select__input {\n background: inherit;\n position: relative;\n margin-left: 40px;\n margin-top: -4px;\n}\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}\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}\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}\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}\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}\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}\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}\n.styles_dt-datetimepicker__PtoFG .styles_picker-container__V02r4 {\n margin: 14px 0 0 0;\n display: flex;\n}\n.styles_dt-datetimepicker__PtoFG .styles_combobox-mobile-container__u2DSO {\n flex-grow: 1;\n}\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\n.styles_mobile-modal-content__fWRgy {\n font-family: var(--font-family);\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}\n.styles_mobile-modal-content__fWRgy .styles_top-row__h8xy1 {\n display: flex;\n justify-content: space-between;\n margin-bottom: 21px;\n}\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}\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}\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}\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}\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}\n.styles_mobile-modal-content__fWRgy .styles_tab-row__orgwh .styles_radio-textbutton__tsKET {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY {\n display: flex;\n margin-bottom: 25px;\n}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY label:first-child {\n flex-basis: 60%;\n margin-right: 10px;\n}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY label:nth-child(2) {\n flex-basis: 40%;\n}\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}\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}\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}\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}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_combobox-icon__-0XPH.styles_date-input-icon__KMrj1 > svg {\n height: 20px;\n}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .mobile-datetimepicker-invalid-input {\n color: #f00 !important;\n}\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: 54px;\n margin-left: 10px;\n color: #333;\n height: 1.5265rem;\n}\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}\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}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_mobile-input-display__VUMd0 {\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}\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}\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}\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}\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}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_suggestionHighlighted__fzLiW {\n background: #dfe5e8;\n}\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}\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}\n.styles_mobile-modal-content__fWRgy .styles_input-row__2XXEY .styles_input-container__USZlF .styles_container__ihyhz .styles_input__PAfbH {\n color: black;\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}\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}\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}\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}\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&&(R.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})}),R.defaultProps={disableTyping:!1,timeZone:"Europe/Helsinki",datePicker:!1,translationSettings:{lng:"fi"}};const S=({value:e,dateChoices:t,id:n,getDisplay:i,onChange:l,labelId:a,inputId:o})=>{const s=t.map(e=>({value:e,label:i(e)})),r=s.find(t=>t.value===e)||s[0]||null,{isOpen:d,getToggleButtonProps:c,getMenuProps:p,getItemProps:_,highlightedIndex:m}=u.useSelect({selectedItem:r,items:s,itemToString:e=>{var t;return null!==(t=null==e?void 0:e.label)&&void 0!==t?t:""},onSelectedItemChange:({selectedItem:e})=>{e&&l(e.value)},id:n});return f.default.createElement("div",{className:C.container},f.default.createElement("div",c({"aria-labelledby":a,id:o}),f.default.createElement("div",{className:C.input},r.label)),f.default.createElement("div",{className:x.default(C.suggestionsContainerOpen,!d&&"hidden")},f.default.createElement("ul",p(),d&&s.map((e,t)=>f.default.createElement("li",Object.assign({key:e.value,className:x.default(C.suggestion,t===m&&C.suggestionHighlighted)},_({index:t})),f.default.createElement("span",null,e.label))))))};function P({value:e,getDisplay:t,onChange:n,itemCount:i,startTime:a,id:o,label:s,icon:r,timeZone:d}){l.Settings.defaultZone=d;const c=Array(i).fill().map((e,t)=>l.DateTime.fromMillis(a).plus({days:t}).toMillis()),u=!(navigator.userAgent.toLowerCase().indexOf("android")>-1),p=`${o}-label`,_=`${o}-input`;return f.default.createElement("label",{className:C["input-container"],htmlFor:_},f.default.createElement("span",null,r),f.default.createElement("span",{className:C["sr-only"],id:p},s),u?f.default.createElement("select",{id:_,className:C["mobile-input-display"],onChange:e=>n(Number(e.target.value)),value:e},c.map(e=>f.default.createElement("option",{key:e,value:e},t(e)))):f.default.createElement(S,{value:e,dateChoices:c,id:o,getDisplay:t,onChange:n,labelId:p,inputId:_}))}function T({value:e,getDisplay:t,onChange:i,id:a,label:o,icon:s,timeZone:r}){const[d,c]=n.useState(t(e)),[u,p]=n.useState(!0);l.Settings.defaultZone=r;const _=`${a}-input`,m=`${a}-label`,y=!u;return f.default.createElement("label",{className:C["input-container"],htmlFor:_},f.default.createElement("span",null,s),f.default.createElement("span",{className:C["sr-only"],id:m},o),f.default.createElement("input",{id:_,inputMode:"numeric",type:"text",maxLength:"6",className:x.default(C["time-input-mobile"],y&&"mobile-datetimepicker-invalid-input"),value:d,onFocus:e=>{e.target.setSelectionRange(0,0)},onChange:t=>{let n=t.target.value.replace(".",":");const l=E(n);if(p(l),n.match(/[0-9]{3}:[0-9]{2}/)&&n.slice(1)===d&&(n=n.charAt(0)),n.length>5)return;const a=v(n);c(a);const o=N(a,e);o&&i(o)}}))}function D({departureOrArrival:e,onNowClick:t,lang:a,color:o,timeZone:s,onSubmit:r,onCancel:d,timestamp:c,getTimeDisplay:u,dateSelectItemCount:p,getDateDisplay:_,fontWeights:m,onAfterClose:y}){l.Settings.defaultZone=s;const[h]=i.useTranslation(),x={lng:a},[v,k]=n.useState(c),[E,N]=n.useState(e);const[R]=n.useState(b.default("datetimepicker-")),F=l.DateTime.now().startOf("day").set({hour:l.DateTime.fromMillis(v).hour,minute:l.DateTime.fromMillis(v).minute}).toMillis();return f.default.createElement(w.default,{appElement:document?document.querySelector("#app"):void 0,isOpen:!0,className:C["mobile-modal-content"],overlayClassName:C["mobile-modal-overlay"],onAfterClose:y},f.default.createElement("div",{id:"digitransit-mobile-datetime",style:{"--color":`${o}`,"--font-weight-medium":m.medium}},f.default.createElement("div",{className:C["top-row"]},f.default.createElement("h3",{className:C["modal-title"]},h("choose-time",x)),f.default.createElement("button",{type:"button",className:C["departure-now-button"],onClick:t},h("departure-now",x))),f.default.createElement("div",{className:C["tab-row"]},f.default.createElement("label",{htmlFor:`${R}-modal-departure`,className:`${C["radio-tab-label"]}\n ${C["departure"===E?"active":void 0]}`},h("departure",x),f.default.createElement("input",{id:`${R}-modal-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:C["radio-textbutton"],onChange:()=>{N("departure")},checked:"departure"===E})),f.default.createElement("label",{htmlFor:`${R}-modal-arrival`,className:`${C["radio-tab-label"]}\n ${C["arrival"===E?"active":void 0]}`},h("arrival",x),f.default.createElement("input",{id:`${R}-modal-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:C["radio-textbutton"],onChange:()=>{N("arrival")},checked:"arrival"===E}))),f.default.createElement("div",{className:C["input-row"]},f.default.createElement(P,{value:v,getDisplay:_,onChange:k,itemCount:p,startTime:F,id:`${R}-date`,label:h("date",x),icon:f.default.createElement("span",{className:`${C["combobox-icon"]} ${C["date-input-icon"]}`},f.default.createElement(g.default,{img:"calendar",color:o})),timeZone:s}),f.default.createElement(T,{value:v,getDisplay:u,onChange:k,id:`${R}-time`,label:h("time",x),icon:f.default.createElement("span",{className:`${C["combobox-icon"]} ${C["time-input-icon"]}`},f.default.createElement(g.default,{img:"time",color:o})),timeZone:s})),f.default.createElement("div",{className:C["buttons-row"]},f.default.createElement("button",{type:"button",className:C["ready-button"],onClick:()=>r(v,E)},h("ready",x)),f.default.createElement("button",{type:"button",className:C["cancel-button"],onClick:d},h("cancel",x)))))}function W({timestamp:e,onTimeChange:t,onDateChange:a,departureOrArrival:o,onNowClick:s,onDepartureClick:r,onArrivalClick:d,embedWhenClosed:c,embedWhenOpen:u,lang:p,color:_,timeZone:m,onModalSubmit:y,fontWeights:h,serviceTimeRange:x,onOpen:w,onClose:v,openPicker:k}){l.Settings.defaultZone=m;const[E]=i.useTranslation(),[N,S]=n.useState(k||!1),[P,T]=n.useState(e||l.DateTime.now().toMillis()),[W,q]=n.useState(null),[G]=n.useState(b.default("datetimepicker-")),[$]=n.useState(F()&&function(){if("undefined"==typeof window||null===window)return!1;const e=document.createElement("input");return e.type="date","date"===e.type&&(e.type="time","time"===e.type)}()),X=n.useRef(),M=n.useRef(),z=n.useRef(),A={lng:p};n.useEffect(()=>{l.Settings.defaultLocale=p},[p]);const Z=null===e;n.useEffect(()=>{Z?T(l.DateTime.now().toMillis()):(W&&(clearInterval(W),q(null)),T(e))},[e]),n.useEffect(()=>{if(!Z)return;W&&clearInterval(W);const e=setInterval(()=>{const t=l.DateTime.now();l.DateTime.fromMillis(P).hasSame(t,"minute")||(clearInterval(e),q(null),T(t.toMillis()))},5e3);return q(e),()=>clearInterval(e)},[P]);const O=e=>{const t=l.DateTime.fromMillis(e),n=l.DateTime.now();let i;return t.hasSame(n,"day")?(i=E("today",A),i=`${i.charAt(0).toUpperCase()}${i.slice(1)}`):t.hasSame(n.plus({days:1}),"day")?(i=E("tomorrow",A),i=`${i.charAt(0).toUpperCase()}${i.slice(1)}`):i=t.toFormat("ccc d.L."),i},I=e=>l.DateTime.fromMillis(e).toFormat("HH:mm"),[L,V]=n.useMemo(()=>{const t=l.DateTime.fromMillis(e||l.DateTime.now().toMillis()),n=t.startOf("day").toMillis(),i=F();let a=[],o=t.startOf("day");for(;o.hasSame(n,"day");)a.push(o.valueOf()),o=i?o.plus({minutes:15}):o.plus({minutes:1});if(null===e){const e=3e5,t=Math.ceil(P/e)*e,n=Array(7).fill().map((n,i)=>t+i*e),i=a.map(e=>P-e).findIndex(e=>e<=0);a.splice(i,0,...n),a=Array.from(new Set(a))}const s=l.DateTime.now().startOf("day").set({hour:t.hour,minute:t.minute});return[a,Array(x).fill().map((e,t)=>s.plus({days:t}).toMillis())]},[e]);function j(){z.current&&(z.current.innerHTML=E("accessible-closed",A),setTimeout(()=>{z.current.innerHTML=null},100))}const H=()=>{S(!1),j(),v&&v()},Y=()=>{H(),s()};return f.default.createElement("fieldset",{className:C["dt-datetimepicker"],id:`${G}-root`,style:{"--color":`${_}`,"--font-weight-medium":h.medium}},f.default.createElement("legend",{className:C["sr-only"]},E("accessible-title",A)),f.default.createElement("span",{className:C["sr-only"]},E("accessible-update-instructions",A)),f.default.createElement("div",{className:N?`${C.hidden} datetimepicker-top-row`:`${C["top-row-container"]} ${C.closed} datetimepicker-top-row`},f.default.createElement("label",{className:C["label-open"],htmlFor:`${G}-open`},f.default.createElement("span",{className:C["time-icon"]},f.default.createElement(g.default,{img:"time",color:_})),f.default.createElement("span",{className:C["sr-only"]},E("accessible-open",A)),f.default.createElement("span",{role:"alert",className:C["sr-only"],ref:z}),f.default.createElement("button",{id:`${G}-open`,type:"button",className:`${C.textbutton} ${C.active} ${C["open-button"]}`,"aria-controls":`${G}-root`,"aria-expanded":"false",onClick:()=>{S(!0),z.current&&(z.current.innerHTML=E("accessible-opened",A),setTimeout(()=>{z.current.innerHTML=null},100)),w&&w()},ref:X},(()=>{if(Z&&"departure"===o)return f.default.createElement("span",null,E("departure-now",A));const e=O(P),t=I(P),n=E("departure"===o?"departure":"arrival",A),i=l.DateTime.now().hasSame(l.DateTime.fromMillis(P),"day"),a=l.DateTime.now().plus({days:1}).hasSame(l.DateTime.fromMillis(P),"day");return i?f.default.createElement("span",null,`${n} ${t}`):a?f.default.createElement("span",null,`${n} ${e.toLowerCase()} ${t}`):f.default.createElement("span",null,`${n} ${e} ${t}`)})(),f.default.createElement("span",{className:C["dropdown-icon"]},f.default.createElement(g.default,{img:"arrow-dropdown",color:_})))),f.default.createElement("span",{className:C["right-edge"]},c)),f.default.createElement("div",null),$?N&&f.default.createElement(D,{departureOrArrival:o,onNowClick:Y,lang:p,color:_,onSubmit:(e,t)=>{y(e,t),S(!1),j()},onCancel:H,onAfterClose:()=>requestAnimationFrame(()=>{var e;null===(e=X.current)||void 0===e||e.focus()}),getTimeDisplay:I,timeZone:m,timestamp:P,getDateDisplay:O,dateSelectItemCount:x,getDisplay:I,fontWeights:h}):f.default.createElement(f.default.Fragment,null,f.default.createElement("div",{className:`${C["datetimepicker-open-container"]} ${N?"":C.hidden}`},f.default.createElement("div",{className:N?`${C["top-row-container"]} datetimepicker-top-row`:`${C.hidden} datetimepicker-top-row`}," ",f.default.createElement("span",{role:"alert",className:C["sr-only"],ref:z}),f.default.createElement("span",null),f.default.createElement("span",{className:C["departure-or-arrival-container"]},f.default.createElement("label",{htmlFor:`${G}-departure`,className:`${C["radio-textbutton-label"]}\n ${C["departure"===o?"active":void 0]}`},E("departure",A),f.default.createElement("input",{id:`${G}-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:C["radio-textbutton"],onChange:()=>{r()},checked:"departure"===o})),f.default.createElement("label",{htmlFor:`${G}-arrival`,className:`${C["radio-textbutton-label"]}\n ${C["arrival"===o?"active":void 0]}`},E("arrival",A),f.default.createElement("input",{id:`${G}-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:C["radio-textbutton"],onChange:()=>{d()},checked:"arrival"===o}))),f.default.createElement("button",{id:`${G}-now`,type:"button",className:C["departure-now-button"],onClick:Y,ref:M},E("departure-now",A)),f.default.createElement("span",{className:C["right-edge"]},f.default.createElement("button",{type:"button",className:C["close-button"],"aria-controls":`${G}-root`,"aria-expanded":"true",onClick:H},f.default.createElement("span",{className:C["close-icon"]},f.default.createElement(g.default,{img:"close",color:_})),f.default.createElement("span",{className:C["sr-only"]},E("accessible-close",A))))),f.default.createElement("div",{className:N?`${C["picker-container"]}`:`${C.hidden} datetimepicker-top-row`},f.default.createElement("span",{className:C["combobox-left"]},f.default.createElement(R,{value:P,onChange:e=>{a(e)},getDisplay:O,timeChoices:V,validate:()=>null,icon:f.default.createElement("span",{className:`${C["combobox-icon"]} ${C["date-input-icon"]}`},f.default.createElement(g.default,{img:"calendar",color:_})),id:`${G}-date`,label:E("date",A),disableTyping:!0,timeZone:m,datePicker:!0})),f.default.createElement("span",{className:C["combobox-right"]},f.default.createElement(R,{value:P,onChange:e=>{t(e)},getDisplay:I,timeChoices:L,icon:f.default.createElement("span",{className:`${C["combobox-icon"]} ${C["time-input-icon"]}`},f.default.createElement(g.default,{img:"time",color:_})),id:`${G}-time`,label:E("time",A),timeZone:m,translationSettings:A})))),f.default.createElement("span",{className:N?"":C.hidden},u),f.default.createElement("div",{className:N?"datetimepicker-bottom-row-open":""})))}"production"!==process.env.NODE_ENV&&(S.propTypes={value:m.default.number.isRequired,dateChoices:m.default.arrayOf(m.default.number).isRequired,id:m.default.string.isRequired,getDisplay:m.default.func.isRequired,onChange:m.default.func.isRequired,labelId:m.default.string.isRequired,inputId:m.default.string.isRequired}),"production"!==process.env.NODE_ENV&&(P.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,timeZone:m.default.string}),P.defaultProps={icon:null,timeZone:"Europe/Helsinki"},"production"!==process.env.NODE_ENV&&(T.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}),T.defaultProps={icon:null,timeZone:"Europe/Helsinki"},l.Settings.defaultLocale="en","production"!==process.env.NODE_ENV&&(D.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,onAfterClose: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}),D.defaultProps={color:"#007ac9",timeZone:"Europe/Helsinki"},l.Settings.defaultLocale="en","production"!==process.env.NODE_ENV&&(W.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}),W.defaultProps={timestamp:null,embedWhenClosed:null,embedWhenOpen:null,color:"#007ac9",timeZone:"Europe/Helsinki",onOpen:null,onClose:null,openPicker:void 0};const q=p.createInstance({fallbackLng:"fi",resources:{de:{translation:{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:{translation:{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:{translation:{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:{translation:{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:{translation:{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"}}},defaultNS:"translation",react:{useSuspense:!0}});function G({realtime:e,initialArriveBy:t,initialTimestamp:a,onDepartureClick:o,onArrivalClick:s,onTimeChange:r,onDateChange:d,onNowClick:c,embedWhenClosed:u,embedWhenOpen:p,lang:_,color:m,timeZone:b,fontWeights:g,serviceTimeRange:h,onOpen:x,onClose:w,openPicker:v}){l.Settings.defaultLocale=_,l.Settings.defaultZone=b;const k=e?null:l.DateTime.now().toMillis(),[E,N]=n.useState(a?1e3*a:k),[C,R]=n.useState(!0===t?"arrival":"departure");n.useEffect(()=>{const e=null===E&&void 0===a,n=null===E||void 0===a,i=Math.round(E/1e3)===a;!e&&(n||!i)&&N(void 0===a?null:1e3*a),!t==("arrival"===C)&&R(!0===t?"arrival":"departure")},[a,t]);const F=y.default(e=>{if(null===e)return N(l.DateTime.now().toMillis()),void r(l.DateTime.now().toUnixInteger(),"arrival"===C);N(e),r(Math.round(e/1e3),"arrival"===C)},10),S=y.default(e=>{if(null===e)return N(l.DateTime.now().toMillis()),void d(l.DateTime.now().toUnixInteger(),"arrival"===C);N(e),d(Math.round(e/1e3),"arrival"===C)},10);return f.default.createElement(i.I18nextProvider,{i18n:q},f.default.createElement(W,{timestamp:E,onTimeChange:F,onDateChange:S,departureOrArrival:C,onNowClick:()=>{R("departure");const t=e?null:l.DateTime.now().toMillis();N(t),c(Math.round(t/1e3))},onDepartureClick:()=>{let e=!1,t=E;if(null===E){const n=l.DateTime.now().toMillis();N(n),t=n,e=!0}"departure"!==C&&(R("departure"),e=!0),e&&o(Math.round(t/1e3))},onArrivalClick:()=>{let e=!1,t=E;if(null===E){const n=l.DateTime.now().toMillis();N(n),t=n,e=!0}"arrival"!==C&&(R("arrival"),e=!0),e&&s(Math.round(t/1e3))},embedWhenClosed:u,embedWhenOpen:p,lang:_,color:m,timeZone:b,onModalSubmit:(e,t)=>{N(e),R(t),r(Math.round(e/1e3),"arrival"===t,!0)},fontWeights:g,serviceTimeRange:h,onOpen:x,onClose:w,openPicker:v}))}q.init(),"production"!==process.env.NODE_ENV&&(G.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}),G.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=G,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|