@sbb-esta/lyne-elements-experimental 4.3.1 → 4.5.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 (138) hide show
  1. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +15 -15
  2. package/custom-elements.json +132 -19
  3. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -1
  4. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  5. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +9 -7
  6. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +18 -5
  7. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  8. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +79 -41
  9. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +0 -1
  10. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  11. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +22 -17
  12. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +3 -1
  13. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +8 -2
  14. package/index.d.ts +18 -19
  15. package/index.js +18 -18
  16. package/package.json +21 -21
  17. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +94 -66
  18. package/seat-reservation/seat-reservation/seat-reservation.component.js +106 -105
  19. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +13 -13
  20. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +35 -35
  21. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -40
  22. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +0 -1
  23. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +0 -31
  24. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +0 -1
  25. package/autocomplete-grid/autocomplete-grid-button.d.ts +0 -5
  26. package/autocomplete-grid/autocomplete-grid-button.d.ts.map +0 -1
  27. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +0 -19
  28. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +0 -1
  29. package/autocomplete-grid/autocomplete-grid-cell.d.ts +0 -5
  30. package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +0 -1
  31. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +0 -19
  32. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +0 -1
  33. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +0 -5
  34. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +0 -1
  35. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -26
  36. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +0 -1
  37. package/autocomplete-grid/autocomplete-grid-option.d.ts +0 -5
  38. package/autocomplete-grid/autocomplete-grid-option.d.ts.map +0 -1
  39. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +0 -20
  40. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +0 -1
  41. package/autocomplete-grid/autocomplete-grid-row.d.ts +0 -5
  42. package/autocomplete-grid/autocomplete-grid-row.d.ts.map +0 -1
  43. package/autocomplete-grid/autocomplete-grid.d.ts +0 -5
  44. package/autocomplete-grid/autocomplete-grid.d.ts.map +0 -1
  45. package/autocomplete-grid.d.ts +0 -10
  46. package/autocomplete-grid.d.ts.map +0 -1
  47. package/core/datetime/date-helper.d.ts +0 -27
  48. package/core/datetime/date-helper.d.ts.map +0 -1
  49. package/core/datetime.d.ts +0 -5
  50. package/core/datetime.d.ts.map +0 -1
  51. package/core/timetable/access-leg-helper.d.ts +0 -26
  52. package/core/timetable/access-leg-helper.d.ts.map +0 -1
  53. package/core/timetable/timetable-helper.d.ts +0 -12
  54. package/core/timetable/timetable-helper.d.ts.map +0 -1
  55. package/core/timetable/timetable-properties.d.ts +0 -308
  56. package/core/timetable/timetable-properties.d.ts.map +0 -1
  57. package/core/timetable.d.ts +0 -7
  58. package/core/timetable.d.ts.map +0 -1
  59. package/journey-summary/journey-summary.component.d.ts +0 -65
  60. package/journey-summary/journey-summary.component.d.ts.map +0 -1
  61. package/journey-summary.d.ts +0 -5
  62. package/journey-summary.d.ts.map +0 -1
  63. package/pearl-chain/pearl-chain.component.d.ts +0 -42
  64. package/pearl-chain/pearl-chain.component.d.ts.map +0 -1
  65. package/pearl-chain-time/pearl-chain-time.component.d.ts +0 -47
  66. package/pearl-chain-time/pearl-chain-time.component.d.ts.map +0 -1
  67. package/pearl-chain-time.d.ts +0 -5
  68. package/pearl-chain-time.d.ts.map +0 -1
  69. package/pearl-chain-vertical/pearl-chain-vertical.component.d.ts +0 -16
  70. package/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +0 -1
  71. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts +0 -34
  72. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +0 -1
  73. package/pearl-chain-vertical-item.d.ts +0 -5
  74. package/pearl-chain-vertical-item.d.ts.map +0 -1
  75. package/pearl-chain-vertical.d.ts +0 -5
  76. package/pearl-chain-vertical.d.ts.map +0 -1
  77. package/pearl-chain.d.ts +0 -5
  78. package/pearl-chain.d.ts.map +0 -1
  79. package/seat-reservation/common/mapper/icon-mapper.d.ts +0 -106
  80. package/seat-reservation/common/mapper/icon-mapper.d.ts.map +0 -1
  81. package/seat-reservation/common/mapper/mapper.d.ts +0 -34
  82. package/seat-reservation/common/mapper/mapper.d.ts.map +0 -1
  83. package/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts +0 -372
  84. package/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts.map +0 -1
  85. package/seat-reservation/common/mapper.d.ts +0 -3
  86. package/seat-reservation/common/mapper.d.ts.map +0 -1
  87. package/seat-reservation/common/svgs.d.ts +0 -24
  88. package/seat-reservation/common/svgs.d.ts.map +0 -1
  89. package/seat-reservation/common/translations/i18n.d.ts +0 -28
  90. package/seat-reservation/common/translations/i18n.d.ts.map +0 -1
  91. package/seat-reservation/common/translations.d.ts +0 -2
  92. package/seat-reservation/common/translations.d.ts.map +0 -1
  93. package/seat-reservation/common/types.d.ts +0 -97
  94. package/seat-reservation/common/types.d.ts.map +0 -1
  95. package/seat-reservation/common.d.ts +0 -8
  96. package/seat-reservation/common.d.ts.map +0 -1
  97. package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +0 -260
  98. package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +0 -1
  99. package/seat-reservation/seat-reservation/seat-reservation.component.d.ts +0 -76
  100. package/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +0 -1
  101. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +0 -18
  102. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +0 -1
  103. package/seat-reservation/seat-reservation-area.d.ts +0 -5
  104. package/seat-reservation/seat-reservation-area.d.ts.map +0 -1
  105. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts +0 -9
  106. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts.map +0 -1
  107. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +0 -20
  108. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +0 -1
  109. package/seat-reservation/seat-reservation-graphic.d.ts +0 -5
  110. package/seat-reservation/seat-reservation-graphic.d.ts.map +0 -1
  111. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +0 -65
  112. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +0 -1
  113. package/seat-reservation/seat-reservation-navigation-coach.d.ts +0 -5
  114. package/seat-reservation/seat-reservation-navigation-coach.d.ts.map +0 -1
  115. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +0 -21
  116. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +0 -1
  117. package/seat-reservation/seat-reservation-navigation-services.d.ts +0 -5
  118. package/seat-reservation/seat-reservation-navigation-services.d.ts.map +0 -1
  119. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +0 -42
  120. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +0 -1
  121. package/seat-reservation/seat-reservation-place-control.d.ts +0 -5
  122. package/seat-reservation/seat-reservation-place-control.d.ts.map +0 -1
  123. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts +0 -14
  124. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +0 -1
  125. package/seat-reservation/seat-reservation-scoped.d.ts +0 -5
  126. package/seat-reservation/seat-reservation-scoped.d.ts.map +0 -1
  127. package/seat-reservation/seat-reservation.d.ts +0 -6
  128. package/seat-reservation/seat-reservation.d.ts.map +0 -1
  129. package/seat-reservation.d.ts +0 -12
  130. package/seat-reservation.d.ts.map +0 -1
  131. package/timetable-duration/timetable-duration.component.d.ts +0 -22
  132. package/timetable-duration/timetable-duration.component.d.ts.map +0 -1
  133. package/timetable-duration.d.ts +0 -5
  134. package/timetable-duration.d.ts.map +0 -1
  135. package/timetable-row/timetable-row.component.d.ts +0 -87
  136. package/timetable-row/timetable-row.component.d.ts.map +0 -1
  137. package/timetable-row.d.ts +0 -5
  138. package/timetable-row.d.ts.map +0 -1
@@ -1,23 +1,23 @@
1
1
  import { __esDecorate as v, __runInitializers as f } from "tslib";
2
2
  import { SbbAutocompleteBaseElement as g } from "@sbb-esta/lyne-elements/autocomplete.js";
3
- import { getNextElementIndex as d } from "@sbb-esta/lyne-elements/core/a11y.js";
3
+ import { getNextElementIndex as m } from "@sbb-esta/lyne-elements/core/a11y.js";
4
4
  import { isSafari as A } from "@sbb-esta/lyne-elements/core/dom.js";
5
5
  import { ɵstateController as a } from "@sbb-esta/lyne-elements/core/mixins.js";
