@sbb-esta/lyne-elements-experimental 4.9.0 → 4.10.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 (182) hide show
  1. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
  2. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  3. package/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  4. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  5. package/autocomplete-grid/autocomplete-grid-option.js +1 -1
  6. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  7. package/autocomplete-grid/autocomplete-grid-row.js +1 -1
  8. package/{autocomplete-grid-cell.component-DnCfVJ2l.js → autocomplete-grid-cell.component-DkD9aFKc.js} +5 -5
  9. package/autocomplete-grid-option.component-CtATJy7n.js +37 -0
  10. package/autocomplete-grid-row.component-6nJv5PMj.js +27 -0
  11. package/autocomplete-grid.js +3 -3
  12. package/autocomplete-grid.pure.js +3 -3
  13. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +2 -2
  14. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  15. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  16. package/development/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  17. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  18. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  19. package/development/autocomplete-grid/autocomplete-grid-option.js +1 -1
  20. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  21. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  22. package/development/autocomplete-grid/autocomplete-grid-row.js +1 -1
  23. package/development/autocomplete-grid-cell.component-BxkWGaX0.js +34 -0
  24. package/development/autocomplete-grid-option.component-5mPGswUO.js +61 -0
  25. package/development/autocomplete-grid-row.component-DEm6zyHZ.js +39 -0
  26. package/development/autocomplete-grid.js +3 -3
  27. package/development/autocomplete-grid.pure.js +3 -3
  28. package/development/core/datetime/date-helper.js +1 -1
  29. package/development/core/datetime.js +1 -1
  30. package/development/{date-helper-8_Y-PuHh.js → date-helper-qNdwgC9O.js} +4 -4
  31. package/development/{differenceInMinutes-DN_1Rk3O.js → differenceInMinutes-B7_GTDq7.js} +2 -2
  32. package/development/{format-Bbrn2bgo.js → format-DFx4997p.js} +3 -3
  33. package/development/{isValid-C-HzKv4v.js → isValid-JpZ7FphI.js} +2 -2
  34. package/development/journey-summary/journey-summary.component.d.ts.map +1 -1
  35. package/development/journey-summary/journey-summary.component.js +1 -1
  36. package/development/journey-summary.component-BZwgD4im.js +340 -0
  37. package/development/journey-summary.js +1 -1
  38. package/development/journey-summary.pure.js +1 -1
  39. package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -1
  40. package/development/pearl-chain/pearl-chain.component.js +1 -1
  41. package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -1
  42. package/development/pearl-chain-time/pearl-chain-time.component.js +1 -1
  43. package/development/pearl-chain-time.component-B2_BI6E_.js +319 -0
  44. package/development/pearl-chain-time.js +1 -1
  45. package/development/pearl-chain-time.pure.js +1 -1
  46. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +1 -1
  47. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  48. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -1
  49. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  50. package/development/pearl-chain-vertical-item.component-DcmH13Vb.js +133 -0
  51. package/development/pearl-chain-vertical-item.js +1 -1
  52. package/development/pearl-chain-vertical-item.pure.js +1 -1
  53. package/development/pearl-chain-vertical.component-CpcNFl-x.js +31 -0
  54. package/development/pearl-chain-vertical.js +1 -1
  55. package/development/pearl-chain-vertical.pure.js +1 -1
  56. package/development/pearl-chain.component-oQZUzsyW.js +316 -0
  57. package/development/pearl-chain.js +1 -1
  58. package/development/pearl-chain.pure.js +1 -1
  59. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  60. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +8 -1
  61. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  62. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  63. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -1
  64. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  65. package/development/seat-reservation/seat-reservation-area.js +1 -1
  66. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
  67. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -1
  68. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  69. package/development/seat-reservation/seat-reservation-graphic.js +1 -1
  70. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  71. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  72. package/development/seat-reservation/seat-reservation-navigation-coach.js +1 -1
  73. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  74. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  75. package/development/seat-reservation/seat-reservation-navigation-services.js +1 -1
  76. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  77. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  78. package/development/seat-reservation/seat-reservation-place-control.js +1 -1
  79. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -1
  80. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  81. package/development/seat-reservation/seat-reservation-scoped.js +1 -1
  82. package/development/seat-reservation/seat-reservation.js +1 -1
  83. package/development/seat-reservation-area.component-DbeuTnXT.js +96 -0
  84. package/development/seat-reservation-graphic.component-DlrHtlia.js +129 -0
  85. package/development/seat-reservation-navigation-coach.component-CjoDkcVU.js +428 -0
  86. package/development/seat-reservation-navigation-services.component-CGel7__P.js +159 -0
  87. package/development/seat-reservation-place-control.component-CM9efId7.js +429 -0
  88. package/development/seat-reservation-scoped.component-CFA_bJ3o.js +25 -0
  89. package/development/seat-reservation.component-DFJVFmrI.js +510 -0
  90. package/development/seat-reservation.js +7 -7
  91. package/development/seat-reservation.pure.js +7 -7
  92. package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -1
  93. package/development/timetable-duration/timetable-duration.component.js +1 -1
  94. package/development/timetable-duration.component-BhFlqYbV.js +100 -0
  95. package/development/timetable-duration.js +1 -1
  96. package/development/timetable-duration.pure.js +1 -1
  97. package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
  98. package/development/timetable-row/timetable-row.component.js +1 -1
  99. package/development/timetable-row.component-Dko8laRT.js +729 -0
  100. package/development/timetable-row.js +1 -1
  101. package/development/timetable-row.pure.js +1 -1
  102. package/development/{toDate-Biiv3kyf.js → toDate-DOFAOjP-.js} +2 -2
  103. package/journey-summary/journey-summary.component.js +1 -1
  104. package/{journey-summary.component-DcpXXucp.js → journey-summary.component-DC7-qPHY.js} +38 -38
  105. package/journey-summary.js +1 -1
  106. package/journey-summary.pure.js +1 -1
  107. package/package.json +2 -2
  108. package/pearl-chain/pearl-chain.component.js +1 -1
  109. package/pearl-chain-time/pearl-chain-time.component.js +1 -1
  110. package/{pearl-chain-time.component-v6zRg_3j.js → pearl-chain-time.component-CkKsrbgQ.js} +28 -28
  111. package/pearl-chain-time.js +1 -1
  112. package/pearl-chain-time.pure.js +1 -1
  113. package/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  114. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  115. package/pearl-chain-vertical-item.component-BUqZ-3Ay.js +108 -0
  116. package/pearl-chain-vertical-item.js +1 -1
  117. package/pearl-chain-vertical-item.pure.js +1 -1
  118. package/{pearl-chain-vertical.component-BvJwcGpS.js → pearl-chain-vertical.component-Df9CvRxo.js} +5 -5
  119. package/pearl-chain-vertical.js +1 -1
  120. package/pearl-chain-vertical.pure.js +1 -1
  121. package/pearl-chain.component-CpISVoAu.js +194 -0
  122. package/pearl-chain.js +1 -1
  123. package/pearl-chain.pure.js +1 -1
  124. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +6 -0
  125. package/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  126. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  127. package/seat-reservation/seat-reservation-area.js +1 -1
  128. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
  129. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  130. package/seat-reservation/seat-reservation-graphic.js +1 -1
  131. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  132. package/seat-reservation/seat-reservation-navigation-coach.js +1 -1
  133. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  134. package/seat-reservation/seat-reservation-navigation-services.js +1 -1
  135. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  136. package/seat-reservation/seat-reservation-place-control.js +1 -1
  137. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  138. package/seat-reservation/seat-reservation-scoped.js +1 -1
  139. package/seat-reservation/seat-reservation.js +1 -1
  140. package/seat-reservation-area.component-CtYawDjE.js +75 -0
  141. package/seat-reservation-graphic.component-Cm_pVxaB.js +102 -0
  142. package/seat-reservation-navigation-coach.component-sug9IBTH.js +333 -0
  143. package/{seat-reservation-navigation-services.component-ViyU_adt.js → seat-reservation-navigation-services.component-C9dDYD_M.js} +19 -19
  144. package/seat-reservation-place-control.component-CE7d9M2b.js +322 -0
  145. package/seat-reservation-scoped.component-DVyP2JGE.js +17 -0
  146. package/{seat-reservation.component-Dl6bnC7-.js → seat-reservation.component-DajC6fqU.js} +51 -51
  147. package/seat-reservation.js +7 -7
  148. package/seat-reservation.pure.js +7 -7
  149. package/timetable-duration/timetable-duration.component.js +1 -1
  150. package/{timetable-duration.component-Puonwsnr.js → timetable-duration.component-BnJA8wSb.js} +12 -12
  151. package/timetable-duration.js +1 -1
  152. package/timetable-duration.pure.js +1 -1
  153. package/timetable-row/timetable-row.component.js +1 -1
  154. package/{timetable-row.component-DMCZaOPM.js → timetable-row.component-DbzBCpKR.js} +59 -59
  155. package/timetable-row.js +1 -1
  156. package/timetable-row.pure.js +1 -1
  157. package/autocomplete-grid-option.component-BlMPM6eh.js +0 -37
  158. package/autocomplete-grid-row.component-Bo2ZbXVX.js +0 -27
  159. package/development/autocomplete-grid-cell.component-BBvM4o2H.js +0 -42
  160. package/development/autocomplete-grid-option.component-QzfM5eIE.js +0 -123
  161. package/development/autocomplete-grid-row.component-H8sCTCkT.js +0 -104
  162. package/development/journey-summary.component-uGhZvA4p.js +0 -385
  163. package/development/pearl-chain-time.component-B8mayTWD.js +0 -415
  164. package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +0 -435
  165. package/development/pearl-chain-vertical.component-CswE7b3M.js +0 -39
  166. package/development/pearl-chain.component-wpsTvoSe.js +0 -704
  167. package/development/seat-reservation-area.component-ORuli_DC.js +0 -138
  168. package/development/seat-reservation-graphic.component-D0xEXmP9.js +0 -203
  169. package/development/seat-reservation-navigation-coach.component-D2QXTMJJ.js +0 -828
  170. package/development/seat-reservation-navigation-services.component-Bg1adRlU.js +0 -179
  171. package/development/seat-reservation-place-control.component-CwUX-QYO.js +0 -726
  172. package/development/seat-reservation-scoped.component-uLT33P9y.js +0 -31
  173. package/development/seat-reservation.component-BS53sZR3.js +0 -824
  174. package/development/timetable-duration.component-D21SXsQq.js +0 -125
  175. package/development/timetable-row.component-Y5w8vEwP.js +0 -932
  176. package/pearl-chain-vertical-item.component-M2KRK6Xv.js +0 -108
  177. package/pearl-chain.component-B-XTTo6h.js +0 -194
  178. package/seat-reservation-area.component-CY56r75x.js +0 -75
  179. package/seat-reservation-graphic.component-DCMFf9uY.js +0 -102
  180. package/seat-reservation-navigation-coach.component-CXUv1pZM.js +0 -333
  181. package/seat-reservation-place-control.component-Dj5Tm0Oa.js +0 -322
  182. package/seat-reservation-scoped.component-CuACI8ST.js +0 -17
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1hcmVhLmNvbXBvbmVudC1PUnVsaV9EQy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1hcmVhL3NlYXQtcmVzZXJ2YXRpb24tYXJlYS5zY3NzP2xpdCZpbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1hcmVhL3NlYXQtcmVzZXJ2YXRpb24tYXJlYS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci13aWR0aC00eCk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1yb3RhdGlvbjogMDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtaGVpZ2h0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICB3aWR0aDogY2FsYyhcbiAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1hcmVhLXdpZHRoKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkXG4gICAgbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpLCB2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1hcmVhLWJvcmRlci1yYWRpdXMpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtdG9wKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1sZWZ0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICByb3RhdGU6IGNhbGModmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1yb3RhdGlvbikgKiAxZGVnKTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMik7XG59XG5cbjpob3N0KFtiYWNrZ3JvdW5kPSdkYXJrJ10pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItbWlsayksIHZhcigtLXNiYi1jb2xvci1pcm9uKSk7XG59XG5cbjpob3N0KFttb3VudGluZz0ndXBwZXItYm9yZGVyJ10pIHtcbiAgLy8gRm9yIGFyZWFzIHRoYXQgYXJlIG1vdW50ZWQgZGlyZWN0bHkgb24gdGhlIGJvcmRlciBvZiBjb2FjaCxcbiAgLy8gd2UgcmVtb3ZlIHRoZSBib3JkZXIgdG9wIGZyb20gdGhlIGVsZW1lbnQgd2hlcmUgaXQgaXMgbW91bnRlZCxcbiAgLy8gYXMgdGhlIGJvcmRlcnMgYXJlIGFscmVhZHkgdmlzdWFsbHkgZGlzcGxheWVkIGJ5IHRoZSBjb2FjaC5cbiAgYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1ib3JkZXItcmFkaXVzKVxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtYm9yZGVyLXJhZGl1cyk7XG59XG5cbjpob3N0KFttb3VudGluZz0nbG93ZXItYm9yZGVyJ10pIHtcbiAgLy8gRm9yIGFyZWFzIHRoYXQgYXJlIG1vdW50ZWQgZGlyZWN0bHkgb24gdGhlIGJvcmRlciBvZiBjb2FjaCxcbiAgLy8gd2UgcmVtb3ZlIHRoZSBib3JkZXIgYm90dG9tIGZyb20gdGhlIGVsZW1lbnQgd2hlcmUgaXQgaXMgbW91bnRlZCxcbiAgLy8gYXMgdGhlIGJvcmRlcnMgYXJlIGFscmVhZHkgdmlzdWFsbHkgZGlzcGxheWVkIGJ5IHRoZSBjb2FjaC5cbiAgYm9yZGVyLWJsb2NrLWVuZC13aWR0aDogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYS1ib3JkZXItcmFkaXVzKVxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG46aG9zdChbbW91bnRpbmc9J3VwcGVyLXRvLWxvd2VyLWJvcmRlciddKSB7XG4gIGJvcmRlci1ibG9jay1zdGFydDogbm9uZTtcbiAgYm9yZGVyLWJsb2NrLWVuZDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gaG92ZXIgc3RhdGUgd2l0aCBwb2ludGVyIGN1cnNvciBmb3Igc2VydmljZSBpY29ucyBhbmQgcG9wb3ZlclxuOmhvc3QoLnNiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEtLWN1cnNvci1wb2ludGVyKSB7XG4gIGN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1wb2ludGVyKTtcbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzLmpzJztcbmltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tYXJlYS5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIFZpc3VhbGl6ZSBhbiBhcmVhIHdpdGggYSBzcGVjaWFsIG1lYW5pbmcgd2l0aGluIGEgd2Fnb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTZWF0UmVzZXJ2YXRpb25BcmVhRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tYXJlYSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHN0eWxlXTtcblxuICAvKiogTW91bnRpbmcgUHJvcCAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbW91bnRpbmc6ICdmcmVlJyB8ICd1cHBlci1ib3JkZXInIHwgJ2xvd2VyLWJvcmRlcicgfCAndXBwZXItdG8tbG93ZXItYm9yZGVyJyA9XG4gICAgJ2ZyZWUnO1xuXG4gIC8qKiB0aGUgYmFja2dyb3VuZCBvZiB0aGUgYXJlYSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYmFja2dyb3VuZDogJ2xpZ2h0JyB8ICdkYXJrJyA9ICdsaWdodCc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWF0LXJlc2VydmF0aW9uLWFyZWEnOiBTYmJTZWF0UmVzZXJ2YXRpb25BcmVhRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDWWEsdUNBQTZCO21CQUFTOzs7Ozs7O2NBQXRDLHNDQUFzQyxZQUFVOzs7MkJBSzFELFdBQVcsRUFDWCxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTs2QkFLM0IsV0FBVyxFQUNYLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBO0FBTDVCLGdCQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVIsV0FBUTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHdCQUFBLDRCQUFBO0FBTXhCLGdCQUFBLE1BQUEsTUFBQSx3QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGdCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVUsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFWLGFBQVU7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSwwQkFBQSw4QkFBQTs7Ozs7Ozs7O0FBWk0sUUFBQSxjQUFzQjs7O0FBQy9CLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsOEJBQU07O0VBS3hFLDZCQUFBLGtCQUFBLE1BQUEsd0JBQ0UsT0FBTTs7RUFEUixJQUFnQixXQUFRO0FBQUEsVUFBQSxNQUFBOztFQUF4QixJQUFnQixTQUFRLE9BQUE7QUFBQSxTQUFBLDRCQUFBOztFQU14QixnQ0FBQSxrQkFBQSxNQUFBLDRCQUFBLEVBQUEsa0JBQUEsTUFBQSwwQkFBK0MsUUFBTzs7RUFBdEQsSUFBZ0IsYUFBVTtBQUFBLFVBQUEsTUFBQTs7RUFBMUIsSUFBZ0IsV0FBVSxPQUFBO0FBQUEsU0FBQSw4QkFBQTs7RUFFUCxTQUFNO0FBQ3ZCLFVBQU8sSUFBSSJ9
@@ -1,203 +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-max-width: auto;
15
- --sbb-seat-reservation-graphic-max-height: auto;
16
- --sbb-seat-reservation-graphic-width: 16;
17
- --sbb-seat-reservation-graphic-height: 16;
18
- --sbb-seat-reservation-graphic-rotation: 0;
19
- --sbb-seat-reservation-graphic-inverse-rotation: 0;
20
- --sbb-seat-reservation-graphic-padding-percent: 1;
21
- --sbb-seat-reservation-graphic-position: initial;
22
- --sbb-seat-reservation-graphic-left: 0;
23
- --sbb-seat-reservation-graphic-top: 0;
24
- --sbb-icon-svg-width: calc(
25
- var(--sbb-seat-reservation-graphic-width) *
26
- var(--sbb-seat-reservation-one-px-rem, 0.0625rem)
27
- );
28
- --sbb-icon-svg-height: calc(
29
- var(--sbb-seat-reservation-graphic-height) *
30
- var(--sbb-seat-reservation-one-px-rem, 0.0625rem)
31
- );
32
- display: flex;
33
- justify-content: center;
34
- align-items: center;
35
- width: calc(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
36
- height: calc(var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
37
- position: var(--sbb-seat-reservation-graphic-position);
38
- inset-inline-start: calc(var(--sbb-seat-reservation-graphic-left) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
39
- inset-block-start: calc(var(--sbb-seat-reservation-graphic-top) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
40
- }
41
-
42
- :host(.auto-width) {
43
- --sbb-icon-svg-width: auto;
44
- max-width: calc(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
45
- width: auto;
46
- }
47
-
48
- :host(.sbb-sr-graphic__dimension--square-dim) {
49
- --sbb-icon-svg-width: min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent), min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)));
50
- --sbb-icon-svg-height: min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent), min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)));
51
- width: min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent), min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)));
52
- height: min(min(var(--sbb-seat-reservation-graphic-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)) * var(--sbb-seat-reservation-graphic-padding-percent), min(var(--sbb-seat-reservation-graphic-max-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem), var(--sbb-seat-reservation-graphic-max-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem)));
53
- }
54
-
55
- :host(.sbb-seat-reservation-graphic--cursor-pointer) {
56
- cursor: var(--sbb-cursor-pointer);
57
- }
58
-
59
- .sbb-sr-icon,
60
- .sbb-sr-graphic {
61
- width: inherit;
62
- height: inherit;
63
- transform-origin: center;
64
- rotate: calc(var(--sbb-seat-reservation-graphic-rotation) * 1deg);
65
- }
66
-
67
- .sbb-sr-icon {
68
- color: var(--sbb-color-granite);
69
- color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));
70
- }
71
-
72
- .sbb-sr-graphic svg {
73
- width: 100%;
74
- height: 100%;
75
- }
76
- .sbb-sr-graphic svg .fix-rotation-inverse {
77
- transform-origin: center;
78
- rotate: calc(var(--sbb-seat-reservation-graphic-inverse-rotation) * 1deg);
79
- }
80
- @media (forced-colors: active) {
81
- .sbb-sr-graphic svg:not(.color-immutable) [fill]:not([fill=none]) {
82
- fill: currentcolor;
83
- }
84
- .sbb-sr-graphic .no-bg {
85
- fill: transparent;
86
- }
87
- }`;
88
- //#endregion
89
- //#region src/elements-experimental/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.ts
90
- /**
91
- * Output one of the SVG graphics based on its code.
92
- */
93
- var SbbSeatReservationGraphicElement = (() => {
94
- let _classSuper = SbbElement;
95
- let _name_decorators;
96
- let _name_initializers = [];
97
- let _name_extraInitializers = [];
98
- let _stretch_decorators;
99
- let _stretch_initializers = [];
100
- let _stretch_extraInitializers = [];
101
- return class SbbSeatReservationGraphicElement extends _classSuper {
102
- constructor() {
103
- super(...arguments);
104
- this.#name_accessor_storage = __runInitializers(this, _name_initializers, "");
105
- this.#stretch_accessor_storage = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _stretch_initializers, false));
106
- this._language = (__runInitializers(this, _stretch_extraInitializers), new SbbLanguageController(this));
107
- }
108
- static {
109
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
110
- _name_decorators = [forceType(), property({ attribute: "name" })];
111
- _stretch_decorators = [forceType(), property({
112
- attribute: "stretch",
113
- type: Boolean
114
- })];
115
- __esDecorate(this, null, _name_decorators, {
116
- kind: "accessor",
117
- name: "name",
118
- static: false,
119
- private: false,
120
- access: {
121
- has: (obj) => "name" in obj,
122
- get: (obj) => obj.name,
123
- set: (obj, value) => {
124
- obj.name = value;
125
- }
126
- },
127
- metadata: _metadata
128
- }, _name_initializers, _name_extraInitializers);
129
- __esDecorate(this, null, _stretch_decorators, {
130
- kind: "accessor",
131
- name: "stretch",
132
- static: false,
133
- private: false,
134
- access: {
135
- has: (obj) => "stretch" in obj,
136
- get: (obj) => obj.stretch,
137
- set: (obj, value) => {
138
- obj.stretch = value;
139
- }
140
- },
141
- metadata: _metadata
142
- }, _stretch_initializers, _stretch_extraInitializers);
143
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
144
- enumerable: true,
145
- configurable: true,
146
- writable: true,
147
- value: _metadata
148
- });
149
- }
150
- static {
151
- this.elementName = "sbb-seat-reservation-graphic";
152
- }
153
- static {
154
- this.styles = [boxSizingStyles, seat_reservation_graphic_default];
155
- }
156
- #name_accessor_storage;
157
- /** Name of the SVG graphic to be displayed. */
158
- get name() {
159
- return this.#name_accessor_storage;
160
- }
161
- set name(value) {
162
- this.#name_accessor_storage = value;
163
- }
164
- #stretch_accessor_storage;
165
- /** if true, scale the graphic content of the given element non-uniformly if necessary */
166
- get stretch() {
167
- return this.#stretch_accessor_storage;
168
- }
169
- set stretch(value) {
170
- this.#stretch_accessor_storage = value;
171
- }
172
- render() {
173
- const svgObj = mapIconToSvg[this.name];
174
- if (!svgObj?.svg && !svgObj?.svgName) return null;
175
- return html`<span
176
- class="${classMap({
177
- "sbb-sr-icon": !!svgObj.svgName,
178
- "sbb-sr-graphic": !!svgObj.svg
179
- })}"
180
- >
181
- ${svgObj.svgName ? html` <sbb-icon
182
- name="${svgObj.svgName || ""}"
183
- aria-hidden="false"
184
- aria-label="${getI18nSeatReservation(svgObj.svgName, this._language.current)}"
185
- ></sbb-icon>` : html`${this._getSvgElement(svgObj.svg)}`}
186
- </span>`;
187
- }
188
- _getSvgElement(svg) {
189
- if (!isServer) {
190
- const parser = new DOMParser();
191
- const svgString = svg || "<svg></svg>";
192
- const svgElm = parser.parseFromString(svgString, "image/svg+xml").firstElementChild;
193
- if (this.stretch && svgElm?.nodeName.toLowerCase() === "svg") svgElm.setAttribute("preserveAspectRatio", "none");
194
- return svgElm;
195
- }
196
- return null;
197
- }
198
- };
199
- })();
200
- //#endregion
201
- export { SbbSeatReservationGraphicElement as t };
202
-
203
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLmNvbXBvbmVudC1EMHhFWG1QOS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy5zY3NzP2xpdCZpbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtbWF4LXdpZHRoOiBhdXRvO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtbWF4LWhlaWdodDogYXV0bztcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXdpZHRoOiAxNjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWhlaWdodDogMTY7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1yb3RhdGlvbjogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWludmVyc2Utcm90YXRpb246IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1wYWRkaW5nLXBlcmNlbnQ6IDE7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1wb3NpdGlvbjogaW5pdGlhbDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWxlZnQ6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy10b3A6IDA7XG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtd2lkdGgpICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG4gIC0tc2JiLWljb24tc3ZnLWhlaWdodDogY2FsYyhcbiAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWhlaWdodCkgKlxuICAgICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tb25lLXB4LXJlbSwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDEpfSlcbiAgKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy13aWR0aCkgKlxuICAgICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tb25lLXB4LXJlbSwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDEpfSlcbiAgKTtcbiAgaGVpZ2h0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaGVpZ2h0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICBwb3NpdGlvbjogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1wb3NpdGlvbik7XG4gIGluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWxlZnQpICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtdG9wKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xufVxuXG4vLyBhdXRvLXdpZHRoIHNldHRpbmdzIGZvciBncmFwaGljc1xuOmhvc3QoLmF1dG8td2lkdGgpIHtcbiAgLS1zYmItaWNvbi1zdmctd2lkdGg6IGF1dG87XG5cbiAgbWF4LXdpZHRoOiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtbWF4LXdpZHRoKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICB3aWR0aDogYXV0bztcbn1cblxuLy8gR3JhcGhpYyBzaXplIGZvciBtYXggc3F1YXJlIGRpbWVuc2lvblxuOmhvc3QoLnNiYi1zci1ncmFwaGljX19kaW1lbnNpb24tLXNxdWFyZS1kaW0pIHtcbiAgJHBhZGRpbmctcGVyY2VudDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1wYWRkaW5nLXBlcmNlbnQpO1xuICAkZ3JhcGhpYy1tYXgtd2lkdGg6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1tYXgtd2lkdGgpICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG4gICRncmFwaGljLW1heC1oZWlnaHQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1tYXgtaGVpZ2h0KSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICAkZ3JhcGhpYy13aWR0aDogY2FsYyhcbiAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXdpZHRoKSAqXG4gICAgICB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1vbmUtcHgtcmVtLCAje3NiYi5weC10by1yZW0tYnVpbGQoMSl9KVxuICApO1xuICAkZ3JhcGhpYy1oZWlnaHQ6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy1oZWlnaHQpICpcbiAgICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLW9uZS1weC1yZW0sICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxKX0pXG4gICk7XG5cbiAgLy8gY2FsY3VsYXRlIG1heCBhdmFpbGFibGUgYXJlYSBkaW1lbnNpb25cbiAgJHBhcmVudC1kaW06IGNhbGMobWluKCRncmFwaGljLXdpZHRoLCAkZ3JhcGhpYy1oZWlnaHQpICogJHBhZGRpbmctcGVyY2VudCk7XG4gICRtYXgtcGFyZW50LWRpbTogbWluKCRncmFwaGljLW1heC13aWR0aCwgJGdyYXBoaWMtbWF4LWhlaWdodCk7XG4gICRyZXN1bHQtZGltOiBtaW4oJHBhcmVudC1kaW0sICRtYXgtcGFyZW50LWRpbSk7XG5cbiAgLy8gU2V0IG1heCBkaW1lbnNpb24gZm9yIHN2ZyBpY29uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiAjeyRyZXN1bHQtZGltfTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiAjeyRyZXN1bHQtZGltfTtcblxuICB3aWR0aDogI3skcmVzdWx0LWRpbX07XG4gIGhlaWdodDogI3skcmVzdWx0LWRpbX07XG59XG5cbi8vIGhvdmVyIHN0YXRlIHdpdGggcG9pbnRlciBjdXJzb3IgZm9yIHNlcnZpY2UgaWNvbnMgYW5kIHBvcG92ZXJcbjpob3N0KC5zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLS1jdXJzb3ItcG9pbnRlcikge1xuICBjdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItcG9pbnRlcik7XG59XG5cbi5zYmItc3ItaWNvbixcbi5zYmItc3ItZ3JhcGhpYyB7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgcm90YXRlOiBjYWxjKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtcm90YXRpb24pICogMWRlZyk7XG59XG5cbi5zYmItc3ItaWNvbiB7XG4gIC8vIG92ZXJyaWRlIGNvbG9yIGRpcmVjdGx5IHNldCBpbiB0aGUgU1ZHIGZpbGUgY29taW5nIGZyb20gQ0ROXG4gIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKSk7XG59XG5cbi5zYmItc3ItZ3JhcGhpYyB7XG4gIHN2ZyB7XG4gICAgd2lkdGg6IGNsYW1wKDEwMCUsIDEwMCUsIDEwMCUpO1xuICAgIGhlaWdodDogY2xhbXAoMTAwJSwgMTAwJSwgMTAwJSk7XG5cbiAgICAuZml4LXJvdGF0aW9uLWludmVyc2Uge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgcm90YXRlOiBjYWxjKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaW52ZXJzZS1yb3RhdGlvbikgKiAxZGVnKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgc3ZnOm5vdCguY29sb3ItaW1tdXRhYmxlKSB7XG4gICAgICBbZmlsbF06bm90KFtmaWxsPSdub25lJ10pIHtcbiAgICAgICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uby1iZyB7XG4gICAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaXNTZXJ2ZXIsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwLmpzJztcblxuaW1wb3J0IHsgbWFwSWNvblRvU3ZnIH0gZnJvbSAnLi4vY29tbW9uL21hcHBlci50cyc7XG5pbXBvcnQgeyBnZXRJMThuU2VhdFJlc2VydmF0aW9uIH0gZnJvbSAnLi4vY29tbW9uL3RyYW5zbGF0aW9ucy50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2ljb24uanMnO1xuXG4vKipcbiAqIE91dHB1dCBvbmUgb2YgdGhlIFNWRyBncmFwaGljcyBiYXNlZCBvbiBpdHMgY29kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlNlYXRSZXNlcnZhdGlvbkdyYXBoaWNFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgc3R5bGVdO1xuXG4gIC8qKiBOYW1lIG9mIHRoZSBTVkcgZ3JhcGhpYyB0byBiZSBkaXNwbGF5ZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICduYW1lJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbmFtZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqIGlmIHRydWUsIHNjYWxlIHRoZSBncmFwaGljIGNvbnRlbnQgb2YgdGhlIGdpdmVuIGVsZW1lbnQgbm9uLXVuaWZvcm1seSBpZiBuZWNlc3NhcnkgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3N0cmV0Y2gnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzdHJldGNoOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQgfCBudWxsIHtcbiAgICBjb25zdCBzdmdPYmogPSBtYXBJY29uVG9TdmdbdGhpcy5uYW1lXTtcblxuICAgIGlmICghc3ZnT2JqPy5zdmcgJiYgIXN2Z09iaj8uc3ZnTmFtZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgPHNwYW5cbiAgICAgIGNsYXNzPVwiJHtjbGFzc01hcCh7XG4gICAgICAgICdzYmItc3ItaWNvbic6ICEhc3ZnT2JqLnN2Z05hbWUsXG4gICAgICAgICdzYmItc3ItZ3JhcGhpYyc6ICEhc3ZnT2JqLnN2ZyxcbiAgICAgIH0pfVwiXG4gICAgPlxuICAgICAgJHtzdmdPYmouc3ZnTmFtZVxuICAgICAgICA/IGh0bWxgIDxzYmItaWNvblxuICAgICAgICAgICAgbmFtZT1cIiR7c3ZnT2JqLnN2Z05hbWUgfHwgJyd9XCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIiR7Z2V0STE4blNlYXRSZXNlcnZhdGlvbihzdmdPYmouc3ZnTmFtZSwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCl9XCJcbiAgICAgICAgICA+PC9zYmItaWNvbj5gXG4gICAgICAgIDogaHRtbGAke3RoaXMuX2dldFN2Z0VsZW1lbnQoc3ZnT2JqLnN2ZyEpfWB9XG4gICAgPC9zcGFuPmA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdmdFbGVtZW50KHN2Zzogc3RyaW5nKTogRWxlbWVudCB8IG51bGwge1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGNvbnN0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcbiAgICAgIGNvbnN0IHN2Z1N0cmluZyA9IHN2ZyB8fCAnPHN2Zz48L3N2Zz4nO1xuICAgICAgY29uc3Qgc3ZnRWxtID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhzdmdTdHJpbmcsICdpbWFnZS9zdmcreG1sJykuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gICAgICBpZiAodGhpcy5zdHJldGNoICYmIHN2Z0VsbT8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3N2ZycpIHtcbiAgICAgICAgc3ZnRWxtLnNldEF0dHJpYnV0ZSgncHJlc2VydmVBc3BlY3RSYXRpbycsICdub25lJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3ZnRWxtO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljJzogU2JiU2VhdFJlc2VydmF0aW9uR3JhcGhpY0VsZW1lbnQ7XG4gIH1c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