@sbb-esta/lyne-elements 0.52.1 → 0.53.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 (242) hide show
  1. package/accordion.js +54 -54
  2. package/action-group.js +3 -3
  3. package/alert/alert-group.js +22 -22
  4. package/alert/alert.js +22 -22
  5. package/autocomplete.js +126 -126
  6. package/breadcrumb/breadcrumb-group.js +60 -60
  7. package/breadcrumb/breadcrumb.js +17 -17
  8. package/calendar.js +423 -423
  9. package/card/card-badge.js +17 -17
  10. package/card/card.js +2 -2
  11. package/card/common.js +30 -30
  12. package/checkbox/checkbox/checkbox.d.ts +3 -46
  13. package/checkbox/checkbox/checkbox.d.ts.map +1 -1
  14. package/checkbox/checkbox-group/checkbox-group.d.ts +4 -2
  15. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  16. package/checkbox/checkbox-group.js +26 -23
  17. package/checkbox/checkbox-panel/checkbox-panel.d.ts +41 -0
  18. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -0
  19. package/checkbox/checkbox-panel.d.ts +2 -0
  20. package/checkbox/checkbox-panel.d.ts.map +1 -0
  21. package/checkbox/checkbox-panel.js +67 -0
  22. package/checkbox/checkbox.js +27 -104
  23. package/checkbox/common/checkbox-common.d.ts +13 -0
  24. package/checkbox/common/checkbox-common.d.ts.map +1 -0
  25. package/checkbox/common.d.ts +2 -0
  26. package/checkbox/common.d.ts.map +1 -0
  27. package/checkbox/common.js +52 -0
  28. package/checkbox.d.ts +2 -0
  29. package/checkbox.d.ts.map +1 -1
  30. package/checkbox.js +2 -0
  31. package/clock.js +83 -83
  32. package/container/sticky-bar.js +16 -16
  33. package/core/a11y.js +91 -91
  34. package/core/base-elements.js +86 -86
  35. package/core/controllers.js +40 -40
  36. package/core/datetime.js +32 -32
  37. package/core/dom.js +26 -26
  38. package/core/eventing.js +33 -33
  39. package/core/mixins/panel-mixin.d.ts +13 -0
  40. package/core/mixins/panel-mixin.d.ts.map +1 -0
  41. package/core/mixins.d.ts +1 -0
  42. package/core/mixins.d.ts.map +1 -1
  43. package/core/mixins.js +170 -139
  44. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +1 -1
  45. package/core/testing.js +29 -29
  46. package/core.css +1 -1
  47. package/custom-elements.json +8862 -6904
  48. package/datepicker/common.js +55 -55
  49. package/datepicker/datepicker-toggle.js +94 -94
  50. package/datepicker/datepicker.js +144 -144
  51. package/development/checkbox/checkbox/checkbox.d.ts +3 -46
  52. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
  53. package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -2
  54. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  55. package/development/checkbox/checkbox-group.js +43 -13
  56. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +41 -0
  57. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -0
  58. package/development/checkbox/checkbox-panel.d.ts +2 -0
  59. package/development/checkbox/checkbox-panel.d.ts.map +1 -0
  60. package/development/checkbox/checkbox-panel.js +86 -0
  61. package/development/checkbox/checkbox.js +19 -239
  62. package/development/checkbox/common/checkbox-common.d.ts +13 -0
  63. package/development/checkbox/common/checkbox-common.d.ts.map +1 -0
  64. package/development/checkbox/common.d.ts +2 -0
  65. package/development/checkbox/common.d.ts.map +1 -0
  66. package/development/checkbox/common.js +156 -0
  67. package/development/checkbox.d.ts +2 -0
  68. package/development/checkbox.d.ts.map +1 -1
  69. package/development/checkbox.js +3 -1
  70. package/development/core/mixins/panel-mixin.d.ts +13 -0
  71. package/development/core/mixins/panel-mixin.d.ts.map +1 -0
  72. package/development/core/mixins.d.ts +1 -0
  73. package/development/core/mixins.d.ts.map +1 -1
  74. package/development/core/mixins.js +187 -31
  75. package/development/image.js +1 -1
  76. package/development/radio-button/common/radio-button-common.d.ts +22 -0
  77. package/development/radio-button/common/radio-button-common.d.ts.map +1 -0
  78. package/development/radio-button/common.d.ts +2 -0
  79. package/development/radio-button/common.d.ts.map +1 -0
  80. package/development/radio-button/common.js +294 -0
  81. package/development/radio-button/radio-button/radio-button.d.ts +2 -81
  82. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
  83. package/development/radio-button/radio-button-group/radio-button-group.d.ts +6 -4
  84. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  85. package/development/radio-button/radio-button-group.js +55 -23
  86. package/development/radio-button/radio-button-panel/index.d.ts +2 -0
  87. package/development/radio-button/radio-button-panel/index.d.ts.map +1 -0
  88. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +29 -0
  89. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -0
  90. package/development/radio-button/radio-button-panel.d.ts +2 -0
  91. package/development/radio-button/radio-button-panel.d.ts.map +1 -0
  92. package/development/radio-button/radio-button-panel.js +69 -0
  93. package/development/radio-button/radio-button.js +10 -324
  94. package/development/radio-button.d.ts +2 -0
  95. package/development/radio-button.d.ts.map +1 -1
  96. package/development/radio-button.js +3 -1
  97. package/{selection-panel/selection-panel.d.ts → development/selection-expansion-panel/selection-expansion-panel.d.ts} +9 -7
  98. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -0
  99. package/development/selection-expansion-panel.d.ts +2 -0
  100. package/development/selection-expansion-panel.d.ts.map +1 -0
  101. package/development/selection-expansion-panel.js +340 -0
  102. package/development/tabs/tab/index.d.ts +2 -0
  103. package/development/tabs/tab/index.d.ts.map +1 -0
  104. package/development/tabs/tab/tab.d.ts +24 -0
  105. package/development/tabs/tab/tab.d.ts.map +1 -0
  106. package/development/tabs/tab-group/tab-group.d.ts +20 -15
  107. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  108. package/development/tabs/tab-group.js +24 -14
  109. package/development/tabs/{tab-title/tab-title.d.ts → tab-label/tab-label.d.ts} +4 -4
  110. package/development/tabs/{tab-title/tab-title.d.ts.map → tab-label/tab-label.d.ts.map} +1 -1
  111. package/development/tabs/tab-label.d.ts +2 -0
  112. package/development/tabs/tab-label.d.ts.map +1 -0
  113. package/development/tabs/{tab-title.js → tab-label.js} +86 -86
  114. package/development/tabs/tab.d.ts +2 -0
  115. package/development/tabs/tab.d.ts.map +1 -0
  116. package/development/tabs/tab.js +71 -0
  117. package/development/tabs.d.ts +2 -1
  118. package/development/tabs.d.ts.map +1 -1
  119. package/development/tabs.js +3 -2
  120. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  121. package/development/train/train-formation.js +12 -12
  122. package/dialog/dialog-title.js +20 -20
  123. package/dialog/dialog.js +66 -66
  124. package/expansion-panel/expansion-panel-header.js +20 -20
  125. package/expansion-panel/expansion-panel.js +60 -60
  126. package/file-selector.js +91 -91
  127. package/form-field/form-field-clear.js +12 -12
  128. package/form-field/form-field.js +111 -111
  129. package/header/header.js +53 -53
  130. package/icon.js +107 -107
  131. package/image.js +87 -87
  132. package/index.d.ts +10 -8
  133. package/index.js +10 -8
  134. package/journey-header.js +29 -29
  135. package/map-container.js +23 -23
  136. package/menu/menu.js +91 -91
  137. package/navigation/common.js +16 -16
  138. package/navigation/navigation-marker.js +34 -34
  139. package/navigation/navigation-section.js +83 -83
  140. package/navigation/navigation.js +87 -87
  141. package/notification.js +52 -52
  142. package/option/optgroup.js +45 -45
  143. package/option/option.js +108 -108
  144. package/overlay.js +5 -5
  145. package/package.json +34 -19
  146. package/popover/popover.js +110 -110
  147. package/radio-button/common/radio-button-common.d.ts +22 -0
  148. package/radio-button/common/radio-button-common.d.ts.map +1 -0
  149. package/radio-button/common.d.ts +2 -0
  150. package/radio-button/common.d.ts.map +1 -0
  151. package/radio-button/common.js +105 -0
  152. package/radio-button/radio-button/radio-button.d.ts +2 -81
  153. package/radio-button/radio-button/radio-button.d.ts.map +1 -1
  154. package/radio-button/radio-button-group/radio-button-group.d.ts +6 -4
  155. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  156. package/radio-button/radio-button-group.js +86 -80
  157. package/radio-button/radio-button-panel/index.d.ts +2 -0
  158. package/radio-button/radio-button-panel/index.d.ts.map +1 -0
  159. package/radio-button/radio-button-panel/radio-button-panel.d.ts +29 -0
  160. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -0
  161. package/radio-button/radio-button-panel.d.ts +2 -0
  162. package/radio-button/radio-button-panel.d.ts.map +1 -0
  163. package/radio-button/radio-button-panel.js +59 -0
  164. package/radio-button/radio-button.js +20 -143
  165. package/radio-button.d.ts +2 -0
  166. package/radio-button.d.ts.map +1 -1
  167. package/radio-button.js +2 -0
  168. package/select.js +178 -178
  169. package/{development/selection-panel/selection-panel.d.ts → selection-expansion-panel/selection-expansion-panel.d.ts} +9 -7
  170. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -0
  171. package/selection-expansion-panel.d.ts +2 -0
  172. package/selection-expansion-panel.d.ts.map +1 -0
  173. package/selection-expansion-panel.js +146 -0
  174. package/slider.js +58 -58
  175. package/standard-theme.css +1 -1
  176. package/status.js +6 -6
  177. package/stepper/step-label.js +19 -19
  178. package/stepper/step.js +31 -31
  179. package/stepper/stepper.js +46 -46
  180. package/tabs/tab/index.d.ts +2 -0
  181. package/tabs/tab/index.d.ts.map +1 -0
  182. package/tabs/tab/tab.d.ts +24 -0
  183. package/tabs/tab/tab.d.ts.map +1 -0
  184. package/tabs/tab-group/tab-group.d.ts +20 -15
  185. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  186. package/tabs/tab-group.js +85 -75
  187. package/tabs/{tab-title/tab-title.d.ts → tab-label/tab-label.d.ts} +4 -4
  188. package/tabs/{tab-title/tab-title.d.ts.map → tab-label/tab-label.d.ts.map} +1 -1
  189. package/tabs/tab-label.d.ts +2 -0
  190. package/tabs/tab-label.d.ts.map +1 -0
  191. package/tabs/tab-label.js +51 -0
  192. package/tabs/tab.d.ts +2 -0
  193. package/tabs/tab.d.ts.map +1 -0
  194. package/tabs/tab.js +41 -0
  195. package/tabs.d.ts +2 -1
  196. package/tabs.d.ts.map +1 -1
  197. package/tabs.js +2 -1
  198. package/tag/tag-group.js +8 -8
  199. package/tag/tag.js +27 -27
  200. package/time-input.js +73 -73
  201. package/timetable-occupancy-icon.js +26 -26
  202. package/timetable-occupancy.js +9 -9
  203. package/toast.js +38 -38
  204. package/toggle/toggle-option.js +33 -33
  205. package/toggle/toggle.js +46 -46
  206. package/train/train-formation/train-formation.d.ts.map +1 -1
  207. package/train/train-formation.js +51 -51
  208. package/train/train-wagon.js +30 -30
  209. package/train/train.js +13 -13
  210. package/development/selection-panel/selection-panel.d.ts.map +0 -1
  211. package/development/selection-panel.d.ts +0 -2
  212. package/development/selection-panel.d.ts.map +0 -1
  213. package/development/selection-panel.js +0 -376
  214. package/development/tabs/tab-title.d.ts +0 -2
  215. package/development/tabs/tab-title.d.ts.map +0 -1
  216. package/development/teaser-hero/teaser-hero.d.ts +0 -26
  217. package/development/teaser-hero/teaser-hero.d.ts.map +0 -1
  218. package/development/teaser-hero.d.ts +0 -2
  219. package/development/teaser-hero.d.ts.map +0 -1
  220. package/development/teaser-hero.js +0 -181
  221. package/development/teaser-paid/teaser-paid.d.ts +0 -20
  222. package/development/teaser-paid/teaser-paid.d.ts.map +0 -1
  223. package/development/teaser-paid.d.ts +0 -2
  224. package/development/teaser-paid.d.ts.map +0 -1
  225. package/development/teaser-paid.js +0 -91
  226. package/selection-panel/selection-panel.d.ts.map +0 -1
  227. package/selection-panel.d.ts +0 -2
  228. package/selection-panel.d.ts.map +0 -1
  229. package/selection-panel.js +0 -138
  230. package/tabs/tab-title.d.ts +0 -2
  231. package/tabs/tab-title.d.ts.map +0 -1
  232. package/tabs/tab-title.js +0 -51
  233. package/teaser-hero/teaser-hero.d.ts +0 -26
  234. package/teaser-hero/teaser-hero.d.ts.map +0 -1
  235. package/teaser-hero.d.ts +0 -2
  236. package/teaser-hero.d.ts.map +0 -1
  237. package/teaser-hero.js +0 -51
  238. package/teaser-paid/teaser-paid.d.ts +0 -20
  239. package/teaser-paid/teaser-paid.d.ts.map +0 -1
  240. package/teaser-paid.d.ts +0 -2
  241. package/teaser-paid.d.ts.map +0 -1
  242. package/teaser-paid.js +0 -28