6
6
  import { setAriaComboBoxAttributes as O } from "@sbb-esta/lyne-elements/core/overlay.js";
7
7
  import { customElement as x } from "lit/decorators.js";
8
- import { SbbAutocompleteGridOptionElement as m } from "../autocomplete-grid-option.js";
8
+ import { SbbAutocompleteGridOptionElement as b } from "../autocomplete-grid-option.js";
9
9
  let y = 0;
10
- const b = A;
11
- let N = (() => {
10
+ const d = A;
11
+ let D = (() => {
12
12
  var o;
13
13
  let p = [x("sbb-autocomplete-grid")], n, c = [], i, u = g;
14
14
  return o = class extends u {
15
+ constructor() {
16
+ super(...arguments), this.overlayId = `sbb-autocomplete-grid-${++y}`, this.panelRole = "grid", this._activeColumnIndex = 0;
17
+ }
15
18
  get options() {
16
19
  return Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-option") ?? []);
17
20
  }
18
- constructor() {
19
- super(), this.overlayId = `sbb-autocomplete-grid-${++y}`, this.panelRole = "grid", this._activeColumnIndex = 0, this.addEventListener?.("optionselected", (t) => this.onOptionSelected(t));
20
- }
21
21
  syncNegative() {
22
22
  this.querySelectorAll?.("sbb-divider, sbb-autocomplete-grid-button, sbb-option-hint").forEach((t) => t.negative = this.negative), this.querySelectorAll?.("sbb-autocomplete-grid-row, sbb-autocomplete-grid-option, sbb-autocomplete-grid-optgroup").forEach((t) => a(t).toggle("negative", this.negative));
23
23
  }
@@ -56,8 +56,8 @@ let N = (() => {
56
56
  this.activeOption = null;
57
57
  return;
58
58
  }
59
- const l = this.activeOption ? e.indexOf(this.activeOption) : -1, s = d(t, l, e.length);
60
- this.activeOption = e[s], this.activeOption.setActive(!0), this.triggerElement?.setAttribute("aria-activedescendant", this.activeOption.id), this.activeOption.scrollIntoView({ block: "nearest" }), this.autoSelectActiveOption && t && this.onOptionArrowsSelected(this.activeOption);
59
+ const l = this.activeOption ? e.indexOf(this.activeOption) : -1, s = m(t, l, e.length);
60
+ this.activeOption = e[s], this.activeOption.setActive(!0), this.triggerElement?.setAttribute("aria-activedescendant", this.activeOption.id), this.activeOption.scrollIntoView({ block: "nearest" }), t && t.preventDefault(), this.autoSelectActiveOption && t && this.setPendingSelection(this.activeOption);
61
61
  }
62
62
  _setNextHorizontalActiveElement(t) {
63
63
  if (!this.activeOption)
@@ -65,22 +65,22 @@ let N = (() => {
65
65
  const e = Array.from(this.activeOption?.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-option, sbb-autocomplete-grid-button") ?? [])?.filter((h) => !h.matches(":is(:state(disabled),[state--disabled])"));
66
66
  if (!e.length)
67
67
  return;
68
- const l = d(t, this._activeColumnIndex, e.length), s = e[l];
69
- s instanceof m ? s.setActive(!0) : a(s).add("focus-visible");
68
+ const l = m(t, this._activeColumnIndex, e.length), s = e[l];
69
+ s instanceof b ? s.setActive(!0) : a(s).add("focus-visible");
70
70
  const r = e[this._activeColumnIndex];
71
- r instanceof m ? r.setActive(!1) : a(r).delete("focus-visible"), this.triggerElement?.setAttribute("aria-activedescendant", s.id), s.scrollIntoView({ block: "nearest" }), this._activeColumnIndex = l;
71
+ r instanceof b ? r.setActive(!1) : a(r).delete("focus-visible"), this.triggerElement?.setAttribute("aria-activedescendant", s.id), s.scrollIntoView({ block: "nearest" }), this._activeColumnIndex = l;
72
72
  }
73
73
  resetActiveElement() {
74
74
  this._activeColumnIndex !== 0 && this.activeOption?.closest("sbb-autocomplete-grid-row")?.querySelectorAll("sbb-autocomplete-grid-button").forEach((t) => a(t).delete("focus-visible")), this.activeOption?.setActive(!1), this.activeOption = null, this._activeColumnIndex = 0, this.triggerElement?.removeAttribute("aria-activedescendant");
75
75
  }
76
76
  setTriggerAttributes(t) {
77
- O(t, b ? this.id : this.overlayId, !1, "grid");
77
+ O(t, d ? this.id : this.overlayId, !1, "grid");
78
78
  }
79
79
  }, i = o, (() => {
80
80
  const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(u[Symbol.metadata] ?? null) : void 0;
81
81
  v(null, n = { value: i }, p, { kind: "class", name: i.name, metadata: t }, null, c), i = n.value, t && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
82
- })(), o.role = b ? "grid" : null, f(i, c), i;
82
+ })(), o.role = d ? "grid" : null, f(i, c), i;
83
83
  })();
84
84
  export {
85
- N as SbbAutocompleteGridElement
85
+ D as SbbAutocompleteGridElement
86
86
  };
@@ -3127,7 +3127,7 @@
3127
3127
  },
3128
3128
  {
3129
3129
  "kind": "field",
3130
- "name": "maxCalcCoachsWidth",
3130
+ "name": "maxCalcCoachesWidth",
3131
3131
  "type": {
3132
3132
  "text": "number"
3133
3133
  },
@@ -3136,7 +3136,7 @@
3136
3136
  },
3137
3137
  {
3138
3138
  "kind": "field",
3139
- "name": "scrollCoachsAreaWidth",
3139
+ "name": "scrollCoachesAreaWidth",
3140
3140
  "type": {
3141
3141
  "text": "number"
3142
3142
  },
@@ -3296,6 +3296,24 @@
3296
3296
  "text": "{\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Tab: 'Tab',\n Enter: 'Enter',\n }"
3297
3297
  }
3298
3298
  },
3299
+ {
3300
+ "kind": "field",
3301
+ "name": "notAreaElements",
3302
+ "type": {
3303
+ "text": "array"
3304
+ },
3305
+ "privacy": "protected",
3306
+ "default": "[ 'DRIVER_AREA', 'COACH_PASSAGE', 'COACH_WALL_NO_PASSAGE', 'COMPARTMENT_PASSAGE', 'COMPARTMENT_PASSAGE_HIGH', 'COMPARTMENT_PASSAGE_MIDDLE', 'COMPARTMENT_PASSAGE_LOW', ]"
3307
+ },
3308
+ {
3309
+ "kind": "field",
3310
+ "name": "overHangingElementInformation",
3311
+ "type": {
3312
+ "text": "{\n coachId: string;\n overhangingPlaces: boolean;\n overhangingGraphicAreas: boolean;\n }[]"
3313
+ },
3314
+ "privacy": "protected",
3315
+ "default": "[]"
3316
+ },
3299
3317
  {
3300
3318
  "kind": "field",
3301
3319
  "name": "_isRunningInitPreselectCoachIndex",
@@ -3401,7 +3419,7 @@
3401
3419
  "text": "void"
3402
3420
  }
3403
3421
  },
3404
- "description": "Will be triggerd by focus navigation direction"
3422
+ "description": "Will be triggered by focus navigation direction"
3405
3423
  },
3406
3424
  {
3407
3425
  "kind": "method",
@@ -3462,7 +3480,7 @@
3462
3480
  },
3463
3481
  {
3464
3482
  "kind": "method",
3465
- "name": "keyboardSeatmapEventHadling",
3483
+ "name": "keyboardSeatmapEventHandling",
3466
3484
  "privacy": "protected",
3467
3485
  "return": {
3468
3486
  "type": {
@@ -4095,7 +4113,7 @@
4095
4113
  "text": "void"
4096
4114
  }
4097
4115
  },
4098
- "description": "Preparation of the used documents font-size which needs\nto be determined in order to correctly calculate css values with rem"
4116
+ "description": "Preparation of the used documents font-size which needs\nto be determined in order to correctly calculate CSS values with rem"
4099
4117
  },
4100
4118
  {
4101
4119
  "kind": "method",
@@ -4149,6 +4167,16 @@
4149
4167
  "name": "_prepareServiceIconsNavigation",
4150
4168
  "privacy": "private"
4151
4169
  },
