@sbb-esta/lyne-elements-experimental 5.0.0-next.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/_index.scss +2 -0
  2. package/autocomplete-grid/_autocomplete-grid.global.scss +14 -0
  3. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +4 -4
  4. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +42 -66
  5. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  6. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  7. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  8. package/autocomplete-grid-option.component-DUFBhQwI.js +35 -0
  9. package/autocomplete-grid.js +3 -3
  10. package/autocomplete-grid.pure.js +3 -3
  11. package/core/datetime/date-helper.js +1 -1
  12. package/core/styles/_theme.scss +19 -0
  13. package/core/styles/lean-off-brand-theme.scss +3 -0
  14. package/core/styles/lean-safety-theme.scss +3 -0
  15. package/core.js +1 -1
  16. package/custom-elements.json +5312 -5160
  17. package/{date-helper-CuMnZCsr.js → date-helper-DNzMLcyb.js} +3 -3
  18. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  19. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +5 -5
  20. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  21. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +54 -83
  22. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  23. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +1 -1
  24. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -1
  25. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  26. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  27. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  28. package/development/{autocomplete-grid-cell.component-BF8i4388.js → autocomplete-grid-cell.component-BbdELDro.js} +1 -1
  29. package/development/autocomplete-grid-option.component-C7WuqRit.js +57 -0
  30. package/development/{autocomplete-grid-row.component-CBHh50jC.js → autocomplete-grid-row.component-DoXbOsQM.js} +1 -1
  31. package/development/autocomplete-grid.js +4 -4
  32. package/development/autocomplete-grid.pure.js +3 -3
  33. package/development/core/datetime/date-helper.js +1 -1
  34. package/development/core/timetable/access-leg-helper.js +1 -1
  35. package/development/core/timetable/timetable-helper.js +1 -1
  36. package/development/core.js +1 -1
  37. package/development/date-helper-BcTDWVeP.js +539 -0
  38. package/development/{differenceInMinutes-B7_GTDq7.js → differenceInMinutes-CxAbGYQ3.js} +2 -2
  39. package/development/{format-DFx4997p.js → format-Cx3zmmaF.js} +3 -3
  40. package/development/{isValid-JpZ7FphI.js → isValid-40Olgzo1.js} +2 -2
  41. package/development/journey-summary/journey-summary.component.d.ts +2 -3
  42. package/development/journey-summary/journey-summary.component.d.ts.map +1 -1
  43. package/development/journey-summary/journey-summary.component.js +1 -1
  44. package/development/journey-summary.component-BsC7wBIn.js +341 -0
  45. package/development/journey-summary.js +2 -2
  46. package/development/journey-summary.pure.js +1 -1
  47. package/development/{mapper-hWWm7Uke.js → mapper-BrZOqqfe.js} +1 -1
  48. package/development/pearl-chain/pearl-chain.component.js +1 -1
  49. package/development/pearl-chain-time/pearl-chain-time.component.js +1 -1
  50. package/development/{pearl-chain-time.component-BxVQ1z-Z.js → pearl-chain-time.component-C-CuC1ke.js} +3 -3
  51. package/development/pearl-chain-time.js +2 -2
  52. package/development/pearl-chain-time.pure.js +1 -1
  53. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  54. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  55. package/development/{pearl-chain-vertical-item.component-DJioJtxP.js → pearl-chain-vertical-item.component-CLu9QrqJ.js} +2 -2
  56. package/development/pearl-chain-vertical-item.js +2 -2
  57. package/development/pearl-chain-vertical-item.pure.js +1 -1
  58. package/development/{pearl-chain-vertical.component-zSOeIkhh.js → pearl-chain-vertical.component-DbPz5k_R.js} +1 -1
  59. package/development/pearl-chain-vertical.js +2 -2
  60. package/development/pearl-chain-vertical.pure.js +1 -1
  61. package/development/pearl-chain.component-10OsJZIX.js +318 -0
  62. package/development/pearl-chain.js +2 -2
  63. package/development/pearl-chain.pure.js +1 -1
  64. package/development/seat-reservation/common/mapper/icon-mapper.js +1 -1
  65. package/development/seat-reservation/common/mapper/mapper.js +1 -1
  66. package/development/seat-reservation/common/mapper.js +1 -1
  67. package/development/seat-reservation/common/svgs.js +1 -1
  68. package/development/seat-reservation/common/translations/i18n.js +1 -1
  69. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +11 -1
  70. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  71. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +46 -29
  72. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  73. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  74. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  75. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  76. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +6 -2
  77. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  78. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -2
  79. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  80. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +6 -2
  81. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  82. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -2
  83. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  84. package/development/{seat-reservation-area.component-CMqjbUtV.js → seat-reservation-area.component-DPhQJFid.js} +2 -2
  85. package/development/{seat-reservation-graphic.component-C2r57590.js → seat-reservation-graphic.component-0LYsmerm.js} +2 -2
  86. package/development/seat-reservation-navigation-coach.component-B97jKD7Y.js +438 -0
  87. package/development/{seat-reservation-navigation-services.component-Do8JLJh3.js → seat-reservation-navigation-services.component-Cx0Is97w.js} +2 -2
  88. package/development/{seat-reservation-place-control.component-BfuOGZYq.js → seat-reservation-place-control.component-DaL1g8WH.js} +40 -37
  89. package/development/{seat-reservation-scoped.component-D-Mvw-Q3.js → seat-reservation-scoped.component-BHbORVsR.js} +1 -1
  90. package/development/seat-reservation.component-DI9pSlzt.js +473 -0
  91. package/development/seat-reservation.js +12 -12
  92. package/development/seat-reservation.pure.js +11 -11
  93. package/development/{svgs-kDpBCto5.js → svgs-Dj-RKmRs.js} +1 -1
  94. package/development/timetable-duration/timetable-duration.component.js +1 -1
  95. package/development/timetable-duration.component-Chk5D4Is.js +96 -0
  96. package/development/timetable-duration.js +2 -2
  97. package/development/timetable-duration.pure.js +1 -1
  98. package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
  99. package/development/timetable-row/timetable-row.component.js +1 -1
  100. package/development/timetable-row.component-nzrQzxL6.js +736 -0
  101. package/development/timetable-row.js +2 -2
  102. package/development/timetable-row.pure.js +1 -1
  103. package/development/{toDate-DOFAOjP-.js → toDate-CDWut5fS.js} +1 -1
  104. package/{differenceInMinutes-Dr9gRqtu.js → differenceInMinutes-BAZ-Fham.js} +1 -1
  105. package/{format-DbUuNYFU.js → format-DjgG1QPc.js} +2 -2
  106. package/{isValid-B9oVW3lA.js → isValid-CXnsFZVu.js} +1 -1
  107. package/journey-summary/journey-summary.component.js +1 -1
  108. package/{journey-summary.component-CkDRawn9.js → journey-summary.component-DNoO3OCf.js} +41 -41
  109. package/journey-summary.js +1 -1
  110. package/journey-summary.pure.js +1 -1
  111. package/lean-safety-theme.css +13 -0
  112. package/lean-theme.css +13 -0
  113. package/package.json +18 -6
  114. package/pearl-chain/pearl-chain.component.js +1 -1
  115. package/pearl-chain-time/pearl-chain-time.component.js +1 -1
  116. package/{pearl-chain-time.component-D5OCEBJ_.js → pearl-chain-time.component-BuvA6IE1.js} +33 -33
  117. package/pearl-chain-time.js +1 -1
  118. package/pearl-chain-time.pure.js +1 -1
  119. package/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  120. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  121. package/{pearl-chain-vertical-item.component-IdquCJMy.js → pearl-chain-vertical-item.component-QZ4s8Jbv.js} +24 -24
  122. package/pearl-chain-vertical-item.js +1 -1
  123. package/pearl-chain-vertical-item.pure.js +1 -1
  124. package/pearl-chain-vertical.js +1 -1
  125. package/pearl-chain-vertical.pure.js +1 -1
  126. package/{pearl-chain.component-C6lcD7Xl.js → pearl-chain.component-DtGXXkY6.js} +26 -26
  127. package/pearl-chain.js +1 -1
  128. package/pearl-chain.pure.js +1 -1
  129. package/seat-reservation/common/mapper/mapper.js +1 -1
  130. package/seat-reservation/common/mapper.js +1 -1
  131. package/seat-reservation/common/svgs.js +1 -1
  132. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +96 -82
  133. package/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  134. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  135. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  136. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -2
  137. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  138. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -2
  139. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  140. package/{seat-reservation-area.component-BcmwKJSK.js → seat-reservation-area.component-G9lHb7S8.js} +16 -16
  141. package/{seat-reservation-graphic.component-C3wc4DKr.js → seat-reservation-graphic.component-BXFcQDxY.js} +20 -20
  142. package/seat-reservation-navigation-coach.component-BXy8EkJe.js +338 -0
  143. package/{seat-reservation-navigation-services.component-CfAQa7pa.js → seat-reservation-navigation-services.component-49XmV9rv.js} +21 -21
  144. package/{seat-reservation-place-control.component-DrzEDW8Z.js → seat-reservation-place-control.component-DToIW328.js} +70 -71
  145. package/{seat-reservation.component-CB2IWgM9.js → seat-reservation.component--0XnrCkk.js} +80 -79
  146. package/seat-reservation.js +12 -12
  147. package/seat-reservation.pure.js +11 -11
  148. package/timetable-duration/timetable-duration.component.js +1 -1
  149. package/timetable-duration.component-iMCvh1zr.js +61 -0
  150. package/timetable-duration.js +1 -1
  151. package/timetable-duration.pure.js +1 -1
  152. package/timetable-row/timetable-row.component.js +1 -1
  153. package/timetable-row.component-mNKmhRmP.js +566 -0
  154. package/timetable-row.js +1 -1
  155. package/timetable-row.pure.js +1 -1
  156. package/autocomplete-grid-option.component-iEj9qreq.js +0 -35
  157. package/core/styles/core.scss +0 -13
  158. package/core/styles/theme.scss +0 -5
  159. package/development/autocomplete-grid-option.component-BQwwanAf.js +0 -59
  160. package/development/date-helper-DGz-ztQM.js +0 -520
  161. package/development/journey-summary.component-De1ioDRq.js +0 -341
  162. package/development/pearl-chain.component-B83OsEx8.js +0 -312
  163. package/development/seat-reservation-navigation-coach.component-BwLbiHCG.js +0 -426
  164. package/development/seat-reservation.component-B2nJ13F1.js +0 -472
  165. package/development/timetable-duration.component-fBla8Kue.js +0 -96
  166. package/development/timetable-row.component-C9Y9Rev1.js +0 -732
  167. package/seat-reservation-navigation-coach.component-D1SgS8BU.js +0 -328
  168. package/timetable-duration.component-DPRcG1LP.js +0 -61
  169. package/timetable-row.component-BqIVlISS.js +0 -562
  170. /package/{autocomplete-grid-cell.component-DAsWZlTn.js → autocomplete-grid-cell.component-79IjA__I.js} +0 -0
  171. /package/{autocomplete-grid-row.component-VbyYP0U-.js → autocomplete-grid-row.component-B3U15Rwa.js} +0 -0
  172. /package/{core.css → lean-off-brand-theme.css} +0 -0
  173. /package/{mapper-Cqie5ivY.js → mapper-Dcou8VEf.js} +0 -0
  174. /package/{pearl-chain-vertical.component-CDOWaup3.js → pearl-chain-vertical.component-Dc3vaHsQ.js} +0 -0
  175. /package/{seat-reservation-scoped.component-BohQUGVW.js → seat-reservation-scoped.component-D8dAmrP7.js} +0 -0
  176. /package/{svgs-D5DhLHxC.js → svgs-D4fuYTHV.js} +0 -0
  177. /package/{toDate-p-Tpkb7t.js → toDate-BhNUyM4s.js} +0 -0