@@ -36,12 +36,18 @@ const style = css`/**
36
36
  --sbb-checkbox-group-width: 100%;
37
37
  --sbb-checkbox-group-checkbox-width: 100%;
38
38
  }
39
+ :host([orientation=vertical]) ::slotted(sbb-checkbox-panel) {
40
+ width: 100%;
41
+ }
39
42
 
40
- :host([data-has-selection-panel]) {
43
+ :host([data-has-panel]) {
41
44
  --sbb-checkbox-group-width: 100%;
42
45
  }
46
+ :host([data-has-panel]) ::slotted(sbb-checkbox-panel) {
47
+ flex: auto;
48
+ }
43
49
 
44
- :host([data-has-selection-panel][orientation=vertical]) {
50
+ :host([data-has-panel][orientation=vertical]) {
45
51
  --sbb-checkbox-group-gap: var(--sbb-spacing-fixed-2x) var(--sbb-spacing-fixed-4x);
46
52
  }
47
53
 
@@ -50,7 +56,10 @@ const style = css`/**
50
56
  --sbb-checkbox-group-orientation: row;
51
57
  --sbb-checkbox-group-checkbox-width: auto;
52
58
  }
53
- :host([orientation=vertical][horizontal-from=zero]:not([data-has-selection-panel])) {
59
+ :host([orientation=vertical][horizontal-from=zero]) ::slotted(sbb-checkbox-panel) {
60
+ width: initial;
61
+ }
62
+ :host([orientation=vertical][horizontal-from=zero]:not([data-has-panel])) {
54
63
  --sbb-checkbox-group-width: max-content;
55
64
  }
56
65
  }
@@ -59,7 +68,10 @@ const style = css`/**
59
68
  --sbb-checkbox-group-orientation: row;
60
69
  --sbb-checkbox-group-checkbox-width: auto;
61
70
  }
62
- :host([orientation=vertical][horizontal-from=micro]:not([data-has-selection-panel])) {
71
+ :host([orientation=vertical][horizontal-from=micro]) ::slotted(sbb-checkbox-panel) {
72
+ width: initial;
73
+ }
74
+ :host([orientation=vertical][horizontal-from=micro]:not([data-has-panel])) {
63
75
  --sbb-checkbox-group-width: max-content;
64
76
  }
65
77
  }
@@ -68,7 +80,10 @@ const style = css`/**
68
80
  --sbb-checkbox-group-orientation: row;
69
81
  --sbb-checkbox-group-checkbox-width: auto;
70
82
  }
71
- :host([orientation=vertical][horizontal-from=small]:not([data-has-selection-panel])) {
83
+ :host([orientation=vertical][horizontal-from=small]) ::slotted(sbb-checkbox-panel) {
84
+ width: initial;
85
+ }
86
+ :host([orientation=vertical][horizontal-from=small]:not([data-has-panel])) {
72
87
  --sbb-checkbox-group-width: max-content;
73
88
  }
74
89
  }
@@ -77,7 +92,10 @@ const style = css`/**
77
92
  --sbb-checkbox-group-orientation: row;
78
93
  --sbb-checkbox-group-checkbox-width: auto;
79
94
  }
80
- :host([orientation=vertical][horizontal-from=medium]:not([data-has-selection-panel])) {
95
+ :host([orientation=vertical][horizontal-from=medium]) ::slotted(sbb-checkbox-panel) {
96
+ width: initial;
97
+ }
98
+ :host([orientation=vertical][horizontal-from=medium]:not([data-has-panel])) {
81
99
  --sbb-checkbox-group-width: max-content;
82
100
  }
83
101
  }
@@ -86,7 +104,10 @@ const style = css`/**
86
104
  --sbb-checkbox-group-orientation: row;
87
105
  --sbb-checkbox-group-checkbox-width: auto;
88
106
  }
89
- :host([orientation=vertical][horizontal-from=large]:not([data-has-selection-panel])) {
107
+ :host([orientation=vertical][horizontal-from=large]) ::slotted(sbb-checkbox-panel) {
108
+ width: initial;
109
+ }
110
+ :host([orientation=vertical][horizontal-from=large]:not([data-has-panel])) {
90
111
  --sbb-checkbox-group-width: max-content;
91
112
  }
92
113
  }
@@ -95,7 +116,10 @@ const style = css`/**
95
116
  --sbb-checkbox-group-orientation: row;
96
117
  --sbb-checkbox-group-checkbox-width: auto;
97
118
  }
98
- :host([orientation=vertical][horizontal-from=wide]:not([data-has-selection-panel])) {
119
+ :host([orientation=vertical][horizontal-from=wide]) ::slotted(sbb-checkbox-panel) {
120
+ width: initial;
121
+ }
122
+ :host([orientation=vertical][horizontal-from=wide]:not([data-has-panel])) {
99
123
  --sbb-checkbox-group-width: max-content;
100
124
  }
101
125
  }
@@ -104,7 +128,10 @@ const style = css`/**
104
128
  --sbb-checkbox-group-orientation: row;
105
129
  --sbb-checkbox-group-checkbox-width: auto;
106
130
  }
107
- :host([orientation=vertical][horizontal-from=ultra]:not([data-has-selection-panel])) {
131
+ :host([orientation=vertical][horizontal-from=ultra]) ::slotted(sbb-checkbox-panel) {
132
+ width: initial;
133
+ }
134
+ :host([orientation=vertical][horizontal-from=ultra]:not([data-has-panel])) {
108
135
  --sbb-checkbox-group-width: max-content;
109
136
  }
110
137
  }
@@ -149,7 +176,7 @@ let SbbCheckboxGroupElement = class extends SbbDisabledMixin(LitElement) {
149
176
  /** List of contained checkbox elements. */
