@sbb-esta/lyne-elements-experimental 2.10.1 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/custom-elements.json +4286 -0
  2. package/development/seat-reservation/common/mapper/icon-mapper.d.ts +112 -0
  3. package/development/seat-reservation/common/mapper/icon-mapper.d.ts.map +1 -0
  4. package/development/seat-reservation/common/mapper/icon-mapper.js +72 -0
  5. package/development/seat-reservation/common/mapper/mapper.d.ts +29 -0
  6. package/development/seat-reservation/common/mapper/mapper.d.ts.map +1 -0
  7. package/development/seat-reservation/common/mapper/mapper.js +117 -0
  8. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts +225 -0
  9. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts.map +1 -0
  10. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.js +6152 -0
  11. package/development/seat-reservation/common/mapper.d.ts +3 -0
  12. package/development/seat-reservation/common/mapper.d.ts.map +1 -0
  13. package/development/seat-reservation/common/mapper.js +10 -0
  14. package/development/seat-reservation/common/svgs.d.ts +25 -0
  15. package/development/seat-reservation/common/svgs.d.ts.map +1 -0
  16. package/development/seat-reservation/common/svgs.js +48 -0
  17. package/development/seat-reservation/common/translations/i18n.d.ts +19 -0
  18. package/development/seat-reservation/common/translations/i18n.d.ts.map +1 -0
  19. package/development/seat-reservation/common/translations/i18n.js +462 -0
  20. package/development/seat-reservation/common/translations.d.ts +2 -0
  21. package/development/seat-reservation/common/translations.d.ts.map +1 -0
  22. package/development/seat-reservation/common/translations.js +5 -0
  23. package/development/seat-reservation/common.d.ts +5 -0
  24. package/development/seat-reservation/common.d.ts.map +1 -0
  25. package/development/seat-reservation/common.js +18 -0
  26. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +156 -0
  27. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -0
  28. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +706 -0
  29. package/development/seat-reservation/seat-reservation/seat-reservation-scoped-component/seat-reservation-scoped.component.d.ts +29 -0
  30. package/development/seat-reservation/seat-reservation/seat-reservation-scoped-component/seat-reservation-scoped.component.d.ts.map +1 -0
  31. package/development/seat-reservation/seat-reservation/seat-reservation-scoped-component/seat-reservation-scoped.component.js +196 -0
  32. package/development/seat-reservation/seat-reservation/seat-reservation-scoped-component.d.ts +2 -0
  33. package/development/seat-reservation/seat-reservation/seat-reservation-scoped-component.d.ts.map +1 -0
  34. package/development/seat-reservation/seat-reservation/seat-reservation-scoped-component.js +5 -0
  35. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +62 -0
  36. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -0
  37. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +615 -0
  38. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +18 -0
  39. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -0
  40. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +108 -0
  41. package/development/seat-reservation/seat-reservation-area.d.ts +2 -0
  42. package/development/seat-reservation/seat-reservation-area.d.ts.map +1 -0
  43. package/development/seat-reservation/seat-reservation-area.js +5 -0
  44. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts +9 -0
  45. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts.map +1 -0
  46. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +326 -0
  47. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +29 -0
  48. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -0
  49. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +224 -0
  50. package/development/seat-reservation/seat-reservation-graphic.d.ts +2 -0
  51. package/development/seat-reservation/seat-reservation-graphic.d.ts.map +1 -0
  52. package/development/seat-reservation/seat-reservation-graphic.js +5 -0
  53. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +65 -0
  54. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -0
  55. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +576 -0
  56. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.d.ts +2 -0
  57. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.d.ts.map +1 -0
  58. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.js +5 -0
  59. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +21 -0
  60. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -0
  61. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +123 -0
  62. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services.d.ts +2 -0
  63. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services.d.ts.map +1 -0
  64. package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services.js +5 -0
  65. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +53 -0
  66. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -0
  67. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +446 -0
  68. package/development/seat-reservation/seat-reservation-place-control.d.ts +2 -0
  69. package/development/seat-reservation/seat-reservation-place-control.d.ts.map +1 -0
  70. package/development/seat-reservation/seat-reservation-place-control.js +5 -0
  71. package/development/seat-reservation/seat-reservation.d.ts +73 -0
  72. package/development/seat-reservation/seat-reservation.d.ts.map +1 -0
  73. package/development/seat-reservation/seat-reservation.js +7 -0
  74. package/development/seat-reservation.d.ts +5 -0
  75. package/development/seat-reservation.d.ts.map +1 -0
  76. package/development/seat-reservation.js +7 -0
  77. package/index.d.ts +14 -0
  78. package/index.js +14 -0
  79. package/package.json +7 -2
  80. package/seat-reservation/common/mapper/icon-mapper.d.ts +112 -0
  81. package/seat-reservation/common/mapper/icon-mapper.d.ts.map +1 -0
  82. package/seat-reservation/common/mapper/icon-mapper.js +71 -0
  83. package/seat-reservation/common/mapper/mapper.d.ts +29 -0
  84. package/seat-reservation/common/mapper/mapper.d.ts.map +1 -0
  85. package/seat-reservation/common/mapper/mapper.js +87 -0
  86. package/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts +225 -0
  87. package/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts.map +1 -0
  88. package/seat-reservation/common/mapper/seat-reservation-sample-data.js +6149 -0
  89. package/seat-reservation/common/mapper.d.ts +3 -0
  90. package/seat-reservation/common/mapper.d.ts.map +1 -0
  91. package/seat-reservation/common/mapper.js +9 -0
  92. package/seat-reservation/common/svgs.d.ts +25 -0
  93. package/seat-reservation/common/svgs.d.ts.map +1 -0
  94. package/seat-reservation/common/svgs.js +250 -0
  95. package/seat-reservation/common/translations/i18n.d.ts +19 -0
  96. package/seat-reservation/common/translations/i18n.d.ts.map +1 -0
  97. package/seat-reservation/common/translations/i18n.js +460 -0
  98. package/seat-reservation/common/translations.d.ts +2 -0
  99. package/seat-reservation/common/translations.d.ts.map +1 -0
  100. package/seat-reservation/common/translations.js +4 -0
  101. package/seat-reservation/common.d.ts +5 -0
  102. package/seat-reservation/common.d.ts.map +1 -0
  103. package/seat-reservation/common.js +17 -0
  104. package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +156 -0
  105. package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -0
  106. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +435 -0
  107. package/seat-reservation/seat-reservation/seat-reservation-scoped-component/seat-reservation-scoped.component.d.ts +29 -0
  108. package/seat-reservation/seat-reservation/seat-reservation-scoped-component/seat-reservation-scoped.component.d.ts.map +1 -0
  109. package/seat-reservation/seat-reservation/seat-reservation-scoped-component/seat-reservation-scoped.component.js +107 -0
  110. package/seat-reservation/seat-reservation/seat-reservation-scoped-component.d.ts +2 -0
  111. package/seat-reservation/seat-reservation/seat-reservation-scoped-component.d.ts.map +1 -0
  112. package/seat-reservation/seat-reservation/seat-reservation-scoped-component.js +4 -0
  113. package/seat-reservation/seat-reservation/seat-reservation.component.d.ts +62 -0
  114. package/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -0
  115. package/seat-reservation/seat-reservation/seat-reservation.component.js +404 -0
  116. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +18 -0
  117. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -0
  118. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +49 -0
  119. package/seat-reservation/seat-reservation-area.d.ts +2 -0
  120. package/seat-reservation/seat-reservation-area.d.ts.map +1 -0
  121. package/seat-reservation/seat-reservation-area.js +4 -0
  122. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts +9 -0
  123. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts.map +1 -0
  124. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +317 -0
  125. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +29 -0
  126. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -0
  127. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +113 -0
  128. package/seat-reservation/seat-reservation-graphic.d.ts +2 -0
  129. package/seat-reservation/seat-reservation-graphic.d.ts.map +1 -0
  130. package/seat-reservation/seat-reservation-graphic.js +4 -0
  131. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +65 -0
  132. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -0
  133. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +248 -0
  134. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.d.ts +2 -0
  135. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.d.ts.map +1 -0
  136. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.js +4 -0
  137. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +21 -0
  138. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -0
  139. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +80 -0
  140. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services.d.ts +2 -0
  141. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services.d.ts.map +1 -0
  142. package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services.js +4 -0
  143. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +53 -0
  144. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -0
  145. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +190 -0
  146. package/seat-reservation/seat-reservation-place-control.d.ts +2 -0
  147. package/seat-reservation/seat-reservation-place-control.d.ts.map +1 -0
  148. package/seat-reservation/seat-reservation-place-control.js +4 -0
  149. package/seat-reservation/seat-reservation.d.ts +73 -0
  150. package/seat-reservation/seat-reservation.d.ts.map +1 -0
  151. package/seat-reservation/seat-reservation.js +6 -0
  152. package/seat-reservation.d.ts +5 -0
  153. package/seat-reservation.d.ts.map +1 -0
  154. package/seat-reservation.js +6 -0