@@ -1,341 +0,0 @@
1
- import { t as format } from "./format-DFx4997p.js";
2
- import { t as isValid } from "./isValid-JpZ7FphI.js";
3
- import { __esDecorate, __runInitializers } from "tslib";
4
- import { SbbElement, SbbLanguageController, defaultDateAdapter, forceType, i18nTripDuration, screenReaderOnlyStyles } from "@sbb-esta/lyne-elements/core.js";
5
- import { html, nothing, unsafeCSS } from "lit";
6
- import { SbbDividerElement } from "@sbb-esta/lyne-elements/divider.pure.js";
7
- import { SbbJourneyHeaderElement } from "@sbb-esta/lyne-elements/journey-header.pure.js";
8
- import { property } from "lit/decorators.js";
9
- import { durationToTime, removeTimezoneFromISOTimeString } from "./core.js";
10
- import { SbbPearlChainTimeElement } from "./pearl-chain-time.pure.js";
11
- //#region src/elements-experimental/journey-summary/journey-summary.scss?inline
12
- var journey_summary_default = ":host {\n display: block;\n}\n\n.sbb-journey-summary {\n --sbb-text-font-size: var(--sbb-text-font-size-s);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n color: var(--sbb-color-4);\n display: flex;\n flex-direction: column;\n}\n\n.sbb-journey-summary__via-block {\n display: flex;\n}\n\n.sbb-journey-summary__vias {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n margin-block: 0;\n padding-inline-start: var(--sbb-spacing-fixed-1x);\n}\n\n.sbb-journey-summary__date {\n margin-block-end: var(--sbb-spacing-fixed-2x);\n}\n\n.sbb-journey-summary__via {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.sbb-journey-summary__divider {\n margin-block: var(--sbb-spacing-fixed-6x);\n}\n\nul li {\n list-style: none;\n display: inline;\n}";
13
- //#endregion
14
- //#region src/elements-experimental/journey-summary/journey-summary.component.ts
15
- /**
16
- * It displays journey's information.
17
- *
18
- * @slot content - Use this slot to add `sbb-button`s or other interactive elements.
19
- */
20
- var SbbJourneySummaryElement = (() => {
21
- let _classSuper = SbbElement;
22
- let _instanceExtraInitializers = [];
23
- let _trip_decorators;
24
- let _trip_initializers = [];
25
- let _trip_extraInitializers = [];
26
- let _tripBack_decorators;
27
- let _tripBack_initializers = [];
28
- let _tripBack_extraInitializers = [];
29
- let _roundTrip_decorators;
30
- let _roundTrip_initializers = [];
31
- let _roundTrip_extraInitializers = [];
32
- let _headerLevel_decorators;
33
- let _headerLevel_initializers = [];
34
- let _headerLevel_extraInitializers = [];
35
- let _disableAnimation_decorators;
36
- let _disableAnimation_initializers = [];
37
- let _disableAnimation_extraInitializers = [];
38
- let _a11yFootpath_decorators;
39
- let _a11yFootpath_initializers = [];
40
- let _a11yFootpath_extraInitializers = [];
41
- let _set_now_decorators;
42
- return class SbbJourneySummaryElement extends _classSuper {
43
- constructor() {
44
- super(...arguments);
45
- this.#trip_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _trip_initializers, null));
46
- this.#tripBack_accessor_storage = (__runInitializers(this, _trip_extraInitializers), __runInitializers(this, _tripBack_initializers, null));
47
- this.#roundTrip_accessor_storage = (__runInitializers(this, _tripBack_extraInitializers), __runInitializers(this, _roundTrip_initializers, false));
48
- this.#headerLevel_accessor_storage = (__runInitializers(this, _roundTrip_extraInitializers), __runInitializers(this, _headerLevel_initializers, "3"));
49
- this.#disableAnimation_accessor_storage = (__runInitializers(this, _headerLevel_extraInitializers), __runInitializers(this, _disableAnimation_initializers, false));
50
- this.#a11yFootpath_accessor_storage = (__runInitializers(this, _disableAnimation_extraInitializers), __runInitializers(this, _a11yFootpath_initializers, false));
51
- this._now = (__runInitializers(this, _a11yFootpath_extraInitializers), null);
52
- this._hasContentSlot = false;
53
- this._language = new SbbLanguageController(this);
54
- }
55
- static {
56
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
57
- _trip_decorators = [property({ type: Object })];
58
- _tripBack_decorators = [property({
59
- attribute: "trip-back",
60
- type: Object
61
- })];
62
- _roundTrip_decorators = [forceType(), property({
63
- attribute: "round-trip",
64
- type: Boolean
65
- })];
66
- _headerLevel_decorators = [property({ attribute: "header-level" })];
67
- _disableAnimation_decorators = [forceType(), property({
68
- attribute: "disable-animation",
69
- type: Boolean
70
- })];
71
- _a11yFootpath_decorators = [forceType(), property({
72
- attribute: "a11y-footpath",
73
- type: Boolean
74
- })];
75
- _set_now_decorators = [property()];
76
- __esDecorate(this, null, _trip_decorators, {
77
- kind: "accessor",
78
- name: "trip",
79
- static: false,
80
- private: false,
81
- access: {
82
- has: (obj) => "trip" in obj,
83
- get: (obj) => obj.trip,
84
- set: (obj, value) => {
85
- obj.trip = value;
86
- }
87
- },
88
- metadata: _metadata
89
- }, _trip_initializers, _trip_extraInitializers);
90
- __esDecorate(this, null, _tripBack_decorators, {
91
- kind: "accessor",
92
- name: "tripBack",
93
- static: false,
94
- private: false,
95
- access: {
96
- has: (obj) => "tripBack" in obj,
97
- get: (obj) => obj.tripBack,
98
- set: (obj, value) => {
99
- obj.tripBack = value;
100
- }
101
- },
102
- metadata: _metadata
103
- }, _tripBack_initializers, _tripBack_extraInitializers);
104
- __esDecorate(this, null, _roundTrip_decorators, {
105
- kind: "accessor",
106
- name: "roundTrip",
107
- static: false,
108
- private: false,
109
- access: {
110
- has: (obj) => "roundTrip" in obj,
111
- get: (obj) => obj.roundTrip,
112
- set: (obj, value) => {
113
- obj.roundTrip = value;
114
- }
115
- },
116
- metadata: _metadata
117
- }, _roundTrip_initializers, _roundTrip_extraInitializers);
118
- __esDecorate(this, null, _headerLevel_decorators, {
119
- kind: "accessor",
120
- name: "headerLevel",
121
- static: false,
122
- private: false,
123
- access: {
124
- has: (obj) => "headerLevel" in obj,
125
- get: (obj) => obj.headerLevel,
126
- set: (obj, value) => {
127
- obj.headerLevel = value;
128
- }
129
- },
130
- metadata: _metadata
131
- }, _headerLevel_initializers, _headerLevel_extraInitializers);
132
- __esDecorate(this, null, _disableAnimation_decorators, {
133
- kind: "accessor",
134
- name: "disableAnimation",
135
- static: false,
136
- private: false,
137
- access: {
138
- has: (obj) => "disableAnimation" in obj,
139
- get: (obj) => obj.disableAnimation,
140
- set: (obj, value) => {
141
- obj.disableAnimation = value;
142
- }
143
- },
144
- metadata: _metadata
145
- }, _disableAnimation_initializers, _disableAnimation_extraInitializers);
146
- __esDecorate(this, null, _a11yFootpath_decorators, {
147
- kind: "accessor",
148
- name: "a11yFootpath",
149
- static: false,
150
- private: false,
151
- access: {
152
- has: (obj) => "a11yFootpath" in obj,
153
- get: (obj) => obj.a11yFootpath,
154
- set: (obj, value) => {
155
- obj.a11yFootpath = value;
156
- }
157
- },
158
- metadata: _metadata
159
- }, _a11yFootpath_initializers, _a11yFootpath_extraInitializers);
160
- __esDecorate(this, null, _set_now_decorators, {
161
- kind: "setter",
162
- name: "now",
163
- static: false,
164
- private: false,
165
- access: {
166
- has: (obj) => "now" in obj,
167
- set: (obj, value) => {
168
- obj.now = value;
169
- }
170
- },
171
- metadata: _metadata
172
- }, null, _instanceExtraInitializers);
173
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
174
- enumerable: true,
175
- configurable: true,
176
- writable: true,
177
- value: _metadata
178
- });
179
- }
180
- static {
181
- this.elementName = "sbb-journey-summary";
182
- }
183
- static {
184
- this.elementDependencies = [
185
- SbbDividerElement,
186
- SbbJourneyHeaderElement,
187
- SbbPearlChainTimeElement
188
- ];
189
- }
190
- static {
191
- this.styles = [screenReaderOnlyStyles, unsafeCSS(journey_summary_default)];
192
- }
193
- #trip_accessor_storage;
194
- /** The trip prop */
195
- get trip() {
196
- return this.#trip_accessor_storage;
197
- }
198
- set trip(value) {
199
- this.#trip_accessor_storage = value;
200
- }
201
- #tripBack_accessor_storage;
202
- /** The tripBack prop */
203
- get tripBack() {
204
- return this.#tripBack_accessor_storage;
205
- }
206
- set tripBack(value) {
207
- this.#tripBack_accessor_storage = value;
208
- }
209
- #roundTrip_accessor_storage;
210
- /**
211
- * The RoundTrip prop. This prop controls if one or two arrows are displayed in the header.
212
- */
213
- get roundTrip() {
214
- return this.#roundTrip_accessor_storage;
215
- }
216
- set roundTrip(value) {
217
- this.#roundTrip_accessor_storage = value;
218
- }
219
- #headerLevel_accessor_storage;
220
- /** Heading level of the journey header element (e.g. h1-h6). */
221
- get headerLevel() {
222
- return this.#headerLevel_accessor_storage;
223
- }
224
- set headerLevel(value) {
225
- this.#headerLevel_accessor_storage = value;
226
- }
227
- #disableAnimation_accessor_storage;
228
- /**
229
- * Per default, the current location has a pulsating animation. You can
230
- * disable the animation with this property.
231
- */
232
- get disableAnimation() {
233
- return this.#disableAnimation_accessor_storage;
234
- }
235
- set disableAnimation(value) {
236
- this.#disableAnimation_accessor_storage = value;
237
- }
238
- #a11yFootpath_accessor_storage;
239
- /**
240
- * The Footpath attribute for rendering different icons
241
- * true: render a11y-icon
242
- * false: render walk-icon
243
- * default: render walk-icon
244
- */
245
- get a11yFootpath() {
246
- return this.#a11yFootpath_accessor_storage;
247
- }
248
- set a11yFootpath(value) {
249
- this.#a11yFootpath_accessor_storage = value;
250
- }
251
- /**
252
- * A configured date which acts as the current date instead of the real current date.
253
- * Only recommended for testing purposes.
254
- */
255
- set now(value) {
256
- this._now = defaultDateAdapter.getValidDateOrNull(defaultDateAdapter.deserialize(value));
257
- }
258
- get now() {
259
- return this._now ?? /* @__PURE__ */ new Date();
260
- }
261
- connectedCallback() {
262
- super.connectedCallback();
263
- this._hasContentSlot = Boolean(this.querySelector?.("[slot=\"content\"]"));
264
- }
265
- /** renders the date of the journey or if it is the current or next day */
266
- _renderJourneyStart(departureTime, duration) {
267
- const dateAdapter = defaultDateAdapter;
268
- const durationObj = duration ? durationToTime(duration, this._language.current) : null;
269
- if (isValid(departureTime)) return html`
270
- <time datetime=${format(departureTime, "d") + " " + format(departureTime, "M")}>
271
- ${dateAdapter.format(departureTime).replace(",", ".")}</time
272
- >${duration && duration > 0 ? html`,<time>
273
- <span class="sbb-screen-reader-only">
274
- ${i18nTripDuration[this._language.current]} ${durationObj.long}
275
- </span>
276
- <span aria-hidden="true">${durationObj.short}</span>
277
- </time>` : nothing}
278
- `;
279
- }
280
- _renderJourneyVias(vias) {
281
- const slicedVias = vias.slice(0, 5);
282
- return html`
283
- <div class="sbb-journey-summary__via-block">
284
- <span class="sbb-journey-summary__via-text">Via</span>
285
- <ul class="sbb-journey-summary__vias" role=${vias.length <= 1 ? "presentation" : nothing}>
286
- ${slicedVias.map((via, index) => html`<li class="sbb-journey-summary__via">
287
- ${via}${index !== slicedVias.length - 1 && index < 4 ? html`<span>,</span>` : nothing}
288
- </li>`)}
289
- </ul>
290
- </div>
291
- `;
292
- }
293
- _renderJourneyInformation(trip) {
294
- const { vias, duration, departureWalk, departure, arrivalWalk, arrival, legs } = trip || {};
295
- return html`
296
- <div>
297
- ${vias && vias.length > 0 ? this._renderJourneyVias(vias) : nothing}
298
- <div class="sbb-journey-summary__date">
299
- ${this._renderJourneyStart(removeTimezoneFromISOTimeString(departure), duration)}
300
- </div>
301
- <sbb-pearl-chain-time
302
- .arrivalTime=${arrival}
303
- .departureTime=${departure}
304
- .departureWalk=${departureWalk}
305
- .arrivalWalk=${arrivalWalk}
306
- .legs=${legs}
307
- .disableAnimation=${this.disableAnimation}
308
- .a11yFootpath=${this.a11yFootpath}
309
- .now=${this.now}
310
- ></sbb-pearl-chain-time>
311
- </div>
312
- `;
313
- }
314
- render() {
315
- const { origin, destination } = this.trip || {};
316
- return html`
317
- <div class="sbb-journey-summary">
318
- ${origin ? html`<sbb-journey-header
319
- visual-level="4"
320
- .level=${this.headerLevel || nothing}
321
- .origin=${origin}
322
- .destination=${destination}
323
- .roundTrip=${this.roundTrip ?? nothing}
324
- ></sbb-journey-header>` : nothing}
325
- ${this._renderJourneyInformation(this.trip)}
326
- ${this.tripBack ? html`<div>
327
- <sbb-divider class="sbb-journey-summary__divider"></sbb-divider>
328
- ${this._renderJourneyInformation(this.tripBack)}
329
- </div>` : nothing}
330
- ${this._hasContentSlot ? html` <div class="sbb-journey-summary__slot">
331
- <slot name="content"></slot>
332
- </div>` : nothing}
333
- </div>
334
- `;
335
- }
336
- };
337
- })();
338
- //#endregion
339
- export { SbbJourneySummaryElement as t };
340
-
341
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC1EZTFpb0RScS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2pvdXJuZXktc3VtbWFyeS9qb3VybmV5LXN1bW1hcnkuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2pvdXJuZXktc3VtbWFyeS9qb3VybmV5LXN1bW1hcnkuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zYmItam91cm5leS1zdW1tYXJ5IHtcbiAgQGluY2x1ZGUgc2JiLnRleHQtcy0tcmVndWxhcjtcblxuICBjb2xvcjogdmFyKC0tc2JiLWNvbG9yLTQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYXMge1xuICBAaW5jbHVkZSBzYmIuZWxsaXBzaXM7XG5cbiAgbWFyZ2luLWJsb2NrOiAwO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xufVxuXG4uc2JiLWpvdXJuZXktc3VtbWFyeV9fZGF0ZSB7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbn1cblxuLnNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uc2JiLWpvdXJuZXktc3VtbWFyeV9fZGl2aWRlciB7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNngpO1xufVxuXG51bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbiIsImltcG9ydCB7XG4gIGRlZmF1bHREYXRlQWRhcHRlcixcbiAgZm9yY2VUeXBlLFxuICBpMThuVHJpcER1cmF0aW9uLFxuICBTYmJFbGVtZW50LFxuICB0eXBlIFNiYkVsZW1lbnRUeXBlLFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG4gIHNjcmVlblJlYWRlck9ubHlTdHlsZXMsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUuanMnO1xuaW1wb3J0IHsgU2JiRGl2aWRlckVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9kaXZpZGVyLnB1cmUuanMnO1xuaW1wb3J0IHsgU2JiSm91cm5leUhlYWRlckVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9qb3VybmV5LWhlYWRlci5wdXJlLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL3RpdGxlLnB1cmUuanMnO1xuaW1wb3J0IHsgZm9ybWF0LCBpc1ZhbGlkIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgbm90aGluZywgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBkdXJhdGlvblRvVGltZSwgdHlwZSBMZWcsIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcgfSBmcm9tICcuLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYlBlYXJsQ2hhaW5UaW1lRWxlbWVudCB9IGZyb20gJy4uL3BlYXJsLWNoYWluLXRpbWUucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2pvdXJuZXktc3VtbWFyeS5zY3NzP2lubGluZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzIHtcbiAgbGVnczogTGVnW107XG4gIHZpYXM/OiBzdHJpbmdbXTtcbiAgb3JpZ2luOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG4gIGFycml2YWxXYWxrPzogbnVtYmVyO1xuICBkZXBhcnR1cmU6IHN0cmluZztcbiAgYXJyaXZhbDogc3RyaW5nO1xuICBkZXBhcnR1cmVXYWxrPzogbnVtYmVyO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBqb3VybmV5J3MgaW5mb3JtYXRpb24uXG4gKlxuICogQHNsb3QgY29udGVudCAtIFVzZSB0aGlzIHNsb3QgdG8gYWRkIGBzYmItYnV0dG9uYHMgb3Igb3RoZXIgaW50ZXJhY3RpdmUgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJKb3VybmV5U3VtbWFyeUVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1qb3VybmV5LXN1bW1hcnknO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgU2JiRGl2aWRlckVsZW1lbnQsXG4gICAgU2JiSm91cm5leUhlYWRlckVsZW1lbnQsXG4gICAgU2JiUGVhcmxDaGFpblRpbWVFbGVtZW50LFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbc2NyZWVuUmVhZGVyT25seVN0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqICBUaGUgdHJpcCBwcm9wICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IE9iamVjdCB9KSBwdWJsaWMgYWNjZXNzb3IgdHJpcDogSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzID0gbnVsbCE7XG5cbiAgLyoqICBUaGUgdHJpcEJhY2sgcHJvcCAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0cmlwLWJhY2snLCB0eXBlOiBPYmplY3QgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRyaXBCYWNrOiBJbnRlcmZhY2VTYmJKb3VybmV5U3VtbWFyeUF0dHJpYnV0ZXMgPSBudWxsITtcblxuICAvKipcbiAgICogVGhlIFJvdW5kVHJpcCBwcm9wLiBUaGlzIHByb3AgY29udHJvbHMgaWYgb25lIG9yIHR3byBhcnJvd3MgYXJlIGRpc3BsYXllZCBpbiB0aGUgaGVhZGVyLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3JvdW5kLXRyaXAnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciByb3VuZFRyaXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSGVhZGluZyBsZXZlbCBvZiB0aGUgam91cm5leSBoZWFkZXIgZWxlbWVudCAoZS5nLiBoMS1oNikuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hlYWRlci1sZXZlbCcgfSkgcHVibGljIGFjY2Vzc29yIGhlYWRlckxldmVsOiBTYmJUaXRsZUxldmVsID0gJzMnO1xuXG4gIC8qKlxuICAgKiBQZXIgZGVmYXVsdCwgdGhlIGN1cnJlbnQgbG9jYXRpb24gaGFzIGEgcHVsc2F0aW5nIGFuaW1hdGlvbi4gWW91IGNhblxuICAgKiBkaXNhYmxlIHRoZSBhbmltYXRpb24gd2l0aCB0aGlzIHByb3BlcnR5LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Rpc2FibGUtYW5pbWF0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzYWJsZUFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgRm9vdHBhdGggYXR0cmlidXRlIGZvciByZW5kZXJpbmcgZGlmZmVyZW50IGljb25zXG4gICAqIHRydWU6IHJlbmRlciBhMTF5LWljb25cbiAgICogZmFsc2U6IHJlbmRlciB3YWxrLWljb25cbiAgICogZGVmYXVsdDogcmVuZGVyIHdhbGstaWNvblxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ExMXktZm9vdHBhdGgnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhMTF5Rm9vdHBhdGg6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBjb25maWd1cmVkIGRhdGUgd2hpY2ggYWN0cyBhcyB0aGUgY3VycmVudCBkYXRlIGluc3RlYWQgb2YgdGhlIHJlYWwgY3VycmVudCBkYXRlLlxuICAgKiBPbmx5IHJlY29tbWVuZGVkIGZvciB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBub3codmFsdWU6IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9ub3cgPSBkZWZhdWx0RGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKGRlZmF1bHREYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgbm93KCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9ub3cgPz8gbmV3IERhdGUoKTtcbiAgfVxuICBwcml2YXRlIF9ub3c6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9oYXNDb250ZW50U2xvdDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5faGFzQ29udGVudFNsb3QgPSBCb29sZWFuKHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdbc2xvdD1cImNvbnRlbnRcIl0nKSk7XG4gIH1cblxuICAvKiogIHJlbmRlcnMgdGhlIGRhdGUgb2YgdGhlIGpvdXJuZXkgb3IgaWYgaXQgaXMgdGhlIGN1cnJlbnQgb3IgbmV4dCBkYXkgKi9cbiAgcHJpdmF0ZSBfcmVuZGVySm91cm5leVN0YXJ0KFxuICAgIGRlcGFydHVyZVRpbWU6IERhdGUgfCB1bmRlZmluZWQsXG4gICAgZHVyYXRpb246IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgKTogVGVtcGxhdGVSZXN1bHQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGRhdGVBZGFwdGVyID0gZGVmYXVsdERhdGVBZGFwdGVyO1xuICAgIGNvbnN0IGR1cmF0aW9uT2JqID0gZHVyYXRpb24gPyBkdXJhdGlvblRvVGltZShkdXJhdGlvbiwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkgOiBudWxsO1xuXG4gICAgaWYgKGlzVmFsaWQoZGVwYXJ0dXJlVGltZSkpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8dGltZSBkYXRldGltZT0ke2Zvcm1hdChkZXBhcnR1cmVUaW1lISwgJ2QnKSArICcgJyArIGZvcm1hdChkZXBhcnR1cmVUaW1lISwgJ00nKX0+XG4gICAgICAgICAgJHtkYXRlQWRhcHRlci5mb3JtYXQoZGVwYXJ0dXJlVGltZSkucmVwbGFjZSgnLCcsICcuJyl9PC90aW1lXG4gICAgICAgID4ke2R1cmF0aW9uICYmIGR1cmF0aW9uID4gMFxuICAgICAgICAgID8gaHRtbGAsPHRpbWU+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICAke2kxOG5UcmlwRHVyYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19ICR7ZHVyYXRpb25PYmohLmxvbmd9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiR7ZHVyYXRpb25PYmohLnNob3J0fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90aW1lPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICBgO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJKb3VybmV5Vmlhcyh2aWFzOiBzdHJpbmdbXSk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBzbGljZWRWaWFzID0gdmlhcy5zbGljZSgwLCA1KTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X192aWEtYmxvY2tcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X192aWEtdGV4dFwiPlZpYTwvc3Bhbj5cbiAgICAgICAgPHVsIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhc1wiIHJvbGU9JHt2aWFzLmxlbmd0aCA8PSAxID8gJ3ByZXNlbnRhdGlvbicgOiBub3RoaW5nfT5cbiAgICAgICAgICAke3NsaWNlZFZpYXMubWFwKFxuICAgICAgICAgICAgKHZpYSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgIGh0bWxgPGxpIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhXCI+XG4gICAgICAgICAgICAgICAgJHt2aWF9JHtpbmRleCAhPT0gc2xpY2VkVmlhcy5sZW5ndGggLSAxICYmIGluZGV4IDwgNFxuICAgICAgICAgICAgICAgICAgPyBodG1sYDxzcGFuPiw8L3NwYW4+YFxuICAgICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICA8L2xpPmAsXG4gICAgICAgICAgKX1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJKb3VybmV5SW5mb3JtYXRpb24odHJpcDogSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IHsgdmlhcywgZHVyYXRpb24sIGRlcGFydHVyZVdhbGssIGRlcGFydHVyZSwgYXJyaXZhbFdhbGssIGFycml2YWwsIGxlZ3MgfSA9IHRyaXAgfHwge307XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXY+XG4gICAgICAgICR7dmlhcyAmJiB2aWFzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZW5kZXJKb3VybmV5Vmlhcyh2aWFzKSA6IG5vdGhpbmd9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X19kYXRlXCI+XG4gICAgICAgICAgJHt0aGlzLl9yZW5kZXJKb3VybmV5U3RhcnQocmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhkZXBhcnR1cmUpLCBkdXJhdGlvbil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2JiLXBlYXJsLWNoYWluLXRpbWVcbiAgICAgICAgICAuYXJyaXZhbFRpbWU9JHthcnJpdmFsfVxuICAgICAgICAgIC5kZXBhcnR1cmVUaW1lPSR7ZGVwYXJ0dXJlfVxuICAgICAgICAgIC5kZXBhcnR1cmVXYWxrPSR7ZGVwYXJ0dXJlV2Fsa31cbiAgICAgICAgICAuYXJyaXZhbFdhbGs9JHthcnJpdmFsV2Fsa31cbiAgICAgICAgICAubGVncz0ke2xlZ3N9XG4gICAgICAgICAgLmRpc2FibGVBbmltYXRpb249JHt0aGlzLmRpc2FibGVBbmltYXRpb259XG4gICAgICAgICAgLmExMXlGb290cGF0aD0ke3RoaXMuYTExeUZvb3RwYXRofVxuICAgICAgICAgIC5ub3c9JHt0aGlzLm5vd31cbiAgICAgICAgPjwvc2JiLXBlYXJsLWNoYWluLXRpbWU+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgeyBvcmlnaW4sIGRlc3RpbmF0aW9uIH0gPSB0aGlzLnRyaXAgfHwge307XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeVwiPlxuICAgICAgICAke29yaWdpblxuICAgICAgICAgID8gaHRtbGA8c2JiLWpvdXJuZXktaGVhZGVyXG4gICAgICAgICAgICAgIHZpc3VhbC1sZXZlbD1cIjRcIlxuICAgICAgICAgICAgICAubGV2ZWw9JHt0aGlzLmhlYWRlckxldmVsIHx8IG5vdGhpbmd9XG4gICAgICAgICAgICAgIC5vcmlnaW49JHtvcmlnaW59XG4gICAgICAgICAgICAgIC5kZXN0aW5hdGlvbj0ke2Rlc3RpbmF0aW9ufVxuICAgICAgICAgICAgICAucm91bmRUcmlwPSR7dGhpcy5yb3VuZFRyaXAgPz8gbm90aGluZ31cbiAgICAgICAgICAgID48L3NiYi1qb3VybmV5LWhlYWRlcj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAke3RoaXMuX3JlbmRlckpvdXJuZXlJbmZvcm1hdGlvbih0aGlzLnRyaXApfVxuICAgICAgICAke3RoaXMudHJpcEJhY2tcbiAgICAgICAgICA/IGh0bWxgPGRpdj5cbiAgICAgICAgICAgICAgPHNiYi1kaXZpZGVyIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fZGl2aWRlclwiPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVySm91cm5leUluZm9ybWF0aW9uKHRoaXMudHJpcEJhY2spfVxuICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgJHt0aGlzLl9oYXNDb250ZW50U2xvdFxuICAgICAgICAgID8gaHRtbGAgPGRpdiBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX3Nsb3RcIj5cbiAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cImNvbnRlbnRcIj48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWpvdXJuZXktc3VtbWFyeSc6IFNiYkpvdXJuZXlTdW1tYXJ5RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDc0NhLGtDQUF3QjttQkFBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBQWpDLGlDQUFpQyxZQUFVOzs7QUFVVixTQUFBLHlCQVZqQyxrQkFBQSxNQUFBLDJCQUF3QixFQUFBLGtCQUFBLE1BQUEsb0JBVXNELEtBQUs7QUFJOUUsU0FBQSw2QkFBQSxrQkFBQSxNQUFBLHdCQUFBLEVBQUEsa0JBQUEsTUFBQSx3QkFBaUQsS0FBSztBQU90RCxTQUFBLDhCQUFBLGtCQUFBLE1BQUEsNEJBQUEsRUFBQSxrQkFBQSxNQUFBLHlCQUFxQixNQUFLO0FBR2UsU0FBQSxnQ0FBQSxrQkFBQSxNQUFBLDZCQUFBLEVBQUEsa0JBQUEsTUFBQSwyQkFBNkIsSUFBRztBQVF6RSxTQUFBLHFDQUFBLGtCQUFBLE1BQUEsK0JBQUEsRUFBQSxrQkFBQSxNQUFBLGdDQUE0QixNQUFLO0FBVWpDLFNBQUEsaUNBQUEsa0JBQUEsTUFBQSxvQ0FBQSxFQUFBLGtCQUFBLE1BQUEsNEJBQXdCLE1BQUs7QUFhckMsUUFBQSxRQUFJLGtCQUFBLE1BQUEsZ0NBQUEsRUFBZ0I7QUFFcEIsUUFBQSxrQkFBMkI7QUFDM0IsUUFBQSxZQUFZLElBQUksc0JBQXNCLEtBQUs7Ozs7dUJBaERsRCxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUMsQ0FBQTsyQkFHMUIsU0FBUztJQUFFLFdBQVc7SUFBYSxNQUFNO0lBQVEsQ0FBQyxDQUFBOzRCQU1sRCxXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBYyxNQUFNO0lBQVMsQ0FB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