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

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 (199) 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/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +122 -114
  22. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +70 -92
  23. package/development/autocomplete-grid/autocomplete-grid-button.js +4 -6
  24. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +29 -2
  25. package/development/autocomplete-grid/autocomplete-grid-cell.js +5 -7
  26. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +22 -27
  27. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +4 -6
  28. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +109 -2
  29. package/development/autocomplete-grid/autocomplete-grid-option.js +7 -7
  30. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +91 -2
  31. package/development/autocomplete-grid/autocomplete-grid-row.js +5 -7
  32. package/development/autocomplete-grid/autocomplete-grid.js +4 -6
  33. package/development/autocomplete-grid.js +14 -10
  34. package/development/autocomplete-grid.pure.js +13 -4
  35. package/development/core/datetime/date-helper.js +285 -2
  36. package/development/core/datetime.js +6 -2
  37. package/development/core/timetable/access-leg-helper.js +82 -104
  38. package/development/core/timetable/timetable-helper.js +17 -16
  39. package/development/core/timetable/timetable-properties.js +2 -0
  40. package/development/core/timetable.js +8 -3
  41. package/development/differenceInMinutes-B0dawX-5.js +26 -0
  42. package/development/format-BMkeaqaF.js +1433 -0
  43. package/development/isValid-BYRch7pV.js +53 -0
  44. package/development/journey-summary/journey-summary.component.js +288 -2
  45. package/development/journey-summary.js +5 -8
  46. package/development/journey-summary.pure.js +5 -2
  47. package/development/pearl-chain/pearl-chain.component.js +634 -2
  48. package/development/pearl-chain-time/pearl-chain-time.component.js +306 -2
  49. package/development/pearl-chain-time.js +5 -8
  50. package/development/pearl-chain-time.pure.js +5 -2
  51. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +28 -2
  52. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +393 -2
  53. package/development/pearl-chain-vertical-item.js +5 -8
  54. package/development/pearl-chain-vertical-item.pure.js +5 -2
  55. package/development/pearl-chain-vertical.js +5 -8
  56. package/development/pearl-chain-vertical.pure.js +5 -2
  57. package/development/pearl-chain.js +5 -8
  58. package/development/pearl-chain.pure.js +5 -2
  59. package/development/seat-reservation/common/mapper/icon-mapper.js +71 -168
  60. package/development/seat-reservation/common/mapper/mapper.js +122 -153
  61. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +559 -570
  62. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +972 -992
  63. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20367 -20334
  64. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1738 -1731
  65. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9782 -9741
  66. package/development/seat-reservation/common/mapper.js +8 -1
  67. package/development/seat-reservation/common/svgs.js +46 -2
  68. package/development/seat-reservation/common/translations/i18n.js +900 -1118
  69. package/development/seat-reservation/common/translations.js +4 -1
  70. package/development/seat-reservation/common/types.js +2 -0
  71. package/development/seat-reservation/common.js +11 -7
  72. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1230 -1305
  73. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +859 -2
  74. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +106 -2
  75. package/development/seat-reservation/seat-reservation-area.js +5 -7
  76. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +34 -35
  77. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +162 -2
  78. package/development/seat-reservation/seat-reservation-graphic.js +5 -7
  79. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +713 -2
  80. package/development/seat-reservation/seat-reservation-navigation-coach.js +5 -7
  81. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +131 -2
  82. package/development/seat-reservation/seat-reservation-navigation-services.js +5 -7
  83. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +601 -2
  84. package/development/seat-reservation/seat-reservation-place-control.js +5 -7
  85. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +22 -2
  86. package/development/seat-reservation/seat-reservation-scoped.js +5 -7
  87. package/development/seat-reservation/seat-reservation.js +6 -7
  88. package/development/seat-reservation.js +28 -15
  89. package/development/seat-reservation.pure.js +28 -10
  90. package/development/timetable-duration/timetable-duration.component.js +108 -2
  91. package/development/timetable-duration.js +5 -8
  92. package/development/timetable-duration.pure.js +5 -2
  93. package/development/timetable-row/timetable-row.component.js +781 -2
  94. package/development/timetable-row.js +13 -8
  95. package/development/timetable-row.pure.js +12 -2
  96. package/development/toDate-BWb6Z1JD.js +24 -0
  97. package/differenceInMinutes-COvvdYsJ.js +23 -0
  98. package/format-CmKROkbc.js +1186 -0
  99. package/isValid-m3_OsPaB.js +45 -0
  100. package/journey-summary/journey-summary.component.js +194 -2
  101. package/journey-summary.js +4 -5
  102. package/journey-summary.pure.js +4 -2
  103. package/package.json +2 -2
  104. package/pearl-chain/pearl-chain.component.js +165 -2
  105. package/pearl-chain-time/pearl-chain-time.component.js +157 -2
  106. package/pearl-chain-time.js +4 -5
  107. package/pearl-chain-time.pure.js +4 -2
  108. package/pearl-chain-vertical/pearl-chain-vertical.component.js +17 -2
  109. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +77 -2
  110. package/pearl-chain-vertical-item.js +4 -5
  111. package/pearl-chain-vertical-item.pure.js +4 -2
  112. package/pearl-chain-vertical.js +4 -5
  113. package/pearl-chain-vertical.pure.js +4 -2
  114. package/pearl-chain.js +4 -5
  115. package/pearl-chain.pure.js +4 -2
  116. package/seat-reservation/common/mapper/icon-mapper.js +71 -71
  117. package/seat-reservation/common/mapper/mapper.js +89 -95
  118. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +558 -568
  119. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +970 -989
  120. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20366 -20332
  121. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1737 -1729
  122. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9781 -9739
  123. package/seat-reservation/common/mapper.js +9 -3
  124. package/seat-reservation/common/svgs.js +243 -2
  125. package/seat-reservation/common/translations/i18n.js +891 -1084
  126. package/seat-reservation/common/translations.js +4 -2
  127. package/seat-reservation/common/types.js +1 -0
  128. package/seat-reservation/common.js +15 -9
  129. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +810 -832
  130. package/seat-reservation/seat-reservation/seat-reservation.component.js +420 -2
  131. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +51 -2
  132. package/seat-reservation/seat-reservation-area.js +7 -4
  133. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +71 -68
  134. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +75 -2
  135. package/seat-reservation/seat-reservation-graphic.js +7 -4
  136. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +234 -2
  137. package/seat-reservation/seat-reservation-navigation-coach.js +7 -4
  138. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +85 -2
  139. package/seat-reservation/seat-reservation-navigation-services.js +7 -4
  140. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +203 -2
  141. package/seat-reservation/seat-reservation-place-control.js +7 -4
  142. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +13 -2
  143. package/seat-reservation/seat-reservation-scoped.js +7 -4
  144. package/seat-reservation/seat-reservation.js +9 -5
  145. package/seat-reservation.js +39 -17
  146. package/seat-reservation.pure.js +32 -15
  147. package/timetable-duration/timetable-duration.component.js +57 -2
  148. package/timetable-duration.js +4 -5
  149. package/timetable-duration.pure.js +4 -2
  150. package/timetable-row/timetable-row.component.js +427 -2
  151. package/timetable-row.js +13 -6
  152. package/timetable-row.pure.js +11 -2
  153. package/toDate-Bw2KTWeq.js +15 -0
  154. package/autocomplete-grid-cell.component-Dak9wlBr.js +0 -24
  155. package/autocomplete-grid-option.component-DNRFHOwc.js +0 -37
  156. package/autocomplete-grid-row.component-DBHZQ0GQ.js +0 -27
  157. package/date-helper-CGproP5d.js +0 -185
  158. package/development/autocomplete-grid-cell.component-BBvM4o2H.js +0 -42
  159. package/development/autocomplete-grid-option.component-QzfM5eIE.js +0 -123
  160. package/development/autocomplete-grid-row.component-H8sCTCkT.js +0 -104
  161. package/development/date-helper-8_Y-PuHh.js +0 -520
  162. package/development/differenceInMinutes-DN_1Rk3O.js +0 -110
  163. package/development/format-Bbrn2bgo.js +0 -1848
  164. package/development/isValid-C-HzKv4v.js +0 -178
  165. package/development/journey-summary.component-uGhZvA4p.js +0 -385
  166. package/development/pearl-chain-time.component-B8mayTWD.js +0 -415
  167. package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +0 -435
  168. package/development/pearl-chain-vertical.component-CswE7b3M.js +0 -39
  169. package/development/pearl-chain.component-wpsTvoSe.js +0 -704
  170. package/development/seat-reservation-area.component-BK92ZtFo.js +0 -138
  171. package/development/seat-reservation-graphic.component-cUnsHh5x.js +0 -193
  172. package/development/seat-reservation-navigation-coach.component-D6Bglus8.js +0 -828
  173. package/development/seat-reservation-navigation-services.component-DYJ6Ddkg.js +0 -179
  174. package/development/seat-reservation-place-control.component-Bg9evKBW.js +0 -726
  175. package/development/seat-reservation-scoped.component-DRQ_I702.js +0 -31
  176. package/development/seat-reservation.component-Cq_aJKR0.js +0 -818
  177. package/development/svgs-C3JMWR26.js +0 -28
  178. package/development/timetable-duration.component-DI0lET17.js +0 -125
  179. package/development/timetable-row.component-CAED6Zwc.js +0 -932
  180. package/development/toDate-Biiv3kyf.js +0 -150
  181. package/differenceInMinutes-Dr9gRqtu.js +0 -27
  182. package/format-CM5exOsN.js +0 -1103
  183. package/isValid-B9oVW3lA.js +0 -36
  184. package/journey-summary.component-Cq_4kaOp.js +0 -264
  185. package/pearl-chain-time.component-DGDW5S1c.js +0 -239
  186. package/pearl-chain-vertical-item.component-G22bWhLU.js +0 -108
  187. package/pearl-chain-vertical.component-CXIDT5RD.js +0 -21
  188. package/pearl-chain.component-DmjkVIva.js +0 -194
  189. package/seat-reservation-area.component-n-9rGn_y.js +0 -75
  190. package/seat-reservation-graphic.component-YTXRmKt0.js +0 -102
  191. package/seat-reservation-navigation-coach.component-YJ0vaYmO.js +0 -333
  192. package/seat-reservation-navigation-services.component-C3xnLJg2.js +0 -127
  193. package/seat-reservation-place-control.component-DmBAfM6K.js +0 -322
  194. package/seat-reservation-scoped.component-DPkz6u17.js +0 -17
  195. package/seat-reservation.component-C_anMkgw.js +0 -364
  196. package/svgs-D9arBcqr.js +0 -26
  197. package/timetable-duration.component-DCu8Phts.js +0 -65
  198. package/timetable-row.component-BVRCB3xK.js +0 -559
  199. package/toDate-p-Tpkb7t.js +0 -16