150
177
  get checkboxes() {
151
178
  var _a;
152
- return Array.from(((_a = this.querySelectorAll) == null ? void 0 : _a.call(this, "sbb-checkbox")) ?? []).filter(
179
+ return Array.from(((_a = this.querySelectorAll) == null ? void 0 : _a.call(this, "sbb-checkbox, sbb-checkbox-panel")) ?? []).filter(
153
180
  (el) => el.closest("sbb-checkbox-group") === this
154
181
  );
155
182
  }
@@ -158,7 +185,10 @@ let SbbCheckboxGroupElement = class extends SbbDisabledMixin(LitElement) {
158
185
  super.connectedCallback();
159
186
  const signal = this._abort.signal;
160
187
  this.addEventListener("keydown", (e) => this._handleKeyDown(e), { signal });
161
- this.toggleAttribute("data-has-selection-panel", !!((_a = this.querySelector) == null ? void 0 : _a.call(this, "sbb-selection-panel")));
188
+ this.toggleAttribute(
189
+ "data-has-panel",
190
+ !!((_a = this.querySelector) == null ? void 0 : _a.call(this, "sbb-selection-expansion-panel, sbb-checkbox-panel"))
191
+ );
162
192
  }
163
193
  willUpdate(changedProperties) {
164
194
  super.willUpdate(changedProperties);
@@ -187,7 +217,7 @@ let SbbCheckboxGroupElement = class extends SbbDisabledMixin(LitElement) {
187
217
  (checkbox) => !checkbox.disabled && interactivityChecker.isVisible(checkbox)
188
218
  );
189
219
  if (!enabledCheckboxes || // don't trap nested handling
190
- evt.target !== this && evt.target.parentElement !== this && evt.target.parentElement.nodeName !== "SBB-SELECTION-PANEL") {
220
+ evt.target !== this && evt.target.parentElement !== this && evt.target.parentElement.localName !== "sbb-selection-expansion-panel") {
191
221
  return;
192
222
  }
193
223
  if (isArrowKeyPressed(evt)) {
@@ -228,4 +258,4 @@ SbbCheckboxGroupElement = __decorateClass([
228
258
  export {
229
259
  SbbCheckboxGroupElement
230
260
  };
231
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGVja2JveC9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciwgU2JiU2xvdFN0YXRlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJIb3Jpem9udGFsRnJvbSwgU2JiT3JpZW50YXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiQ2hlY2tib3hFbGVtZW50LCBTYmJDaGVja2JveFNpemUgfSBmcm9tICcuLi9jaGVja2JveC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoZWNrYm94LWdyb3VwLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtb3JlIGBzYmItY2hlY2tib3hgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2hlY2tib3hgIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWNoZWNrYm94LWdyb3VwYC5cbiAqIEBzbG90IGVycm9yIC0gU2xvdCB1c2VkIHRvIHJlbmRlciBhIGBzYmItZm9ybS1lcnJvcmAgaW5zaWRlIHRoZSBgc2JiLWNoZWNrYm94LWdyb3VwYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jaGVja2JveC1ncm91cCcpXG5leHBvcnQgY2xhc3MgU2JiQ2hlY2tib3hHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGdyb3VwIGlzIHJlcXVpcmVkLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtIG9yIHMuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBzaXplOiBTYmJDaGVja2JveFNpemUgPSAnbSc7XG5cbiAgLyoqIE92ZXJyaWRlcyB0aGUgYmVoYXZpb3VyIG9mIGBvcmllbnRhdGlvbmAgcHJvcGVydHkuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hvcml6b250YWwtZnJvbScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGhvcml6b250YWxGcm9tPzogU2JiSG9yaXpvbnRhbEZyb207XG5cbiAgLyoqIEluZGljYXRlcyB0aGUgb3JpZW50YXRpb24gb2YgdGhlIGNoZWNrYm94ZXMgaW5zaWRlIHRoZSBgPHNiYi1jaGVja2JveC1ncm91cD5gLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBvcmllbnRhdGlvbjogU2JiT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCc7XG5cbiAgLyoqIExpc3Qgb2YgY29udGFpbmVkIGNoZWNrYm94IGVsZW1lbnRzLiAqL1xuICBwdWJsaWMgZ2V0IGNoZWNrYm94ZXMoKTogU2JiQ2hlY2tib3hFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2hlY2tib3gnKSA/PyBbXSkuZmlsdGVyKFxuICAgICAgKGVsOiBTYmJDaGVja2JveEVsZW1lbnQpID0+IGVsLmNsb3Nlc3QoJ3NiYi1jaGVja2JveC1ncm91cCcpID09PSB0aGlzLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9hYm9ydDogU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBuZXcgU2JiU2xvdFN0YXRlQ29udHJvbGxlcih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuX2Fib3J0LnNpZ25hbDtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSwgeyBzaWduYWwgfSk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGFzLXNlbGVjdGlvbi1wYW5lbCcsICEhdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1zZWxlY3Rpb24tcGFuZWwnKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5mb3JFYWNoKChjKSA9PiBjLnJlcXVlc3RVcGRhdGU/LignZGlzYWJsZWQnKSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3JlcXVpcmVkJykpIHtcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5mb3JFYWNoKChjKSA9PiBjLnJlcXVlc3RVcGRhdGU/LigncmVxdWlyZWQnKSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5jaGVja2JveGVzLmZvckVhY2goKGMpID0+IGMucmVxdWVzdFVwZGF0ZT8uKCdzaXplJykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZENoZWNrYm94ZXM6IFNiYkNoZWNrYm94RWxlbWVudFtdID0gdGhpcy5jaGVja2JveGVzLmZpbHRlcihcbiAgICAgIChjaGVja2JveDogU2JiQ2hlY2tib3hFbGVtZW50KSA9PlxuICAgICAgICAhY2hlY2tib3guZGlzYWJsZWQgJiYgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNWaXNpYmxlKGNoZWNrYm94KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRDaGVja2JveGVzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJlxuICAgICAgICAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcyAmJlxuICAgICAgICAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCEubm9kZU5hbWUgIT09ICdTQkItU0VMRUNUSU9OLVBBTkVMJylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY3VycmVudDogbnVtYmVyID0gZW5hYmxlZENoZWNrYm94ZXMuZmluZEluZGV4KFxuICAgICAgICAoZTogU2JiQ2hlY2tib3hFbGVtZW50KSA9PiBlID09PSBldnQudGFyZ2V0LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRDaGVja2JveGVzLmxlbmd0aCk7XG4gICAgICBlbmFibGVkQ2hlY2tib3hlc1tuZXh0SW5kZXhdPy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1jaGVja2JveC1ncm91cFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY2hlY2tib3gtZ3JvdXBfX2Vycm9yXCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJlcnJvclwiPjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jaGVja2JveC1ncm91cCc6IFNiYkNoZWNrYm94R3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
261
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGVja2JveC9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciwgU2JiU2xvdFN0YXRlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJIb3Jpem9udGFsRnJvbSwgU2JiT3JpZW50YXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQgfSBmcm9tICcuLi9jaGVja2JveC1wYW5lbC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkNoZWNrYm94RWxlbWVudCB9IGZyb20gJy4uL2NoZWNrYm94LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiQ2hlY2tib3hTaXplIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2hlY2tib3gtZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1jaGVja2JveGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1jaGVja2JveGAgZWxlbWVudHMgdG8gdGhlIGBzYmItY2hlY2tib3gtZ3JvdXBgLlxuICogQHNsb3QgZXJyb3IgLSBTbG90IHVzZWQgdG8gcmVuZGVyIGEgYHNiYi1mb3JtLWVycm9yYCBpbnNpZGUgdGhlIGBzYmItY2hlY2tib3gtZ3JvdXBgLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWNoZWNrYm94LWdyb3VwJylcbmV4cG9ydCBjbGFzcyBTYmJDaGVja2JveEdyb3VwRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogV2hldGhlciB0aGUgY2hlY2tib3ggZ3JvdXAgaXMgcmVxdWlyZWQuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgLyoqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0gb3Igcy4gKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIHNpemU6IFNiYkNoZWNrYm94U2l6ZSA9ICdtJztcblxuICAvKiogT3ZlcnJpZGVzIHRoZSBiZWhhdmlvdXIgb2YgYG9yaWVudGF0aW9uYCBwcm9wZXJ0eS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaG9yaXpvbnRhbC1mcm9tJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgaG9yaXpvbnRhbEZyb20/OiBTYmJIb3Jpem9udGFsRnJvbTtcblxuICAvKiogSW5kaWNhdGVzIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgY2hlY2tib3hlcyBpbnNpZGUgdGhlIGA8c2JiLWNoZWNrYm94LWdyb3VwPmAuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIG9yaWVudGF0aW9uOiBTYmJPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICAvKiogTGlzdCBvZiBjb250YWluZWQgY2hlY2tib3ggZWxlbWVudHMuICovXG4gIHB1YmxpYyBnZXQgY2hlY2tib3hlcygpOiAoU2JiQ2hlY2tib3hFbGVtZW50IHwgU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQpW10ge1xuICAgIHJldHVybiA8KFNiYkNoZWNrYm94RWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50KVtdPihcbiAgICAgIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1jaGVja2JveCwgc2JiLWNoZWNrYm94LXBhbmVsJykgPz8gW10pLmZpbHRlcihcbiAgICAgICAgKGVsKSA9PiBlbC5jbG9zZXN0KCdzYmItY2hlY2tib3gtZ3JvdXAnKSA9PT0gdGhpcyxcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWJvcnQ6IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgbmV3IFNiYlNsb3RTdGF0ZUNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgJ2RhdGEtaGFzLXBhbmVsJyxcbiAgICAgICEhdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsLCBzYmItY2hlY2tib3gtcGFuZWwnKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLmNoZWNrYm94ZXMuZm9yRWFjaCgoYykgPT4gYy5yZXF1ZXN0VXBkYXRlPy4oJ2Rpc2FibGVkJykpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdyZXF1aXJlZCcpKSB7XG4gICAgICB0aGlzLmNoZWNrYm94ZXMuZm9yRWFjaCgoYykgPT4gYy5yZXF1ZXN0VXBkYXRlPy4oJ3JlcXVpcmVkJykpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykpIHtcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5mb3JFYWNoKChjKSA9PiBjLnJlcXVlc3RVcGRhdGU/Lignc2l6ZScpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRDaGVja2JveGVzOiAoU2JiQ2hlY2tib3hFbGVtZW50IHwgU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQpW10gPVxuICAgICAgdGhpcy5jaGVja2JveGVzLmZpbHRlcihcbiAgICAgICAgKGNoZWNrYm94OiBTYmJDaGVja2JveEVsZW1lbnQgfCBTYmJDaGVja2JveFBhbmVsRWxlbWVudCkgPT5cbiAgICAgICAgICAhY2hlY2tib3guZGlzYWJsZWQgJiYgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNWaXNpYmxlKGNoZWNrYm94IGFzIEhUTUxFbGVtZW50KSxcbiAgICAgICk7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZENoZWNrYm94ZXMgfHxcbiAgICAgIC8vIGRvbid0IHRyYXAgbmVzdGVkIGhhbmRsaW5nXG4gICAgICAoKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICE9PSB0aGlzICYmXG4gICAgICAgIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ICE9PSB0aGlzICYmXG4gICAgICAgIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50IS5sb2NhbE5hbWUgIT09ICdzYmItc2VsZWN0aW9uLWV4cGFuc2lvbi1wYW5lbCcpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRDaGVja2JveGVzLmZpbmRJbmRleChcbiAgICAgICAgKGU6IFNiYkNoZWNrYm94RWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50KSA9PiBlID09PSBldnQudGFyZ2V0LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRDaGVja2JveGVzLmxlbmd0aCk7XG4gICAgICBlbmFibGVkQ2hlY2tib3hlc1tuZXh0SW5kZXhdPy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1jaGVja2JveC1ncm91cFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY2hlY2tib3gtZ3JvdXBfX2Vycm9yXCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJlcnJvclwiPjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jaGVja2JveC1ncm91cCc6IFNiYkNoZWNrYm94R3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCTyxJQUFNLDBCQUFOLGNBQXNDLGlCQUFpQixVQUFVLEVBQUU7QUFBQSxFQTRCakUsY0FBYztBQUNiO0FBekJvQyxTQUFPLFdBQVc7QUFHbEQsU0FBTyxPQUF3QjtBQVEzQyxTQUFPLGNBQThCO0FBVzdCLFNBQUEsU0FBc0MsSUFBSSw0QkFBNEIsSUFBSTtBQUloRixRQUFJLHVCQUF1QixJQUFJO0FBQUEsRUFDakM7QUFBQTtBQUFBLEVBYkEsSUFBVyxhQUErRDs7QUFFdEUsV0FBQSxNQUFNLE9BQUssVUFBSyxxQkFBTCw4QkFBd0Isd0NBQXVDLENBQUUsQ0FBQSxFQUFFO0FBQUEsTUFDNUUsQ0FBQyxPQUFPLEdBQUcsUUFBUSxvQkFBb0IsTUFBTTtBQUFBLElBQUE7QUFBQSxFQUduRDtBQUFBLEVBU2dCLG9CQUEwQjs7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbEIsVUFBQSxTQUFTLEtBQUssT0FBTztBQUN0QixTQUFBLGlCQUFpQixXQUFXLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxHQUFHLEVBQUUsT0FBQSxDQUFRO0FBQ3JFLFNBQUE7QUFBQSxNQUNIO0FBQUEsTUFDQSxDQUFDLEdBQUMsVUFBSyxrQkFBTCw4QkFBcUI7QUFBQSxJQUFtRDtBQUFBLEVBRTlFO0FBQUEsRUFFbUIsV0FBVyxtQkFBK0M7QUFDM0UsVUFBTSxXQUFXLGlCQUFpQjtBQUU5QixRQUFBLGtCQUFrQixJQUFJLFVBQVUsR0FBRztBQUNyQyxXQUFLLFdBQVcsUUFBUSxDQUFDLE1BQU07O0FBQUEsdUJBQUUsa0JBQUYsMkJBQWtCO0FBQUEsT0FBVztBQUFBLElBQzlEO0FBQ0ksUUFBQSxrQkFBa0IsSUFBSSxVQUFVLEdBQUc7QUFDckMsV0FBSyxXQUFXLFFBQVEsQ0FBQyxNQUFNOztBQUFBLHVCQUFFLGtCQUFGLDJCQUFrQjtBQUFBLE9BQVc7QUFBQSxJQUM5RDtBQUNJLFFBQUEsa0JBQWtCLElBQUksTUFBTSxHQUFHO0FBQ2pDLFdBQUssV0FBVyxRQUFRLENBQUMsTUFBTTs7QUFBQSx1QkFBRSxrQkFBRiwyQkFBa0I7QUFBQSxPQUFPO0FBQUEsSUFDMUQ7QUFBQSxFQUNGO0FBQUEsRUFFUSxlQUFlLEtBQTBCOztBQUN6QyxVQUFBLG9CQUNKLEtBQUssV0FBVztBQUFBLE1BQ2QsQ0FBQyxhQUNDLENBQUMsU0FBUyxZQUFZLHFCQUFxQixVQUFVLFFBQXVCO0FBQUEsSUFBQTtBQUdsRixRQUNFLENBQUM7QUFBQSxJQUVDLElBQUksV0FBMkIsUUFDOUIsSUFBSSxPQUF1QixrQkFBa0IsUUFDN0MsSUFBSSxPQUF1QixjQUFlLGNBQWMsaUNBQzNEO0FBQ0E7QUFBQSxJQUNGO0FBRUksUUFBQSxrQkFBa0IsR0FBRyxHQUFHO0FBQzFCLFlBQU0sVUFBa0Isa0JBQWtCO0FBQUEsUUFDeEMsQ0FBQyxNQUFvRCxNQUFNLElBQUk7QUFBQSxNQUFBO0FBRWpFLFlBQU0sWUFBb0Isb0JBQW9CLEtBQUssU0FBUyxrQkFBa0IsTUFBTTtBQUNsRSw4QkFBQSxTQUFTLE1BQVQsbUJBQVk7QUFBQSxJQUNoQztBQUFBLEVBQ0Y7QUFBQSxFQUVtQixTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFUO0FBQ0Y7QUE3RmEsd0JBQ1ksU0FBeUI7QUFHRyxnQkFBQTtBQUFBLEVBQWxELFNBQVMsRUFBRSxTQUFTLE1BQU0sTUFBTSxTQUFTO0FBQUEsR0FKL0Isd0JBSXdDLFdBQUEsWUFBQSxDQUFBO0FBR2hDLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBUEMsd0JBT1EsV0FBQSxRQUFBLENBQUE7QUFJWixnQkFBQTtBQUFBLEVBRE4sU0FBUyxFQUFFLFdBQVcsbUJBQW1CLFNBQVMsTUFBTTtBQUFBLEdBVjlDLHdCQVdKLFdBQUEsa0JBQUEsQ0FBQTtBQUlBLGdCQUFBO0FBQUEsRUFETixTQUFTLEVBQUUsU0FBUyxNQUFNO0FBQUEsR0FkaEIsd0JBZUosV0FBQSxlQUFBLENBQUE7QUFmSSwwQkFBTixnQkFBQTtBQUFBLEVBRE4sY0FBYyxvQkFBb0I7QUFBQSxHQUN0Qix1QkFBQTsifQ==
@@ -0,0 +1,41 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import { EventEmitter } from '../../core/eventing.js';
3
+ import { SbbCheckedStateChange, SbbDisabledStateChange, SbbStateChange } from '../../core/interfaces/types.js';
4
+
5
+ export type SbbCheckboxPanelStateChange = Extract<SbbStateChange, SbbDisabledStateChange | SbbCheckedStateChange>;
6
+ declare const SbbCheckboxPanelElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbPanelMixinType> & import('../../core/mixins.js').Constructor<import('../common.js').SbbCheckboxCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbUpdateSchedulerMixinType> & typeof LitElement;
7
+ /**
8
+ * It displays a checkbox enhanced with selection panel design.
9
+ *
10
+ * @slot - Use the unnamed slot to add content to the `sbb-checkbox`.
11
+ * @slot subtext - Slot used to render a subtext under the label (only visible within a selection panel).
12
+ * @slot suffix - Slot used to render additional content after the label (only visible within a selection panel).
13
+ * @slot badge - Use this slot to provide a `sbb-card-badge` (optional).
14
+ * @event {CustomEvent<void>} didChange - Deprecated. used for React. Will probably be removed once React 19 is available.
15
+ * @event {Event} change - Event fired on change.
16
+ * @event {InputEvent} input - Event fired on input.
17
+ */
18
+ export declare class SbbCheckboxPanelElement extends SbbCheckboxPanelElement_base {
19
+ static styles: CSSResultGroup;
20
+ static readonly events: {
21
+ readonly didChange: "didChange";
22
+ readonly stateChange: "stateChange";
23
+ readonly panelConnected: "panelConnected";
24
+ };
25
+ /**
26
+ * @internal
27
+ * Internal event that emits whenever the state of the checkbox
28
+ * in relation to the parent selection panel changes.
29
+ */
30
+ protected stateChange: EventEmitter<SbbCheckboxPanelStateChange>;
31
+ constructor();
32
+ protected willUpdate(changedProperties: PropertyValues<this>): Promise<void>;
33
+ protected render(): TemplateResult;
34
+ }
35
+ declare global {
36
+ interface HTMLElementTagNameMap {
37
+ 'sbb-checkbox-panel': SbbCheckboxPanelElement;
38
+ }
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=checkbox-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-panel.d.ts","sourceRoot":"","sources":["../../../../../src/elements/checkbox/checkbox-panel/checkbox-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACf,MAAM,gCAAgC,CAAC;AAIxC,OAAO,6BAA6B,CAAC;AACrC,OAAO,0BAA0B,CAAC;AAElC,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAC/C,cAAc,EACd,sBAAsB,GAAG,qBAAqB,CAC/C,CAAC;;AAEF;;;;;;;;;;GAUG;AACH,qBACa,uBAAwB,SAAQ,4BAE5C;IACC,OAAuB,MAAM,EAAE,cAAc,CAA2C;IAGxF,gBAAuB,MAAM;;;;MAIlB;IAEX;;;;OAIG;IACH,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,2BAA2B,CAAC,CAI9D;;cAOuB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAkBxE,MAAM,IAAI,cAAc;CA8B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,oBAAoB,EAAE,uBAAuB,CAAC;KAC/C;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './checkbox-panel/checkbox-panel.js';
2
+ //# sourceMappingURL=checkbox-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-panel.d.ts","sourceRoot":"","sources":["../../../../src/elements/checkbox/checkbox-panel.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { LitElement, html, nothing } from "lit";
2
+ import { customElement } from "lit/decorators.js";
3
+ import { SbbSlotStateController } from "../core/controllers.js";
4
+ import { EventEmitter } from "../core/eventing.js";
5
+ import { SbbPanelMixin, SbbUpdateSchedulerMixin, panelCommonStyle } from "../core/mixins.js";
6
+ import { SbbCheckboxCommonElementMixin, checkboxCommonStyle } from "./common.js";
7
+ import "../screen-reader-only.js";
8
+ import "../visual-checkbox.js";
9
+ var __defProp = Object.defineProperty;
10
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
+ var __decorateClass = (decorators, target, key, kind) => {
12
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
13
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
14
+ if (decorator = decorators[i])
15
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
16
+ if (kind && result) __defProp(target, key, result);
17
+ return result;
18
+ };
19
+ let SbbCheckboxPanelElement = class extends SbbPanelMixin(
20
+ SbbCheckboxCommonElementMixin(SbbUpdateSchedulerMixin(LitElement))
21
+ ) {
22
+ constructor() {
23
+ super();
24
+ this.stateChange = new EventEmitter(
25
+ this,
26
+ SbbCheckboxPanelElement.events.stateChange,
27
+ { bubbles: true }
28
+ );
29
+ new SbbSlotStateController(this);
30
+ }
31
+ async willUpdate(changedProperties) {
32
+ super.willUpdate(changedProperties);
33
+ if (changedProperties.has("checked")) {
34
+ this.toggleAttribute("data-checked", this.checked);
35
+ if (this.checked !== changedProperties.get("checked")) {
36
+ this.stateChange.emit({ type: "checked", checked: this.checked });
37
+ }
38
+ }
39
+ if (changedProperties.has("disabled")) {
40
+ if (this.disabled !== changedProperties.get("disabled")) {
41
+ this.stateChange.emit({ type: "disabled", disabled: this.disabled });
42
+ }
43
+ }
44
+ }
45
+ render() {
46
+ return html`
47
+ <span class="sbb-selection-panel">
48
+ <div class="sbb-selection-panel__badge">
49
+ <slot name="badge"></slot>
50
+ </div>
51
+ <span class="sbb-checkbox-wrapper">
52
+ <span class="sbb-checkbox">
53
+ <span class="sbb-checkbox__inner">
54
+ <span class="sbb-checkbox__aligner">
55
+ <sbb-visual-checkbox
56
+ ?checked=${this.checked}
57
+ ?indeterminate=${this.indeterminate}
58
+ ?disabled=${this.disabled || this.formDisabled}
59
+ ></sbb-visual-checkbox>
60
+ </span>
61
+ <span class="sbb-checkbox__label">
62
+ <slot></slot>
63
+ <slot name="suffix"></slot>
64
+ </span>
65
+ </span>
66
+ <slot name="subtext"></slot>
67
+ ${this.expansionState ? html`<sbb-screen-reader-only>${this.expansionState}</sbb-screen-reader-only>` : nothing}
68
+ </span>
69
+ </span>
70
+ </span>
71
+ `;
72
+ }
73
+ };
74
+ SbbCheckboxPanelElement.styles = [checkboxCommonStyle, panelCommonStyle];
75
+ SbbCheckboxPanelElement.events = {
76
+ didChange: "didChange",
77
+ stateChange: "stateChange",
78
+ panelConnected: "panelConnected"
79
+ };
80
+ SbbCheckboxPanelElement = __decorateClass([
81
+ customElement("sbb-checkbox-panel")
82
+ ], SbbCheckboxPanelElement);
83
+ export {
84
+ SbbCheckboxPanelElement
85
+ };
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtcGFuZWwuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGVja2JveC9jaGVja2JveC1wYW5lbC9jaGVja2JveC1wYW5lbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiU2xvdFN0YXRlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIFNiYkNoZWNrZWRTdGF0ZUNoYW5nZSxcbiAgU2JiRGlzYWJsZWRTdGF0ZUNoYW5nZSxcbiAgU2JiU3RhdGVDaGFuZ2UsXG59IGZyb20gJy4uLy4uL2NvcmUvaW50ZXJmYWNlcy90eXBlcy5qcyc7XG5pbXBvcnQgeyBwYW5lbENvbW1vblN0eWxlLCBTYmJQYW5lbE1peGluLCBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IGNoZWNrYm94Q29tbW9uU3R5bGUsIFNiYkNoZWNrYm94Q29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuaW1wb3J0ICcuLi8uLi92aXN1YWwtY2hlY2tib3guanMnO1xuXG5leHBvcnQgdHlwZSBTYmJDaGVja2JveFBhbmVsU3RhdGVDaGFuZ2UgPSBFeHRyYWN0PFxuICBTYmJTdGF0ZUNoYW5nZSxcbiAgU2JiRGlzYWJsZWRTdGF0ZUNoYW5nZSB8IFNiYkNoZWNrZWRTdGF0ZUNoYW5nZVxuPjtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGNoZWNrYm94IGVuaGFuY2VkIHdpdGggc2VsZWN0aW9uIHBhbmVsIGRlc2lnbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWNoZWNrYm94YC5cbiAqIEBzbG90IHN1YnRleHQgLSBTbG90IHVzZWQgdG8gcmVuZGVyIGEgc3VidGV4dCB1bmRlciB0aGUgbGFiZWwgKG9ubHkgdmlzaWJsZSB3aXRoaW4gYSBzZWxlY3Rpb24gcGFuZWwpLlxuICogQHNsb3Qgc3VmZml4IC0gU2xvdCB1c2VkIHRvIHJlbmRlciBhZGRpdGlvbmFsIGNvbnRlbnQgYWZ0ZXIgdGhlIGxhYmVsIChvbmx5IHZpc2libGUgd2l0aGluIGEgc2VsZWN0aW9uIHBhbmVsKS5cbiAqIEBzbG90IGJhZGdlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGEgYHNiYi1jYXJkLWJhZGdlYCAob3B0aW9uYWwpLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkQ2hhbmdlIC0gRGVwcmVjYXRlZC4gdXNlZCBmb3IgUmVhY3QuIFdpbGwgcHJvYmFibHkgYmUgcmVtb3ZlZCBvbmNlIFJlYWN0IDE5IGlzIGF2YWlsYWJsZS5cbiAqIEBldmVudCB7RXZlbnR9IGNoYW5nZSAtIEV2ZW50IGZpcmVkIG9uIGNoYW5nZS5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBFdmVudCBmaXJlZCBvbiBpbnB1dC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jaGVja2JveC1wYW5lbCcpXG5leHBvcnQgY2xhc3MgU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQgZXh0ZW5kcyBTYmJQYW5lbE1peGluKFxuICBTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpbihTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2NoZWNrYm94Q29tbW9uU3R5bGUsIHBhbmVsQ29tbW9uU3R5bGVdO1xuXG4gIC8vIEZJWE1FIHVzaW5nIC4uLnN1cGVyLmV2ZW50cyByZXF1aXJlczogaHR0cHM6Ly9naXRodWIuY29tL3NiYi1kZXNpZ24tc3lzdGVtcy9seW5lLWNvbXBvbmVudHMvaXNzdWVzLzI2MDBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICBzdGF0ZUNoYW5nZTogJ3N0YXRlQ2hhbmdlJyxcbiAgICBwYW5lbENvbm5lY3RlZDogJ3BhbmVsQ29ubmVjdGVkJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEludGVybmFsIGV2ZW50IHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIHN0YXRlIG9mIHRoZSBjaGVja2JveFxuICAgKiBpbiByZWxhdGlvbiB0byB0aGUgcGFyZW50IHNlbGVjdGlvbiBwYW5lbCBjaGFuZ2VzLlxuICAgKi9cbiAgcHJvdGVjdGVkIHN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8U2JiQ2hlY2tib3hQYW5lbFN0YXRlQ2hhbmdlPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJDaGVja2JveFBhbmVsRWxlbWVudC5ldmVudHMuc3RhdGVDaGFuZ2UsXG4gICAgeyBidWJibGVzOiB0cnVlIH0sXG4gICk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgbmV3IFNiYlNsb3RTdGF0ZUNvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2NoZWNrZWQnKSkge1xuICAgICAgLy8gQXMgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluIGRvZXMgbm90IHJlZmxlY3QgY2hlY2tlZCBwcm9wZXJ0eSwgd2UgYWRkIGEgZGF0YS1jaGVja2VkLlxuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtY2hlY2tlZCcsIHRoaXMuY2hlY2tlZCk7XG5cbiAgICAgIGlmICh0aGlzLmNoZWNrZWQgIT09IGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgnY2hlY2tlZCcpISkge1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyB0eXBlOiAnY2hlY2tlZCcsIGNoZWNrZWQ6IHRoaXMuY2hlY2tlZCB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgIT09IGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgnZGlzYWJsZWQnKSEpIHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHsgdHlwZTogJ2Rpc2FibGVkJywgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1zZWxlY3Rpb24tcGFuZWxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zZWxlY3Rpb24tcGFuZWxfX2JhZGdlXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cImJhZGdlXCI+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hlY2tib3gtd3JhcHBlclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNoZWNrYm94XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1jaGVja2JveF9faW5uZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hlY2tib3hfX2FsaWduZXJcIj5cbiAgICAgICAgICAgICAgICA8c2JiLXZpc3VhbC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgP2NoZWNrZWQ9JHt0aGlzLmNoZWNrZWR9XG4gICAgICAgICAgICAgICAgICA/aW5kZXRlcm1pbmF0ZT0ke3RoaXMuaW5kZXRlcm1pbmF0ZX1cbiAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgPjwvc2JiLXZpc3VhbC1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1jaGVja2JveF9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cInN1ZmZpeFwiPjwvc2xvdD5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cInN1YnRleHRcIj48L3Nsb3Q+XG4gICAgICAgICAgICAke3RoaXMuZXhwYW5zaW9uU3RhdGVcbiAgICAgICAgICAgICAgPyBodG1sYDxzYmItc2NyZWVuLXJlYWRlci1vbmx5PiR7dGhpcy5leHBhbnNpb25TdGF0ZX08L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoZWNrYm94LXBhbmVsJzogU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3Q08sSUFBTSwwQkFBTixjQUFzQztBQUFBLEVBQzNDLDhCQUE4Qix3QkFBd0IsVUFBVSxDQUFDO0FBQ25FLEVBQUU7QUFBQSxFQXFCTyxjQUFjO0FBQ2I7QUFQUixTQUFVLGNBQXlELElBQUk7QUFBQSxNQUNyRTtBQUFBLE1BQ0Esd0JBQXdCLE9BQU87QUFBQSxNQUMvQixFQUFFLFNBQVMsS0FBSztBQUFBLElBQUE7QUFLaEIsUUFBSSx1QkFBdUIsSUFBSTtBQUFBLEVBQ2pDO0FBQUEsRUFFQSxNQUF5QixXQUFXLG1CQUF3RDtBQUMxRixVQUFNLFdBQVcsaUJBQWlCO0FBRTlCLFFBQUEsa0JBQWtCLElBQUksU0FBUyxHQUFHO0FBRS9CLFdBQUEsZ0JBQWdCLGdCQUFnQixLQUFLLE9BQU87QUFFakQsVUFBSSxLQUFLLFlBQVksa0JBQWtCLElBQUksU0FBUyxHQUFJO0FBQ2pELGFBQUEsWUFBWSxLQUFLLEVBQUUsTUFBTSxXQUFXLFNBQVMsS0FBSyxTQUFTO0FBQUEsTUFDbEU7QUFBQSxJQUNGO0FBQ0ksUUFBQSxrQkFBa0IsSUFBSSxVQUFVLEdBQUc7QUFDckMsVUFBSSxLQUFLLGFBQWEsa0JBQWtCLElBQUksVUFBVSxHQUFJO0FBQ25ELGFBQUEsWUFBWSxLQUFLLEVBQUUsTUFBTSxZQUFZLFVBQVUsS0FBSyxVQUFVO0FBQUEsTUFDckU7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBRW1CLFNBQXlCO0FBQ25DLFdBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSw2QkFVa0IsS0FBSyxPQUFPO0FBQUEsbUNBQ04sS0FBSyxhQUFhO0FBQUEsOEJBQ3ZCLEtBQUssWUFBWSxLQUFLLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsY0FTbEQsS0FBSyxpQkFDSCwrQkFBK0IsS0FBSyxjQUFjLDhCQUNsRCxPQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtyQjtBQUNGO0FBNUVhLHdCQUdZLFNBQXlCLENBQUMscUJBQXFCLGdCQUFnQjtBQUgzRSx3QkFNWSxTQUFTO0FBQUEsRUFDOUIsV0FBVztBQUFBLEVBQ1gsYUFBYTtBQUFBLEVBQ2IsZ0JBQWdCO0FBQ2xCO0FBVlcsMEJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsb0JBQW9CO0FBQUEsR0FDdEIsdUJBQUE7In0=