@sbb-esta/lyne-elements-experimental-dev 4.7.0-dev.1773388997 → 4.7.0-dev.1773393170

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 (200) hide show
  1. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +76 -65
  2. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +52 -72
  3. package/autocomplete-grid/autocomplete-grid-button.js +6 -3
  4. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +17 -2
  5. package/autocomplete-grid/autocomplete-grid-cell.js +7 -4
  6. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +21 -20
  7. package/autocomplete-grid/autocomplete-grid-optgroup.js +6 -3
  8. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +33 -2
  9. package/autocomplete-grid/autocomplete-grid-option.js +9 -4
  10. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +22 -2
  11. package/autocomplete-grid/autocomplete-grid-row.js +7 -4
  12. package/autocomplete-grid/autocomplete-grid.js +6 -3
  13. package/autocomplete-grid.js +21 -9
  14. package/autocomplete-grid.pure.js +15 -7
  15. package/core/datetime/date-helper.js +191 -2
  16. package/core/datetime.js +5 -2
  17. package/core/timetable/access-leg-helper.js +71 -76
  18. package/core/timetable/timetable-helper.js +11 -9
  19. package/core/timetable/timetable-properties.js +1 -0
  20. package/core/timetable.js +7 -3
  21. package/custom-elements.json +84 -84
  22. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +122 -114
  23. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +70 -92
  24. package/development/autocomplete-grid/autocomplete-grid-button.js +4 -6
  25. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +29 -2
  26. package/development/autocomplete-grid/autocomplete-grid-cell.js +5 -7
  27. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +22 -27
  28. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +4 -6
  29. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +109 -2
  30. package/development/autocomplete-grid/autocomplete-grid-option.js +7 -7
  31. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +91 -2
  32. package/development/autocomplete-grid/autocomplete-grid-row.js +5 -7
  33. package/development/autocomplete-grid/autocomplete-grid.js +4 -6
  34. package/development/autocomplete-grid.js +14 -10
  35. package/development/autocomplete-grid.pure.js +13 -4
  36. package/development/core/datetime/date-helper.js +285 -2
  37. package/development/core/datetime.js +6 -2
  38. package/development/core/timetable/access-leg-helper.js +82 -104
  39. package/development/core/timetable/timetable-helper.js +17 -16
  40. package/development/core/timetable/timetable-properties.js +2 -0
  41. package/development/core/timetable.js +8 -3
  42. package/development/differenceInMinutes-B0dawX-5.js +26 -0
  43. package/development/format-BMkeaqaF.js +1433 -0
  44. package/development/isValid-BYRch7pV.js +53 -0
  45. package/development/journey-summary/journey-summary.component.js +288 -2
  46. package/development/journey-summary.js +5 -8
  47. package/development/journey-summary.pure.js +5 -2
  48. package/development/pearl-chain/pearl-chain.component.js +634 -2
  49. package/development/pearl-chain-time/pearl-chain-time.component.js +306 -2
  50. package/development/pearl-chain-time.js +5 -8
  51. package/development/pearl-chain-time.pure.js +5 -2
  52. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +28 -2
  53. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +393 -2
  54. package/development/pearl-chain-vertical-item.js +5 -8
  55. package/development/pearl-chain-vertical-item.pure.js +5 -2
  56. package/development/pearl-chain-vertical.js +5 -8
  57. package/development/pearl-chain-vertical.pure.js +5 -2
  58. package/development/pearl-chain.js +5 -8
  59. package/development/pearl-chain.pure.js +5 -2
  60. package/development/seat-reservation/common/mapper/icon-mapper.js +71 -168
  61. package/development/seat-reservation/common/mapper/mapper.js +122 -153
  62. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +559 -570
  63. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +972 -992
  64. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20367 -20334
  65. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1738 -1731
  66. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9782 -9741
  67. package/development/seat-reservation/common/mapper.js +8 -1
  68. package/development/seat-reservation/common/svgs.js +46 -2
  69. package/development/seat-reservation/common/translations/i18n.js +900 -1118
  70. package/development/seat-reservation/common/translations.js +4 -1
  71. package/development/seat-reservation/common/types.js +2 -0
  72. package/development/seat-reservation/common.js +11 -7
  73. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1230 -1305
  74. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +859 -2
  75. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +106 -2
  76. package/development/seat-reservation/seat-reservation-area.js +5 -7
  77. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +34 -35
  78. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +162 -2
  79. package/development/seat-reservation/seat-reservation-graphic.js +5 -7
  80. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +713 -2
  81. package/development/seat-reservation/seat-reservation-navigation-coach.js +5 -7
  82. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +131 -2
  83. package/development/seat-reservation/seat-reservation-navigation-services.js +5 -7
  84. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +601 -2
  85. package/development/seat-reservation/seat-reservation-place-control.js +5 -7
  86. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +22 -2
  87. package/development/seat-reservation/seat-reservation-scoped.js +5 -7
  88. package/development/seat-reservation/seat-reservation.js +6 -7
  89. package/development/seat-reservation.js +28 -15
  90. package/development/seat-reservation.pure.js +28 -10
  91. package/development/timetable-duration/timetable-duration.component.js +108 -2
  92. package/development/timetable-duration.js +5 -8
  93. package/development/timetable-duration.pure.js +5 -2
  94. package/development/timetable-row/timetable-row.component.js +781 -2
  95. package/development/timetable-row.js +13 -8
  96. package/development/timetable-row.pure.js +12 -2
  97. package/development/toDate-BWb6Z1JD.js +24 -0
  98. package/differenceInMinutes-COvvdYsJ.js +23 -0
  99. package/format-CmKROkbc.js +1186 -0
  100. package/isValid-m3_OsPaB.js +45 -0
  101. package/journey-summary/journey-summary.component.js +194 -2
  102. package/journey-summary.js +4 -5
  103. package/journey-summary.pure.js +4 -2
  104. package/package.json +2 -2
  105. package/pearl-chain/pearl-chain.component.js +165 -2
  106. package/pearl-chain-time/pearl-chain-time.component.js +157 -2
  107. package/pearl-chain-time.js +4 -5
  108. package/pearl-chain-time.pure.js +4 -2
  109. package/pearl-chain-vertical/pearl-chain-vertical.component.js +17 -2
  110. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +77 -2
  111. package/pearl-chain-vertical-item.js +4 -5
  112. package/pearl-chain-vertical-item.pure.js +4 -2
  113. package/pearl-chain-vertical.js +4 -5
  114. package/pearl-chain-vertical.pure.js +4 -2
  115. package/pearl-chain.js +4 -5
  116. package/pearl-chain.pure.js +4 -2
  117. package/seat-reservation/common/mapper/icon-mapper.js +71 -71
  118. package/seat-reservation/common/mapper/mapper.js +89 -95
  119. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +558 -568
  120. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +970 -989
  121. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20366 -20332
  122. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1737 -1729
  123. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9781 -9739
  124. package/seat-reservation/common/mapper.js +9 -3
  125. package/seat-reservation/common/svgs.js +243 -2
  126. package/seat-reservation/common/translations/i18n.js +891 -1084
  127. package/seat-reservation/common/translations.js +4 -2
  128. package/seat-reservation/common/types.js +1 -0
  129. package/seat-reservation/common.js +15 -9
  130. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +810 -832
  131. package/seat-reservation/seat-reservation/seat-reservation.component.js +420 -2
  132. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +51 -2
  133. package/seat-reservation/seat-reservation-area.js +7 -4
  134. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +71 -68
  135. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +75 -2
  136. package/seat-reservation/seat-reservation-graphic.js +7 -4
  137. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +234 -2
  138. package/seat-reservation/seat-reservation-navigation-coach.js +7 -4
  139. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +85 -2
  140. package/seat-reservation/seat-reservation-navigation-services.js +7 -4
  141. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +203 -2
  142. package/seat-reservation/seat-reservation-place-control.js +7 -4
  143. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +13 -2
  144. package/seat-reservation/seat-reservation-scoped.js +7 -4
  145. package/seat-reservation/seat-reservation.js +9 -5
  146. package/seat-reservation.js +39 -17
  147. package/seat-reservation.pure.js +32 -15
  148. package/timetable-duration/timetable-duration.component.js +57 -2
  149. package/timetable-duration.js +4 -5
  150. package/timetable-duration.pure.js +4 -2
  151. package/timetable-row/timetable-row.component.js +427 -2
  152. package/timetable-row.js +13 -6
  153. package/timetable-row.pure.js +11 -2
  154. package/toDate-Bw2KTWeq.js +15 -0
  155. package/autocomplete-grid-cell.component-Dak9wlBr.js +0 -24
  156. package/autocomplete-grid-option.component-DNRFHOwc.js +0 -37
  157. package/autocomplete-grid-row.component-DBHZQ0GQ.js +0 -27
  158. package/date-helper-CGproP5d.js +0 -185
  159. package/development/autocomplete-grid-cell.component-BBvM4o2H.js +0 -42
  160. package/development/autocomplete-grid-option.component-QzfM5eIE.js +0 -123
  161. package/development/autocomplete-grid-row.component-H8sCTCkT.js +0 -104
  162. package/development/date-helper-8_Y-PuHh.js +0 -520
  163. package/development/differenceInMinutes-DN_1Rk3O.js +0 -110
  164. package/development/format-Bbrn2bgo.js +0 -1848
  165. package/development/isValid-C-HzKv4v.js +0 -178
  166. package/development/journey-summary.component-uGhZvA4p.js +0 -385
  167. package/development/pearl-chain-time.component-B8mayTWD.js +0 -415
  168. package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +0 -435
  169. package/development/pearl-chain-vertical.component-CswE7b3M.js +0 -39
  170. package/development/pearl-chain.component-wpsTvoSe.js +0 -704
  171. package/development/seat-reservation-area.component-BK92ZtFo.js +0 -138
  172. package/development/seat-reservation-graphic.component-cUnsHh5x.js +0 -193
  173. package/development/seat-reservation-navigation-coach.component-D6Bglus8.js +0 -828
  174. package/development/seat-reservation-navigation-services.component-DYJ6Ddkg.js +0 -179
  175. package/development/seat-reservation-place-control.component-Bg9evKBW.js +0 -726
  176. package/development/seat-reservation-scoped.component-DRQ_I702.js +0 -31
  177. package/development/seat-reservation.component-Cq_aJKR0.js +0 -818
  178. package/development/svgs-C3JMWR26.js +0 -28
  179. package/development/timetable-duration.component-DI0lET17.js +0 -125
  180. package/development/timetable-row.component-CAED6Zwc.js +0 -932
  181. package/development/toDate-Biiv3kyf.js +0 -150
  182. package/differenceInMinutes-Dr9gRqtu.js +0 -27
  183. package/format-CM5exOsN.js +0 -1103
  184. package/isValid-B9oVW3lA.js +0 -36
  185. package/journey-summary.component-Cq_4kaOp.js +0 -264
  186. package/pearl-chain-time.component-DGDW5S1c.js +0 -239
  187. package/pearl-chain-vertical-item.component-G22bWhLU.js +0 -108
  188. package/pearl-chain-vertical.component-CXIDT5RD.js +0 -21
  189. package/pearl-chain.component-DmjkVIva.js +0 -194
  190. package/seat-reservation-area.component-n-9rGn_y.js +0 -75
  191. package/seat-reservation-graphic.component-YTXRmKt0.js +0 -102
  192. package/seat-reservation-navigation-coach.component-YJ0vaYmO.js +0 -333
  193. package/seat-reservation-navigation-services.component-C3xnLJg2.js +0 -127
  194. package/seat-reservation-place-control.component-DmBAfM6K.js +0 -322
  195. package/seat-reservation-scoped.component-DPkz6u17.js +0 -17
  196. package/seat-reservation.component-C_anMkgw.js +0 -364
  197. package/svgs-D9arBcqr.js +0 -26
  198. package/timetable-duration.component-DCu8Phts.js +0 -65
  199. package/timetable-row.component-BVRCB3xK.js +0 -559
  200. package/toDate-p-Tpkb7t.js +0 -16
