@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,138 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
3
- import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
4
- import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
5
- import { css, html } from "lit";
6
- import { property } from "lit/decorators.js";
7
- //#region src/elements-experimental/seat-reservation/seat-reservation-area/seat-reservation-area.scss?lit&inline
8
- var seat_reservation_area_default = css`:host {
9
- --sbb-seat-reservation-area-border-radius: var(--sbb-border-width-4x);
10
- --sbb-seat-reservation-area-rotation: 0;
11
- display: flex;
12
- justify-content: center;
13
- align-items: center;
14
- height: calc(var(--sbb-seat-reservation-area-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
15
- width: calc(var(--sbb-seat-reservation-area-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
16
- border: var(--sbb-border-width-1x) solid var(--sbb-color-graphite);
17
- border: var(--sbb-border-width-1x) solid light-dark(var(--sbb-color-graphite), var(--sbb-color-granite));
18
- border-radius: var(--sbb-seat-reservation-area-border-radius);
19
- position: absolute;
20
- inset-block-start: calc(var(--sbb-seat-reservation-area-top) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
21
- inset-inline-start: calc(var(--sbb-seat-reservation-area-left) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
22
- rotate: calc(var(--sbb-seat-reservation-area-rotation) * 1deg);
23
- line-height: normal;
24
- background-color: var(--sbb-background-color-2);
25
- }
26
-
27
- :host([background=dark]) {
28
- background-color: var(--sbb-color-milk);
29
- background-color: light-dark(var(--sbb-color-milk), var(--sbb-color-iron));
30
- }
31
-
32
- :host([mounting=upper-border]) {
33
- border-block-start-width: 0;
34
- border-radius: 0 0 var(--sbb-seat-reservation-area-border-radius) var(--sbb-seat-reservation-area-border-radius);
35
- }
36
-
37
- :host([mounting=lower-border]) {
38
- border-block-end-width: 0;
39
- border-radius: var(--sbb-seat-reservation-area-border-radius) var(--sbb-seat-reservation-area-border-radius) 0 0;
40
- }
41
-
42
- :host([mounting=upper-to-lower-border]) {
43
- border-block-start: none;
44
- border-block-end: none;
45
- border-radius: 0;
46
- }
47
-
48
- :host(.sbb-seat-reservation-area--cursor-pointer) {
49
- cursor: var(--sbb-cursor-pointer);
50
- }`;
51
- //#endregion
52
- //#region src/elements-experimental/seat-reservation/seat-reservation-area/seat-reservation-area.component.ts
53
- /**
54
- * Visualize an area with a special meaning within a wagon.
55
- */
56
- var SbbSeatReservationAreaElement = (() => {
57
- let _classSuper = SbbElement;
58
- let _mounting_decorators;
59
- let _mounting_initializers = [];
60
- let _mounting_extraInitializers = [];
61
- let _background_decorators;
62
- let _background_initializers = [];
63
- let _background_extraInitializers = [];
64
- return class SbbSeatReservationAreaElement extends _classSuper {
65
- static {
66
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
67
- _mounting_decorators = [forceType(), property({ reflect: true })];
68
- _background_decorators = [forceType(), property({ reflect: true })];
69
- __esDecorate(this, null, _mounting_decorators, {
70
- kind: "accessor",
71
- name: "mounting",
72
- static: false,
73
- private: false,
74
- access: {
75
- has: (obj) => "mounting" in obj,
76
- get: (obj) => obj.mounting,
77
- set: (obj, value) => {
78
- obj.mounting = value;
79
- }
80
- },
81
- metadata: _metadata
82
- }, _mounting_initializers, _mounting_extraInitializers);
83
- __esDecorate(this, null, _background_decorators, {
84
- kind: "accessor",
85
- name: "background",
86
- static: false,
87
- private: false,
88
- access: {
89
- has: (obj) => "background" in obj,
90
- get: (obj) => obj.background,
91
- set: (obj, value) => {
92
- obj.background = value;
93
- }
94
- },
95
- metadata: _metadata
96
- }, _background_initializers, _background_extraInitializers);
97
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
98
- enumerable: true,
99
- configurable: true,
100
- writable: true,
101
- value: _metadata
102
- });
103
- }
104
- static {
105
- this.elementName = "sbb-seat-reservation-area";
106
- }
107
- static {
108
- this.styles = [boxSizingStyles, seat_reservation_area_default];
109
- }
110
- #mounting_accessor_storage = __runInitializers(this, _mounting_initializers, "free");
111
- /** Mounting Prop */
112
- get mounting() {
113
- return this.#mounting_accessor_storage;
114
- }
115
- set mounting(value) {
116
- this.#mounting_accessor_storage = value;
117
- }
118
- #background_accessor_storage = (__runInitializers(this, _mounting_extraInitializers), __runInitializers(this, _background_initializers, "light"));
119
- /** the background of the area */
120
- get background() {
121
- return this.#background_accessor_storage;
122
- }
123
- set background(value) {
124
- this.#background_accessor_storage = value;
125
- }
126
- render() {
127
- return html`<slot></slot>`;
128
- }
129
- constructor() {
130
- super(...arguments);
131
- __runInitializers(this, _background_extraInitializers);
132
- }
133
- };
134
- })();
135
- //#endregion
136
- export { SbbSeatReservationAreaElement as t };
137
-
138
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1hcmVhLmNvbXBvbmVudC1CSzkyWnRGby5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1hcmVhL3NlYXQtcmVzZXJ2YXRpb24tYXJlYS5zY3NzP2xpdCZpbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1hcmVhL3NlYXQtcmVzZXJ2YXRpb24tYXJlYS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci13aWR0aC00eCk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1yb3RhdGlvbjogMDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtaGVpZ2h0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICB3aWR0aDogY2FsYyhcbiAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1hcmVhLXdpZHRoKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkXG4gICAgbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpLCB2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1hcmVhLWJvcmRlci1yYWRpdXMpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtdG9wKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1sZWZ0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICByb3RhdGU6IGNhbGModmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1yb3RhdGlvbikgKiAxZGVnKTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMik7XG59XG5cbjpob3N0KFtiYWNrZ3JvdW5kPSdkYXJrJ10pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItbWlsayksIHZhcigtLXNiYi1jb2xvci1pcm9uKSk7XG59XG5cbjpob3N0KFttb3VudGluZz0ndXBwZXItYm9yZGVyJ10pIHtcbiAgLy8gRm9yIGFyZWFzIHRoYXQgYXJlIG1vdW50ZWQgZGlyZWN0bHkgb24gdGhlIGJvcmRlciBvZiBjb2FjaCxcbiAgLy8gd2UgcmVtb3ZlIHRoZSBib3JkZXIgdG9wIGZyb20gdGhlIGVsZW1lbnQgd2hlcmUgaXQgaXMgbW91bnRlZCxcbiAgLy8gYXMgdGhlIGJvcmRlcnMgYXJlIGFscmVhZHkgdmlzdWFsbHkgZGlzcGxheWVkIGJ5IHRoZSBjb2FjaC5cbiAgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1ib3JkZXItcmFkaXVzKVxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtYm9yZGVyLXJhZGl1cyk7XG59XG5cbjpob3N0KFttb3VudGluZz0nbG93ZXItYm9yZGVyJ10pIHtcbiAgLy8gRm9yIGFyZWFzIHRoYXQgYXJlIG1vdW50ZWQgZGlyZWN0bHkgb24gdGhlIGJvcmRlciBvZiBjb2FjaCxcbiAgLy8gd2UgcmVtb3ZlIHRoZSBib3JkZXIgYm90dG9tIGZyb20gdGhlIGVsZW1lbnQgd2hlcmUgaXQgaXMgbW91bnRlZCxcbiAgLy8gYXMgdGhlIGJvcmRlcnMgYXJlIGFscmVhZHkgdmlzdWFsbHkgZGlzcGxheWVkIGJ5IHRoZSBjb2FjaC5cbiAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1ib3JkZXItcmFkaXVzKVxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG46aG9zdChbbW91bnRpbmc9J3VwcGVyLXRvLWxvd2VyLWJvcmRlciddKSB7XG4gIGJvcmRlci1ibG9jay1zdGFydDogbm9uZTtcbiAgYm9yZGVyLWJsb2NrLWVuZDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gaG92ZXIgc3RhdGUgd2l0aCBwb2ludGVyIGN1cnNvciBmb3Igc2VydmljZSBpY29ucyBhbmQgcG9wb3ZlclxuOmhvc3QoLnNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtLWN1cnNvci1wb2ludGVyKSB7XG4gIGN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1wb2ludGVyKTtcbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzLmpzJztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tYXJlYS5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIFZpc3VhbGl6ZSBhbiBhcmVhIHdpdGggYSBzcGVjaWFsIG1lYW5pbmcgd2l0aGluIGEgd2Fnb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTZWF0UmVzZXJ2YXRpb25BcmVhRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHN0eWxlXTtcblxuICAvKiogTW91bnRpbmcgUHJvcCAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbW91bnRpbmc6ICdmcmVlJyB8ICd1cHBlci1ib3JkZXInIHwgJ2xvd2VyLWJvcmRlcicgfCAndXBwZXItdG8tbG93ZXItYm9yZGVyJyA9XG4gICAgJ2ZyZWUnO1xuXG4gIC8qKiB0aGUgYmFja2dyb3VuZCBvZiB0aGUgYXJlYSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYmFja2dyb3VuZDogJ2xpZ2h0JyB8ICdkYXJrJyA9ICdsaWdodCc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEnOiBTYmJTZWF0UmVzZXJ2YXRpb25BcmVhRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDWWEsdUNBQTZCO21CQUFTOzs7Ozs7O2NBQXRDLHNDQUFzQyxZQUFVOzs7MkJBSzFELFdBQVcsRUFDWCxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTs2QkFLM0IsV0FBVyxFQUNYLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBO0FBTDVCLGdCQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVIsV0FBUTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHdCQUFBLDRCQUFBO0FBTXhCLGdCQUFBLE1BQUEsTUFBQSx3QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGdCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVUsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFWLGFBQVU7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSwwQkFBQSw4QkFBQTs7Ozs7Ozs7O0FBWk0sUUFBQSxjQUFzQjs7O0FBQy9CLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsOEJBQU07O0VBS3hFLDZCQUFBLGtCQUFBLE1BQUEsd0JBQ0UsT0FBTTs7RUFEUixJQUFnQixXQUFRO0FBQUEsVUFBQSxNQUFBOztFQUF4QixJQUFnQixTQUFRLE9BQUE7QUFBQSxTQUFBLDRCQUFBOztFQU14QixnQ0FBQSxrQkFBQSxNQUFBLDRCQUFBLEVBQUEsa0JBQUEsTUFBQSwwQkFBK0MsUUFBTzs7RUFBdEQsSUFBZ0IsYUFBVTtBQUFBLFVBQUEsTUFBQTs7RUFBMUIsSUFBZ0IsV0FBVSxPQUFBO0FBQUEsU0FBQSw4QkFBQTs7RUFFUCxTQUFNO0FBQ3ZCLFVBQU8sSUFBSSJ9
@@ -1,193 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
3
- import { SbbLanguageController } from "@sbb-esta/lyne-elements/core/controllers.js";
4
- import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
5
- import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
6
- import "@sbb-esta/lyne-elements/icon.js";
7
- import { css, html, isServer } from "lit";
8
- import { property } from "lit/decorators.js";
9
- import { mapIconToSvg } from "./seat-reservation/common/mapper.js";
10
- import { classMap } from "lit/directives/class-map.js";
11
- import { getI18nSeatReservation } from "./seat-reservation/common/translations.js";
12
- //#region src/elements-experimental/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.scss?lit&inline
13
- var seat_reservation_graphic_default = css`:host {
14
- --sbb-seat-reservation-graphic-width: 16;
15
- --sbb-seat-reservation-graphic-height: 16;
16
- --sbb-seat-reservation-graphic-rotation: 0;
17
- --sbb-seat-reservation-graphic-inverse-rotation: 0;
18
- --sbb-seat-reservation-graphic-position: initial;
19
- --sbb-seat-reservation-graphic-left: 0;
20
- --sbb-seat-reservation-graphic-top: 0;
21
- --sbb-icon-svg-width: calc(
22
- var(--sbb-seat-reservation-graphic-width) *
23
- var(--sbb-seat-reservation-one-px-rem, 0.0625rem)
24
- );
25
- --sbb-icon-svg-height: calc(
26
- var(--sbb-seat-reservation-graphic-height) *
27
- var(--sbb-seat-reservation-one-px-rem, 0.0625rem)
28
- );
29
- display: flex;
30
- justify-content: center;
31
- align-items: center;
32
- width: calc(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
33
- height: calc(var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
34
- position: var(--sbb-seat-reservation-graphic-position);
35
- inset-inline-start: calc(var(--sbb-seat-reservation-graphic-left) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
36
- inset-block-start: calc(var(--sbb-seat-reservation-graphic-top) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
37
- }
38
-
39
- :host(.auto-width) {
40
- --sbb-icon-svg-width: auto;
41
- max-width: calc(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
42
- width: auto;
43
- }
44
-
45
- :host(.sbb-seat-reservation-graphic--cursor-pointer) {
46
- cursor: var(--sbb-cursor-pointer);
47
- }
48
-
49
- .sbb-sr-icon,
50
- .sbb-sr-graphic {
51
- width: inherit;
52
- height: inherit;
53
- transform-origin: center;
54
- rotate: calc(var(--sbb-seat-reservation-graphic-rotation) * 1deg);
55
- }
56
-
57
- .sbb-sr-icon {
58
- color: var(--sbb-color-granite);
59
- color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));
60
- }
61
-
62
- .sbb-sr-graphic svg {
63
- width: 100%;
64
- height: 100%;
65
- }
66
- .sbb-sr-graphic svg .fix-rotation-inverse {
67
- transform-origin: center;
68
- rotate: calc(var(--sbb-seat-reservation-graphic-inverse-rotation) * 1deg);
69
- }
70
- @media (forced-colors: active) {
71
- .sbb-sr-graphic svg:not(.color-immutable) [fill]:not([fill=none]) {
72
- fill: currentcolor;
73
- }
74
- .sbb-sr-graphic .no-bg {
75
- fill: transparent;
76
- }
77
- }`;
78
- //#endregion
79
- //#region src/elements-experimental/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.ts
80
- /**
81
- * Output one of the SVG graphics based on its code.
82
- */
83
- var SbbSeatReservationGraphicElement = (() => {
84
- let _classSuper = SbbElement;
85
- let _name_decorators;
86
- let _name_initializers = [];
87
- let _name_extraInitializers = [];
88
- let _stretch_decorators;
89
- let _stretch_initializers = [];
90
- let _stretch_extraInitializers = [];
91
- return class SbbSeatReservationGraphicElement extends _classSuper {
92
- constructor() {
93
- super(...arguments);
94
- this.#name_accessor_storage = __runInitializers(this, _name_initializers, "");
95
- this.#stretch_accessor_storage = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _stretch_initializers, false));
96
- this._language = (__runInitializers(this, _stretch_extraInitializers), new SbbLanguageController(this));
97
- }
98
- static {
99
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
100
- _name_decorators = [forceType(), property({ attribute: "name" })];
101
- _stretch_decorators = [forceType(), property({
102
- attribute: "stretch",
103
- type: Boolean
104
- })];
105
- __esDecorate(this, null, _name_decorators, {
106
- kind: "accessor",
107
- name: "name",
108
- static: false,
109
- private: false,
110
- access: {
111
- has: (obj) => "name" in obj,
112
- get: (obj) => obj.name,
113
- set: (obj, value) => {
114
- obj.name = value;
115
- }
116
- },
117
- metadata: _metadata
118
- }, _name_initializers, _name_extraInitializers);
119
- __esDecorate(this, null, _stretch_decorators, {
120
- kind: "accessor",
121
- name: "stretch",
122
- static: false,
123
- private: false,
124
- access: {
125
- has: (obj) => "stretch" in obj,
126
- get: (obj) => obj.stretch,
127
- set: (obj, value) => {
128
- obj.stretch = value;
129
- }
130
- },
131
- metadata: _metadata
132
- }, _stretch_initializers, _stretch_extraInitializers);
133
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
134
- enumerable: true,
135
- configurable: true,
136
- writable: true,
137
- value: _metadata
138
- });
139
- }
140
- static {
141
- this.elementName = "sbb-seat-reservation-graphic";
142
- }
143
- static {
144
- this.styles = [boxSizingStyles, seat_reservation_graphic_default];
145
- }
146
- #name_accessor_storage;
147
- /** Name of the SVG graphic to be displayed. */
148
- get name() {
149
- return this.#name_accessor_storage;
150
- }
151
- set name(value) {
152
- this.#name_accessor_storage = value;
153
- }
154
- #stretch_accessor_storage;
155
- /** if true, scale the graphic content of the given element non-uniformly if necessary */
156
- get stretch() {
157
- return this.#stretch_accessor_storage;
158
- }
159
- set stretch(value) {
160
- this.#stretch_accessor_storage = value;
161
- }
162
- render() {
163
- const svgObj = mapIconToSvg[this.name];
164
- if (!svgObj?.svg && !svgObj?.svgName) return null;
165
- return html`<span
166
- class="${classMap({
167
- "sbb-sr-icon": !!svgObj.svgName,
168
- "sbb-sr-graphic": !!svgObj.svg
169
- })}"
170
- >
171
- ${svgObj.svgName ? html` <sbb-icon
172
- name="${svgObj.svgName || ""}"
173
- aria-hidden="false"
174
- aria-label="${getI18nSeatReservation(svgObj.svgName, this._language.current)}"
175
- ></sbb-icon>` : html`${this._getSvgElement(svgObj.svg)}`}
176
- </span>`;
177
- }
178
- _getSvgElement(svg) {
179
- if (!isServer) {
180
- const parser = new DOMParser();
181
- const svgString = svg || "<svg></svg>";
182
- const svgElm = parser.parseFromString(svgString, "image/svg+xml").firstElementChild;
183
- if (this.stretch && svgElm?.nodeName.toLowerCase() === "svg") svgElm.setAttribute("preserveAspectRatio", "none");
184
- return svgElm;
185
- }
186
- return null;
187
- }
188
- };
189
- })();
190
- //#endregion
191
- export { SbbSeatReservationGraphicElement as t };
192
-
193
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLmNvbXBvbmVudC1jVW5zSGg1eC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy5zY3NzP2xpdCZpbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtd2lkdGg6IDE2O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaGVpZ2h0OiAxNjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXJvdGF0aW9uOiAwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaW52ZXJzZS1yb3RhdGlvbjogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXBvc2l0aW9uOiBpbml0aWFsO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtbGVmdDogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXRvcDogMDtcbiAgLS1zYmItaWNvbi1zdmctd2lkdGg6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy13aWR0aCkgKlxuICAgICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tb25lLXB4LXJlbSwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDEpfSlcbiAgKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaGVpZ2h0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogY2FsYyhcbiAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXdpZHRoKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICBoZWlnaHQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1oZWlnaHQpICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG4gIHBvc2l0aW9uOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXBvc2l0aW9uKTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtbGVmdCkgKlxuICAgICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tb25lLXB4LXJlbSwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDEpfSlcbiAgKTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy10b3ApICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG59XG5cbi8vIGF1dG8td2lkdGggc2V0dGluZ3MgZm9yIGdyYXBoaWNzXG46aG9zdCguYXV0by13aWR0aCkge1xuICAtLXNiYi1pY29uLXN2Zy13aWR0aDogYXV0bztcblxuICBtYXgtd2lkdGg6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1tYXgtd2lkdGgpICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vLyBob3ZlciBzdGF0ZSB3aXRoIHBvaW50ZXIgY3Vyc29yIGZvciBzZXJ2aWNlIGljb25zIGFuZCBwb3BvdmVyXG46aG9zdCguc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy0tY3Vyc29yLXBvaW50ZXIpIHtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xufVxuXG4uc2JiLXNyLWljb24sXG4uc2JiLXNyLWdyYXBoaWMge1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHJvdGF0ZTogY2FsYyh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXJvdGF0aW9uKSAqIDFkZWcpO1xufVxuXG4uc2JiLXNyLWljb24ge1xuICAvLyBvdmVycmlkZSBjb2xvciBkaXJlY3RseSBzZXQgaW4gdGhlIFNWRyBmaWxlIGNvbWluZyBmcm9tIENETlxuICBjb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSkpO1xufVxuXG4uc2JiLXNyLWdyYXBoaWMge1xuICBzdmcge1xuICAgIHdpZHRoOiBjbGFtcCgxMDAlLCAxMDAlLCAxMDAlKTtcbiAgICBoZWlnaHQ6IGNsYW1wKDEwMCUsIDEwMCUsIDEwMCUpO1xuXG4gICAgLmZpeC1yb3RhdGlvbi1pbnZlcnNlIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHJvdGF0ZTogY2FsYyh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWludmVyc2Utcm90YXRpb24pICogMWRlZyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIHN2Zzpub3QoLmNvbG9yLWltbXV0YWJsZSkge1xuICAgICAgW2ZpbGxdOm5vdChbZmlsbD0nbm9uZSddKSB7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubm8tYmcge1xuICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGlzU2VydmVyLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL2NsYXNzLW1hcC5qcyc7XG5cbmltcG9ydCB7IG1hcEljb25Ub1N2ZyB9IGZyb20gJy4uL2NvbW1vbi9tYXBwZXIudHMnO1xuaW1wb3J0IHsgZ2V0STE4blNlYXRSZXNlcnZhdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90cmFuc2xhdGlvbnMudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9pY29uLmpzJztcblxuLyoqXG4gKiBPdXRwdXQgb25lIG9mIHRoZSBTVkcgZ3JhcGhpY3MgYmFzZWQgb24gaXRzIGNvZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTZWF0UmVzZXJ2YXRpb25HcmFwaGljRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYyc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHN0eWxlXTtcblxuICAvKiogTmFtZSBvZiB0aGUgU1ZHIGdyYXBoaWMgdG8gYmUgZGlzcGxheWVkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnbmFtZScgfSlcbiAgcHVibGljIGFjY2Vzc29yIG5hbWU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBpZiB0cnVlLCBzY2FsZSB0aGUgZ3JhcGhpYyBjb250ZW50IG9mIHRoZSBnaXZlbiBlbGVtZW50IG5vbi11bmlmb3JtbHkgaWYgbmVjZXNzYXJ5ICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdzdHJldGNoJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc3RyZXRjaDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHwgbnVsbCB7XG4gICAgY29uc3Qgc3ZnT2JqID0gbWFwSWNvblRvU3ZnW3RoaXMubmFtZV07XG5cbiAgICBpZiAoIXN2Z09iaj8uc3ZnICYmICFzdmdPYmo/LnN2Z05hbWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYDxzcGFuXG4gICAgICBjbGFzcz1cIiR7Y2xhc3NNYXAoe1xuICAgICAgICAnc2JiLXNyLWljb24nOiAhIXN2Z09iai5zdmdOYW1lLFxuICAgICAgICAnc2JiLXNyLWdyYXBoaWMnOiAhIXN2Z09iai5zdmcsXG4gICAgICB9KX1cIlxuICAgID5cbiAgICAgICR7c3ZnT2JqLnN2Z05hbWVcbiAgICAgICAgPyBodG1sYCA8c2JiLWljb25cbiAgICAgICAgICAgIG5hbWU9XCIke3N2Z09iai5zdmdOYW1lIHx8ICcnfVwiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCIke2dldEkxOG5TZWF0UmVzZXJ2YXRpb24oc3ZnT2JqLnN2Z05hbWUsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpfVwiXG4gICAgICAgICAgPjwvc2JiLWljb24+YFxuICAgICAgICA6IGh0bWxgJHt0aGlzLl9nZXRTdmdFbGVtZW50KHN2Z09iai5zdmchKX1gfVxuICAgIDwvc3Bhbj5gO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3ZnRWxlbWVudChzdmc6IHN0cmluZyk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XG4gICAgICBjb25zdCBzdmdTdHJpbmcgPSBzdmcgfHwgJzxzdmc+PC9zdmc+JztcbiAgICAgIGNvbnN0IHN2Z0VsbSA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoc3ZnU3RyaW5nLCAnaW1hZ2Uvc3ZnK3htbCcpLmZpcnN0RWxlbWVudENoaWxkO1xuICAgICAgaWYgKHRoaXMuc3RyZXRjaCAmJiBzdmdFbG0/Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzdmcnKSB7XG4gICAgICAgIHN2Z0VsbS5zZXRBdHRyaWJ1dGUoJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLCAnbm9uZScpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN2Z0VsbTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYyc6IFNiYlNlYXRSZXNlcnZhdGlvbkdyYXBoaWNFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNtQmEsMENBQWdDO21CQUFTOzs7Ozs7O2NBQXpDLHlDQUF5QyxZQUFVOzs7QUFPOUMsU0FBQSx3QkFBQSxrQkFBQSxNQUFBLG9CQUFlLEdBQUU7QUFLakIsU0FBQSw0QkFBQSxrQkFBQSxNQUFBLHdCQUFBLEVBQUEsa0JBQUEsTUFBQSx1QkFBbUIsTUFBSztBQUVoQyxRQUFBLGFBQVMsa0JBQUEsTUFBQSwyQkFBQSxFQUFHLElBQUksc0JBQXNCLEtBQUs7Ozs7dUJBVGxELFdBQVcsRUFDWCxTQUFTLEVBQUUsV0FBVyxRQUFRLENBQUMsQ0FBQTswQkFJL0IsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQVcsTUFBTTtJQUFTLENBQUMsQ0FBQTtBQUpsRCxnQkFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFKLE9BQUk7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxvQkFBQSx3QkFBQTtBQUtwQixnQkFBQSxNQUFBLE1BQUEscUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxhQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU8sTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFQLFVBQU87O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx1QkFBQSwyQkFBQTs7Ozs7Ozs7O0FBWFMsUUFBQSxjQUFzQjs7O0FBQy9CLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsaUNBQU07O0VBS3hFOztFQUFBLElBQWdCLE9BQUk7QUFBQSxVQUFBLE1BQUE7O0VBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLFNBQUEsd0JBQUE7O0VBS3BCOztFQUFBLElBQWdCLFVBQU87QUFBQSxVQUFBLE1BQUE7O0VBQXZCLElBQWdCLFFBQU8sT0FBQTtBQUFBLFNBQUEsMkJBQUE7O0VBSUosU0FBTTtHQUN2QixNQUFNLFNBQVMsYUFBYSxLQUFLO0FBRWpDLE9BQUksQ0FBQyxRQUFRLE9BQU8sQ0FBQyxRQUFRLFFBQzNCLFFBQU87QUFHVCxVQUFPLElBQUk7ZUFDQSxTQUFTO0lBQ2hCLGVBQWUsQ0FBQyxDQUFDLE9BQU87SUFDeEIsa0JBQWtCLENBQUMsQ0FBQyxPQUFPO0lBQzVCLENBQUMsQ0FBQTs7UUFFQSxPQUFPLFVBQ0wsSUFBSTtvQkFDTSxPQUFPLFdBQVcsR0FBRTs7MEJBRWQsdUJBQXVCLE9BQU8sU0FBUyxLQUFLLFVBQVUsUUFBUSxDQUFBOzBCQUU5RSxJQUFJLEdBQUcsS0FBSyxlQUFlLE9BQU8sSUFBSyxHQUFBOzs7RUFJdkMsZUFBZSxLQUFXO0FBQ2hDLE9BQUksQ0FBQyxVQUFVO0lBQ2IsTUFBTSxTQUFTLElBQUksV0FBVztJQUM5QixNQUFNLFlBQVksT0FBTztJQUN6QixNQUFNLFNBQVMsT0FBTyxnQkFBZ0IsV0FBVyxnQkFBZ0IsQ0FBQztBQUNsRSxRQUFJLEtBQUssV0FBVyxRQUFRLFNBQVMsYUFBYSxLQUFLLE1BQ3JELFFBQU8sYUFBYSx1QkFBdUIsT0FBTztBQUVwRCxXQUFPOztBQUdULFVBQU8ifQ==