diff --git a/package.json b/package.json index 6731b79c..c6364f81 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "generate": "graphql-codegen", "prestart": "yarn generate", "predev": "yarn generate", - "generate-widget-version": "sh ./scripts/build-widget.sh" + "generate-widget-version": "sh ./scripts/build-widget.sh", + "postinstall": "patch-package" }, "dependencies": { "@apollo/client": "^3.8.8", @@ -81,6 +82,8 @@ "graphql-tag": "^2.12.6", "happy-dom": "^12.10.3", "next-router-mock": "^0.9.10", + "patch-package": "^8.0.0", + "postinstall-postinstall": "^2.1.0", "prettier": "^3.1.1", "rimraf": "^5.0.1", "typescript": "5.3.3", diff --git a/patches/@github+combobox-nav+2.3.0.patch b/patches/@github+combobox-nav+2.3.0.patch new file mode 100644 index 00000000..1654282f --- /dev/null +++ b/patches/@github+combobox-nav+2.3.0.patch @@ -0,0 +1,22 @@ +diff --git a/node_modules/@github/combobox-nav/dist/index.js b/node_modules/@github/combobox-nav/dist/index.js +index d86de71..3956688 100644 +--- a/node_modules/@github/combobox-nav/dist/index.js ++++ b/node_modules/@github/combobox-nav/dist/index.js +@@ -34,7 +34,7 @@ export default class Combobox { + this.input.addEventListener('compositionend', this.compositionEventHandler); + this.input.addEventListener('input', this.inputHandler); + this.input.addEventListener('keydown', this.keyboardEventHandler); +- this.list.addEventListener('click', commitWithElement); ++ this.list.addEventListener('mousedown', commitWithElement); + this.indicateDefaultOption(); + } + stop() { +@@ -44,7 +44,7 @@ export default class Combobox { + this.input.removeEventListener('compositionend', this.compositionEventHandler); + this.input.removeEventListener('input', this.inputHandler); + this.input.removeEventListener('keydown', this.keyboardEventHandler); +- this.list.removeEventListener('click', commitWithElement); ++ this.list.removeEventListener('mousedown', commitWithElement); + } + indicateDefaultOption() { + var _a; diff --git a/public/widget/GYJwhgtkA/2.6.0/planner-web.mjs b/public/widget/GYJwhgtkA/2.6.0/planner-web.mjs index 541f1d3d..47d82358 100644 --- a/public/widget/GYJwhgtkA/2.6.0/planner-web.mjs +++ b/public/widget/GYJwhgtkA/2.6.0/planner-web.mjs @@ -1,22 +1,22 @@ -class H { +class q { constructor(e, i, { tabInsertsSuggestions: n, defaultFirstOption: a, scrollIntoViewOptions: s } = {}) { - this.input = e, this.list = i, this.tabInsertsSuggestions = n ?? !0, this.defaultFirstOption = a ?? !1, this.scrollIntoViewOptions = s, this.isComposing = !1, i.id || (i.id = `combobox-${Math.random().toString().slice(2, 6)}`), this.ctrlBindings = !!navigator.userAgent.match(/Macintosh/), this.keyboardEventHandler = (d) => F(d, this), this.compositionEventHandler = (d) => x(d, this), this.inputHandler = this.clearSelection.bind(this), e.setAttribute("role", "combobox"), e.setAttribute("aria-controls", i.id), e.setAttribute("aria-expanded", "false"), e.setAttribute("aria-autocomplete", "list"), e.setAttribute("aria-haspopup", "listbox"); + this.input = e, this.list = i, this.tabInsertsSuggestions = n ?? !0, this.defaultFirstOption = a ?? !1, this.scrollIntoViewOptions = s, this.isComposing = !1, i.id || (i.id = `combobox-${Math.random().toString().slice(2, 6)}`), this.ctrlBindings = !!navigator.userAgent.match(/Macintosh/), this.keyboardEventHandler = (d) => H(d, this), this.compositionEventHandler = (d) => N(d, this), this.inputHandler = this.clearSelection.bind(this), e.setAttribute("role", "combobox"), e.setAttribute("aria-controls", i.id), e.setAttribute("aria-expanded", "false"), e.setAttribute("aria-autocomplete", "list"), e.setAttribute("aria-haspopup", "listbox"); } destroy() { this.clearSelection(), this.stop(), this.input.removeAttribute("role"), this.input.removeAttribute("aria-controls"), this.input.removeAttribute("aria-expanded"), this.input.removeAttribute("aria-autocomplete"), this.input.removeAttribute("aria-haspopup"); } start() { - this.input.setAttribute("aria-expanded", "true"), this.input.addEventListener("compositionstart", this.compositionEventHandler), this.input.addEventListener("compositionend", this.compositionEventHandler), this.input.addEventListener("input", this.inputHandler), this.input.addEventListener("keydown", this.keyboardEventHandler), this.list.addEventListener("click", I), this.indicateDefaultOption(); + this.input.setAttribute("aria-expanded", "true"), this.input.addEventListener("compositionstart", this.compositionEventHandler), this.input.addEventListener("compositionend", this.compositionEventHandler), this.input.addEventListener("input", this.inputHandler), this.input.addEventListener("keydown", this.keyboardEventHandler), this.list.addEventListener("mousedown", C), this.indicateDefaultOption(); } stop() { - this.clearSelection(), this.input.setAttribute("aria-expanded", "false"), this.input.removeEventListener("compositionstart", this.compositionEventHandler), this.input.removeEventListener("compositionend", this.compositionEventHandler), this.input.removeEventListener("input", this.inputHandler), this.input.removeEventListener("keydown", this.keyboardEventHandler), this.list.removeEventListener("click", I); + this.clearSelection(), this.input.setAttribute("aria-expanded", "false"), this.input.removeEventListener("compositionstart", this.compositionEventHandler), this.input.removeEventListener("compositionend", this.compositionEventHandler), this.input.removeEventListener("input", this.inputHandler), this.input.removeEventListener("keydown", this.keyboardEventHandler), this.list.removeEventListener("mousedown", C); } indicateDefaultOption() { var e; - this.defaultFirstOption && ((e = Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(T)[0]) === null || e === void 0 || e.setAttribute("data-combobox-option-default", "true")); + this.defaultFirstOption && ((e = Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(A)[0]) === null || e === void 0 || e.setAttribute("data-combobox-option-default", "true")); } navigate(e = 1) { - const i = Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(T)[0], n = Array.from(this.list.querySelectorAll('[role="option"]')).filter(T), a = n.indexOf(i); + const i = Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(A)[0], n = Array.from(this.list.querySelectorAll('[role="option"]')).filter(A), a = n.indexOf(i); if (a === n.length - 1 && e === 1 || a === 0 && e === -1) { this.clearSelection(), this.input.focus(); return; @@ -29,7 +29,7 @@ class H { const d = n[s]; if (d) for (const m of n) - m.removeAttribute("data-combobox-option-default"), d === m ? (this.input.setAttribute("aria-activedescendant", d.id), d.setAttribute("aria-selected", "true"), N(d), d.scrollIntoView(this.scrollIntoViewOptions)) : m.removeAttribute("aria-selected"); + m.removeAttribute("data-combobox-option-default"), d === m ? (this.input.setAttribute("aria-activedescendant", d.id), d.setAttribute("aria-selected", "true"), W(d), d.scrollIntoView(this.scrollIntoViewOptions)) : m.removeAttribute("aria-selected"); } clearSelection() { this.input.removeAttribute("aria-activedescendant"); @@ -38,14 +38,14 @@ class H { this.indicateDefaultOption(); } } -function F(t, e) { +function H(t, e) { if (!(t.shiftKey || t.metaKey || t.altKey) && !(!e.ctrlBindings && t.ctrlKey) && !e.isComposing) switch (t.key) { case "Enter": - C(e.input, e.list) && t.preventDefault(); + D(e.input, e.list) && t.preventDefault(); break; case "Tab": - e.tabInsertsSuggestions && C(e.input, e.list) && t.preventDefault(); + e.tabInsertsSuggestions && D(e.input, e.list) && t.preventDefault(); break; case "Escape": e.clearSelection(); @@ -68,99 +68,99 @@ function F(t, e) { e.clearSelection(); } } -function I(t) { +function C(t) { if (!(t.target instanceof Element)) return; const e = t.target.closest('[role="option"]'); - e && e.getAttribute("aria-disabled") !== "true" && W(e, { event: t }); + e && e.getAttribute("aria-disabled") !== "true" && F(e, { event: t }); } -function C(t, e) { +function D(t, e) { const i = e.querySelector('[aria-selected="true"], [data-combobox-option-default="true"]'); return i ? (i.getAttribute("aria-disabled") === "true" || i.click(), !0) : !1; } -function W(t, e) { +function F(t, e) { t.dispatchEvent(new CustomEvent("combobox-commit", { bubbles: !0, detail: e })); } -function N(t) { +function W(t) { t.dispatchEvent(new Event("combobox-select", { bubbles: !0 })); } -function T(t) { +function A(t) { return !t.hidden && !(t instanceof HTMLInputElement && t.type === "hidden") && (t.offsetWidth > 0 || t.offsetHeight > 0); } -function x(t, e) { +function N(t, e) { e.isComposing = t.type === "compositionstart", document.getElementById(e.input.getAttribute("aria-controls") || "") && e.clearSelection(); } -const R = "theme-module__light", G = '"../page-modules/assistant/assistant.module.css"', V = '"../page-modules/departures/departures.module.css"', K = '"../components/search/search.module.css"', U = '"../modules/search-time/selector/selector.module.css"', Q = '"../components/button/button.module.css"', J = "widget-module__hidden", Y = "widget-module__lightWrapper theme-module__light", z = "widget-module__wrapper theme-module__override-light", X = "widget-module__form assistant-module__container", Z = "widget-module__nav", ee = "widget-module__tabs", te = "widget-module__tabSelected", oe = "widget-module__main assistant-module__main", ne = "widget-module__heading assistant-module__heading", ie = "widget-module__inputBoxes", ae = "widget-module__search_container search-module__container", re = "widget-module__search_inputContainer search-module__inputContainer", se = "widget-module__search_label search-module__label typography-module__typo-body__secondary", le = "widget-module__search_input search-module__input", ce = "widget-module__search_inputLast", de = "widget-module__button_geolocation departures-module__geolocationButton", ue = "widget-module__selector_group selector-module__departureDateSelector", pe = "widget-module__selector_options selector-module__options", me = "widget-module__selector_options__small selector-module__options", he = "widget-module__selector_option selector-module__option selector-module__option", _e = "widget-module__selector_option__text selector-module__option__text", ge = "widget-module__selector_option__label selector-module__option__label", be = "widget-module__selector_option__input selector-module__option__input", fe = "widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper", ve = "widget-module__selector_dateAndTimeSelectorsWrapper__hidden", we = "widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors", ye = "widget-module__selector_dateSelector selector-module__dateSelector", $e = "widget-module__selector_timeSelector selector-module__timeSelector", Se = "widget-module__buttonGroup", Ee = "widget-module__button", Te = "widget-module__listItem", Ae = "widget-module__itemIcon", Le = "widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary", ke = "widget-module__popupContainer search-module__menu", Ie = "widget-module__messageBox", o = { +const x = "theme-module__light", R = '"../page-modules/assistant/assistant.module.css"', G = '"../page-modules/departures/departures.module.css"', V = '"../components/search/search.module.css"', K = '"../modules/search-time/selector/selector.module.css"', U = '"../components/button/button.module.css"', Q = "widget-module__hidden", J = "widget-module__lightWrapper theme-module__light", Y = "widget-module__wrapper theme-module__override-light", z = "widget-module__form assistant-module__container", X = "widget-module__nav", Z = "widget-module__tabs", ee = "widget-module__tabSelected", te = "widget-module__main assistant-module__main", oe = "widget-module__heading assistant-module__heading", ne = "widget-module__inputBoxes", ie = "widget-module__search_container search-module__container", ae = "widget-module__search_inputContainer search-module__inputContainer", re = "widget-module__search_label search-module__label typography-module__typo-body__secondary", se = "widget-module__search_input search-module__input", le = "widget-module__search_inputLast", ce = "widget-module__button_geolocation departures-module__geolocationButton", de = "widget-module__selector_group selector-module__departureDateSelector", ue = "widget-module__selector_options selector-module__options", pe = "widget-module__selector_options__small selector-module__options", me = "widget-module__selector_option selector-module__option selector-module__option", he = "widget-module__selector_option__text selector-module__option__text", _e = "widget-module__selector_option__label selector-module__option__label", ge = "widget-module__selector_option__input selector-module__option__input", fe = "widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper", be = "widget-module__selector_dateAndTimeSelectorsWrapper__hidden", ve = "widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors", we = "widget-module__selector_dateSelector selector-module__dateSelector", ye = "widget-module__selector_timeSelector selector-module__timeSelector", $e = "widget-module__buttonGroup", Se = "widget-module__button", Ee = "widget-module__listItem", Te = "widget-module__itemIcon", Ae = "widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary", Le = "widget-module__popupContainer search-module__menu", ke = "widget-module__messageBox", o = { "override-light": "theme-module__override-light", - light: R, - assistant: G, - departures: V, - search: K, - selector: U, - buttonComponent: Q, - hidden: J, - lightWrapper: Y, - wrapper: z, - form: X, - nav: Z, - tabs: ee, - tabSelected: te, - main: oe, - heading: ne, - inputBoxes: ie, - search_container: ae, - search_inputContainer: re, - search_label: se, - search_input: le, - search_inputLast: ce, - button_geolocation: de, - selector_group: ue, - selector_options: pe, - selector_options__small: me, - selector_option: he, - selector_option__text: _e, - selector_option__label: ge, - selector_option__input: be, + light: x, + assistant: R, + departures: G, + search: V, + selector: K, + buttonComponent: U, + hidden: Q, + lightWrapper: J, + wrapper: Y, + form: z, + nav: X, + tabs: Z, + tabSelected: ee, + main: te, + heading: oe, + inputBoxes: ne, + search_container: ie, + search_inputContainer: ae, + search_label: re, + search_input: se, + search_inputLast: le, + button_geolocation: ce, + selector_group: de, + selector_options: ue, + selector_options__small: pe, + selector_option: me, + selector_option__text: he, + selector_option__label: _e, + selector_option__input: ge, selector_dateAndTimeSelectorsWrapper: fe, - selector_dateAndTimeSelectorsWrapper__hidden: ve, - selector_dateAndTimeSelectors: we, - selector_dateSelector: ye, - selector_timeSelector: $e, - buttonGroup: Se, - button: Ee, + selector_dateAndTimeSelectorsWrapper__hidden: be, + selector_dateAndTimeSelectors: ve, + selector_dateSelector: we, + selector_timeSelector: ye, + buttonGroup: $e, + button: Se, "button--disabled": "widget-module__button--disabled", - listItem: Te, - itemIcon: Ae, - itemLocality: Le, - popupContainer: ke, - messageBox: Ie + listItem: Ee, + itemIcon: Te, + itemLocality: Ae, + popupContainer: Le, + messageBox: ke }; var B = { MODULE_VERSION: "2.6.0", COMPRESSED_ORG: "GYJwhgtkA" }; -const Ce = 300, y = String.raw, A = B.MODULE_VERSION, L = B.COMPRESSED_ORG; -function De(t) { +const Ie = 300, y = String.raw, L = B.MODULE_VERSION, k = B.COMPRESSED_ORG; +function Ce(t) { if (!(t != null && t.startsWith("http"))) throw new Error("Missing urlBase in correct schema."); return t.endsWith("/") || (t += "/"), { URL_BASE: t, - URL_JS_UMD: `${t}widget/${L}/${A}/planner-web.umd.js`, - URL_JS_ESM: `${t}widget/${L}/${A}/planner-web.mjs`, - URL_CSS: `${t}widget/${L}/${A}/planner-web.css` + URL_JS_UMD: `${t}widget/${k}/${L}/planner-web.umd.js`, + URL_JS_ESM: `${t}widget/${k}/${L}/planner-web.mjs`, + URL_CSS: `${t}widget/${k}/${L}/planner-web.css` }; } function ze({ urlBase: t, language: e = "en" }) { - const i = Je(e), n = De(t); + const i = Je(e), n = Ce(t); return { - output: Pe(n, i), - init: Me, + output: Oe(n, i), + init: De, urls: n }; } -function Me() { +function De() { var e, i; - je(), D("pw-assistant"), D("pw-departures"); + Pe(), M("pw-assistant"), M("pw-departures"); let t = { from: void 0, to: void 0 @@ -187,14 +187,14 @@ function Me() { }), (e = document.querySelector("#pw-form-departures")) == null || e.addEventListener("submit", (n) => { n.preventDefault(); const a = n.currentTarget; - Oe(a, t.from); + Be(a, t.from); }), (i = document.querySelector("#pw-form-assistant")) == null || i.addEventListener("submit", (n) => { n.preventDefault(); const a = n.currentTarget; - Be(a, t.from, t.to); + Me(a, t.from, t.to); }); } -function D(t) { +function M(t) { const e = document.querySelector( `#${t}-searchTimeSelector-date` ), i = document.querySelector( @@ -228,15 +228,15 @@ function O(t, e) { }; } } -function Be(t, e, i) { +function Me(t, e, i) { const n = t.action, a = O(new FormData(t), "pw-assistant"), s = xe({ from: e, to: i }, a), d = new URLSearchParams(s); window.location.href = `${n}?${d.toString()}`; } -function Oe(t, e) { +function Be(t, e) { const i = t.action, n = O(new FormData(t), "pw-departures"), a = Re(n, e), s = new URLSearchParams(a); (e == null ? void 0 : e.layer) === "venue" ? window.location.href = `${i}/${e.id}?${s.toString()}` : window.location.href = `${i}?${s.toString()}`; } -class S extends HTMLElement { +class E extends HTMLElement { constructor() { super(); } @@ -248,7 +248,7 @@ class S extends HTMLElement { }), document.addEventListener("pw-errorMessage-clear", function(i) { e.hidden = !0; }), e.addEventListener("click", function() { - S.clearMessageBox(); + E.clearMessageBox(); }); } static clearMessageBox() { @@ -259,19 +259,19 @@ class S extends HTMLElement { ); } } -function Pe({ URL_BASE: t }, e) { +function Oe({ URL_BASE: t }, e) { function i(r) { - const c = a(r), h = f("span", [r.name]), u = f("span", [r.locality ?? ""], o.itemLocality), l = f("li", [c, h, u], o.listItem); + const c = a(r), h = v("span", [r.name]), u = v("span", [r.locality ?? ""], o.itemLocality), l = v("li", [c, h, u], o.listItem); return l.role = "option", l.setAttribute("data-feature-id", r.id), l; } function n(r) { - const c = f("span", [r]); - return f("li", [c], o.listItem); + const c = v("span", [r]); + return v("li", [c], o.listItem); } function a(r) { - const c = He(r.category), h = f("img"); + const c = He(r.category), h = v("img"); h.src = `${t}assets/mono/light/${c.icon}.svg`, h.alt = c.alt, h.role = "img"; - const u = f("div", [h], o.itemIcon); + const u = v("div", [h], o.itemIcon); return u.ariaHidden = "true", u; } class s extends HTMLElement { @@ -282,7 +282,7 @@ function Pe({ URL_BASE: t }, e) { const c = this; this.querySelector("button").addEventListener("click", async () => { var u; - S.clearMessageBox(); + E.clearMessageBox(); try { const l = await Ke(t, e), g = (u = c.parentElement) == null ? void 0 : u.querySelector("input"); g && (g.value = l ? `${l.name}, ${l.locality}` : g.value), document.dispatchEvent( @@ -307,7 +307,7 @@ function Pe({ URL_BASE: t }, e) { }); } } - customElements.define("pw-geobutton", s), customElements.define("pw-messagebox", S); + customElements.define("pw-geobutton", s), customElements.define("pw-messagebox", E); class d extends HTMLElement { constructor() { super(), this.dataList = {}; @@ -323,62 +323,59 @@ function Pe({ URL_BASE: t }, e) { connectedCallback() { const c = this, h = qe( this.getAttribute("data-debounce-ms"), - Ce + Ie ), u = this.querySelector("input"), l = this.querySelector( "#" + this.getAttribute("for") ); - let g = new H(u, l, { + let g = new q(u, l, { tabInsertsSuggestions: !0, scrollIntoViewOptions: !1 }); - function v(p) { + function w(p) { p ? g.start() : (g.clearSelection(), g.stop()), l.hidden = !p; } - function k() { + function I() { c.setItems([]), l.innerHTML = ""; const p = n(e.noResults); - l.appendChild(p), v(!0); + l.appendChild(p), w(!0); } - const j = M(async (p) => { + const j = je(async (p) => { try { if (!p.value) { l.innerHTML = ""; return; } - const b = await Ge(t, p.value); - if (b.length === 0) - return k(); - c.setItems(b), l.innerHTML = ""; - for (let w of b) { - const q = i(w); - l.appendChild(q); + const f = await Ge(t, p.value); + if (f.length === 0) + return I(); + c.setItems(f), l.innerHTML = ""; + for (let b of f) { + const S = i(b); + l.appendChild(S); } - v(!0); + w(!0); } catch { - k(); + I(); } }, h); u.addEventListener("keydown", (p) => { - p.key === "Escape" && v(!1); + p.key === "Escape" && w(!1); }), u.addEventListener( "input", (p) => j(p.target) - ), u.addEventListener("focus", () => v(!0)), u.addEventListener( - "blur", - // Blur after properly selecting - M(() => v(!1), 100) - ), document.addEventListener("click", (p) => { - P(p.target, this) || v(!1); + ), u.addEventListener("focus", () => w(!0)), u.addEventListener("blur", () => w(!1)), document.addEventListener("click", (p) => { + P(p.target, this) || w(!1); }), l.addEventListener("combobox-commit", function(p) { - const b = p.target.getAttribute( + const f = p.target.getAttribute( "data-feature-id" - ), w = b ? c.getItem(b) : void 0; - u.value = w ? `${w.name}, ${w.locality}` : u.value, document.dispatchEvent( + ), b = f ? c.getItem(f) : void 0; + let S = u.value; + b && (S = `${b.name}`, b.locality && (S += `, ${b.locality}`)), u.value = S, document.dispatchEvent( new CustomEvent("search-selected", { bubbles: !0, detail: { key: u.name, - item: w + item: b } }) ), l.hidden = !0, g.clearSelection(), g.stop(); @@ -484,7 +481,7 @@ function Pe({ URL_BASE: t }, e) { - `, E = y` + `, T = y`
-
${E}
+
${T}
${_}
`; } -function je() { +function Pe() { var t; (t = document.querySelector(".js-tablist")) == null || t.addEventListener("click", function(e) { - var $, E; + var $, T; const i = ($ = e.target) == null ? void 0 : $.closest("a"); if (!i) return; @@ -699,16 +696,16 @@ function je() { const s = document.querySelector("#pw-" + a); if (!s) return; - S.clearMessageBox(), document.querySelectorAll(".js-tabpanel").forEach((_) => { + E.clearMessageBox(), document.querySelectorAll(".js-tabpanel").forEach((_) => { _.classList.add(o.hidden); }), document.querySelectorAll(".js-tablist a").forEach((_) => { _.classList.remove(o.tabSelected); }), s.classList.remove(o.hidden), i.classList.add(o.tabSelected); const d = document.querySelectorAll( `input[type="radio"][name="pw-${a}-searchTimeSelector"]` - ), m = (E = Array.from(d).find( + ), m = (T = Array.from(d).find( (_) => _.checked - )) == null ? void 0 : E.value; + )) == null ? void 0 : T.value; document.querySelectorAll(".js-search-date-details").forEach((_) => { _.hidden = m === "now"; }), document.dispatchEvent( @@ -718,7 +715,7 @@ function je() { ); }); } -function M(t, e) { +function je(t, e) { let i = null; return function(...n) { clearTimeout(i), i = setTimeout(() => { @@ -726,7 +723,7 @@ function M(t, e) { }, e); }; } -function f(t, e = [], i = "") { +function v(t, e = [], i = "") { const n = document.createElement(t); if (Array.isArray(e)) for (let a of e) { diff --git a/public/widget/GYJwhgtkA/2.6.0/planner-web.umd.js b/public/widget/GYJwhgtkA/2.6.0/planner-web.umd.js index d29739fc..93780f04 100644 --- a/public/widget/GYJwhgtkA/2.6.0/planner-web.umd.js +++ b/public/widget/GYJwhgtkA/2.6.0/planner-web.umd.js @@ -1,10 +1,10 @@ -(function(b,S){typeof exports=="object"&&typeof module<"u"?S(exports):typeof define=="function"&&define.amd?define(["exports"],S):(b=typeof globalThis<"u"?globalThis:b||self,S(b.PlannerWeb={}))})(this,function(b){"use strict";class S{constructor(e,i,{tabInsertsSuggestions:n,defaultFirstOption:r,scrollIntoViewOptions:s}={}){this.input=e,this.list=i,this.tabInsertsSuggestions=n??!0,this.defaultFirstOption=r??!1,this.scrollIntoViewOptions=s,this.isComposing=!1,i.id||(i.id=`combobox-${Math.random().toString().slice(2,6)}`),this.ctrlBindings=!!navigator.userAgent.match(/Macintosh/),this.keyboardEventHandler=d=>H(d,this),this.compositionEventHandler=d=>N(d,this),this.inputHandler=this.clearSelection.bind(this),e.setAttribute("role","combobox"),e.setAttribute("aria-controls",i.id),e.setAttribute("aria-expanded","false"),e.setAttribute("aria-autocomplete","list"),e.setAttribute("aria-haspopup","listbox")}destroy(){this.clearSelection(),this.stop(),this.input.removeAttribute("role"),this.input.removeAttribute("aria-controls"),this.input.removeAttribute("aria-expanded"),this.input.removeAttribute("aria-autocomplete"),this.input.removeAttribute("aria-haspopup")}start(){this.input.setAttribute("aria-expanded","true"),this.input.addEventListener("compositionstart",this.compositionEventHandler),this.input.addEventListener("compositionend",this.compositionEventHandler),this.input.addEventListener("input",this.inputHandler),this.input.addEventListener("keydown",this.keyboardEventHandler),this.list.addEventListener("click",C),this.indicateDefaultOption()}stop(){this.clearSelection(),this.input.setAttribute("aria-expanded","false"),this.input.removeEventListener("compositionstart",this.compositionEventHandler),this.input.removeEventListener("compositionend",this.compositionEventHandler),this.input.removeEventListener("input",this.inputHandler),this.input.removeEventListener("keydown",this.keyboardEventHandler),this.list.removeEventListener("click",C)}indicateDefaultOption(){var e;this.defaultFirstOption&&((e=Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(L)[0])===null||e===void 0||e.setAttribute("data-combobox-option-default","true"))}navigate(e=1){const i=Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(L)[0],n=Array.from(this.list.querySelectorAll('[role="option"]')).filter(L),r=n.indexOf(i);if(r===n.length-1&&e===1||r===0&&e===-1){this.clearSelection(),this.input.focus();return}let s=e===1?0:n.length-1;if(i&&r>=0){const m=r+e;m>=0&&m0||t.offsetHeight>0)}function N(t,e){e.isComposing=t.type==="compositionstart",document.getElementById(e.input.getAttribute("aria-controls")||"")&&e.clearSelection()}const o={"override-light":"theme-module__override-light",light:"theme-module__light",assistant:'"../page-modules/assistant/assistant.module.css"',departures:'"../page-modules/departures/departures.module.css"',search:'"../components/search/search.module.css"',selector:'"../modules/search-time/selector/selector.module.css"',buttonComponent:'"../components/button/button.module.css"',hidden:"widget-module__hidden",lightWrapper:"widget-module__lightWrapper theme-module__light",wrapper:"widget-module__wrapper theme-module__override-light",form:"widget-module__form assistant-module__container",nav:"widget-module__nav",tabs:"widget-module__tabs",tabSelected:"widget-module__tabSelected",main:"widget-module__main assistant-module__main",heading:"widget-module__heading assistant-module__heading",inputBoxes:"widget-module__inputBoxes",search_container:"widget-module__search_container search-module__container",search_inputContainer:"widget-module__search_inputContainer search-module__inputContainer",search_label:"widget-module__search_label search-module__label typography-module__typo-body__secondary",search_input:"widget-module__search_input search-module__input",search_inputLast:"widget-module__search_inputLast",button_geolocation:"widget-module__button_geolocation departures-module__geolocationButton",selector_group:"widget-module__selector_group selector-module__departureDateSelector",selector_options:"widget-module__selector_options selector-module__options",selector_options__small:"widget-module__selector_options__small selector-module__options",selector_option:"widget-module__selector_option selector-module__option selector-module__option",selector_option__text:"widget-module__selector_option__text selector-module__option__text",selector_option__label:"widget-module__selector_option__label selector-module__option__label",selector_option__input:"widget-module__selector_option__input selector-module__option__input",selector_dateAndTimeSelectorsWrapper:"widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper",selector_dateAndTimeSelectorsWrapper__hidden:"widget-module__selector_dateAndTimeSelectorsWrapper__hidden",selector_dateAndTimeSelectors:"widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors",selector_dateSelector:"widget-module__selector_dateSelector selector-module__dateSelector",selector_timeSelector:"widget-module__selector_timeSelector selector-module__timeSelector",buttonGroup:"widget-module__buttonGroup",button:"widget-module__button","button--disabled":"widget-module__button--disabled",listItem:"widget-module__listItem",itemIcon:"widget-module__itemIcon",itemLocality:"widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary",popupContainer:"widget-module__popupContainer search-module__menu",messageBox:"widget-module__messageBox"};var M={MODULE_VERSION:"2.6.0",COMPRESSED_ORG:"GYJwhgtkA"};const G=300,w=String.raw,k=M.MODULE_VERSION,I=M.COMPRESSED_ORG;function R(t){if(!(t!=null&&t.startsWith("http")))throw new Error("Missing urlBase in correct schema.");return t.endsWith("/")||(t+="/"),{URL_BASE:t,URL_JS_UMD:`${t}widget/${I}/${k}/planner-web.umd.js`,URL_JS_ESM:`${t}widget/${I}/${k}/planner-web.mjs`,URL_CSS:`${t}widget/${I}/${k}/planner-web.css`}}function V({urlBase:t,language:e="en"}){const i=le(e),n=R(t);return{output:J(n,i),init:K,urls:n}}function K(){var e,i;Y(),B("pw-assistant"),B("pw-departures");let t={from:void 0,to:void 0};document.addEventListener("search-selected",function(n){const r=n;t[r.detail.key]=r.detail.item}),document.addEventListener("reset-search",function(){t={from:void 0,to:void 0},document.querySelectorAll('input[name="from"], input[name="to"]').forEach(n=>{n.value=""})}),document.querySelectorAll("[name$=searchTimeSelector]").forEach(function(n){n.addEventListener("change",function(r){const d=r.currentTarget.value==="now";document.querySelectorAll(".js-search-date-details").forEach(m=>{m.hidden=d})})}),(e=document.querySelector("#pw-form-departures"))==null||e.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;Q(r,t.from)}),(i=document.querySelector("#pw-form-assistant"))==null||i.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;U(r,t.from,t.to)})}function B(t){const e=document.querySelector(`#${t}-searchTimeSelector-date`),i=document.querySelector(`#${t}-searchTimeSelector-time`);try{if(e&&(e.valueAsDate=new Date),i){const n=new Date;n.setSeconds(0),n.setMilliseconds(0),i.valueAsDate=n}}catch{}}function P(t,e){const i=t.get(`${e}-searchTimeSelector`);if(i==="now")return{mode:"now"};{const n=t.get("dateinput"),r=t.get("timeinput");if(n&&r){const s=new Date(`${n}T${r}`);return{mode:i=="arriveBy"?"arriveBy":"departBy",dateTime:s.getTime()}}return{mode:"now"}}}function U(t,e,i){const n=t.action,r=P(new FormData(t),"pw-assistant"),s=oe({from:e,to:i},r),d=new URLSearchParams(s);window.location.href=`${n}?${d.toString()}`}function Q(t,e){const i=t.action,n=P(new FormData(t),"pw-departures"),r=ne(n,e),s=new URLSearchParams(r);(e==null?void 0:e.layer)==="venue"?window.location.href=`${i}/${e.id}?${s.toString()}`:window.location.href=`${i}?${s.toString()}`}class E extends HTMLElement{constructor(){super()}connectedCallback(){const e=this;e.hidden=!0,e.classList.add(o.messageBox),document.addEventListener("pw-errorMessage",function(i){const n=i;e.textContent=n.detail.message,e.hidden=!1}),document.addEventListener("pw-errorMessage-clear",function(i){e.hidden=!0}),e.addEventListener("click",function(){E.clearMessageBox()})}static clearMessageBox(){document.dispatchEvent(new CustomEvent("pw-errorMessage-clear",{bubbles:!0}))}}function J({URL_BASE:t},e){function i(a){const c=r(a),_=f("span",[a.name]),u=f("span",[a.locality??""],o.itemLocality),l=f("li",[c,_,u],o.listItem);return l.role="option",l.setAttribute("data-feature-id",a.id),l}function n(a){const c=f("span",[a]);return f("li",[c],o.listItem)}function r(a){const c=X(a.category),_=f("img");_.src=`${t}assets/mono/light/${c.icon}.svg`,_.alt=c.alt,_.role="img";const u=f("div",[_],o.itemIcon);return u.ariaHidden="true",u}class s extends HTMLElement{constructor(){super()}connectedCallback(){const c=this;this.querySelector("button").addEventListener("click",async()=>{var u;E.clearMessageBox();try{const l=await re(t,e),g=(u=c.parentElement)==null?void 0:u.querySelector("input");g&&(g.value=l?`${l.name}, ${l.locality}`:g.value),document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:"from",item:l}}))}catch(l){l instanceof Error&&document.dispatchEvent(new CustomEvent("pw-errorMessage",{bubbles:!0,detail:{message:l.message}}))}})}}customElements.define("pw-geobutton",s),customElements.define("pw-messagebox",E);class d extends HTMLElement{constructor(){super(),this.dataList={}}getItem(c){return this.dataList[c]}setItems(c){this.dataList={};for(let _ of c)this.dataList[_.id]=_}connectedCallback(){const c=this,_=z(this.getAttribute("data-debounce-ms"),G),u=this.querySelector("input"),l=this.querySelector("#"+this.getAttribute("for"));let g=new S(u,l,{tabInsertsSuggestions:!0,scrollIntoViewOptions:!1});function y(p){p?g.start():(g.clearSelection(),g.stop()),l.hidden=!p}function W(){c.setItems([]),l.innerHTML="";const p=n(e.noResults);l.appendChild(p),y(!0)}const ce=j(async p=>{try{if(!p.value){l.innerHTML="";return}const v=await ie(t,p.value);if(v.length===0)return W();c.setItems(v),l.innerHTML="";for(let $ of v){const de=i($);l.appendChild(de)}y(!0)}catch{W()}},_);u.addEventListener("keydown",p=>{p.key==="Escape"&&y(!1)}),u.addEventListener("input",p=>ce(p.target)),u.addEventListener("focus",()=>y(!0)),u.addEventListener("blur",j(()=>y(!1),100)),document.addEventListener("click",p=>{O(p.target,this)||y(!1)}),l.addEventListener("combobox-commit",function(p){const v=p.target.getAttribute("data-feature-id"),$=v?c.getItem(v):void 0;u.value=$?`${$.name}, ${$.locality}`:u.value,document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:u.name,item:$}})),l.hidden=!0,g.clearSelection(),g.stop()})}}customElements.define("pw-autocomplete",d);const m=w` +(function(f,S){typeof exports=="object"&&typeof module<"u"?S(exports):typeof define=="function"&&define.amd?define(["exports"],S):(f=typeof globalThis<"u"?globalThis:f||self,S(f.PlannerWeb={}))})(this,function(f){"use strict";class S{constructor(e,i,{tabInsertsSuggestions:n,defaultFirstOption:r,scrollIntoViewOptions:s}={}){this.input=e,this.list=i,this.tabInsertsSuggestions=n??!0,this.defaultFirstOption=r??!1,this.scrollIntoViewOptions=s,this.isComposing=!1,i.id||(i.id=`combobox-${Math.random().toString().slice(2,6)}`),this.ctrlBindings=!!navigator.userAgent.match(/Macintosh/),this.keyboardEventHandler=d=>H(d,this),this.compositionEventHandler=d=>N(d,this),this.inputHandler=this.clearSelection.bind(this),e.setAttribute("role","combobox"),e.setAttribute("aria-controls",i.id),e.setAttribute("aria-expanded","false"),e.setAttribute("aria-autocomplete","list"),e.setAttribute("aria-haspopup","listbox")}destroy(){this.clearSelection(),this.stop(),this.input.removeAttribute("role"),this.input.removeAttribute("aria-controls"),this.input.removeAttribute("aria-expanded"),this.input.removeAttribute("aria-autocomplete"),this.input.removeAttribute("aria-haspopup")}start(){this.input.setAttribute("aria-expanded","true"),this.input.addEventListener("compositionstart",this.compositionEventHandler),this.input.addEventListener("compositionend",this.compositionEventHandler),this.input.addEventListener("input",this.inputHandler),this.input.addEventListener("keydown",this.keyboardEventHandler),this.list.addEventListener("mousedown",D),this.indicateDefaultOption()}stop(){this.clearSelection(),this.input.setAttribute("aria-expanded","false"),this.input.removeEventListener("compositionstart",this.compositionEventHandler),this.input.removeEventListener("compositionend",this.compositionEventHandler),this.input.removeEventListener("input",this.inputHandler),this.input.removeEventListener("keydown",this.keyboardEventHandler),this.list.removeEventListener("mousedown",D)}indicateDefaultOption(){var e;this.defaultFirstOption&&((e=Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(k)[0])===null||e===void 0||e.setAttribute("data-combobox-option-default","true"))}navigate(e=1){const i=Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(k)[0],n=Array.from(this.list.querySelectorAll('[role="option"]')).filter(k),r=n.indexOf(i);if(r===n.length-1&&e===1||r===0&&e===-1){this.clearSelection(),this.input.focus();return}let s=e===1?0:n.length-1;if(i&&r>=0){const m=r+e;m>=0&&m0||t.offsetHeight>0)}function N(t,e){e.isComposing=t.type==="compositionstart",document.getElementById(e.input.getAttribute("aria-controls")||"")&&e.clearSelection()}const o={"override-light":"theme-module__override-light",light:"theme-module__light",assistant:'"../page-modules/assistant/assistant.module.css"',departures:'"../page-modules/departures/departures.module.css"',search:'"../components/search/search.module.css"',selector:'"../modules/search-time/selector/selector.module.css"',buttonComponent:'"../components/button/button.module.css"',hidden:"widget-module__hidden",lightWrapper:"widget-module__lightWrapper theme-module__light",wrapper:"widget-module__wrapper theme-module__override-light",form:"widget-module__form assistant-module__container",nav:"widget-module__nav",tabs:"widget-module__tabs",tabSelected:"widget-module__tabSelected",main:"widget-module__main assistant-module__main",heading:"widget-module__heading assistant-module__heading",inputBoxes:"widget-module__inputBoxes",search_container:"widget-module__search_container search-module__container",search_inputContainer:"widget-module__search_inputContainer search-module__inputContainer",search_label:"widget-module__search_label search-module__label typography-module__typo-body__secondary",search_input:"widget-module__search_input search-module__input",search_inputLast:"widget-module__search_inputLast",button_geolocation:"widget-module__button_geolocation departures-module__geolocationButton",selector_group:"widget-module__selector_group selector-module__departureDateSelector",selector_options:"widget-module__selector_options selector-module__options",selector_options__small:"widget-module__selector_options__small selector-module__options",selector_option:"widget-module__selector_option selector-module__option selector-module__option",selector_option__text:"widget-module__selector_option__text selector-module__option__text",selector_option__label:"widget-module__selector_option__label selector-module__option__label",selector_option__input:"widget-module__selector_option__input selector-module__option__input",selector_dateAndTimeSelectorsWrapper:"widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper",selector_dateAndTimeSelectorsWrapper__hidden:"widget-module__selector_dateAndTimeSelectorsWrapper__hidden",selector_dateAndTimeSelectors:"widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors",selector_dateSelector:"widget-module__selector_dateSelector selector-module__dateSelector",selector_timeSelector:"widget-module__selector_timeSelector selector-module__timeSelector",buttonGroup:"widget-module__buttonGroup",button:"widget-module__button","button--disabled":"widget-module__button--disabled",listItem:"widget-module__listItem",itemIcon:"widget-module__itemIcon",itemLocality:"widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary",popupContainer:"widget-module__popupContainer search-module__menu",messageBox:"widget-module__messageBox"};var B={MODULE_VERSION:"2.6.0",COMPRESSED_ORG:"GYJwhgtkA"};const G=300,y=String.raw,I=B.MODULE_VERSION,C=B.COMPRESSED_ORG;function R(t){if(!(t!=null&&t.startsWith("http")))throw new Error("Missing urlBase in correct schema.");return t.endsWith("/")||(t+="/"),{URL_BASE:t,URL_JS_UMD:`${t}widget/${C}/${I}/planner-web.umd.js`,URL_JS_ESM:`${t}widget/${C}/${I}/planner-web.mjs`,URL_CSS:`${t}widget/${C}/${I}/planner-web.css`}}function V({urlBase:t,language:e="en"}){const i=ce(e),n=R(t);return{output:J(n,i),init:K,urls:n}}function K(){var e,i;Y(),P("pw-assistant"),P("pw-departures");let t={from:void 0,to:void 0};document.addEventListener("search-selected",function(n){const r=n;t[r.detail.key]=r.detail.item}),document.addEventListener("reset-search",function(){t={from:void 0,to:void 0},document.querySelectorAll('input[name="from"], input[name="to"]').forEach(n=>{n.value=""})}),document.querySelectorAll("[name$=searchTimeSelector]").forEach(function(n){n.addEventListener("change",function(r){const d=r.currentTarget.value==="now";document.querySelectorAll(".js-search-date-details").forEach(m=>{m.hidden=d})})}),(e=document.querySelector("#pw-form-departures"))==null||e.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;Q(r,t.from)}),(i=document.querySelector("#pw-form-assistant"))==null||i.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;U(r,t.from,t.to)})}function P(t){const e=document.querySelector(`#${t}-searchTimeSelector-date`),i=document.querySelector(`#${t}-searchTimeSelector-time`);try{if(e&&(e.valueAsDate=new Date),i){const n=new Date;n.setSeconds(0),n.setMilliseconds(0),i.valueAsDate=n}}catch{}}function j(t,e){const i=t.get(`${e}-searchTimeSelector`);if(i==="now")return{mode:"now"};{const n=t.get("dateinput"),r=t.get("timeinput");if(n&&r){const s=new Date(`${n}T${r}`);return{mode:i=="arriveBy"?"arriveBy":"departBy",dateTime:s.getTime()}}return{mode:"now"}}}function U(t,e,i){const n=t.action,r=j(new FormData(t),"pw-assistant"),s=ne({from:e,to:i},r),d=new URLSearchParams(s);window.location.href=`${n}?${d.toString()}`}function Q(t,e){const i=t.action,n=j(new FormData(t),"pw-departures"),r=ie(n,e),s=new URLSearchParams(r);(e==null?void 0:e.layer)==="venue"?window.location.href=`${i}/${e.id}?${s.toString()}`:window.location.href=`${i}?${s.toString()}`}class E extends HTMLElement{constructor(){super()}connectedCallback(){const e=this;e.hidden=!0,e.classList.add(o.messageBox),document.addEventListener("pw-errorMessage",function(i){const n=i;e.textContent=n.detail.message,e.hidden=!1}),document.addEventListener("pw-errorMessage-clear",function(i){e.hidden=!0}),e.addEventListener("click",function(){E.clearMessageBox()})}static clearMessageBox(){document.dispatchEvent(new CustomEvent("pw-errorMessage-clear",{bubbles:!0}))}}function J({URL_BASE:t},e){function i(a){const c=r(a),_=b("span",[a.name]),u=b("span",[a.locality??""],o.itemLocality),l=b("li",[c,_,u],o.listItem);return l.role="option",l.setAttribute("data-feature-id",a.id),l}function n(a){const c=b("span",[a]);return b("li",[c],o.listItem)}function r(a){const c=Z(a.category),_=b("img");_.src=`${t}assets/mono/light/${c.icon}.svg`,_.alt=c.alt,_.role="img";const u=b("div",[_],o.itemIcon);return u.ariaHidden="true",u}class s extends HTMLElement{constructor(){super()}connectedCallback(){const c=this;this.querySelector("button").addEventListener("click",async()=>{var u;E.clearMessageBox();try{const l=await ae(t,e),g=(u=c.parentElement)==null?void 0:u.querySelector("input");g&&(g.value=l?`${l.name}, ${l.locality}`:g.value),document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:"from",item:l}}))}catch(l){l instanceof Error&&document.dispatchEvent(new CustomEvent("pw-errorMessage",{bubbles:!0,detail:{message:l.message}}))}})}}customElements.define("pw-geobutton",s),customElements.define("pw-messagebox",E);class d extends HTMLElement{constructor(){super(),this.dataList={}}getItem(c){return this.dataList[c]}setItems(c){this.dataList={};for(let _ of c)this.dataList[_.id]=_}connectedCallback(){const c=this,_=X(this.getAttribute("data-debounce-ms"),G),u=this.querySelector("input"),l=this.querySelector("#"+this.getAttribute("for"));let g=new S(u,l,{tabInsertsSuggestions:!0,scrollIntoViewOptions:!1});function $(p){p?g.start():(g.clearSelection(),g.stop()),l.hidden=!p}function W(){c.setItems([]),l.innerHTML="";const p=n(e.noResults);l.appendChild(p),$(!0)}const de=z(async p=>{try{if(!p.value){l.innerHTML="";return}const v=await re(t,p.value);if(v.length===0)return W();c.setItems(v),l.innerHTML="";for(let w of v){const A=i(w);l.appendChild(A)}$(!0)}catch{W()}},_);u.addEventListener("keydown",p=>{p.key==="Escape"&&$(!1)}),u.addEventListener("input",p=>de(p.target)),u.addEventListener("focus",()=>$(!0)),u.addEventListener("blur",()=>$(!1)),document.addEventListener("click",p=>{O(p.target,this)||$(!1)}),l.addEventListener("combobox-commit",function(p){const v=p.target.getAttribute("data-feature-id"),w=v?c.getItem(v):void 0;let A=u.value;w&&(A=`${w.name}`,w.locality&&(A+=`, ${w.locality}`)),u.value=A,document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:u.name,item:w}})),l.hidden=!0,g.clearSelection(),g.stop()})}}customElements.define("pw-autocomplete",d);const m=y`
- `,T=(a,c=!0)=>w` + `,T=(a,c=!0)=>y`

${e.searchTime.title}

@@ -43,7 +43,7 @@ - ${c?w` + ${c?y`
- `,A=w` + `,L=y` ${m} - `,h=w` + `,h=y`
${m}
- `;return w` + `;return y`
-
${A}
+
${L}
${h}
- `}function Y(){var t;(t=document.querySelector(".js-tablist"))==null||t.addEventListener("click",function(e){var T,A;const i=(T=e.target)==null?void 0:T.closest("a");if(!i)return;const n=i.getAttribute("href");if(!n)return;const r=n.replace("/","");e.preventDefault();const s=document.querySelector("#pw-"+r);if(!s)return;E.clearMessageBox(),document.querySelectorAll(".js-tabpanel").forEach(h=>{h.classList.add(o.hidden)}),document.querySelectorAll(".js-tablist a").forEach(h=>{h.classList.remove(o.tabSelected)}),s.classList.remove(o.hidden),i.classList.add(o.tabSelected);const d=document.querySelectorAll(`input[type="radio"][name="pw-${r}-searchTimeSelector"]`),m=(A=Array.from(d).find(h=>h.checked))==null?void 0:A.value;document.querySelectorAll(".js-search-date-details").forEach(h=>{h.hidden=m==="now"}),document.dispatchEvent(new CustomEvent("reset-search",{bubbles:!0}))})}function j(t,e){let i=null;return function(...n){clearTimeout(i),i=setTimeout(()=>{t(...n)},e)}}function f(t,e=[],i=""){const n=document.createElement(t);if(Array.isArray(e))for(let r of e){let s=typeof r=="string"?document.createTextNode(r):r;n.appendChild(s)}return n.className=i,n}function z(t,e){const i=parseInt(t,10);return Number.isNaN(i)?e:i}function O(t,e){return t===e?!0:!t||!t.parentElement?!1:O(t.parentElement,e)}function X(t){switch(Z(t)[0]){case"bus":return{icon:"transportation-entur/Bus",alt:"bus"};case"tram":return{icon:"transportation-entur/Tram",alt:"tram"};case"rail":return{icon:"transportation-entur/Train",alt:"rail"};case"airport":return{icon:"transportation-entur/Plane",alt:"air"};case"boat":return{icon:"transportation-entur/Ferry",alt:"water"};case"unknown":default:return{icon:"map/Pin",alt:"unknown"}}}function Z(t){return t.map(ee).filter((e,i,n)=>n.indexOf(e)===i)}function ee(t){switch(t){case"onstreetBus":case"busStation":case"coachStation":return"bus";case"onstreetTram":case"tramStation":return"tram";case"railStation":case"metroStation":return"rail";case"airport":return"airport";case"harbourPort":case"ferryPort":case"ferryStop":return"boat";default:return"unknown"}}function te(t,e){if(!t)return{};const i=e?{toId:e.id,toLon:e.geometry.coordinates[0].toString(),toLat:e.geometry.coordinates[1].toString(),toLayer:e.layer}:void 0;return{fromId:t.id,fromLon:t.geometry.coordinates[0].toString(),fromLat:t.geometry.coordinates[1].toString(),fromLayer:t.layer,...i}}function oe(t,e){const i=e.mode!=="now"?{searchMode:e.mode,searchTime:e.dateTime.toString()}:{searchMode:e.mode},n=te(t.from,t.to);return{...i,...n}}function ne(t,e){const i=t.mode!=="now"?{searchMode:t.mode,searchTime:t.dateTime.toString()}:{searchMode:t.mode};return!e||e.layer=="venue"?{...i}:{...i,lon:e.geometry.coordinates[0].toString(),lat:e.geometry.coordinates[1].toString()}}async function ie(t,e){const i=`${t}api/departures/autocomplete?q=${e}`,n=await fetch(i);if(!n.ok)throw new Error(`Error fetching autocomplete data from ${i}`);return await n.json()}async function q(t,e){const n=await(await fetch(`${t}api/departures/reverse?lat=${e.latitude}&lon=${e.longitude}`)).json();if(n)return n}async function re(t,e){return new Promise(function(i,n){navigator.geolocation.getCurrentPosition(async r=>{const s=await q(t,r.coords);i(s)},r=>{n(new Error(ae(r.code,e)))},{enableHighAccuracy:!0,timeout:1e4})})}function ae(t,e){switch(t){case GeolocationPositionError.PERMISSION_DENIED:return e.geoTexts.denied;case GeolocationPositionError.TIMEOUT:return e.geoTexts.timeout;case GeolocationPositionError.POSITION_UNAVAILABLE:default:return e.geoTexts.unavailable}}const se={nb:{noResults:"Ingen resultater",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre stedsinnstillinger i nettleseren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikke tilgjengelig.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avganger",placeholder:"adresse, kai eller holdeplass",assistant:{link:"Planlegg reisen",title:"Hvor vil du reise?",from:"Fra",to:"Til"},departure:{link:"Avganger",title:"Hvor vil du reise fra?",from:"Fra"},searchTime:{title:"Når vil du reise?",now:"Nå",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},nn:{noResults:"Ingen resultat",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre posisjonsinnstillingane i nettlesaren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikkje tilgjengeleg.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avgangar",placeholder:"adresse, kai eller haldeplass",assistant:{link:"Planlegg reisa",title:"Kor vil du reise?",from:"Frå",to:"Til"},departure:{link:"Avgangar",title:"Kor vil du reise frå?",from:"Frå"},searchTime:{title:"Når vil du reise?",now:"No",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},en:{noResults:"No results",geoButton:"Find my position",geoTexts:{denied:"You must change location settings in your browser to use your position in the travel search.",unavailable:"Your position is not available.",timeout:"It took too long to retrieve your position. Try again."},searchButton:"Find departures",placeholder:"address, quay, or stop",assistant:{link:"Plan your journey",title:"Where do you want to travel?",from:"From",to:"To"},departure:{link:"Departures",title:"Where do you want to travel from?",from:"From"},searchTime:{title:"When do you want to travel?",now:"Now",arrive:"Arrival",depart:"Departure",date:"Date",time:"Time"}}};function le(t){return se[t]}b.createWidget=V,b.reverse=q,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})}); + `}function Y(){var t;(t=document.querySelector(".js-tablist"))==null||t.addEventListener("click",function(e){var T,L;const i=(T=e.target)==null?void 0:T.closest("a");if(!i)return;const n=i.getAttribute("href");if(!n)return;const r=n.replace("/","");e.preventDefault();const s=document.querySelector("#pw-"+r);if(!s)return;E.clearMessageBox(),document.querySelectorAll(".js-tabpanel").forEach(h=>{h.classList.add(o.hidden)}),document.querySelectorAll(".js-tablist a").forEach(h=>{h.classList.remove(o.tabSelected)}),s.classList.remove(o.hidden),i.classList.add(o.tabSelected);const d=document.querySelectorAll(`input[type="radio"][name="pw-${r}-searchTimeSelector"]`),m=(L=Array.from(d).find(h=>h.checked))==null?void 0:L.value;document.querySelectorAll(".js-search-date-details").forEach(h=>{h.hidden=m==="now"}),document.dispatchEvent(new CustomEvent("reset-search",{bubbles:!0}))})}function z(t,e){let i=null;return function(...n){clearTimeout(i),i=setTimeout(()=>{t(...n)},e)}}function b(t,e=[],i=""){const n=document.createElement(t);if(Array.isArray(e))for(let r of e){let s=typeof r=="string"?document.createTextNode(r):r;n.appendChild(s)}return n.className=i,n}function X(t,e){const i=parseInt(t,10);return Number.isNaN(i)?e:i}function O(t,e){return t===e?!0:!t||!t.parentElement?!1:O(t.parentElement,e)}function Z(t){switch(ee(t)[0]){case"bus":return{icon:"transportation-entur/Bus",alt:"bus"};case"tram":return{icon:"transportation-entur/Tram",alt:"tram"};case"rail":return{icon:"transportation-entur/Train",alt:"rail"};case"airport":return{icon:"transportation-entur/Plane",alt:"air"};case"boat":return{icon:"transportation-entur/Ferry",alt:"water"};case"unknown":default:return{icon:"map/Pin",alt:"unknown"}}}function ee(t){return t.map(te).filter((e,i,n)=>n.indexOf(e)===i)}function te(t){switch(t){case"onstreetBus":case"busStation":case"coachStation":return"bus";case"onstreetTram":case"tramStation":return"tram";case"railStation":case"metroStation":return"rail";case"airport":return"airport";case"harbourPort":case"ferryPort":case"ferryStop":return"boat";default:return"unknown"}}function oe(t,e){if(!t)return{};const i=e?{toId:e.id,toLon:e.geometry.coordinates[0].toString(),toLat:e.geometry.coordinates[1].toString(),toLayer:e.layer}:void 0;return{fromId:t.id,fromLon:t.geometry.coordinates[0].toString(),fromLat:t.geometry.coordinates[1].toString(),fromLayer:t.layer,...i}}function ne(t,e){const i=e.mode!=="now"?{searchMode:e.mode,searchTime:e.dateTime.toString()}:{searchMode:e.mode},n=oe(t.from,t.to);return{...i,...n}}function ie(t,e){const i=t.mode!=="now"?{searchMode:t.mode,searchTime:t.dateTime.toString()}:{searchMode:t.mode};return!e||e.layer=="venue"?{...i}:{...i,lon:e.geometry.coordinates[0].toString(),lat:e.geometry.coordinates[1].toString()}}async function re(t,e){const i=`${t}api/departures/autocomplete?q=${e}`,n=await fetch(i);if(!n.ok)throw new Error(`Error fetching autocomplete data from ${i}`);return await n.json()}async function q(t,e){const n=await(await fetch(`${t}api/departures/reverse?lat=${e.latitude}&lon=${e.longitude}`)).json();if(n)return n}async function ae(t,e){return new Promise(function(i,n){navigator.geolocation.getCurrentPosition(async r=>{const s=await q(t,r.coords);i(s)},r=>{n(new Error(se(r.code,e)))},{enableHighAccuracy:!0,timeout:1e4})})}function se(t,e){switch(t){case GeolocationPositionError.PERMISSION_DENIED:return e.geoTexts.denied;case GeolocationPositionError.TIMEOUT:return e.geoTexts.timeout;case GeolocationPositionError.POSITION_UNAVAILABLE:default:return e.geoTexts.unavailable}}const le={nb:{noResults:"Ingen resultater",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre stedsinnstillinger i nettleseren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikke tilgjengelig.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avganger",placeholder:"adresse, kai eller holdeplass",assistant:{link:"Planlegg reisen",title:"Hvor vil du reise?",from:"Fra",to:"Til"},departure:{link:"Avganger",title:"Hvor vil du reise fra?",from:"Fra"},searchTime:{title:"Når vil du reise?",now:"Nå",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},nn:{noResults:"Ingen resultat",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre posisjonsinnstillingane i nettlesaren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikkje tilgjengeleg.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avgangar",placeholder:"adresse, kai eller haldeplass",assistant:{link:"Planlegg reisa",title:"Kor vil du reise?",from:"Frå",to:"Til"},departure:{link:"Avgangar",title:"Kor vil du reise frå?",from:"Frå"},searchTime:{title:"Når vil du reise?",now:"No",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},en:{noResults:"No results",geoButton:"Find my position",geoTexts:{denied:"You must change location settings in your browser to use your position in the travel search.",unavailable:"Your position is not available.",timeout:"It took too long to retrieve your position. Try again."},searchButton:"Find departures",placeholder:"address, quay, or stop",assistant:{link:"Plan your journey",title:"Where do you want to travel?",from:"From",to:"To"},departure:{link:"Departures",title:"Where do you want to travel from?",from:"From"},searchTime:{title:"When do you want to travel?",now:"Now",arrive:"Arrival",depart:"Departure",date:"Date",time:"Time"}}};function ce(t){return le[t]}f.createWidget=V,f.reverse=q,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})}); diff --git a/public/widget/HYMw1kA/2.6.0/planner-web.mjs b/public/widget/HYMw1kA/2.6.0/planner-web.mjs index 2d56f4c9..e1b36578 100644 --- a/public/widget/HYMw1kA/2.6.0/planner-web.mjs +++ b/public/widget/HYMw1kA/2.6.0/planner-web.mjs @@ -1,22 +1,22 @@ -class H { +class q { constructor(e, i, { tabInsertsSuggestions: n, defaultFirstOption: a, scrollIntoViewOptions: s } = {}) { - this.input = e, this.list = i, this.tabInsertsSuggestions = n ?? !0, this.defaultFirstOption = a ?? !1, this.scrollIntoViewOptions = s, this.isComposing = !1, i.id || (i.id = `combobox-${Math.random().toString().slice(2, 6)}`), this.ctrlBindings = !!navigator.userAgent.match(/Macintosh/), this.keyboardEventHandler = (d) => F(d, this), this.compositionEventHandler = (d) => x(d, this), this.inputHandler = this.clearSelection.bind(this), e.setAttribute("role", "combobox"), e.setAttribute("aria-controls", i.id), e.setAttribute("aria-expanded", "false"), e.setAttribute("aria-autocomplete", "list"), e.setAttribute("aria-haspopup", "listbox"); + this.input = e, this.list = i, this.tabInsertsSuggestions = n ?? !0, this.defaultFirstOption = a ?? !1, this.scrollIntoViewOptions = s, this.isComposing = !1, i.id || (i.id = `combobox-${Math.random().toString().slice(2, 6)}`), this.ctrlBindings = !!navigator.userAgent.match(/Macintosh/), this.keyboardEventHandler = (d) => H(d, this), this.compositionEventHandler = (d) => N(d, this), this.inputHandler = this.clearSelection.bind(this), e.setAttribute("role", "combobox"), e.setAttribute("aria-controls", i.id), e.setAttribute("aria-expanded", "false"), e.setAttribute("aria-autocomplete", "list"), e.setAttribute("aria-haspopup", "listbox"); } destroy() { this.clearSelection(), this.stop(), this.input.removeAttribute("role"), this.input.removeAttribute("aria-controls"), this.input.removeAttribute("aria-expanded"), this.input.removeAttribute("aria-autocomplete"), this.input.removeAttribute("aria-haspopup"); } start() { - this.input.setAttribute("aria-expanded", "true"), this.input.addEventListener("compositionstart", this.compositionEventHandler), this.input.addEventListener("compositionend", this.compositionEventHandler), this.input.addEventListener("input", this.inputHandler), this.input.addEventListener("keydown", this.keyboardEventHandler), this.list.addEventListener("click", I), this.indicateDefaultOption(); + this.input.setAttribute("aria-expanded", "true"), this.input.addEventListener("compositionstart", this.compositionEventHandler), this.input.addEventListener("compositionend", this.compositionEventHandler), this.input.addEventListener("input", this.inputHandler), this.input.addEventListener("keydown", this.keyboardEventHandler), this.list.addEventListener("mousedown", C), this.indicateDefaultOption(); } stop() { - this.clearSelection(), this.input.setAttribute("aria-expanded", "false"), this.input.removeEventListener("compositionstart", this.compositionEventHandler), this.input.removeEventListener("compositionend", this.compositionEventHandler), this.input.removeEventListener("input", this.inputHandler), this.input.removeEventListener("keydown", this.keyboardEventHandler), this.list.removeEventListener("click", I); + this.clearSelection(), this.input.setAttribute("aria-expanded", "false"), this.input.removeEventListener("compositionstart", this.compositionEventHandler), this.input.removeEventListener("compositionend", this.compositionEventHandler), this.input.removeEventListener("input", this.inputHandler), this.input.removeEventListener("keydown", this.keyboardEventHandler), this.list.removeEventListener("mousedown", C); } indicateDefaultOption() { var e; - this.defaultFirstOption && ((e = Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(T)[0]) === null || e === void 0 || e.setAttribute("data-combobox-option-default", "true")); + this.defaultFirstOption && ((e = Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(A)[0]) === null || e === void 0 || e.setAttribute("data-combobox-option-default", "true")); } navigate(e = 1) { - const i = Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(T)[0], n = Array.from(this.list.querySelectorAll('[role="option"]')).filter(T), a = n.indexOf(i); + const i = Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(A)[0], n = Array.from(this.list.querySelectorAll('[role="option"]')).filter(A), a = n.indexOf(i); if (a === n.length - 1 && e === 1 || a === 0 && e === -1) { this.clearSelection(), this.input.focus(); return; @@ -29,7 +29,7 @@ class H { const d = n[s]; if (d) for (const m of n) - m.removeAttribute("data-combobox-option-default"), d === m ? (this.input.setAttribute("aria-activedescendant", d.id), d.setAttribute("aria-selected", "true"), N(d), d.scrollIntoView(this.scrollIntoViewOptions)) : m.removeAttribute("aria-selected"); + m.removeAttribute("data-combobox-option-default"), d === m ? (this.input.setAttribute("aria-activedescendant", d.id), d.setAttribute("aria-selected", "true"), W(d), d.scrollIntoView(this.scrollIntoViewOptions)) : m.removeAttribute("aria-selected"); } clearSelection() { this.input.removeAttribute("aria-activedescendant"); @@ -38,14 +38,14 @@ class H { this.indicateDefaultOption(); } } -function F(t, e) { +function H(t, e) { if (!(t.shiftKey || t.metaKey || t.altKey) && !(!e.ctrlBindings && t.ctrlKey) && !e.isComposing) switch (t.key) { case "Enter": - C(e.input, e.list) && t.preventDefault(); + D(e.input, e.list) && t.preventDefault(); break; case "Tab": - e.tabInsertsSuggestions && C(e.input, e.list) && t.preventDefault(); + e.tabInsertsSuggestions && D(e.input, e.list) && t.preventDefault(); break; case "Escape": e.clearSelection(); @@ -68,99 +68,99 @@ function F(t, e) { e.clearSelection(); } } -function I(t) { +function C(t) { if (!(t.target instanceof Element)) return; const e = t.target.closest('[role="option"]'); - e && e.getAttribute("aria-disabled") !== "true" && W(e, { event: t }); + e && e.getAttribute("aria-disabled") !== "true" && F(e, { event: t }); } -function C(t, e) { +function D(t, e) { const i = e.querySelector('[aria-selected="true"], [data-combobox-option-default="true"]'); return i ? (i.getAttribute("aria-disabled") === "true" || i.click(), !0) : !1; } -function W(t, e) { +function F(t, e) { t.dispatchEvent(new CustomEvent("combobox-commit", { bubbles: !0, detail: e })); } -function N(t) { +function W(t) { t.dispatchEvent(new Event("combobox-select", { bubbles: !0 })); } -function T(t) { +function A(t) { return !t.hidden && !(t instanceof HTMLInputElement && t.type === "hidden") && (t.offsetWidth > 0 || t.offsetHeight > 0); } -function x(t, e) { +function N(t, e) { e.isComposing = t.type === "compositionstart", document.getElementById(e.input.getAttribute("aria-controls") || "") && e.clearSelection(); } -const R = "theme-module__light", G = '"../page-modules/assistant/assistant.module.css"', V = '"../page-modules/departures/departures.module.css"', K = '"../components/search/search.module.css"', U = '"../modules/search-time/selector/selector.module.css"', Q = '"../components/button/button.module.css"', Y = "widget-module__hidden", J = "widget-module__lightWrapper theme-module__light", z = "widget-module__wrapper theme-module__override-light", X = "widget-module__form assistant-module__container", Z = "widget-module__nav", ee = "widget-module__tabs", te = "widget-module__tabSelected", oe = "widget-module__main assistant-module__main", ne = "widget-module__heading assistant-module__heading", ie = "widget-module__inputBoxes", ae = "widget-module__search_container search-module__container", re = "widget-module__search_inputContainer search-module__inputContainer", se = "widget-module__search_label search-module__label typography-module__typo-body__secondary", le = "widget-module__search_input search-module__input", ce = "widget-module__search_inputLast", de = "widget-module__button_geolocation departures-module__geolocationButton", ue = "widget-module__selector_group selector-module__departureDateSelector", pe = "widget-module__selector_options selector-module__options", me = "widget-module__selector_options__small selector-module__options", he = "widget-module__selector_option selector-module__option selector-module__option", _e = "widget-module__selector_option__text selector-module__option__text", ge = "widget-module__selector_option__label selector-module__option__label", be = "widget-module__selector_option__input selector-module__option__input", fe = "widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper", ve = "widget-module__selector_dateAndTimeSelectorsWrapper__hidden", we = "widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors", ye = "widget-module__selector_dateSelector selector-module__dateSelector", $e = "widget-module__selector_timeSelector selector-module__timeSelector", Se = "widget-module__buttonGroup", Ee = "widget-module__button", Te = "widget-module__listItem", Ae = "widget-module__itemIcon", Le = "widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary", ke = "widget-module__popupContainer search-module__menu", Ie = "widget-module__messageBox", o = { +const x = "theme-module__light", R = '"../page-modules/assistant/assistant.module.css"', G = '"../page-modules/departures/departures.module.css"', V = '"../components/search/search.module.css"', K = '"../modules/search-time/selector/selector.module.css"', U = '"../components/button/button.module.css"', Q = "widget-module__hidden", Y = "widget-module__lightWrapper theme-module__light", J = "widget-module__wrapper theme-module__override-light", z = "widget-module__form assistant-module__container", X = "widget-module__nav", Z = "widget-module__tabs", ee = "widget-module__tabSelected", te = "widget-module__main assistant-module__main", oe = "widget-module__heading assistant-module__heading", ne = "widget-module__inputBoxes", ie = "widget-module__search_container search-module__container", ae = "widget-module__search_inputContainer search-module__inputContainer", re = "widget-module__search_label search-module__label typography-module__typo-body__secondary", se = "widget-module__search_input search-module__input", le = "widget-module__search_inputLast", ce = "widget-module__button_geolocation departures-module__geolocationButton", de = "widget-module__selector_group selector-module__departureDateSelector", ue = "widget-module__selector_options selector-module__options", pe = "widget-module__selector_options__small selector-module__options", me = "widget-module__selector_option selector-module__option selector-module__option", he = "widget-module__selector_option__text selector-module__option__text", _e = "widget-module__selector_option__label selector-module__option__label", ge = "widget-module__selector_option__input selector-module__option__input", fe = "widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper", be = "widget-module__selector_dateAndTimeSelectorsWrapper__hidden", ve = "widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors", we = "widget-module__selector_dateSelector selector-module__dateSelector", ye = "widget-module__selector_timeSelector selector-module__timeSelector", $e = "widget-module__buttonGroup", Se = "widget-module__button", Ee = "widget-module__listItem", Te = "widget-module__itemIcon", Ae = "widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary", Le = "widget-module__popupContainer search-module__menu", ke = "widget-module__messageBox", o = { "override-light": "theme-module__override-light", - light: R, - assistant: G, - departures: V, - search: K, - selector: U, - buttonComponent: Q, - hidden: Y, - lightWrapper: J, - wrapper: z, - form: X, - nav: Z, - tabs: ee, - tabSelected: te, - main: oe, - heading: ne, - inputBoxes: ie, - search_container: ae, - search_inputContainer: re, - search_label: se, - search_input: le, - search_inputLast: ce, - button_geolocation: de, - selector_group: ue, - selector_options: pe, - selector_options__small: me, - selector_option: he, - selector_option__text: _e, - selector_option__label: ge, - selector_option__input: be, + light: x, + assistant: R, + departures: G, + search: V, + selector: K, + buttonComponent: U, + hidden: Q, + lightWrapper: Y, + wrapper: J, + form: z, + nav: X, + tabs: Z, + tabSelected: ee, + main: te, + heading: oe, + inputBoxes: ne, + search_container: ie, + search_inputContainer: ae, + search_label: re, + search_input: se, + search_inputLast: le, + button_geolocation: ce, + selector_group: de, + selector_options: ue, + selector_options__small: pe, + selector_option: me, + selector_option__text: he, + selector_option__label: _e, + selector_option__input: ge, selector_dateAndTimeSelectorsWrapper: fe, - selector_dateAndTimeSelectorsWrapper__hidden: ve, - selector_dateAndTimeSelectors: we, - selector_dateSelector: ye, - selector_timeSelector: $e, - buttonGroup: Se, - button: Ee, + selector_dateAndTimeSelectorsWrapper__hidden: be, + selector_dateAndTimeSelectors: ve, + selector_dateSelector: we, + selector_timeSelector: ye, + buttonGroup: $e, + button: Se, "button--disabled": "widget-module__button--disabled", - listItem: Te, - itemIcon: Ae, - itemLocality: Le, - popupContainer: ke, - messageBox: Ie + listItem: Ee, + itemIcon: Te, + itemLocality: Ae, + popupContainer: Le, + messageBox: ke }; var B = { MODULE_VERSION: "2.6.0", COMPRESSED_ORG: "HYMw1kA" }; -const Ce = 300, y = String.raw, A = B.MODULE_VERSION, L = B.COMPRESSED_ORG; -function De(t) { +const Ie = 300, y = String.raw, L = B.MODULE_VERSION, k = B.COMPRESSED_ORG; +function Ce(t) { if (!(t != null && t.startsWith("http"))) throw new Error("Missing urlBase in correct schema."); return t.endsWith("/") || (t += "/"), { URL_BASE: t, - URL_JS_UMD: `${t}widget/${L}/${A}/planner-web.umd.js`, - URL_JS_ESM: `${t}widget/${L}/${A}/planner-web.mjs`, - URL_CSS: `${t}widget/${L}/${A}/planner-web.css` + URL_JS_UMD: `${t}widget/${k}/${L}/planner-web.umd.js`, + URL_JS_ESM: `${t}widget/${k}/${L}/planner-web.mjs`, + URL_CSS: `${t}widget/${k}/${L}/planner-web.css` }; } function ze({ urlBase: t, language: e = "en" }) { - const i = Ye(e), n = De(t); + const i = Ye(e), n = Ce(t); return { - output: Pe(n, i), - init: Me, + output: Oe(n, i), + init: De, urls: n }; } -function Me() { +function De() { var e, i; - je(), D("pw-assistant"), D("pw-departures"); + Pe(), M("pw-assistant"), M("pw-departures"); let t = { from: void 0, to: void 0 @@ -187,14 +187,14 @@ function Me() { }), (e = document.querySelector("#pw-form-departures")) == null || e.addEventListener("submit", (n) => { n.preventDefault(); const a = n.currentTarget; - Oe(a, t.from); + Be(a, t.from); }), (i = document.querySelector("#pw-form-assistant")) == null || i.addEventListener("submit", (n) => { n.preventDefault(); const a = n.currentTarget; - Be(a, t.from, t.to); + Me(a, t.from, t.to); }); } -function D(t) { +function M(t) { const e = document.querySelector( `#${t}-searchTimeSelector-date` ), i = document.querySelector( @@ -228,15 +228,15 @@ function O(t, e) { }; } } -function Be(t, e, i) { +function Me(t, e, i) { const n = t.action, a = O(new FormData(t), "pw-assistant"), s = xe({ from: e, to: i }, a), d = new URLSearchParams(s); window.location.href = `${n}?${d.toString()}`; } -function Oe(t, e) { +function Be(t, e) { const i = t.action, n = O(new FormData(t), "pw-departures"), a = Re(n, e), s = new URLSearchParams(a); (e == null ? void 0 : e.layer) === "venue" ? window.location.href = `${i}/${e.id}?${s.toString()}` : window.location.href = `${i}?${s.toString()}`; } -class S extends HTMLElement { +class E extends HTMLElement { constructor() { super(); } @@ -248,7 +248,7 @@ class S extends HTMLElement { }), document.addEventListener("pw-errorMessage-clear", function(i) { e.hidden = !0; }), e.addEventListener("click", function() { - S.clearMessageBox(); + E.clearMessageBox(); }); } static clearMessageBox() { @@ -259,19 +259,19 @@ class S extends HTMLElement { ); } } -function Pe({ URL_BASE: t }, e) { +function Oe({ URL_BASE: t }, e) { function i(r) { - const c = a(r), h = f("span", [r.name]), u = f("span", [r.locality ?? ""], o.itemLocality), l = f("li", [c, h, u], o.listItem); + const c = a(r), h = v("span", [r.name]), u = v("span", [r.locality ?? ""], o.itemLocality), l = v("li", [c, h, u], o.listItem); return l.role = "option", l.setAttribute("data-feature-id", r.id), l; } function n(r) { - const c = f("span", [r]); - return f("li", [c], o.listItem); + const c = v("span", [r]); + return v("li", [c], o.listItem); } function a(r) { - const c = He(r.category), h = f("img"); + const c = He(r.category), h = v("img"); h.src = `${t}assets/mono/light/${c.icon}.svg`, h.alt = c.alt, h.role = "img"; - const u = f("div", [h], o.itemIcon); + const u = v("div", [h], o.itemIcon); return u.ariaHidden = "true", u; } class s extends HTMLElement { @@ -282,7 +282,7 @@ function Pe({ URL_BASE: t }, e) { const c = this; this.querySelector("button").addEventListener("click", async () => { var u; - S.clearMessageBox(); + E.clearMessageBox(); try { const l = await Ke(t, e), g = (u = c.parentElement) == null ? void 0 : u.querySelector("input"); g && (g.value = l ? `${l.name}, ${l.locality}` : g.value), document.dispatchEvent( @@ -307,7 +307,7 @@ function Pe({ URL_BASE: t }, e) { }); } } - customElements.define("pw-geobutton", s), customElements.define("pw-messagebox", S); + customElements.define("pw-geobutton", s), customElements.define("pw-messagebox", E); class d extends HTMLElement { constructor() { super(), this.dataList = {}; @@ -323,62 +323,59 @@ function Pe({ URL_BASE: t }, e) { connectedCallback() { const c = this, h = qe( this.getAttribute("data-debounce-ms"), - Ce + Ie ), u = this.querySelector("input"), l = this.querySelector( "#" + this.getAttribute("for") ); - let g = new H(u, l, { + let g = new q(u, l, { tabInsertsSuggestions: !0, scrollIntoViewOptions: !1 }); - function v(p) { + function w(p) { p ? g.start() : (g.clearSelection(), g.stop()), l.hidden = !p; } - function k() { + function I() { c.setItems([]), l.innerHTML = ""; const p = n(e.noResults); - l.appendChild(p), v(!0); + l.appendChild(p), w(!0); } - const j = M(async (p) => { + const j = je(async (p) => { try { if (!p.value) { l.innerHTML = ""; return; } - const b = await Ge(t, p.value); - if (b.length === 0) - return k(); - c.setItems(b), l.innerHTML = ""; - for (let w of b) { - const q = i(w); - l.appendChild(q); + const f = await Ge(t, p.value); + if (f.length === 0) + return I(); + c.setItems(f), l.innerHTML = ""; + for (let b of f) { + const S = i(b); + l.appendChild(S); } - v(!0); + w(!0); } catch { - k(); + I(); } }, h); u.addEventListener("keydown", (p) => { - p.key === "Escape" && v(!1); + p.key === "Escape" && w(!1); }), u.addEventListener( "input", (p) => j(p.target) - ), u.addEventListener("focus", () => v(!0)), u.addEventListener( - "blur", - // Blur after properly selecting - M(() => v(!1), 100) - ), document.addEventListener("click", (p) => { - P(p.target, this) || v(!1); + ), u.addEventListener("focus", () => w(!0)), u.addEventListener("blur", () => w(!1)), document.addEventListener("click", (p) => { + P(p.target, this) || w(!1); }), l.addEventListener("combobox-commit", function(p) { - const b = p.target.getAttribute( + const f = p.target.getAttribute( "data-feature-id" - ), w = b ? c.getItem(b) : void 0; - u.value = w ? `${w.name}, ${w.locality}` : u.value, document.dispatchEvent( + ), b = f ? c.getItem(f) : void 0; + let S = u.value; + b && (S = `${b.name}`, b.locality && (S += `, ${b.locality}`)), u.value = S, document.dispatchEvent( new CustomEvent("search-selected", { bubbles: !0, detail: { key: u.name, - item: w + item: b } }) ), l.hidden = !0, g.clearSelection(), g.stop(); @@ -484,7 +481,7 @@ function Pe({ URL_BASE: t }, e) { - `, E = y` + `, T = y`
-
${E}
+
${T}
${_}
`; } -function je() { +function Pe() { var t; (t = document.querySelector(".js-tablist")) == null || t.addEventListener("click", function(e) { - var $, E; + var $, T; const i = ($ = e.target) == null ? void 0 : $.closest("a"); if (!i) return; @@ -699,16 +696,16 @@ function je() { const s = document.querySelector("#pw-" + a); if (!s) return; - S.clearMessageBox(), document.querySelectorAll(".js-tabpanel").forEach((_) => { + E.clearMessageBox(), document.querySelectorAll(".js-tabpanel").forEach((_) => { _.classList.add(o.hidden); }), document.querySelectorAll(".js-tablist a").forEach((_) => { _.classList.remove(o.tabSelected); }), s.classList.remove(o.hidden), i.classList.add(o.tabSelected); const d = document.querySelectorAll( `input[type="radio"][name="pw-${a}-searchTimeSelector"]` - ), m = (E = Array.from(d).find( + ), m = (T = Array.from(d).find( (_) => _.checked - )) == null ? void 0 : E.value; + )) == null ? void 0 : T.value; document.querySelectorAll(".js-search-date-details").forEach((_) => { _.hidden = m === "now"; }), document.dispatchEvent( @@ -718,7 +715,7 @@ function je() { ); }); } -function M(t, e) { +function je(t, e) { let i = null; return function(...n) { clearTimeout(i), i = setTimeout(() => { @@ -726,7 +723,7 @@ function M(t, e) { }, e); }; } -function f(t, e = [], i = "") { +function v(t, e = [], i = "") { const n = document.createElement(t); if (Array.isArray(e)) for (let a of e) { diff --git a/public/widget/HYMw1kA/2.6.0/planner-web.umd.js b/public/widget/HYMw1kA/2.6.0/planner-web.umd.js index 224adb3e..3b561874 100644 --- a/public/widget/HYMw1kA/2.6.0/planner-web.umd.js +++ b/public/widget/HYMw1kA/2.6.0/planner-web.umd.js @@ -1,10 +1,10 @@ -(function(b,S){typeof exports=="object"&&typeof module<"u"?S(exports):typeof define=="function"&&define.amd?define(["exports"],S):(b=typeof globalThis<"u"?globalThis:b||self,S(b.PlannerWeb={}))})(this,function(b){"use strict";class S{constructor(e,i,{tabInsertsSuggestions:n,defaultFirstOption:r,scrollIntoViewOptions:s}={}){this.input=e,this.list=i,this.tabInsertsSuggestions=n??!0,this.defaultFirstOption=r??!1,this.scrollIntoViewOptions=s,this.isComposing=!1,i.id||(i.id=`combobox-${Math.random().toString().slice(2,6)}`),this.ctrlBindings=!!navigator.userAgent.match(/Macintosh/),this.keyboardEventHandler=d=>H(d,this),this.compositionEventHandler=d=>N(d,this),this.inputHandler=this.clearSelection.bind(this),e.setAttribute("role","combobox"),e.setAttribute("aria-controls",i.id),e.setAttribute("aria-expanded","false"),e.setAttribute("aria-autocomplete","list"),e.setAttribute("aria-haspopup","listbox")}destroy(){this.clearSelection(),this.stop(),this.input.removeAttribute("role"),this.input.removeAttribute("aria-controls"),this.input.removeAttribute("aria-expanded"),this.input.removeAttribute("aria-autocomplete"),this.input.removeAttribute("aria-haspopup")}start(){this.input.setAttribute("aria-expanded","true"),this.input.addEventListener("compositionstart",this.compositionEventHandler),this.input.addEventListener("compositionend",this.compositionEventHandler),this.input.addEventListener("input",this.inputHandler),this.input.addEventListener("keydown",this.keyboardEventHandler),this.list.addEventListener("click",C),this.indicateDefaultOption()}stop(){this.clearSelection(),this.input.setAttribute("aria-expanded","false"),this.input.removeEventListener("compositionstart",this.compositionEventHandler),this.input.removeEventListener("compositionend",this.compositionEventHandler),this.input.removeEventListener("input",this.inputHandler),this.input.removeEventListener("keydown",this.keyboardEventHandler),this.list.removeEventListener("click",C)}indicateDefaultOption(){var e;this.defaultFirstOption&&((e=Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(L)[0])===null||e===void 0||e.setAttribute("data-combobox-option-default","true"))}navigate(e=1){const i=Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(L)[0],n=Array.from(this.list.querySelectorAll('[role="option"]')).filter(L),r=n.indexOf(i);if(r===n.length-1&&e===1||r===0&&e===-1){this.clearSelection(),this.input.focus();return}let s=e===1?0:n.length-1;if(i&&r>=0){const m=r+e;m>=0&&m0||t.offsetHeight>0)}function N(t,e){e.isComposing=t.type==="compositionstart",document.getElementById(e.input.getAttribute("aria-controls")||"")&&e.clearSelection()}const o={"override-light":"theme-module__override-light",light:"theme-module__light",assistant:'"../page-modules/assistant/assistant.module.css"',departures:'"../page-modules/departures/departures.module.css"',search:'"../components/search/search.module.css"',selector:'"../modules/search-time/selector/selector.module.css"',buttonComponent:'"../components/button/button.module.css"',hidden:"widget-module__hidden",lightWrapper:"widget-module__lightWrapper theme-module__light",wrapper:"widget-module__wrapper theme-module__override-light",form:"widget-module__form assistant-module__container",nav:"widget-module__nav",tabs:"widget-module__tabs",tabSelected:"widget-module__tabSelected",main:"widget-module__main assistant-module__main",heading:"widget-module__heading assistant-module__heading",inputBoxes:"widget-module__inputBoxes",search_container:"widget-module__search_container search-module__container",search_inputContainer:"widget-module__search_inputContainer search-module__inputContainer",search_label:"widget-module__search_label search-module__label typography-module__typo-body__secondary",search_input:"widget-module__search_input search-module__input",search_inputLast:"widget-module__search_inputLast",button_geolocation:"widget-module__button_geolocation departures-module__geolocationButton",selector_group:"widget-module__selector_group selector-module__departureDateSelector",selector_options:"widget-module__selector_options selector-module__options",selector_options__small:"widget-module__selector_options__small selector-module__options",selector_option:"widget-module__selector_option selector-module__option selector-module__option",selector_option__text:"widget-module__selector_option__text selector-module__option__text",selector_option__label:"widget-module__selector_option__label selector-module__option__label",selector_option__input:"widget-module__selector_option__input selector-module__option__input",selector_dateAndTimeSelectorsWrapper:"widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper",selector_dateAndTimeSelectorsWrapper__hidden:"widget-module__selector_dateAndTimeSelectorsWrapper__hidden",selector_dateAndTimeSelectors:"widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors",selector_dateSelector:"widget-module__selector_dateSelector selector-module__dateSelector",selector_timeSelector:"widget-module__selector_timeSelector selector-module__timeSelector",buttonGroup:"widget-module__buttonGroup",button:"widget-module__button","button--disabled":"widget-module__button--disabled",listItem:"widget-module__listItem",itemIcon:"widget-module__itemIcon",itemLocality:"widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary",popupContainer:"widget-module__popupContainer search-module__menu",messageBox:"widget-module__messageBox"};var M={MODULE_VERSION:"2.6.0",COMPRESSED_ORG:"HYMw1kA"};const R=300,w=String.raw,k=M.MODULE_VERSION,I=M.COMPRESSED_ORG;function G(t){if(!(t!=null&&t.startsWith("http")))throw new Error("Missing urlBase in correct schema.");return t.endsWith("/")||(t+="/"),{URL_BASE:t,URL_JS_UMD:`${t}widget/${I}/${k}/planner-web.umd.js`,URL_JS_ESM:`${t}widget/${I}/${k}/planner-web.mjs`,URL_CSS:`${t}widget/${I}/${k}/planner-web.css`}}function V({urlBase:t,language:e="en"}){const i=le(e),n=G(t);return{output:Y(n,i),init:K,urls:n}}function K(){var e,i;J(),B("pw-assistant"),B("pw-departures");let t={from:void 0,to:void 0};document.addEventListener("search-selected",function(n){const r=n;t[r.detail.key]=r.detail.item}),document.addEventListener("reset-search",function(){t={from:void 0,to:void 0},document.querySelectorAll('input[name="from"], input[name="to"]').forEach(n=>{n.value=""})}),document.querySelectorAll("[name$=searchTimeSelector]").forEach(function(n){n.addEventListener("change",function(r){const d=r.currentTarget.value==="now";document.querySelectorAll(".js-search-date-details").forEach(m=>{m.hidden=d})})}),(e=document.querySelector("#pw-form-departures"))==null||e.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;Q(r,t.from)}),(i=document.querySelector("#pw-form-assistant"))==null||i.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;U(r,t.from,t.to)})}function B(t){const e=document.querySelector(`#${t}-searchTimeSelector-date`),i=document.querySelector(`#${t}-searchTimeSelector-time`);try{if(e&&(e.valueAsDate=new Date),i){const n=new Date;n.setSeconds(0),n.setMilliseconds(0),i.valueAsDate=n}}catch{}}function P(t,e){const i=t.get(`${e}-searchTimeSelector`);if(i==="now")return{mode:"now"};{const n=t.get("dateinput"),r=t.get("timeinput");if(n&&r){const s=new Date(`${n}T${r}`);return{mode:i=="arriveBy"?"arriveBy":"departBy",dateTime:s.getTime()}}return{mode:"now"}}}function U(t,e,i){const n=t.action,r=P(new FormData(t),"pw-assistant"),s=oe({from:e,to:i},r),d=new URLSearchParams(s);window.location.href=`${n}?${d.toString()}`}function Q(t,e){const i=t.action,n=P(new FormData(t),"pw-departures"),r=ne(n,e),s=new URLSearchParams(r);(e==null?void 0:e.layer)==="venue"?window.location.href=`${i}/${e.id}?${s.toString()}`:window.location.href=`${i}?${s.toString()}`}class E extends HTMLElement{constructor(){super()}connectedCallback(){const e=this;e.hidden=!0,e.classList.add(o.messageBox),document.addEventListener("pw-errorMessage",function(i){const n=i;e.textContent=n.detail.message,e.hidden=!1}),document.addEventListener("pw-errorMessage-clear",function(i){e.hidden=!0}),e.addEventListener("click",function(){E.clearMessageBox()})}static clearMessageBox(){document.dispatchEvent(new CustomEvent("pw-errorMessage-clear",{bubbles:!0}))}}function Y({URL_BASE:t},e){function i(a){const c=r(a),_=f("span",[a.name]),u=f("span",[a.locality??""],o.itemLocality),l=f("li",[c,_,u],o.listItem);return l.role="option",l.setAttribute("data-feature-id",a.id),l}function n(a){const c=f("span",[a]);return f("li",[c],o.listItem)}function r(a){const c=X(a.category),_=f("img");_.src=`${t}assets/mono/light/${c.icon}.svg`,_.alt=c.alt,_.role="img";const u=f("div",[_],o.itemIcon);return u.ariaHidden="true",u}class s extends HTMLElement{constructor(){super()}connectedCallback(){const c=this;this.querySelector("button").addEventListener("click",async()=>{var u;E.clearMessageBox();try{const l=await re(t,e),g=(u=c.parentElement)==null?void 0:u.querySelector("input");g&&(g.value=l?`${l.name}, ${l.locality}`:g.value),document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:"from",item:l}}))}catch(l){l instanceof Error&&document.dispatchEvent(new CustomEvent("pw-errorMessage",{bubbles:!0,detail:{message:l.message}}))}})}}customElements.define("pw-geobutton",s),customElements.define("pw-messagebox",E);class d extends HTMLElement{constructor(){super(),this.dataList={}}getItem(c){return this.dataList[c]}setItems(c){this.dataList={};for(let _ of c)this.dataList[_.id]=_}connectedCallback(){const c=this,_=z(this.getAttribute("data-debounce-ms"),R),u=this.querySelector("input"),l=this.querySelector("#"+this.getAttribute("for"));let g=new S(u,l,{tabInsertsSuggestions:!0,scrollIntoViewOptions:!1});function y(p){p?g.start():(g.clearSelection(),g.stop()),l.hidden=!p}function W(){c.setItems([]),l.innerHTML="";const p=n(e.noResults);l.appendChild(p),y(!0)}const ce=j(async p=>{try{if(!p.value){l.innerHTML="";return}const v=await ie(t,p.value);if(v.length===0)return W();c.setItems(v),l.innerHTML="";for(let $ of v){const de=i($);l.appendChild(de)}y(!0)}catch{W()}},_);u.addEventListener("keydown",p=>{p.key==="Escape"&&y(!1)}),u.addEventListener("input",p=>ce(p.target)),u.addEventListener("focus",()=>y(!0)),u.addEventListener("blur",j(()=>y(!1),100)),document.addEventListener("click",p=>{O(p.target,this)||y(!1)}),l.addEventListener("combobox-commit",function(p){const v=p.target.getAttribute("data-feature-id"),$=v?c.getItem(v):void 0;u.value=$?`${$.name}, ${$.locality}`:u.value,document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:u.name,item:$}})),l.hidden=!0,g.clearSelection(),g.stop()})}}customElements.define("pw-autocomplete",d);const m=w` +(function(f,S){typeof exports=="object"&&typeof module<"u"?S(exports):typeof define=="function"&&define.amd?define(["exports"],S):(f=typeof globalThis<"u"?globalThis:f||self,S(f.PlannerWeb={}))})(this,function(f){"use strict";class S{constructor(e,i,{tabInsertsSuggestions:n,defaultFirstOption:r,scrollIntoViewOptions:s}={}){this.input=e,this.list=i,this.tabInsertsSuggestions=n??!0,this.defaultFirstOption=r??!1,this.scrollIntoViewOptions=s,this.isComposing=!1,i.id||(i.id=`combobox-${Math.random().toString().slice(2,6)}`),this.ctrlBindings=!!navigator.userAgent.match(/Macintosh/),this.keyboardEventHandler=d=>H(d,this),this.compositionEventHandler=d=>N(d,this),this.inputHandler=this.clearSelection.bind(this),e.setAttribute("role","combobox"),e.setAttribute("aria-controls",i.id),e.setAttribute("aria-expanded","false"),e.setAttribute("aria-autocomplete","list"),e.setAttribute("aria-haspopup","listbox")}destroy(){this.clearSelection(),this.stop(),this.input.removeAttribute("role"),this.input.removeAttribute("aria-controls"),this.input.removeAttribute("aria-expanded"),this.input.removeAttribute("aria-autocomplete"),this.input.removeAttribute("aria-haspopup")}start(){this.input.setAttribute("aria-expanded","true"),this.input.addEventListener("compositionstart",this.compositionEventHandler),this.input.addEventListener("compositionend",this.compositionEventHandler),this.input.addEventListener("input",this.inputHandler),this.input.addEventListener("keydown",this.keyboardEventHandler),this.list.addEventListener("mousedown",D),this.indicateDefaultOption()}stop(){this.clearSelection(),this.input.setAttribute("aria-expanded","false"),this.input.removeEventListener("compositionstart",this.compositionEventHandler),this.input.removeEventListener("compositionend",this.compositionEventHandler),this.input.removeEventListener("input",this.inputHandler),this.input.removeEventListener("keydown",this.keyboardEventHandler),this.list.removeEventListener("mousedown",D)}indicateDefaultOption(){var e;this.defaultFirstOption&&((e=Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(k)[0])===null||e===void 0||e.setAttribute("data-combobox-option-default","true"))}navigate(e=1){const i=Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(k)[0],n=Array.from(this.list.querySelectorAll('[role="option"]')).filter(k),r=n.indexOf(i);if(r===n.length-1&&e===1||r===0&&e===-1){this.clearSelection(),this.input.focus();return}let s=e===1?0:n.length-1;if(i&&r>=0){const m=r+e;m>=0&&m0||t.offsetHeight>0)}function N(t,e){e.isComposing=t.type==="compositionstart",document.getElementById(e.input.getAttribute("aria-controls")||"")&&e.clearSelection()}const o={"override-light":"theme-module__override-light",light:"theme-module__light",assistant:'"../page-modules/assistant/assistant.module.css"',departures:'"../page-modules/departures/departures.module.css"',search:'"../components/search/search.module.css"',selector:'"../modules/search-time/selector/selector.module.css"',buttonComponent:'"../components/button/button.module.css"',hidden:"widget-module__hidden",lightWrapper:"widget-module__lightWrapper theme-module__light",wrapper:"widget-module__wrapper theme-module__override-light",form:"widget-module__form assistant-module__container",nav:"widget-module__nav",tabs:"widget-module__tabs",tabSelected:"widget-module__tabSelected",main:"widget-module__main assistant-module__main",heading:"widget-module__heading assistant-module__heading",inputBoxes:"widget-module__inputBoxes",search_container:"widget-module__search_container search-module__container",search_inputContainer:"widget-module__search_inputContainer search-module__inputContainer",search_label:"widget-module__search_label search-module__label typography-module__typo-body__secondary",search_input:"widget-module__search_input search-module__input",search_inputLast:"widget-module__search_inputLast",button_geolocation:"widget-module__button_geolocation departures-module__geolocationButton",selector_group:"widget-module__selector_group selector-module__departureDateSelector",selector_options:"widget-module__selector_options selector-module__options",selector_options__small:"widget-module__selector_options__small selector-module__options",selector_option:"widget-module__selector_option selector-module__option selector-module__option",selector_option__text:"widget-module__selector_option__text selector-module__option__text",selector_option__label:"widget-module__selector_option__label selector-module__option__label",selector_option__input:"widget-module__selector_option__input selector-module__option__input",selector_dateAndTimeSelectorsWrapper:"widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper",selector_dateAndTimeSelectorsWrapper__hidden:"widget-module__selector_dateAndTimeSelectorsWrapper__hidden",selector_dateAndTimeSelectors:"widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors",selector_dateSelector:"widget-module__selector_dateSelector selector-module__dateSelector",selector_timeSelector:"widget-module__selector_timeSelector selector-module__timeSelector",buttonGroup:"widget-module__buttonGroup",button:"widget-module__button","button--disabled":"widget-module__button--disabled",listItem:"widget-module__listItem",itemIcon:"widget-module__itemIcon",itemLocality:"widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary",popupContainer:"widget-module__popupContainer search-module__menu",messageBox:"widget-module__messageBox"};var B={MODULE_VERSION:"2.6.0",COMPRESSED_ORG:"HYMw1kA"};const R=300,y=String.raw,I=B.MODULE_VERSION,C=B.COMPRESSED_ORG;function G(t){if(!(t!=null&&t.startsWith("http")))throw new Error("Missing urlBase in correct schema.");return t.endsWith("/")||(t+="/"),{URL_BASE:t,URL_JS_UMD:`${t}widget/${C}/${I}/planner-web.umd.js`,URL_JS_ESM:`${t}widget/${C}/${I}/planner-web.mjs`,URL_CSS:`${t}widget/${C}/${I}/planner-web.css`}}function V({urlBase:t,language:e="en"}){const i=ce(e),n=G(t);return{output:Y(n,i),init:K,urls:n}}function K(){var e,i;J(),P("pw-assistant"),P("pw-departures");let t={from:void 0,to:void 0};document.addEventListener("search-selected",function(n){const r=n;t[r.detail.key]=r.detail.item}),document.addEventListener("reset-search",function(){t={from:void 0,to:void 0},document.querySelectorAll('input[name="from"], input[name="to"]').forEach(n=>{n.value=""})}),document.querySelectorAll("[name$=searchTimeSelector]").forEach(function(n){n.addEventListener("change",function(r){const d=r.currentTarget.value==="now";document.querySelectorAll(".js-search-date-details").forEach(m=>{m.hidden=d})})}),(e=document.querySelector("#pw-form-departures"))==null||e.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;Q(r,t.from)}),(i=document.querySelector("#pw-form-assistant"))==null||i.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;U(r,t.from,t.to)})}function P(t){const e=document.querySelector(`#${t}-searchTimeSelector-date`),i=document.querySelector(`#${t}-searchTimeSelector-time`);try{if(e&&(e.valueAsDate=new Date),i){const n=new Date;n.setSeconds(0),n.setMilliseconds(0),i.valueAsDate=n}}catch{}}function j(t,e){const i=t.get(`${e}-searchTimeSelector`);if(i==="now")return{mode:"now"};{const n=t.get("dateinput"),r=t.get("timeinput");if(n&&r){const s=new Date(`${n}T${r}`);return{mode:i=="arriveBy"?"arriveBy":"departBy",dateTime:s.getTime()}}return{mode:"now"}}}function U(t,e,i){const n=t.action,r=j(new FormData(t),"pw-assistant"),s=ne({from:e,to:i},r),d=new URLSearchParams(s);window.location.href=`${n}?${d.toString()}`}function Q(t,e){const i=t.action,n=j(new FormData(t),"pw-departures"),r=ie(n,e),s=new URLSearchParams(r);(e==null?void 0:e.layer)==="venue"?window.location.href=`${i}/${e.id}?${s.toString()}`:window.location.href=`${i}?${s.toString()}`}class E extends HTMLElement{constructor(){super()}connectedCallback(){const e=this;e.hidden=!0,e.classList.add(o.messageBox),document.addEventListener("pw-errorMessage",function(i){const n=i;e.textContent=n.detail.message,e.hidden=!1}),document.addEventListener("pw-errorMessage-clear",function(i){e.hidden=!0}),e.addEventListener("click",function(){E.clearMessageBox()})}static clearMessageBox(){document.dispatchEvent(new CustomEvent("pw-errorMessage-clear",{bubbles:!0}))}}function Y({URL_BASE:t},e){function i(a){const c=r(a),_=b("span",[a.name]),u=b("span",[a.locality??""],o.itemLocality),l=b("li",[c,_,u],o.listItem);return l.role="option",l.setAttribute("data-feature-id",a.id),l}function n(a){const c=b("span",[a]);return b("li",[c],o.listItem)}function r(a){const c=Z(a.category),_=b("img");_.src=`${t}assets/mono/light/${c.icon}.svg`,_.alt=c.alt,_.role="img";const u=b("div",[_],o.itemIcon);return u.ariaHidden="true",u}class s extends HTMLElement{constructor(){super()}connectedCallback(){const c=this;this.querySelector("button").addEventListener("click",async()=>{var u;E.clearMessageBox();try{const l=await ae(t,e),g=(u=c.parentElement)==null?void 0:u.querySelector("input");g&&(g.value=l?`${l.name}, ${l.locality}`:g.value),document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:"from",item:l}}))}catch(l){l instanceof Error&&document.dispatchEvent(new CustomEvent("pw-errorMessage",{bubbles:!0,detail:{message:l.message}}))}})}}customElements.define("pw-geobutton",s),customElements.define("pw-messagebox",E);class d extends HTMLElement{constructor(){super(),this.dataList={}}getItem(c){return this.dataList[c]}setItems(c){this.dataList={};for(let _ of c)this.dataList[_.id]=_}connectedCallback(){const c=this,_=X(this.getAttribute("data-debounce-ms"),R),u=this.querySelector("input"),l=this.querySelector("#"+this.getAttribute("for"));let g=new S(u,l,{tabInsertsSuggestions:!0,scrollIntoViewOptions:!1});function $(p){p?g.start():(g.clearSelection(),g.stop()),l.hidden=!p}function W(){c.setItems([]),l.innerHTML="";const p=n(e.noResults);l.appendChild(p),$(!0)}const de=z(async p=>{try{if(!p.value){l.innerHTML="";return}const v=await re(t,p.value);if(v.length===0)return W();c.setItems(v),l.innerHTML="";for(let w of v){const A=i(w);l.appendChild(A)}$(!0)}catch{W()}},_);u.addEventListener("keydown",p=>{p.key==="Escape"&&$(!1)}),u.addEventListener("input",p=>de(p.target)),u.addEventListener("focus",()=>$(!0)),u.addEventListener("blur",()=>$(!1)),document.addEventListener("click",p=>{O(p.target,this)||$(!1)}),l.addEventListener("combobox-commit",function(p){const v=p.target.getAttribute("data-feature-id"),w=v?c.getItem(v):void 0;let A=u.value;w&&(A=`${w.name}`,w.locality&&(A+=`, ${w.locality}`)),u.value=A,document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:u.name,item:w}})),l.hidden=!0,g.clearSelection(),g.stop()})}}customElements.define("pw-autocomplete",d);const m=y`
- `,T=(a,c=!0)=>w` + `,T=(a,c=!0)=>y`

${e.searchTime.title}

@@ -43,7 +43,7 @@ - ${c?w` + ${c?y`
- `,A=w` + `,L=y` ${m} - `,h=w` + `,h=y`
${m}
- `;return w` + `;return y`
-
${A}
+
${L}
${h}
- `}function J(){var t;(t=document.querySelector(".js-tablist"))==null||t.addEventListener("click",function(e){var T,A;const i=(T=e.target)==null?void 0:T.closest("a");if(!i)return;const n=i.getAttribute("href");if(!n)return;const r=n.replace("/","");e.preventDefault();const s=document.querySelector("#pw-"+r);if(!s)return;E.clearMessageBox(),document.querySelectorAll(".js-tabpanel").forEach(h=>{h.classList.add(o.hidden)}),document.querySelectorAll(".js-tablist a").forEach(h=>{h.classList.remove(o.tabSelected)}),s.classList.remove(o.hidden),i.classList.add(o.tabSelected);const d=document.querySelectorAll(`input[type="radio"][name="pw-${r}-searchTimeSelector"]`),m=(A=Array.from(d).find(h=>h.checked))==null?void 0:A.value;document.querySelectorAll(".js-search-date-details").forEach(h=>{h.hidden=m==="now"}),document.dispatchEvent(new CustomEvent("reset-search",{bubbles:!0}))})}function j(t,e){let i=null;return function(...n){clearTimeout(i),i=setTimeout(()=>{t(...n)},e)}}function f(t,e=[],i=""){const n=document.createElement(t);if(Array.isArray(e))for(let r of e){let s=typeof r=="string"?document.createTextNode(r):r;n.appendChild(s)}return n.className=i,n}function z(t,e){const i=parseInt(t,10);return Number.isNaN(i)?e:i}function O(t,e){return t===e?!0:!t||!t.parentElement?!1:O(t.parentElement,e)}function X(t){switch(Z(t)[0]){case"bus":return{icon:"transportation-entur/Bus",alt:"bus"};case"tram":return{icon:"transportation-entur/Tram",alt:"tram"};case"rail":return{icon:"transportation-entur/Train",alt:"rail"};case"airport":return{icon:"transportation-entur/Plane",alt:"air"};case"boat":return{icon:"transportation-entur/Ferry",alt:"water"};case"unknown":default:return{icon:"map/Pin",alt:"unknown"}}}function Z(t){return t.map(ee).filter((e,i,n)=>n.indexOf(e)===i)}function ee(t){switch(t){case"onstreetBus":case"busStation":case"coachStation":return"bus";case"onstreetTram":case"tramStation":return"tram";case"railStation":case"metroStation":return"rail";case"airport":return"airport";case"harbourPort":case"ferryPort":case"ferryStop":return"boat";default:return"unknown"}}function te(t,e){if(!t)return{};const i=e?{toId:e.id,toLon:e.geometry.coordinates[0].toString(),toLat:e.geometry.coordinates[1].toString(),toLayer:e.layer}:void 0;return{fromId:t.id,fromLon:t.geometry.coordinates[0].toString(),fromLat:t.geometry.coordinates[1].toString(),fromLayer:t.layer,...i}}function oe(t,e){const i=e.mode!=="now"?{searchMode:e.mode,searchTime:e.dateTime.toString()}:{searchMode:e.mode},n=te(t.from,t.to);return{...i,...n}}function ne(t,e){const i=t.mode!=="now"?{searchMode:t.mode,searchTime:t.dateTime.toString()}:{searchMode:t.mode};return!e||e.layer=="venue"?{...i}:{...i,lon:e.geometry.coordinates[0].toString(),lat:e.geometry.coordinates[1].toString()}}async function ie(t,e){const i=`${t}api/departures/autocomplete?q=${e}`,n=await fetch(i);if(!n.ok)throw new Error(`Error fetching autocomplete data from ${i}`);return await n.json()}async function q(t,e){const n=await(await fetch(`${t}api/departures/reverse?lat=${e.latitude}&lon=${e.longitude}`)).json();if(n)return n}async function re(t,e){return new Promise(function(i,n){navigator.geolocation.getCurrentPosition(async r=>{const s=await q(t,r.coords);i(s)},r=>{n(new Error(ae(r.code,e)))},{enableHighAccuracy:!0,timeout:1e4})})}function ae(t,e){switch(t){case GeolocationPositionError.PERMISSION_DENIED:return e.geoTexts.denied;case GeolocationPositionError.TIMEOUT:return e.geoTexts.timeout;case GeolocationPositionError.POSITION_UNAVAILABLE:default:return e.geoTexts.unavailable}}const se={nb:{noResults:"Ingen resultater",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre stedsinnstillinger i nettleseren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikke tilgjengelig.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avganger",placeholder:"adresse, kai eller holdeplass",assistant:{link:"Planlegg reisen",title:"Hvor vil du reise?",from:"Fra",to:"Til"},departure:{link:"Avganger",title:"Hvor vil du reise fra?",from:"Fra"},searchTime:{title:"Når vil du reise?",now:"Nå",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},nn:{noResults:"Ingen resultat",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre posisjonsinnstillingane i nettlesaren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikkje tilgjengeleg.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avgangar",placeholder:"adresse, kai eller haldeplass",assistant:{link:"Planlegg reisa",title:"Kor vil du reise?",from:"Frå",to:"Til"},departure:{link:"Avgangar",title:"Kor vil du reise frå?",from:"Frå"},searchTime:{title:"Når vil du reise?",now:"No",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},en:{noResults:"No results",geoButton:"Find my position",geoTexts:{denied:"You must change location settings in your browser to use your position in the travel search.",unavailable:"Your position is not available.",timeout:"It took too long to retrieve your position. Try again."},searchButton:"Find departures",placeholder:"address, quay, or stop",assistant:{link:"Plan your journey",title:"Where do you want to travel?",from:"From",to:"To"},departure:{link:"Departures",title:"Where do you want to travel from?",from:"From"},searchTime:{title:"When do you want to travel?",now:"Now",arrive:"Arrival",depart:"Departure",date:"Date",time:"Time"}}};function le(t){return se[t]}b.createWidget=V,b.reverse=q,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})}); + `}function J(){var t;(t=document.querySelector(".js-tablist"))==null||t.addEventListener("click",function(e){var T,L;const i=(T=e.target)==null?void 0:T.closest("a");if(!i)return;const n=i.getAttribute("href");if(!n)return;const r=n.replace("/","");e.preventDefault();const s=document.querySelector("#pw-"+r);if(!s)return;E.clearMessageBox(),document.querySelectorAll(".js-tabpanel").forEach(h=>{h.classList.add(o.hidden)}),document.querySelectorAll(".js-tablist a").forEach(h=>{h.classList.remove(o.tabSelected)}),s.classList.remove(o.hidden),i.classList.add(o.tabSelected);const d=document.querySelectorAll(`input[type="radio"][name="pw-${r}-searchTimeSelector"]`),m=(L=Array.from(d).find(h=>h.checked))==null?void 0:L.value;document.querySelectorAll(".js-search-date-details").forEach(h=>{h.hidden=m==="now"}),document.dispatchEvent(new CustomEvent("reset-search",{bubbles:!0}))})}function z(t,e){let i=null;return function(...n){clearTimeout(i),i=setTimeout(()=>{t(...n)},e)}}function b(t,e=[],i=""){const n=document.createElement(t);if(Array.isArray(e))for(let r of e){let s=typeof r=="string"?document.createTextNode(r):r;n.appendChild(s)}return n.className=i,n}function X(t,e){const i=parseInt(t,10);return Number.isNaN(i)?e:i}function O(t,e){return t===e?!0:!t||!t.parentElement?!1:O(t.parentElement,e)}function Z(t){switch(ee(t)[0]){case"bus":return{icon:"transportation-entur/Bus",alt:"bus"};case"tram":return{icon:"transportation-entur/Tram",alt:"tram"};case"rail":return{icon:"transportation-entur/Train",alt:"rail"};case"airport":return{icon:"transportation-entur/Plane",alt:"air"};case"boat":return{icon:"transportation-entur/Ferry",alt:"water"};case"unknown":default:return{icon:"map/Pin",alt:"unknown"}}}function ee(t){return t.map(te).filter((e,i,n)=>n.indexOf(e)===i)}function te(t){switch(t){case"onstreetBus":case"busStation":case"coachStation":return"bus";case"onstreetTram":case"tramStation":return"tram";case"railStation":case"metroStation":return"rail";case"airport":return"airport";case"harbourPort":case"ferryPort":case"ferryStop":return"boat";default:return"unknown"}}function oe(t,e){if(!t)return{};const i=e?{toId:e.id,toLon:e.geometry.coordinates[0].toString(),toLat:e.geometry.coordinates[1].toString(),toLayer:e.layer}:void 0;return{fromId:t.id,fromLon:t.geometry.coordinates[0].toString(),fromLat:t.geometry.coordinates[1].toString(),fromLayer:t.layer,...i}}function ne(t,e){const i=e.mode!=="now"?{searchMode:e.mode,searchTime:e.dateTime.toString()}:{searchMode:e.mode},n=oe(t.from,t.to);return{...i,...n}}function ie(t,e){const i=t.mode!=="now"?{searchMode:t.mode,searchTime:t.dateTime.toString()}:{searchMode:t.mode};return!e||e.layer=="venue"?{...i}:{...i,lon:e.geometry.coordinates[0].toString(),lat:e.geometry.coordinates[1].toString()}}async function re(t,e){const i=`${t}api/departures/autocomplete?q=${e}`,n=await fetch(i);if(!n.ok)throw new Error(`Error fetching autocomplete data from ${i}`);return await n.json()}async function q(t,e){const n=await(await fetch(`${t}api/departures/reverse?lat=${e.latitude}&lon=${e.longitude}`)).json();if(n)return n}async function ae(t,e){return new Promise(function(i,n){navigator.geolocation.getCurrentPosition(async r=>{const s=await q(t,r.coords);i(s)},r=>{n(new Error(se(r.code,e)))},{enableHighAccuracy:!0,timeout:1e4})})}function se(t,e){switch(t){case GeolocationPositionError.PERMISSION_DENIED:return e.geoTexts.denied;case GeolocationPositionError.TIMEOUT:return e.geoTexts.timeout;case GeolocationPositionError.POSITION_UNAVAILABLE:default:return e.geoTexts.unavailable}}const le={nb:{noResults:"Ingen resultater",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre stedsinnstillinger i nettleseren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikke tilgjengelig.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avganger",placeholder:"adresse, kai eller holdeplass",assistant:{link:"Planlegg reisen",title:"Hvor vil du reise?",from:"Fra",to:"Til"},departure:{link:"Avganger",title:"Hvor vil du reise fra?",from:"Fra"},searchTime:{title:"Når vil du reise?",now:"Nå",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},nn:{noResults:"Ingen resultat",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre posisjonsinnstillingane i nettlesaren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikkje tilgjengeleg.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avgangar",placeholder:"adresse, kai eller haldeplass",assistant:{link:"Planlegg reisa",title:"Kor vil du reise?",from:"Frå",to:"Til"},departure:{link:"Avgangar",title:"Kor vil du reise frå?",from:"Frå"},searchTime:{title:"Når vil du reise?",now:"No",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},en:{noResults:"No results",geoButton:"Find my position",geoTexts:{denied:"You must change location settings in your browser to use your position in the travel search.",unavailable:"Your position is not available.",timeout:"It took too long to retrieve your position. Try again."},searchButton:"Find departures",placeholder:"address, quay, or stop",assistant:{link:"Plan your journey",title:"Where do you want to travel?",from:"From",to:"To"},departure:{link:"Departures",title:"Where do you want to travel from?",from:"From"},searchTime:{title:"When do you want to travel?",now:"Now",arrive:"Arrival",depart:"Departure",date:"Date",time:"Time"}}};function ce(t){return le[t]}f.createWidget=V,f.reverse=q,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})}); diff --git a/public/widget/IYFwRkA/2.6.0/planner-web.mjs b/public/widget/IYFwRkA/2.6.0/planner-web.mjs index 8ef540f7..028b2d7e 100644 --- a/public/widget/IYFwRkA/2.6.0/planner-web.mjs +++ b/public/widget/IYFwRkA/2.6.0/planner-web.mjs @@ -1,22 +1,22 @@ -class H { +class q { constructor(e, i, { tabInsertsSuggestions: n, defaultFirstOption: a, scrollIntoViewOptions: s } = {}) { - this.input = e, this.list = i, this.tabInsertsSuggestions = n ?? !0, this.defaultFirstOption = a ?? !1, this.scrollIntoViewOptions = s, this.isComposing = !1, i.id || (i.id = `combobox-${Math.random().toString().slice(2, 6)}`), this.ctrlBindings = !!navigator.userAgent.match(/Macintosh/), this.keyboardEventHandler = (d) => F(d, this), this.compositionEventHandler = (d) => x(d, this), this.inputHandler = this.clearSelection.bind(this), e.setAttribute("role", "combobox"), e.setAttribute("aria-controls", i.id), e.setAttribute("aria-expanded", "false"), e.setAttribute("aria-autocomplete", "list"), e.setAttribute("aria-haspopup", "listbox"); + this.input = e, this.list = i, this.tabInsertsSuggestions = n ?? !0, this.defaultFirstOption = a ?? !1, this.scrollIntoViewOptions = s, this.isComposing = !1, i.id || (i.id = `combobox-${Math.random().toString().slice(2, 6)}`), this.ctrlBindings = !!navigator.userAgent.match(/Macintosh/), this.keyboardEventHandler = (d) => H(d, this), this.compositionEventHandler = (d) => N(d, this), this.inputHandler = this.clearSelection.bind(this), e.setAttribute("role", "combobox"), e.setAttribute("aria-controls", i.id), e.setAttribute("aria-expanded", "false"), e.setAttribute("aria-autocomplete", "list"), e.setAttribute("aria-haspopup", "listbox"); } destroy() { this.clearSelection(), this.stop(), this.input.removeAttribute("role"), this.input.removeAttribute("aria-controls"), this.input.removeAttribute("aria-expanded"), this.input.removeAttribute("aria-autocomplete"), this.input.removeAttribute("aria-haspopup"); } start() { - this.input.setAttribute("aria-expanded", "true"), this.input.addEventListener("compositionstart", this.compositionEventHandler), this.input.addEventListener("compositionend", this.compositionEventHandler), this.input.addEventListener("input", this.inputHandler), this.input.addEventListener("keydown", this.keyboardEventHandler), this.list.addEventListener("click", I), this.indicateDefaultOption(); + this.input.setAttribute("aria-expanded", "true"), this.input.addEventListener("compositionstart", this.compositionEventHandler), this.input.addEventListener("compositionend", this.compositionEventHandler), this.input.addEventListener("input", this.inputHandler), this.input.addEventListener("keydown", this.keyboardEventHandler), this.list.addEventListener("mousedown", C), this.indicateDefaultOption(); } stop() { - this.clearSelection(), this.input.setAttribute("aria-expanded", "false"), this.input.removeEventListener("compositionstart", this.compositionEventHandler), this.input.removeEventListener("compositionend", this.compositionEventHandler), this.input.removeEventListener("input", this.inputHandler), this.input.removeEventListener("keydown", this.keyboardEventHandler), this.list.removeEventListener("click", I); + this.clearSelection(), this.input.setAttribute("aria-expanded", "false"), this.input.removeEventListener("compositionstart", this.compositionEventHandler), this.input.removeEventListener("compositionend", this.compositionEventHandler), this.input.removeEventListener("input", this.inputHandler), this.input.removeEventListener("keydown", this.keyboardEventHandler), this.list.removeEventListener("mousedown", C); } indicateDefaultOption() { var e; - this.defaultFirstOption && ((e = Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(T)[0]) === null || e === void 0 || e.setAttribute("data-combobox-option-default", "true")); + this.defaultFirstOption && ((e = Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(A)[0]) === null || e === void 0 || e.setAttribute("data-combobox-option-default", "true")); } navigate(e = 1) { - const i = Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(T)[0], n = Array.from(this.list.querySelectorAll('[role="option"]')).filter(T), a = n.indexOf(i); + const i = Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(A)[0], n = Array.from(this.list.querySelectorAll('[role="option"]')).filter(A), a = n.indexOf(i); if (a === n.length - 1 && e === 1 || a === 0 && e === -1) { this.clearSelection(), this.input.focus(); return; @@ -29,7 +29,7 @@ class H { const d = n[s]; if (d) for (const m of n) - m.removeAttribute("data-combobox-option-default"), d === m ? (this.input.setAttribute("aria-activedescendant", d.id), d.setAttribute("aria-selected", "true"), N(d), d.scrollIntoView(this.scrollIntoViewOptions)) : m.removeAttribute("aria-selected"); + m.removeAttribute("data-combobox-option-default"), d === m ? (this.input.setAttribute("aria-activedescendant", d.id), d.setAttribute("aria-selected", "true"), W(d), d.scrollIntoView(this.scrollIntoViewOptions)) : m.removeAttribute("aria-selected"); } clearSelection() { this.input.removeAttribute("aria-activedescendant"); @@ -38,14 +38,14 @@ class H { this.indicateDefaultOption(); } } -function F(t, e) { +function H(t, e) { if (!(t.shiftKey || t.metaKey || t.altKey) && !(!e.ctrlBindings && t.ctrlKey) && !e.isComposing) switch (t.key) { case "Enter": - C(e.input, e.list) && t.preventDefault(); + D(e.input, e.list) && t.preventDefault(); break; case "Tab": - e.tabInsertsSuggestions && C(e.input, e.list) && t.preventDefault(); + e.tabInsertsSuggestions && D(e.input, e.list) && t.preventDefault(); break; case "Escape": e.clearSelection(); @@ -68,99 +68,99 @@ function F(t, e) { e.clearSelection(); } } -function I(t) { +function C(t) { if (!(t.target instanceof Element)) return; const e = t.target.closest('[role="option"]'); - e && e.getAttribute("aria-disabled") !== "true" && W(e, { event: t }); + e && e.getAttribute("aria-disabled") !== "true" && F(e, { event: t }); } -function C(t, e) { +function D(t, e) { const i = e.querySelector('[aria-selected="true"], [data-combobox-option-default="true"]'); return i ? (i.getAttribute("aria-disabled") === "true" || i.click(), !0) : !1; } -function W(t, e) { +function F(t, e) { t.dispatchEvent(new CustomEvent("combobox-commit", { bubbles: !0, detail: e })); } -function N(t) { +function W(t) { t.dispatchEvent(new Event("combobox-select", { bubbles: !0 })); } -function T(t) { +function A(t) { return !t.hidden && !(t instanceof HTMLInputElement && t.type === "hidden") && (t.offsetWidth > 0 || t.offsetHeight > 0); } -function x(t, e) { +function N(t, e) { e.isComposing = t.type === "compositionstart", document.getElementById(e.input.getAttribute("aria-controls") || "") && e.clearSelection(); } -const R = "theme-module__light", G = '"../page-modules/assistant/assistant.module.css"', V = '"../page-modules/departures/departures.module.css"', K = '"../components/search/search.module.css"', U = '"../modules/search-time/selector/selector.module.css"', Q = '"../components/button/button.module.css"', Y = "widget-module__hidden", J = "widget-module__lightWrapper theme-module__light", z = "widget-module__wrapper theme-module__override-light", X = "widget-module__form assistant-module__container", Z = "widget-module__nav", ee = "widget-module__tabs", te = "widget-module__tabSelected", oe = "widget-module__main assistant-module__main", ne = "widget-module__heading assistant-module__heading", ie = "widget-module__inputBoxes", ae = "widget-module__search_container search-module__container", re = "widget-module__search_inputContainer search-module__inputContainer", se = "widget-module__search_label search-module__label typography-module__typo-body__secondary", le = "widget-module__search_input search-module__input", ce = "widget-module__search_inputLast", de = "widget-module__button_geolocation departures-module__geolocationButton", ue = "widget-module__selector_group selector-module__departureDateSelector", pe = "widget-module__selector_options selector-module__options", me = "widget-module__selector_options__small selector-module__options", he = "widget-module__selector_option selector-module__option selector-module__option", _e = "widget-module__selector_option__text selector-module__option__text", ge = "widget-module__selector_option__label selector-module__option__label", be = "widget-module__selector_option__input selector-module__option__input", fe = "widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper", ve = "widget-module__selector_dateAndTimeSelectorsWrapper__hidden", we = "widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors", ye = "widget-module__selector_dateSelector selector-module__dateSelector", $e = "widget-module__selector_timeSelector selector-module__timeSelector", Se = "widget-module__buttonGroup", Ee = "widget-module__button", Te = "widget-module__listItem", Ae = "widget-module__itemIcon", Le = "widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary", ke = "widget-module__popupContainer search-module__menu", Ie = "widget-module__messageBox", o = { +const x = "theme-module__light", R = '"../page-modules/assistant/assistant.module.css"', G = '"../page-modules/departures/departures.module.css"', V = '"../components/search/search.module.css"', K = '"../modules/search-time/selector/selector.module.css"', U = '"../components/button/button.module.css"', Q = "widget-module__hidden", Y = "widget-module__lightWrapper theme-module__light", J = "widget-module__wrapper theme-module__override-light", z = "widget-module__form assistant-module__container", X = "widget-module__nav", Z = "widget-module__tabs", ee = "widget-module__tabSelected", te = "widget-module__main assistant-module__main", oe = "widget-module__heading assistant-module__heading", ne = "widget-module__inputBoxes", ie = "widget-module__search_container search-module__container", ae = "widget-module__search_inputContainer search-module__inputContainer", re = "widget-module__search_label search-module__label typography-module__typo-body__secondary", se = "widget-module__search_input search-module__input", le = "widget-module__search_inputLast", ce = "widget-module__button_geolocation departures-module__geolocationButton", de = "widget-module__selector_group selector-module__departureDateSelector", ue = "widget-module__selector_options selector-module__options", pe = "widget-module__selector_options__small selector-module__options", me = "widget-module__selector_option selector-module__option selector-module__option", he = "widget-module__selector_option__text selector-module__option__text", _e = "widget-module__selector_option__label selector-module__option__label", ge = "widget-module__selector_option__input selector-module__option__input", fe = "widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper", be = "widget-module__selector_dateAndTimeSelectorsWrapper__hidden", ve = "widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors", we = "widget-module__selector_dateSelector selector-module__dateSelector", ye = "widget-module__selector_timeSelector selector-module__timeSelector", $e = "widget-module__buttonGroup", Se = "widget-module__button", Ee = "widget-module__listItem", Te = "widget-module__itemIcon", Ae = "widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary", Le = "widget-module__popupContainer search-module__menu", ke = "widget-module__messageBox", o = { "override-light": "theme-module__override-light", - light: R, - assistant: G, - departures: V, - search: K, - selector: U, - buttonComponent: Q, - hidden: Y, - lightWrapper: J, - wrapper: z, - form: X, - nav: Z, - tabs: ee, - tabSelected: te, - main: oe, - heading: ne, - inputBoxes: ie, - search_container: ae, - search_inputContainer: re, - search_label: se, - search_input: le, - search_inputLast: ce, - button_geolocation: de, - selector_group: ue, - selector_options: pe, - selector_options__small: me, - selector_option: he, - selector_option__text: _e, - selector_option__label: ge, - selector_option__input: be, + light: x, + assistant: R, + departures: G, + search: V, + selector: K, + buttonComponent: U, + hidden: Q, + lightWrapper: Y, + wrapper: J, + form: z, + nav: X, + tabs: Z, + tabSelected: ee, + main: te, + heading: oe, + inputBoxes: ne, + search_container: ie, + search_inputContainer: ae, + search_label: re, + search_input: se, + search_inputLast: le, + button_geolocation: ce, + selector_group: de, + selector_options: ue, + selector_options__small: pe, + selector_option: me, + selector_option__text: he, + selector_option__label: _e, + selector_option__input: ge, selector_dateAndTimeSelectorsWrapper: fe, - selector_dateAndTimeSelectorsWrapper__hidden: ve, - selector_dateAndTimeSelectors: we, - selector_dateSelector: ye, - selector_timeSelector: $e, - buttonGroup: Se, - button: Ee, + selector_dateAndTimeSelectorsWrapper__hidden: be, + selector_dateAndTimeSelectors: ve, + selector_dateSelector: we, + selector_timeSelector: ye, + buttonGroup: $e, + button: Se, "button--disabled": "widget-module__button--disabled", - listItem: Te, - itemIcon: Ae, - itemLocality: Le, - popupContainer: ke, - messageBox: Ie + listItem: Ee, + itemIcon: Te, + itemLocality: Ae, + popupContainer: Le, + messageBox: ke }; var B = { MODULE_VERSION: "2.6.0", COMPRESSED_ORG: "IYFwRkA" }; -const Ce = 300, y = String.raw, A = B.MODULE_VERSION, L = B.COMPRESSED_ORG; -function De(t) { +const Ie = 300, y = String.raw, L = B.MODULE_VERSION, k = B.COMPRESSED_ORG; +function Ce(t) { if (!(t != null && t.startsWith("http"))) throw new Error("Missing urlBase in correct schema."); return t.endsWith("/") || (t += "/"), { URL_BASE: t, - URL_JS_UMD: `${t}widget/${L}/${A}/planner-web.umd.js`, - URL_JS_ESM: `${t}widget/${L}/${A}/planner-web.mjs`, - URL_CSS: `${t}widget/${L}/${A}/planner-web.css` + URL_JS_UMD: `${t}widget/${k}/${L}/planner-web.umd.js`, + URL_JS_ESM: `${t}widget/${k}/${L}/planner-web.mjs`, + URL_CSS: `${t}widget/${k}/${L}/planner-web.css` }; } function ze({ urlBase: t, language: e = "en" }) { - const i = Ye(e), n = De(t); + const i = Ye(e), n = Ce(t); return { - output: Pe(n, i), - init: Me, + output: Oe(n, i), + init: De, urls: n }; } -function Me() { +function De() { var e, i; - je(), D("pw-assistant"), D("pw-departures"); + Pe(), M("pw-assistant"), M("pw-departures"); let t = { from: void 0, to: void 0 @@ -187,14 +187,14 @@ function Me() { }), (e = document.querySelector("#pw-form-departures")) == null || e.addEventListener("submit", (n) => { n.preventDefault(); const a = n.currentTarget; - Oe(a, t.from); + Be(a, t.from); }), (i = document.querySelector("#pw-form-assistant")) == null || i.addEventListener("submit", (n) => { n.preventDefault(); const a = n.currentTarget; - Be(a, t.from, t.to); + Me(a, t.from, t.to); }); } -function D(t) { +function M(t) { const e = document.querySelector( `#${t}-searchTimeSelector-date` ), i = document.querySelector( @@ -228,15 +228,15 @@ function O(t, e) { }; } } -function Be(t, e, i) { +function Me(t, e, i) { const n = t.action, a = O(new FormData(t), "pw-assistant"), s = xe({ from: e, to: i }, a), d = new URLSearchParams(s); window.location.href = `${n}?${d.toString()}`; } -function Oe(t, e) { +function Be(t, e) { const i = t.action, n = O(new FormData(t), "pw-departures"), a = Re(n, e), s = new URLSearchParams(a); (e == null ? void 0 : e.layer) === "venue" ? window.location.href = `${i}/${e.id}?${s.toString()}` : window.location.href = `${i}?${s.toString()}`; } -class S extends HTMLElement { +class E extends HTMLElement { constructor() { super(); } @@ -248,7 +248,7 @@ class S extends HTMLElement { }), document.addEventListener("pw-errorMessage-clear", function(i) { e.hidden = !0; }), e.addEventListener("click", function() { - S.clearMessageBox(); + E.clearMessageBox(); }); } static clearMessageBox() { @@ -259,19 +259,19 @@ class S extends HTMLElement { ); } } -function Pe({ URL_BASE: t }, e) { +function Oe({ URL_BASE: t }, e) { function i(r) { - const c = a(r), h = f("span", [r.name]), u = f("span", [r.locality ?? ""], o.itemLocality), l = f("li", [c, h, u], o.listItem); + const c = a(r), h = v("span", [r.name]), u = v("span", [r.locality ?? ""], o.itemLocality), l = v("li", [c, h, u], o.listItem); return l.role = "option", l.setAttribute("data-feature-id", r.id), l; } function n(r) { - const c = f("span", [r]); - return f("li", [c], o.listItem); + const c = v("span", [r]); + return v("li", [c], o.listItem); } function a(r) { - const c = He(r.category), h = f("img"); + const c = He(r.category), h = v("img"); h.src = `${t}assets/mono/light/${c.icon}.svg`, h.alt = c.alt, h.role = "img"; - const u = f("div", [h], o.itemIcon); + const u = v("div", [h], o.itemIcon); return u.ariaHidden = "true", u; } class s extends HTMLElement { @@ -282,7 +282,7 @@ function Pe({ URL_BASE: t }, e) { const c = this; this.querySelector("button").addEventListener("click", async () => { var u; - S.clearMessageBox(); + E.clearMessageBox(); try { const l = await Ke(t, e), g = (u = c.parentElement) == null ? void 0 : u.querySelector("input"); g && (g.value = l ? `${l.name}, ${l.locality}` : g.value), document.dispatchEvent( @@ -307,7 +307,7 @@ function Pe({ URL_BASE: t }, e) { }); } } - customElements.define("pw-geobutton", s), customElements.define("pw-messagebox", S); + customElements.define("pw-geobutton", s), customElements.define("pw-messagebox", E); class d extends HTMLElement { constructor() { super(), this.dataList = {}; @@ -323,62 +323,59 @@ function Pe({ URL_BASE: t }, e) { connectedCallback() { const c = this, h = qe( this.getAttribute("data-debounce-ms"), - Ce + Ie ), u = this.querySelector("input"), l = this.querySelector( "#" + this.getAttribute("for") ); - let g = new H(u, l, { + let g = new q(u, l, { tabInsertsSuggestions: !0, scrollIntoViewOptions: !1 }); - function v(p) { + function w(p) { p ? g.start() : (g.clearSelection(), g.stop()), l.hidden = !p; } - function k() { + function I() { c.setItems([]), l.innerHTML = ""; const p = n(e.noResults); - l.appendChild(p), v(!0); + l.appendChild(p), w(!0); } - const j = M(async (p) => { + const j = je(async (p) => { try { if (!p.value) { l.innerHTML = ""; return; } - const b = await Ge(t, p.value); - if (b.length === 0) - return k(); - c.setItems(b), l.innerHTML = ""; - for (let w of b) { - const q = i(w); - l.appendChild(q); + const f = await Ge(t, p.value); + if (f.length === 0) + return I(); + c.setItems(f), l.innerHTML = ""; + for (let b of f) { + const S = i(b); + l.appendChild(S); } - v(!0); + w(!0); } catch { - k(); + I(); } }, h); u.addEventListener("keydown", (p) => { - p.key === "Escape" && v(!1); + p.key === "Escape" && w(!1); }), u.addEventListener( "input", (p) => j(p.target) - ), u.addEventListener("focus", () => v(!0)), u.addEventListener( - "blur", - // Blur after properly selecting - M(() => v(!1), 100) - ), document.addEventListener("click", (p) => { - P(p.target, this) || v(!1); + ), u.addEventListener("focus", () => w(!0)), u.addEventListener("blur", () => w(!1)), document.addEventListener("click", (p) => { + P(p.target, this) || w(!1); }), l.addEventListener("combobox-commit", function(p) { - const b = p.target.getAttribute( + const f = p.target.getAttribute( "data-feature-id" - ), w = b ? c.getItem(b) : void 0; - u.value = w ? `${w.name}, ${w.locality}` : u.value, document.dispatchEvent( + ), b = f ? c.getItem(f) : void 0; + let S = u.value; + b && (S = `${b.name}`, b.locality && (S += `, ${b.locality}`)), u.value = S, document.dispatchEvent( new CustomEvent("search-selected", { bubbles: !0, detail: { key: u.name, - item: w + item: b } }) ), l.hidden = !0, g.clearSelection(), g.stop(); @@ -484,7 +481,7 @@ function Pe({ URL_BASE: t }, e) { - `, E = y` + `, T = y`
-
${E}
+
${T}
${_}
`; } -function je() { +function Pe() { var t; (t = document.querySelector(".js-tablist")) == null || t.addEventListener("click", function(e) { - var $, E; + var $, T; const i = ($ = e.target) == null ? void 0 : $.closest("a"); if (!i) return; @@ -699,16 +696,16 @@ function je() { const s = document.querySelector("#pw-" + a); if (!s) return; - S.clearMessageBox(), document.querySelectorAll(".js-tabpanel").forEach((_) => { + E.clearMessageBox(), document.querySelectorAll(".js-tabpanel").forEach((_) => { _.classList.add(o.hidden); }), document.querySelectorAll(".js-tablist a").forEach((_) => { _.classList.remove(o.tabSelected); }), s.classList.remove(o.hidden), i.classList.add(o.tabSelected); const d = document.querySelectorAll( `input[type="radio"][name="pw-${a}-searchTimeSelector"]` - ), m = (E = Array.from(d).find( + ), m = (T = Array.from(d).find( (_) => _.checked - )) == null ? void 0 : E.value; + )) == null ? void 0 : T.value; document.querySelectorAll(".js-search-date-details").forEach((_) => { _.hidden = m === "now"; }), document.dispatchEvent( @@ -718,7 +715,7 @@ function je() { ); }); } -function M(t, e) { +function je(t, e) { let i = null; return function(...n) { clearTimeout(i), i = setTimeout(() => { @@ -726,7 +723,7 @@ function M(t, e) { }, e); }; } -function f(t, e = [], i = "") { +function v(t, e = [], i = "") { const n = document.createElement(t); if (Array.isArray(e)) for (let a of e) { diff --git a/public/widget/IYFwRkA/2.6.0/planner-web.umd.js b/public/widget/IYFwRkA/2.6.0/planner-web.umd.js index 425c5a1b..9f7a102e 100644 --- a/public/widget/IYFwRkA/2.6.0/planner-web.umd.js +++ b/public/widget/IYFwRkA/2.6.0/planner-web.umd.js @@ -1,10 +1,10 @@ -(function(b,S){typeof exports=="object"&&typeof module<"u"?S(exports):typeof define=="function"&&define.amd?define(["exports"],S):(b=typeof globalThis<"u"?globalThis:b||self,S(b.PlannerWeb={}))})(this,function(b){"use strict";class S{constructor(e,i,{tabInsertsSuggestions:n,defaultFirstOption:r,scrollIntoViewOptions:s}={}){this.input=e,this.list=i,this.tabInsertsSuggestions=n??!0,this.defaultFirstOption=r??!1,this.scrollIntoViewOptions=s,this.isComposing=!1,i.id||(i.id=`combobox-${Math.random().toString().slice(2,6)}`),this.ctrlBindings=!!navigator.userAgent.match(/Macintosh/),this.keyboardEventHandler=d=>H(d,this),this.compositionEventHandler=d=>N(d,this),this.inputHandler=this.clearSelection.bind(this),e.setAttribute("role","combobox"),e.setAttribute("aria-controls",i.id),e.setAttribute("aria-expanded","false"),e.setAttribute("aria-autocomplete","list"),e.setAttribute("aria-haspopup","listbox")}destroy(){this.clearSelection(),this.stop(),this.input.removeAttribute("role"),this.input.removeAttribute("aria-controls"),this.input.removeAttribute("aria-expanded"),this.input.removeAttribute("aria-autocomplete"),this.input.removeAttribute("aria-haspopup")}start(){this.input.setAttribute("aria-expanded","true"),this.input.addEventListener("compositionstart",this.compositionEventHandler),this.input.addEventListener("compositionend",this.compositionEventHandler),this.input.addEventListener("input",this.inputHandler),this.input.addEventListener("keydown",this.keyboardEventHandler),this.list.addEventListener("click",C),this.indicateDefaultOption()}stop(){this.clearSelection(),this.input.setAttribute("aria-expanded","false"),this.input.removeEventListener("compositionstart",this.compositionEventHandler),this.input.removeEventListener("compositionend",this.compositionEventHandler),this.input.removeEventListener("input",this.inputHandler),this.input.removeEventListener("keydown",this.keyboardEventHandler),this.list.removeEventListener("click",C)}indicateDefaultOption(){var e;this.defaultFirstOption&&((e=Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(L)[0])===null||e===void 0||e.setAttribute("data-combobox-option-default","true"))}navigate(e=1){const i=Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(L)[0],n=Array.from(this.list.querySelectorAll('[role="option"]')).filter(L),r=n.indexOf(i);if(r===n.length-1&&e===1||r===0&&e===-1){this.clearSelection(),this.input.focus();return}let s=e===1?0:n.length-1;if(i&&r>=0){const m=r+e;m>=0&&m0||t.offsetHeight>0)}function N(t,e){e.isComposing=t.type==="compositionstart",document.getElementById(e.input.getAttribute("aria-controls")||"")&&e.clearSelection()}const o={"override-light":"theme-module__override-light",light:"theme-module__light",assistant:'"../page-modules/assistant/assistant.module.css"',departures:'"../page-modules/departures/departures.module.css"',search:'"../components/search/search.module.css"',selector:'"../modules/search-time/selector/selector.module.css"',buttonComponent:'"../components/button/button.module.css"',hidden:"widget-module__hidden",lightWrapper:"widget-module__lightWrapper theme-module__light",wrapper:"widget-module__wrapper theme-module__override-light",form:"widget-module__form assistant-module__container",nav:"widget-module__nav",tabs:"widget-module__tabs",tabSelected:"widget-module__tabSelected",main:"widget-module__main assistant-module__main",heading:"widget-module__heading assistant-module__heading",inputBoxes:"widget-module__inputBoxes",search_container:"widget-module__search_container search-module__container",search_inputContainer:"widget-module__search_inputContainer search-module__inputContainer",search_label:"widget-module__search_label search-module__label typography-module__typo-body__secondary",search_input:"widget-module__search_input search-module__input",search_inputLast:"widget-module__search_inputLast",button_geolocation:"widget-module__button_geolocation departures-module__geolocationButton",selector_group:"widget-module__selector_group selector-module__departureDateSelector",selector_options:"widget-module__selector_options selector-module__options",selector_options__small:"widget-module__selector_options__small selector-module__options",selector_option:"widget-module__selector_option selector-module__option selector-module__option",selector_option__text:"widget-module__selector_option__text selector-module__option__text",selector_option__label:"widget-module__selector_option__label selector-module__option__label",selector_option__input:"widget-module__selector_option__input selector-module__option__input",selector_dateAndTimeSelectorsWrapper:"widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper",selector_dateAndTimeSelectorsWrapper__hidden:"widget-module__selector_dateAndTimeSelectorsWrapper__hidden",selector_dateAndTimeSelectors:"widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors",selector_dateSelector:"widget-module__selector_dateSelector selector-module__dateSelector",selector_timeSelector:"widget-module__selector_timeSelector selector-module__timeSelector",buttonGroup:"widget-module__buttonGroup",button:"widget-module__button","button--disabled":"widget-module__button--disabled",listItem:"widget-module__listItem",itemIcon:"widget-module__itemIcon",itemLocality:"widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary",popupContainer:"widget-module__popupContainer search-module__menu",messageBox:"widget-module__messageBox"};var M={MODULE_VERSION:"2.6.0",COMPRESSED_ORG:"IYFwRkA"};const R=300,w=String.raw,k=M.MODULE_VERSION,I=M.COMPRESSED_ORG;function G(t){if(!(t!=null&&t.startsWith("http")))throw new Error("Missing urlBase in correct schema.");return t.endsWith("/")||(t+="/"),{URL_BASE:t,URL_JS_UMD:`${t}widget/${I}/${k}/planner-web.umd.js`,URL_JS_ESM:`${t}widget/${I}/${k}/planner-web.mjs`,URL_CSS:`${t}widget/${I}/${k}/planner-web.css`}}function V({urlBase:t,language:e="en"}){const i=le(e),n=G(t);return{output:Y(n,i),init:K,urls:n}}function K(){var e,i;J(),B("pw-assistant"),B("pw-departures");let t={from:void 0,to:void 0};document.addEventListener("search-selected",function(n){const r=n;t[r.detail.key]=r.detail.item}),document.addEventListener("reset-search",function(){t={from:void 0,to:void 0},document.querySelectorAll('input[name="from"], input[name="to"]').forEach(n=>{n.value=""})}),document.querySelectorAll("[name$=searchTimeSelector]").forEach(function(n){n.addEventListener("change",function(r){const d=r.currentTarget.value==="now";document.querySelectorAll(".js-search-date-details").forEach(m=>{m.hidden=d})})}),(e=document.querySelector("#pw-form-departures"))==null||e.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;Q(r,t.from)}),(i=document.querySelector("#pw-form-assistant"))==null||i.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;U(r,t.from,t.to)})}function B(t){const e=document.querySelector(`#${t}-searchTimeSelector-date`),i=document.querySelector(`#${t}-searchTimeSelector-time`);try{if(e&&(e.valueAsDate=new Date),i){const n=new Date;n.setSeconds(0),n.setMilliseconds(0),i.valueAsDate=n}}catch{}}function P(t,e){const i=t.get(`${e}-searchTimeSelector`);if(i==="now")return{mode:"now"};{const n=t.get("dateinput"),r=t.get("timeinput");if(n&&r){const s=new Date(`${n}T${r}`);return{mode:i=="arriveBy"?"arriveBy":"departBy",dateTime:s.getTime()}}return{mode:"now"}}}function U(t,e,i){const n=t.action,r=P(new FormData(t),"pw-assistant"),s=oe({from:e,to:i},r),d=new URLSearchParams(s);window.location.href=`${n}?${d.toString()}`}function Q(t,e){const i=t.action,n=P(new FormData(t),"pw-departures"),r=ne(n,e),s=new URLSearchParams(r);(e==null?void 0:e.layer)==="venue"?window.location.href=`${i}/${e.id}?${s.toString()}`:window.location.href=`${i}?${s.toString()}`}class E extends HTMLElement{constructor(){super()}connectedCallback(){const e=this;e.hidden=!0,e.classList.add(o.messageBox),document.addEventListener("pw-errorMessage",function(i){const n=i;e.textContent=n.detail.message,e.hidden=!1}),document.addEventListener("pw-errorMessage-clear",function(i){e.hidden=!0}),e.addEventListener("click",function(){E.clearMessageBox()})}static clearMessageBox(){document.dispatchEvent(new CustomEvent("pw-errorMessage-clear",{bubbles:!0}))}}function Y({URL_BASE:t},e){function i(a){const c=r(a),_=f("span",[a.name]),u=f("span",[a.locality??""],o.itemLocality),l=f("li",[c,_,u],o.listItem);return l.role="option",l.setAttribute("data-feature-id",a.id),l}function n(a){const c=f("span",[a]);return f("li",[c],o.listItem)}function r(a){const c=X(a.category),_=f("img");_.src=`${t}assets/mono/light/${c.icon}.svg`,_.alt=c.alt,_.role="img";const u=f("div",[_],o.itemIcon);return u.ariaHidden="true",u}class s extends HTMLElement{constructor(){super()}connectedCallback(){const c=this;this.querySelector("button").addEventListener("click",async()=>{var u;E.clearMessageBox();try{const l=await re(t,e),g=(u=c.parentElement)==null?void 0:u.querySelector("input");g&&(g.value=l?`${l.name}, ${l.locality}`:g.value),document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:"from",item:l}}))}catch(l){l instanceof Error&&document.dispatchEvent(new CustomEvent("pw-errorMessage",{bubbles:!0,detail:{message:l.message}}))}})}}customElements.define("pw-geobutton",s),customElements.define("pw-messagebox",E);class d extends HTMLElement{constructor(){super(),this.dataList={}}getItem(c){return this.dataList[c]}setItems(c){this.dataList={};for(let _ of c)this.dataList[_.id]=_}connectedCallback(){const c=this,_=z(this.getAttribute("data-debounce-ms"),R),u=this.querySelector("input"),l=this.querySelector("#"+this.getAttribute("for"));let g=new S(u,l,{tabInsertsSuggestions:!0,scrollIntoViewOptions:!1});function y(p){p?g.start():(g.clearSelection(),g.stop()),l.hidden=!p}function W(){c.setItems([]),l.innerHTML="";const p=n(e.noResults);l.appendChild(p),y(!0)}const ce=j(async p=>{try{if(!p.value){l.innerHTML="";return}const v=await ie(t,p.value);if(v.length===0)return W();c.setItems(v),l.innerHTML="";for(let $ of v){const de=i($);l.appendChild(de)}y(!0)}catch{W()}},_);u.addEventListener("keydown",p=>{p.key==="Escape"&&y(!1)}),u.addEventListener("input",p=>ce(p.target)),u.addEventListener("focus",()=>y(!0)),u.addEventListener("blur",j(()=>y(!1),100)),document.addEventListener("click",p=>{O(p.target,this)||y(!1)}),l.addEventListener("combobox-commit",function(p){const v=p.target.getAttribute("data-feature-id"),$=v?c.getItem(v):void 0;u.value=$?`${$.name}, ${$.locality}`:u.value,document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:u.name,item:$}})),l.hidden=!0,g.clearSelection(),g.stop()})}}customElements.define("pw-autocomplete",d);const m=w` +(function(f,S){typeof exports=="object"&&typeof module<"u"?S(exports):typeof define=="function"&&define.amd?define(["exports"],S):(f=typeof globalThis<"u"?globalThis:f||self,S(f.PlannerWeb={}))})(this,function(f){"use strict";class S{constructor(e,i,{tabInsertsSuggestions:n,defaultFirstOption:r,scrollIntoViewOptions:s}={}){this.input=e,this.list=i,this.tabInsertsSuggestions=n??!0,this.defaultFirstOption=r??!1,this.scrollIntoViewOptions=s,this.isComposing=!1,i.id||(i.id=`combobox-${Math.random().toString().slice(2,6)}`),this.ctrlBindings=!!navigator.userAgent.match(/Macintosh/),this.keyboardEventHandler=d=>H(d,this),this.compositionEventHandler=d=>N(d,this),this.inputHandler=this.clearSelection.bind(this),e.setAttribute("role","combobox"),e.setAttribute("aria-controls",i.id),e.setAttribute("aria-expanded","false"),e.setAttribute("aria-autocomplete","list"),e.setAttribute("aria-haspopup","listbox")}destroy(){this.clearSelection(),this.stop(),this.input.removeAttribute("role"),this.input.removeAttribute("aria-controls"),this.input.removeAttribute("aria-expanded"),this.input.removeAttribute("aria-autocomplete"),this.input.removeAttribute("aria-haspopup")}start(){this.input.setAttribute("aria-expanded","true"),this.input.addEventListener("compositionstart",this.compositionEventHandler),this.input.addEventListener("compositionend",this.compositionEventHandler),this.input.addEventListener("input",this.inputHandler),this.input.addEventListener("keydown",this.keyboardEventHandler),this.list.addEventListener("mousedown",D),this.indicateDefaultOption()}stop(){this.clearSelection(),this.input.setAttribute("aria-expanded","false"),this.input.removeEventListener("compositionstart",this.compositionEventHandler),this.input.removeEventListener("compositionend",this.compositionEventHandler),this.input.removeEventListener("input",this.inputHandler),this.input.removeEventListener("keydown",this.keyboardEventHandler),this.list.removeEventListener("mousedown",D)}indicateDefaultOption(){var e;this.defaultFirstOption&&((e=Array.from(this.list.querySelectorAll('[role="option"]:not([aria-disabled="true"])')).filter(k)[0])===null||e===void 0||e.setAttribute("data-combobox-option-default","true"))}navigate(e=1){const i=Array.from(this.list.querySelectorAll('[aria-selected="true"]')).filter(k)[0],n=Array.from(this.list.querySelectorAll('[role="option"]')).filter(k),r=n.indexOf(i);if(r===n.length-1&&e===1||r===0&&e===-1){this.clearSelection(),this.input.focus();return}let s=e===1?0:n.length-1;if(i&&r>=0){const m=r+e;m>=0&&m0||t.offsetHeight>0)}function N(t,e){e.isComposing=t.type==="compositionstart",document.getElementById(e.input.getAttribute("aria-controls")||"")&&e.clearSelection()}const o={"override-light":"theme-module__override-light",light:"theme-module__light",assistant:'"../page-modules/assistant/assistant.module.css"',departures:'"../page-modules/departures/departures.module.css"',search:'"../components/search/search.module.css"',selector:'"../modules/search-time/selector/selector.module.css"',buttonComponent:'"../components/button/button.module.css"',hidden:"widget-module__hidden",lightWrapper:"widget-module__lightWrapper theme-module__light",wrapper:"widget-module__wrapper theme-module__override-light",form:"widget-module__form assistant-module__container",nav:"widget-module__nav",tabs:"widget-module__tabs",tabSelected:"widget-module__tabSelected",main:"widget-module__main assistant-module__main",heading:"widget-module__heading assistant-module__heading",inputBoxes:"widget-module__inputBoxes",search_container:"widget-module__search_container search-module__container",search_inputContainer:"widget-module__search_inputContainer search-module__inputContainer",search_label:"widget-module__search_label search-module__label typography-module__typo-body__secondary",search_input:"widget-module__search_input search-module__input",search_inputLast:"widget-module__search_inputLast",button_geolocation:"widget-module__button_geolocation departures-module__geolocationButton",selector_group:"widget-module__selector_group selector-module__departureDateSelector",selector_options:"widget-module__selector_options selector-module__options",selector_options__small:"widget-module__selector_options__small selector-module__options",selector_option:"widget-module__selector_option selector-module__option selector-module__option",selector_option__text:"widget-module__selector_option__text selector-module__option__text",selector_option__label:"widget-module__selector_option__label selector-module__option__label",selector_option__input:"widget-module__selector_option__input selector-module__option__input",selector_dateAndTimeSelectorsWrapper:"widget-module__selector_dateAndTimeSelectorsWrapper selector-module__dateAndTimeSelectorsWrapper",selector_dateAndTimeSelectorsWrapper__hidden:"widget-module__selector_dateAndTimeSelectorsWrapper__hidden",selector_dateAndTimeSelectors:"widget-module__selector_dateAndTimeSelectors selector-module__dateAndTimeSelectors",selector_dateSelector:"widget-module__selector_dateSelector selector-module__dateSelector",selector_timeSelector:"widget-module__selector_timeSelector selector-module__timeSelector",buttonGroup:"widget-module__buttonGroup",button:"widget-module__button","button--disabled":"widget-module__button--disabled",listItem:"widget-module__listItem",itemIcon:"widget-module__itemIcon",itemLocality:"widget-module__itemLocality search-module__itemLocality typography-module__typo-body__secondary",popupContainer:"widget-module__popupContainer search-module__menu",messageBox:"widget-module__messageBox"};var B={MODULE_VERSION:"2.6.0",COMPRESSED_ORG:"IYFwRkA"};const R=300,y=String.raw,I=B.MODULE_VERSION,C=B.COMPRESSED_ORG;function G(t){if(!(t!=null&&t.startsWith("http")))throw new Error("Missing urlBase in correct schema.");return t.endsWith("/")||(t+="/"),{URL_BASE:t,URL_JS_UMD:`${t}widget/${C}/${I}/planner-web.umd.js`,URL_JS_ESM:`${t}widget/${C}/${I}/planner-web.mjs`,URL_CSS:`${t}widget/${C}/${I}/planner-web.css`}}function V({urlBase:t,language:e="en"}){const i=ce(e),n=G(t);return{output:Y(n,i),init:K,urls:n}}function K(){var e,i;J(),P("pw-assistant"),P("pw-departures");let t={from:void 0,to:void 0};document.addEventListener("search-selected",function(n){const r=n;t[r.detail.key]=r.detail.item}),document.addEventListener("reset-search",function(){t={from:void 0,to:void 0},document.querySelectorAll('input[name="from"], input[name="to"]').forEach(n=>{n.value=""})}),document.querySelectorAll("[name$=searchTimeSelector]").forEach(function(n){n.addEventListener("change",function(r){const d=r.currentTarget.value==="now";document.querySelectorAll(".js-search-date-details").forEach(m=>{m.hidden=d})})}),(e=document.querySelector("#pw-form-departures"))==null||e.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;Q(r,t.from)}),(i=document.querySelector("#pw-form-assistant"))==null||i.addEventListener("submit",n=>{n.preventDefault();const r=n.currentTarget;U(r,t.from,t.to)})}function P(t){const e=document.querySelector(`#${t}-searchTimeSelector-date`),i=document.querySelector(`#${t}-searchTimeSelector-time`);try{if(e&&(e.valueAsDate=new Date),i){const n=new Date;n.setSeconds(0),n.setMilliseconds(0),i.valueAsDate=n}}catch{}}function j(t,e){const i=t.get(`${e}-searchTimeSelector`);if(i==="now")return{mode:"now"};{const n=t.get("dateinput"),r=t.get("timeinput");if(n&&r){const s=new Date(`${n}T${r}`);return{mode:i=="arriveBy"?"arriveBy":"departBy",dateTime:s.getTime()}}return{mode:"now"}}}function U(t,e,i){const n=t.action,r=j(new FormData(t),"pw-assistant"),s=ne({from:e,to:i},r),d=new URLSearchParams(s);window.location.href=`${n}?${d.toString()}`}function Q(t,e){const i=t.action,n=j(new FormData(t),"pw-departures"),r=ie(n,e),s=new URLSearchParams(r);(e==null?void 0:e.layer)==="venue"?window.location.href=`${i}/${e.id}?${s.toString()}`:window.location.href=`${i}?${s.toString()}`}class E extends HTMLElement{constructor(){super()}connectedCallback(){const e=this;e.hidden=!0,e.classList.add(o.messageBox),document.addEventListener("pw-errorMessage",function(i){const n=i;e.textContent=n.detail.message,e.hidden=!1}),document.addEventListener("pw-errorMessage-clear",function(i){e.hidden=!0}),e.addEventListener("click",function(){E.clearMessageBox()})}static clearMessageBox(){document.dispatchEvent(new CustomEvent("pw-errorMessage-clear",{bubbles:!0}))}}function Y({URL_BASE:t},e){function i(a){const c=r(a),_=b("span",[a.name]),u=b("span",[a.locality??""],o.itemLocality),l=b("li",[c,_,u],o.listItem);return l.role="option",l.setAttribute("data-feature-id",a.id),l}function n(a){const c=b("span",[a]);return b("li",[c],o.listItem)}function r(a){const c=Z(a.category),_=b("img");_.src=`${t}assets/mono/light/${c.icon}.svg`,_.alt=c.alt,_.role="img";const u=b("div",[_],o.itemIcon);return u.ariaHidden="true",u}class s extends HTMLElement{constructor(){super()}connectedCallback(){const c=this;this.querySelector("button").addEventListener("click",async()=>{var u;E.clearMessageBox();try{const l=await ae(t,e),g=(u=c.parentElement)==null?void 0:u.querySelector("input");g&&(g.value=l?`${l.name}, ${l.locality}`:g.value),document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:"from",item:l}}))}catch(l){l instanceof Error&&document.dispatchEvent(new CustomEvent("pw-errorMessage",{bubbles:!0,detail:{message:l.message}}))}})}}customElements.define("pw-geobutton",s),customElements.define("pw-messagebox",E);class d extends HTMLElement{constructor(){super(),this.dataList={}}getItem(c){return this.dataList[c]}setItems(c){this.dataList={};for(let _ of c)this.dataList[_.id]=_}connectedCallback(){const c=this,_=X(this.getAttribute("data-debounce-ms"),R),u=this.querySelector("input"),l=this.querySelector("#"+this.getAttribute("for"));let g=new S(u,l,{tabInsertsSuggestions:!0,scrollIntoViewOptions:!1});function $(p){p?g.start():(g.clearSelection(),g.stop()),l.hidden=!p}function W(){c.setItems([]),l.innerHTML="";const p=n(e.noResults);l.appendChild(p),$(!0)}const de=z(async p=>{try{if(!p.value){l.innerHTML="";return}const v=await re(t,p.value);if(v.length===0)return W();c.setItems(v),l.innerHTML="";for(let w of v){const A=i(w);l.appendChild(A)}$(!0)}catch{W()}},_);u.addEventListener("keydown",p=>{p.key==="Escape"&&$(!1)}),u.addEventListener("input",p=>de(p.target)),u.addEventListener("focus",()=>$(!0)),u.addEventListener("blur",()=>$(!1)),document.addEventListener("click",p=>{O(p.target,this)||$(!1)}),l.addEventListener("combobox-commit",function(p){const v=p.target.getAttribute("data-feature-id"),w=v?c.getItem(v):void 0;let A=u.value;w&&(A=`${w.name}`,w.locality&&(A+=`, ${w.locality}`)),u.value=A,document.dispatchEvent(new CustomEvent("search-selected",{bubbles:!0,detail:{key:u.name,item:w}})),l.hidden=!0,g.clearSelection(),g.stop()})}}customElements.define("pw-autocomplete",d);const m=y`
- `,T=(a,c=!0)=>w` + `,T=(a,c=!0)=>y`

${e.searchTime.title}

@@ -43,7 +43,7 @@ - ${c?w` + ${c?y`
- `,A=w` + `,L=y` ${m} - `,h=w` + `,h=y`
${m}
- `;return w` + `;return y`
-
${A}
+
${L}
${h}
- `}function J(){var t;(t=document.querySelector(".js-tablist"))==null||t.addEventListener("click",function(e){var T,A;const i=(T=e.target)==null?void 0:T.closest("a");if(!i)return;const n=i.getAttribute("href");if(!n)return;const r=n.replace("/","");e.preventDefault();const s=document.querySelector("#pw-"+r);if(!s)return;E.clearMessageBox(),document.querySelectorAll(".js-tabpanel").forEach(h=>{h.classList.add(o.hidden)}),document.querySelectorAll(".js-tablist a").forEach(h=>{h.classList.remove(o.tabSelected)}),s.classList.remove(o.hidden),i.classList.add(o.tabSelected);const d=document.querySelectorAll(`input[type="radio"][name="pw-${r}-searchTimeSelector"]`),m=(A=Array.from(d).find(h=>h.checked))==null?void 0:A.value;document.querySelectorAll(".js-search-date-details").forEach(h=>{h.hidden=m==="now"}),document.dispatchEvent(new CustomEvent("reset-search",{bubbles:!0}))})}function j(t,e){let i=null;return function(...n){clearTimeout(i),i=setTimeout(()=>{t(...n)},e)}}function f(t,e=[],i=""){const n=document.createElement(t);if(Array.isArray(e))for(let r of e){let s=typeof r=="string"?document.createTextNode(r):r;n.appendChild(s)}return n.className=i,n}function z(t,e){const i=parseInt(t,10);return Number.isNaN(i)?e:i}function O(t,e){return t===e?!0:!t||!t.parentElement?!1:O(t.parentElement,e)}function X(t){switch(Z(t)[0]){case"bus":return{icon:"transportation-entur/Bus",alt:"bus"};case"tram":return{icon:"transportation-entur/Tram",alt:"tram"};case"rail":return{icon:"transportation-entur/Train",alt:"rail"};case"airport":return{icon:"transportation-entur/Plane",alt:"air"};case"boat":return{icon:"transportation-entur/Ferry",alt:"water"};case"unknown":default:return{icon:"map/Pin",alt:"unknown"}}}function Z(t){return t.map(ee).filter((e,i,n)=>n.indexOf(e)===i)}function ee(t){switch(t){case"onstreetBus":case"busStation":case"coachStation":return"bus";case"onstreetTram":case"tramStation":return"tram";case"railStation":case"metroStation":return"rail";case"airport":return"airport";case"harbourPort":case"ferryPort":case"ferryStop":return"boat";default:return"unknown"}}function te(t,e){if(!t)return{};const i=e?{toId:e.id,toLon:e.geometry.coordinates[0].toString(),toLat:e.geometry.coordinates[1].toString(),toLayer:e.layer}:void 0;return{fromId:t.id,fromLon:t.geometry.coordinates[0].toString(),fromLat:t.geometry.coordinates[1].toString(),fromLayer:t.layer,...i}}function oe(t,e){const i=e.mode!=="now"?{searchMode:e.mode,searchTime:e.dateTime.toString()}:{searchMode:e.mode},n=te(t.from,t.to);return{...i,...n}}function ne(t,e){const i=t.mode!=="now"?{searchMode:t.mode,searchTime:t.dateTime.toString()}:{searchMode:t.mode};return!e||e.layer=="venue"?{...i}:{...i,lon:e.geometry.coordinates[0].toString(),lat:e.geometry.coordinates[1].toString()}}async function ie(t,e){const i=`${t}api/departures/autocomplete?q=${e}`,n=await fetch(i);if(!n.ok)throw new Error(`Error fetching autocomplete data from ${i}`);return await n.json()}async function q(t,e){const n=await(await fetch(`${t}api/departures/reverse?lat=${e.latitude}&lon=${e.longitude}`)).json();if(n)return n}async function re(t,e){return new Promise(function(i,n){navigator.geolocation.getCurrentPosition(async r=>{const s=await q(t,r.coords);i(s)},r=>{n(new Error(ae(r.code,e)))},{enableHighAccuracy:!0,timeout:1e4})})}function ae(t,e){switch(t){case GeolocationPositionError.PERMISSION_DENIED:return e.geoTexts.denied;case GeolocationPositionError.TIMEOUT:return e.geoTexts.timeout;case GeolocationPositionError.POSITION_UNAVAILABLE:default:return e.geoTexts.unavailable}}const se={nb:{noResults:"Ingen resultater",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre stedsinnstillinger i nettleseren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikke tilgjengelig.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avganger",placeholder:"adresse, kai eller holdeplass",assistant:{link:"Planlegg reisen",title:"Hvor vil du reise?",from:"Fra",to:"Til"},departure:{link:"Avganger",title:"Hvor vil du reise fra?",from:"Fra"},searchTime:{title:"Når vil du reise?",now:"Nå",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},nn:{noResults:"Ingen resultat",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre posisjonsinnstillingane i nettlesaren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikkje tilgjengeleg.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avgangar",placeholder:"adresse, kai eller haldeplass",assistant:{link:"Planlegg reisa",title:"Kor vil du reise?",from:"Frå",to:"Til"},departure:{link:"Avgangar",title:"Kor vil du reise frå?",from:"Frå"},searchTime:{title:"Når vil du reise?",now:"No",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},en:{noResults:"No results",geoButton:"Find my position",geoTexts:{denied:"You must change location settings in your browser to use your position in the travel search.",unavailable:"Your position is not available.",timeout:"It took too long to retrieve your position. Try again."},searchButton:"Find departures",placeholder:"address, quay, or stop",assistant:{link:"Plan your journey",title:"Where do you want to travel?",from:"From",to:"To"},departure:{link:"Departures",title:"Where do you want to travel from?",from:"From"},searchTime:{title:"When do you want to travel?",now:"Now",arrive:"Arrival",depart:"Departure",date:"Date",time:"Time"}}};function le(t){return se[t]}b.createWidget=V,b.reverse=q,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})}); + `}function J(){var t;(t=document.querySelector(".js-tablist"))==null||t.addEventListener("click",function(e){var T,L;const i=(T=e.target)==null?void 0:T.closest("a");if(!i)return;const n=i.getAttribute("href");if(!n)return;const r=n.replace("/","");e.preventDefault();const s=document.querySelector("#pw-"+r);if(!s)return;E.clearMessageBox(),document.querySelectorAll(".js-tabpanel").forEach(h=>{h.classList.add(o.hidden)}),document.querySelectorAll(".js-tablist a").forEach(h=>{h.classList.remove(o.tabSelected)}),s.classList.remove(o.hidden),i.classList.add(o.tabSelected);const d=document.querySelectorAll(`input[type="radio"][name="pw-${r}-searchTimeSelector"]`),m=(L=Array.from(d).find(h=>h.checked))==null?void 0:L.value;document.querySelectorAll(".js-search-date-details").forEach(h=>{h.hidden=m==="now"}),document.dispatchEvent(new CustomEvent("reset-search",{bubbles:!0}))})}function z(t,e){let i=null;return function(...n){clearTimeout(i),i=setTimeout(()=>{t(...n)},e)}}function b(t,e=[],i=""){const n=document.createElement(t);if(Array.isArray(e))for(let r of e){let s=typeof r=="string"?document.createTextNode(r):r;n.appendChild(s)}return n.className=i,n}function X(t,e){const i=parseInt(t,10);return Number.isNaN(i)?e:i}function O(t,e){return t===e?!0:!t||!t.parentElement?!1:O(t.parentElement,e)}function Z(t){switch(ee(t)[0]){case"bus":return{icon:"transportation-entur/Bus",alt:"bus"};case"tram":return{icon:"transportation-entur/Tram",alt:"tram"};case"rail":return{icon:"transportation-entur/Train",alt:"rail"};case"airport":return{icon:"transportation-entur/Plane",alt:"air"};case"boat":return{icon:"transportation-entur/Ferry",alt:"water"};case"unknown":default:return{icon:"map/Pin",alt:"unknown"}}}function ee(t){return t.map(te).filter((e,i,n)=>n.indexOf(e)===i)}function te(t){switch(t){case"onstreetBus":case"busStation":case"coachStation":return"bus";case"onstreetTram":case"tramStation":return"tram";case"railStation":case"metroStation":return"rail";case"airport":return"airport";case"harbourPort":case"ferryPort":case"ferryStop":return"boat";default:return"unknown"}}function oe(t,e){if(!t)return{};const i=e?{toId:e.id,toLon:e.geometry.coordinates[0].toString(),toLat:e.geometry.coordinates[1].toString(),toLayer:e.layer}:void 0;return{fromId:t.id,fromLon:t.geometry.coordinates[0].toString(),fromLat:t.geometry.coordinates[1].toString(),fromLayer:t.layer,...i}}function ne(t,e){const i=e.mode!=="now"?{searchMode:e.mode,searchTime:e.dateTime.toString()}:{searchMode:e.mode},n=oe(t.from,t.to);return{...i,...n}}function ie(t,e){const i=t.mode!=="now"?{searchMode:t.mode,searchTime:t.dateTime.toString()}:{searchMode:t.mode};return!e||e.layer=="venue"?{...i}:{...i,lon:e.geometry.coordinates[0].toString(),lat:e.geometry.coordinates[1].toString()}}async function re(t,e){const i=`${t}api/departures/autocomplete?q=${e}`,n=await fetch(i);if(!n.ok)throw new Error(`Error fetching autocomplete data from ${i}`);return await n.json()}async function q(t,e){const n=await(await fetch(`${t}api/departures/reverse?lat=${e.latitude}&lon=${e.longitude}`)).json();if(n)return n}async function ae(t,e){return new Promise(function(i,n){navigator.geolocation.getCurrentPosition(async r=>{const s=await q(t,r.coords);i(s)},r=>{n(new Error(se(r.code,e)))},{enableHighAccuracy:!0,timeout:1e4})})}function se(t,e){switch(t){case GeolocationPositionError.PERMISSION_DENIED:return e.geoTexts.denied;case GeolocationPositionError.TIMEOUT:return e.geoTexts.timeout;case GeolocationPositionError.POSITION_UNAVAILABLE:default:return e.geoTexts.unavailable}}const le={nb:{noResults:"Ingen resultater",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre stedsinnstillinger i nettleseren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikke tilgjengelig.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avganger",placeholder:"adresse, kai eller holdeplass",assistant:{link:"Planlegg reisen",title:"Hvor vil du reise?",from:"Fra",to:"Til"},departure:{link:"Avganger",title:"Hvor vil du reise fra?",from:"Fra"},searchTime:{title:"Når vil du reise?",now:"Nå",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},nn:{noResults:"Ingen resultat",geoButton:"Finn min posisjon",geoTexts:{denied:"Du må endre posisjonsinnstillingane i nettlesaren din for å bruke din posisjon i reisesøket.",unavailable:"Posisjonen din er ikkje tilgjengeleg.",timeout:"Det tok for lang tid å hente posisjonen din. Prøv på nytt."},searchButton:"Finn avgangar",placeholder:"adresse, kai eller haldeplass",assistant:{link:"Planlegg reisa",title:"Kor vil du reise?",from:"Frå",to:"Til"},departure:{link:"Avgangar",title:"Kor vil du reise frå?",from:"Frå"},searchTime:{title:"Når vil du reise?",now:"No",arrive:"Ankomst",depart:"Avreise",date:"Dato",time:"Tid"}},en:{noResults:"No results",geoButton:"Find my position",geoTexts:{denied:"You must change location settings in your browser to use your position in the travel search.",unavailable:"Your position is not available.",timeout:"It took too long to retrieve your position. Try again."},searchButton:"Find departures",placeholder:"address, quay, or stop",assistant:{link:"Plan your journey",title:"Where do you want to travel?",from:"From",to:"To"},departure:{link:"Departures",title:"Where do you want to travel from?",from:"From"},searchTime:{title:"When do you want to travel?",now:"Now",arrive:"Arrival",depart:"Departure",date:"Date",time:"Time"}}};function ce(t){return le[t]}f.createWidget=V,f.reverse=q,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})}); diff --git a/src/page-modules/widget/available-widgets/GYJwhgtkA/manifest.json b/src/page-modules/widget/available-widgets/GYJwhgtkA/manifest.json index 537fe3d1..9fef7647 100644 --- a/src/page-modules/widget/available-widgets/GYJwhgtkA/manifest.json +++ b/src/page-modules/widget/available-widgets/GYJwhgtkA/manifest.json @@ -1,7 +1,7 @@ { "latest": { "version": "2.6.0", - "created": "2023-12-21T11:45:28.198Z", + "created": "2023-12-13T10:54:28.898Z", "urls": { "umd": "/widget/GYJwhgtkA/2.6.0/planner-web.umd.js", "esm": "/widget/GYJwhgtkA/2.6.0/planner-web.mjs", @@ -11,7 +11,7 @@ "all": [ { "version": "2.6.0", - "created": "2023-12-21T11:45:28.198Z", + "created": "2023-12-13T10:54:28.898Z", "urls": { "umd": "/widget/GYJwhgtkA/2.6.0/planner-web.umd.js", "esm": "/widget/GYJwhgtkA/2.6.0/planner-web.mjs", @@ -20,7 +20,7 @@ }, { "version": "2.2.2", - "created": "2023-12-21T11:45:28.198Z", + "created": "2023-12-13T10:54:28.898Z", "urls": { "umd": "/widget/GYJwhgtkA/2.2.2/planner-web.umd.js", "esm": "/widget/GYJwhgtkA/2.2.2/planner-web.mjs", @@ -29,7 +29,7 @@ }, { "version": "2.1.0", - "created": "2023-12-21T11:45:28.198Z", + "created": "2023-12-13T10:54:28.898Z", "urls": { "umd": "/widget/GYJwhgtkA/2.1.0/planner-web.umd.js", "esm": "/widget/GYJwhgtkA/2.1.0/planner-web.mjs", @@ -38,7 +38,7 @@ }, { "version": "2.0.0", - "created": "2023-12-21T11:45:28.198Z", + "created": "2023-12-13T10:54:28.898Z", "urls": { "umd": "/widget/GYJwhgtkA/2.0.0/planner-web.umd.js", "esm": "/widget/GYJwhgtkA/2.0.0/planner-web.mjs", @@ -47,7 +47,7 @@ }, { "version": "1.0.0", - "created": "2023-12-21T11:45:28.198Z", + "created": "2023-12-13T10:54:28.898Z", "urls": { "umd": "/widget/GYJwhgtkA/1.0.0/planner-web.umd.js", "esm": "/widget/GYJwhgtkA/1.0.0/planner-web.mjs", @@ -56,7 +56,7 @@ }, { "version": "0.2.0", - "created": "2023-12-21T11:45:28.198Z", + "created": "2023-12-13T10:54:28.898Z", "urls": { "umd": "/widget/GYJwhgtkA/0.2.0/planner-web.umd.js", "esm": "/widget/GYJwhgtkA/0.2.0/planner-web.mjs", diff --git a/src/page-modules/widget/available-widgets/HYMw1kA/manifest.json b/src/page-modules/widget/available-widgets/HYMw1kA/manifest.json index 34019261..0a778008 100644 --- a/src/page-modules/widget/available-widgets/HYMw1kA/manifest.json +++ b/src/page-modules/widget/available-widgets/HYMw1kA/manifest.json @@ -1,7 +1,7 @@ { "latest": { "version": "2.6.0", - "created": "2023-12-21T11:45:28.200Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/HYMw1kA/2.6.0/planner-web.umd.js", "esm": "/widget/HYMw1kA/2.6.0/planner-web.mjs", @@ -11,7 +11,7 @@ "all": [ { "version": "2.6.0", - "created": "2023-12-21T11:45:28.200Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/HYMw1kA/2.6.0/planner-web.umd.js", "esm": "/widget/HYMw1kA/2.6.0/planner-web.mjs", @@ -20,7 +20,7 @@ }, { "version": "2.2.2", - "created": "2023-12-21T11:45:28.200Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/HYMw1kA/2.2.2/planner-web.umd.js", "esm": "/widget/HYMw1kA/2.2.2/planner-web.mjs", @@ -29,7 +29,7 @@ }, { "version": "2.1.0", - "created": "2023-12-21T11:45:28.200Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/HYMw1kA/2.1.0/planner-web.umd.js", "esm": "/widget/HYMw1kA/2.1.0/planner-web.mjs", @@ -38,7 +38,7 @@ }, { "version": "2.0.0", - "created": "2023-12-21T11:45:28.200Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/HYMw1kA/2.0.0/planner-web.umd.js", "esm": "/widget/HYMw1kA/2.0.0/planner-web.mjs", @@ -47,7 +47,7 @@ }, { "version": "1.0.0", - "created": "2023-12-21T11:45:28.200Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/HYMw1kA/1.0.0/planner-web.umd.js", "esm": "/widget/HYMw1kA/1.0.0/planner-web.mjs", @@ -56,7 +56,7 @@ }, { "version": "0.2.0", - "created": "2023-12-21T11:45:28.200Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/HYMw1kA/0.2.0/planner-web.umd.js", "esm": "/widget/HYMw1kA/0.2.0/planner-web.mjs", diff --git a/src/page-modules/widget/available-widgets/IYFwRkA/manifest.json b/src/page-modules/widget/available-widgets/IYFwRkA/manifest.json index 5b0f8ae3..f0b456ac 100644 --- a/src/page-modules/widget/available-widgets/IYFwRkA/manifest.json +++ b/src/page-modules/widget/available-widgets/IYFwRkA/manifest.json @@ -1,7 +1,7 @@ { "latest": { "version": "2.6.0", - "created": "2023-12-21T11:45:28.202Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/IYFwRkA/2.6.0/planner-web.umd.js", "esm": "/widget/IYFwRkA/2.6.0/planner-web.mjs", @@ -11,7 +11,7 @@ "all": [ { "version": "2.6.0", - "created": "2023-12-21T11:45:28.202Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/IYFwRkA/2.6.0/planner-web.umd.js", "esm": "/widget/IYFwRkA/2.6.0/planner-web.mjs", @@ -20,7 +20,7 @@ }, { "version": "2.2.2", - "created": "2023-12-21T11:45:28.202Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/IYFwRkA/2.2.2/planner-web.umd.js", "esm": "/widget/IYFwRkA/2.2.2/planner-web.mjs", @@ -29,7 +29,7 @@ }, { "version": "2.1.0", - "created": "2023-12-21T11:45:28.202Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/IYFwRkA/2.1.0/planner-web.umd.js", "esm": "/widget/IYFwRkA/2.1.0/planner-web.mjs", @@ -38,7 +38,7 @@ }, { "version": "2.0.0", - "created": "2023-12-21T11:45:28.202Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/IYFwRkA/2.0.0/planner-web.umd.js", "esm": "/widget/IYFwRkA/2.0.0/planner-web.mjs", @@ -47,7 +47,7 @@ }, { "version": "1.0.0", - "created": "2023-12-21T11:45:28.202Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/IYFwRkA/1.0.0/planner-web.umd.js", "esm": "/widget/IYFwRkA/1.0.0/planner-web.mjs", @@ -56,7 +56,7 @@ }, { "version": "0.2.0", - "created": "2023-12-21T11:45:28.202Z", + "created": "2023-12-13T10:54:28.899Z", "urls": { "umd": "/widget/IYFwRkA/0.2.0/planner-web.umd.js", "esm": "/widget/IYFwRkA/0.2.0/planner-web.mjs", diff --git a/src/widget/widget.ts b/src/widget/widget.ts index ac9e9718..97d44bc3 100644 --- a/src/widget/widget.ts +++ b/src/widget/widget.ts @@ -387,11 +387,7 @@ function createOutput({ URL_BASE }: SettingConstants, texts: Texts) { fetcher(e.target as HTMLInputElement), ); input.addEventListener('focus', () => toggleList(true)); - input.addEventListener( - 'blur', - // Blur after properly selecting - debounce(() => toggleList(false), 100), - ); + input.addEventListener('blur', () => toggleList(false)); document.addEventListener('click', (e) => { if (!hasParent(e.target as HTMLElement, this)) { toggleList(false); @@ -403,7 +399,15 @@ function createOutput({ URL_BASE }: SettingConstants, texts: Texts) { 'data-feature-id', ); const item = itemId ? self.getItem(itemId) : undefined; - input.value = item ? `${item.name}, ${item.locality}` : input.value; + let newValue = input.value; + if (item) { + newValue = `${item.name}`; + + if (item.locality) { + newValue += `, ${item.locality}`; + } + } + input.value = newValue; document.dispatchEvent( new CustomEvent('search-selected', { bubbles: true, diff --git a/yarn.lock b/yarn.lock index 93e882de..c68afc9e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2758,6 +2758,11 @@ dependencies: tslib "^2.3.0" +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -3002,6 +3007,11 @@ asynciterator.prototype@^1.0.0: dependencies: has-symbols "^1.0.3" +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + auto-bind@~4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" @@ -3158,6 +3168,15 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" +call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -3229,7 +3248,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -3319,6 +3338,11 @@ check-error@^1.0.3: dependencies: get-func-name "^2.0.2" +ci-info@^3.7.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -3639,6 +3663,15 @@ define-data-property@^1.0.1: gopd "^1.0.1" has-property-descriptors "^1.0.0" +define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" @@ -4303,6 +4336,13 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find-yarn-workspace-root@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== + dependencies: + micromatch "^4.0.2" + firebase@^10.7.1: version "10.7.1" resolved "https://registry.yarnpkg.com/firebase/-/firebase-10.7.1.tgz#71fa17a10146f388746ecc216a3e1e477a7bf9b5" @@ -4378,6 +4418,16 @@ framer-motion@^10.16.16: optionalDependencies: "@emotion/is-prop-valid" "^0.8.2" +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@~7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -4595,7 +4645,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.11, graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -5029,6 +5079,11 @@ is-decimal@^1.0.0: resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -5206,6 +5261,13 @@ is-windows@^1.0.1: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" @@ -5305,6 +5367,16 @@ json-stable-stringify@^1.0.1: dependencies: jsonify "^0.0.1" +json-stable-stringify@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz#43d39c7c8da34bfaf785a61a56808b0def9f747d" + integrity sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA== + dependencies: + call-bind "^1.0.5" + isarray "^2.0.5" + jsonify "^0.0.1" + object-keys "^1.1.1" + json-to-pretty-yaml@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz#f4cd0bd0a5e8fe1df25aaf5ba118b099fd992d5b" @@ -5337,6 +5409,15 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" @@ -5369,6 +5450,13 @@ kind-of@^6.0.3: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +klaw-sync@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" + integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== + dependencies: + graceful-fs "^4.1.11" + kolorist@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" @@ -5634,7 +5722,7 @@ meros@^1.2.1: resolved "https://registry.yarnpkg.com/meros/-/meros-1.3.0.tgz#c617d2092739d55286bf618129280f362e6242f2" integrity sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w== -micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -5982,6 +6070,14 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" +open@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + optimism@^0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.18.0.tgz#e7bb38b24715f3fdad8a9a7fc18e999144bbfa63" @@ -6125,6 +6221,27 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" +patch-package@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-8.0.0.tgz#d191e2f1b6e06a4624a0116bcb88edd6714ede61" + integrity sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA== + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + chalk "^4.1.2" + ci-info "^3.7.0" + cross-spawn "^7.0.3" + find-yarn-workspace-root "^2.0.0" + fs-extra "^9.0.0" + json-stable-stringify "^1.0.2" + klaw-sync "^6.0.0" + minimist "^1.2.6" + open "^7.4.2" + rimraf "^2.6.3" + semver "^7.5.3" + slash "^2.0.0" + tmp "^0.0.33" + yaml "^2.2.2" + path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" @@ -6243,6 +6360,11 @@ postcss@^8.4.32: picocolors "^1.0.0" source-map-js "^1.0.2" +postinstall-postinstall@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3" + integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ== + potpack@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/potpack/-/potpack-2.0.0.tgz#61f4dd2dc4b3d5e996e3698c0ec9426d0e169104" @@ -6605,6 +6727,13 @@ rfdc@^1.3.0: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -6726,7 +6855,7 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.5.4, semver@~7.5.4: +semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@~7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -6747,6 +6876,16 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== +set-function-length@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" + integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== + dependencies: + define-data-property "^1.1.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + set-function-name@^2.0.0, set-function-name@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" @@ -6807,6 +6946,11 @@ signedsource@^1.0.0: resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a" integrity sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww== +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -7337,6 +7481,11 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + unixify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090" @@ -7725,6 +7874,11 @@ yaml-ast-parser@^0.0.43: resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb" integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== +yaml@^2.2.2: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + yaml@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144"