@@ -1,415 +0,0 @@
1
- import { t as format } from "./format-Bbrn2bgo.js";
2
- import { __esDecorate, __runInitializers } from "tslib";
3
- import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
4
- import { SbbLanguageController } from "@sbb-esta/lyne-elements/core/controllers.js";
5
- import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
6
- import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
7
- import { css, html, nothing } from "lit";
8
- import { defaultDateAdapter } from "@sbb-esta/lyne-elements/core/datetime.js";
9
- import { i18nArrival, i18nDeparture, i18nTransferProcedures } from "@sbb-esta/lyne-elements/core/i18n.js";
10
- import { property } from "lit/decorators.js";
11
- import { removeTimezoneFromISOTimeString } from "./core/datetime.js";
12
- import { getDepartureArrivalTimeAttribute, isRideLeg } from "./core/timetable.js";
13
- import "./pearl-chain.js";
14
- //#region src/elements-experimental/pearl-chain-time/pearl-chain-time.scss?lit&inline
15
- var pearl_chain_time_default = css`:host {
16
- display: block;
17
- --sbb-pearl-chain-time-height: auto;
18
- }
19
- @media (min-width: calc(37.5rem)) {
20
- :host {
21
- --sbb-pearl-chain-time-height: 1.5625rem;
22
- }
23
- }
24
- @media (min-width: calc(64rem)) {
25
- :host {
26
- --sbb-pearl-chain-time-height: 1.75rem;
27
- }
28
- }
29
-
30
- .sbb-pearl-chain__time {
31
- display: flex;
32
- flex-wrap: wrap;
33
- justify-content: space-between;
34
- align-items: center;
35
- height: var(--sbb-pearl-chain-time-height);
36
- }
37
-
38
- .sbb-pearl-chain__time-walktime,
39
- .sbb-pearl-chain__time-transfer {
40
- --sbb-text-font-size: var(--sbb-text-font-size-xxs);
41
- font-family: var(--sbb-typo-font-family);
42
- font-weight: normal;
43
- line-height: var(--sbb-typo-line-height-text);
44
- letter-spacing: var(--sbb-typo-letter-spacing-text);
45
- font-size: var(--sbb-text-font-size);
46
- display: inline-flex;
47
- align-items: center;
48
- }
49
-
50
- .sbb-pearl-chain__time-walktime--walk-small-left {
51
- transform: translateX(-0.4375rem);
52
- margin-inline-end: calc(var(--sbb-spacing-fixed-2x) - 0.4375rem);
53
- }
54
-
55
- .sbb-pearl-chain__time-walktime--walk-small-right {
56
- margin-inline-start: calc(var(--sbb-spacing-fixed-2x) - 0.25rem);
57
- }
58
-
59
- .sbb-pearl-chain__time-walktime--wheelchair-small-left {
60
- transform: translateX(-0.375rem);
61
- margin-inline-end: calc(var(--sbb-spacing-fixed-2x) - 0.4375rem);
62
- }
63
-
64
- .sbb-pearl-chain__time-walktime--wheelchair-small-right {
65
- margin-inline-start: calc(var(--sbb-spacing-fixed-2x) - 0.25rem);
66
- }
67
-
68
- .sbb-pearl-chain__time-walktime-prime-symbol {
69
- float: right;
70
- }
71
-
72
- .sbb-pearl-chain__time-transfer {
73
- gap: var(--sbb-spacing-fixed-1x);
74
- }
75
-
76
- .sbb-pearl-chain__time-transfer--sa-ci-departure {
77
- margin-inline-end: var(--sbb-spacing-fixed-2x);
78
- }
79
-
80
- .sbb-pearl-chain__time-transfer--sa-ci-arrival {
81
- margin-inline-start: calc(var(--sbb-spacing-fixed-2x) - 0.25rem);
82
- }
83
-
84
- .sbb-pearl-chain__time-chain {
85
- flex: 1 1 auto;
86
- align-self: center;
87
- margin-inline: var(--sbb-spacing-fixed-3x);
88
- }
89
-
90
- .sbb-pearl-chain__time-time {
91
- --sbb-text-font-size: var(--sbb-text-font-size-s);
92
- font-family: var(--sbb-typo-font-family);
93
- font-weight: normal;
94
- line-height: var(--sbb-typo-line-height-text);
95
- letter-spacing: var(--sbb-typo-letter-spacing-text);
96
- font-size: var(--sbb-text-font-size);
97
- font-weight: bold;
98
- color: var(--sbb-color-2);
99
- }
100
-
101
- .sbb-screen-reader-only {
102
- border: 0;
103
- clip-path: rect(0 0 0 0);
104
- height: 1px;
105
- margin: -1px;
106
- overflow: hidden;
107
- padding: 0;
108
- position: absolute;
109
- white-space: nowrap;
110
- width: 1px;
111
- }`;
112
- //#endregion
113
- //#region src/elements-experimental/pearl-chain-time/pearl-chain-time.component.ts
114
- /**
115
- * Combined with `sbb-pearl-chain`, it displays walk time information.
116
- */
117
- var SbbPearlChainTimeElement = (() => {
118
- let _classSuper = SbbElement;
119
- let _instanceExtraInitializers = [];
120
- let _legs_decorators;
121
- let _legs_initializers = [];
122
- let _legs_extraInitializers = [];
123
- let _departureTime_decorators;
124
- let _departureTime_initializers = [];
125
- let _departureTime_extraInitializers = [];
126
- let _arrivalTime_decorators;
127
- let _arrivalTime_initializers = [];
128
- let _arrivalTime_extraInitializers = [];
129
- let _departureWalk_decorators;
130
- let _departureWalk_initializers = [];
131
- let _departureWalk_extraInitializers = [];
132
- let _arrivalWalk_decorators;
133
- let _arrivalWalk_initializers = [];
134
- let _arrivalWalk_extraInitializers = [];
135
- let _disableAnimation_decorators;
136
- let _disableAnimation_initializers = [];
137
- let _disableAnimation_extraInitializers = [];
138
- let _a11yFootpath_decorators;
139
- let _a11yFootpath_initializers = [];
140
- let _a11yFootpath_extraInitializers = [];
141
- let _set_now_decorators;
142
- return class SbbPearlChainTimeElement extends _classSuper {
143
- constructor() {
144
- super(...arguments);
145
- this.#legs_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _legs_initializers, []));
146
- this.#departureTime_accessor_storage = (__runInitializers(this, _legs_extraInitializers), __runInitializers(this, _departureTime_initializers, ""));
147
- this.#arrivalTime_accessor_storage = (__runInitializers(this, _departureTime_extraInitializers), __runInitializers(this, _arrivalTime_initializers, ""));
148
- this.#departureWalk_accessor_storage = (__runInitializers(this, _arrivalTime_extraInitializers), __runInitializers(this, _departureWalk_initializers, NaN));
149
- this.#arrivalWalk_accessor_storage = (__runInitializers(this, _departureWalk_extraInitializers), __runInitializers(this, _arrivalWalk_initializers, NaN));
150
- this.#disableAnimation_accessor_storage = (__runInitializers(this, _arrivalWalk_extraInitializers), __runInitializers(this, _disableAnimation_initializers, false));
151
- this.#a11yFootpath_accessor_storage = (__runInitializers(this, _disableAnimation_extraInitializers), __runInitializers(this, _a11yFootpath_initializers, false));
152
- this._now = (__runInitializers(this, _a11yFootpath_extraInitializers), null);
153
- this._language = new SbbLanguageController(this);
154
- }
155
- static {
156
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
157
- _legs_decorators = [property({ type: Array })];
158
- _departureTime_decorators = [forceType(), property({ attribute: "departure-time" })];
159
- _arrivalTime_decorators = [forceType(), property({ attribute: "arrival-time" })];
160
- _departureWalk_decorators = [forceType(), property({
161
- attribute: "departure-walk",
162
- type: Number
163
- })];
164
- _arrivalWalk_decorators = [forceType(), property({
165
- attribute: "arrival-walk",
166
- type: Number
167
- })];
168
- _disableAnimation_decorators = [forceType(), property({
169
- attribute: "disable-animation",
170
- type: Boolean
171
- })];
172
- _a11yFootpath_decorators = [forceType(), property({
173
- attribute: "a11y-footpath",
174
- type: Boolean
175
- })];
176
- _set_now_decorators = [property()];
177
- __esDecorate(this, null, _legs_decorators, {
178
- kind: "accessor",
179
- name: "legs",
180
- static: false,
181
- private: false,
182
- access: {
183
- has: (obj) => "legs" in obj,
184
- get: (obj) => obj.legs,
185
- set: (obj, value) => {
186
- obj.legs = value;
187
- }
188
- },
189
- metadata: _metadata
190
- }, _legs_initializers, _legs_extraInitializers);
191
- __esDecorate(this, null, _departureTime_decorators, {
192
- kind: "accessor",
193
- name: "departureTime",
194
- static: false,
195
- private: false,
196
- access: {
197
- has: (obj) => "departureTime" in obj,
198
- get: (obj) => obj.departureTime,
199
- set: (obj, value) => {
200
- obj.departureTime = value;
201
- }
202
- },
203
- metadata: _metadata
204
- }, _departureTime_initializers, _departureTime_extraInitializers);
205
- __esDecorate(this, null, _arrivalTime_decorators, {
206
- kind: "accessor",
207
- name: "arrivalTime",
208
- static: false,
209
- private: false,
210
- access: {
211
- has: (obj) => "arrivalTime" in obj,
212
- get: (obj) => obj.arrivalTime,
213
- set: (obj, value) => {
214
- obj.arrivalTime = value;
215
- }
216
- },
217
- metadata: _metadata
218
- }, _arrivalTime_initializers, _arrivalTime_extraInitializers);
219
- __esDecorate(this, null, _departureWalk_decorators, {
220
- kind: "accessor",
221
- name: "departureWalk",
222
- static: false,
223
- private: false,
224
- access: {
225
- has: (obj) => "departureWalk" in obj,
226
- get: (obj) => obj.departureWalk,
227
- set: (obj, value) => {
228
- obj.departureWalk = value;
229
- }
230
- },
231
- metadata: _metadata
232
- }, _departureWalk_initializers, _departureWalk_extraInitializers);
233
- __esDecorate(this, null, _arrivalWalk_decorators, {
234
- kind: "accessor",
235
- name: "arrivalWalk",
236
- static: false,
237
- private: false,
238
- access: {
239
- has: (obj) => "arrivalWalk" in obj,
240
- get: (obj) => obj.arrivalWalk,
241
- set: (obj, value) => {
242
- obj.arrivalWalk = value;
243
- }
244
- },
245
- metadata: _metadata
246
- }, _arrivalWalk_initializers, _arrivalWalk_extraInitializers);
247
- __esDecorate(this, null, _disableAnimation_decorators, {
248
- kind: "accessor",
249
- name: "disableAnimation",
250
- static: false,
251
- private: false,
252
- access: {
253
- has: (obj) => "disableAnimation" in obj,
254
- get: (obj) => obj.disableAnimation,
255
- set: (obj, value) => {
256
- obj.disableAnimation = value;
257
- }
258
- },
259
- metadata: _metadata
260
- }, _disableAnimation_initializers, _disableAnimation_extraInitializers);
261
- __esDecorate(this, null, _a11yFootpath_decorators, {
262
- kind: "accessor",
263
- name: "a11yFootpath",
264
- static: false,
265
- private: false,
266
- access: {
267
- has: (obj) => "a11yFootpath" in obj,
268
- get: (obj) => obj.a11yFootpath,
269
- set: (obj, value) => {
270
- obj.a11yFootpath = value;
271
- }
272
- },
273
- metadata: _metadata
274
- }, _a11yFootpath_initializers, _a11yFootpath_extraInitializers);
275
- __esDecorate(this, null, _set_now_decorators, {
276
- kind: "setter",
277
- name: "now",
278
- static: false,
279
- private: false,
280
- access: {
281
- has: (obj) => "now" in obj,
282
- set: (obj, value) => {
283
- obj.now = value;
284
- }
285
- },
286
- metadata: _metadata
287
- }, null, _instanceExtraInitializers);
288
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
289
- enumerable: true,
290
- configurable: true,
291
- writable: true,
292
- value: _metadata
293
- });
294
- }
295
- static {
296
- this.elementName = "sbb-pearl-chain-time";
297
- }
298
- static {
299
- this.styles = [boxSizingStyles, pearl_chain_time_default];
300
- }
301
- #legs_accessor_storage;
302
- /**
303
- * define the legs of the pearl-chain.
304
- * Format:
305
- * `{"legs": [{"duration": 25}, ...]}`
306
- * `duration` in minutes. Duration of the leg is relative
307
- * to the total travel time. Example: departure 16:30, change at 16:40,
308
- * arrival at 17:00. So the change should have a duration of 33.33%.
309
- */
310
- get legs() {
311
- return this.#legs_accessor_storage;
312
- }
313
- set legs(value) {
314
- this.#legs_accessor_storage = value;
315
- }
316
- #departureTime_accessor_storage;
317
- /** Prop to render the departure time - will be formatted as "H:mm" */
318
- get departureTime() {
319
- return this.#departureTime_accessor_storage;
320
- }
321
- set departureTime(value) {
322
- this.#departureTime_accessor_storage = value;
323
- }
324
- #arrivalTime_accessor_storage;
325
- /** Prop to render the arrival time - will be formatted as "H:mm" */
326
- get arrivalTime() {
327
- return this.#arrivalTime_accessor_storage;
328
- }
329
- set arrivalTime(value) {
330
- this.#arrivalTime_accessor_storage = value;
331
- }
332
- #departureWalk_accessor_storage;
333
- /** Optional prop to render the walk time (in minutes) before departure */
334
- get departureWalk() {
335
- return this.#departureWalk_accessor_storage;
336
- }
337
- set departureWalk(value) {
338
- this.#departureWalk_accessor_storage = value;
339
- }
340
- #arrivalWalk_accessor_storage;
341
- /** Optional prop to render the walk time (in minutes) after arrival */
342
- get arrivalWalk() {
343
- return this.#arrivalWalk_accessor_storage;
344
- }
345
- set arrivalWalk(value) {
346
- this.#arrivalWalk_accessor_storage = value;
347
- }
348
- #disableAnimation_accessor_storage;
349
- /**
350
- * Per default, the current location has a pulsating animation. You can
351
- * disable the animation with this property.
352
- */
353
- get disableAnimation() {
354
- return this.#disableAnimation_accessor_storage;
355
- }
356
- set disableAnimation(value) {
357
- this.#disableAnimation_accessor_storage = value;
358
- }
359
- #a11yFootpath_accessor_storage;
360
- /** Optional prop to render wheelchair-small instead of walk-small */
361
- get a11yFootpath() {
362
- return this.#a11yFootpath_accessor_storage;
363
- }
364
- set a11yFootpath(value) {
365
- this.#a11yFootpath_accessor_storage = value;
366
- }
367
- /**
368
- * A configured date which acts as the current date instead of the real current date.
369
- * Only recommended for testing purposes.
370
- */
371
- set now(value) {
372
- this._now = defaultDateAdapter.getValidDateOrNull(defaultDateAdapter.deserialize(value));
373
- }
374
- get now() {
375
- return this._now ?? /* @__PURE__ */ new Date();
376
- }
377
- render() {
378
- const departure = this.departureTime ? removeTimezoneFromISOTimeString(this.departureTime) : void 0;
379
- const arrival = this.arrivalTime ? removeTimezoneFromISOTimeString(this.arrivalTime) : void 0;
380
- const { renderDepartureTimeAttribute, renderArrivalTimeAttribute } = getDepartureArrivalTimeAttribute(this.legs, this.departureWalk || 0, this.arrivalWalk || 0, this._language.current, this.a11yFootpath);
381
- const rideLegs = this.legs?.filter((leg) => isRideLeg(leg));
382
- return html`
383
- <div class="sbb-pearl-chain__time">
384
- ${renderDepartureTimeAttribute()}
385
- ${departure ? html`<time class="sbb-pearl-chain__time-time" datetime=${this.departureTime}>
386
- <span class="sbb-screen-reader-only"
387
- >${i18nDeparture[this._language.current]}:&nbsp;</span
388
- >
389
- ${format(departure, "HH:mm")}
390
- </time>` : nothing}
391
- ${rideLegs?.length > 1 ? html`<span class="sbb-screen-reader-only" role="paragraph">
392
- ${rideLegs?.length - 1} ${i18nTransferProcedures[this._language.current]}
393
- </span>` : nothing}
394
- <sbb-pearl-chain
395
- class="sbb-pearl-chain__time-chain"
396
- .legs=${this.legs}
397
- .disableAnimation=${this.disableAnimation}
398
- .now=${this.now}
399
- ></sbb-pearl-chain>
400
- ${arrival ? html`<time class="sbb-pearl-chain__time-time" datetime=${this.arrivalTime}>
401
- <span class="sbb-screen-reader-only"
402
- >${i18nArrival[this._language.current]}:&nbsp;</span
403
- >
404
- ${format(arrival, "HH:mm")}
405
- </time>` : nothing}
406
- ${renderArrivalTimeAttribute()}
407
- </div>
408
- `;
409
- }
410
- };
411
- })();
412
- //#endregion
413
- export { SbbPearlChainTimeElement as t };
414
-
415
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVhcmwtY2hhaW4tdGltZS5jb21wb25lbnQtQjhtYXlUV0QuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9wZWFybC1jaGFpbi10aW1lL3BlYXJsLWNoYWluLXRpbWUuc2Nzcz9saXQmaW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9wZWFybC1jaGFpbi10aW1lL3BlYXJsLWNoYWluLXRpbWUuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLS1zYmItcGVhcmwtY2hhaW4tdGltZS1oZWlnaHQ6IGF1dG87XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIC0tc2JiLXBlYXJsLWNoYWluLXRpbWUtaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMjUpfTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1wZWFybC1jaGFpbi10aW1lLWhlaWdodDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDI4KX07XG4gIH1cbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1wZWFybC1jaGFpbi10aW1lLWhlaWdodCk7XG59XG5cbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUsXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXRyYW5zZmVyIHtcbiAgQGluY2x1ZGUgc2JiLnRleHQteHhzLS1yZWd1bGFyO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXdhbGt0aW1lLS13YWxrLXNtYWxsLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoc2JiLnB4LXRvLXJlbS1idWlsZCgtNykpO1xuICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyh2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCkgLSAje3NiYi5weC10by1yZW0tYnVpbGQoNyl9KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZS0td2Fsay1zbWFsbC1yaWdodCB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpIC0gI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDQpfSk7XG59XG5cbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtLXdoZWVsY2hhaXItc21hbGwtbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChzYmIucHgtdG8tcmVtLWJ1aWxkKC02KSk7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSAtICN7c2JiLnB4LXRvLXJlbS1idWlsZCg3KX0pO1xufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXdhbGt0aW1lLS13aGVlbGNoYWlyLXNtYWxsLXJpZ2h0IHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCkgLSAje3NiYi5weC10by1yZW0tYnVpbGQoNCl9KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZS1wcmltZS1zeW1ib2wge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtdHJhbnNmZXIge1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS10cmFuc2Zlci0tc2EtY2ktZGVwYXJ0dXJlIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS10cmFuc2Zlci0tc2EtY2ktYXJyaXZhbCB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpIC0gI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDQpfSk7XG59XG5cbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtY2hhaW4ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXJnaW4taW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG59XG5cbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtdGltZSB7XG4gIEBpbmNsdWRlIHNiYi50ZXh0LXMtLWJvbGQ7XG5cbiAgY29sb3I6IHZhcigtLXNiYi1jb2xvci0yKTtcbn1cblxuLnNiYi1zY3JlZW4tcmVhZGVyLW9ubHkge1xuICBAaW5jbHVkZSBzYmIuc2NyZWVuLXJlYWRlci1vbmx5O1xufVxuIiwiaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGRlZmF1bHREYXRlQWRhcHRlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvZGF0ZXRpbWUuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7XG4gIGkxOG5BcnJpdmFsLFxuICBpMThuRGVwYXJ0dXJlLFxuICBpMThuVHJhbnNmZXJQcm9jZWR1cmVzLFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMuanMnO1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyB9IGZyb20gJy4uL2NvcmUvZGF0ZXRpbWUudHMnO1xuaW1wb3J0IHR5cGUgeyBMZWcsIFB0UmlkZUxlZyB9IGZyb20gJy4uL2NvcmUvdGltZXRhYmxlLnRzJztcbmltcG9ydCB7IGdldERlcGFydHVyZUFycml2YWxUaW1lQXR0cmlidXRlLCBpc1JpZGVMZWcgfSBmcm9tICcuLi9jb3JlL3RpbWV0YWJsZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3BlYXJsLWNoYWluLXRpbWUuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi9wZWFybC1jaGFpbi50cyc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBgc2JiLXBlYXJsLWNoYWluYCwgaXQgZGlzcGxheXMgd2FsayB0aW1lIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiUGVhcmxDaGFpblRpbWVFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItcGVhcmwtY2hhaW4tdGltZSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHN0eWxlXTtcblxuICAvKipcbiAgICogZGVmaW5lIHRoZSBsZWdzIG9mIHRoZSBwZWFybC1jaGFpbi5cbiAgICogRm9ybWF0OlxuICAgKiBge1wibGVnc1wiOiBbe1wiZHVyYXRpb25cIjogMjV9LCAuLi5dfWBcbiAgICogYGR1cmF0aW9uYCBpbiBtaW51dGVzLiBEdXJhdGlvbiBvZiB0aGUgbGVnIGlzIHJlbGF0aXZlXG4gICAqIHRvIHRoZSB0b3RhbCB0cmF2ZWwgdGltZS4gRXhhbXBsZTogZGVwYXJ0dXJlIDE2OjMwLCBjaGFuZ2UgYXQgMTY6NDAsXG4gICAqIGFycml2YWwgYXQgMTc6MDAuIFNvIHRoZSBjaGFuZ2Ugc2hvdWxkIGhhdmUgYSBkdXJhdGlvbiBvZiAzMy4zMyUuXG4gICAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBBcnJheSB9KSBwdWJsaWMgYWNjZXNzb3IgbGVnczogKExlZyB8IFB0UmlkZUxlZylbXSA9IFtdO1xuXG4gIC8qKiBQcm9wIHRvIHJlbmRlciB0aGUgZGVwYXJ0dXJlIHRpbWUgLSB3aWxsIGJlIGZvcm1hdHRlZCBhcyBcIkg6bW1cIiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGVwYXJ0dXJlLXRpbWUnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkZXBhcnR1cmVUaW1lOiBzdHJpbmcgPSAnJztcblxuICAvKiogUHJvcCB0byByZW5kZXIgdGhlIGFycml2YWwgdGltZSAtIHdpbGwgYmUgZm9ybWF0dGVkIGFzIFwiSDptbVwiICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhcnJpdmFsLXRpbWUnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhcnJpdmFsVGltZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqIE9wdGlvbmFsIHByb3AgdG8gcmVuZGVyIHRoZSB3YWxrIHRpbWUgKGluIG1pbnV0ZXMpIGJlZm9yZSBkZXBhcnR1cmUgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2RlcGFydHVyZS13YWxrJywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkZXBhcnR1cmVXYWxrOiBudW1iZXIgPSBOYU47XG5cbiAgLyoqIE9wdGlvbmFsIHByb3AgdG8gcmVuZGVyIHRoZSB3YWxrIHRpbWUgKGluIG1pbnV0ZXMpIGFmdGVyIGFycml2YWwgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Fycml2YWwtd2FsaycsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYXJyaXZhbFdhbGs6IG51bWJlciA9IE5hTjtcblxuICAvKipcbiAgICogUGVyIGRlZmF1bHQsIHRoZSBjdXJyZW50IGxvY2F0aW9uIGhhcyBhIHB1bHNhdGluZyBhbmltYXRpb24uIFlvdSBjYW5cbiAgICogZGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdpdGggdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkaXNhYmxlLWFuaW1hdGlvbicsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVBbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogT3B0aW9uYWwgcHJvcCB0byByZW5kZXIgd2hlZWxjaGFpci1zbWFsbCBpbnN0ZWFkIG9mIHdhbGstc21hbGwgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ExMXktZm9vdHBhdGgnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhMTF5Rm9vdHBhdGg6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBjb25maWd1cmVkIGRhdGUgd2hpY2ggYWN0cyBhcyB0aGUgY3VycmVudCBkYXRlIGluc3RlYWQgb2YgdGhlIHJlYWwgY3VycmVudCBkYXRlLlxuICAgKiBPbmx5IHJlY29tbWVuZGVkIGZvciB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBub3codmFsdWU6IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9ub3cgPSBkZWZhdWx0RGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKGRlZmF1bHREYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgbm93KCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9ub3cgPz8gbmV3IERhdGUoKTtcbiAgfVxuICBwcml2YXRlIF9ub3c6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgZGVwYXJ0dXJlOiBEYXRlIHwgdW5kZWZpbmVkID0gdGhpcy5kZXBhcnR1cmVUaW1lXG4gICAgICA/IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcodGhpcy5kZXBhcnR1cmVUaW1lKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgYXJyaXZhbDogRGF0ZSB8IHVuZGVmaW5lZCA9IHRoaXMuYXJyaXZhbFRpbWVcbiAgICAgID8gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyh0aGlzLmFycml2YWxUaW1lKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCB7IHJlbmRlckRlcGFydHVyZVRpbWVBdHRyaWJ1dGUsIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlIH0gPVxuICAgICAgZ2V0RGVwYXJ0dXJlQXJyaXZhbFRpbWVBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMubGVncyxcbiAgICAgICAgdGhpcy5kZXBhcnR1cmVXYWxrIHx8IDAsXG4gICAgICAgIHRoaXMuYXJyaXZhbFdhbGsgfHwgMCxcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCxcbiAgICAgICAgdGhpcy5hMTF5Rm9vdHBhdGgsXG4gICAgICApO1xuXG4gICAgY29uc3QgcmlkZUxlZ3MgPSB0aGlzLmxlZ3M/LmZpbHRlcigobGVnKSA9PiBpc1JpZGVMZWcobGVnKSk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lXCI+XG4gICAgICAgICR7cmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZSgpfVxuICAgICAgICAke2RlcGFydHVyZVxuICAgICAgICAgID8gaHRtbGA8dGltZSBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS10aW1lXCIgZGF0ZXRpbWU9JHt0aGlzLmRlcGFydHVyZVRpbWUhfT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCJcbiAgICAgICAgICAgICAgICA+JHtpMThuRGVwYXJ0dXJlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfTombmJzcDs8L3NwYW5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAke2Zvcm1hdChkZXBhcnR1cmUsICdISDptbScpfVxuICAgICAgICAgICAgPC90aW1lPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICR7cmlkZUxlZ3M/Lmxlbmd0aCA+IDFcbiAgICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCIgcm9sZT1cInBhcmFncmFwaFwiPlxuICAgICAgICAgICAgICAke3JpZGVMZWdzPy5sZW5ndGggLSAxfSAke2kxOG5UcmFuc2ZlclByb2NlZHVyZXNbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgICA8L3NwYW4+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPHNiYi1wZWFybC1jaGFpblxuICAgICAgICAgIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lLWNoYWluXCJcbiAgICAgICAgICAubGVncz0ke3RoaXMubGVnc31cbiAgICAgICAgICAuZGlzYWJsZUFuaW1hdGlvbj0ke3RoaXMuZGlzYWJsZUFuaW1hdGlvbn1cbiAgICAgICAgICAubm93PSR7dGhpcy5ub3d9XG4gICAgICAgID48L3NiYi1wZWFybC1jaGFpbj5cbiAgICAgICAgJHthcnJpdmFsXG4gICAgICAgICAgPyBodG1sYDx0aW1lIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lLXRpbWVcIiBkYXRldGltZT0ke3RoaXMuYXJyaXZhbFRpbWUhfT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCJcbiAgICAgICAgICAgICAgICA+JHtpMThuQXJyaXZhbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX06Jm5ic3A7PC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgJHtmb3JtYXQoYXJyaXZhbCwgJ0hIOm1tJyl9XG4gICAgICAgICAgICA8L3RpbWU+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgJHtyZW5kZXJBcnJpdmFsVGltZUF0dHJpYnV0ZSgpfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXBlYXJsLWNoYWluLXRpbWUnOiBTYmJQZWFybENoYWluVGltZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUMwQmEsa0NBQXdCO21CQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7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