4170
+ {
4171
+ "kind": "method",
4172
+ "name": "_prepareCoachWidthAndGapCalculations",
4173
+ "privacy": "private",
4174
+ "return": {
4175
+ "type": {
4176
+ "text": "void"
4177
+ }
4178
+ }
4179
+ },
4152
4180
  {
4153
4181
  "kind": "method",
4154
4182
  "name": "_getPlaceHtmlElement",
@@ -4226,6 +4254,31 @@
4226
4254
  }
4227
4255
  ],
4228
4256
  "description": "If a selected place is slightly hidden by the overflow scroll content and is still clicked,\nthe method tries to scroll the selected place into the nearest viewport, so that it is completely visible."
4257
+ },
4258
+ {
4259
+ "kind": "method",
4260
+ "name": "_isOverhangingElementsPresent",
4261
+ "privacy": "private",
4262
+ "return": {
4263
+ "type": {
4264
+ "text": "boolean"
4265
+ }
4266
+ },
4267
+ "parameters": [
4268
+ {
4269
+ "name": "coachItemWidth",
4270
+ "type": {
4271
+ "text": "number"
4272
+ }
4273
+ },
4274
+ {
4275
+ "name": "elements",
4276
+ "type": {
4277
+ "text": "(Place | BaseElement)[] | undefined"
4278
+ }
4279
+ }
4280
+ ],
4281
+ "description": "checks if any places or graphical elements (e.g. toilet area, etc.) are overhanging the coach borders"
4229
4282
  }
4230
4283
  ],
4231
4284
  "events": [
@@ -4366,15 +4419,6 @@
4366
4419
  },
4367
4420
  "privacy": "private"
4368
4421
  },
4369
- {
4370
- "kind": "field",
4371
- "name": "_notAreaElements",
4372
- "type": {
4373
- "text": "array"
4374
- },
4375
- "privacy": "private",
4376
- "default": "[ 'DRIVER_AREA', 'COACH_PASSAGE', 'COACH_WALL_NO_PASSAGE', 'COMPARTMENT_PASSAGE', 'COMPARTMENT_PASSAGE_HIGH', 'COMPARTMENT_PASSAGE_MIDDLE', 'COMPARTMENT_PASSAGE_LOW', ]"
4377
- },
4378
4422
  {
4379
4423
  "kind": "field",
4380
4424
  "name": "_notFixedRotatableAreaIcons",
@@ -5120,7 +5164,7 @@
5120
5164
  },
5121
5165
  {
5122
5166
  "kind": "field",
5123
- "name": "maxCalcCoachsWidth",
5167
+ "name": "maxCalcCoachesWidth",
5124
5168
  "type": {
5125
5169
  "text": "number"
5126
5170
  },
@@ -5133,7 +5177,7 @@
5133
5177
  },
5134
5178
  {
5135
5179
  "kind": "field",
5136
- "name": "scrollCoachsAreaWidth",
5180
+ "name": "scrollCoachesAreaWidth",
5137
5181
  "type": {
5138
5182
  "text": "number"
5139
5183
  },
@@ -5365,6 +5409,32 @@
5365
5409
  "module": "seat-reservation/seat-reservation/seat-reservation-base-element.js"
5366
5410
  }
5367
5411
  },
5412
+ {
5413
+ "kind": "field",
5414
+ "name": "notAreaElements",
5415
+ "type": {
5416
+ "text": "array"
5417
+ },
5418
+ "privacy": "protected",
5419
+ "default": "[ 'DRIVER_AREA', 'COACH_PASSAGE', 'COACH_WALL_NO_PASSAGE', 'COMPARTMENT_PASSAGE', 'COMPARTMENT_PASSAGE_HIGH', 'COMPARTMENT_PASSAGE_MIDDLE', 'COMPARTMENT_PASSAGE_LOW', ]",
5420
+ "inheritedFrom": {
5421
+ "name": "SeatReservationBaseElement",
5422
+ "module": "seat-reservation/seat-reservation/seat-reservation-base-element.js"
5423
+ }
5424
+ },
5425
+ {
5426
+ "kind": "field",
5427
+ "name": "overHangingElementInformation",
5428
+ "type": {
5429
+ "text": "{\n coachId: string;\n overhangingPlaces: boolean;\n overhangingGraphicAreas: boolean;\n }[]"
5430
+ },
5431
+ "privacy": "protected",
5432
+ "default": "[]",
5433
+ "inheritedFrom": {
5434
+ "name": "SeatReservationBaseElement",
5435
+ "module": "seat-reservation/seat-reservation/seat-reservation-base-element.js"
5436
+ }
5437
+ },
5368
5438
  {
5369
5439
  "kind": "field",
5370
5440
  "name": "_isRunningInitPreselectCoachIndex",
@@ -5502,7 +5572,7 @@
5502
5572
  "text": "void"
5503
5573
  }
5504
5574
  },
5505
- "description": "Will be triggerd by focus navigation direction",
5575
+ "description": "Will be triggered by focus navigation direction",
5506
5576
  "inheritedFrom": {
5507
5577
  "name": "SeatReservationBaseElement",
5508
5578
  "module": "seat-reservation/seat-reservation/seat-reservation-base-element.js"
@@ -5575,7 +5645,7 @@
5575
5645
  },
5576
5646
  {
5577
5647
  "kind": "method",
5578
- "name": "keyboardSeatmapEventHadling",
5648
+ "name": "keyboardSeatmapEventHandling",
5579
5649
  "privacy": "protected",
5580
5650
  "return": {
5581
5651
  "type": {
@@ -6344,7 +6414,7 @@
6344
6414
  "text": "void"
6345
6415
  }
6346
6416
  },
6347
- "description": "Preparation of the used documents font-size which needs\nto be determined in order to correctly calculate css values with rem",
6417
+ "description": "Preparation of the used documents font-size which needs\nto be determined in order to correctly calculate CSS values with rem",
6348
6418
  "inheritedFrom": {
6349
6419
  "name": "SeatReservationBaseElement",
6350
6420
  "module": "seat-reservation/seat-reservation/seat-reservation-base-element.js"
@@ -6418,6 +6488,20 @@
6418
6488
  "module": "seat-reservation/seat-reservation/seat-reservation-base-element.js"
6419
6489
  }
6420
6490
  },
6491
+ {
6492
+ "kind": "method",
6493
+ "name": "_prepareCoachWidthAndGapCalculations",
6494
+ "privacy": "private",
6495
+ "return": {
6496
+ "type": {
6497
+ "text": "void"
6498
+ }
6499
+ },
6500
+ "inheritedFrom": {
6501
+ "name": "SeatReservationBaseElement",
6502
+ "module": "seat-reservation/seat-reservation/seat-reservation-base-element.js"
6503
+ }
6504
+ },
6421
6505
  {
6422
6506
  "kind": "method",
6423
6507
  "name": "_getPlaceHtmlElement",
@@ -6515,6 +6599,35 @@
6515
6599
  "name": "SeatReservationBaseElement",
6516
6600
  "module": "seat-reservation/seat-reservation/seat-reservation-base-element.js"
6517
6601
  }
6602
+ },
6603
+ {
6604
+ "kind": "method",
6605
+ "name": "_isOverhangingElementsPresent",
6606
+ "privacy": "private",
6607
+ "return": {
6608
+ "type": {
6609
+ "text": "boolean"
6610
+ }
6611
+ },
6612
+ "parameters": [
6613
+ {
6614
+ "name": "coachItemWidth",
6615
+ "type": {
6616
+ "text": "number"
6617
+ }
6618
+ },
6619
+ {
6620
+ "name": "elements",
6621
+ "type": {
6622
+ "text": "(Place | BaseElement)[] | undefined"
6623
+ }
6624
+ }
6625
+ ],
6626
+ "description": "checks if any places or graphical elements (e.g. toilet area, etc.) are overhanging the coach borders",
6627
+ "inheritedFrom": {
6628
+ "name": "SeatReservationBaseElement",
6629
+ "module": "seat-reservation/seat-reservation/seat-reservation-base-element.js"
6630
+ }
6518
6631
  }
6519
6632
  ],
