@sbb-esta/lyne-elements-experimental 4.8.1 → 4.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
- package/autocomplete-grid/autocomplete-grid-cell.js +1 -1
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
- package/autocomplete-grid/autocomplete-grid-option.js +1 -1
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
- package/autocomplete-grid/autocomplete-grid-row.js +1 -1
- package/{autocomplete-grid-cell.component-Dak9wlBr.js → autocomplete-grid-cell.component-DkD9aFKc.js} +5 -5
- package/autocomplete-grid-option.component-CtATJy7n.js +37 -0
- package/autocomplete-grid-row.component-6nJv5PMj.js +27 -0
- package/autocomplete-grid.js +3 -3
- package/autocomplete-grid.pure.js +3 -3
- package/custom-elements.json +70 -2
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +2 -2
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-cell.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-option.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-row.js +1 -1
- package/development/autocomplete-grid-cell.component-BxkWGaX0.js +34 -0
- package/development/autocomplete-grid-option.component-5mPGswUO.js +61 -0
- package/development/autocomplete-grid-row.component-DEm6zyHZ.js +39 -0
- package/development/autocomplete-grid.js +3 -3
- package/development/autocomplete-grid.pure.js +3 -3
- package/development/core/datetime/date-helper.js +1 -1
- package/development/core/datetime.js +1 -1
- package/development/{date-helper-8_Y-PuHh.js → date-helper-qNdwgC9O.js} +4 -4
- package/development/{differenceInMinutes-DN_1Rk3O.js → differenceInMinutes-B7_GTDq7.js} +2 -2
- package/development/{format-Bbrn2bgo.js → format-DFx4997p.js} +3 -3
- package/development/{isValid-C-HzKv4v.js → isValid-JpZ7FphI.js} +2 -2
- package/development/journey-summary/journey-summary.component.d.ts.map +1 -1
- package/development/journey-summary/journey-summary.component.js +1 -1
- package/development/journey-summary.component-BZwgD4im.js +340 -0
- package/development/journey-summary.js +1 -1
- package/development/journey-summary.pure.js +1 -1
- package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -1
- package/development/pearl-chain/pearl-chain.component.js +1 -1
- package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -1
- package/development/pearl-chain-time/pearl-chain-time.component.js +1 -1
- package/development/pearl-chain-time.component-B2_BI6E_.js +319 -0
- package/development/pearl-chain-time.js +1 -1
- package/development/pearl-chain-time.pure.js +1 -1
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +1 -1
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -1
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
- package/development/pearl-chain-vertical-item.component-DcmH13Vb.js +133 -0
- package/development/pearl-chain-vertical-item.js +1 -1
- package/development/pearl-chain-vertical-item.pure.js +1 -1
- package/development/pearl-chain-vertical.component-CpcNFl-x.js +31 -0
- package/development/pearl-chain-vertical.js +1 -1
- package/development/pearl-chain-vertical.pure.js +1 -1
- package/development/pearl-chain.component-oQZUzsyW.js +316 -0
- package/development/pearl-chain.js +1 -1
- package/development/pearl-chain.pure.js +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +3 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +37 -2
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
- package/development/seat-reservation/seat-reservation-area.js +1 -1
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
- package/development/seat-reservation/seat-reservation-graphic.js +1 -1
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
- package/development/seat-reservation/seat-reservation-navigation-coach.js +1 -1
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
- package/development/seat-reservation/seat-reservation-navigation-services.js +1 -1
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
- package/development/seat-reservation/seat-reservation-place-control.js +1 -1
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
- package/development/seat-reservation/seat-reservation-scoped.js +1 -1
- package/development/seat-reservation/seat-reservation.js +1 -1
- package/development/seat-reservation-area.component-DbeuTnXT.js +96 -0
- package/development/seat-reservation-graphic.component-DlrHtlia.js +129 -0
- package/development/seat-reservation-navigation-coach.component-CjoDkcVU.js +428 -0
- package/development/seat-reservation-navigation-services.component-CGel7__P.js +159 -0
- package/development/seat-reservation-place-control.component-CM9efId7.js +429 -0
- package/development/seat-reservation-scoped.component-CFA_bJ3o.js +25 -0
- package/development/seat-reservation.component-DFJVFmrI.js +510 -0
- package/development/seat-reservation.js +7 -7
- package/development/seat-reservation.pure.js +7 -7
- package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -1
- package/development/timetable-duration/timetable-duration.component.js +1 -1
- package/development/timetable-duration.component-BhFlqYbV.js +100 -0
- package/development/timetable-duration.js +1 -1
- package/development/timetable-duration.pure.js +1 -1
- package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
- package/development/timetable-row/timetable-row.component.js +1 -1
- package/development/timetable-row.component-Dko8laRT.js +729 -0
- package/development/timetable-row.js +1 -1
- package/development/timetable-row.pure.js +1 -1
- package/development/{toDate-Biiv3kyf.js → toDate-DOFAOjP-.js} +2 -2
- package/journey-summary/journey-summary.component.js +1 -1
- package/{journey-summary.component-Cq_4kaOp.js → journey-summary.component-DC7-qPHY.js} +38 -38
- package/journey-summary.js +1 -1
- package/journey-summary.pure.js +1 -1
- package/package.json +2 -2
- package/pearl-chain/pearl-chain.component.js +1 -1
- package/pearl-chain-time/pearl-chain-time.component.js +1 -1
- package/{pearl-chain-time.component-DGDW5S1c.js → pearl-chain-time.component-CkKsrbgQ.js} +28 -28
- package/pearl-chain-time.js +1 -1
- package/pearl-chain-time.pure.js +1 -1
- package/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
- package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
- package/pearl-chain-vertical-item.component-BUqZ-3Ay.js +108 -0
- package/pearl-chain-vertical-item.js +1 -1
- package/pearl-chain-vertical-item.pure.js +1 -1
- package/{pearl-chain-vertical.component-CXIDT5RD.js → pearl-chain-vertical.component-Df9CvRxo.js} +5 -5
- package/pearl-chain-vertical.js +1 -1
- package/pearl-chain-vertical.pure.js +1 -1
- package/pearl-chain.component-CpISVoAu.js +194 -0
- package/pearl-chain.js +1 -1
- package/pearl-chain.pure.js +1 -1
- package/seat-reservation/seat-reservation/seat-reservation-base-element.js +30 -4
- package/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
- package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
- package/seat-reservation/seat-reservation-area.js +1 -1
- package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
- package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
- package/seat-reservation/seat-reservation-graphic.js +1 -1
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
- package/seat-reservation/seat-reservation-navigation-coach.js +1 -1
- package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
- package/seat-reservation/seat-reservation-navigation-services.js +1 -1
- package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
- package/seat-reservation/seat-reservation-place-control.js +1 -1
- package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
- package/seat-reservation/seat-reservation-scoped.js +1 -1
- package/seat-reservation/seat-reservation.js +1 -1
- package/seat-reservation-area.component-CtYawDjE.js +75 -0
- package/seat-reservation-graphic.component-Cm_pVxaB.js +102 -0
- package/seat-reservation-navigation-coach.component-sug9IBTH.js +333 -0
- package/{seat-reservation-navigation-services.component-QL0UnilZ.js → seat-reservation-navigation-services.component-C9dDYD_M.js} +19 -19
- package/seat-reservation-place-control.component-CE7d9M2b.js +322 -0
- package/seat-reservation-scoped.component-DVyP2JGE.js +17 -0
- package/{seat-reservation.component-zrQHTRl3.js → seat-reservation.component-DajC6fqU.js} +58 -55
- package/seat-reservation.js +7 -7
- package/seat-reservation.pure.js +7 -7
- package/timetable-duration/timetable-duration.component.js +1 -1
- package/{timetable-duration.component-DaYoJUGS.js → timetable-duration.component-BnJA8wSb.js} +12 -12
- package/timetable-duration.js +1 -1
- package/timetable-duration.pure.js +1 -1
- package/timetable-row/timetable-row.component.js +1 -1
- package/{timetable-row.component-BDMAEsbR.js → timetable-row.component-DbzBCpKR.js} +59 -59
- package/timetable-row.js +1 -1
- package/timetable-row.pure.js +1 -1
- package/autocomplete-grid-option.component-DNRFHOwc.js +0 -37
- package/autocomplete-grid-row.component-DBHZQ0GQ.js +0 -27
- package/development/autocomplete-grid-cell.component-BBvM4o2H.js +0 -42
- package/development/autocomplete-grid-option.component-QzfM5eIE.js +0 -123
- package/development/autocomplete-grid-row.component-H8sCTCkT.js +0 -104
- package/development/journey-summary.component-uGhZvA4p.js +0 -385
- package/development/pearl-chain-time.component-B8mayTWD.js +0 -415
- package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +0 -435
- package/development/pearl-chain-vertical.component-CswE7b3M.js +0 -39
- package/development/pearl-chain.component-wpsTvoSe.js +0 -704
- package/development/seat-reservation-area.component-ORuli_DC.js +0 -138
- package/development/seat-reservation-graphic.component-lZXqHWIz.js +0 -193
- package/development/seat-reservation-navigation-coach.component-D2QXTMJJ.js +0 -828
- package/development/seat-reservation-navigation-services.component-Bg1adRlU.js +0 -179
- package/development/seat-reservation-place-control.component-CwUX-QYO.js +0 -726
- package/development/seat-reservation-scoped.component-uLT33P9y.js +0 -31
- package/development/seat-reservation.component-MOv5kHDC.js +0 -821
- package/development/timetable-duration.component-D21SXsQq.js +0 -125
- package/development/timetable-row.component-Y5w8vEwP.js +0 -932
- package/pearl-chain-vertical-item.component-G22bWhLU.js +0 -108
- package/pearl-chain.component-DmjkVIva.js +0 -194
- package/seat-reservation-area.component-COD6CXhP.js +0 -75
- package/seat-reservation-graphic.component-BNfU5tQM.js +0 -102
- package/seat-reservation-navigation-coach.component-Bh9ILq60.js +0 -333
- package/seat-reservation-place-control.component-BfnZUyHv.js +0 -322
- package/seat-reservation-scoped.component-CY04BT_4.js +0 -17
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { SbbButtonBaseElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
|
|
3
|
+
import { SbbLanguageController } from "@sbb-esta/lyne-elements/core/controllers.js";
|
|
4
|
+
import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
|
|
5
|
+
import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
6
|
+
import { html, nothing, unsafeCSS } from "lit";
|
|
7
|
+
import { property } from "lit/decorators.js";
|
|
8
|
+
import { styleMap } from "lit/directives/style-map.js";
|
|
9
|
+
import { getI18nSeatReservation } from "./seat-reservation/common/translations.js";
|
|
10
|
+
import { SbbSeatReservationGraphicElement } from "./seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js";
|
|
11
|
+
//#region src/elements-experimental/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.scss?inline
|
|
12
|
+
var seat_reservation_place_control_default = ":host {\n --sbb-seat-reservation-place-control-text-scale-value: 1;\n --sbb-seat-reservation-place-control-width: 16;\n --sbb-seat-reservation-place-control-height: 16;\n --sbb-seat-reservation-place-control-top: 0;\n --sbb-seat-reservation-place-control-left: 0;\n --sbb-seat-reservation-place-control-rotation: 0;\n --sbb-seat-reservation-place-control-text-rotation: 0;\n --sbb-seat-reservation-place-control-text-size: calc(\n var(--sbb-seat-reservation-place-control-text-scale-value, 1) * 0.5\n );\n --sbb-seat-reservation-place-control-default-text: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-default-text: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-hover-text: var(--sbb-color-iron);\n --sbb-seat-reservation-place-control-hover-text: light-dark(\n var(--sbb-color-iron),\n var(--sbb-color-silver)\n );\n --sbb-seat-reservation-place-control-focus-text: var(--sbb-color-anthracite);\n --sbb-seat-reservation-place-control-focus-text: light-dark(\n var(--sbb-color-anthracite),\n var(--sbb-color-graphite)\n );\n --sbb-seat-reservation-place-control-allocated-text: var(--sbb-color-smoke);\n --sbb-seat-reservation-place-control-allocated-text: light-dark(\n var(--sbb-color-smoke),\n var(--sbb-color-metal)\n );\n --sbb-seat-reservation-place-control-free-background-default: var(--sbb-background-color-2);\n --sbb-seat-reservation-place-control-free-background-hover: var(--sbb-color-cloud);\n --sbb-seat-reservation-place-control-free-background-hover: light-dark(\n var(--sbb-color-cloud),\n var(--sbb-color-midnight)\n );\n --sbb-seat-reservation-place-control-free-background-focus: var(--sbb-color-silver);\n --sbb-seat-reservation-place-control-free-background-focus: light-dark(\n var(--sbb-color-silver),\n var(--sbb-color-black)\n );\n --sbb-seat-reservation-place-control-free-backrest-background-default: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-free-backrest-background-default: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-free-backrest-background-hover: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-free-backrest-background-hover: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-free-backrest-background-focus: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-free-backrest-background-focus: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-selected-background-default: var(--sbb-color-primary);\n --sbb-seat-reservation-place-control-selected-background-hover: var(--sbb-color-primary125);\n --sbb-seat-reservation-place-control-selected-background-focus: var(--sbb-color-primary150);\n --sbb-seat-reservation-place-control-selected-backrest-background-default: var(\n --sbb-color-primary150\n );\n --sbb-seat-reservation-place-control-selected-backrest-background-hover: #7d000f;\n --sbb-seat-reservation-place-control-selected-backrest-background-focus: #5a000b;\n --sbb-seat-reservation-place-control-allocated-background-default: var(--sbb-color-milk);\n --sbb-seat-reservation-place-control-allocated-background-default: light-dark(\n var(--sbb-color-milk),\n var(--sbb-color-midnight)\n );\n --sbb-seat-reservation-place-control-free-backrest-high-contrast: CanvasText;\n --sbb-seat-reservation-place-control-free-background-high-contrast: Canvas;\n --sbb-seat-reservation-place-control-free-text-high-contrast: ButtonText;\n --sbb-seat-reservation-place-control-free-icon-high-contrast: CanvasText;\n --sbb-seat-reservation-place-control-allocated-backrest-high-contrast: GrayText;\n --sbb-seat-reservation-place-control-allocated-background-high-contrast: Canvas;\n --sbb-seat-reservation-place-control-allocated-text-high-contrast: GrayText;\n --sbb-seat-reservation-place-control-allocated-icon-high-contrast: GrayText;\n width: calc(var(--sbb-seat-reservation-place-control-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n height: calc(var(--sbb-seat-reservation-place-control-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n position: absolute;\n inset-block-start: calc(var(--sbb-seat-reservation-place-control-top) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n inset-inline-start: calc(var(--sbb-seat-reservation-place-control-left) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n font-weight: 300;\n cursor: var(--sbb-cursor-pointer);\n}\n\n:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-free-background-hover);\n color: var(--sbb-seat-reservation-place-control-free-text);\n}\n@media (forced-colors: active) {\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-free-icon-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-free-text-high-contrast);\n }\n}\n:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-selected-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-selected-backrest-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-selected-background-hover);\n color: var(--sbb-seat-reservation-place-control-selected-text);\n}\n\n:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-focus);\n}\n:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-background-focus);\n}\n:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-free-background-focus);\n color: var(--sbb-seat-reservation-place-control-free-text);\n}\n@media (forced-colors: active) {\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-free-icon-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-free-text-high-contrast);\n }\n}\n\n:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-selected-background-focus);\n}\n:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-selected-backrest-background-focus);\n}\n:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-selected-background-focus);\n color: var(--sbb-seat-reservation-place-control-selected-text);\n}\n\n:host(:dir(rtl)) :not(.sbb-sr-place-ctrl--type-bicycle,\n.sbb-sr-place-ctrl--orientation-90,\n.sbb-sr-place-ctrl--orientation-270,\n.sbb-sr-place-ctrl--state-selected) ::part(svg-place) {\n rotate: calc(180 * 1deg);\n}\n\n.sbb-sr-place-ctrl {\n width: max-content;\n position: relative;\n font-size: calc(var(--sbb-seat-reservation-place-control-text-size) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n}\n.sbb-sr-place-ctrl--state-free ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-default);\n}\n.sbb-sr-place-ctrl--state-free ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-background-default);\n}\n.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-free-background-default);\n color: var(--sbb-seat-reservation-place-control-free-text);\n}\n@media (forced-colors: active) {\n .sbb-sr-place-ctrl--state-free ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-free-icon-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-free-text-high-contrast);\n }\n}\n.sbb-sr-place-ctrl--state-selected ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-selected-background-default);\n}\n.sbb-sr-place-ctrl--state-selected ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-selected-backrest-background-default);\n}\n.sbb-sr-place-ctrl--state-selected .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-selected-background-default);\n color: var(--sbb-seat-reservation-place-control-selected-text);\n}\n.sbb-sr-place-ctrl--state-allocated ::part(svg-place), .sbb-sr-place-ctrl--state-restricted ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-allocated-background-default);\n}\n.sbb-sr-place-ctrl--state-allocated ::part(svg-backrest), .sbb-sr-place-ctrl--state-restricted ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-allocated-backrest-background-default);\n}\n.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text, .sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-allocated-background-default);\n color: var(--sbb-seat-reservation-place-control-allocated-text);\n}\n@media (forced-colors: active) {\n .sbb-sr-place-ctrl--state-allocated ::part(svg-place), .sbb-sr-place-ctrl--state-restricted ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-allocated-background-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated ::part(svg-backrest), .sbb-sr-place-ctrl--state-restricted ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-allocated-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated ::part(svg-icon), .sbb-sr-place-ctrl--state-restricted ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-allocated-icon-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated ::part(svg-seatline), .sbb-sr-place-ctrl--state-restricted ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-allocated-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text, .sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-allocated-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-allocated-text-high-contrast);\n }\n}\n.sbb-sr-place-ctrl--state-allocated, .sbb-sr-place-ctrl--state-restricted {\n cursor: not-allowed;\n}\n.sbb-sr-place-ctrl__text {\n overflow: hidden;\n display: none;\n position: absolute;\n inset-block-start: 50%;\n translate: -50% -50%;\n rotate: calc(var(--sbb-seat-reservation-place-control-text-rotation) * 1deg);\n font-family: var(--sbb-typo-font-family);\n font-size: 0.75em;\n line-height: initial;\n}\n.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text, .sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text {\n display: block;\n}\n.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text {\n inset-block-start: 65%;\n inset-inline-start: 50%;\n transform-origin: center 16%;\n font-size: 0.6875em;\n}\n.sbb-sr-place-ctrl--orientation-0.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-inline-start: 45%;\n}\n.sbb-sr-place-ctrl--orientation-90.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-block-start: 46%;\n inset-inline-start: 50%;\n}\n.sbb-sr-place-ctrl--orientation-180.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-inline-start: 55%;\n}\n.sbb-sr-place-ctrl--orientation-270.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-block-start: 52%;\n inset-inline-start: 52%;\n}\n\n:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-0 .sbb-sr-place-ctrl__text {\n inset-inline-start: 3%;\n}\n:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-90 .sbb-sr-place-ctrl__text, :host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-180 .sbb-sr-place-ctrl__text {\n inset-inline-start: 10%;\n}\n:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-270 .sbb-sr-place-ctrl__text {\n inset-inline-start: 5%;\n}\n:host(:dir(rtl)) .sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text {\n inset-inline-start: -10%;\n}";
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/elements-experimental/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.ts
|
|
15
|
+
SbbSeatReservationGraphicElement.define();
|
|
16
|
+
/**
|
|
17
|
+
* Output the graphic of a seat or a bicycle place as a control element.
|
|
18
|
+
*/
|
|
19
|
+
var SbbSeatReservationPlaceControlElement = (() => {
|
|
20
|
+
let _classSuper = SbbButtonBaseElement;
|
|
21
|
+
let _placeType_decorators;
|
|
22
|
+
let _placeType_initializers = [];
|
|
23
|
+
let _placeType_extraInitializers = [];
|
|
24
|
+
let _state_decorators;
|
|
25
|
+
let _state_initializers = [];
|
|
26
|
+
let _state_extraInitializers = [];
|
|
27
|
+
let _travelDirection_decorators;
|
|
28
|
+
let _travelDirection_initializers = [];
|
|
29
|
+
let _travelDirection_extraInitializers = [];
|
|
30
|
+
let _propertyIds_decorators;
|
|
31
|
+
let _propertyIds_initializers = [];
|
|
32
|
+
let _propertyIds_extraInitializers = [];
|
|
33
|
+
let _text_decorators;
|
|
34
|
+
let _text_initializers = [];
|
|
35
|
+
let _text_extraInitializers = [];
|
|
36
|
+
let _deckIndex_decorators;
|
|
37
|
+
let _deckIndex_initializers = [];
|
|
38
|
+
let _deckIndex_extraInitializers = [];
|
|
39
|
+
let _coachIndex_decorators;
|
|
40
|
+
let _coachIndex_initializers = [];
|
|
41
|
+
let _coachIndex_extraInitializers = [];
|
|
42
|
+
let _preventClick_decorators;
|
|
43
|
+
let _preventClick_initializers = [];
|
|
44
|
+
let _preventClick_extraInitializers = [];
|
|
45
|
+
let _keyfocus_decorators;
|
|
46
|
+
let _keyfocus_initializers = [];
|
|
47
|
+
let _keyfocus_extraInitializers = [];
|
|
48
|
+
let _showTitleInfo_decorators;
|
|
49
|
+
let _showTitleInfo_initializers = [];
|
|
50
|
+
let _showTitleInfo_extraInitializers = [];
|
|
51
|
+
return class SbbSeatReservationPlaceControlElement extends _classSuper {
|
|
52
|
+
static {
|
|
53
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
54
|
+
_placeType_decorators = [forceType(), property({ attribute: "type" })];
|
|
55
|
+
_state_decorators = [forceType(), property({
|
|
56
|
+
attribute: "state",
|
|
57
|
+
reflect: true
|
|
58
|
+
})];
|
|
59
|
+
_travelDirection_decorators = [property({ attribute: "travel-direction" })];
|
|
60
|
+
_propertyIds_decorators = [property({
|
|
61
|
+
attribute: "propertyIds",
|
|
62
|
+
type: Array
|
|
63
|
+
})];
|
|
64
|
+
_text_decorators = [forceType(), property({ attribute: "text" })];
|
|
65
|
+
_deckIndex_decorators = [forceType(), property({
|
|
66
|
+
attribute: "deck-index",
|
|
67
|
+
type: Number
|
|
68
|
+
})];
|
|
69
|
+
_coachIndex_decorators = [forceType(), property({
|
|
70
|
+
attribute: "coach-index",
|
|
71
|
+
type: Number
|
|
72
|
+
})];
|
|
73
|
+
_preventClick_decorators = [forceType(), property({
|
|
74
|
+
attribute: "prevent-click",
|
|
75
|
+
type: Boolean
|
|
76
|
+
})];
|
|
77
|
+
_keyfocus_decorators = [forceType(), property({ attribute: "keyfocus" })];
|
|
78
|
+
_showTitleInfo_decorators = [forceType(), property({
|
|
79
|
+
type: Boolean,
|
|
80
|
+
useDefault: true
|
|
81
|
+
})];
|
|
82
|
+
__esDecorate(this, null, _placeType_decorators, {
|
|
83
|
+
kind: "accessor",
|
|
84
|
+
name: "placeType",
|
|
85
|
+
static: false,
|
|
86
|
+
private: false,
|
|
87
|
+
access: {
|
|
88
|
+
has: (obj) => "placeType" in obj,
|
|
89
|
+
get: (obj) => obj.placeType,
|
|
90
|
+
set: (obj, value) => {
|
|
91
|
+
obj.placeType = value;
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
metadata: _metadata
|
|
95
|
+
}, _placeType_initializers, _placeType_extraInitializers);
|
|
96
|
+
__esDecorate(this, null, _state_decorators, {
|
|
97
|
+
kind: "accessor",
|
|
98
|
+
name: "state",
|
|
99
|
+
static: false,
|
|
100
|
+
private: false,
|
|
101
|
+
access: {
|
|
102
|
+
has: (obj) => "state" in obj,
|
|
103
|
+
get: (obj) => obj.state,
|
|
104
|
+
set: (obj, value) => {
|
|
105
|
+
obj.state = value;
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
metadata: _metadata
|
|
109
|
+
}, _state_initializers, _state_extraInitializers);
|
|
110
|
+
__esDecorate(this, null, _travelDirection_decorators, {
|
|
111
|
+
kind: "accessor",
|
|
112
|
+
name: "travelDirection",
|
|
113
|
+
static: false,
|
|
114
|
+
private: false,
|
|
115
|
+
access: {
|
|
116
|
+
has: (obj) => "travelDirection" in obj,
|
|
117
|
+
get: (obj) => obj.travelDirection,
|
|
118
|
+
set: (obj, value) => {
|
|
119
|
+
obj.travelDirection = value;
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
metadata: _metadata
|
|
123
|
+
}, _travelDirection_initializers, _travelDirection_extraInitializers);
|
|
124
|
+
__esDecorate(this, null, _propertyIds_decorators, {
|
|
125
|
+
kind: "accessor",
|
|
126
|
+
name: "propertyIds",
|
|
127
|
+
static: false,
|
|
128
|
+
private: false,
|
|
129
|
+
access: {
|
|
130
|
+
has: (obj) => "propertyIds" in obj,
|
|
131
|
+
get: (obj) => obj.propertyIds,
|
|
132
|
+
set: (obj, value) => {
|
|
133
|
+
obj.propertyIds = value;
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
metadata: _metadata
|
|
137
|
+
}, _propertyIds_initializers, _propertyIds_extraInitializers);
|
|
138
|
+
__esDecorate(this, null, _text_decorators, {
|
|
139
|
+
kind: "accessor",
|
|
140
|
+
name: "text",
|
|
141
|
+
static: false,
|
|
142
|
+
private: false,
|
|
143
|
+
access: {
|
|
144
|
+
has: (obj) => "text" in obj,
|
|
145
|
+
get: (obj) => obj.text,
|
|
146
|
+
set: (obj, value) => {
|
|
147
|
+
obj.text = value;
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
metadata: _metadata
|
|
151
|
+
}, _text_initializers, _text_extraInitializers);
|
|
152
|
+
__esDecorate(this, null, _deckIndex_decorators, {
|
|
153
|
+
kind: "accessor",
|
|
154
|
+
name: "deckIndex",
|
|
155
|
+
static: false,
|
|
156
|
+
private: false,
|
|
157
|
+
access: {
|
|
158
|
+
has: (obj) => "deckIndex" in obj,
|
|
159
|
+
get: (obj) => obj.deckIndex,
|
|
160
|
+
set: (obj, value) => {
|
|
161
|
+
obj.deckIndex = value;
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
metadata: _metadata
|
|
165
|
+
}, _deckIndex_initializers, _deckIndex_extraInitializers);
|
|
166
|
+
__esDecorate(this, null, _coachIndex_decorators, {
|
|
167
|
+
kind: "accessor",
|
|
168
|
+
name: "coachIndex",
|
|
169
|
+
static: false,
|
|
170
|
+
private: false,
|
|
171
|
+
access: {
|
|
172
|
+
has: (obj) => "coachIndex" in obj,
|
|
173
|
+
get: (obj) => obj.coachIndex,
|
|
174
|
+
set: (obj, value) => {
|
|
175
|
+
obj.coachIndex = value;
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
metadata: _metadata
|
|
179
|
+
}, _coachIndex_initializers, _coachIndex_extraInitializers);
|
|
180
|
+
__esDecorate(this, null, _preventClick_decorators, {
|
|
181
|
+
kind: "accessor",
|
|
182
|
+
name: "preventClick",
|
|
183
|
+
static: false,
|
|
184
|
+
private: false,
|
|
185
|
+
access: {
|
|
186
|
+
has: (obj) => "preventClick" in obj,
|
|
187
|
+
get: (obj) => obj.preventClick,
|
|
188
|
+
set: (obj, value) => {
|
|
189
|
+
obj.preventClick = value;
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
metadata: _metadata
|
|
193
|
+
}, _preventClick_initializers, _preventClick_extraInitializers);
|
|
194
|
+
__esDecorate(this, null, _keyfocus_decorators, {
|
|
195
|
+
kind: "accessor",
|
|
196
|
+
name: "keyfocus",
|
|
197
|
+
static: false,
|
|
198
|
+
private: false,
|
|
199
|
+
access: {
|
|
200
|
+
has: (obj) => "keyfocus" in obj,
|
|
201
|
+
get: (obj) => obj.keyfocus,
|
|
202
|
+
set: (obj, value) => {
|
|
203
|
+
obj.keyfocus = value;
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
metadata: _metadata
|
|
207
|
+
}, _keyfocus_initializers, _keyfocus_extraInitializers);
|
|
208
|
+
__esDecorate(this, null, _showTitleInfo_decorators, {
|
|
209
|
+
kind: "accessor",
|
|
210
|
+
name: "showTitleInfo",
|
|
211
|
+
static: false,
|
|
212
|
+
private: false,
|
|
213
|
+
access: {
|
|
214
|
+
has: (obj) => "showTitleInfo" in obj,
|
|
215
|
+
get: (obj) => obj.showTitleInfo,
|
|
216
|
+
set: (obj, value) => {
|
|
217
|
+
obj.showTitleInfo = value;
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
metadata: _metadata
|
|
221
|
+
}, _showTitleInfo_initializers, _showTitleInfo_extraInitializers);
|
|
222
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
223
|
+
enumerable: true,
|
|
224
|
+
configurable: true,
|
|
225
|
+
writable: true,
|
|
226
|
+
value: _metadata
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
static {
|
|
230
|
+
this.elementName = "sbb-seat-reservation-place-control";
|
|
231
|
+
}
|
|
232
|
+
static {
|
|
233
|
+
this.styles = [boxSizingStyles, unsafeCSS(seat_reservation_place_control_default)];
|
|
234
|
+
}
|
|
235
|
+
static {
|
|
236
|
+
this.events = { selectplace: "selectplace" };
|
|
237
|
+
}
|
|
238
|
+
#placeType_accessor_storage;
|
|
239
|
+
/** placeType of the place, e.g. 'SEAT', 'BICYCLE' */
|
|
240
|
+
get placeType() {
|
|
241
|
+
return this.#placeType_accessor_storage;
|
|
242
|
+
}
|
|
243
|
+
set placeType(value) {
|
|
244
|
+
this.#placeType_accessor_storage = value;
|
|
245
|
+
}
|
|
246
|
+
#state_accessor_storage;
|
|
247
|
+
/** state of the place, e.g. 'FREE', 'SELECTED', 'BLOCKED' */
|
|
248
|
+
get state() {
|
|
249
|
+
return this.#state_accessor_storage;
|
|
250
|
+
}
|
|
251
|
+
set state(value) {
|
|
252
|
+
this.#state_accessor_storage = value;
|
|
253
|
+
}
|
|
254
|
+
#travelDirection_accessor_storage;
|
|
255
|
+
/** direction of a whole train, used to compute an orientation of a place */
|
|
256
|
+
get travelDirection() {
|
|
257
|
+
return this.#travelDirection_accessor_storage;
|
|
258
|
+
}
|
|
259
|
+
set travelDirection(value) {
|
|
260
|
+
this.#travelDirection_accessor_storage = value;
|
|
261
|
+
}
|
|
262
|
+
#propertyIds_accessor_storage;
|
|
263
|
+
/** property ids of the place, to display more info about the place */
|
|
264
|
+
get propertyIds() {
|
|
265
|
+
return this.#propertyIds_accessor_storage;
|
|
266
|
+
}
|
|
267
|
+
set propertyIds(value) {
|
|
268
|
+
this.#propertyIds_accessor_storage = value;
|
|
269
|
+
}
|
|
270
|
+
#text_accessor_storage;
|
|
271
|
+
/** label of the place, e.g. '1A', '2B' */
|
|
272
|
+
get text() {
|
|
273
|
+
return this.#text_accessor_storage;
|
|
274
|
+
}
|
|
275
|
+
set text(value) {
|
|
276
|
+
this.#text_accessor_storage = value;
|
|
277
|
+
}
|
|
278
|
+
#deckIndex_accessor_storage;
|
|
279
|
+
/** Deck Index Prop to identifier the right place to deck */
|
|
280
|
+
get deckIndex() {
|
|
281
|
+
return this.#deckIndex_accessor_storage;
|
|
282
|
+
}
|
|
283
|
+
set deckIndex(value) {
|
|
284
|
+
this.#deckIndex_accessor_storage = value;
|
|
285
|
+
}
|
|
286
|
+
#coachIndex_accessor_storage;
|
|
287
|
+
/** Coach Index Prop to identifier the right place to coach */
|
|
288
|
+
get coachIndex() {
|
|
289
|
+
return this.#coachIndex_accessor_storage;
|
|
290
|
+
}
|
|
291
|
+
set coachIndex(value) {
|
|
292
|
+
this.#coachIndex_accessor_storage = value;
|
|
293
|
+
}
|
|
294
|
+
#preventClick_accessor_storage;
|
|
295
|
+
/** Prevent click prop prevent any place action */
|
|
296
|
+
get preventClick() {
|
|
297
|
+
return this.#preventClick_accessor_storage;
|
|
298
|
+
}
|
|
299
|
+
set preventClick(value) {
|
|
300
|
+
this.#preventClick_accessor_storage = value;
|
|
301
|
+
}
|
|
302
|
+
#keyfocus_accessor_storage;
|
|
303
|
+
/** Set the place focus outline style */
|
|
304
|
+
get keyfocus() {
|
|
305
|
+
return this.#keyfocus_accessor_storage;
|
|
306
|
+
}
|
|
307
|
+
set keyfocus(value) {
|
|
308
|
+
this.#keyfocus_accessor_storage = value;
|
|
309
|
+
}
|
|
310
|
+
#showTitleInfo_accessor_storage;
|
|
311
|
+
/** Disable the mouse over title information */
|
|
312
|
+
get showTitleInfo() {
|
|
313
|
+
return this.#showTitleInfo_accessor_storage;
|
|
314
|
+
}
|
|
315
|
+
set showTitleInfo(value) {
|
|
316
|
+
this.#showTitleInfo_accessor_storage = value;
|
|
317
|
+
}
|
|
318
|
+
constructor() {
|
|
319
|
+
super();
|
|
320
|
+
this.#placeType_accessor_storage = __runInitializers(this, _placeType_initializers, "SEAT");
|
|
321
|
+
this.#state_accessor_storage = (__runInitializers(this, _placeType_extraInitializers), __runInitializers(this, _state_initializers, "FREE"));
|
|
322
|
+
this.#travelDirection_accessor_storage = (__runInitializers(this, _state_extraInitializers), __runInitializers(this, _travelDirection_initializers, "NONE"));
|
|
323
|
+
this.#propertyIds_accessor_storage = (__runInitializers(this, _travelDirection_extraInitializers), __runInitializers(this, _propertyIds_initializers, []));
|
|
324
|
+
this.#text_accessor_storage = (__runInitializers(this, _propertyIds_extraInitializers), __runInitializers(this, _text_initializers, ""));
|
|
325
|
+
this.#deckIndex_accessor_storage = (__runInitializers(this, _text_extraInitializers), __runInitializers(this, _deckIndex_initializers, null));
|
|
326
|
+
this.#coachIndex_accessor_storage = (__runInitializers(this, _deckIndex_extraInitializers), __runInitializers(this, _coachIndex_initializers, null));
|
|
327
|
+
this.#preventClick_accessor_storage = (__runInitializers(this, _coachIndex_extraInitializers), __runInitializers(this, _preventClick_initializers, false));
|
|
328
|
+
this.#keyfocus_accessor_storage = (__runInitializers(this, _preventClick_extraInitializers), __runInitializers(this, _keyfocus_initializers, "unfocus"));
|
|
329
|
+
this.#showTitleInfo_accessor_storage = (__runInitializers(this, _keyfocus_extraInitializers), __runInitializers(this, _showTitleInfo_initializers, false));
|
|
330
|
+
this._optionalScreenreaderInfo = (__runInitializers(this, _showTitleInfo_extraInitializers), "");
|
|
331
|
+
this._language = new SbbLanguageController(this);
|
|
332
|
+
this.addEventListener("click", () => this._selectPlace());
|
|
333
|
+
}
|
|
334
|
+
willUpdate(changedProperties) {
|
|
335
|
+
super.willUpdate(changedProperties);
|
|
336
|
+
if (changedProperties.has("keyfocus")) {
|
|
337
|
+
if (this.keyfocus === "focus") this.focus();
|
|
338
|
+
}
|
|
339
|
+
if (changedProperties.has("showTitleInfo")) {
|
|
340
|
+
if (!this.showTitleInfo) this.title = "";
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
render() {
|
|
344
|
+
const name = this._getPlaceSvg(this.placeType, this.state);
|
|
345
|
+
const type = this.type.toLowerCase();
|
|
346
|
+
const state = this.state.toLowerCase();
|
|
347
|
+
const text = this.text;
|
|
348
|
+
const width = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-width");
|
|
349
|
+
const height = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-height");
|
|
350
|
+
const rotation = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-rotation");
|
|
351
|
+
const textRotation = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-text-rotation");
|
|
352
|
+
const inverseRotationPlaceCheckIcon = Number(textRotation) - Number(rotation);
|
|
353
|
+
const disabledClass = this.preventClick ? "sbb-reservation-place-control--disabled" : null;
|
|
354
|
+
if (this.showTitleInfo) this.title = this._getTitleDescriptionPlace(rotation);
|
|
355
|
+
else this._optionalScreenreaderInfo = this._getTitleDescriptionPlace(rotation);
|
|
356
|
+
this.tabIndex = -1;
|
|
357
|
+
return html`
|
|
358
|
+
<div
|
|
359
|
+
part="sbb-sr-place-part"
|
|
360
|
+
class="sbb-sr-place-ctrl sbb-sr-place-ctrl--orientation-${rotation} sbb-sr-place-ctrl--state-${state} sbb-sr-place-ctrl--type-${type} ${disabledClass}"
|
|
361
|
+
>
|
|
362
|
+
<sbb-seat-reservation-graphic
|
|
363
|
+
style=${styleMap({
|
|
364
|
+
"--sbb-seat-reservation-graphic-width": width,
|
|
365
|
+
"--sbb-seat-reservation-graphic-height": height,
|
|
366
|
+
"--sbb-seat-reservation-graphic-rotation": rotation,
|
|
367
|
+
"--sbb-seat-reservation-graphic-inverse-rotation": inverseRotationPlaceCheckIcon
|
|
368
|
+
})}
|
|
369
|
+
.name=${name}
|
|
370
|
+
aria-hidden="true"
|
|
371
|
+
></sbb-seat-reservation-graphic>
|
|
372
|
+
<span ${this.text ?? nothing} class="sbb-sr-place-ctrl__text" aria-hidden="true"
|
|
373
|
+
>${text}</span
|
|
374
|
+
>
|
|
375
|
+
${!this.showTitleInfo ? html`<sbb-screen-reader-only id="${this.id}"
|
|
376
|
+
>${this._optionalScreenreaderInfo}</sbb-screen-reader-only
|
|
377
|
+
>` : nothing}
|
|
378
|
+
</div>
|
|
379
|
+
`;
|
|
380
|
+
}
|
|
381
|
+
_getPlaceSvg(type, state) {
|
|
382
|
+
return `PLACE_${type}_${state}`;
|
|
383
|
+
}
|
|
384
|
+
_getTitleDescriptionPlace(rotation) {
|
|
385
|
+
let description = getI18nSeatReservation("PLACE_CONTROL_" + this.type + "_" + this.state, this._language.current, [this.text]);
|
|
386
|
+
const relativeTravelDirection = this._getRelativeTravelDirection(rotation);
|
|
387
|
+
if (this.propertyIds.length || relativeTravelDirection) {
|
|
388
|
+
description += ". " + getI18nSeatReservation("PLACE_PROPERTY", this._language.current).concat(": ");
|
|
389
|
+
description += [relativeTravelDirection, ...this.propertyIds].map((propertyId) => getI18nSeatReservation("PLACE_PROPERTIES." + propertyId, this._language.current)).filter((value) => value).join(", ");
|
|
390
|
+
}
|
|
391
|
+
return description;
|
|
392
|
+
}
|
|
393
|
+
_getRelativeTravelDirection(rotationValue) {
|
|
394
|
+
if (!this.travelDirection || this.travelDirection === "NONE" || this.placeType !== "SEAT" || !rotationValue) return void 0;
|
|
395
|
+
const rotation = Number(rotationValue);
|
|
396
|
+
if (rotation === 90 || rotation === 270) return "TRAVEL_DIRECTION_TRANSVERSELY";
|
|
397
|
+
if (rotation === 0 && this.travelDirection === "RIGHT" || rotation === 180 && this.travelDirection === "LEFT") return "TRAVEL_DIRECTION_IN_DIRECTION";
|
|
398
|
+
else if (rotation === 0 || rotation === 180) return "TRAVEL_DIRECTION_IN_OPPOSITE_DIRECTION";
|
|
399
|
+
}
|
|
400
|
+
/** If the place selectable, we emit the placeSelection object which contains infos to the place state */
|
|
401
|
+
_selectPlace() {
|
|
402
|
+
if ((this.state === "FREE" || this.state === "SELECTED") && !this.preventClick) {
|
|
403
|
+
this.state = this.state === "FREE" ? "SELECTED" : "FREE";
|
|
404
|
+
const placeSelection = {
|
|
405
|
+
id: this.id,
|
|
406
|
+
deckIndex: this.deckIndex,
|
|
407
|
+
coachIndex: this.coachIndex,
|
|
408
|
+
number: this.text,
|
|
409
|
+
state: this.state,
|
|
410
|
+
placeType: this.placeType
|
|
411
|
+
};
|
|
412
|
+
/**
|
|
413
|
+
* @type {CustomEvent<PlaceSelection>}
|
|
414
|
+
* Emits when a place was selected via user interaction and returns a
|
|
415
|
+
* PlaceSelection object with necessary place information.
|
|
416
|
+
*/
|
|
417
|
+
this.dispatchEvent(new CustomEvent("selectplace", {
|
|
418
|
+
detail: placeSelection,
|
|
419
|
+
bubbles: true,
|
|
420
|
+
composed: true
|
|
421
|
+
}));
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
};
|
|
425
|
+
})();
|
|
426
|
+
//#endregion
|
|
427
|
+
export { SbbSeatReservationPlaceControlElement as t };
|
|
428
|
+
|
|
429
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC1DTTllZklkNy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sL3NlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wvc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLW1peGlucycgYXMgc2JiLXNyLW1peGlucztcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbi8vIERlcGVuZHMgb24gdGhlIHBsYWNlIHN0YXRlIGFuZCBjdXJyZW50IGV2ZW50IChob3Zlcnxmb2N1cyksIHRoZSBiYWNrZ3JvdW5kIGFuZCBmaWxsIGNvbG9ycyBvZiB0aGUgcGxhY2UsXG4vLyBiYWNrcmVzdCBvZiBwbGFjZSBhbmQgdGhlIHRleHQgY29sb3IgYXJlIGhhbmRsZWQgYnkgY29sb3JpemVQbGFjZSBmdW5jdGlvbi5cbkBtaXhpbiBjb2xvcml6ZVBsYWNlKCRzdGF0ZSwgJGV2ZW50KSB7XG4gIDo6cGFydChzdmctcGxhY2UpIHtcbiAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLSN7JGV2ZW50fSk7XG4gIH1cblxuICA6OnBhcnQoc3ZnLWJhY2tyZXN0KSB7XG4gICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja3Jlc3QtYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICB9XG5cbiAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAvLyBkb250IHVzZSB0cmFuc3BhcmVudCBvciByZW1vdmUgYmFja2dyb3VuZCwgb3RoZXJ3aXNlIHRoZXJlIGFyZSBhMTF5IHZpb2xhdGlvbnMgcmVnYXJkaW5nXG4gICAgLy8gaW5zdWZmaWNpZW50IGNvbG9yIGNvbnRyYXN0XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICAgIGNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS10ZXh0KTtcbiAgfVxuXG4gIEBpZiAkc3RhdGUgIT0gJ3NlbGVjdGVkJyB7XG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgOjpwYXJ0KHN2Zy1wbGFjZSkge1xuICAgICAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICA6OnBhcnQoc3ZnLWJhY2tyZXN0KSB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LWJhY2tyZXN0LWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICA6OnBhcnQoc3ZnLWljb24pIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0taWNvbi1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgOjpwYXJ0KHN2Zy1zZWF0bGluZSkge1xuICAgICAgICBzdHJva2U6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LWJhY2tyZXN0LWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3RcbiAgICAgICAgKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LXRleHQtaGlnaC1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiRkaXNhYmxlZDogJy5zYmItcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0tZGlzYWJsZWQnO1xuXG46aG9zdCB7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNjYWxlLXZhbHVlOiAxO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtd2lkdGg6IDE2O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtaGVpZ2h0OiAxNjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRvcDogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWxlZnQ6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1yb3RhdGlvbjogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRleHQtcm90YXRpb246IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNpemU6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNjYWxlLXZhbHVlLCAxKSAqIDAuNVxuICApO1xuXG4gIC8vIENvbG9yIGRlZmluaXRpb24gZm9yIHRleHRcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWRlZmF1bHQtdGV4dDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItYmxhY2spLFxuICAgIHZhcigtLXNiYi1jb2xvci13aGl0ZSlcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWhvdmVyLXRleHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWlyb24pLFxuICAgIHZhcigtLXNiYi1jb2xvci1zaWx2ZXIpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mb2N1cy10ZXh0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1hbnRocmFjaXRlKSxcbiAgICB2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtdGV4dDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3Itc21va2UpLFxuICAgIHZhcigtLXNiYi1jb2xvci1tZXRhbClcbiAgKTtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIHBsYWNlIHdpdGggc3RhdGUgRlJFRVxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTIpO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWhvdmVyOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1jbG91ZCksXG4gICAgdmFyKC0tc2JiLWNvbG9yLW1pZG5pZ2h0KVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWZvY3VzOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1zaWx2ZXIpLFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjaylcbiAgKTtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIGJhY2tyZXN0IHdpdGggc3RhdGUgRlJFRVxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tyZXN0LWJhY2tncm91bmQtaG92ZXI6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tyZXN0LWJhY2tncm91bmQtZm9jdXM6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBwbGFjZSB3aXRoIHN0YXRlIFNFTEVDVEVEXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcigtLXNiYi1jb2xvci1wcmltYXJ5KTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLXNiYi1jb2xvci1wcmltYXJ5MTI1KTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tncm91bmQtZm9jdXM6IHZhcigtLXNiYi1jb2xvci1wcmltYXJ5MTUwKTtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIGJhY2tyZXN0IHdpdGggc3RhdGUgU0VMRUNURURcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tyZXN0LWJhY2tncm91bmQtZGVmYXVsdDogdmFyKFxuICAgIC0tc2JiLWNvbG9yLXByaW1hcnkxNTBcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tyZXN0LWJhY2tncm91bmQtaG92ZXI6ICM3ZDAwMGY7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrcmVzdC1iYWNrZ3JvdW5kLWZvY3VzOiAjNWEwMDBiO1xuXG4gIC8vIENvbG9yIGJhY2tncm91bmQgZGVmaW5pdGlvbiBmb3IgcGxhY2Ugd2l0aCBzdGF0ZSBBTExPQ0FURURcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLW1pbGspLFxuICAgIHZhcigtLXNiYi1jb2xvci1taWRuaWdodClcbiAgKTtcblxuICAvLyBDb2xvciBkZWZpbml0aW9ucyBmb3IgaGlnaCBjb250cmFzdCBtb2RlXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tyZXN0LWhpZ2gtY29udHJhc3Q6IENhbnZhc1RleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tncm91bmQtaGlnaC1jb250cmFzdDogQ2FudmFzO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS10ZXh0LWhpZ2gtY29udHJhc3Q6IEJ1dHRvblRleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWljb24taGlnaC1jb250cmFzdDogQ2FudmFzVGV4dDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0OiBHcmF5VGV4dDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3Q6IENhbnZhcztcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC10ZXh0LWhpZ2gtY29udHJhc3Q6IEdyYXlUZXh0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtYWxsb2NhdGVkLWljb24taGlnaC1jb250cmFzdDogR3JheVRleHQ7XG5cbiAgd2lkdGg6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtd2lkdGgpKTtcbiAgaGVpZ2h0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWhlaWdodCkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRvcCkpO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtbGVmdCkpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItcG9pbnRlcik7XG59XG5cbjpob3N0KDpob3Zlcikge1xuICAuc2JiLXNyLXBsYWNlLWN0cmwge1xuICAgICYtLXN0YXRlLWZyZWU6bm90KCN7JGRpc2FibGVkfSkge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnZnJlZScsICdob3ZlcicpO1xuICAgIH1cblxuICAgICYtLXN0YXRlLXNlbGVjdGVkOm5vdCgjeyRkaXNhYmxlZH0pIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yaXplUGxhY2UoJ3NlbGVjdGVkJywgJ2hvdmVyJyk7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KDpmb2N1cy12aXNpYmxlKSB7XG4gIC5zYmItc3ItcGxhY2UtY3RybCB7XG4gICAgJi0tc3RhdGUtZnJlZTpub3QoI3skZGlzYWJsZWR9KSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdmcmVlJywgJ2ZvY3VzJyk7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KDphY3RpdmUpIHtcbiAgLnNiYi1zci1wbGFjZS1jdHJsIHtcbiAgICAmLS1zdGF0ZS1zZWxlY3RlZDpub3QoI3skZGlzYWJsZWR9KSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdzZWxlY3RlZCcsICdmb2N1cycpO1xuICAgIH1cbiAgfVxufVxuXG4vLyByb3RhdGVzIHRoZSBET00tcGFydCBcInN2Zy1wbGFjZVwiIGJ5IDE4MCBkZWdyZWVzIGlmIHRoZSBob3N0IGlzIGluIFJUTCBtb2RlLlxuQGluY2x1ZGUgc2JiLXNyLW1peGlucy5yb3RhdGUtZG9tLXBhcnQoc3ZnLXBsYWNlKTtcblxuLnNiYi1zci1wbGFjZS1jdHJsIHtcbiAgJHJvb3Q6ICY7XG5cbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0odmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNpemUpKTtcblxuICAmLS1zdGF0ZS1mcmVlIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdmcmVlJywgJ2RlZmF1bHQnKTtcbiAgfVxuXG4gICYtLXN0YXRlLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdzZWxlY3RlZCcsICdkZWZhdWx0Jyk7XG4gIH1cblxuICAmLS1zdGF0ZS1hbGxvY2F0ZWQsXG4gICYtLXN0YXRlLXJlc3RyaWN0ZWQge1xuICAgIEBpbmNsdWRlIGNvbG9yaXplUGxhY2UoJ2FsbG9jYXRlZCcsICdkZWZhdWx0Jyk7XG5cbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogNTAlO1xuICAgIHRyYW5zbGF0ZTogLTUwJSAtNTAlO1xuICAgIHJvdGF0ZTogY2FsYyh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRleHQtcm90YXRpb24pICogMWRlZyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNiYi10eXBvLWZvbnQtZmFtaWx5KTtcblxuICAgIC8vIGRvbnQgdXNlIHNiYi5weC10by1yZW0gb3IgLS1zYmItdHlwby1zY2FsZS0wLTc1eDsgd2Ugd2FudCBcImVtXCIgaW4gdGhpcyBjYXNlIVxuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuXG4gICAgI3skcm9vdH0tLXN0YXRlLWZyZWUgJixcbiAgICAjeyRyb290fS0tc3RhdGUtYWxsb2NhdGVkICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgI3skcm9vdH0tLXR5cGUtYmljeWNsZSAmIHtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiA2NSU7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUwJTtcblxuICAgICAgLy8gV2UgbmVlZCB0byBhZGp1c3QgdHJhbnNmb3JtIG9yaWdpbiBwb2ludCBmb3IgYmljeWNsZSBwbGFjZXMgdGV4dCAobmVjZXNzYXJ5IGZvciByb3RhdGlvbiksXG4gICAgICAvLyBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiBwbGFjZSBudW1iZXIgaXMgbm90IGNlbnRlcmVkIGluIHRoZSBwbGFjZSBhcmVhLlxuICAgICAgLy8gVGhlIHZhbHVlIDE2JSBpcyB0aGUgb3B0aW1hbCB2YWx1ZSBmb3IgdGhlIHJvdGF0aW9uIG9mZnNldCBvbiB0aGUgb3JpZ2luIHktYXhpcy5cbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciAxNiU7XG5cbiAgICAgIC8vIHVzZSBhIHNtYWxsZXIgZm9udC1zaXplIHRvIGF2b2lkIGExMXkgdmlvbGF0aW9uXG4gICAgICBmb250LXNpemU6IDAuNjg3NWVtO1xuICAgIH1cblxuICAgIC8vIERlcGVuZGluZyBvbiB0aGUgcGxhY2Ugb3JpZW50YXRpb24sIG1pbm9yIHBvc2l0aW9uaW5nIGFkanVzdG1lbnRzIG1heSBuZWVkIHRvIGJlIG1hZGUgdG8gY2VudGVyIHRoZSB0ZXh0LFxuICAgIC8vIGJlY2F1c2Ugb2YgdGhlIHdpZHRoIG9mIHRoZSBTVkcgd2hpY2ggaXMgbm90IHNxdWFyZVxuICAgICN7JHJvb3R9LS1vcmllbnRhdGlvbi0wI3skcm9vdH0tLXR5cGUtc2VhdCAmIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNDUlO1xuICAgIH1cblxuICAgICN7JHJvb3R9LS1vcmllbnRhdGlvbi05MCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNDYlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCU7XG4gICAgfVxuXG4gICAgI3skcm9vdH0tLW9yaWVudGF0aW9uLTE4MCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDU1JTtcbiAgICB9XG5cbiAgICAjeyRyb290fS0tb3JpZW50YXRpb24tMjcwI3skcm9vdH0tLXR5cGUtc2VhdCAmIHtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiA1MiU7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUyJTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoOmRpcihydGwpKSB7XG4gIC8vIEZvciBSVEwsIHdlIG5lZWQgdG8gYWRqdXN0IHRoZSB0ZXh0IHBvc2l0aW9uIHRvIHRoZSByaWdodCBzaWRlXG4gIC5zYmItc3ItcGxhY2UtY3RybCB7XG4gICAgJi0tb3JpZW50YXRpb24tMCAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAzJTtcbiAgICB9XG5cbiAgICAmLS1vcmllbnRhdGlvbi05MCAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQsXG4gICAgJi0tb3JpZW50YXRpb24tMTgwIC5zYmItc3ItcGxhY2UtY3RybF9fdGV4dCB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDEwJTtcbiAgICB9XG5cbiAgICAmLS1vcmllbnRhdGlvbi0yNzAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNSU7XG4gICAgfVxuXG4gICAgJi0tdHlwZS1iaWN5Y2xlIC5zYmItc3ItcGxhY2UtY3RybF9fdGV4dCB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0xMCU7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBTYmJCdXR0b25CYXNlRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBub3RoaW5nLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHN0eWxlTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvc3R5bGUtbWFwLmpzJztcblxuaW1wb3J0IHsgZ2V0STE4blNlYXRSZXNlcnZhdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90cmFuc2xhdGlvbnMudHMnO1xuaW1wb3J0IHR5cGUgeyBQbGFjZVNlbGVjdGlvbiwgUGxhY2VTdGF0ZSwgUGxhY2VUeXBlLCBUcmF2ZWxEaXJlY3Rpb24gfSBmcm9tICcuLi9jb21tb24vdHlwZXMudHMnO1xuaW1wb3J0IHsgU2JiU2VhdFJlc2VydmF0aW9uR3JhcGhpY0VsZW1lbnQgfSBmcm9tICcuLi9zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMvc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC5zY3NzP2lubGluZSc7XG5cblNiYlNlYXRSZXNlcnZhdGlvbkdyYXBoaWNFbGVtZW50LmRlZmluZSgpO1xuXG50eXBlIFRyYXZlbERpcmVjdGlvbkkxOG5LZXkgPVxuICB8ICdUUkFWRUxfRElSRUNUSU9OX0lOX0RJUkVDVElPTidcbiAgfCAnVFJBVkVMX0RJUkVDVElPTl9JTl9PUFBPU0lURV9ESVJFQ1RJT04nXG4gIHwgJ1RSQVZFTF9ESVJFQ1RJT05fVFJBTlNWRVJTRUxZJztcblxuLyoqXG4gKiBPdXRwdXQgdGhlIGdyYXBoaWMgb2YgYSBzZWF0IG9yIGEgYmljeWNsZSBwbGFjZSBhcyBhIGNvbnRyb2wgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlNlYXRSZXNlcnZhdGlvblBsYWNlQ29udHJvbEVsZW1lbnQgZXh0ZW5kcyBTYmJCdXR0b25CYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdHBsYWNlOiAnc2VsZWN0cGxhY2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBwbGFjZVR5cGUgb2YgdGhlIHBsYWNlLCBlLmcuICdTRUFUJywgJ0JJQ1lDTEUnICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0eXBlJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGxhY2VUeXBlOiBQbGFjZVR5cGUgPSAnU0VBVCc7XG5cbiAgLyoqIHN0YXRlIG9mIHRoZSBwbGFjZSwgZS5nLiAnRlJFRScsICdTRUxFQ1RFRCcsICdCTE9DS0VEJyAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc3RhdGUnLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzdGF0ZTogUGxhY2VTdGF0ZSA9ICdGUkVFJztcblxuICAvKiogZGlyZWN0aW9uIG9mIGEgd2hvbGUgdHJhaW4sIHVzZWQgdG8gY29tcHV0ZSBhbiBvcmllbnRhdGlvbiBvZiBhIHBsYWNlICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RyYXZlbC1kaXJlY3Rpb24nIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmF2ZWxEaXJlY3Rpb246IFRyYXZlbERpcmVjdGlvbiA9ICdOT05FJztcblxuICAvKiogcHJvcGVydHkgaWRzIG9mIHRoZSBwbGFjZSwgdG8gZGlzcGxheSBtb3JlIGluZm8gYWJvdXQgdGhlIHBsYWNlICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3Byb3BlcnR5SWRzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHByb3BlcnR5SWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBsYWJlbCBvZiB0aGUgcGxhY2UsIGUuZy4gJzFBJywgJzJCJyAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGV4dCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBEZWNrIEluZGV4IFByb3AgdG8gaWRlbnRpZmllciB0aGUgcmlnaHQgcGxhY2UgdG8gZGVjayAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGVjay1pbmRleCcsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGVja0luZGV4OiBudW1iZXIgPSBudWxsITtcblxuICAvKiogQ29hY2ggSW5kZXggUHJvcCB0byBpZGVudGlmaWVyIHRoZSByaWdodCBwbGFjZSB0byBjb2FjaCAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY29hY2gtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvYWNoSW5kZXg6IG51bWJlciA9IG51bGwhO1xuXG4gIC8qKiBQcmV2ZW50IGNsaWNrIHByb3AgcHJldmVudCBhbnkgcGxhY2UgYWN0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwcmV2ZW50LWNsaWNrJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcHJldmVudENsaWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNldCB0aGUgcGxhY2UgZm9jdXMgb3V0bGluZSBzdHlsZSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAna2V5Zm9jdXMnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBrZXlmb2N1czogc3RyaW5nID0gJ3VuZm9jdXMnO1xuXG4gIC8qKiBEaXNhYmxlIHRoZSBtb3VzZSBvdmVyIHRpdGxlIGluZm9ybWF0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCB1c2VEZWZhdWx0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaG93VGl0bGVJbmZvOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfb3B0aW9uYWxTY3JlZW5yZWFkZXJJbmZvOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuX3NlbGVjdFBsYWNlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdrZXlmb2N1cycpKSB7XG4gICAgICBpZiAodGhpcy5rZXlmb2N1cyA9PT0gJ2ZvY3VzJykge1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaWYgdGl0bGUgd2FzIHNob3duIG9uY2UsIHdlIGNhbm5vdCB1bnNldCBpdCBjb21wbGV0ZWx5LCBidXQgdGhpc1xuICAgIC8vIGJlaGF2aW9yIHNob3VsZCBub3QgaGFwcGVuIHZlcnkgb2Z0ZW4gYXMgdGhlIHRpdGxlIHNob3VsZFxuICAgIC8vIG5vdCBzd2l0Y2ggZnJvbSBvbiB0byBvZmYgYW5kIG9uIGFnYWluXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2hvd1RpdGxlSW5mbycpKSB7XG4gICAgICBpZiAoIXRoaXMuc2hvd1RpdGxlSW5mbykge1xuICAgICAgICB0aGlzLnRpdGxlID0gJyc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgbmFtZTogc3RyaW5nID0gdGhpcy5fZ2V0UGxhY2VTdmcodGhpcy5wbGFjZVR5cGUsIHRoaXMuc3RhdGUpO1xuICAgIGNvbnN0IHR5cGU6IHN0cmluZyA9IHRoaXMudHlwZS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHN0YXRlOiBzdHJpbmcgPSB0aGlzLnN0YXRlLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgdGV4dDogc3RyaW5nIHwgbnVsbCA9IHRoaXMudGV4dDtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuc3R5bGU/LmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC13aWR0aCcpO1xuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMuc3R5bGU/LmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1oZWlnaHQnKTtcbiAgICBjb25zdCByb3RhdGlvbiA9IHRoaXMuc3R5bGU/LmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1yb3RhdGlvbicpO1xuICAgIGNvbnN0IHRleHRSb3RhdGlvbiA9IHRoaXMuc3R5bGU/LmdldFByb3BlcnR5VmFsdWUoXG4gICAgICAnLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRleHQtcm90YXRpb24nLFxuICAgICk7XG4gICAgY29uc3QgaW52ZXJzZVJvdGF0aW9uUGxhY2VDaGVja0ljb24gPSBOdW1iZXIodGV4dFJvdGF0aW9uKSAtIE51bWJlcihyb3RhdGlvbik7XG4gICAgY29uc3QgZGlzYWJsZWRDbGFzcyA9IHRoaXMucHJldmVudENsaWNrID8gJ3NiYi1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLS1kaXNhYmxlZCcgOiBudWxsO1xuXG4gICAgLy8gb25seSBzZXQgdGl0bGUgdG8gdGhlIFNiYkJ1dHRvbkJhc2VFbGVtZW50IGlmIHJlcXVlc3RlZDsgb3RoZXJ3aXNlIHByb3ZpZGUgdGhlIHRpdGxlXG4gICAgLy8gaW5mb3JtYXRpb24gdG8gc2NyZWVuIHJlYWRlcnMgdmlhIGFuIGFkZGl0aW9uYWwgZWxlbWVudFxuICAgIGlmICh0aGlzLnNob3dUaXRsZUluZm8pIHtcbiAgICAgIHRoaXMudGl0bGUgPSB0aGlzLl9nZXRUaXRsZURlc2NyaXB0aW9uUGxhY2Uocm90YXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9vcHRpb25hbFNjcmVlbnJlYWRlckluZm8gPSB0aGlzLl9nZXRUaXRsZURlc2NyaXB0aW9uUGxhY2Uocm90YXRpb24pO1xuICAgIH1cblxuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBwYXJ0PVwic2JiLXNyLXBsYWNlLXBhcnRcIlxuICAgICAgICBjbGFzcz1cInNiYi1zci1wbGFjZS1jdHJsIHNiYi1zci1wbGFjZS1jdHJsLS1vcmllbnRhdGlvbi0ke3JvdGF0aW9ufSBzYmItc3ItcGxhY2UtY3RybC0tc3RhdGUtJHtzdGF0ZX0gc2JiLXNyLXBsYWNlLWN0cmwtLXR5cGUtJHt0eXBlfSAke2Rpc2FibGVkQ2xhc3N9XCJcbiAgICAgID5cbiAgICAgICAgPHNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWNcbiAgICAgICAgICBzdHlsZT0ke3N0eWxlTWFwKHtcbiAgICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtd2lkdGgnOiB3aWR0aCxcbiAgICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaGVpZ2h0JzogaGVpZ2h0LFxuICAgICAgICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1yb3RhdGlvbic6IHJvdGF0aW9uLFxuICAgICAgICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1pbnZlcnNlLXJvdGF0aW9uJzogaW52ZXJzZVJvdGF0aW9uUGxhY2VDaGVja0ljb24sXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgLm5hbWU9JHtuYW1lfVxuICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID48L3NiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWM+XG4gICAgICAgIDxzcGFuICR7dGhpcy50ZXh0ID8/IG5vdGhpbmd9IGNsYXNzPVwic2JiLXNyLXBsYWNlLWN0cmxfX3RleHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgID4ke3RleHR9PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgJHshdGhpcy5zaG93VGl0bGVJbmZvXG4gICAgICAgICAgPyBodG1sYDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGlkPVwiJHt0aGlzLmlkfVwiXG4gICAgICAgICAgICAgID4ke3RoaXMuX29wdGlvbmFsU2NyZWVucmVhZGVySW5mb308L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHlcbiAgICAgICAgICAgID5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBsYWNlU3ZnKHR5cGU6IFBsYWNlVHlwZSwgc3RhdGU6IFBsYWNlU3RhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlIGFzIHN0cmluZztcbiAgICBjb25zdCBzdGF0ZVN0cmluZyA9IHN0YXRlIGFzIHN0cmluZztcbiAgICByZXR1cm4gYFBMQUNFXyR7dHlwZVN0cmluZ31fJHtzdGF0ZVN0cmluZ31gO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VGl0bGVEZXNjcmlwdGlvblBsYWNlKHJvdGF0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gJ1BMQUNFX0NPTlRST0xfJyArIHRoaXMudHlwZSArICdfJyArIHRoaXMuc3RhdGU7XG4gICAgbGV0IGRlc2NyaXB0aW9uID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbih0cmFuc2xhdGlvbktleSwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCwgW3RoaXMudGV4dF0pO1xuXG4gICAgY29uc3QgcmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24gPSB0aGlzLl9nZXRSZWxhdGl2ZVRyYXZlbERpcmVjdGlvbihyb3RhdGlvbik7XG5cbiAgICBpZiAodGhpcy5wcm9wZXJ0eUlkcy5sZW5ndGggfHwgcmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24pIHtcbiAgICAgIGRlc2NyaXB0aW9uICs9XG4gICAgICAgICcuICcgKyBnZXRJMThuU2VhdFJlc2VydmF0aW9uKCdQTEFDRV9QUk9QRVJUWScsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpLmNvbmNhdCgnOiAnKTtcblxuICAgICAgZGVzY3JpcHRpb24gKz0gW3JlbGF0aXZlVHJhdmVsRGlyZWN0aW9uLCAuLi50aGlzLnByb3BlcnR5SWRzXVxuICAgICAgICAubWFwKChwcm9wZXJ0eUlkKSA9PlxuICAgICAgICAgIGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oJ1BMQUNFX1BST1BFUlRJRVMuJyArIHByb3BlcnR5SWQsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpLFxuICAgICAgICApXG4gICAgICAgIC5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSlcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlc2NyaXB0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24oXG4gICAgcm90YXRpb25WYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICApOiBUcmF2ZWxEaXJlY3Rpb25JMThuS2V5IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy50cmF2ZWxEaXJlY3Rpb24gfHxcbiAgICAgIHRoaXMudHJhdmVsRGlyZWN0aW9uID09PSAnTk9ORScgfHxcbiAgICAgIHRoaXMucGxhY2VUeXBlICE9PSAnU0VBVCcgfHxcbiAgICAgICFyb3RhdGlvblZhbHVlXG4gICAgKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCByb3RhdGlvbiA9IE51bWJlcihyb3RhdGlvblZhbHVlKTtcblxuICAgIGlmIChyb3RhdGlvbiA9PT0gOTAgfHwgcm90YXRpb24gPT09IDI3MCkge1xuICAgICAgcmV0dXJuICdUUkFWRUxfRElSRUNUSU9OX1RSQU5TVkVSU0VMWSc7XG4gICAgfVxuXG4gICAgY29uc3QgaW5EaXJlY3Rpb24gPVxuICAgICAgKHJvdGF0aW9uID09PSAwICYmIHRoaXMudHJhdmVsRGlyZWN0aW9uID09PSAnUklHSFQnKSB8fFxuICAgICAgKHJvdGF0aW9uID09PSAxODAgJiYgdGhpcy50cmF2ZWxEaXJlY3Rpb24gPT09ICdMRUZUJyk7XG5cbiAgICBpZiAoaW5EaXJlY3Rpb24pIHtcbiAgICAgIHJldHVybiAnVFJBVkVMX0RJUkVDVElPTl9JTl9ESVJFQ1RJT04nO1xuICAgIH0gZWxzZSBpZiAocm90YXRpb24gPT09IDAgfHwgcm90YXRpb24gPT09IDE4MCkge1xuICAgICAgcmV0dXJuICdUUkFWRUxfRElSRUNUSU9OX0lOX09QUE9TSVRFX0RJUkVDVElPTic7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKiBJZiB0aGUgcGxhY2Ugc2VsZWN0YWJsZSwgd2UgZW1pdCB0aGUgcGxhY2VTZWxlY3Rpb24gb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZm9zIHRvIHRoZSBwbGFjZSBzdGF0ZSAqL1xuICBwcml2YXRlIF9zZWxlY3RQbGFjZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RhYmxlID0gKHRoaXMuc3RhdGUgPT09ICdGUkVFJyB8fCB0aGlzLnN0YXRlID09PSAnU0VMRUNURUQnKSAmJiAhdGhpcy5wcmV2ZW50Q2xpY2s7XG5cbiAgICBpZiAoc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5zdGF0ZSA9IHRoaXMuc3RhdGUgPT09ICdGUkVFJyA/ICdTRUxFQ1RFRCcgOiAnRlJFRSc7XG4gICAgICBjb25zdCBwbGFjZVNlbGVjdGlvbjogUGxhY2VTZWxlY3Rpb24gPSB7XG4gICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICBkZWNrSW5kZXg6IHRoaXMuZGVja0luZGV4LFxuICAgICAgICBjb2FjaEluZGV4OiB0aGlzLmNvYWNoSW5kZXgsXG4gICAgICAgIG51bWJlcjogdGhpcy50ZXh0LFxuICAgICAgICBzdGF0ZTogdGhpcy5zdGF0ZSxcbiAgICAgICAgcGxhY2VUeXBlOiB0aGlzLnBsYWNlVHlwZSxcbiAgICAgIH07XG5cbiAgICAgIC8qKlxuICAgICAgICogQHR5cGUge0N1c3RvbUV2ZW50PFBsYWNlU2VsZWN0aW9uPn1cbiAgICAgICAqIEVtaXRzIHdoZW4gYSBwbGFjZSB3YXMgc2VsZWN0ZWQgdmlhIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHJldHVybnMgYVxuICAgICAgICogUGxhY2VTZWxlY3Rpb24gb2JqZWN0IHdpdGggbmVjZXNzYXJ5IHBsYWNlIGluZm9ybWF0aW9uLlxuICAgICAgICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBDdXN0b21FdmVudDxQbGFjZVNlbGVjdGlvbj4oJ3NlbGVjdHBsYWNlJywge1xuICAgICAgICAgIGRldGFpbDogcGxhY2VTZWxlY3Rpb24sXG4gICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbCc6IFNiYlNlYXRSZXNlcnZhdGlvblBsYWNlQ29udHJvbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUNxQkEsaUNBQWlDLFFBQVE7Ozs7SUFVNUIsK0NBQXFDO21CQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBQTlDLDhDQUE4QyxZQUFvQjs7OzRCQVE1RSxXQUFXLEVBQ1gsU0FBUyxFQUFFLFdBQVcsUUFBUSxDQUFDLENBQUE7d0JBSS9CLFdBQVcsRUFDWCxTQUFTO0lBQUUsV0FBVztJQUFTLFNBQVM7SUFBTSxDQUFDLENBQUE7a0NBSS9DLFNBQVMsRUFBRSxXQUFXLG9CQUFvQixDQUFDLENBQUE7OEJBSTNDLFNBQVM7SUFBRSxXQUFXO0lBQWUsTUFBTTtJQUFPLENBQUMsQ0FBQTt1QkFJbkQsV0FBVyxFQUNYLFNBQVMsRUFBRSxXQUFXLFFBQVEsQ0FBQyxDQUFBOzRCQUkvQixXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBYyxNQUFNO0lBQVEsQ0FBQyxDQUFBOzZCQUluRCxXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBZSxNQUFNO0lBQVEsQ0FBQyxDQUFBOytCQUlwRCxXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBaUIsTUFBTTtJQUFTLENBQUMsQ0FBQTsyQkFJdkQsV0FBVyxFQUNYLFNBQVMsRUFBRSxXQUFXLFlB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
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
|
|
2
|
+
import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
|
|
3
|
+
import { html, unsafeCSS } from "lit";
|
|
4
|
+
//#region src/elements-experimental/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.scss?inline
|
|
5
|
+
var seat_reservation_scoped_default = ":host {\n --sbb-seat-reservation-scoped-width: 0;\n --sbb-seat-reservation-scoped-height: 0;\n display: block;\n width: calc(var(--sbb-seat-reservation-scoped-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n height: calc(var(--sbb-seat-reservation-scoped-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n}";
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/elements-experimental/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.ts
|
|
8
|
+
/**
|
|
9
|
+
* Wrapper class for scoped elements with similar properties to set.
|
|
10
|
+
*/
|
|
11
|
+
var SbbSeatReservationScopedElement = class extends SbbElement {
|
|
12
|
+
static {
|
|
13
|
+
this.elementName = "sbb-seat-reservation-scoped";
|
|
14
|
+
}
|
|
15
|
+
static {
|
|
16
|
+
this.styles = [boxSizingStyles, unsafeCSS(seat_reservation_scoped_default)];
|
|
17
|
+
}
|
|
18
|
+
render() {
|
|
19
|
+
return html`<slot></slot>`;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { SbbSeatReservationScopedElement as t };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1zY29wZWQuY29tcG9uZW50LUNGQV9iSjNvLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbjpob3N0IHtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1zY29wZWQtd2lkdGg6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tc2NvcGVkLWhlaWdodDogMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC13aWR0aCkpO1xuICBoZWlnaHQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC1oZWlnaHQpKTtcbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMuanMnO1xuaW1wb3J0IHsgaHRtbCwgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2VhdC1yZXNlcnZhdGlvbi1zY29wZWQuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIFdyYXBwZXIgY2xhc3MgZm9yIHNjb3BlZCBlbGVtZW50cyB3aXRoIHNpbWlsYXIgcHJvcGVydGllcyB0byBzZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTZWF0UmVzZXJ2YXRpb25TY29wZWRFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2VhdC1yZXNlcnZhdGlvbi1zY29wZWQnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tc2NvcGVkJzogU2JiU2VhdFJlc2VydmF0aW9uU2NvcGVkRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FDU0EsSUFBYSxrQ0FBYixjQUFxRCxXQUFVOztBQUM3QixPQUFBLGNBQXNCOzs7QUFDL0IsT0FBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLGdDQUFNLENBQUM7O0NBRWhFLFNBQU07QUFDdkIsU0FBTyxJQUFJIn0=
|