@@ -0,0 +1,576 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ import { __runInitializers, __esDecorate } from "tslib";
9
+ import { SbbLanguageController } from "@sbb-esta/lyne-elements/core/controllers.js";
10
+ import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
11
+ import { EventEmitter } from "@sbb-esta/lyne-elements/core/eventing.js";
12
+ import { css, LitElement, nothing, html } from "lit";
13
+ import { customElement, property } from "lit/decorators.js";
14
+ import { classMap } from "lit/directives/class-map.js";
15
+ import { getI18nSeatReservation } from "../../common/translations.js";
16
+ import "@sbb-esta/lyne-elements/screen-reader-only.js";
17
+ import "../seat-reservation-navigation-services.js";
18
+ const style = css`*,
19
+ ::before,
20
+ ::after {
21
+ box-sizing: border-box;
22
+ }
23
+
24
+ :host {
25
+ --sbb-seat-reservation-navigation-travelclass-spacing: 0.625rem;
26
+ --sbb-seat-reservation-navigation-btn-outline-color: var(--sbb-color-granite);
27
+ --sbb-seat-reservation-navigation-btn-outline-width: var(--sbb-border-width-1x);
28
+ --sbb-seat-reservation-navigation-btn-background-color: var(--sbb-color-white);
29
+ --sbb-seat-reservation-navigation-btn-outline-color-selected: var(--sbb-color-black);
30
+ --sbb-seat-reservation-navigation-btn-outline-width-hover: var(--sbb-border-width-2x);
31
+ --sbb-seat-reservation-navigation-btn-background-color-hover: var(--sbb-color-cloud);
32
+ }
33
+
34
+ .sbb-sr-navigation__item-coach {
35
+ display: flex;
36
+ flex-direction: column;
37
+ gap: var(--sbb-spacing-fixed-2x);
38
+ width: var(--sbb-train-formation-wagon-width);
39
+ list-style-type: none;
40
+ }
41
+ .sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class, .sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class {
42
+ width: calc(100% - 1.125rem);
43
+ }
44
+ .sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation__ctrl-button:not(.sbb-seat-reservation-navigation-driver-area) {
45
+ border-start-start-radius: var(--sbb-border-radius-8x);
46
+ border-end-start-radius: var(--sbb-border-radius-8x);
47
+ }
48
+ .sbb-sr-navigation__item-coach.first-coach .sbb-sr-navigation--first-class {
49
+ margin-inline-start: var(--sbb-seat-reservation-navigation-travelclass-spacing);
50
+ }
51
+ .sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area) {
52
+ border-start-end-radius: var(--sbb-border-radius-8x);
53
+ border-end-end-radius: var(--sbb-border-radius-8x);
54
+ }
55
+ .sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation__additional-information {
56
+ padding-inline-end: var(--sbb-seat-reservation-navigation-travelclass-spacing);
57
+ }
58
+ .sbb-sr-navigation__item-coach.last-coach .sbb-sr-navigation--first-class {
59
+ margin-inline-end: var(--sbb-seat-reservation-navigation-travelclass-spacing);
60
+ }
61
+ .sbb-sr-navigation__item-coach.vertical-coach {
62
+ flex-direction: row;
63
+ }
64
+
65
+ .sbb-sr-navigation__ctrl-button {
66
+ -webkit-appearance: none;
67
+ -moz-appearance: none;
68
+ box-sizing: border-box;
69
+ margin: 0;
70
+ outline: none;
71
+ border: none;
72
+ border-radius: 0;
73
+ padding: 0;
74
+ background: none;
75
+ -webkit-tap-highlight-color: transparent;
76
+ color: inherit;
77
+ display: flex;
78
+ flex-direction: column;
79
+ justify-content: center;
80
+ height: 2.25rem;
81
+ position: relative;
82
+ outline: var(--sbb-seat-reservation-navigation-btn-outline-width) solid var(--sbb-seat-reservation-navigation-btn-outline-color);
83
+ border-radius: var(--sbb-border-radius-2x);
84
+ background-color: var(--sbb-seat-reservation-navigation-btn-background-color);
85
+ cursor: pointer;
86
+ }
87
+ .sbb-sr-navigation__ctrl-button.sbb-sr-navigation-driver-area {
88
+ border-radius: var(--sbb-border-radius-8x);
89
+ cursor: initial;
90
+ }
91
+
92
+ .sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button,
93
+ .sbb-sr-navigation__ctrl-button:focus-visible:not([disabled], :disabled, .sbb-sr-navigation-driver-area),
94
+ .sbb-sr-navigation__ctrl-button:hover:not([disabled], :disabled, .sbb-sr-navigation-driver-area) {
95
+ --sbb-seat-reservation-navigation-btn-outline-width: var(
96
+ --sbb-seat-reservation-navigation-btn-outline-width-hover
97
+ );
98
+ --sbb-seat-reservation-navigation-btn-outline-color: var(--sbb-color-black);
99
+ }
100
+
101
+ .sbb-sr-navigation__ctrl-button:focus-visible:not([disabled], :disabled) {
102
+ --sbb-seat-reservation-navigation-btn-background-color: var(--sbb-color-silver);
103
+ }
104
+ .sbb-sr-navigation__ctrl-button:focus-visible:not([disabled], :disabled) .sbb-sr-navigation__item-coach-travelclass {
105
+ background-color: var(--sbb-color-metal);
106
+ }
107
+ .sbb-sr-navigation__ctrl-button:focus-visible:not([disabled], :disabled) .sbb-sr-navigation__item-coach-number {
108
+ color: var(--sbb-color-anthracite);
109
+ }
110
+
111
+ .sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button {
112
+ --sbb-seat-reservation-navigation-btn-background-color: var(--sbb-color-milk);
113
+ }
114
+ .sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-travelclass {
115
+ background-color: var(--sbb-color-black);
116
+ }
117
+ .sbb-sr-navigation__item-coach--selected .sbb-sr-navigation__ctrl-button .sbb-sr-navigation__item-coach-number {
118
+ color: var(--sbb-color-black);
119
+ }
120
+
121
+ .sbb-sr-navigation__ctrl-button:hover:not([disabled], :disabled, .sbb-sr-navigation-driver-area) {
122
+ --sbb-seat-reservation-navigation-btn-background-color: var(--sbb-color-cloud);
123
+ }
124
+ .sbb-sr-navigation__ctrl-button:hover:not([disabled], :disabled, .sbb-sr-navigation-driver-area) .sbb-sr-navigation__item-coach-travelclass {
125
+ background-color: var(--sbb-color-smoke);
126
+ }
127
+ .sbb-sr-navigation__ctrl-button:hover:not([disabled], :disabled, .sbb-sr-navigation-driver-area) .sbb-sr-navigation__item-coach-number {
128
+ color: var(--sbb-color-iron);
129
+ }
130
+
131
+ .sbb-sr-navigation__ctrl-button:is([disabled], :disabled) {
132
+ --sbb-seat-reservation-navigation-btn-background-color: var(--sbb-color-white);
133
+ --sbb-seat-reservation-navigation-btn-outline-color: var(--sbb-color-platinum);
134
+ cursor: unset;
135
+ pointer-events: unset;
136
+ }
137
+ .sbb-sr-navigation__ctrl-button:is([disabled], :disabled) .sbb-sr-navigation__item-coach-travelclass {
138
+ background-color: var(--sbb-color-graphite);
139
+ }
140
+ .sbb-sr-navigation__ctrl-button:is([disabled], :disabled) .sbb-sr-navigation__item-coach-number {
141
+ color: var(--sbb-color-graphite);
142
+ }
143
+
144
+ .sbb-sr-navigation__additional-information {
145
+ display: flex;
146
+ justify-content: space-between;
147
+ align-items: center;
148
+ flex: 1;
149
+ column-gap: var(--sbb-spacing-fixed-2x);
150
+ padding-inline: 1rem 1rem;
151
+ font-family: var(--sbb-typo-font-family);
152
+ font-weight: 700;
153
+ color: var(--sbb-color-granite);
154
+ }
155
+ @media (forced-colors: active) {
156
+ .sbb-sr-navigation__additional-information {
157
+ color: var(--sbb-color-milk);
158
+ }
159
+ }
160
+
161
+ .sbb-sr-navigation__item-coach-number {
162
+ color: var(--sbb-color-granite);
163
+ }
164
+ @media (forced-colors: active) {
165
+ .sbb-sr-navigation__item-coach-number {
166
+ color: var(--sbb-color-granite);
167
+ }
168
+ }
169
+ @media (forced-colors: active) and (forced-colors: active) {
170
+ .sbb-sr-navigation__item-coach-number {
171
+ color: inherit;
172
+ }
173
+ }
174
+ .sbb-sr-navigation__item-coach-number .sbb-sr-navigation__item-coach-travelclass {
175
+ background-color: var(--sbb-color-charcoal);
176
+ }
177
+
178
+ .sbb-sr-navigation--first-class {
179
+ width: calc(100% - 0.5rem);
180
+ position: absolute;
181
+ inset-block-start: 0.1875rem;
182
+ inset-inline-start: 0.25rem;
183
+ border: var(--sbb-border-width-1x) solid transparent;
184
+ border-radius: var(--sbb-border-radius-1x);
185
+ margin: auto;
186
+ background-color: var(--sbb-color-lemon);
187
+ }
188
+
189
+ .sbb-sr-navigation__item-coach-travelclass {
190
+ display: flex;
191
+ align-items: center;
192
+ justify-content: center;
193
+ min-height: 1.25rem;
194
+ min-width: 1.25rem;
195
+ border-radius: var(--sbb-border-radius-1x);
196
+ text-align: center;
197
+ background-color: var(--sbb-color-granite);
198
+ color: var(--sbb-color-white);
199
+ }
200
+
201
+ .sbb-sr-navigation__item-coach.vertical-coach .sbb-sr-navigation__ctrl-button {
202
+ flex-direction: row-reverse;
203
+ height: 5rem;
204
+ min-width: 2.25rem;
205
+ }
206
+ .sbb-sr-navigation__item-coach.vertical-coach .sbb-sr-navigation__additional-information {
207
+ flex-direction: column-reverse;
208
+ padding-block: 1rem 1rem;
209
+ padding-inline-start: unset;
210
+ padding-inline-end: unset;
211
+ }
212
+ .sbb-sr-navigation__item-coach.vertical-coach .sbb-sr-navigation--first-class {
213
+ height: calc(100% - 0.5rem);
214
+ width: initial;
215
+ inset-inline-end: 0.1875rem;
216
+ inset-block-start: 0.25rem;
217
+ inset-inline-start: initial;
218
+ }
219
+ .sbb-sr-navigation__item-coach.vertical-coach.first-coach .sbb-sr-navigation--first-class, .sbb-sr-navigation__item-coach.vertical-coach.last-coach .sbb-sr-navigation--first-class {
220
+ height: calc(100% - 1.125rem);
221
+ }
222
+ .sbb-sr-navigation__item-coach.vertical-coach.first-coach:not(.last-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area) {
223
+ border-start-end-radius: var(--sbb-border-radius-8x);
224
+ border-end-start-radius: var(--sbb-border-radius-2x);
225
+ }
226
+ .sbb-sr-navigation__item-coach.vertical-coach.first-coach:not(.last-coach) .sbb-sr-navigation--first-class {
227
+ margin-block-start: var(--sbb-seat-reservation-navigation-travelclass-spacing);
228
+ margin-inline-start: initial;
229
+ }
230
+ .sbb-sr-navigation__item-coach.vertical-coach.last-coach:not(.first-coach) .sbb-sr-navigation__ctrl-button:not(.sbb-sr-navigation-driver-area) {
231
+ border-start-end-radius: var(--sbb-border-radius-2x);
232
+ border-end-start-radius: var(--sbb-border-radius-8x);
233
+ }
234
+ .sbb-sr-navigation__item-coach.vertical-coach.last-coach:not(.first-coach) .sbb-sr-navigation--first-class {
235
+ margin-block-end: var(--sbb-seat-reservation-navigation-travelclass-spacing);
236
+ margin-inline-end: initial;
237
+ }
238
+ .sbb-sr-navigation__item-coach.vertical-coach .sbb-sr-navigation-driver-area {
239
+ height: 5rem;
240
+ min-width: 2.25rem;
241
+ }`;
242
+ const MAX_SERVICE_PROPERTIES = 3;
243
+ let SbbSeatReservationNavigationCoachElement = (() => {
244
+ var _coachId_accessor_storage, _propertyIds_accessor_storage, _selected_accessor_storage, _focused_accessor_storage, _index_accessor_storage, _travelClass_accessor_storage, _driverArea_accessor_storage, _first_accessor_storage, _last_accessor_storage, _disable_accessor_storage, _vertical_accessor_storage, _a;
245
+ let _classDecorators = [customElement("sbb-seat-reservation-navigation-coach")];
246
+ let _classDescriptor;
247
+ let _classExtraInitializers = [];
248
+ let _classThis;
249
+ let _classSuper = LitElement;
250
+ let _coachId_decorators;
251
+ let _coachId_initializers = [];
252
+ let _coachId_extraInitializers = [];
253
+ let _propertyIds_decorators;
254
+ let _propertyIds_initializers = [];
255
+ let _propertyIds_extraInitializers = [];
256
+ let _selected_decorators;
257
+ let _selected_initializers = [];
258
+ let _selected_extraInitializers = [];
259
+ let _focused_decorators;
260
+ let _focused_initializers = [];
261
+ let _focused_extraInitializers = [];
262
+ let _index_decorators;
263
+ let _index_initializers = [];
264
+ let _index_extraInitializers = [];
265
+ let _travelClass_decorators;
266
+ let _travelClass_initializers = [];
267
+ let _travelClass_extraInitializers = [];
268
+ let _driverArea_decorators;
269
+ let _driverArea_initializers = [];
270
+ let _driverArea_extraInitializers = [];
271
+ let _first_decorators;
272
+ let _first_initializers = [];
273
+ let _first_extraInitializers = [];
274
+ let _last_decorators;
275
+ let _last_initializers = [];
276
+ let _last_extraInitializers = [];
277
+ let _disable_decorators;
278
+ let _disable_initializers = [];
279
+ let _disable_extraInitializers = [];
280
+ let _vertical_decorators;
281
+ let _vertical_initializers = [];
282
+ let _vertical_extraInitializers = [];
283
+ var SbbSeatReservationNavigationCoachElement2 = (_a = class extends _classSuper {
284
+ constructor() {
285
+ super(...arguments);
286
+ __privateAdd(this, _coachId_accessor_storage);
287
+ __privateAdd(this, _propertyIds_accessor_storage);
288
+ __privateAdd(this, _selected_accessor_storage);
289
+ __privateAdd(this, _focused_accessor_storage);
290
+ __privateAdd(this, _index_accessor_storage);
291
+ __privateAdd(this, _travelClass_accessor_storage);
292
+ __privateAdd(this, _driverArea_accessor_storage);
293
+ __privateAdd(this, _first_accessor_storage);
294
+ __privateAdd(this, _last_accessor_storage);
295
+ __privateAdd(this, _disable_accessor_storage);
296
+ __privateAdd(this, _vertical_accessor_storage);
297
+ __privateSet(this, _coachId_accessor_storage, __runInitializers(this, _coachId_initializers, ""));
298
+ __privateSet(this, _propertyIds_accessor_storage, (__runInitializers(this, _coachId_extraInitializers), __runInitializers(this, _propertyIds_initializers, [])));
299
+ __privateSet(this, _selected_accessor_storage, (__runInitializers(this, _propertyIds_extraInitializers), __runInitializers(this, _selected_initializers, false)));
300
+ __privateSet(this, _focused_accessor_storage, (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _focused_initializers, false)));
301
+ __privateSet(this, _index_accessor_storage, (__runInitializers(this, _focused_extraInitializers), __runInitializers(this, _index_initializers, 0)));
302
+ __privateSet(this, _travelClass_accessor_storage, (__runInitializers(this, _index_extraInitializers), __runInitializers(this, _travelClass_initializers, ["ANY_CLASS"])));
303
+ __privateSet(this, _driverArea_accessor_storage, (__runInitializers(this, _travelClass_extraInitializers), __runInitializers(this, _driverArea_initializers, false)));
304
+ __privateSet(this, _first_accessor_storage, (__runInitializers(this, _driverArea_extraInitializers), __runInitializers(this, _first_initializers, false)));
305
+ __privateSet(this, _last_accessor_storage, (__runInitializers(this, _first_extraInitializers), __runInitializers(this, _last_initializers, false)));
306
+ __privateSet(this, _disable_accessor_storage, (__runInitializers(this, _last_extraInitializers), __runInitializers(this, _disable_initializers, false)));
307
+ __privateSet(this, _vertical_accessor_storage, (__runInitializers(this, _disable_extraInitializers), __runInitializers(this, _vertical_initializers, false)));
308
+ this._language = (__runInitializers(this, _vertical_extraInitializers), new SbbLanguageController(this));
309
+ this.selectNavCoach = new EventEmitter(this, SbbSeatReservationNavigationCoachElement2.events.selectCoach);
310
+ this.focusNavCoach = new EventEmitter(this, SbbSeatReservationNavigationCoachElement2.events.focusCoach);
311
+ }
312
+ /** Coach ID, which is used to identify the coach in the navigation */
313
+ get coachId() {
314
+ return __privateGet(this, _coachId_accessor_storage);
315
+ }
316
+ set coachId(value) {
317
+ __privateSet(this, _coachId_accessor_storage, value);
318
+ }
319
+ /** Coach service property ids, which are used to display the services in the navigation */
320
+ get propertyIds() {
321
+ return __privateGet(this, _propertyIds_accessor_storage);
322
+ }
323
+ set propertyIds(value) {
324
+ __privateSet(this, _propertyIds_accessor_storage, value);
325
+ }
326
+ /* pre-selected Coach index property */
327
+ get selected() {
328
+ return __privateGet(this, _selected_accessor_storage);
329
+ }
330
+ set selected(value) {
331
+ __privateSet(this, _selected_accessor_storage, value);
332
+ }
333
+ /* focus Coach index property */
334
+ get focused() {
335
+ return __privateGet(this, _focused_accessor_storage);
336
+ }
337
+ set focused(value) {
338
+ __privateSet(this, _focused_accessor_storage, value);
339
+ }
340
+ get index() {
341
+ return __privateGet(this, _index_accessor_storage);
342
+ }
343
+ set index(value) {
344
+ __privateSet(this, _index_accessor_storage, value);
345
+ }
346
+ /** Travel class of the coach */
347
+ get travelClass() {
348
+ return __privateGet(this, _travelClass_accessor_storage);
349
+ }
350
+ set travelClass(value) {
351
+ __privateSet(this, _travelClass_accessor_storage, value);
352
+ }
353
+ /** If the coach is a driver/restricted area */
354
+ get driverArea() {
355
+ return __privateGet(this, _driverArea_accessor_storage);
356
+ }
357
+ set driverArea(value) {
358
+ __privateSet(this, _driverArea_accessor_storage, value);
359
+ }
360
+ /** If the coach is the first in the navigation */
361
+ get first() {
362
+ return __privateGet(this, _first_accessor_storage);
363
+ }
364
+ set first(value) {
365
+ __privateSet(this, _first_accessor_storage, value);
366
+ }
367
+ /** If the coach is the last in the navigation */
368
+ get last() {
369
+ return __privateGet(this, _last_accessor_storage);
370
+ }
371
+ set last(value) {
372
+ __privateSet(this, _last_accessor_storage, value);
373
+ }
374
+ /** Disable the coach navigation */
375
+ get disable() {
376
+ return __privateGet(this, _disable_accessor_storage);
377
+ }
378
+ set disable(value) {
379
+ __privateSet(this, _disable_accessor_storage, value);
380
+ }
381
+ /** If the coach navigation should be displayed vertically */
382
+ get vertical() {
383
+ return __privateGet(this, _vertical_accessor_storage);
384
+ }
385
+ set vertical(value) {
386
+ __privateSet(this, _vertical_accessor_storage, value);
387
+ }
388
+ willUpdate(changedProperties) {
389
+ var _a2, _b;
390
+ super.willUpdate(changedProperties);
391
+ if (changedProperties.has("selected")) {
392
+ const selectedNavButtonElement = (_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector(".sbb-sr-navigation__ctrl-button");
393
+ if (this.selected && selectedNavButtonElement) {
394
+ selectedNavButtonElement.focus();
395
+ this.focusNavCoach.emit();
396
+ }
397
+ }
398
+ if (changedProperties.has("focused") && this.focused) {
399
+ const focusedNavButtonElement = (_b = this.shadowRoot) == null ? void 0 : _b.querySelector(".sbb-sr-navigation__ctrl-button");
400
+ if (focusedNavButtonElement) {
401
+ focusedNavButtonElement.focus();
402
+ }
403
+ }
404
+ }
405
+ /**
406
+ * Render a maximum of 3 of the service sign icons (slice(0,3)) regardless of the input from Backend,
407
+ * otherwise the layout could be destroyed. Furthermore, we have to filter out the value ANY_SEAT,
408
+ * since this is also passed as a property and does not need to be used here
409
+ *
410
+ * @protected
411
+ */
412
+ render() {
413
+ var _a2;
414
+ this.propertyIds = this.propertyIds.filter((propertyId) => propertyId !== "ANY_SEAT").slice(0, MAX_SERVICE_PROPERTIES);
415
+ return html`
416
+ <div
417
+ class="${classMap({
418
+ "sbb-sr-navigation__item-coach": true,
419
+ "last-coach": this.last,
420
+ "first-coach": this.first,
421
+ "vertical-coach": this.vertical,
422
+ "sbb-sr-navigation__item-coach--selected": this.selected
423
+ })}"
424
+ >
425
+ ${this._getNavigationButton()}
426
+ ${((_a2 = this.propertyIds) == null ? void 0 : _a2.length) ? html`<sbb-seat-reservation-navigation-services
427
+ ?vertical="${this.vertical}"
428
+ .propertyIds="${this.propertyIds}"
429
+ ></sbb-seat-reservation-navigation-services>` : nothing}
430
+ </div>
431
+ `;
432
+ }
433
+ _getNavigationButton() {
434
+ const currServiceClassNumber = this._getCoachServiceClassNumber();
435
+ const titleDescriptionNavCoachButton = this._getTitleDescriptionNavCoachButton(currServiceClassNumber);
436
+ const ariaDescriptionCoachServices = this._getAriaDescriptionCoachServices();
437
+ return html` <button
438
+ type="button"
439
+ ?disabled="${this.disable}"
440
+ class="${classMap({
441
+ "sbb-sr-navigation__ctrl-button": true,
442
+ "sbb-sr-navigation-driver-area": this.driverArea
443
+ })}"
444
+ title="${titleDescriptionNavCoachButton}"
445
+ aria-describedby="nav-coach-service-descriptions-${this.index}"
446
+ @click=${() => this._selectNavCoach(this.index)}
447
+ >
448
+ ${this._getBtnInformation(currServiceClassNumber)}
449
+ </button>
450
+ <sbb-screen-reader-only id="nav-coach-service-descriptions-${this.index}"
451
+ >${ariaDescriptionCoachServices}</sbb-screen-reader-only
452
+ >`;
453
+ }
454
+ _getBtnInformation(serviceClassNumber) {
455
+ var _a2;
456
+ if (this.driverArea) {
457
+ return null;
458
+ }
459
+ return html`
460
+ ${serviceClassNumber === 1 ? html`<span class="sbb-sr-navigation--first-class"></span>` : nothing}
461
+ ${((_a2 = this.travelClass) == null ? void 0 : _a2.length) > 0 || this.coachId ? html`<div class="sbb-sr-navigation__additional-information">
462
+ ${this.coachId ? html`<div class="sbb-sr-navigation__item-coach-number" aria-hidden="true">
463
+ ${this.coachId}
464
+ </div>` : nothing}
465
+ <div
466
+ ${serviceClassNumber ?? nothing}
467
+ class="sbb-sr-navigation__item-coach-travelclass"
468
+ aria-hidden="true"
469
+ >
470
+ ${serviceClassNumber}
471
+ </div>
472
+ </div>` : nothing}
473
+ `;
474
+ }
475
+ _getTitleDescriptionNavCoachButton(serviceClassNumber) {
476
+ if (this.driverArea) {
477
+ return getI18nSeatReservation("NAVIGATE_COACH_BLOCKED", this._language.current, [
478
+ this.coachId
479
+ ]);
480
+ }
481
+ let label = getI18nSeatReservation("NAVIGATE_TO_COACH", this._language.current, [this.coachId]);
482
+ if (serviceClassNumber) {
483
+ const serviceClassTranslationKey = serviceClassNumber === 1 ? "SERVICE_CLASS_FIRST" : "SERVICE_CLASS_SECOND";
484
+ const serviceClassTranslation = getI18nSeatReservation(serviceClassTranslationKey, this._language.current);
485
+ const serviceClassLabel = getI18nSeatReservation("NAVIGATE_TO_COACH_SERVICE_CLASS_SUB", this._language.current, [serviceClassTranslation]);
486
+ label = label.concat(serviceClassLabel);
487
+ }
488
+ return label;
489
+ }
490
+ _getAriaDescriptionCoachServices() {
491
+ let ariaDescrition = null;
492
+ if (this.propertyIds.length) {
493
+ ariaDescrition = getI18nSeatReservation("COACH_AVAILABLE_SERVICES", this._language.current) + ": ";
494
+ ariaDescrition += this.propertyIds.map((propertyId) => getI18nSeatReservation(propertyId, this._language.current)).join();
495
+ }
496
+ return ariaDescrition;
497
+ }
498
+ /**
499
+ * emits the index of the coach array for the main navigation.
500
+ * @param coachIndex
501
+ * @private
502
+ */
503
+ _selectNavCoach(coachIndex) {
504
+ if (!this.driverArea) {
505
+ this.selectNavCoach.emit(coachIndex);
506
+ }
507
+ }
508
+ _getCoachServiceClassNumber() {
509
+ var _a2, _b;
510
+ if ((_a2 = this.travelClass) == null ? void 0 : _a2.includes("FIRST")) {
511
+ return 1;
512
+ } else if ((_b = this.travelClass) == null ? void 0 : _b.includes("SECOND")) {
513
+ return 2;
514
+ } else {
515
+ return null;
516
+ }
517
+ }
518
+ }, _coachId_accessor_storage = new WeakMap(), _propertyIds_accessor_storage = new WeakMap(), _selected_accessor_storage = new WeakMap(), _focused_accessor_storage = new WeakMap(), _index_accessor_storage = new WeakMap(), _travelClass_accessor_storage = new WeakMap(), _driverArea_accessor_storage = new WeakMap(), _first_accessor_storage = new WeakMap(), _last_accessor_storage = new WeakMap(), _disable_accessor_storage = new WeakMap(), _vertical_accessor_storage = new WeakMap(), _classThis = _a, (() => {
519
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
520
+ _coachId_decorators = [forceType(), property({ attribute: "coach-id" })];
521
+ _propertyIds_decorators = [property({ attribute: "property-ids", type: Array })];
522
+ _selected_decorators = [forceType(), property({ type: Boolean })];
523
+ _focused_decorators = [forceType(), property({ type: Boolean })];
524
+ _index_decorators = [forceType(), property({ type: Number })];
525
+ _travelClass_decorators = [property({ attribute: "travel-class", type: Array })];
526
+ _driverArea_decorators = [forceType(), property({ attribute: "driver-area", type: Boolean })];
527
+ _first_decorators = [forceType(), property({ type: Boolean })];
528
+ _last_decorators = [forceType(), property({ type: Boolean })];
529
+ _disable_decorators = [forceType(), property({ attribute: "disable", type: Boolean })];
530
+ _vertical_decorators = [forceType(), property({ type: Boolean })];
531
+ __esDecorate(_a, null, _coachId_decorators, { kind: "accessor", name: "coachId", static: false, private: false, access: { has: (obj) => "coachId" in obj, get: (obj) => obj.coachId, set: (obj, value) => {
532
+ obj.coachId = value;
533
+ } }, metadata: _metadata }, _coachId_initializers, _coachId_extraInitializers);
534
+ __esDecorate(_a, null, _propertyIds_decorators, { kind: "accessor", name: "propertyIds", static: false, private: false, access: { has: (obj) => "propertyIds" in obj, get: (obj) => obj.propertyIds, set: (obj, value) => {
535
+ obj.propertyIds = value;
536
+ } }, metadata: _metadata }, _propertyIds_initializers, _propertyIds_extraInitializers);
537
+ __esDecorate(_a, null, _selected_decorators, { kind: "accessor", name: "selected", static: false, private: false, access: { has: (obj) => "selected" in obj, get: (obj) => obj.selected, set: (obj, value) => {
538
+ obj.selected = value;
539
+ } }, metadata: _metadata }, _selected_initializers, _selected_extraInitializers);
540
+ __esDecorate(_a, null, _focused_decorators, { kind: "accessor", name: "focused", static: false, private: false, access: { has: (obj) => "focused" in obj, get: (obj) => obj.focused, set: (obj, value) => {
541
+ obj.focused = value;
542
+ } }, metadata: _metadata }, _focused_initializers, _focused_extraInitializers);
543
+ __esDecorate(_a, null, _index_decorators, { kind: "accessor", name: "index", static: false, private: false, access: { has: (obj) => "index" in obj, get: (obj) => obj.index, set: (obj, value) => {
544
+ obj.index = value;
545
+ } }, metadata: _metadata }, _index_initializers, _index_extraInitializers);
546
+ __esDecorate(_a, null, _travelClass_decorators, { kind: "accessor", name: "travelClass", static: false, private: false, access: { has: (obj) => "travelClass" in obj, get: (obj) => obj.travelClass, set: (obj, value) => {
547
+ obj.travelClass = value;
548
+ } }, metadata: _metadata }, _travelClass_initializers, _travelClass_extraInitializers);
549
+ __esDecorate(_a, null, _driverArea_decorators, { kind: "accessor", name: "driverArea", static: false, private: false, access: { has: (obj) => "driverArea" in obj, get: (obj) => obj.driverArea, set: (obj, value) => {
550
+ obj.driverArea = value;
551
+ } }, metadata: _metadata }, _driverArea_initializers, _driverArea_extraInitializers);
552
+ __esDecorate(_a, null, _first_decorators, { kind: "accessor", name: "first", static: false, private: false, access: { has: (obj) => "first" in obj, get: (obj) => obj.first, set: (obj, value) => {
553
+ obj.first = value;
554
+ } }, metadata: _metadata }, _first_initializers, _first_extraInitializers);
555
+ __esDecorate(_a, null, _last_decorators, { kind: "accessor", name: "last", static: false, private: false, access: { has: (obj) => "last" in obj, get: (obj) => obj.last, set: (obj, value) => {
556
+ obj.last = value;
557
+ } }, metadata: _metadata }, _last_initializers, _last_extraInitializers);
558
+ __esDecorate(_a, null, _disable_decorators, { kind: "accessor", name: "disable", static: false, private: false, access: { has: (obj) => "disable" in obj, get: (obj) => obj.disable, set: (obj, value) => {
559
+ obj.disable = value;
560
+ } }, metadata: _metadata }, _disable_initializers, _disable_extraInitializers);
561
+ __esDecorate(_a, null, _vertical_decorators, { kind: "accessor", name: "vertical", static: false, private: false, access: { has: (obj) => "vertical" in obj, get: (obj) => obj.vertical, set: (obj, value) => {
562
+ obj.vertical = value;
563
+ } }, metadata: _metadata }, _vertical_initializers, _vertical_extraInitializers);
564
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
565
+ SbbSeatReservationNavigationCoachElement2 = _classThis = _classDescriptor.value;
566
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
567
+ })(), _a.styles = style, _a.events = {
568
+ selectCoach: "selectCoach",
569
+ focusCoach: "focusCoach"
570
+ }, __runInitializers(_classThis, _classExtraInitializers), _a);
571
+ return SbbSeatReservationNavigationCoachElement2 = _classThis;
572
+ })();
573
+ export {
574
+ SbbSeatReservationNavigationCoachElement
575
+ };
576
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9zZWF0LXJlc2VydmF0aW9uL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi9zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tY29hY2gvc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIG5vdGhpbmcsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwLmpzJztcblxuaW1wb3J0IHsgZ2V0STE4blNlYXRSZXNlcnZhdGlvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi90cmFuc2xhdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBQbGFjZVRyYXZlbENsYXNzIH0gZnJvbSAnLi4vLi4vc2VhdC1yZXNlcnZhdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1jb2FjaC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5pbXBvcnQgJy4uL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1zZXJ2aWNlcy5qcyc7XG5cbmNvbnN0IE1BWF9TRVJWSUNFX1BST1BFUlRJRVMgPSAzO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IHdpbGwgZGlzcGxheSB0aGUgbmF2aWdhdGlvbiBjb2FjaCBpdGVtIGZvciBTZWF0IHJlc2VydmF0aW9uLlxuICpcbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8VD59IHNlbGVjdENvYWNoIC0gRW1pdHMgd2hlbiBhIGNvYWNoIHdpdGhpbiB0aGUgbmF2aWdhdGlvbiB3YXMgc2VsZWN0ZWQgYW5kIHJldHVybnMgdGhlIGNsaWNrZWQgY29hY2ggbmF2IGluZGV4XG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFQ+fSBmb2N1c0NvYWNoIC0gIEVtaXRzIHdoZW4gYSBuYXYgY29hY2ggaGFzIHRoZSBmb2N1c1xuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoJylcbmNsYXNzIFNiYlNlYXRSZXNlcnZhdGlvbk5hdmlnYXRpb25Db2FjaEVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdENvYWNoOiAnc2VsZWN0Q29hY2gnLFxuICAgIGZvY3VzQ29hY2g6ICdmb2N1c0NvYWNoJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogQ29hY2ggSUQsIHdoaWNoIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGNvYWNoIGluIHRoZSBuYXZpZ2F0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjb2FjaC1pZCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvYWNoSWQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBDb2FjaCBzZXJ2aWNlIHByb3BlcnR5IGlkcywgd2hpY2ggYXJlIHVzZWQgdG8gZGlzcGxheSB0aGUgc2VydmljZXMgaW4gdGhlIG5hdmlnYXRpb24gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncHJvcGVydHktaWRzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHByb3BlcnR5SWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qIHByZS1zZWxlY3RlZCBDb2FjaCBpbmRleCBwcm9wZXJ0eSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiBmb2N1cyBDb2FjaCBpbmRleCBwcm9wZXJ0eSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGluZGV4OiBudW1iZXIgPSAwO1xuXG4gIC8qKiBUcmF2ZWwgY2xhc3Mgb2YgdGhlIGNvYWNoICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RyYXZlbC1jbGFzcycsIHR5cGU6IEFycmF5IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmF2ZWxDbGFzczogUGxhY2VUcmF2ZWxDbGFzc1tdID0gWydBTllfQ0xBU1MnXTtcblxuICAvKiogSWYgdGhlIGNvYWNoIGlzIGEgZHJpdmVyL3Jlc3RyaWN0ZWQgYXJlYSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZHJpdmVyLWFyZWEnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkcml2ZXJBcmVhOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIElmIHRoZSBjb2FjaCBpcyB0aGUgZmlyc3QgaW4gdGhlIG5hdmlnYXRpb24gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGZpcnN0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIElmIHRoZSBjb2FjaCBpcyB0aGUgbGFzdCBpbiB0aGUgbmF2aWdhdGlvbiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGFzdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBEaXNhYmxlIHRoZSBjb2FjaCBuYXZpZ2F0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkaXNhYmxlJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBJZiB0aGUgY29hY2ggbmF2aWdhdGlvbiBzaG91bGQgYmUgZGlzcGxheWVkIHZlcnRpY2FsbHkgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHZlcnRpY2FsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIGEgY29hY2ggd2l0aGluIHRoZSBuYXZpZ2F0aW9uIHdhcyBzZWxlY3RlZCAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0TmF2Q29hY2g6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJTZWF0UmVzZXJ2YXRpb25OYXZpZ2F0aW9uQ29hY2hFbGVtZW50LmV2ZW50cy5zZWxlY3RDb2FjaCxcbiAgKTtcbiAgcHJvdGVjdGVkIGZvY3VzTmF2Q29hY2g6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJTZWF0UmVzZXJ2YXRpb25OYXZpZ2F0aW9uQ29hY2hFbGVtZW50LmV2ZW50cy5mb2N1c0NvYWNoLFxuICApO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2VsZWN0ZWQnKSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnLnNiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbicsXG4gICAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQgJiYgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50KSB7XG4gICAgICAgIHNlbGVjdGVkTmF2QnV0dG9uRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB0aGlzLmZvY3VzTmF2Q29hY2guZW1pdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2ZvY3VzZWQnKSAmJiB0aGlzLmZvY3VzZWQpIHtcbiAgICAgIGNvbnN0IGZvY3VzZWROYXZCdXR0b25FbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnLnNiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbicsXG4gICAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgaWYgKGZvY3VzZWROYXZCdXR0b25FbGVtZW50KSB7XG4gICAgICAgIGZvY3VzZWROYXZCdXR0b25FbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciBhIG1heGltdW0gb2YgMyBvZiB0aGUgc2VydmljZSBzaWduIGljb25zIChzbGljZSgwLDMpKSByZWdhcmRsZXNzIG9mIHRoZSBpbnB1dCBmcm9tIEJhY2tlbmQsXG4gICAqIG90aGVyd2lzZSB0aGUgbGF5b3V0IGNvdWxkIGJlIGRlc3Ryb3llZC4gRnVydGhlcm1vcmUsIHdlIGhhdmUgdG8gZmlsdGVyIG91dCB0aGUgdmFsdWUgQU5ZX1NFQVQsXG4gICAqIHNpbmNlIHRoaXMgaXMgYWxzbyBwYXNzZWQgYXMgYSBwcm9wZXJ0eSBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSB1c2VkIGhlcmVcbiAgICpcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgdGhpcy5wcm9wZXJ0eUlkcyA9IHRoaXMucHJvcGVydHlJZHNcbiAgICAgIC5maWx0ZXIoKHByb3BlcnR5SWQpID0+IHByb3BlcnR5SWQgIT09ICdBTllfU0VBVCcpXG4gICAgICAuc2xpY2UoMCwgTUFYX1NFUlZJQ0VfUFJPUEVSVElFUyk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiJHtjbGFzc01hcCh7XG4gICAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoJzogdHJ1ZSxcbiAgICAgICAgICAnbGFzdC1jb2FjaCc6IHRoaXMubGFzdCxcbiAgICAgICAgICAnZmlyc3QtY29hY2gnOiB0aGlzLmZpcnN0LFxuICAgICAgICAgICd2ZXJ0aWNhbC1jb2FjaCc6IHRoaXMudmVydGljYWwsXG4gICAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1zZWxlY3RlZCc6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgIH0pfVwiXG4gICAgICA+XG4gICAgICAgICR7dGhpcy5fZ2V0TmF2aWdhdGlvbkJ1dHRvbigpfVxuICAgICAgICAke3RoaXMucHJvcGVydHlJZHM/Lmxlbmd0aFxuICAgICAgICAgID8gaHRtbGA8c2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1zZXJ2aWNlc1xuICAgICAgICAgICAgICA/dmVydGljYWw9XCIke3RoaXMudmVydGljYWx9XCJcbiAgICAgICAgICAgICAgLnByb3BlcnR5SWRzPVwiJHt0aGlzLnByb3BlcnR5SWRzfVwiXG4gICAgICAgICAgICA+PC9zYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TmF2aWdhdGlvbkJ1dHRvbigpOiBUZW1wbGF0ZVJlc3VsdCB8IG51bGwge1xuICAgIGNvbnN0IGN1cnJTZXJ2aWNlQ2xhc3NOdW1iZXIgPSB0aGlzLl9nZXRDb2FjaFNlcnZpY2VDbGFzc051bWJlcigpO1xuICAgIGNvbnN0IHRpdGxlRGVzY3JpcHRpb25OYXZDb2FjaEJ1dHRvbiA9XG4gICAgICB0aGlzLl9nZXRUaXRsZURlc2NyaXB0aW9uTmF2Q29hY2hCdXR0b24oY3VyclNlcnZpY2VDbGFzc051bWJlcik7XG4gICAgY29uc3QgYXJpYURlc2NyaXB0aW9uQ29hY2hTZXJ2aWNlcyA9IHRoaXMuX2dldEFyaWFEZXNjcmlwdGlvbkNvYWNoU2VydmljZXMoKTtcblxuICAgIHJldHVybiBodG1sYCA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA/ZGlzYWJsZWQ9XCIke3RoaXMuZGlzYWJsZX1cIlxuICAgICAgICBjbGFzcz1cIiR7Y2xhc3NNYXAoe1xuICAgICAgICAgICdzYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b24nOiB0cnVlLFxuICAgICAgICAgICdzYmItc3ItbmF2aWdhdGlvbi1kcml2ZXItYXJlYSc6IHRoaXMuZHJpdmVyQXJlYSxcbiAgICAgICAgfSl9XCJcbiAgICAgICAgdGl0bGU9XCIke3RpdGxlRGVzY3JpcHRpb25OYXZDb2FjaEJ1dHRvbn1cIlxuICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwibmF2LWNvYWNoLXNlcnZpY2UtZGVzY3JpcHRpb25zLSR7dGhpcy5pbmRleH1cIlxuICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLl9zZWxlY3ROYXZDb2FjaCh0aGlzLmluZGV4KX1cbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9nZXRCdG5JbmZvcm1hdGlvbihjdXJyU2VydmljZUNsYXNzTnVtYmVyKX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgaWQ9XCJuYXYtY29hY2gtc2VydmljZS1kZXNjcmlwdGlvbnMtJHt0aGlzLmluZGV4fVwiXG4gICAgICAgID4ke2FyaWFEZXNjcmlwdGlvbkNvYWNoU2VydmljZXN9PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5XG4gICAgICA+YDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEJ0bkluZm9ybWF0aW9uKHNlcnZpY2VDbGFzc051bWJlcjogbnVtYmVyIHwgbnVsbCk6IFRlbXBsYXRlUmVzdWx0IHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuZHJpdmVyQXJlYSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3NlcnZpY2VDbGFzc051bWJlciA9PT0gMVxuICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItc3ItbmF2aWdhdGlvbi0tZmlyc3QtY2xhc3NcIj48L3NwYW4+YFxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAke3RoaXMudHJhdmVsQ2xhc3M/Lmxlbmd0aCA+IDAgfHwgdGhpcy5jb2FjaElkXG4gICAgICAgID8gaHRtbGA8ZGl2IGNsYXNzPVwic2JiLXNyLW5hdmlnYXRpb25fX2FkZGl0aW9uYWwtaW5mb3JtYXRpb25cIj5cbiAgICAgICAgICAgICR7dGhpcy5jb2FjaElkXG4gICAgICAgICAgICAgID8gaHRtbGA8ZGl2IGNsYXNzPVwic2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtbnVtYmVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMuY29hY2hJZH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgJHtzZXJ2aWNlQ2xhc3NOdW1iZXIgPz8gbm90aGluZ31cbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC10cmF2ZWxjbGFzc1wiXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICR7c2VydmljZUNsYXNzTnVtYmVyfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgYDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFRpdGxlRGVzY3JpcHRpb25OYXZDb2FjaEJ1dHRvbihzZXJ2aWNlQ2xhc3NOdW1iZXI6IG51bWJlciB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRyaXZlckFyZWEpIHtcbiAgICAgIHJldHVybiBnZXRJMThuU2VhdFJlc2VydmF0aW9uKCdOQVZJR0FURV9DT0FDSF9CTE9DS0VEJywgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCwgW1xuICAgICAgICB0aGlzLmNvYWNoSWQsXG4gICAgICBdKTtcbiAgICB9XG5cbiAgICBsZXQgbGFiZWwgPSBnZXRJMThuU2VhdFJlc2VydmF0aW9uKCdOQVZJR0FURV9UT19DT0FDSCcsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsIFt0aGlzLmNvYWNoSWRdKTtcblxuICAgIC8vSWYgc2VydmljZSBjbGFzcyBleGlzdCwgdGhlbiBleHBhbmQgbGFiZWwgd2l0aCBzZXJ2aWNlIGNsYXNzIHRyYW5zbGF0aW9uXG4gICAgaWYgKHNlcnZpY2VDbGFzc051bWJlcikge1xuICAgICAgY29uc3Qgc2VydmljZUNsYXNzVHJhbnNsYXRpb25LZXkgPVxuICAgICAgICBzZXJ2aWNlQ2xhc3NOdW1iZXIgPT09IDEgPyAnU0VSVklDRV9DTEFTU19GSVJTVCcgOiAnU0VSVklDRV9DTEFTU19TRUNPTkQnO1xuICAgICAgY29uc3Qgc2VydmljZUNsYXNzVHJhbnNsYXRpb24gPSBnZXRJMThuU2VhdFJlc2VydmF0aW9uKFxuICAgICAgICBzZXJ2aWNlQ2xhc3NUcmFuc2xhdGlvbktleSxcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCxcbiAgICAgICk7XG4gICAgICBjb25zdCBzZXJ2aWNlQ2xhc3NMYWJlbCA9IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oXG4gICAgICAgICdOQVZJR0FURV9UT19DT0FDSF9TRVJWSUNFX0NMQVNTX1NVQicsXG4gICAgICAgIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsXG4gICAgICAgIFtzZXJ2aWNlQ2xhc3NUcmFuc2xhdGlvbl0sXG4gICAgICApO1xuICAgICAgbGFiZWwgPSBsYWJlbC5jb25jYXQoc2VydmljZUNsYXNzTGFiZWwpO1xuICAgIH1cblxuICAgIHJldHVybiBsYWJlbDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFyaWFEZXNjcmlwdGlvbkNvYWNoU2VydmljZXMoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgbGV0IGFyaWFEZXNjcml0aW9uID0gbnVsbDtcbiAgICBpZiAodGhpcy5wcm9wZXJ0eUlkcy5sZW5ndGgpIHtcbiAgICAgIGFyaWFEZXNjcml0aW9uID1cbiAgICAgICAgZ2V0STE4blNlYXRSZXNlcnZhdGlvbignQ09BQ0hfQVZBSUxBQkxFX1NFUlZJQ0VTJywgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkgKyAnOiAnO1xuICAgICAgYXJpYURlc2NyaXRpb24gKz0gdGhpcy5wcm9wZXJ0eUlkc1xuICAgICAgICAubWFwKChwcm9wZXJ0eUlkKSA9PiBnZXRJMThuU2VhdFJlc2VydmF0aW9uKHByb3BlcnR5SWQsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpKVxuICAgICAgICAuam9pbigpO1xuICAgIH1cbiAgICByZXR1cm4gYXJpYURlc2NyaXRpb247XG4gIH1cblxuICAvKipcbiAgICogZW1pdHMgdGhlIGluZGV4IG9mIHRoZSBjb2FjaCBhcnJheSBmb3IgdGhlIG1haW4gbmF2aWdhdGlvbi5cbiAgICogQHBhcmFtIGNvYWNoSW5kZXhcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX3NlbGVjdE5hdkNvYWNoKGNvYWNoSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5kcml2ZXJBcmVhKSB7XG4gICAgICB0aGlzLnNlbGVjdE5hdkNvYWNoLmVtaXQoY29hY2hJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29hY2hTZXJ2aWNlQ2xhc3NOdW1iZXIoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMudHJhdmVsQ2xhc3M/LmluY2x1ZGVzKCdGSVJTVCcpKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHJhdmVsQ2xhc3M/LmluY2x1ZGVzKCdTRUNPTkQnKSkge1xuICAgICAgcmV0dXJuIDI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1jb2FjaCc6IFNiYlNlYXRSZXNlcnZhdGlvbk5hdmlnYXRpb25Db2FjaEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJTZWF0UmVzZXJ2YXRpb25OYXZpZ2F0aW9uQ29hY2hFbGVtZW50IiwiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsTUFBTSx5QkFBeUI7SUFVekIsNENBQXdDLE1BQUE7OzBCQUQ3QyxjQUFjLHVDQUF1QyxDQUFDOzs7O29CQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQVJBLE1BQUFBLDZDQUFBLG1CQUFRLFlBQVU7QUFBQTs7QUFVL0Q7QUFJQTtBQUtBO0FBS0E7QUFJQTtBQUlBO0FBS0E7QUFLQTtBQUtBO0FBS0E7QUFLQTtBQS9DZ0IseUJBQUEsMkJBQUEsa0JBQUEsTUFBQSx1QkFBa0IsRUFBRTtBQUlwQix5QkFBQSxnQ0FBQSxrQkFBQSxNQUFBLDBCQUFBLEdBQUEsa0JBQUEsTUFBQSwyQkFBd0IsQ0FBQSxDQUFFO0FBSzFCLHlCQUFBLDZCQUFBLGtCQUFBLE1BQUEsOEJBQUEsR0FBQSxrQkFBQSxNQUFBLHdCQUFvQixLQUFLO0FBS3pCLHlCQUFBLDRCQUFBLGtCQUFBLE1BQUEsMkJBQUEsR0FBQSxrQkFBQSxNQUFBLHVCQUFtQixLQUFLO0FBSXhCLHlCQUFBLDBCQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFnQixDQUFDO0FBSWlCLHlCQUFBLGdDQUFBLGtCQUFBLE1BQUEsd0JBQUEsR0FBQSxrQkFBQSxNQUFBLDJCQUFBLENBQUMsV0FBVyxDQUFDO0FBSy9DLHlC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
@@ -0,0 +1,2 @@
1
+ export * from './seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js';
2
+ //# sourceMappingURL=seat-reservation-navigation-coach.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seat-reservation-navigation-coach.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.ts"],"names":[],"mappings":"AAAA,cAAc,oFAAoF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { SbbSeatReservationNavigationCoachElement } from "./seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js";
2
+ export {
3
+ SbbSeatReservationNavigationCoachElement
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjsifQ==
@@ -0,0 +1,21 @@
1
+ import { CSSResultGroup, TemplateResult, LitElement } from 'lit';
2
+ /**
3
+ * Component displays the available service icons of one coach.
4
+ *
5
+ */
6
+ export declare class SbbSeatReservationNavigationServicesElement extends LitElement {
7
+ static styles: CSSResultGroup;
8
+ /** Coach service property ids, which are used to display the services in the navigation */
9
+ accessor propertyIds: string[];
10
+ /** If true, the service icons are displayed vertically */
11
+ accessor vertical: boolean;
12
+ private _language;
13
+ protected render(): TemplateResult;
14
+ private _getServiceLabelDescription;
15
+ }
16
+ declare global {
17
+ interface HTMLElementTagNameMap {
18
+ 'sbb-seat-reservation-navigation-services': SbbSeatReservationNavigationServicesElement;
19
+ }
20
+ }
21
+ //# sourceMappingURL=seat-reservation-navigation-services.component.d.ts.map