@@ -1,178 +0,0 @@
1
- import { n as constructFrom, r as millisecondsInDay, t as toDate } from "./toDate-Biiv3kyf.js";
2
- //#region node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
3
- /**
4
- * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
5
- * They usually appear for dates that denote time before the timezones were introduced
6
- * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
7
- * and GMT+01:00:00 after that date)
8
- *
9
- * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
10
- * which would lead to incorrect calculations.
11
- *
12
- * This function returns the timezone offset in milliseconds that takes seconds in account.
13
- */
14
- function getTimezoneOffsetInMilliseconds(date) {
15
- const _date = toDate(date);
16
- const utcDate = new Date(Date.UTC(_date.getFullYear(), _date.getMonth(), _date.getDate(), _date.getHours(), _date.getMinutes(), _date.getSeconds(), _date.getMilliseconds()));
17
- utcDate.setUTCFullYear(_date.getFullYear());
18
- return +date - +utcDate;
19
- }
20
- //#endregion
21
- //#region node_modules/date-fns/_lib/normalizeDates.js
22
- function normalizeDates(context, ...dates) {
23
- const normalize = constructFrom.bind(null, context || dates.find((date) => typeof date === "object"));
24
- return dates.map(normalize);
25
- }
26
- //#endregion
27
- //#region node_modules/date-fns/startOfDay.js
28
- /**
29
- * The {@link startOfDay} function options.
30
- */
31
- /**
32
- * @name startOfDay
33
- * @category Day Helpers
34
- * @summary Return the start of a day for the given date.
35
- *
36
- * @description
37
- * Return the start of a day for the given date.
38
- * The result will be in the local timezone.
39
- *
40
- * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
41
- * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.
42
- *
43
- * @param date - The original date
44
- * @param options - The options
45
- *
46
- * @returns The start of a day
47
- *
48
- * @example
49
- * // The start of a day for 2 September 2014 11:55:00:
50
- * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
51
- * //=> Tue Sep 02 2014 00:00:00
52
- */
53
- function startOfDay(date, options) {
54
- const _date = toDate(date, options?.in);
55
- _date.setHours(0, 0, 0, 0);
56
- return _date;
57
- }
58
- //#endregion
59
- //#region node_modules/date-fns/differenceInCalendarDays.js
60
- /**
61
- * The {@link differenceInCalendarDays} function options.
62
- */
63
- /**
64
- * @name differenceInCalendarDays
65
- * @category Day Helpers
66
- * @summary Get the number of calendar days between the given dates.
67
- *
68
- * @description
69
- * Get the number of calendar days between the given dates. This means that the times are removed
70
- * from the dates and then the difference in days is calculated.
71
- *
72
- * @param laterDate - The later date
73
- * @param earlierDate - The earlier date
74
- * @param options - The options object
75
- *
76
- * @returns The number of calendar days
77
- *
78
- * @example
79
- * // How many calendar days are between
80
- * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?
81
- * const result = differenceInCalendarDays(
82
- * new Date(2012, 6, 2, 0, 0),
83
- * new Date(2011, 6, 2, 23, 0)
84
- * )
85
- * //=> 366
86
- * // How many calendar days are between
87
- * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?
88
- * const result = differenceInCalendarDays(
89
- * new Date(2011, 6, 3, 0, 1),
90
- * new Date(2011, 6, 2, 23, 59)
91
- * )
92
- * //=> 1
93
- */
94
- function differenceInCalendarDays(laterDate, earlierDate, options) {
95
- const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);
96
- const laterStartOfDay = startOfDay(laterDate_);
97
- const earlierStartOfDay = startOfDay(earlierDate_);
98
- const laterTimestamp = +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);
99
- const earlierTimestamp = +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);
100
- return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);
101
- }
102
- //#endregion
103
- //#region node_modules/date-fns/isDate.js
104
- /**
105
- * @name isDate
106
- * @category Common Helpers
107
- * @summary Is the given value a date?
108
- *
109
- * @description
110
- * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
111
- *
112
- * @param value - The value to check
113
- *
114
- * @returns True if the given value is a date
115
- *
116
- * @example
117
- * // For a valid date:
118
- * const result = isDate(new Date())
119
- * //=> true
120
- *
121
- * @example
122
- * // For an invalid date:
123
- * const result = isDate(new Date(NaN))
124
- * //=> true
125
- *
126
- * @example
127
- * // For some value:
128
- * const result = isDate('2014-02-31')
129
- * //=> false
130
- *
131
- * @example
132
- * // For an object:
133
- * const result = isDate({})
134
- * //=> false
135
- */
136
- function isDate(value) {
137
- return value instanceof Date || typeof value === "object" && Object.prototype.toString.call(value) === "[object Date]";
138
- }
139
- //#endregion
140
- //#region node_modules/date-fns/isValid.js
141
- /**
142
- * @name isValid
143
- * @category Common Helpers
144
- * @summary Is the given date valid?
145
- *
146
- * @description
147
- * Returns false if argument is Invalid Date and true otherwise.
148
- * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)
149
- * Invalid Date is a Date, whose time value is NaN.
150
- *
151
- * Time value of Date: http://es5.github.io/#x15.9.1.1
152
- *
153
- * @param date - The date to check
154
- *
155
- * @returns The date is valid
156
- *
157
- * @example
158
- * // For the valid date:
159
- * const result = isValid(new Date(2014, 1, 31))
160
- * //=> true
161
- *
162
- * @example
163
- * // For the value, convertible into a date:
164
- * const result = isValid(1393804800000)
165
- * //=> true
166
- *
167
- * @example
168
- * // For the invalid date:
169
- * const result = isValid(new Date(''))
170
- * //=> false
171
- */
172
- function isValid(date) {
173
- return !(!isDate(date) && typeof date !== "number" || isNaN(+toDate(date)));
174
- }
175
- //#endregion
176
- export { differenceInCalendarDays as n, normalizeDates as r, isValid as t };
177
-
178
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNWYWxpZC1DLUh6S3Y0di5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvX2xpYi9nZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL19saWIvbm9ybWFsaXplRGF0ZXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvc3RhcnRPZkRheS5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9kaWZmZXJlbmNlSW5DYWxlbmRhckRheXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvaXNEYXRlLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2lzVmFsaWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4uL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIEdvb2dsZSBDaHJvbWUgYXMgb2YgNjcuMC4zMzk2Ljg3IGludHJvZHVjZWQgdGltZXpvbmVzIHdpdGggb2Zmc2V0IHRoYXQgaW5jbHVkZXMgc2Vjb25kcy5cbiAqIFRoZXkgdXN1YWxseSBhcHBlYXIgZm9yIGRhdGVzIHRoYXQgZGVub3RlIHRpbWUgYmVmb3JlIHRoZSB0aW1lem9uZXMgd2VyZSBpbnRyb2R1Y2VkXG4gKiAoZS5nLiBmb3IgJ0V1cm9wZS9QcmFndWUnIHRpbWV6b25lIHRoZSBvZmZzZXQgaXMgR01UKzAwOjU3OjQ0IGJlZm9yZSAxIE9jdG9iZXIgMTg5MVxuICogYW5kIEdNVCswMTowMDowMCBhZnRlciB0aGF0IGRhdGUpXG4gKlxuICogRGF0ZSNnZXRUaW1lem9uZU9mZnNldCByZXR1cm5zIHRoZSBvZmZzZXQgaW4gbWludXRlcyBhbmQgd291bGQgcmV0dXJuIDU3IGZvciB0aGUgZXhhbXBsZSBhYm92ZSxcbiAqIHdoaWNoIHdvdWxkIGxlYWQgdG8gaW5jb3JyZWN0IGNhbGN1bGF0aW9ucy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHRpbWV6b25lIG9mZnNldCBpbiBtaWxsaXNlY29uZHMgdGhhdCB0YWtlcyBzZWNvbmRzIGluIGFjY291bnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzKGRhdGUpIHtcbiAgY29uc3QgX2RhdGUgPSB0b0RhdGUoZGF0ZSk7XG4gIGNvbnN0IHV0Y0RhdGUgPSBuZXcgRGF0ZShcbiAgICBEYXRlLlVUQyhcbiAgICAgIF9kYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBfZGF0ZS5nZXRNb250aCgpLFxuICAgICAgX2RhdGUuZ2V0RGF0ZSgpLFxuICAgICAgX2RhdGUuZ2V0SG91cnMoKSxcbiAgICAgIF9kYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgIF9kYXRlLmdldFNlY29uZHMoKSxcbiAgICAgIF9kYXRlLmdldE1pbGxpc2Vjb25kcygpLFxuICAgICksXG4gICk7XG4gIHV0Y0RhdGUuc2V0VVRDRnVsbFllYXIoX2RhdGUuZ2V0RnVsbFllYXIoKSk7XG4gIHJldHVybiArZGF0ZSAtICt1dGNEYXRlO1xufVxuIiwiaW1wb3J0IHsgY29uc3RydWN0RnJvbSB9IGZyb20gXCIuLi9jb25zdHJ1Y3RGcm9tLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVEYXRlcyhjb250ZXh0LCAuLi5kYXRlcykge1xuICBjb25zdCBub3JtYWxpemUgPSBjb25zdHJ1Y3RGcm9tLmJpbmQoXG4gICAgbnVsbCxcbiAgICBjb250ZXh0IHx8IGRhdGVzLmZpbmQoKGRhdGUpID0+IHR5cGVvZiBkYXRlID09PSBcIm9iamVjdFwiKSxcbiAgKTtcbiAgcmV0dXJuIGRhdGVzLm1hcChub3JtYWxpemUpO1xufVxuIiwiaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBzdGFydE9mRGF5fSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgc3RhcnRPZkRheVxuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBSZXR1cm4gdGhlIHN0YXJ0IG9mIGEgZGF5IGZvciB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybiB0aGUgc3RhcnQgb2YgYSBkYXkgZm9yIHRoZSBnaXZlbiBkYXRlLlxuICogVGhlIHJlc3VsdCB3aWxsIGJlIGluIHRoZSBsb2NhbCB0aW1lem9uZS5cbiAqXG4gKiBAdHlwZVBhcmFtIERhdGVUeXBlIC0gVGhlIGBEYXRlYCB0eXBlLCB0aGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24uIEdldHMgaW5mZXJyZWQgZnJvbSBwYXNzZWQgYXJndW1lbnRzLiBBbGxvd3MgdG8gdXNlIGV4dGVuc2lvbnMgbGlrZSBbYFVUQ0RhdGVgXShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvdXRjKS5cbiAqIEB0eXBlUGFyYW0gUmVzdWx0RGF0ZSAtIFRoZSByZXN1bHQgYERhdGVgIHR5cGUsIGl0IGlzIHRoZSB0eXBlIHJldHVybmVkIGZyb20gdGhlIGNvbnRleHQgZnVuY3Rpb24gaWYgaXQgaXMgcGFzc2VkLCBvciBpbmZlcnJlZCBmcm9tIHRoZSBhcmd1bWVudHMuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgb3JpZ2luYWwgZGF0ZVxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9uc1xuICpcbiAqIEByZXR1cm5zIFRoZSBzdGFydCBvZiBhIGRheVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgc3RhcnQgb2YgYSBkYXkgZm9yIDIgU2VwdGVtYmVyIDIwMTQgMTE6NTU6MDA6XG4gKiBjb25zdCByZXN1bHQgPSBzdGFydE9mRGF5KG5ldyBEYXRlKDIwMTQsIDgsIDIsIDExLCA1NSwgMCkpXG4gKiAvLz0+IFR1ZSBTZXAgMDIgMjAxNCAwMDowMDowMFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRPZkRheShkYXRlLCBvcHRpb25zKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUsIG9wdGlvbnM/LmluKTtcbiAgX2RhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gIHJldHVybiBfZGF0ZTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBzdGFydE9mRGF5O1xuIiwiaW1wb3J0IHsgZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL19saWIvZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcy5qc1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplRGF0ZXMgfSBmcm9tIFwiLi9fbGliL25vcm1hbGl6ZURhdGVzLmpzXCI7XG5pbXBvcnQgeyBtaWxsaXNlY29uZHNJbkRheSB9IGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgc3RhcnRPZkRheSB9IGZyb20gXCIuL3N0YXJ0T2ZEYXkuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5c30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBjYWxlbmRhciBkYXlzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgZGF5cyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy4gVGhpcyBtZWFucyB0aGF0IHRoZSB0aW1lcyBhcmUgcmVtb3ZlZFxuICogZnJvbSB0aGUgZGF0ZXMgYW5kIHRoZW4gdGhlIGRpZmZlcmVuY2UgaW4gZGF5cyBpcyBjYWxjdWxhdGVkLlxuICpcbiAqIEBwYXJhbSBsYXRlckRhdGUgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGVhcmxpZXJEYXRlIC0gVGhlIGVhcmxpZXIgZGF0ZVxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBvYmplY3RcbiAqXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGNhbGVuZGFyIGRheXNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgY2FsZW5kYXIgZGF5cyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTEgMjM6MDA6MDAgYW5kIDIgSnVseSAyMDEyIDAwOjAwOjAwP1xuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKFxuICogICBuZXcgRGF0ZSgyMDEyLCA2LCAyLCAwLCAwKSxcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMiwgMjMsIDApXG4gKiApXG4gKiAvLz0+IDM2NlxuICogLy8gSG93IG1hbnkgY2FsZW5kYXIgZGF5cyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTEgMjM6NTk6MDAgYW5kIDMgSnVseSAyMDExIDAwOjAxOjAwP1xuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKFxuICogICBuZXcgRGF0ZSgyMDExLCA2LCAzLCAwLCAxKSxcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMiwgMjMsIDU5KVxuICogKVxuICogLy89PiAxXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMobGF0ZXJEYXRlLCBlYXJsaWVyRGF0ZSwgb3B0aW9ucykge1xuICBjb25zdCBbbGF0ZXJEYXRlXywgZWFybGllckRhdGVfXSA9IG5vcm1hbGl6ZURhdGVzKFxuICAgIG9wdGlvbnM/LmluLFxuICAgIGxhdGVyRGF0ZSxcbiAgICBlYXJsaWVyRGF0ZSxcbiAgKTtcblxuICBjb25zdCBsYXRlclN0YXJ0T2ZEYXkgPSBzdGFydE9mRGF5KGxhdGVyRGF0ZV8pO1xuICBjb25zdCBlYXJsaWVyU3RhcnRPZkRheSA9IHN0YXJ0T2ZEYXkoZWFybGllckRhdGVfKTtcblxuICBjb25zdCBsYXRlclRpbWVzdGFtcCA9XG4gICAgK2xhdGVyU3RhcnRPZkRheSAtIGdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMobGF0ZXJTdGFydE9mRGF5KTtcbiAgY29uc3QgZWFybGllclRpbWVzdGFtcCA9XG4gICAgK2VhcmxpZXJTdGFydE9mRGF5IC0gZ2V0VGltZXpvbmVPZmZzZXRJbk1pbGxpc2Vjb25kcyhlYXJsaWVyU3RhcnRPZkRheSk7XG5cbiAgLy8gUm91bmQgdGhlIG51bWJlciBvZiBkYXlzIHRvIHRoZSBuZWFyZXN0IGludGVnZXIgYmVjYXVzZSB0aGUgbnVtYmVyIG9mXG4gIC8vIG1pbGxpc2Vjb25kcyBpbiBhIGRheSBpcyBub3QgY29uc3RhbnQgKGUuZy4gaXQncyBkaWZmZXJlbnQgaW4gdGhlIHdlZWsgb2ZcbiAgLy8gdGhlIGRheWxpZ2h0IHNhdmluZyB0aW1lIGNsb2NrIHNoaWZ0KS5cbiAgcmV0dXJuIE1hdGgucm91bmQoKGxhdGVyVGltZXN0YW1wIC0gZWFybGllclRpbWVzdGFtcCkgLyBtaWxsaXNlY29uZHNJbkRheSk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzO1xuIiwiLyoqXG4gKiBAbmFtZSBpc0RhdGVcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIHZhbHVlIGEgZGF0ZT9cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YgRGF0ZS4gVGhlIGZ1bmN0aW9uIHdvcmtzIGZvciBkYXRlcyB0cmFuc2ZlcnJlZCBhY3Jvc3MgaWZyYW1lcy5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2tcbiAqXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBhIGRhdGVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRm9yIGEgdmFsaWQgZGF0ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzRGF0ZShuZXcgRGF0ZSgpKVxuICogLy89PiB0cnVlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciBhbiBpbnZhbGlkIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBpc0RhdGUobmV3IERhdGUoTmFOKSlcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3Igc29tZSB2YWx1ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzRGF0ZSgnMjAxNC0wMi0zMScpXG4gKiAvLz0+IGZhbHNlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciBhbiBvYmplY3Q6XG4gKiBjb25zdCByZXN1bHQgPSBpc0RhdGUoe30pXG4gKiAvLz0+IGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGUodmFsdWUpIHtcbiAgcmV0dXJuIChcbiAgICB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgfHxcbiAgICAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmXG4gICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpID09PSBcIltvYmplY3QgRGF0ZV1cIilcbiAgKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBpc0RhdGU7XG4iLCJpbXBvcnQgeyBpc0RhdGUgfSBmcm9tIFwiLi9pc0RhdGUuanNcIjtcbmltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIEBuYW1lIGlzVmFsaWRcbiAqIEBjYXRlZ29yeSBDb21tb24gSGVscGVyc1xuICogQHN1bW1hcnkgSXMgdGhlIGdpdmVuIGRhdGUgdmFsaWQ/XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXR1cm5zIGZhbHNlIGlmIGFyZ3VtZW50IGlzIEludmFsaWQgRGF0ZSBhbmQgdHJ1ZSBvdGhlcndpc2UuXG4gKiBBcmd1bWVudCBpcyBjb252ZXJ0ZWQgdG8gRGF0ZSB1c2luZyBgdG9EYXRlYC4gU2VlIFt0b0RhdGVdKGh0dHBzOi8vZGF0ZS1mbnMub3JnL2RvY3MvdG9EYXRlKVxuICogSW52YWxpZCBEYXRlIGlzIGEgRGF0ZSwgd2hvc2UgdGltZSB2YWx1ZSBpcyBOYU4uXG4gKlxuICogVGltZSB2YWx1ZSBvZiBEYXRlOiBodHRwOi8vZXM1LmdpdGh1Yi5pby8jeDE1LjkuMS4xXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0byBjaGVja1xuICpcbiAqIEByZXR1cm5zIFRoZSBkYXRlIGlzIHZhbGlkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciB0aGUgdmFsaWQgZGF0ZTpcbiAqIGNvbnN0IHJlc3VsdCA9IGlzVmFsaWQobmV3IERhdGUoMjAxNCwgMSwgMzEpKVxuICogLy89PiB0cnVlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciB0aGUgdmFsdWUsIGNvbnZlcnRpYmxlIGludG8gYSBkYXRlOlxuICogY29uc3QgcmVzdWx0ID0gaXNWYWxpZCgxMzkzODA0ODAwMDAwKVxuICogLy89PiB0cnVlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEZvciB0aGUgaW52YWxpZCBkYXRlOlxuICogY29uc3QgcmVzdWx0ID0gaXNWYWxpZChuZXcgRGF0ZSgnJykpXG4gKiAvLz0+IGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkKGRhdGUpIHtcbiAgcmV0dXJuICEoKCFpc0RhdGUoZGF0ZSkgJiYgdHlwZW9mIGRhdGUgIT09IFwibnVtYmVyXCIpIHx8IGlzTmFOKCt0b0RhdGUoZGF0ZSkpKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBpc1ZhbGlkO1xuIl0sInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswLDEsMiwzLDQsNV0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBYUEsU0FBZ0IsZ0NBQWdDLE1BQU07Q0FDcEQsTUFBTSxRQUFRLE9BQU8sS0FBSztDQUMxQixNQUFNLFVBQVUsSUFBSSxLQUNsQixLQUFLLElBQ0gsTUFBTSxhQUFhLEVBQ25CLE1BQU0sVUFBVSxFQUNoQixNQUFNLFNBQVMsRUFDZixNQUFNLFVBQVUsRUFDaEIsTUFBTSxZQUFZLEVBQ2xCLE1BQU0sWUFBWSxFQUNsQixNQUFNLGlCQUFpQixDQUN4QixDQUNGO0FBQ0QsU0FBUSxlQUFlLE1BQU0sYUFBYSxDQUFDO0FBQzNDLFFBQU8sQ0FBQyxPQUFPLENBQUM7Ozs7QUN6QmxCLFNBQWdCLGVBQWUsU0FBUyxHQUFHLE9BQU87Q0FDaEQsTUFBTSxZQUFZLGNBQWMsS0FDOUIsTUFDQSxXQUFXLE1BQU0sTUFBTSxTQUFTLE9BQU8sU0FBUyxTQUFTLENBQzFEO0FBQ0QsUUFBTyxNQUFNLElBQUksVUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNxQjdCLFNBQWdCLFdBQVcsTUFBTSxTQUFTO0NBQ3hDLE1BQU0sUUFBUSxPQUFPLE1BQU0sU0FBUyxHQUFHO0FBQ3ZDLE9BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxFQUFFO0FBQzFCLFFBQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDU1QsU0FBZ0IseUJBQXlCLFdBQVcsYUFBYSxTQUFTO0NBQ3hFLE1BQU0sQ0FBQyxZQUFZLGdCQUFnQixlQUNqQyxTQUFTLElBQ1QsV0FDQSxZQUNEO0NBRUQsTUFBTSxrQkFBa0IsV0FBVyxXQUFXO0NBQzlDLE1BQU0sb0JBQW9CLFdBQVcsYUFBYTtDQUVsRCxNQUFNLGlCQUNKLENBQUMsa0JBQWtCLGdDQUFnQyxnQkFBZ0I7Q0FDckUsTUFBTSxtQkFDSixDQUFDLG9CQUFvQixnQ0FBZ0Msa0JBQWtCO0FBS3pFLFFBQU8sS0FBSyxPQUFPLGlCQUFpQixvQkFBb0Isa0JBQWtCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQjVFLFNBQWdCLE9BQU8sT0FBTztBQUM1QixRQUNFLGlCQUFpQixRQUNoQixPQUFPLFVBQVUsWUFDaEIsT0FBTyxVQUFVLFNBQVMsS0FBSyxNQUFNLEtBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDRmhELFNBQWdCLFFBQVEsTUFBTTtBQUM1QixRQUFPLEVBQUcsQ0FBQyxPQUFPLEtBQUssSUFBSSxPQUFPLFNBQVMsWUFBYSxNQUFNLENBQUMsT0FBTyxLQUFLLENBQUMifQ==
@@ -1,385 +0,0 @@
1
- import { t as format } from "./format-Bbrn2bgo.js";
2
- import { t as isValid } from "./isValid-C-HzKv4v.js";
3
- import { __esDecorate, __runInitializers } from "tslib";
4
- import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
5
- import { SbbLanguageController } from "@sbb-esta/lyne-elements/core/controllers.js";
6
- import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
7
- import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
8
- import { css, html, nothing } from "lit";
9
- import { defaultDateAdapter } from "@sbb-esta/lyne-elements/core/datetime.js";
10
- import { i18nTripDuration } from "@sbb-esta/lyne-elements/core/i18n.js";
11
- import { property } from "lit/decorators.js";
12
- import { durationToTime, removeTimezoneFromISOTimeString } from "./core/datetime.js";
13
- import "@sbb-esta/lyne-elements/divider.js";
14
- import "@sbb-esta/lyne-elements/screen-reader-only.js";
15
- import "@sbb-esta/lyne-elements/journey-header.js";
16
- import "./pearl-chain-time.js";
17
- //#region src/elements-experimental/journey-summary/journey-summary.scss?lit&inline
18
- var journey_summary_default = css`:host {
19
- display: block;
20
- }
21
-
22
- .sbb-journey-summary {
23
- --sbb-text-font-size: var(--sbb-text-font-size-s);
24
- font-family: var(--sbb-typo-font-family);
25
- font-weight: normal;
26
- line-height: var(--sbb-typo-line-height-text);
27
- letter-spacing: var(--sbb-typo-letter-spacing-text);
28
- font-size: var(--sbb-text-font-size);
29
- color: var(--sbb-color-4);
30
- display: flex;
31
- flex-direction: column;
32
- }
33
-
34
- .sbb-journey-summary__via-block {
35
- display: flex;
36
- }
37
-
38
- .sbb-journey-summary__vias {
39
- overflow: hidden;
40
- white-space: nowrap;
41
- text-overflow: ellipsis;
42
- margin-block: 0;
43
- padding-inline-start: var(--sbb-spacing-fixed-1x);
44
- }
45
-
46
- .sbb-journey-summary__date {
47
- margin-block-end: var(--sbb-spacing-fixed-2x);
48
- }
49
-
50
- .sbb-journey-summary__via {
51
- white-space: nowrap;
52
- overflow: hidden;
53
- text-overflow: ellipsis;
54
- }
55
-
56
- .sbb-journey-summary__divider {
57
- margin-block: var(--sbb-spacing-fixed-6x);
58
- }
59
-
60
- ul li {
61
- list-style: none;
62
- display: inline;
63
- }`;
64
- //#endregion
65
- //#region src/elements-experimental/journey-summary/journey-summary.component.ts
66
- /**
67
- * It displays journey's information.
68
- *
69
- * @slot content - Use this slot to add `sbb-button`s or other interactive elements.
70
- */
71
- var SbbJourneySummaryElement = (() => {
72
- let _classSuper = SbbElement;
73
- let _instanceExtraInitializers = [];
74
- let _trip_decorators;
75
- let _trip_initializers = [];
76
- let _trip_extraInitializers = [];
77
- let _tripBack_decorators;
78
- let _tripBack_initializers = [];
79
- let _tripBack_extraInitializers = [];
80
- let _roundTrip_decorators;
81
- let _roundTrip_initializers = [];
82
- let _roundTrip_extraInitializers = [];
83
- let _headerLevel_decorators;
84
- let _headerLevel_initializers = [];
85
- let _headerLevel_extraInitializers = [];
86
- let _disableAnimation_decorators;
87
- let _disableAnimation_initializers = [];
88
- let _disableAnimation_extraInitializers = [];
89
- let _a11yFootpath_decorators;
90
- let _a11yFootpath_initializers = [];
91
- let _a11yFootpath_extraInitializers = [];
92
- let _set_now_decorators;
93
- return class SbbJourneySummaryElement extends _classSuper {
94
- constructor() {
95
- super(...arguments);
96
- this.#trip_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _trip_initializers, null));
97
- this.#tripBack_accessor_storage = (__runInitializers(this, _trip_extraInitializers), __runInitializers(this, _tripBack_initializers, null));
98
- this.#roundTrip_accessor_storage = (__runInitializers(this, _tripBack_extraInitializers), __runInitializers(this, _roundTrip_initializers, false));
99
- this.#headerLevel_accessor_storage = (__runInitializers(this, _roundTrip_extraInitializers), __runInitializers(this, _headerLevel_initializers, "3"));
100
- this.#disableAnimation_accessor_storage = (__runInitializers(this, _headerLevel_extraInitializers), __runInitializers(this, _disableAnimation_initializers, false));
101
- this.#a11yFootpath_accessor_storage = (__runInitializers(this, _disableAnimation_extraInitializers), __runInitializers(this, _a11yFootpath_initializers, false));
102
- this._now = (__runInitializers(this, _a11yFootpath_extraInitializers), null);
103
- this._hasContentSlot = false;
104
- this._language = new SbbLanguageController(this);
105
- }
106
- static {
107
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
108
- _trip_decorators = [property({ type: Object })];
109
- _tripBack_decorators = [property({
110
- attribute: "trip-back",
111
- type: Object
112
- })];
113
- _roundTrip_decorators = [forceType(), property({
114
- attribute: "round-trip",
115
- type: Boolean
116
- })];
117
- _headerLevel_decorators = [property({ attribute: "header-level" })];
118
- _disableAnimation_decorators = [forceType(), property({
119
- attribute: "disable-animation",
120
- type: Boolean
121
- })];
122
- _a11yFootpath_decorators = [forceType(), property({
123
- attribute: "a11y-footpath",
124
- type: Boolean
125
- })];
126
- _set_now_decorators = [property()];
127
- __esDecorate(this, null, _trip_decorators, {
128
- kind: "accessor",
129
- name: "trip",
130
- static: false,
131
- private: false,
132
- access: {
133
- has: (obj) => "trip" in obj,
134
- get: (obj) => obj.trip,
135
- set: (obj, value) => {
136
- obj.trip = value;
137
- }
138
- },
139
- metadata: _metadata
140
- }, _trip_initializers, _trip_extraInitializers);
141
- __esDecorate(this, null, _tripBack_decorators, {
142
- kind: "accessor",
143
- name: "tripBack",
144
- static: false,
145
- private: false,
146
- access: {
147
- has: (obj) => "tripBack" in obj,
148
- get: (obj) => obj.tripBack,
149
- set: (obj, value) => {
150
- obj.tripBack = value;
151
- }
152
- },
153
- metadata: _metadata
154
- }, _tripBack_initializers, _tripBack_extraInitializers);
155
- __esDecorate(this, null, _roundTrip_decorators, {
156
- kind: "accessor",
157
- name: "roundTrip",
158
- static: false,
159
- private: false,
160
- access: {
161
- has: (obj) => "roundTrip" in obj,
162
- get: (obj) => obj.roundTrip,
163
- set: (obj, value) => {
164
- obj.roundTrip = value;
165
- }
166
- },
167
- metadata: _metadata
168
- }, _roundTrip_initializers, _roundTrip_extraInitializers);
169
- __esDecorate(this, null, _headerLevel_decorators, {
170
- kind: "accessor",
171
- name: "headerLevel",
172
- static: false,
173
- private: false,
174
- access: {
175
- has: (obj) => "headerLevel" in obj,
176
- get: (obj) => obj.headerLevel,
177
- set: (obj, value) => {
178
- obj.headerLevel = value;
179
- }
180
- },
181
- metadata: _metadata
182
- }, _headerLevel_initializers, _headerLevel_extraInitializers);
183
- __esDecorate(this, null, _disableAnimation_decorators, {
184
- kind: "accessor",
185
- name: "disableAnimation",
186
- static: false,
187
- private: false,
188
- access: {
189
- has: (obj) => "disableAnimation" in obj,
190
- get: (obj) => obj.disableAnimation,
191
- set: (obj, value) => {
192
- obj.disableAnimation = value;
193
- }
194
- },
195
- metadata: _metadata
196
- }, _disableAnimation_initializers, _disableAnimation_extraInitializers);
197
- __esDecorate(this, null, _a11yFootpath_decorators, {
198
- kind: "accessor",
199
- name: "a11yFootpath",
200
- static: false,
201
- private: false,
202
- access: {
203
- has: (obj) => "a11yFootpath" in obj,
204
- get: (obj) => obj.a11yFootpath,
205
- set: (obj, value) => {
206
- obj.a11yFootpath = value;
207
- }
208
- },
209
- metadata: _metadata
210
- }, _a11yFootpath_initializers, _a11yFootpath_extraInitializers);
211
- __esDecorate(this, null, _set_now_decorators, {
212
- kind: "setter",
213
- name: "now",
214
- static: false,
215
- private: false,
216
- access: {
217
- has: (obj) => "now" in obj,
218
- set: (obj, value) => {
219
- obj.now = value;
220
- }
221
- },
222
- metadata: _metadata
223
- }, null, _instanceExtraInitializers);
224
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
225
- enumerable: true,
226
- configurable: true,
227
- writable: true,
228
- value: _metadata
229
- });
230
- }
231
- static {
232
- this.elementName = "sbb-journey-summary";
233
- }
234
- static {
235
- this.styles = [boxSizingStyles, journey_summary_default];
236
- }
237
- #trip_accessor_storage;
238
- /** The trip prop */
239
- get trip() {
240
- return this.#trip_accessor_storage;
241
- }
242
- set trip(value) {
243
- this.#trip_accessor_storage = value;
244
- }
245
- #tripBack_accessor_storage;
246
- /** The tripBack prop */
247
- get tripBack() {
248
- return this.#tripBack_accessor_storage;
249
- }
250
- set tripBack(value) {
251
- this.#tripBack_accessor_storage = value;
252
- }
253
- #roundTrip_accessor_storage;
254
- /**
255
- * The RoundTrip prop. This prop controls if one or two arrows are displayed in the header.
256
- */
257
- get roundTrip() {
258
- return this.#roundTrip_accessor_storage;
259
- }
260
- set roundTrip(value) {
261
- this.#roundTrip_accessor_storage = value;
262
- }
263
- #headerLevel_accessor_storage;
264
- /** Heading level of the journey header element (e.g. h1-h6). */
265
- get headerLevel() {
266
- return this.#headerLevel_accessor_storage;
267
- }
268
- set headerLevel(value) {
269
- this.#headerLevel_accessor_storage = value;
270
- }
271
- #disableAnimation_accessor_storage;
272
- /**
273
- * Per default, the current location has a pulsating animation. You can
274
- * disable the animation with this property.
275
- */
276
- get disableAnimation() {
277
- return this.#disableAnimation_accessor_storage;
278
- }
279
- set disableAnimation(value) {
280
- this.#disableAnimation_accessor_storage = value;
281
- }
282
- #a11yFootpath_accessor_storage;
283
- /**
284
- * The Footpath attribute for rendering different icons
285
- * true: render a11y-icon
286
- * false: render walk-icon
287
- * default: render walk-icon
288
- */
289
- get a11yFootpath() {
290
- return this.#a11yFootpath_accessor_storage;
291
- }
292
- set a11yFootpath(value) {
293
- this.#a11yFootpath_accessor_storage = value;
294
- }
295
- /**
296
- * A configured date which acts as the current date instead of the real current date.
297
- * Only recommended for testing purposes.
298
- */
299
- set now(value) {
300
- this._now = defaultDateAdapter.getValidDateOrNull(defaultDateAdapter.deserialize(value));
301
- }
302
- get now() {
303
- return this._now ?? /* @__PURE__ */ new Date();
304
- }
305
- connectedCallback() {
306
- super.connectedCallback();
307
- this._hasContentSlot = Boolean(this.querySelector?.("[slot=\"content\"]"));
308
- }
309
- /** renders the date of the journey or if it is the current or next day */
310
- _renderJourneyStart(departureTime, duration) {
311
- const dateAdapter = defaultDateAdapter;
312
- const durationObj = duration ? durationToTime(duration, this._language.current) : null;
313
- if (isValid(departureTime)) return html`
314
- <time datetime=${format(departureTime, "d") + " " + format(departureTime, "M")}>
315
- ${dateAdapter.format(departureTime).replace(",", ".")}</time
316
- >${duration && duration > 0 ? html`,<time>
317
- <sbb-screen-reader-only>
318
- ${i18nTripDuration[this._language.current]} ${durationObj.long}
319
- </sbb-screen-reader-only>
320
- <span aria-hidden="true">${durationObj.short}</span>
321
- </time>` : nothing}
322
- `;
323
- }
324
- _renderJourneyVias(vias) {
325
- const slicedVias = vias.slice(0, 5);
326
- return html`
327
- <div class="sbb-journey-summary__via-block">
328
- <span class="sbb-journey-summary__via-text">Via</span>
329
- <ul class="sbb-journey-summary__vias" role=${vias.length <= 1 ? "presentation" : nothing}>
330
- ${slicedVias.map((via, index) => html`<li class="sbb-journey-summary__via">
331
- ${via}${index !== slicedVias.length - 1 && index < 4 ? html`<span>,</span>` : nothing}
332
- </li>`)}
333
- </ul>
334
- </div>
335
- `;
336
- }
337
- _renderJourneyInformation(trip) {
338
- const { vias, duration, departureWalk, departure, arrivalWalk, arrival, legs } = trip || {};
339
- return html`
340
- <div>
341
- ${vias && vias.length > 0 ? this._renderJourneyVias(vias) : nothing}
342
- <div class="sbb-journey-summary__date">
343
- ${this._renderJourneyStart(removeTimezoneFromISOTimeString(departure), duration)}
344
- </div>
345
- <sbb-pearl-chain-time
346
- .arrivalTime=${arrival}
347
- .departureTime=${departure}
348
- .departureWalk=${departureWalk}
349
- .arrivalWalk=${arrivalWalk}
350
- .legs=${legs}
351
- .disableAnimation=${this.disableAnimation}
352
- .a11yFootpath=${this.a11yFootpath}
353
- .now=${this.now}
354
- ></sbb-pearl-chain-time>
355
- </div>
356
- `;
357
- }
358
- render() {
359
- const { origin, destination } = this.trip || {};
360
- return html`
361
- <div class="sbb-journey-summary">
362
- ${origin ? html`<sbb-journey-header
363
- size="l"
364
- .level=${this.headerLevel || nothing}
365
- .origin=${origin}
366
- .destination=${destination}
367
- .roundTrip=${this.roundTrip ?? nothing}
368
- ></sbb-journey-header>` : nothing}
369
- ${this._renderJourneyInformation(this.trip)}
370
- ${this.tripBack ? html`<div>
371
- <sbb-divider class="sbb-journey-summary__divider"></sbb-divider>
372
- ${this._renderJourneyInformation(this.tripBack)}
373
- </div>` : nothing}
374
- ${this._hasContentSlot ? html` <div class="sbb-journey-summary__slot">
375
- <slot name="content"></slot>
376
- </div>` : nothing}
377
- </div>
378
- `;
379
- }
380
- };
381
- })();
382
- //#endregion
383
- export { SbbJourneySummaryElement as t };
384
-
385
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC11R2hadkE0cC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2pvdXJuZXktc3VtbWFyeS9qb3VybmV5LXN1bW1hcnkuc2Nzcz9saXQmaW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9qb3VybmV5LXN1bW1hcnkvam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2JiLWpvdXJuZXktc3VtbWFyeSB7XG4gIEBpbmNsdWRlIHNiYi50ZXh0LXMtLXJlZ3VsYXI7XG5cbiAgY29sb3I6IHZhcigtLXNiYi1jb2xvci00KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYS1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5zYmItam91cm5leS1zdW1tYXJ5X192aWFzIHtcbiAgQGluY2x1ZGUgc2JiLmVsbGlwc2lzO1xuXG4gIG1hcmdpbi1ibG9jazogMDtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLnNiYi1qb3VybmV5LXN1bW1hcnlfX2RhdGUge1xuICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG59XG5cbi5zYmItam91cm5leS1zdW1tYXJ5X192aWEge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnNiYi1qb3VybmV5LXN1bW1hcnlfX2RpdmlkZXIge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTZ4KTtcbn1cblxudWwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4iLCJpbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaTE4blRyaXBEdXJhdGlvbiB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy90aXRsZS5qcyc7XG5pbXBvcnQgeyBmb3JtYXQsIGlzVmFsaWQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBkdXJhdGlvblRvVGltZSwgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyB9IGZyb20gJy4uL2NvcmUvZGF0ZXRpbWUudHMnO1xuaW1wb3J0IHR5cGUgeyBMZWcgfSBmcm9tICcuLi9jb3JlL3RpbWV0YWJsZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2pvdXJuZXktc3VtbWFyeS5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2RpdmlkZXIuanMnO1xuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9qb3VybmV5LWhlYWRlci5qcyc7XG5pbXBvcnQgJy4uL3BlYXJsLWNoYWluLXRpbWUudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYkpvdXJuZXlTdW1tYXJ5QXR0cmlidXRlcyB7XG4gIGxlZ3M6IExlZ1tdO1xuICB2aWFzPzogc3RyaW5nW107XG4gIG9yaWdpbjogc3RyaW5nO1xuICBkZXN0aW5hdGlvbjogc3RyaW5nO1xuICBhcnJpdmFsV2Fsaz86IG51bWJlcjtcbiAgZGVwYXJ0dXJlOiBzdHJpbmc7XG4gIGFycml2YWw6IHN0cmluZztcbiAgZGVwYXJ0dXJlV2Fsaz86IG51bWJlcjtcbiAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgam91cm5leSdzIGluZm9ybWF0aW9uLlxuICpcbiAqIEBzbG90IGNvbnRlbnQgLSBVc2UgdGhpcyBzbG90IHRvIGFkZCBgc2JiLWJ1dHRvbmBzIG9yIG90aGVyIGludGVyYWN0aXZlIGVsZW1lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgU2JiSm91cm5leVN1bW1hcnlFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItam91cm5leS1zdW1tYXJ5JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgc3R5bGVdO1xuXG4gIC8qKiAgVGhlIHRyaXAgcHJvcCAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBPYmplY3QgfSkgcHVibGljIGFjY2Vzc29yIHRyaXA6IEludGVyZmFjZVNiYkpvdXJuZXlTdW1tYXJ5QXR0cmlidXRlcyA9IG51bGwhO1xuXG4gIC8qKiAgVGhlIHRyaXBCYWNrIHByb3AgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndHJpcC1iYWNrJywgdHlwZTogT2JqZWN0IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlwQmFjazogSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzID0gbnVsbCE7XG5cbiAgLyoqXG4gICAqIFRoZSBSb3VuZFRyaXAgcHJvcC4gVGhpcyBwcm9wIGNvbnRyb2xzIGlmIG9uZSBvciB0d28gYXJyb3dzIGFyZSBkaXNwbGF5ZWQgaW4gdGhlIGhlYWRlci5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdyb3VuZC10cmlwJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igcm91bmRUcmlwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEhlYWRpbmcgbGV2ZWwgb2YgdGhlIGpvdXJuZXkgaGVhZGVyIGVsZW1lbnQgKGUuZy4gaDEtaDYpLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdoZWFkZXItbGV2ZWwnIH0pIHB1YmxpYyBhY2Nlc3NvciBoZWFkZXJMZXZlbDogU2JiVGl0bGVMZXZlbCA9ICczJztcblxuICAvKipcbiAgICogUGVyIGRlZmF1bHQsIHRoZSBjdXJyZW50IGxvY2F0aW9uIGhhcyBhIHB1bHNhdGluZyBhbmltYXRpb24uIFlvdSBjYW5cbiAgICogZGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdpdGggdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkaXNhYmxlLWFuaW1hdGlvbicsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVBbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIEZvb3RwYXRoIGF0dHJpYnV0ZSBmb3IgcmVuZGVyaW5nIGRpZmZlcmVudCBpY29uc1xuICAgKiB0cnVlOiByZW5kZXIgYTExeS1pY29uXG4gICAqIGZhbHNlOiByZW5kZXIgd2Fsay1pY29uXG4gICAqIGRlZmF1bHQ6IHJlbmRlciB3YWxrLWljb25cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhMTF5LWZvb3RwYXRoJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYTExeUZvb3RwYXRoOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgY29uZmlndXJlZCBkYXRlIHdoaWNoIGFjdHMgYXMgdGhlIGN1cnJlbnQgZGF0ZSBpbnN0ZWFkIG9mIHRoZSByZWFsIGN1cnJlbnQgZGF0ZS5cbiAgICogT25seSByZWNvbW1lbmRlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZXQgbm93KHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbm93ID0gZGVmYXVsdERhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbChkZWZhdWx0RGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpKTtcbiAgfVxuICBwdWJsaWMgZ2V0IG5vdygpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fbm93ID8/IG5ldyBEYXRlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfbm93OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfaGFzQ29udGVudFNsb3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2hhc0NvbnRlbnRTbG90ID0gQm9vbGVhbih0aGlzLnF1ZXJ5U2VsZWN0b3I/LignW3Nsb3Q9XCJjb250ZW50XCJdJykpO1xuICB9XG5cbiAgLyoqICByZW5kZXJzIHRoZSBkYXRlIG9mIHRoZSBqb3VybmV5IG9yIGlmIGl0IGlzIHRoZSBjdXJyZW50IG9yIG5leHQgZGF5ICovXG4gIHByaXZhdGUgX3JlbmRlckpvdXJuZXlTdGFydChcbiAgICBkZXBhcnR1cmVUaW1lOiBEYXRlIHwgdW5kZWZpbmVkLFxuICAgIGR1cmF0aW9uOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICk6IFRlbXBsYXRlUmVzdWx0IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBkYXRlQWRhcHRlciA9IGRlZmF1bHREYXRlQWRhcHRlcjtcbiAgICBjb25zdCBkdXJhdGlvbk9iaiA9IGR1cmF0aW9uID8gZHVyYXRpb25Ub1RpbWUoZHVyYXRpb24sIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpIDogbnVsbDtcblxuICAgIGlmIChpc1ZhbGlkKGRlcGFydHVyZVRpbWUpKSB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPHRpbWUgZGF0ZXRpbWU9JHtmb3JtYXQoZGVwYXJ0dXJlVGltZSEsICdkJykgKyAnICcgKyBmb3JtYXQoZGVwYXJ0dXJlVGltZSEsICdNJyl9PlxuICAgICAgICAgICR7ZGF0ZUFkYXB0ZXIuZm9ybWF0KGRlcGFydHVyZVRpbWUpLnJlcGxhY2UoJywnLCAnLicpfTwvdGltZVxuICAgICAgICA+JHtkdXJhdGlvbiAmJiBkdXJhdGlvbiA+IDBcbiAgICAgICAgICA/IGh0bWxgLDx0aW1lPlxuICAgICAgICAgICAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgICAgICAgICAgICAgICAgJHtpMThuVHJpcER1cmF0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke2R1cmF0aW9uT2JqIS5sb25nfVxuICAgICAgICAgICAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4ke2R1cmF0aW9uT2JqIS5zaG9ydH08L3NwYW4+XG4gICAgICAgICAgICAgIDwvdGltZT5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgYDtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVySm91cm5leVZpYXModmlhczogc3RyaW5nW10pOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3Qgc2xpY2VkVmlhcyA9IHZpYXMuc2xpY2UoMCwgNSk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhLWJsb2NrXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhLXRleHRcIj5WaWE8L3NwYW4+XG4gICAgICAgIDx1bCBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYXNcIiByb2xlPSR7dmlhcy5sZW5ndGggPD0gMSA/ICdwcmVzZW50YXRpb24nIDogbm90aGluZ30+XG4gICAgICAgICAgJHtzbGljZWRWaWFzLm1hcChcbiAgICAgICAgICAgICh2aWEsIGluZGV4KSA9PlxuICAgICAgICAgICAgICBodG1sYDxsaSBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYVwiPlxuICAgICAgICAgICAgICAgICR7dmlhfSR7aW5kZXggIT09IHNsaWNlZFZpYXMubGVuZ3RoIC0gMSAmJiBpbmRleCA8IDRcbiAgICAgICAgICAgICAgICAgID8gaHRtbGA8c3Bhbj4sPC9zcGFuPmBcbiAgICAgICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICAgPC9saT5gLFxuICAgICAgICAgICl9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVySm91cm5leUluZm9ybWF0aW9uKHRyaXA6IEludGVyZmFjZVNiYkpvdXJuZXlTdW1tYXJ5QXR0cmlidXRlcyk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCB7IHZpYXMsIGR1cmF0aW9uLCBkZXBhcnR1cmVXYWxrLCBkZXBhcnR1cmUsIGFycml2YWxXYWxrLCBhcnJpdmFsLCBsZWdzIH0gPSB0cmlwIHx8IHt9O1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2PlxuICAgICAgICAke3ZpYXMgJiYgdmlhcy5sZW5ndGggPiAwID8gdGhpcy5fcmVuZGVySm91cm5leVZpYXModmlhcykgOiBub3RoaW5nfVxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fZGF0ZVwiPlxuICAgICAgICAgICR7dGhpcy5fcmVuZGVySm91cm5leVN0YXJ0KHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcoZGVwYXJ0dXJlKSwgZHVyYXRpb24pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNiYi1wZWFybC1jaGFpbi10aW1lXG4gICAgICAgICAgLmFycml2YWxUaW1lPSR7YXJyaXZhbH1cbiAgICAgICAgICAuZGVwYXJ0dXJlVGltZT0ke2RlcGFydHVyZX1cbiAgICAgICAgICAuZGVwYXJ0dXJlV2Fsaz0ke2RlcGFydHVyZVdhbGt9XG4gICAgICAgICAgLmFycml2YWxXYWxrPSR7YXJyaXZhbFdhbGt9XG4gICAgICAgICAgLmxlZ3M9JHtsZWdzfVxuICAgICAgICAgIC5kaXNhYmxlQW5pbWF0aW9uPSR7dGhpcy5kaXNhYmxlQW5pbWF0aW9ufVxuICAgICAgICAgIC5hMTF5Rm9vdHBhdGg9JHt0aGlzLmExMXlGb290cGF0aH1cbiAgICAgICAgICAubm93PSR7dGhpcy5ub3d9XG4gICAgICAgID48L3NiYi1wZWFybC1jaGFpbi10aW1lPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IHsgb3JpZ2luLCBkZXN0aW5hdGlvbiB9ID0gdGhpcy50cmlwIHx8IHt9O1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlcIj5cbiAgICAgICAgJHtvcmlnaW5cbiAgICAgICAgICA/IGh0bWxgPHNiYi1qb3VybmV5LWhlYWRlclxuICAgICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICAgIC5sZXZlbD0ke3RoaXMuaGVhZGVyTGV2ZWwgfHwgbm90aGluZ31cbiAgICAgICAgICAgICAgLm9yaWdpbj0ke29yaWdpbn1cbiAgICAgICAgICAgICAgLmRlc3RpbmF0aW9uPSR7ZGVzdGluYXRpb259XG4gICAgICAgICAgICAgIC5yb3VuZFRyaXA9JHt0aGlzLnJvdW5kVHJpcCA/PyBub3RoaW5nfVxuICAgICAgICAgICAgPjwvc2JiLWpvdXJuZXktaGVhZGVyPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICR7dGhpcy5fcmVuZGVySm91cm5leUluZm9ybWF0aW9uKHRoaXMudHJpcCl9XG4gICAgICAgICR7dGhpcy50cmlwQmFja1xuICAgICAgICAgID8gaHRtbGA8ZGl2PlxuICAgICAgICAgICAgICA8c2JiLWRpdmlkZXIgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X19kaXZpZGVyXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJKb3VybmV5SW5mb3JtYXRpb24odGhpcy50cmlwQmFjayl9XG4gICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAke3RoaXMuX2hhc0NvbnRlbnRTbG90XG4gICAgICAgICAgPyBodG1sYCA8ZGl2IGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fc2xvdFwiPlxuICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwiY29udGVudFwiPjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItam91cm5leS1zdW1tYXJ5JzogU2JiSm91cm5leVN1bW1hcnlFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUN1Q2Esa0NBQXdCO21CQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FBakMsaUNBQWlDLFlBQVU7OztBQUtWLFNBQUEseUJBTGpDLGtCQUFBLE1BQUEsMkJBQXdCLEVBQUEsa0JBQUEsTUFBQSxvQkFLc0QsS0FBSztBQUk5RSxTQUFBLDZCQUFBLGtCQUFBLE1BQUEsd0JBQUEsRUFBQSxrQkFBQSxNQUFBLHdCQUFpRCxLQUFLO0FBT3RELFNBQUEsOEJBQUEsa0JBQUEsTUFBQSw0QkFBQSxFQUFBLGtCQUFBLE1BQUEseUJBQXFCLE1BQUs7QUFHZSxTQUFBLGdDQUFBLGtCQUFBLE1BQUEsNkJBQUEsRUFBQSxrQkFBQSxNQUFBLDJCQUE2QixJQUFHO0FBUXpFLFNBQUEscUNBQUEsa0JBQUEsTUFBQSwrQkFBQSxFQUFBLGtCQUFBLE1BQUEsZ0NBQTRCLE1BQUs7QUFVakMsU0FBQSxpQ0FBQSxrQkFBQSxNQUFBLG9DQUFBLEVBQUEsa0JBQUEsTUFBQSw0QkFBd0IsTUFBSztBQWFyQyxRQUFBLFFBQUksa0JBQUEsTUFBQSxnQ0FBQSxFQUFnQjtBQUVwQixRQUFBLGtCQUEyQjtBQUMzQixRQUFBLFlBQVksSUFBSSxzQkFBc0IsS0FB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