@digitransit-component/digitransit-component-datetimepicker 7.0.2 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -6
- package/lib/index.cjs +1 -1
- package/lib/index.cjs.map +1 -1
- package/lib/index.development.cjs +26 -86
- package/lib/index.js +25 -85
- package/lib/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ This component renders an input to choose a date and time. Renders separate inpu
|
|
|
10
10
|
|
|
11
11
|
* `props` **[Object][1]**
|
|
12
12
|
|
|
13
|
-
* `props.realtime` **[boolean][2]** Determine if selected time should be updated in realtime when 'now' is selected.
|
|
13
|
+
* `props.realtime` **[boolean][2]** Determine if selected time should be updated in realtime when 'now' is selected. (optional, default `false`)
|
|
14
14
|
* `props.initialArriveBy` **[boolean][2]** Initial value for arriveBy. Determines if picker is in arrival mode (true) or departure mode (false). Correct value is kept in component state even if this is not updated. Changing this will also trigger change in the component.
|
|
15
15
|
* `props.initialTimestamp` **[Number][3]** Initial value for selected time. Unix timestamp in seconds. Updating this will change timepicker value but the correct value is kept in component state even if this is not updated.
|
|
16
16
|
* `props.onDepartureClick` **[function][4]** Called with (time) when "departure" button is clicked. time is current input value in seconds
|
|
@@ -20,14 +20,13 @@ This component renders an input to choose a date and time. Renders separate inpu
|
|
|
20
20
|
* `props.onNowClick` **[function][4]** Called when "depart now" button is clicked. time is current input value in seconds
|
|
21
21
|
* `props.embedWhenClosed` **[node][5]** JSX element to render in the corner when input is closed
|
|
22
22
|
* `props.embedWhenOpen` **[node][5]** JSX element to render when input is open
|
|
23
|
-
* `props.lang` **[string][6]** Language selection. Default 'en'
|
|
24
|
-
* `props.serviceTimeRange` **[number][3]** Determine number of days shown in timepicker. Optional. default is 30.
|
|
23
|
+
* `props.lang` **[string][6]** Language selection. Default 'en' (optional, default `'en'`)
|
|
24
|
+
* `props.serviceTimeRange` **[number][3]** Determine number of days shown in timepicker. Optional. default is 30. (optional, default `30`)
|
|
25
25
|
* `props.onOpen` **[function][4]** Determine what to do when timepicker is open. Optional. no default implementation.
|
|
26
26
|
* `props.onClose` **[function][4]** Determine what to do when timepicker is closed. Optional. no default implementation.
|
|
27
27
|
* `props.openPicker` **[function][4]** Determine if timepicker should be open in intial render. Optional. Default is undefined.
|
|
28
|
-
* `props.color`
|
|
29
|
-
* `props.timeZone`
|
|
30
|
-
* `props.fontWeights`
|
|
28
|
+
* `props.color` (optional, default `'#007ac9'`)
|
|
29
|
+
* `props.timeZone` (optional, default `'Europe/Helsinki'`)
|
|
31
30
|
|
|
32
31
|
### Examples
|
|
33
32
|
|
package/lib/index.cjs
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,a,o,s,r,d,c,u,p){"use strict";function m(e){return e&&e.__esModule?e:{default:e}}var _=m(t),b=m(n),f=m(a),g=m(o),h=m(s),y=m(r),x=m(d),w=m(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 D(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 S=(e,t)=>{const n=e.trim();if(null!==n.match(/^[0-9]{1,2}(\.|:)[0-9]{2}$/)){const e=n.includes(".")?".":":",i=n.split(e),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 E={"sr-only":"styles_sr-only__D6MJ6","dt-datetimepicker":"styles_dt-datetimepicker__DSYbh",hidden:"styles_hidden__TjnWH","datetimepicker-open-container":"styles_datetimepicker-open-container__zWBiT","top-row-container":"styles_top-row-container__rGdmj",closed:"styles_closed__QYbCF","time-icon":"styles_time-icon__ES47Y","dropdown-icon":"styles_dropdown-icon__O0GrI","close-icon":"styles_close-icon__B5-I5","label-open":"styles_label-open__dVDlF",textbutton:"styles_textbutton__sVckw",active:"styles_active__9LaDz","combobox-left":"styles_combobox-left__nwwOo","combobox-right":"styles_combobox-right__qlPKD","departure-or-arrival-container":"styles_departure-or-arrival-container__Rj3b9","radio-textbutton-label":"styles_radio-textbutton-label__LeV2o","first-radio":"styles_first-radio__F8N7J","radio-textbutton":"styles_radio-textbutton__Ad81W","departure-now-button":"styles_departure-now-button__8ZlDU","open-button":"styles_open-button__yl4be","close-button":"styles_close-button__mdfIU","right-edge":"styles_right-edge__XbqgK","combobox-container":"styles_combobox-container__sR9aU","combobox-icon":"styles_combobox-icon__wsdX4","date-input-icon":"styles_date-input-icon__SFXGx","time-input-icon":"styles_time-input-icon__J1qei","datetimepicker-select-container":"styles_datetimepicker-select-container__Y8wgE","picker-container":"styles_picker-container__wz2Zj","combobox-mobile-container":"styles_combobox-mobile-container__ZzG8g","mobile-modal-overlay":"styles_mobile-modal-overlay__wq8cS","mobile-modal-content":"styles_mobile-modal-content__Gla3M","top-row":"styles_top-row__hzke9","modal-title":"styles_modal-title__CztKf","tab-row":"styles_tab-row__6WYwM","radio-tab-label":"styles_radio-tab-label__-7Fx-","input-row":"styles_input-row__r-26j","input-container":"styles_input-container__US3eW","time-input-mobile":"styles_time-input-mobile__QGutf","mobile-input-display":"styles_mobile-input-display__Xnjg1","mobile-input-hidden":"styles_mobile-input-hidden__tkKxe",container:"styles_container__YXGq1",suggestion:"styles_suggestion__3Hx-R",suggestionHighlighted:"styles_suggestionHighlighted__lexDG",suggestionsContainerOpen:"styles_suggestionsContainerOpen__pzu14",input:"styles_input__Yk2Tv","buttons-row":"styles_buttons-row__zrM35","ready-button":"styles_ready-button__e23mO"};function N({value:e,onChange:t,getDisplay:a,timeChoices:o,id:s,label:r,icon:d,disableTyping:c,timeZone:u,datePicker:p,translationSettings:m}){l.Settings.defaultZone=u;const[_]=i.useTranslation(),[f,g]=n.useState(a(e)),[h,w]=n.useState(!1),[k,N]=n.useState(!0),[C,M]=n.useState(!1);n.useEffect(()=>{g(a(e)),p||M(!1)},[e]);const T=e=>{const n=Number(e);try{l.DateTime.fromMillis(n)}catch(e){return}t(n)};const q=o.map(e=>({value:e.toString(),label:a(e)})),Y=p?q:q.filter(e=>e.label.split(":")[1]%15==0),R=Y.length>0?Y?.reduce((t,n)=>Math.abs(e-t.value)<Math.abs(e-n.value)?t:n):void 0,$=`${s}-input`,G=`${s}-label`,j=_("invalid-input",m);return b.default.createElement("label",{className:E["combobox-container"],htmlFor:$},b.default.createElement("span",{className:E["sr-only"],id:G},r," ",f),d,b.default.createElement(y.default,{"aria-labelledby":G,ariaLiveMessages:{guidance:e=>void 0===e.isDisabled&&C?j:".",onChange:()=>"",onFilter:()=>"",onFocus:({context:e,label:t})=>"menu"===e?t:""},options:q,inputId:$,onChange:t=>{const n=l.DateTime.fromMillis(e).toFormat("HH:mm"),i=S(f,e);if(h)return null!==i?(n!==f&&t.value===e?T(i):T(t.value),w(!1)):(t.value!==e?T(t.value):g(a(e)),w(!1)),void(p||M(!1));p||M(!1),T(t.value)},components:{IndicatorsContainer:()=>null},className:x.default(E["datetimepicker-select-container"],C&&"datetimepicker-invalid-input"),classNamePrefix:"datetimepicker-select",onInputChange:(e,{action:t})=>{if("menu-close"===t?N(!0):k&&N(!1),!(c||e&&!function(e){if(e.length<f?.length){const t=D(e);return M(!t),!0}if(/[a-zA-Z§ÄäÖö.-\s]/g.test(e))return!1;const t=D(e.length>5?e.slice(0,-1):e);return M(!t),e.length<=5}(e))&&"input-change"===t){const t=v(e);g(t),w(!0)}},inputValue:!c&&f,value:R,noOptionsMessage:()=>"",filterOption:(e,t)=>{if(p)return!0;const n=5===t.length||4===t.length&&1===t.split(":")[0].length,i=e.label.split(":")[1]%15==0,l=1===t.split(":")[1]?.length;if(k&&i)return!0;if(l){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 n&&!k?4===t.length?"0".concat(t)===e.label:t===e.label:!!i&&((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(h){const t=S(f,e);null!==t?(T(t),w(!1)):(g(a(e)),w(!1))}p||M(!1)},onKeyDown:e=>{["ArrowDown","ArrowUp"].includes(e.key)&&w(!1)},isSearchable:!c}))}function C(){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("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__D6MJ6:not(:focus, :active) {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.styles_dt-datetimepicker__DSYbh {\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__DSYbh button,\n.styles_dt-datetimepicker__DSYbh label {\n font-size: 1em;\n font-weight: inherit;\n}\n.styles_dt-datetimepicker__DSYbh label button {\n cursor: pointer;\n font-family: inherit;\n}\n.styles_dt-datetimepicker__DSYbh .styles_hidden__TjnWH {\n display: none;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-open-container__zWBiT {\n background-color: #f2f5f7;\n border-radius: 5px;\n padding: 15px;\n margin: 9px 0 9px 0;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n min-height: 36px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj.styles_closed__QYbCF {\n margin: 4px 0 6px 18px;\n}\n@media screen and (max-width: 319px) {\n .styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj {\n margin-left: 14px;\n }\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj .styles_time-icon__ES47Y svg {\n width: 18px;\n height: 19px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj .styles_dropdown-icon__O0GrI {\n margin-left: 9px;\n position: relative;\n top: 1px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj .styles_dropdown-icon__O0GrI svg {\n width: 14px;\n height: 10px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj .styles_close-icon__B5-I5 svg {\n width: 12px;\n height: 12px;\n border-radius: 1px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj .styles_close-icon__B5-I5 svg path {\n stroke-width: 30;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj label {\n cursor: pointer;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj label.styles_label-open__dVDlF {\n align-items: flex-start;\n display: flex;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj button,\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj label {\n font-size: 1em;\n letter-spacing: -0.5px;\n line-height: 1;\n}\n.styles_dt-datetimepicker__DSYbh .styles_textbutton__sVckw {\n margin-left: 9px;\n background: none;\n border: none;\n color: #666;\n}\n@media screen and (min-width: 768px) {\n .styles_dt-datetimepicker__DSYbh .styles_textbutton__sVckw {\n margin-left: 14px;\n }\n}\n.styles_dt-datetimepicker__DSYbh .styles_textbutton__sVckw.styles_active__9LaDz {\n color: var(--color);\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-left__nwwOo {\n position: relative;\n margin-right: 4px;\n width: 63%;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-right__qlPKD {\n position: relative;\n margin-left: 4px;\n width: 37%;\n}\n.styles_dt-datetimepicker__DSYbh .styles_departure-or-arrival-container__Rj3b9 {\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__DSYbh .styles_radio-textbutton-label__LeV2o {\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__DSYbh .styles_radio-textbutton-label__LeV2o.styles_active__9LaDz {\n font-weight: 500;\n background: white;\n}\n.styles_dt-datetimepicker__DSYbh .styles_radio-textbutton-label__LeV2o: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__DSYbh .styles_radio-textbutton-label__LeV2o.styles_first-radio__F8N7J {\n margin: 0;\n display: flex;\n align-items: flex-start;\n}\n.styles_dt-datetimepicker__DSYbh .styles_radio-textbutton__Ad81W {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_departure-now-button__8ZlDU {\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__DSYbh .styles_open-button__yl4be {\n display: flex;\n margin-bottom: 0;\n margin-top: 1px;\n padding: 2px 0 2px 0;\n}\n.styles_dt-datetimepicker__DSYbh button.styles_close-button__mdfIU {\n transition: transform 0.2s;\n position: relative;\n top: -14px;\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__DSYbh button.styles_close-button__mdfIU:hover {\n transform: scale(1.2);\n}\n.styles_dt-datetimepicker__DSYbh .styles_right-edge__XbqgK {\n margin-left: auto;\n margin-right: 0;\n position: relative;\n top: -2px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-container__sR9aU {\n cursor: pointer;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-icon__wsdX4 {\n color: var(--color);\n height: 40px;\n position: absolute;\n z-index: 7;\n pointer-events: none;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-icon__wsdX4.styles_date-input-icon__SFXGx {\n display: flex;\n align-items: center;\n padding: 0;\n margin-left: 14px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-icon__wsdX4.styles_date-input-icon__SFXGx svg {\n width: 20px;\n height: 18px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-icon__wsdX4.styles_time-input-icon__J1qei {\n display: flex;\n align-items: center;\n padding: 0;\n margin-left: 8px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-icon__wsdX4.styles_time-input-icon__J1qei svg {\n margin-top: 1px;\n width: 22px;\n height: 22px;\n}\n.styles_dt-datetimepicker__DSYbh .datetimepicker-invalid-input input {\n color: #f00 !important;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE {\n position: relative;\n height: 40px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__control {\n cursor: inherit;\n height: 40px;\n border: 1px solid #888;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__value-container {\n padding: 0;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__single-value {\n margin: 0 0 0 47px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__input {\n background: inherit;\n position: relative;\n margin-left: 40px;\n margin-top: -4px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .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__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__input input:focus {\n box-shadow: none;\n outline: none;\n border: none;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .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__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__menu .datetimepicker-select__menu-list {\n max-height: 250px;\n padding: 0;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .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__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__menu .datetimepicker-select__menu-list .datetimepicker-select__option--is-selected {\n background: inherit;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__menu .datetimepicker-select__menu-list .datetimepicker-select__option--is-focused {\n background: #dfe5e8;\n}\n.styles_dt-datetimepicker__DSYbh .styles_picker-container__wz2Zj {\n margin: 14px 0 0 0;\n display: flex;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-mobile-container__ZzG8g {\n flex-grow: 1;\n}\n\n.styles_mobile-modal-overlay__wq8cS {\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: 10001;\n}\n\n.styles_mobile-modal-content__Gla3M {\n font-family: inherit;\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__Gla3M .styles_top-row__hzke9 {\n display: flex;\n justify-content: space-between;\n margin-bottom: 21px;\n}\n.styles_mobile-modal-content__Gla3M .styles_top-row__hzke9 .styles_modal-title__CztKf {\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__Gla3M .styles_top-row__hzke9 .styles_departure-now-button__8ZlDU {\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__Gla3M .styles_tab-row__6WYwM {\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__Gla3M .styles_tab-row__6WYwM .styles_radio-tab-label__-7Fx- {\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__Gla3M .styles_tab-row__6WYwM .styles_radio-tab-label__-7Fx-.styles_active__9LaDz {\n font-weight: var(--font-weight-medium);\n background-color: #fff;\n}\n.styles_mobile-modal-content__Gla3M .styles_tab-row__6WYwM .styles_radio-textbutton__Ad81W {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j {\n display: flex;\n margin-bottom: 25px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j label:first-child {\n flex-basis: 60%;\n margin-right: 10px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j label:nth-child(2) {\n flex-basis: 40%;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW:focus-within {\n background: rgba(0, 122, 201, 0.06);\n border: 2px solid var(--color);\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_combobox-icon__wsdX4 {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_combobox-icon__wsdX4.styles_time-input-icon__J1qei > svg {\n height: 20px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_combobox-icon__wsdX4.styles_date-input-icon__SFXGx > svg {\n height: 20px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .mobile-datetimepicker-invalid-input {\n color: #f00 !important;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_time-input-mobile__QGutf {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_mobile-input-display__Xnjg1 {\n position: relative;\n left: 10px;\n border: none;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_mobile-input-display__Xnjg1:focus {\n outline: none;\n box-shadow: none;\n background: none;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_mobile-input-display__Xnjg1 {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_mobile-input-hidden__tkKxe {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_mobile-input-hidden__tkKxe:focus {\n outline: none;\n box-shadow: none;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 {\n position: absolute;\n width: calc((100% - 50px) * 0.6);\n height: 25px;\n font-size: 15px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_suggestion__3Hx-R {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_suggestionHighlighted__lexDG {\n background: #dfe5e8;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_suggestionsContainerOpen__pzu14 {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_suggestionsContainerOpen__pzu14 ul {\n padding: 0;\n margin: 0;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_input__Yk2Tv {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_input__Yk2Tv:focus {\n outline: none;\n border: none;\n background: none;\n}\n.styles_mobile-modal-content__Gla3M .styles_buttons-row__zrM35 {\n display: flex;\n flex-direction: column;\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n}\n.styles_mobile-modal-content__Gla3M .styles_buttons-row__zrM35 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__Gla3M .styles_buttons-row__zrM35 button.styles_ready-button__e23mO {\n color: white;\n background-color: var(--color);\n border: none;\n margin-bottom: 10px;\n}"),"production"!==process.env.NODE_ENV&&(N.propTypes={value:_.default.number.isRequired,onChange:_.default.func.isRequired,getDisplay:_.default.func.isRequired,timeChoices:_.default.arrayOf(_.default.number).isRequired,id:_.default.string.isRequired,label:_.default.node.isRequired,icon:_.default.node.isRequired,disableTyping:_.default.bool,timeZone:_.default.string,datePicker:_.default.bool,translationSettings:_.default.shape({lng:_.default.string.isRequired})}),N.defaultProps={disableTyping:!1,timeZone:"Europe/Helsinki",datePicker:!1,translationSettings:{lng:"fi"}};const M=({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:m,highlightedIndex:_}=u.useSelect({selectedItem:r,items:s,itemToString:e=>e?.label??"",onSelectedItemChange:({selectedItem:e})=>{e&&l(e.value)},id:n});return b.default.createElement("div",{className:E.container},b.default.createElement("div",c({"aria-labelledby":a,id:o}),b.default.createElement("div",{className:E.input},r.label)),b.default.createElement("div",{className:x.default(E.suggestionsContainerOpen,!d&&"hidden")},b.default.createElement("ul",p(),d&&s.map((e,t)=>b.default.createElement("li",Object.assign({key:e.value,className:x.default(E.suggestion,t===_&&E.suggestionHighlighted)},m({index:t})),b.default.createElement("span",null,e.label))))))};function T({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`,m=`${o}-input`;return b.default.createElement("label",{className:E["input-container"],htmlFor:m},b.default.createElement("span",null,r),b.default.createElement("span",{className:E["sr-only"],id:p},s),u?b.default.createElement("select",{id:m,className:E["mobile-input-display"],onChange:e=>n(Number(e.target.value)),value:e},c.map(e=>b.default.createElement("option",{key:e,value:e},t(e)))):b.default.createElement(M,{value:e,dateChoices:c,id:o,getDisplay:t,onChange:n,labelId:p,inputId:m}))}function q({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 m=`${a}-input`,_=`${a}-label`,f=!u;return b.default.createElement("label",{className:E["input-container"],htmlFor:m},b.default.createElement("span",null,s),b.default.createElement("span",{className:E["sr-only"],id:_},o),b.default.createElement("input",{id:m,inputMode:"numeric",type:"text",maxLength:"6",className:x.default(E["time-input-mobile"],f&&"mobile-datetimepicker-invalid-input"),value:d,onFocus:e=>{e.target.setSelectionRange(0,0)},onChange:t=>{let n=t.target.value.replace(".",":");const l=D(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=S(a,e);o&&i(o)}}))}function Y({departureOrArrival:e,onNowClick:t,lang:a,color:o,timeZone:s,onSubmit:r,onCancel:d,timestamp:c,getTimeDisplay:u,dateSelectItemCount:p,getDateDisplay:m,fontWeights:_,onAfterClose:f}){l.Settings.defaultZone=s;const[y]=i.useTranslation(),x={lng:a},[v,k]=n.useState(c),[D,S]=n.useState(e);const[N]=n.useState(g.default("datetimepicker-")),C=l.DateTime.now().startOf("day").set({hour:l.DateTime.fromMillis(v).hour,minute:l.DateTime.fromMillis(v).minute}).toMillis();return b.default.createElement(w.default,{appElement:document?document.querySelector("#app"):void 0,isOpen:!0,className:E["mobile-modal-content"],overlayClassName:E["mobile-modal-overlay"],onAfterClose:f},b.default.createElement("div",{id:"digitransit-mobile-datetime",style:{"--color":`${o}`,"--font-weight-medium":_.medium}},b.default.createElement("div",{className:E["top-row"]},b.default.createElement("h3",{className:E["modal-title"]},y("choose-time",x)),b.default.createElement("button",{type:"button",className:E["departure-now-button"],onClick:t},y("departure-now",x))),b.default.createElement("div",{className:E["tab-row"]},b.default.createElement("label",{htmlFor:`${N}-modal-departure`,className:`${E["radio-tab-label"]}\n ${E["departure"===D?"active":void 0]}`},y("departure",x),b.default.createElement("input",{id:`${N}-modal-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:E["radio-textbutton"],onChange:()=>{S("departure")},checked:"departure"===D})),b.default.createElement("label",{htmlFor:`${N}-modal-arrival`,className:`${E["radio-tab-label"]}\n ${E["arrival"===D?"active":void 0]}`},y("arrival",x),b.default.createElement("input",{id:`${N}-modal-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:E["radio-textbutton"],onChange:()=>{S("arrival")},checked:"arrival"===D}))),b.default.createElement("div",{className:E["input-row"]},b.default.createElement(T,{value:v,getDisplay:m,onChange:k,itemCount:p,startTime:C,id:`${N}-date`,label:y("date",x),icon:b.default.createElement("span",{className:`${E["combobox-icon"]} ${E["date-input-icon"]}`},b.default.createElement(h.default,{img:"calendar",color:o})),timeZone:s}),b.default.createElement(q,{value:v,getDisplay:u,onChange:k,id:`${N}-time`,label:y("time",x),icon:b.default.createElement("span",{className:`${E["combobox-icon"]} ${E["time-input-icon"]}`},b.default.createElement(h.default,{img:"time",color:o})),timeZone:s})),b.default.createElement("div",{className:E["buttons-row"]},b.default.createElement("button",{type:"button",className:E["ready-button"],onClick:()=>r(v,D)},y("ready",x)),b.default.createElement("button",{type:"button",className:E["cancel-button"],onClick:d},y("cancel",x)))))}function R({timestamp:e,onTimeChange:t,onDateChange:a,departureOrArrival:o,onNowClick:s,onDepartureClick:r,onArrivalClick:d,embedWhenClosed:c,embedWhenOpen:u,lang:p,color:m,timeZone:_,onModalSubmit:f,fontWeights:y,serviceTimeRange:x,onOpen:w,onClose:v,openPicker:k}){l.Settings.defaultZone=_;const[D]=i.useTranslation(),[S,M]=n.useState(k||!1),[T,q]=n.useState(e||l.DateTime.now().toMillis()),[R,$]=n.useState(null),[G]=n.useState(g.default("datetimepicker-")),[j]=n.useState(C()&&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)}()),z=n.useRef(),O=n.useRef(),W=n.useRef(),A={lng:p};n.useEffect(()=>{l.Settings.defaultLocale=p},[p]);const I=null===e;n.useEffect(()=>{I?q(l.DateTime.now().toMillis()):(R&&(clearInterval(R),$(null)),q(e))},[e]),n.useEffect(()=>{if(!I)return;R&&clearInterval(R);const e=setInterval(()=>{const t=l.DateTime.now();l.DateTime.fromMillis(T).hasSame(t,"minute")||(clearInterval(e),$(null),q(t.toMillis()))},5e3);return $(e),()=>clearInterval(e)},[T]);const Z=e=>{const t=l.DateTime.fromMillis(e),n=l.DateTime.now();let i;return t.hasSame(n,"day")?(i=D("today",A),i=`${i.charAt(0).toUpperCase()}${i.slice(1)}`):t.hasSame(n.plus({days:1}),"day")?(i=D("tomorrow",A),i=`${i.charAt(0).toUpperCase()}${i.slice(1)}`):i=t.toFormat("ccc d.L."),i},F=e=>l.DateTime.fromMillis(e).toFormat("HH:mm"),[U,P]=n.useMemo(()=>{const t=l.DateTime.fromMillis(e||l.DateTime.now().toMillis()),n=t.startOf("day").toMillis(),i=C();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(T/e)*e,n=Array(7).fill().map((n,i)=>t+i*e),i=a.map(e=>T-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 V(){W.current&&(W.current.innerHTML=D("accessible-closed",A),setTimeout(()=>{W.current&&(W.current.innerHTML=null)},100))}const X=()=>{M(!1),V(),v&&v()},L=()=>{X(),s()};return b.default.createElement("fieldset",{className:E["dt-datetimepicker"],id:`${G}-root`,style:{"--color":`${m}`,"--font-weight-medium":y.medium}},b.default.createElement("legend",{className:E["sr-only"]},D("accessible-title",A)),b.default.createElement("span",{className:E["sr-only"]},D("accessible-update-instructions",A)),b.default.createElement("div",{className:S?`${E.hidden} datetimepicker-top-row`:`${E["top-row-container"]} ${E.closed} datetimepicker-top-row`},b.default.createElement("label",{className:E["label-open"],htmlFor:`${G}-open`},b.default.createElement("span",{className:E["time-icon"]},b.default.createElement(h.default,{img:"time",color:m})),b.default.createElement("span",{className:E["sr-only"]},D("accessible-open",A)),b.default.createElement("span",{role:"alert",className:E["sr-only"],ref:W}),b.default.createElement("button",{id:`${G}-open`,type:"button",className:`${E.textbutton} ${E.active} ${E["open-button"]}`,"aria-controls":`${G}-root`,"aria-expanded":"false",onClick:()=>{M(!0),W.current&&(W.current.innerHTML=D("accessible-opened",A),setTimeout(()=>{W.current&&(W.current.innerHTML=null)},100)),w&&w()},ref:z},(()=>{if(I&&"departure"===o)return b.default.createElement("span",null,D("departure-now",A));const e=Z(T),t=F(T),n=D("departure"===o?"departure":"arrival",A),i=l.DateTime.now().hasSame(l.DateTime.fromMillis(T),"day"),a=l.DateTime.now().plus({days:1}).hasSame(l.DateTime.fromMillis(T),"day");return i?b.default.createElement("span",null,`${n} ${t}`):a?b.default.createElement("span",null,`${n} ${e.toLowerCase()} ${t}`):b.default.createElement("span",null,`${n} ${e} ${t}`)})(),b.default.createElement("span",{className:E["dropdown-icon"]},b.default.createElement(h.default,{img:"arrow-dropdown",color:m})))),b.default.createElement("span",{className:E["right-edge"]},c)),b.default.createElement("div",null),j?S&&b.default.createElement(Y,{departureOrArrival:o,onNowClick:L,lang:p,color:m,onSubmit:(e,t)=>{f(e,t),M(!1),V()},onCancel:X,onAfterClose:()=>requestAnimationFrame(()=>{z.current?.focus()}),getTimeDisplay:F,timeZone:_,timestamp:T,getDateDisplay:Z,dateSelectItemCount:x,getDisplay:F,fontWeights:y}):b.default.createElement(b.default.Fragment,null,b.default.createElement("div",{className:`${E["datetimepicker-open-container"]} ${S?"":E.hidden}`},b.default.createElement("div",{className:S?`${E["top-row-container"]} datetimepicker-top-row`:`${E.hidden} datetimepicker-top-row`}," ",b.default.createElement("span",{role:"alert",className:E["sr-only"],ref:W}),b.default.createElement("span",null),b.default.createElement("span",{className:E["departure-or-arrival-container"]},b.default.createElement("label",{htmlFor:`${G}-departure`,className:`${E["radio-textbutton-label"]}\n ${E["departure"===o?"active":void 0]}`},D("departure",A),b.default.createElement("input",{id:`${G}-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:E["radio-textbutton"],onChange:()=>{r()},checked:"departure"===o})),b.default.createElement("label",{htmlFor:`${G}-arrival`,className:`${E["radio-textbutton-label"]}\n ${E["arrival"===o?"active":void 0]}`},D("arrival",A),b.default.createElement("input",{id:`${G}-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:E["radio-textbutton"],onChange:()=>{d()},checked:"arrival"===o}))),b.default.createElement("button",{id:`${G}-now`,type:"button",className:E["departure-now-button"],onClick:L,ref:O},D("departure-now",A)),b.default.createElement("span",{className:E["right-edge"]},b.default.createElement("button",{type:"button",className:E["close-button"],"aria-controls":`${G}-root`,"aria-expanded":"true",onClick:X},b.default.createElement("span",{className:E["close-icon"]},b.default.createElement(h.default,{img:"close",color:m})),b.default.createElement("span",{className:E["sr-only"]},D("accessible-close",A))))),b.default.createElement("div",{className:S?`${E["picker-container"]}`:`${E.hidden} datetimepicker-top-row`},b.default.createElement("span",{className:E["combobox-left"]},b.default.createElement(N,{value:T,onChange:e=>{a(e)},getDisplay:Z,timeChoices:P,validate:()=>null,icon:b.default.createElement("span",{className:`${E["combobox-icon"]} ${E["date-input-icon"]}`},b.default.createElement(h.default,{img:"calendar",color:m})),id:`${G}-date`,label:D("date",A),disableTyping:!0,timeZone:_,datePicker:!0})),b.default.createElement("span",{className:E["combobox-right"]},b.default.createElement(N,{value:T,onChange:e=>{t(e)},getDisplay:F,timeChoices:U,icon:b.default.createElement("span",{className:`${E["combobox-icon"]} ${E["time-input-icon"]}`},b.default.createElement(h.default,{img:"time",color:m})),id:`${G}-time`,label:D("time",A),timeZone:_,translationSettings:A})))),b.default.createElement("span",{className:S?"":E.hidden},u)))}"production"!==process.env.NODE_ENV&&(M.propTypes={value:_.default.number.isRequired,dateChoices:_.default.arrayOf(_.default.number).isRequired,id:_.default.string.isRequired,getDisplay:_.default.func.isRequired,onChange:_.default.func.isRequired,labelId:_.default.string.isRequired,inputId:_.default.string.isRequired}),"production"!==process.env.NODE_ENV&&(T.propTypes={value:_.default.number.isRequired,getDisplay:_.default.func.isRequired,onChange:_.default.func.isRequired,itemCount:_.default.number.isRequired,startTime:_.default.number.isRequired,id:_.default.string.isRequired,label:_.default.string.isRequired,icon:_.default.node,timeZone:_.default.string}),T.defaultProps={icon:null,timeZone:"Europe/Helsinki"},"production"!==process.env.NODE_ENV&&(q.propTypes={value:_.default.number.isRequired,getDisplay:_.default.func.isRequired,onChange:_.default.func.isRequired,id:_.default.string.isRequired,label:_.default.string.isRequired,icon:_.default.node,timeZone:_.default.string}),q.defaultProps={icon:null,timeZone:"Europe/Helsinki"},l.Settings.defaultLocale="en","production"!==process.env.NODE_ENV&&(Y.propTypes={timeZone:_.default.string,departureOrArrival:_.default.oneOf(["departure","arrival"]).isRequired,onNowClick:_.default.func.isRequired,lang:_.default.string.isRequired,color:_.default.string,onSubmit:_.default.func.isRequired,onCancel:_.default.func.isRequired,onAfterClose:_.default.func.isRequired,timestamp:_.default.number.isRequired,getTimeDisplay:_.default.func.isRequired,dateSelectItemCount:_.default.number.isRequired,getDateDisplay:_.default.func.isRequired,fontWeights:_.default.shape({medium:_.default.number.isRequired}).isRequired}),Y.defaultProps={color:"#007ac9",timeZone:"Europe/Helsinki"},l.Settings.defaultLocale="en","production"!==process.env.NODE_ENV&&(R.propTypes={timestamp:_.default.number,timeZone:_.default.string,onTimeChange:_.default.func.isRequired,onDateChange:_.default.func.isRequired,departureOrArrival:_.default.oneOf(["departure","arrival"]).isRequired,onNowClick:_.default.func.isRequired,onDepartureClick:_.default.func.isRequired,onArrivalClick:_.default.func.isRequired,embedWhenClosed:_.default.node,embedWhenOpen:_.default.node,lang:_.default.string.isRequired,color:_.default.string,onModalSubmit:_.default.func.isRequired,fontWeights:_.default.shape({medium:_.default.number.isRequired}).isRequired,serviceTimeRange:_.default.number.isRequired,onOpen:_.default.func,onClose:_.default.func,openPicker:_.default.bool}),R.defaultProps={timestamp:null,embedWhenClosed:null,embedWhenOpen:null,color:"#007ac9",timeZone:"Europe/Helsinki",onOpen:null,onClose:null,openPicker:void 0};const $=p.createInstance({fallbackLng:"fi",resources:{de:{translation:{"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",cancel:"Abbrechen","choose-time":"Zeit wählen",date:"Datum",departure:"Abfahrt","departure-now":"Abfahrt jetzt",ready:"Fertig",time:"Zeit",today:"Heute",tomorrow:"Morgen"}},en:{translation:{"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",cancel:"Cancel","choose-time":"Choose time",date:"Date",departure:"Departure","departure-now":"Leaving now","invalid-input":"The time you entered is invalid",ready:"Ready",time:"Time",today:"Today",tomorrow:"Tomorrow"}},fi:{translation:{"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ä",cancel:"Peruuta","choose-time":"Valitse aika",date:"Päivä",departure:"Lähtöaika","departure-now":"Lähtö nyt","invalid-input":"Syöttämäsi aika on virheellinen",ready:"Valmis",time:"Aika",today:"Tänään",tomorrow:"Huomenna"}},pl:{translation:{"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",cancel:"Anuluj","choose-time":"Wybierz godzinę",date:"Data",departure:"Wyjazd","departure-now":"Wyjeżdżam teraz","invalid-input":"Wprowadzona godzina jest nieprawidłowa",ready:"Gotowe",time:"Godzina",today:"Dziś",tomorrow:"Jutro"}},sv:{translation:{"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",cancel:"Avbryt","choose-time":"Välj tid",date:"Datum",departure:"Avgångstid","departure-now":"Avgår nu","invalid-input":"Tiden du angav är felaktig",ready:"Färdig",time:"Tid",today:"I dag",tomorrow:"I morgon"}}},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:m,color:_,timeZone:g,fontWeights:h,serviceTimeRange:y,onOpen:x,onClose:w,openPicker:v}){l.Settings.defaultLocale=m,l.Settings.defaultZone=g;const k=e?null:l.DateTime.now().toMillis(),[D,S]=n.useState(a?1e3*a:k),[E,N]=n.useState(!0===t?"arrival":"departure");n.useEffect(()=>{const e=null===D&&void 0===a,n=null===D||void 0===a,i=Math.round(D/1e3)===a;!e&&(n||!i)&&S(void 0===a?null:1e3*a),!t==("arrival"===E)&&N(!0===t?"arrival":"departure")},[a,t]);const C=f.default(e=>{if(null===e)return S(l.DateTime.now().toMillis()),void r(l.DateTime.now().toUnixInteger(),"arrival"===E);S(e),r(Math.round(e/1e3),"arrival"===E)},10),M=f.default(e=>{if(null===e)return S(l.DateTime.now().toMillis()),void d(l.DateTime.now().toUnixInteger(),"arrival"===E);S(e),d(Math.round(e/1e3),"arrival"===E)},10);return b.default.createElement(i.I18nextProvider,{i18n:$},b.default.createElement(R,{timestamp:D,onTimeChange:C,onDateChange:M,departureOrArrival:E,onNowClick:()=>{N("departure");const t=e?null:l.DateTime.now().toMillis();S(t),c(Math.round(t/1e3))},onDepartureClick:()=>{let e=!1,t=D;if(null===D){const n=l.DateTime.now().toMillis();S(n),t=n,e=!0}"departure"!==E&&(N("departure"),e=!0),e&&o(Math.round(t/1e3))},onArrivalClick:()=>{let e=!1,t=D;if(null===D){const n=l.DateTime.now().toMillis();S(n),t=n,e=!0}"arrival"!==E&&(N("arrival"),e=!0),e&&s(Math.round(t/1e3))},embedWhenClosed:u,embedWhenOpen:p,lang:m,color:_,timeZone:g,onModalSubmit:(e,t)=>{S(e),N(t),r(Math.round(e/1e3),"arrival"===t,!0)},fontWeights:h,serviceTimeRange:y,onOpen:x,onClose:w,openPicker:v}))}$.init(),"production"!==process.env.NODE_ENV&&(G.propTypes={realtime:_.default.bool,initialTimestamp:_.default.number,initialArriveBy:_.default.bool,onDepartureClick:_.default.func.isRequired,onArrivalClick:_.default.func.isRequired,onTimeChange:_.default.func.isRequired,onDateChange:_.default.func.isRequired,onNowClick:_.default.func.isRequired,embedWhenClosed:_.default.node,embedWhenOpen:_.default.node,lang:_.default.string,color:_.default.string,timeZone:_.default.string,fontWeights:_.default.shape({medium:_.default.number}),serviceTimeRange:_.default.number,onOpen:_.default.func,onClose:_.default.func,openPicker:_.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})});
|
|
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,a,l,o,r,s,d,c,u,_){"use strict";function p(e){return e&&e.__esModule?e:{default:e}}var m=p(t),b=p(n),f=p(l),y=p(o),g=p(r),h=p(s),x=p(d),w=p(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 D(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 S=(e,t)=>{const n=e.trim();if(null!==n.match(/^[0-9]{1,2}(\.|:)[0-9]{2}$/)){const e=n.includes(".")?".":":",i=n.split(e),l=Number(i[0]),o=!Number.isNaN(l)&&l>=0&&l<=23,r=Number(i[1]);if(!(!Number.isNaN(r)&&r>=0&&r<=59)||!o)return null;return a.DateTime.fromMillis(t).set({hour:l,minute:r,second:0,millisecond:0}).valueOf()}return null};var E={"sr-only":"styles_sr-only__D6MJ6","dt-datetimepicker":"styles_dt-datetimepicker__DSYbh",hidden:"styles_hidden__TjnWH","datetimepicker-open-container":"styles_datetimepicker-open-container__zWBiT","top-row-container":"styles_top-row-container__rGdmj",closed:"styles_closed__QYbCF","time-icon":"styles_time-icon__ES47Y","dropdown-icon":"styles_dropdown-icon__O0GrI","close-icon":"styles_close-icon__B5-I5","label-open":"styles_label-open__dVDlF",textbutton:"styles_textbutton__sVckw",active:"styles_active__9LaDz","combobox-left":"styles_combobox-left__nwwOo","combobox-right":"styles_combobox-right__qlPKD","departure-or-arrival-container":"styles_departure-or-arrival-container__Rj3b9","radio-textbutton-label":"styles_radio-textbutton-label__LeV2o","first-radio":"styles_first-radio__F8N7J","radio-textbutton":"styles_radio-textbutton__Ad81W","departure-now-button":"styles_departure-now-button__8ZlDU","open-button":"styles_open-button__yl4be","close-button":"styles_close-button__mdfIU","right-edge":"styles_right-edge__XbqgK","combobox-container":"styles_combobox-container__sR9aU","combobox-icon":"styles_combobox-icon__wsdX4","date-input-icon":"styles_date-input-icon__SFXGx","time-input-icon":"styles_time-input-icon__J1qei","datetimepicker-select-container":"styles_datetimepicker-select-container__Y8wgE","picker-container":"styles_picker-container__wz2Zj","combobox-mobile-container":"styles_combobox-mobile-container__ZzG8g","mobile-modal-overlay":"styles_mobile-modal-overlay__wq8cS","mobile-modal-content":"styles_mobile-modal-content__Gla3M","top-row":"styles_top-row__hzke9","modal-title":"styles_modal-title__CztKf","tab-row":"styles_tab-row__6WYwM","radio-tab-label":"styles_radio-tab-label__-7Fx-","input-row":"styles_input-row__r-26j","input-container":"styles_input-container__US3eW","time-input-mobile":"styles_time-input-mobile__QGutf","mobile-input-display":"styles_mobile-input-display__Xnjg1","mobile-input-hidden":"styles_mobile-input-hidden__tkKxe",container:"styles_container__YXGq1",suggestion:"styles_suggestion__3Hx-R",suggestionHighlighted:"styles_suggestionHighlighted__lexDG",suggestionsContainerOpen:"styles_suggestionsContainerOpen__pzu14",input:"styles_input__Yk2Tv","buttons-row":"styles_buttons-row__zrM35","ready-button":"styles_ready-button__e23mO"};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if("undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}(".styles_sr-only__D6MJ6:not(:focus, :active) {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.styles_dt-datetimepicker__DSYbh {\n border: none;\n padding: 0;\n margin: 0;\n font-size: 15px;\n font-weight: var(--font-weight-medium, 500);\n}\n.styles_dt-datetimepicker__DSYbh button,\n.styles_dt-datetimepicker__DSYbh label {\n font-size: 1em;\n font-weight: inherit;\n}\n.styles_dt-datetimepicker__DSYbh label button {\n cursor: pointer;\n font-family: inherit;\n}\n.styles_dt-datetimepicker__DSYbh .styles_hidden__TjnWH {\n display: none;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-open-container__zWBiT {\n background-color: #f2f5f7;\n border-radius: 5px;\n padding: 15px;\n margin: 9px 0 9px 0;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n min-height: 36px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj.styles_closed__QYbCF {\n margin: 4px 0 6px 18px;\n}\n@media screen and (max-width: 319px) {\n .styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj {\n margin-left: 14px;\n }\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj .styles_time-icon__ES47Y svg {\n width: 18px;\n height: 19px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj .styles_dropdown-icon__O0GrI {\n margin-left: 9px;\n position: relative;\n top: 1px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj .styles_dropdown-icon__O0GrI svg {\n width: 14px;\n height: 10px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj .styles_close-icon__B5-I5 svg {\n width: 12px;\n height: 12px;\n border-radius: 1px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj .styles_close-icon__B5-I5 svg path {\n stroke-width: 30;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj label {\n cursor: pointer;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj label.styles_label-open__dVDlF {\n align-items: flex-start;\n display: flex;\n}\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj button,\n.styles_dt-datetimepicker__DSYbh .styles_top-row-container__rGdmj label {\n font-size: 1em;\n letter-spacing: -0.5px;\n line-height: 1;\n}\n.styles_dt-datetimepicker__DSYbh .styles_textbutton__sVckw {\n margin-left: 9px;\n background: none;\n border: none;\n color: #666;\n}\n@media screen and (min-width: 768px) {\n .styles_dt-datetimepicker__DSYbh .styles_textbutton__sVckw {\n margin-left: 14px;\n }\n}\n.styles_dt-datetimepicker__DSYbh .styles_textbutton__sVckw.styles_active__9LaDz {\n color: var(--color);\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-left__nwwOo {\n position: relative;\n margin-right: 4px;\n width: 63%;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-right__qlPKD {\n position: relative;\n margin-left: 4px;\n width: 37%;\n}\n.styles_dt-datetimepicker__DSYbh .styles_departure-or-arrival-container__Rj3b9 {\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__DSYbh .styles_radio-textbutton-label__LeV2o {\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__DSYbh .styles_radio-textbutton-label__LeV2o.styles_active__9LaDz {\n font-weight: 500;\n background: white;\n}\n.styles_dt-datetimepicker__DSYbh .styles_radio-textbutton-label__LeV2o: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__DSYbh .styles_radio-textbutton-label__LeV2o.styles_first-radio__F8N7J {\n margin: 0;\n display: flex;\n align-items: flex-start;\n}\n.styles_dt-datetimepicker__DSYbh .styles_radio-textbutton__Ad81W {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_departure-now-button__8ZlDU {\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__DSYbh .styles_open-button__yl4be {\n display: flex;\n margin-bottom: 0;\n margin-top: 1px;\n padding: 2px 0 2px 0;\n}\n.styles_dt-datetimepicker__DSYbh button.styles_close-button__mdfIU {\n transition: transform 0.2s;\n position: relative;\n top: -14px;\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__DSYbh button.styles_close-button__mdfIU:hover {\n transform: scale(1.2);\n}\n.styles_dt-datetimepicker__DSYbh .styles_right-edge__XbqgK {\n margin-left: auto;\n margin-right: 0;\n position: relative;\n top: -2px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-container__sR9aU {\n cursor: pointer;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-icon__wsdX4 {\n color: var(--color);\n height: 40px;\n position: absolute;\n z-index: 7;\n pointer-events: none;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-icon__wsdX4.styles_date-input-icon__SFXGx {\n display: flex;\n align-items: center;\n padding: 0;\n margin-left: 14px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-icon__wsdX4.styles_date-input-icon__SFXGx svg {\n width: 20px;\n height: 18px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-icon__wsdX4.styles_time-input-icon__J1qei {\n display: flex;\n align-items: center;\n padding: 0;\n margin-left: 8px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-icon__wsdX4.styles_time-input-icon__J1qei svg {\n margin-top: 1px;\n width: 22px;\n height: 22px;\n}\n.styles_dt-datetimepicker__DSYbh .datetimepicker-invalid-input input {\n color: #f00 !important;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE {\n position: relative;\n height: 40px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__control {\n cursor: inherit;\n height: 40px;\n border: 1px solid #888;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__value-container {\n padding: 0;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__single-value {\n margin: 0 0 0 47px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__input {\n background: inherit;\n position: relative;\n margin-left: 40px;\n margin-top: -4px;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .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, 500);\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__input input:focus {\n box-shadow: none;\n outline: none;\n border: none;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .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__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__menu .datetimepicker-select__menu-list {\n max-height: 250px;\n padding: 0;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .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__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__menu .datetimepicker-select__menu-list .datetimepicker-select__option--is-selected {\n background: inherit;\n}\n.styles_dt-datetimepicker__DSYbh .styles_datetimepicker-select-container__Y8wgE .datetimepicker-select__menu .datetimepicker-select__menu-list .datetimepicker-select__option--is-focused {\n background: #dfe5e8;\n}\n.styles_dt-datetimepicker__DSYbh .styles_picker-container__wz2Zj {\n margin: 14px 0 0 0;\n display: flex;\n}\n.styles_dt-datetimepicker__DSYbh .styles_combobox-mobile-container__ZzG8g {\n flex-grow: 1;\n}\n\n.styles_mobile-modal-overlay__wq8cS {\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: 10001;\n}\n\n.styles_mobile-modal-content__Gla3M {\n font-family: inherit;\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__Gla3M .styles_top-row__hzke9 {\n display: flex;\n justify-content: space-between;\n margin-bottom: 21px;\n}\n.styles_mobile-modal-content__Gla3M .styles_top-row__hzke9 .styles_modal-title__CztKf {\n font-weight: var(--font-weight-medium, 500);\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__Gla3M .styles_top-row__hzke9 .styles_departure-now-button__8ZlDU {\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, 500);\n font-size: 15px;\n line-height: 18px;\n letter-spacing: -0.02em;\n color: var(--color);\n}\n.styles_mobile-modal-content__Gla3M .styles_tab-row__6WYwM {\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__Gla3M .styles_tab-row__6WYwM .styles_radio-tab-label__-7Fx- {\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__Gla3M .styles_tab-row__6WYwM .styles_radio-tab-label__-7Fx-.styles_active__9LaDz {\n font-weight: var(--font-weight-medium, 500);\n background-color: #fff;\n}\n.styles_mobile-modal-content__Gla3M .styles_tab-row__6WYwM .styles_radio-textbutton__Ad81W {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j {\n display: flex;\n margin-bottom: 25px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j label:first-child {\n flex-basis: 60%;\n margin-right: 10px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j label:nth-child(2) {\n flex-basis: 40%;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW:focus-within {\n background: rgba(0, 122, 201, 0.06);\n border: 2px solid var(--color);\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_combobox-icon__wsdX4 {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_combobox-icon__wsdX4.styles_time-input-icon__J1qei > svg {\n height: 20px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_combobox-icon__wsdX4.styles_date-input-icon__SFXGx > svg {\n height: 20px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .mobile-datetimepicker-invalid-input {\n color: #f00 !important;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_time-input-mobile__QGutf {\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, 500);\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_mobile-input-display__Xnjg1 {\n position: relative;\n left: 10px;\n border: none;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_mobile-input-display__Xnjg1:focus {\n outline: none;\n box-shadow: none;\n background: none;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_mobile-input-display__Xnjg1 {\n background: inherit;\n box-shadow: none;\n font-family: inherit;\n font-weight: var(--font-weight-medium, 500);\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_mobile-input-hidden__tkKxe {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_mobile-input-hidden__tkKxe:focus {\n outline: none;\n box-shadow: none;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 {\n position: absolute;\n width: calc((100% - 50px) * 0.6);\n height: 25px;\n font-size: 15px;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_suggestion__3Hx-R {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_suggestionHighlighted__lexDG {\n background: #dfe5e8;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_suggestionsContainerOpen__pzu14 {\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_suggestionsContainerOpen__pzu14 ul {\n padding: 0;\n margin: 0;\n}\n.styles_mobile-modal-content__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_input__Yk2Tv {\n color: black;\n box-shadow: none;\n border: none;\n background: none;\n font-size: 16px;\n font-weight: var(--font-weight-medium, 500);\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__Gla3M .styles_input-row__r-26j .styles_input-container__US3eW .styles_container__YXGq1 .styles_input__Yk2Tv:focus {\n outline: none;\n border: none;\n background: none;\n}\n.styles_mobile-modal-content__Gla3M .styles_buttons-row__zrM35 {\n display: flex;\n flex-direction: column;\n font-size: 16px;\n font-weight: var(--font-weight-medium, 500);\n}\n.styles_mobile-modal-content__Gla3M .styles_buttons-row__zrM35 button {\n background-color: white;\n font-family: inherit;\n font-weight: var(--font-weight-medium, 500);\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__Gla3M .styles_buttons-row__zrM35 button.styles_ready-button__e23mO {\n color: white;\n background-color: var(--color);\n border: none;\n margin-bottom: 10px;\n}");const N={lng:"fi"};function C({value:e,onChange:t,getDisplay:l,timeChoices:o,id:r,label:s,icon:d,disableTyping:c=!1,timeZone:u="Europe/Helsinki",datePicker:_=!1,translationSettings:p=N}){a.Settings.defaultZone=u;const[m]=i.useTranslation(),[f,y]=n.useState(l(e)),[g,w]=n.useState(!1),[k,C]=n.useState(!0),[M,T]=n.useState(!1);n.useEffect(()=>{y(l(e)),_||T(!1)},[e]);const Y=e=>{const n=Number(e);try{a.DateTime.fromMillis(n)}catch(e){return}t(n)};const q=o.map(e=>({value:e.toString(),label:l(e)})),$=_?q:q.filter(e=>e.label.split(":")[1]%15==0),G=$.length>0?$?.reduce((t,n)=>Math.abs(e-t.value)<Math.abs(e-n.value)?t:n):void 0,R=`${r}-input`,j=`${r}-label`,z=m("invalid-input",p);return b.default.createElement("label",{className:E["combobox-container"],htmlFor:R},b.default.createElement("span",{className:E["sr-only"],id:j},s," ",f),d,b.default.createElement(h.default,{"aria-labelledby":j,ariaLiveMessages:{guidance:e=>void 0===e.isDisabled&&M?z:".",onChange:()=>"",onFilter:()=>"",onFocus:({context:e,label:t})=>"menu"===e?t:""},options:q,inputId:R,onChange:t=>{const n=a.DateTime.fromMillis(e).toFormat("HH:mm"),i=S(f,e);if(g)return null!==i?(n!==f&&t.value===e?Y(i):Y(t.value),w(!1)):(t.value!==e?Y(t.value):y(l(e)),w(!1)),void(_||T(!1));_||T(!1),Y(t.value)},components:{IndicatorsContainer:()=>null},className:x.default(E["datetimepicker-select-container"],M&&"datetimepicker-invalid-input"),classNamePrefix:"datetimepicker-select",onInputChange:(e,{action:t})=>{if("menu-close"===t?C(!0):k&&C(!1),!(c||e&&!function(e){if(e.length<f?.length){const t=D(e);return T(!t),!0}if(/[a-zA-Z§ÄäÖö.-\s]/g.test(e))return!1;const t=D(e.length>5?e.slice(0,-1):e);return T(!t),e.length<=5}(e))&&"input-change"===t){const t=v(e);y(t),w(!0)}},inputValue:!c&&f,value:G,noOptionsMessage:()=>"",filterOption:(e,t)=>{if(_)return!0;const n=5===t.length||4===t.length&&1===t.split(":")[0].length,i=e.label.split(":")[1]%15==0,a=1===t.split(":")[1]?.length;if(k&&i)return!0;if(a){const n=1===t.split(":")[0].length?"0".concat(t.split(":")[0]):t.split(":")[0],i=t.split(":")[1],a=e.label.split(":")[0],l=e.label.split(":")[1];if(n===a){const e=10*Number(i),t=Number(l)-e;return t>=0&&t<=9}}return n&&!k?4===t.length?"0".concat(t)===e.label:t===e.label:!!i&&((e,t)=>{const n=t.length<=2?t:t.split(":")[0],i=/^([0-1]?[0-9]|2[0-3])$/.test(n),a=1===n.length?"0".concat(t):t;return!i||e.label.split(":")[0]===a.split(":")[0]})(e,t)},controlShouldRenderValue:c,tabSelectsValue:!1,placeholder:"",onFocus:e=>{c||e.target.select()},onBlur:()=>{if(g){const t=S(f,e);null!==t?(Y(t),w(!1)):(y(l(e)),w(!1))}_||T(!1)},onKeyDown:e=>{["ArrowDown","ArrowUp"].includes(e.key)&&w(!1)},isSearchable:!c}))}function M(){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)}"production"!==process.env.NODE_ENV&&(C.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})});const T=({value:e,dateChoices:t,id:n,getDisplay:i,onChange:a,labelId:l,inputId:o})=>{const r=t.map(e=>({value:e,label:i(e)})),s=r.find(t=>t.value===e)||r[0]||null,{isOpen:d,getToggleButtonProps:c,getMenuProps:_,getItemProps:p,highlightedIndex:m}=u.useSelect({selectedItem:s,items:r,itemToString:e=>e?.label??"",onSelectedItemChange:({selectedItem:e})=>{e&&a(e.value)},id:n});return b.default.createElement("div",{className:E.container},b.default.createElement("div",c({"aria-labelledby":l,id:o}),b.default.createElement("div",{className:E.input},s.label)),b.default.createElement("div",{className:x.default(E.suggestionsContainerOpen,!d&&"hidden")},b.default.createElement("ul",_(),d&&r.map((e,t)=>b.default.createElement("li",Object.assign({key:e.value,className:x.default(E.suggestion,t===m&&E.suggestionHighlighted)},p({index:t})),b.default.createElement("span",null,e.label))))))};function Y({value:e,getDisplay:t,onChange:n,itemCount:i,startTime:l,id:o,label:r,icon:s,timeZone:d="Europe/Helsinki"}){a.Settings.defaultZone=d;const c=Array(i).fill().map((e,t)=>a.DateTime.fromMillis(l).plus({days:t}).toMillis()),u=!(navigator.userAgent.toLowerCase().indexOf("android")>-1),_=`${o}-label`,p=`${o}-input`;return b.default.createElement("label",{className:E["input-container"],htmlFor:p},b.default.createElement("span",null,s),b.default.createElement("span",{className:E["sr-only"],id:_},r),u?b.default.createElement("select",{id:p,className:E["mobile-input-display"],onChange:e=>n(Number(e.target.value)),value:e},c.map(e=>b.default.createElement("option",{key:e,value:e},t(e)))):b.default.createElement(T,{value:e,dateChoices:c,id:o,getDisplay:t,onChange:n,labelId:_,inputId:p}))}function q({value:e,getDisplay:t,onChange:i,id:l,label:o,icon:r,timeZone:s="Europe/Helsinki"}){const[d,c]=n.useState(t(e)),[u,_]=n.useState(!0);a.Settings.defaultZone=s;const p=`${l}-input`,m=`${l}-label`,f=!u;return b.default.createElement("label",{className:E["input-container"],htmlFor:p},b.default.createElement("span",null,r),b.default.createElement("span",{className:E["sr-only"],id:m},o),b.default.createElement("input",{id:p,inputMode:"numeric",type:"text",maxLength:"6",className:x.default(E["time-input-mobile"],f&&"mobile-datetimepicker-invalid-input"),value:d,onFocus:e=>{e.target.setSelectionRange(0,0)},onChange:t=>{let n=t.target.value.replace(".",":");const a=D(n);if(_(a),n.match(/[0-9]{3}:[0-9]{2}/)&&n.slice(1)===d&&(n=n.charAt(0)),n.length>5)return;const l=v(n);c(l);const o=S(l,e);o&&i(o)}}))}function $({departureOrArrival:e,onNowClick:t,lang:l,color:o="#007ac9",timeZone:r="Europe/Helsinki",onSubmit:s,onCancel:d,timestamp:c,getTimeDisplay:u,dateSelectItemCount:_,getDateDisplay:p,onAfterClose:m}){a.Settings.defaultZone=r;const[f]=i.useTranslation(),h={lng:l},[x,v]=n.useState(c),[k,D]=n.useState(e);const[S]=n.useState(y.default("datetimepicker-")),N=a.DateTime.now().startOf("day").set({hour:a.DateTime.fromMillis(x).hour,minute:a.DateTime.fromMillis(x).minute}).toMillis();return b.default.createElement(w.default,{appElement:document?document.querySelector("#app"):void 0,isOpen:!0,className:E["mobile-modal-content"],overlayClassName:E["mobile-modal-overlay"],onAfterClose:m},b.default.createElement("div",{id:"digitransit-mobile-datetime",style:{"--color":`${o}`}},b.default.createElement("div",{className:E["top-row"]},b.default.createElement("h3",{className:E["modal-title"]},f("choose-time",h)),b.default.createElement("button",{type:"button",className:E["departure-now-button"],onClick:t},f("departure-now",h))),b.default.createElement("div",{className:E["tab-row"]},b.default.createElement("label",{htmlFor:`${S}-modal-departure`,className:`${E["radio-tab-label"]}\n ${E["departure"===k?"active":void 0]}`},f("departure",h),b.default.createElement("input",{id:`${S}-modal-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:E["radio-textbutton"],onChange:()=>{D("departure")},checked:"departure"===k})),b.default.createElement("label",{htmlFor:`${S}-modal-arrival`,className:`${E["radio-tab-label"]}\n ${E["arrival"===k?"active":void 0]}`},f("arrival",h),b.default.createElement("input",{id:`${S}-modal-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:E["radio-textbutton"],onChange:()=>{D("arrival")},checked:"arrival"===k}))),b.default.createElement("div",{className:E["input-row"]},b.default.createElement(Y,{value:x,getDisplay:p,onChange:v,itemCount:_,startTime:N,id:`${S}-date`,label:f("date",h),icon:b.default.createElement("span",{className:`${E["combobox-icon"]} ${E["date-input-icon"]}`},b.default.createElement(g.default,{img:"calendar",color:o})),timeZone:r}),b.default.createElement(q,{value:x,getDisplay:u,onChange:v,id:`${S}-time`,label:f("time",h),icon:b.default.createElement("span",{className:`${E["combobox-icon"]} ${E["time-input-icon"]}`},b.default.createElement(g.default,{img:"time",color:o})),timeZone:r})),b.default.createElement("div",{className:E["buttons-row"]},b.default.createElement("button",{type:"button",className:E["ready-button"],onClick:()=>s(x,k)},f("ready",h)),b.default.createElement("button",{type:"button",className:E["cancel-button"],onClick:d},f("cancel",h)))))}function G({timestamp:e=null,onTimeChange:t,onDateChange:l,departureOrArrival:o,onNowClick:r,onDepartureClick:s,onArrivalClick:d,embedWhenClosed:c,embedWhenOpen:u,lang:_,color:p="#007ac9",timeZone:m="Europe/Helsinki",onModalSubmit:f,serviceTimeRange:h,onOpen:x,onClose:w,openPicker:v}){a.Settings.defaultZone=m;const[k]=i.useTranslation(),[D,S]=n.useState(v||!1),[N,T]=n.useState(e||a.DateTime.now().toMillis()),[Y,q]=n.useState(null),[G]=n.useState(y.default("datetimepicker-")),[R]=n.useState(M()&&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)}()),j=n.useRef(),z=n.useRef(),O=n.useRef(),A={lng:_};n.useEffect(()=>{a.Settings.defaultLocale=_},[_]);const W=null===e;n.useEffect(()=>{W?T(a.DateTime.now().toMillis()):(Y&&(clearInterval(Y),q(null)),T(e))},[e]),n.useEffect(()=>{if(!W)return;Y&&clearInterval(Y);const e=setInterval(()=>{const t=a.DateTime.now();a.DateTime.fromMillis(N).hasSame(t,"minute")||(clearInterval(e),q(null),T(t.toMillis()))},5e3);return q(e),()=>clearInterval(e)},[N]);const I=e=>{const t=a.DateTime.fromMillis(e),n=a.DateTime.now();let i;return t.hasSame(n,"day")?(i=k("today",A),i=`${i.charAt(0).toUpperCase()}${i.slice(1)}`):t.hasSame(n.plus({days:1}),"day")?(i=k("tomorrow",A),i=`${i.charAt(0).toUpperCase()}${i.slice(1)}`):i=t.toFormat("ccc d.L."),i},Z=e=>a.DateTime.fromMillis(e).toFormat("HH:mm"),[F,U]=n.useMemo(()=>{const t=a.DateTime.fromMillis(e||a.DateTime.now().toMillis()),n=t.startOf("day").toMillis(),i=M();let l=[],o=t.startOf("day");for(;o.hasSame(n,"day");)l.push(o.valueOf()),o=i?o.plus({minutes:15}):o.plus({minutes:1});if(null===e){const e=3e5,t=Math.ceil(N/e)*e,n=Array(7).fill().map((n,i)=>t+i*e),i=l.map(e=>N-e).findIndex(e=>e<=0);l.splice(i,0,...n),l=Array.from(new Set(l))}const r=a.DateTime.now().startOf("day").set({hour:t.hour,minute:t.minute});return[l,Array(h).fill().map((e,t)=>r.plus({days:t}).toMillis())]},[e]);function V(){O.current&&(O.current.innerHTML=k("accessible-closed",A),setTimeout(()=>{O.current&&(O.current.innerHTML=null)},100))}const X=()=>{S(!1),V(),w&&w()},L=()=>{X(),r()};return b.default.createElement("fieldset",{className:E["dt-datetimepicker"],id:`${G}-root`,style:{"--color":`${p}`}},b.default.createElement("legend",{className:E["sr-only"]},k("accessible-title",A)),b.default.createElement("span",{className:E["sr-only"]},k("accessible-update-instructions",A)),b.default.createElement("div",{className:D?`${E.hidden} datetimepicker-top-row`:`${E["top-row-container"]} ${E.closed} datetimepicker-top-row`},b.default.createElement("label",{className:E["label-open"],htmlFor:`${G}-open`},b.default.createElement("span",{className:E["time-icon"]},b.default.createElement(g.default,{img:"time",color:p})),b.default.createElement("span",{className:E["sr-only"]},k("accessible-open",A)),b.default.createElement("span",{role:"alert",className:E["sr-only"],ref:O}),b.default.createElement("button",{id:`${G}-open`,type:"button",className:`${E.textbutton} ${E.active} ${E["open-button"]}`,"aria-controls":`${G}-root`,"aria-expanded":"false",onClick:()=>{S(!0),O.current&&(O.current.innerHTML=k("accessible-opened",A),setTimeout(()=>{O.current&&(O.current.innerHTML=null)},100)),x&&x()},ref:j},(()=>{if(W&&"departure"===o)return b.default.createElement("span",null,k("departure-now",A));const e=I(N),t=Z(N),n=k("departure"===o?"departure":"arrival",A),i=a.DateTime.now().hasSame(a.DateTime.fromMillis(N),"day"),l=a.DateTime.now().plus({days:1}).hasSame(a.DateTime.fromMillis(N),"day");return i?b.default.createElement("span",null,`${n} ${t}`):l?b.default.createElement("span",null,`${n} ${e.toLowerCase()} ${t}`):b.default.createElement("span",null,`${n} ${e} ${t}`)})(),b.default.createElement("span",{className:E["dropdown-icon"]},b.default.createElement(g.default,{img:"arrow-dropdown",color:p})))),b.default.createElement("span",{className:E["right-edge"]},c)),b.default.createElement("div",null),R?D&&b.default.createElement($,{departureOrArrival:o,onNowClick:L,lang:_,color:p,onSubmit:(e,t)=>{f(e,t),S(!1),V()},onCancel:X,onAfterClose:()=>requestAnimationFrame(()=>{j.current?.focus()}),getTimeDisplay:Z,timeZone:m,timestamp:N,getDateDisplay:I,dateSelectItemCount:h,getDisplay:Z}):b.default.createElement(b.default.Fragment,null,b.default.createElement("div",{className:`${E["datetimepicker-open-container"]} ${D?"":E.hidden}`},b.default.createElement("div",{className:D?`${E["top-row-container"]} datetimepicker-top-row`:`${E.hidden} datetimepicker-top-row`}," ",b.default.createElement("span",{role:"alert",className:E["sr-only"],ref:O}),b.default.createElement("span",null),b.default.createElement("span",{className:E["departure-or-arrival-container"]},b.default.createElement("label",{htmlFor:`${G}-departure`,className:`${E["radio-textbutton-label"]}\n ${E["departure"===o?"active":void 0]}`},k("departure",A),b.default.createElement("input",{id:`${G}-departure`,name:"departureOrArrival",type:"radio",value:"departure",className:E["radio-textbutton"],onChange:()=>{s()},checked:"departure"===o})),b.default.createElement("label",{htmlFor:`${G}-arrival`,className:`${E["radio-textbutton-label"]}\n ${E["arrival"===o?"active":void 0]}`},k("arrival",A),b.default.createElement("input",{id:`${G}-arrival`,name:"departureOrArrival",type:"radio",value:"arrival",className:E["radio-textbutton"],onChange:()=>{d()},checked:"arrival"===o}))),b.default.createElement("button",{id:`${G}-now`,type:"button",className:E["departure-now-button"],onClick:L,ref:z},k("departure-now",A)),b.default.createElement("span",{className:E["right-edge"]},b.default.createElement("button",{type:"button",className:E["close-button"],"aria-controls":`${G}-root`,"aria-expanded":"true",onClick:X},b.default.createElement("span",{className:E["close-icon"]},b.default.createElement(g.default,{img:"close",color:p})),b.default.createElement("span",{className:E["sr-only"]},k("accessible-close",A))))),b.default.createElement("div",{className:D?`${E["picker-container"]}`:`${E.hidden} datetimepicker-top-row`},b.default.createElement("span",{className:E["combobox-left"]},b.default.createElement(C,{value:N,onChange:e=>{l(e)},getDisplay:I,timeChoices:U,validate:()=>null,icon:b.default.createElement("span",{className:`${E["combobox-icon"]} ${E["date-input-icon"]}`},b.default.createElement(g.default,{img:"calendar",color:p})),id:`${G}-date`,label:k("date",A),disableTyping:!0,timeZone:m,datePicker:!0})),b.default.createElement("span",{className:E["combobox-right"]},b.default.createElement(C,{value:N,onChange:e=>{t(e)},getDisplay:Z,timeChoices:F,icon:b.default.createElement("span",{className:`${E["combobox-icon"]} ${E["time-input-icon"]}`},b.default.createElement(g.default,{img:"time",color:p})),id:`${G}-time`,label:k("time",A),timeZone:m,translationSettings:A})))),b.default.createElement("span",{className:D?"":E.hidden},u)))}"production"!==process.env.NODE_ENV&&(T.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&&(Y.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}),"production"!==process.env.NODE_ENV&&(q.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}),a.Settings.defaultLocale="en","production"!==process.env.NODE_ENV&&($.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}),a.Settings.defaultLocale="en","production"!==process.env.NODE_ENV&&(G.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,serviceTimeRange:m.default.number.isRequired,onOpen:m.default.func,onClose:m.default.func,openPicker:m.default.bool});const R=_.createInstance({fallbackLng:"fi",resources:{de:{translation:{"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",cancel:"Abbrechen","choose-time":"Zeit wählen",date:"Datum",departure:"Abfahrt","departure-now":"Abfahrt jetzt",ready:"Fertig",time:"Zeit",today:"Heute",tomorrow:"Morgen"}},en:{translation:{"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",cancel:"Cancel","choose-time":"Choose time",date:"Date",departure:"Departure","departure-now":"Leaving now","invalid-input":"The time you entered is invalid",ready:"Ready",time:"Time",today:"Today",tomorrow:"Tomorrow"}},fi:{translation:{"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ä",cancel:"Peruuta","choose-time":"Valitse aika",date:"Päivä",departure:"Lähtöaika","departure-now":"Lähtö nyt","invalid-input":"Syöttämäsi aika on virheellinen",ready:"Valmis",time:"Aika",today:"Tänään",tomorrow:"Huomenna"}},pl:{translation:{"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",cancel:"Anuluj","choose-time":"Wybierz godzinę",date:"Data",departure:"Wyjazd","departure-now":"Wyjeżdżam teraz","invalid-input":"Wprowadzona godzina jest nieprawidłowa",ready:"Gotowe",time:"Godzina",today:"Dziś",tomorrow:"Jutro"}},sv:{translation:{"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",cancel:"Avbryt","choose-time":"Välj tid",date:"Datum",departure:"Avgångstid","departure-now":"Avgår nu","invalid-input":"Tiden du angav är felaktig",ready:"Färdig",time:"Tid",today:"I dag",tomorrow:"I morgon"}}},defaultNS:"translation",react:{useSuspense:!0}});function j({realtime:e=!1,initialArriveBy:t,initialTimestamp:l,onDepartureClick:o,onArrivalClick:r,onTimeChange:s,onDateChange:d,onNowClick:c,embedWhenClosed:u,embedWhenOpen:_,lang:p="en",color:m="#007ac9",timeZone:y="Europe/Helsinki",serviceTimeRange:g=30,onOpen:h,onClose:x,openPicker:w}){a.Settings.defaultLocale=p,a.Settings.defaultZone=y;const v=e?null:a.DateTime.now().toMillis(),[k,D]=n.useState(l?1e3*l:v),[S,E]=n.useState(!0===t?"arrival":"departure");n.useEffect(()=>{const e=null===k&&void 0===l,n=null===k||void 0===l,i=Math.round(k/1e3)===l;!e&&(n||!i)&&D(void 0===l?null:1e3*l),!t==("arrival"===S)&&E(!0===t?"arrival":"departure")},[l,t]);const N=f.default(e=>{if(null===e)return D(a.DateTime.now().toMillis()),void s(a.DateTime.now().toUnixInteger(),"arrival"===S);D(e),s(Math.round(e/1e3),"arrival"===S)},10),C=f.default(e=>{if(null===e)return D(a.DateTime.now().toMillis()),void d(a.DateTime.now().toUnixInteger(),"arrival"===S);D(e),d(Math.round(e/1e3),"arrival"===S)},10);return b.default.createElement(i.I18nextProvider,{i18n:R},b.default.createElement(G,{timestamp:k,onTimeChange:N,onDateChange:C,departureOrArrival:S,onNowClick:()=>{E("departure");const t=e?null:a.DateTime.now().toMillis();D(t),c(Math.round(t/1e3))},onDepartureClick:()=>{let e=!1,t=k;if(null===k){const n=a.DateTime.now().toMillis();D(n),t=n,e=!0}"departure"!==S&&(E("departure"),e=!0),e&&o(Math.round(t/1e3))},onArrivalClick:()=>{let e=!1,t=k;if(null===k){const n=a.DateTime.now().toMillis();D(n),t=n,e=!0}"arrival"!==S&&(E("arrival"),e=!0),e&&r(Math.round(t/1e3))},embedWhenClosed:u,embedWhenOpen:_,lang:p,color:m,timeZone:y,onModalSubmit:(e,t)=>{D(e),E(t),s(Math.round(e/1e3),"arrival"===t,!0)},serviceTimeRange:g,onOpen:h,onClose:x,openPicker:w}))}R.init(),"production"!==process.env.NODE_ENV&&(j.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,serviceTimeRange:m.default.number,onOpen:m.default.func,onClose:m.default.func,openPicker:m.default.bool}),e.default=j,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|