6520
6633
  "superclass": {
@@ -16,7 +16,6 @@ export declare class SbbAutocompleteGridElement<T = string> extends SbbAutocompl
16
16
  protected panelRole: string;
17
17
  private _activeColumnIndex;
18
18
  protected get options(): SbbAutocompleteGridOptionElement<T>[];
19
- constructor();
20
19
  protected syncNegative(): void;
21
20
  protected openedPanelKeyboardInteraction(event: KeyboardEvent): void;
22
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete-grid.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAUrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAUlF;;;;;;;;;GASG;AACH,qBAEM,0BAA0B,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IAChF,gBAAgC,IAAI,gBAAkC;IACtE,SAAS,CAAC,SAAS,SAAuC;IAC1D,SAAS,CAAC,SAAS,SAAU;IAC7B,OAAO,CAAC,kBAAkB,CAAK;IAE/B,SAAS,KAAK,OAAO,IAAI,gCAAgC,CAAC,CAAC,CAAC,EAAE,CAM7D;;IAOD,SAAS,CAAC,YAAY,IAAI,IAAI;IAY9B,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqBpE;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAmBtD,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI;IAiC1D,OAAO,CAAC,+BAA+B;IAqCvC,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAapC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAGhE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
1
+ {"version":3,"file":"autocomplete-grid.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAUrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAUlF;;;;;;;;;GASG;AACH,qBAEM,0BAA0B,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IAChF,gBAAgC,IAAI,gBAAkC;IACtE,SAAS,CAAC,SAAS,SAAuC;IAC1D,SAAS,CAAC,SAAS,SAAU;IAC7B,OAAO,CAAC,kBAAkB,CAAK;IAE/B,SAAS,KAAK,OAAO,IAAI,gCAAgC,CAAC,CAAC,CAAC,EAAE,CAM7D;IAED,SAAS,CAAC,YAAY,IAAI,IAAI;IAY9B,SAAS,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqBpE;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAmBtD,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI;IAsC1D,OAAO,CAAC,+BAA+B;IAqCvC,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAapC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAGhE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
@@ -16,15 +16,14 @@ let SbbAutocompleteGridElement = (() => {
16
16
  let _classThis;
17
17
  let _classSuper = SbbAutocompleteBaseElement;
18
18
  _a = class extends _classSuper {
19
- get options() {
20
- return Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-option") ?? []);
21
- }
22
19
  constructor() {
23
- super();
20
+ super(...arguments);
24
21
  this.overlayId = `sbb-autocomplete-grid-${++nextId}`;
25
22
  this.panelRole = "grid";
26
23
  this._activeColumnIndex = 0;
27
- this.addEventListener?.("optionselected", (e) => this.onOptionSelected(e));
24
+ }
25
+ get options() {
26
+ return Array.from(this.querySelectorAll?.("sbb-autocomplete-grid-option") ?? []);
28
27
  }
29
28
  syncNegative() {
30
29
  this.querySelectorAll?.("sbb-divider, sbb-autocomplete-grid-button, sbb-option-hint").forEach((e) => e.negative = this.negative);
@@ -84,8 +83,11 @@ let SbbAutocompleteGridElement = (() => {
84
83
  this.activeOption.setActive(true);
85
84
  this.triggerElement?.setAttribute("aria-activedescendant", this.activeOption.id);
86
85
  this.activeOption.scrollIntoView({ block: "nearest" });
86
+ if (event) {
87
+ event.preventDefault();
88
+ }
87
89
  if (this.autoSelectActiveOption && event) {
88
- this.onOptionArrowsSelected(this.activeOption);
90
+ this.setPendingSelection(this.activeOption);
89
91
  }
90
92
  }
91
93
  _setNextHorizontalActiveElement(event) {
@@ -136,4 +138,4 @@ let SbbAutocompleteGridElement = (() => {
136
138
  export {
137
139
  SbbAutocompleteGridElement
138
140
  };
139
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGlzU2FmYXJpIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kb20uanMnO1xuaW1wb3J0IHsgybVzdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGl2aWRlckVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9kaXZpZGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3B0R3JvdXBFbGVtZW50LCBTYmJPcHRpb25IaW50RWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL29wdGlvbi5qcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLnRzJztcbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLnRzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgYXJpYSByb2xlICdsaXN0Ym94JyBtdXN0IGJlIG9uIHRoZSBob3N0IGVsZW1lbnQsIG9yIGVsc2UgVm9pY2VPdmVyIHdvbid0IHdvcmsgYXQgYWxsLlxuICogT24gdGhlIG90aGVyIGhhbmQsIEpBV1MgYW5kIE5WREEgbmVlZCB0aGUgcm9sZSB0byBiZSBcImNsb3NlclwiIHRvIHRoZSBvcHRpb25zLCBvciBlbHNlIG9wdGdyb3VwcyB3b24ndCB3b3JrLlxuICovXG5jb25zdCBhcmlhUm9sZU9uSG9zdCA9IGlzU2FmYXJpO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBuYXRpdmUgaW5wdXQsIGl0IGRpc3BsYXlzIGEgcGFuZWwgd2l0aCBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMgd2l0aCBjb25uZWN0ZWQgYnV0dG9ucy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvd2Agb3IgYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRncm91cGAgZWxlbWVudHMgdG8gdGhlIGBzYmItYXV0b2NvbXBsZXRlLWdyaWRgLlxuICogQGNzc3Byb3AgWy0tc2JiLWF1dG9jb21wbGV0ZS16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3B0aW9ucy1wYW5lbC1tYXgtaGVpZ2h0XSAtIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBvcHRpb25zIHBhbmVsLlxuICogSWYgdGhlIGNhbGN1bGF0ZWQgcmVtYWluaW5nIHNwYWNlIGlzIHNtYWxsZXIsIHRoZSB2YWx1ZSBnZXRzIGlnbm9yZWQuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZCcpXG5jbGFzcyBTYmJBdXRvY29tcGxldGVHcmlkRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50PFQ+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gYXJpYVJvbGVPbkhvc3QgPyAnZ3JpZCcgOiBudWxsO1xuICBwcm90ZWN0ZWQgb3ZlcmxheUlkID0gYHNiYi1hdXRvY29tcGxldGUtZ3JpZC0keysrbmV4dElkfWA7XG4gIHByb3RlY3RlZCBwYW5lbFJvbGUgPSAnZ3JpZCc7XG4gIHByaXZhdGUgX2FjdGl2ZUNvbHVtbkluZGV4ID0gMDtcblxuICBwcm90ZWN0ZWQgZ2V0IG9wdGlvbnMoKTogU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUPj4oXG4gICAgICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uJyxcbiAgICAgICkgPz8gW10sXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdvcHRpb25zZWxlY3RlZCcsIChlOiBFdmVudCkgPT4gdGhpcy5vbk9wdGlvblNlbGVjdGVkKGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW5jTmVnYXRpdmUoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48XG4gICAgICBTYmJEaXZpZGVyRWxlbWVudCB8IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IHwgU2JiT3B0aW9uSGludEVsZW1lbnRcbiAgICA+KCdzYmItZGl2aWRlciwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbiwgc2JiLW9wdGlvbi1oaW50JykuZm9yRWFjaChcbiAgICAgIChlKSA9PiAoZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmUpLFxuICAgICk7XG5cbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUPiB8IFNiYk9wdEdyb3VwRWxlbWVudD4oXG4gICAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdywgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbiwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IMm1c3RhdGVDb250cm9sbGVyKGVsZW1lbnQpLnRvZ2dsZSgnbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICB0aGlzLnNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICB0aGlzLl9zZXROZXh0SG9yaXpvbnRhbEFjdGl2ZUVsZW1lbnQoZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGFuIGVsZW1lbnQgb24gJ0VudGVyJyBrZXlwcmVzcy5cbiAgICpcbiAgICogRHVlIHRvIGtleWJvYXJkIG5hdmlnYXRpb24gY29kZSwgdGhlIGBfYWN0aXZlQ29sdW1uSW5kZXhgIGlzIHplcm8gd2hlbiBhbiBvcHRpb24gaXMgJ2ZvY3VzZWQnXG4gICAqIGFuZCBncmVhdGVyIHRoYW4gemVybyB3aGVuIGEgYnV0dG9uIGlzICdmb2N1c2VkJywgc28gYXNraW5nIGZvciBgcXVlcnlTZWxlY3RvckFsbCguLi4pW3RoaXMuX2FjdGl2ZUNvbHVtbkluZGV4XWBcbiAgICogd291bGQgYWx3YXlzIHJldHVybiBhIGBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudGAuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0QnlLZXlib2FyZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGl2ZU9wdGlvbikge1xuICAgICAgLy8gV2UgYXJlIGN1cnJlbnRseSBzZWxlY3RpbmcgYW4gb3B0aW9uIGFuZCB0aGVyZWZvcmUgdGhlIEVudGVyIHByZXNzIHNob3VsZG4ndCB0cmlnZ2VyIGEgZm9ybSBzdWJtaXRcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGlmICh0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCAhPT0gMCkge1xuICAgICAgICB0aGlzLmFjdGl2ZU9wdGlvblxuICAgICAgICAgIC5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JylcbiAgICAgICAgICA/LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b24nKVxuICAgICAgICAgIFtcbiAgICAgICAgICAgIC8vIFdlIGlnbm9yZSB0aGUgb3B0aW9uIGluIHRoZSBzZWxlY3Rvci4gVGhlcmVmb3JlLCB3ZSBoYXZlIHRvIHNoaWZ0IHRoZSBhY3RpdmVDb2x1bW5JbmRleCBieSBvbmUuXG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCAtIDFcbiAgICAgICAgICBdPy5jbGljaygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hY3RpdmVPcHRpb25bJ3NlbGVjdFZpYVVzZXJJbnRlcmFjdGlvbiddKHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXROZXh0QWN0aXZlT3B0aW9uKGV2ZW50PzogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcigob3B0KSA9PiAhb3B0Lm1hdGNoZXMoJzpzdGF0ZShkaXNhYmxlZCknKSk7XG5cbiAgICAvLyBSZXNldCBwb3RlbnRpYWxseSBhY3RpdmUgb3B0aW9uXG4gICAgdGhpcy5hY3RpdmVPcHRpb24/LnNldEFjdGl2ZShmYWxzZSk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgICBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1yb3cgOnN0YXRlKGZvY3VzLXZpc2libGUpJykgPz8gW10sXG4gICAgKS5mb3JFYWNoKChyb3cpID0+IMm1c3RhdGVDb250cm9sbGVyKHJvdykuZGVsZXRlKCdmb2N1cy12aXNpYmxlJykpO1xuICAgIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4ID0gMDtcblxuICAgIGlmICghZW5hYmxlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5hY3RpdmVPcHRpb25cbiAgICAgID8gZW5hYmxlZE9wdGlvbnMuaW5kZXhPZih0aGlzLmFjdGl2ZU9wdGlvbiBhcyBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUPilcbiAgICAgIDogLTE7XG5cbiAgICAvLyBHZXQgYW5kIGFjdGl2YXRlIHRoZSBuZXh0IGFjdGl2ZSBvcHRpb25cbiAgICBjb25zdCBuZXh0ID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudCwgYWN0aXZlSXRlbUluZGV4LCBlbmFibGVkT3B0aW9ucy5sZW5ndGgpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gZW5hYmxlZE9wdGlvbnNbbmV4dF07XG4gICAgdGhpcy5hY3RpdmVPcHRpb24uc2V0QWN0aXZlKHRydWUpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgdGhpcy5hY3RpdmVPcHRpb24uaWQpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcblxuICAgIC8vIElmICdhdXRvU2VsZWN0QWN0aXZlT3B0aW9uJyBhbmQgaXMgdHJpZ2dlcmVkIGZyb20gYSBrZXlib2FyZCBldmVudFxuICAgIGlmICh0aGlzLmF1dG9TZWxlY3RBY3RpdmVPcHRpb24gJiYgZXZlbnQpIHtcbiAgICAgIHRoaXMub25PcHRpb25BcnJvd3NTZWxlY3RlZCh0aGlzLmFjdGl2ZU9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TmV4dEhvcml6b250YWxBY3RpdmVFbGVtZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFjdGl2ZU9wdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnRzSW5Sb3cgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5hY3RpdmVPcHRpb25cbiAgICAgICAgPy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JylcbiAgICAgICAgPy5xdWVyeVNlbGVjdG9yQWxsPFxuICAgICAgICAgIFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50PFQ+IHwgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnRcbiAgICAgICAgPignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbiwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicpID8/IFtdLFxuICAgICk/LmZpbHRlcigoZWwpID0+ICFlbC5tYXRjaGVzKCc6c3RhdGUoZGlzYWJsZWQpJykpO1xuXG4gICAgaWYgKCFlbGVtZW50c0luUm93Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQ6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4LCBlbGVtZW50c0luUm93Lmxlbmd0aCk7XG4gICAgY29uc3QgbmV4dEVsZW1lbnQ6IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50PFQ+IHwgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnQgPVxuICAgICAgZWxlbWVudHNJblJvd1tuZXh0XTtcbiAgICBpZiAobmV4dEVsZW1lbnQgaW5zdGFuY2VvZiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCkge1xuICAgICAgbmV4dEVsZW1lbnQuc2V0QWN0aXZlKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICDJtXN0YXRlQ29udHJvbGxlcihuZXh0RWxlbWVudCkuYWRkKCdmb2N1cy12aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEFjdGl2ZUVsZW1lbnQgPSBlbGVtZW50c0luUm93W3RoaXMuX2FjdGl2ZUNvbHVtbkluZGV4XTtcbiAgICBpZiAobGFzdEFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCkge1xuICAgICAgbGFzdEFjdGl2ZUVsZW1lbnQuc2V0QWN0aXZlKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgybVzdGF0ZUNvbnRyb2xsZXIobGFzdEFjdGl2ZUVsZW1lbnQpLmRlbGV0ZSgnZm9jdXMtdmlzaWJsZScpO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsIG5leHRFbGVtZW50LmlkKTtcbiAgICBuZXh0RWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG4gICAgdGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggPSBuZXh0O1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0QWN0aXZlRWxlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggIT09IDApIHtcbiAgICAgIHRoaXMuYWN0aXZlT3B0aW9uXG4gICAgICAgID8uY2xvc2VzdCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdycpXG4gICAgICAgID8ucXVlcnlTZWxlY3RvckFsbCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicpXG4gICAgICAgIC5mb3JFYWNoKChlKSA9PiDJtXN0YXRlQ29udHJvbGxlcihlKS5kZWxldGUoJ2ZvY3VzLXZpc2libGUnKSk7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlT3B0aW9uPy5zZXRBY3RpdmUoZmFsc2UpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gbnVsbDtcbiAgICB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCA9IDA7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUcmlnZ2VyQXR0cmlidXRlcyhlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyhlbGVtZW50LCBhcmlhUm9sZU9uSG9zdCA/IHRoaXMuaWQgOiB0aGlzLm92ZXJsYXlJZCwgZmFsc2UsICdncmlkJyk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hdXRvY29tcGxldGUtZ3JpZCc6IFNiYkF1dG9jb21wbGV0ZUdyaWRFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiybVzdGF0ZUNvbnRyb2xsZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBWUEsSUFBSSxTQUFTO0FBTWIsTUFBTSxpQkFBaUI7SUFjakIsOEJBQTBCLE1BQUE7OzBCQUQvQixjQUFjLHVCQUF1QixDQUFDOzs7O29CQUNjO0FBQVIsRUFBQSxtQkFBUSxZQUE2QjtBQUFBLElBTWhGLElBQWMsVUFBTztBQUNuQixhQUFPLE1BQU0sS0FDWCxLQUFLLG1CQUNILDhCQUE4QixLQUMzQixFQUFFO0FBQUEsSUFFWDtBQUFBLElBRUEsY0FBQTtBQUNFLFlBQUE7QUFiUSxXQUFBLFlBQVkseUJBQXlCLEVBQUUsTUFBTTtBQUM3QyxXQUFBLFlBQVk7QUFDZCxXQUFBLHFCQUFxQjtBQVkzQixXQUFLLG1CQUFtQixrQkFBa0IsQ0FBQyxNQUFhLEtBQUssaUJBQWlCLENBQUMsQ0FBQztBQUFBLElBQ2xGO0FBQUEsSUFFVSxlQUFZO0FBQ3BCLFdBQUssbUJBRUgsNERBQTRELEVBQUUsUUFDOUQsQ0FBQyxNQUFPLEVBQUUsV0FBVyxLQUFLLFFBQVM7QUFHckMsV0FBSyxtQkFDSCx5RkFBeUYsRUFDekYsUUFBUSxDQUFDLFlBQVlBLGlCQUFpQixPQUFPLEVBQUUsT0FBTyxZQUFZLEtBQUssUUFBUSxDQUFDO0FBQUEsSUFDcEY7QUFBQSxJQUVVLCtCQUErQixPQUFvQjtBQUMzRCxVQUFJ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
141
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGlzU2FmYXJpIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kb20uanMnO1xuaW1wb3J0IHsgybVzdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRGl2aWRlckVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9kaXZpZGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3B0R3JvdXBFbGVtZW50LCBTYmJPcHRpb25IaW50RWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL29wdGlvbi5qcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLnRzJztcbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLnRzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgYXJpYSByb2xlICdsaXN0Ym94JyBtdXN0IGJlIG9uIHRoZSBob3N0IGVsZW1lbnQsIG9yIGVsc2UgVm9pY2VPdmVyIHdvbid0IHdvcmsgYXQgYWxsLlxuICogT24gdGhlIG90aGVyIGhhbmQsIEpBV1MgYW5kIE5WREEgbmVlZCB0aGUgcm9sZSB0byBiZSBcImNsb3NlclwiIHRvIHRoZSBvcHRpb25zLCBvciBlbHNlIG9wdGdyb3VwcyB3b24ndCB3b3JrLlxuICovXG5jb25zdCBhcmlhUm9sZU9uSG9zdCA9IGlzU2FmYXJpO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBuYXRpdmUgaW5wdXQsIGl0IGRpc3BsYXlzIGEgcGFuZWwgd2l0aCBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMgd2l0aCBjb25uZWN0ZWQgYnV0dG9ucy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvd2Agb3IgYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRncm91cGAgZWxlbWVudHMgdG8gdGhlIGBzYmItYXV0b2NvbXBsZXRlLWdyaWRgLlxuICogQGNzc3Byb3AgWy0tc2JiLWF1dG9jb21wbGV0ZS16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3B0aW9ucy1wYW5lbC1tYXgtaGVpZ2h0XSAtIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBvcHRpb25zIHBhbmVsLlxuICogSWYgdGhlIGNhbGN1bGF0ZWQgcmVtYWluaW5nIHNwYWNlIGlzIHNtYWxsZXIsIHRoZSB2YWx1ZSBnZXRzIGlnbm9yZWQuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZCcpXG5jbGFzcyBTYmJBdXRvY29tcGxldGVHcmlkRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50PFQ+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gYXJpYVJvbGVPbkhvc3QgPyAnZ3JpZCcgOiBudWxsO1xuICBwcm90ZWN0ZWQgb3ZlcmxheUlkID0gYHNiYi1hdXRvY29tcGxldGUtZ3JpZC0keysrbmV4dElkfWA7XG4gIHByb3RlY3RlZCBwYW5lbFJvbGUgPSAnZ3JpZCc7XG4gIHByaXZhdGUgX2FjdGl2ZUNvbHVtbkluZGV4ID0gMDtcblxuICBwcm90ZWN0ZWQgZ2V0IG9wdGlvbnMoKTogU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUPj4oXG4gICAgICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uJyxcbiAgICAgICkgPz8gW10sXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW5jTmVnYXRpdmUoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48XG4gICAgICBTYmJEaXZpZGVyRWxlbWVudCB8IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IHwgU2JiT3B0aW9uSGludEVsZW1lbnRcbiAgICA+KCdzYmItZGl2aWRlciwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbiwgc2JiLW9wdGlvbi1oaW50JykuZm9yRWFjaChcbiAgICAgIChlKSA9PiAoZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmUpLFxuICAgICk7XG5cbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUPiB8IFNiYk9wdEdyb3VwRWxlbWVudD4oXG4gICAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdywgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbiwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IMm1c3RhdGVDb250cm9sbGVyKGVsZW1lbnQpLnRvZ2dsZSgnbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICB0aGlzLnNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICB0aGlzLl9zZXROZXh0SG9yaXpvbnRhbEFjdGl2ZUVsZW1lbnQoZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGFuIGVsZW1lbnQgb24gJ0VudGVyJyBrZXlwcmVzcy5cbiAgICpcbiAgICogRHVlIHRvIGtleWJvYXJkIG5hdmlnYXRpb24gY29kZSwgdGhlIGBfYWN0aXZlQ29sdW1uSW5kZXhgIGlzIHplcm8gd2hlbiBhbiBvcHRpb24gaXMgJ2ZvY3VzZWQnXG4gICAqIGFuZCBncmVhdGVyIHRoYW4gemVybyB3aGVuIGEgYnV0dG9uIGlzICdmb2N1c2VkJywgc28gYXNraW5nIGZvciBgcXVlcnlTZWxlY3RvckFsbCguLi4pW3RoaXMuX2FjdGl2ZUNvbHVtbkluZGV4XWBcbiAgICogd291bGQgYWx3YXlzIHJldHVybiBhIGBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudGAuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0QnlLZXlib2FyZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGl2ZU9wdGlvbikge1xuICAgICAgLy8gV2UgYXJlIGN1cnJlbnRseSBzZWxlY3RpbmcgYW4gb3B0aW9uIGFuZCB0aGVyZWZvcmUgdGhlIEVudGVyIHByZXNzIHNob3VsZG4ndCB0cmlnZ2VyIGEgZm9ybSBzdWJtaXRcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGlmICh0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCAhPT0gMCkge1xuICAgICAgICB0aGlzLmFjdGl2ZU9wdGlvblxuICAgICAgICAgIC5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JylcbiAgICAgICAgICA/LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b24nKVxuICAgICAgICAgIFtcbiAgICAgICAgICAgIC8vIFdlIGlnbm9yZSB0aGUgb3B0aW9uIGluIHRoZSBzZWxlY3Rvci4gVGhlcmVmb3JlLCB3ZSBoYXZlIHRvIHNoaWZ0IHRoZSBhY3RpdmVDb2x1bW5JbmRleCBieSBvbmUuXG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCAtIDFcbiAgICAgICAgICBdPy5jbGljaygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hY3RpdmVPcHRpb25bJ3NlbGVjdFZpYVVzZXJJbnRlcmFjdGlvbiddKHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXROZXh0QWN0aXZlT3B0aW9uKGV2ZW50PzogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcigob3B0KSA9PiAhb3B0Lm1hdGNoZXMoJzpzdGF0ZShkaXNhYmxlZCknKSk7XG5cbiAgICAvLyBSZXNldCBwb3RlbnRpYWxseSBhY3RpdmUgb3B0aW9uXG4gICAgdGhpcy5hY3RpdmVPcHRpb24/LnNldEFjdGl2ZShmYWxzZSk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgICBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1yb3cgOnN0YXRlKGZvY3VzLXZpc2libGUpJykgPz8gW10sXG4gICAgKS5mb3JFYWNoKChyb3cpID0+IMm1c3RhdGVDb250cm9sbGVyKHJvdykuZGVsZXRlKCdmb2N1cy12aXNpYmxlJykpO1xuICAgIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4ID0gMDtcblxuICAgIGlmICghZW5hYmxlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFjdGl2ZU9wdGlvbiA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5hY3RpdmVPcHRpb25cbiAgICAgID8gZW5hYmxlZE9wdGlvbnMuaW5kZXhPZih0aGlzLmFjdGl2ZU9wdGlvbiBhcyBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUPilcbiAgICAgIDogLTE7XG5cbiAgICAvLyBHZXQgYW5kIGFjdGl2YXRlIHRoZSBuZXh0IGFjdGl2ZSBvcHRpb25cbiAgICBjb25zdCBuZXh0ID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudCwgYWN0aXZlSXRlbUluZGV4LCBlbmFibGVkT3B0aW9ucy5sZW5ndGgpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gZW5hYmxlZE9wdGlvbnNbbmV4dF07XG4gICAgdGhpcy5hY3RpdmVPcHRpb24uc2V0QWN0aXZlKHRydWUpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgdGhpcy5hY3RpdmVPcHRpb24uaWQpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcblxuICAgIC8vIE1vdmluZyB0aGUgYWN0aXZlIG9wdGlvbiBzaG91bGQgbm90IG1vdmUgdGhlIGlucHV0IGN1cnNvciAoY2FyZXQpXG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIC8vIElmICdhdXRvU2VsZWN0QWN0aXZlT3B0aW9uJyBhbmQgaXMgdHJpZ2dlcmVkIGZyb20gYSBrZXlib2FyZCBldmVudFxuICAgIGlmICh0aGlzLmF1dG9TZWxlY3RBY3RpdmVPcHRpb24gJiYgZXZlbnQpIHtcbiAgICAgIHRoaXMuc2V0UGVuZGluZ1NlbGVjdGlvbih0aGlzLmFjdGl2ZU9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TmV4dEhvcml6b250YWxBY3RpdmVFbGVtZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFjdGl2ZU9wdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnRzSW5Sb3cgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5hY3RpdmVPcHRpb25cbiAgICAgICAgPy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JylcbiAgICAgICAgPy5xdWVyeVNlbGVjdG9yQWxsPFxuICAgICAgICAgIFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50PFQ+IHwgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnRcbiAgICAgICAgPignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbiwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicpID8/IFtdLFxuICAgICk/LmZpbHRlcigoZWwpID0+ICFlbC5tYXRjaGVzKCc6c3RhdGUoZGlzYWJsZWQpJykpO1xuXG4gICAgaWYgKCFlbGVtZW50c0luUm93Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQ6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4LCBlbGVtZW50c0luUm93Lmxlbmd0aCk7XG4gICAgY29uc3QgbmV4dEVsZW1lbnQ6IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50PFQ+IHwgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnQgPVxuICAgICAgZWxlbWVudHNJblJvd1tuZXh0XTtcbiAgICBpZiAobmV4dEVsZW1lbnQgaW5zdGFuY2VvZiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCkge1xuICAgICAgbmV4dEVsZW1lbnQuc2V0QWN0aXZlKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICDJtXN0YXRlQ29udHJvbGxlcihuZXh0RWxlbWVudCkuYWRkKCdmb2N1cy12aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEFjdGl2ZUVsZW1lbnQgPSBlbGVtZW50c0luUm93W3RoaXMuX2FjdGl2ZUNvbHVtbkluZGV4XTtcbiAgICBpZiAobGFzdEFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCkge1xuICAgICAgbGFzdEFjdGl2ZUVsZW1lbnQuc2V0QWN0aXZlKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgybVzdGF0ZUNvbnRyb2xsZXIobGFzdEFjdGl2ZUVsZW1lbnQpLmRlbGV0ZSgnZm9jdXMtdmlzaWJsZScpO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsIG5leHRFbGVtZW50LmlkKTtcbiAgICBuZXh0RWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7XG4gICAgdGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggPSBuZXh0O1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0QWN0aXZlRWxlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggIT09IDApIHtcbiAgICAgIHRoaXMuYWN0aXZlT3B0aW9uXG4gICAgICAgID8uY2xvc2VzdCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdycpXG4gICAgICAgID8ucXVlcnlTZWxlY3RvckFsbCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicpXG4gICAgICAgIC5mb3JFYWNoKChlKSA9PiDJtXN0YXRlQ29udHJvbGxlcihlKS5kZWxldGUoJ2ZvY3VzLXZpc2libGUnKSk7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlT3B0aW9uPy5zZXRBY3RpdmUoZmFsc2UpO1xuICAgIHRoaXMuYWN0aXZlT3B0aW9uID0gbnVsbDtcbiAgICB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCA9IDA7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUcmlnZ2VyQXR0cmlidXRlcyhlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyhlbGVtZW50LCBhcmlhUm9sZU9uSG9zdCA/IHRoaXMuaWQgOiB0aGlzLm92ZXJsYXlJZCwgZmFsc2UsICdncmlkJyk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hdXRvY29tcGxldGUtZ3JpZCc6IFNiYkF1dG9jb21wbGV0ZUdyaWRFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiybVzdGF0ZUNvbnRyb2xsZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBWUEsSUFBSSxTQUFTO0FBTWIsTUFBTSxpQkFBaUI7SUFjakIsOEJBQTBCLE1BQUE7OzBCQUQvQixjQUFjLHVCQUF1QixDQUFDOzs7O29CQUNjO0FBQVIsRUFBQSxtQkFBUSxZQUE2QjtBQUFBOztBQUV0RSxXQUFBLFlBQVkseUJBQXlCLEVBQUUsTUFBTTtBQUM3QyxXQUFBLFlBQVk7QUFDZCxXQUFBLHFCQUFxQjtBQUFBLElBZ0svQjtBQUFBLElBOUpFLElBQWMsVUFBTztBQUNuQixhQUFPLE1BQU0sS0FDWCxLQUFLLG1CQUNILDhCQUE4QixLQUMzQixFQUFFO0FBQUEsSUFFWDtBQUFBLElBRVUsZUFBWTtBQUNwQixXQUFLLG1CQUVILDREQUE0RCxFQUFFLFFBQzlELENBQUMsTUFBTyxFQUFFLFdBQVcsS0FBSyxRQUFTO0FBR3JDLFdBQUssbUJBQ0gseUZBQXlGLEVBQ3pGLFFBQVEsQ0FBQyxZQUFZQSxpQkFBaUIsT0FBTyxFQUFFLE9BQU8sWUFBWSxLQUFLLFFBQVEsQ0FBQztBQUFBLElBQ3BGO0FBQUEsSUFFVSwrQkFBK0IsT0FBb0I7QUFDM0QsVUFBSSxDQUFDLEtBQUssUUFBUTtBQUNoQjtBQUFBLE1BQ0Y7QUFDQSxjQUFRLE1BQU0sS0FBQTtBQUFBLFFBQ1osS0FBSztBQUNILGVBQUssaUJB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
@@ -41,8 +41,8 @@ export declare class SeatReservationBaseElement extends LitElement {
41
41
  protected coachNavButtonDim: number;
42
42
  protected coachNavData: NavigationCoachItem[];
43
43
  protected currScrollDirection: ScrollDirection;
44
- protected maxCalcCoachsWidth: number;
45
- protected scrollCoachsAreaWidth: number;
44
+ protected maxCalcCoachesWidth: number;
45
+ protected scrollCoachesAreaWidth: number;
46
46
  protected scrollNavigationAreaDim: number;
47
47
  protected triggerCoachPositionsCollection: CoachScrollTriggerPoint[];
48
48
  protected navigationScrollArea: HTMLElement;
@@ -67,6 +67,12 @@ export declare class SeatReservationBaseElement extends LitElement {
67
67
  readonly Tab: "Tab";
68
68
  readonly Enter: "Enter";
69
69
  };
70
+ protected notAreaElements: string[];
71
+ protected overHangingElementInformation: {
72
+ coachId: string;
73
+ overhangingPlaces: boolean;
74
+ overhangingGraphicAreas: boolean;
75
+ }[];
70
76
  private _isRunningInitPreselectCoachIndex;
71
77
  private _scrollTimeout;
72
78
  private _lastStartScrollPos;
@@ -93,7 +99,7 @@ export declare class SeatReservationBaseElement extends LitElement {
93
99
  * @param focusCoachIndex
94
100
  */
95
101
  protected onFocusTableCoachAndPreselectPlace(focusCoachIndex: number): void;
96
- /** Will be triggerd by focus navigation direction */
102
+ /** Will be triggered by focus navigation direction */
97
103
  protected onFocusNavDirectionButton(): void;
98
104
  /** TAB Key Event handling for Coach Navigation */
99
105
  protected onKeyNavigationNavCoachButton(event: KeyboardEvent, currNavCoachButtonIndex: number): void;
@@ -103,7 +109,7 @@ export declare class SeatReservationBaseElement extends LitElement {
103
109
  * Initialisation of Keyboard Seatmap event handling to navigation between each places inside a selected coach by using [arrow] keys.
104
110
  * With the [TAB] key the user navigation goes to the next coach navigation element and the currently selected place is automatically reset.
105
111
  */
106
- protected keyboardSeatmapEventHadling(event: KeyboardEvent): void;
112
+ protected keyboardSeatmapEventHandling(event: KeyboardEvent): void;
107
113
  /**
108
114
  * Selects a place inside the coach if navigated via keyboard,
109
115
  * otherwise the coach grid is selected (necessary for ScreenReader)
@@ -211,7 +217,7 @@ export declare class SeatReservationBaseElement extends LitElement {
211
217
  private _setCurrSelectedPlaceElementId;
212
218
  /**
213
219
  * Preparation of the used documents font-size which needs
214
- * to be determined in order to correctly calculate css values with rem
220
+ * to be determined in order to correctly calculate CSS values with rem
215
221
  * */
216
222
  private _determineBaseFontSize;
217
223
  /**
@@ -226,6 +232,7 @@ export declare class SeatReservationBaseElement extends LitElement {
226
232
  private _prepareTravelClassNavigation;
227
233
  private _prepareDriverAreaSideNavigation;
228
234
  private _prepareServiceIconsNavigation;
235
+ private _prepareCoachWidthAndGapCalculations;
229
236
  /**
230
237
  * Returns the current selected place HTML element by currSelectedPlaceElementId.
231
238
  * @returns HTMLElement or null
@@ -255,6 +262,12 @@ export declare class SeatReservationBaseElement extends LitElement {
255
262
  * @param placeId
256
263
  */
257
264
  private _scrollPlaceIntoNearestViewport;
265
+ /**
266
+ * checks if any places or graphical elements (e.g. toilet area, etc.) are overhanging the coach borders
267
+ * @param coachItemWidth
268
+ * @param elements
269
+ */
270
+ private _isOverhangingElementsPresent;
258
271
  }
259
272
  export {};
260
273
  //# sourceMappingURL=seat-reservation-base-element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seat-reservation-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation-base-element.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAShE,OAAO,KAAK,EACV,WAAW,EAEX,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,KAAK,EACL,cAAc,EAEd,eAAe,EAGf,6BAA6B,EAC9B,MAAM,cAAc,CAAC;AAGtB,aAAK,eAAe;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAaD,qBAAa,0BAA2B,SAAQ,UAAU;IACxD,gBAAuB,MAAM;;;MAGlB;IAEX,kEAAkE;IAClE,SACgB,gBAAgB,EAAE,eAAe,EAAE,CAAS;IAE5D,sEAAsE;IACtE,SAEgB,aAAa,EAAE,OAAO,CAAQ;IAE9C,sDAAsD;IACtD,SAEgB,aAAa,EAAE,OAAO,CAAS;IAE/C,iDAAiD;IACjD,SAEgB,YAAY,EAAE,MAAM,CAAM;IAE1C,wCAAwC;IACxC,SAEgB,MAAM,EAAE,MAAM,CAAS;IAEvC,iDAAiD;IACjD,SAEgB,mBAAmB,EAAE,MAAM,CAAM;IAEjD,0DAA0D;IAC1D,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD,2CAA2C;IAC3C,SAEgB,iBAAiB,EAAE,OAAO,CAAS;IAEnD,SAEgB,mBAAmB,EAAE,MAAM,CAAM;IAExC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAM;IACnD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAM;IAClD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAM;IAG3D,SAAS,CAAC,kBAAkB,SAAK;IAEjC,SAAS,CAAC,iBAAiB,SAAK;IAGhC,SAAS,CAAC,iBAAiB,SAA+C;IAE1E,SAAS,CAAC,oBAAoB,SAAM;IAEpC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAK;IACxC,SAAS,CAAC,YAAY,EAAE,mBAAmB,EAAE,CAAM;IACnD,SAAS,CAAC,mBAAmB,EAAE,eAAe,CAAyB;IACvE,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAK;IACzC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAK;IAC5C,SAAS,CAAC,uBAAuB,EAAE,MAAM,CAAK;IAC9C,SAAS,CAAC,+BAA+B,EAAE,uBAAuB,EAAE,CAAM;IAC1E,SAAS,CAAC,oBAAoB,EAAE,WAAW,CAAS;IACpD,SAAS,CAAC,eAAe,EAAE,WAAW,CAAS;IAC/C,SAAS,CAAC,iBAAiB,EAAE,KAAK,GAAG,IAAI,CAAQ;IACjD,SAAS,CAAC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3D,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAM;IAC9C,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAK;IAC5C,SAAS,CAAC,8BAA8B,EAAE,OAAO,CAAS;IAC1D,SAAS,CAAC,6BAA6B,EAAE,6BAA6B,CAGpE;IACF,SAAS,CAAC,wCAAwC,UAAS;IAC3D,SAAS,CAAC,oBAAoB,UAAS;IACvC,SAAS,CAAC,eAAe,UAAS;IAClC,SAAS,CAAC,oBAAoB,UAAS;IACvC,SAAS,CAAC,gBAAgB,UAAS;IACnC,SAAS,CAAC,6BAA6B,UAAS;IAChD,SAAS,CAAC,wBAAwB;;;;;;;MAOvB;IAEX,OAAO,CAAC,iCAAiC,CAAS;IAClD,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,mBAAmB,CAAM;cAEd,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IA0C5E,SAAS,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAiB5D;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAYvC,sDAAsD;IACtD,SAAS,CAAC,oCAAoC,IAAI,IAAI;IAqEtD;;;;;OAKG;IAEH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAUpC;;;;;OAKG;IACH,SAAS,CAAC,kCAAkC,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IAW3E,qDAAqD;IACrD,SAAS,CAAC,yBAAyB,IAAI,IAAI;IAK3C,kDAAkD;IAClD,SAAS,CAAC,6BAA6B,CACrC,KAAK,EAAE,aAAa,EACpB,uBAAuB,EAAE,MAAM,GAC9B,IAAI;IAcP,8GAA8G;IAC9G,OAAO,CAAC,uBAAuB;IA2C/B;;;OAGG;IACH,SAAS,CAAC,2BAA2B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAgEjE;;;OAGG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IA2CvC,SAAS,CAAC,wBAAwB,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI;IAiCvE,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IAwBtD,SAAS,CAAC,mBAAmB,IAAI,IAAI;IASrC,SAAS,CAAC,sBAAsB,CAC9B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,CAAC,EAAE,gBAAgB,EACjC,cAAc,CAAC,EAAE,OAAO,EACxB,eAAe,CAAC,EAAE,OAAO,GACxB,gBAAgB;IAmBnB,SAAS,CAAC,qBAAqB,CAC7B,eAAe,EAAE,eAAe,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,cAAc,CAAC,EAAE,gBAAgB,EACjC,cAAc,CAAC,EAAE,OAAO,GACvB,eAAe;IAoBlB;;;;;OAKG;IACH,SAAS,CAAC,yBAAyB,CACjC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,gBAAgB,GAC/B,OAAO;IAOV;;;;;OAKG;IACH,SAAS,CAAC,kCAAkC,CAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,GAC1B,uBAAuB;IAiB1B;;;OAGG;IACH,OAAO,CAAC,8BAA8B;IAuDtC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAiBzC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAOvC;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAapC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAkBpC;;;OAGG;IACH,OAAO,CAAC,qCAAqC;IAU7C;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAkBrC,OAAO,CAAC,yCAAyC;IA6BjD;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IAgHtC,OAAO,CAAC,kCAAkC;IA6E1C,OAAO,CAAC,0BAA0B;IAkClC,SAAS,CAAC,0BAA0B,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAOnE,SAAS,CAAC,0BAA0B,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAKnE,SAAS,CAAC,mCAAmC,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAwBnF,OAAO,CAAC,oCAAoC;IAkC5C,SAAS,CAAC,iCAAiC,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IA6BjF,SAAS,CAAC,0BAA0B,IAAI,IAAI;IA0B5C,SAAS,CAAC,iBAAiB,CACzB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,MAAM;IAMT;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IA+BlC;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAgC1C;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,iCAAiC;IAoBzC,OAAO,CAAC,gCAAgC;IAUxC,OAAO,CAAC,8BAA8B;IAUtC;;;SAGK;IACL,OAAO,CAAC,sBAAsB;IAS9B;;;;;;;SAOK;IACL,OAAO,CAAC,2BAA2B;IA+BnC,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,gCAAgC;IAsBxC,OAAO,CAAC,8BAA8B,CA4BpC;IAEF;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,kBAAkB;IAO1B;;;;;;;;;OASG;IACH,OAAO,CAAC,0BAA0B;IAkBlC;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;CAKxC"}
1
+ {"version":3,"file":"seat-reservation-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/seat-reservation/seat-reservation/seat-reservation-base-element.ts"],"names":[],"mappings":"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"}