@sbb-esta/lyne-elements 3.10.0 → 3.12.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 (267) hide show
  1. package/action-group/action-group.component.js +1 -1
  2. package/alert/alert/alert.component.js +1 -1
  3. package/autocomplete/autocomplete-base-element.d.ts +5 -0
  4. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  5. package/autocomplete/autocomplete-base-element.js +72 -59
  6. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
  7. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  8. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  9. package/badge.css +1 -0
  10. package/breadcrumb/breadcrumb/breadcrumb.component.js +4 -4
  11. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  12. package/button/common.js +1 -1
  13. package/button/mini-button/mini-button.component.js +1 -1
  14. package/button.js +1 -1
  15. package/calendar/calendar.component.d.ts +2 -1
  16. package/calendar/calendar.component.d.ts.map +1 -1
  17. package/calendar/calendar.component.js +1 -1
  18. package/card/card/card.component.js +1 -1
  19. package/card/card-badge/card-badge.component.js +1 -1
  20. package/carousel/carousel-list/carousel-list.component.d.ts +8 -3
  21. package/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  22. package/carousel/carousel-list/carousel-list.component.js +62 -40
  23. package/checkbox/checkbox-group/checkbox-group.component.js +1 -1
  24. package/chip/chip/chip.component.js +1 -1
  25. package/chip/chip-group/chip-group.component.js +1 -1
  26. package/chip-label/chip-label.component.js +1 -1
  27. package/container/container/container.component.js +11 -11
  28. package/container/sticky-bar/sticky-bar.component.js +9 -9
  29. package/core/controllers/escapable-overlay-controller.d.ts +3 -0
  30. package/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
  31. package/core/controllers/overlay-position-controller.d.ts +60 -0
  32. package/core/controllers/overlay-position-controller.d.ts.map +1 -0
  33. package/core/controllers/overlay-position-controller.js +224 -0
  34. package/core/controllers.d.ts +1 -0
  35. package/core/controllers.d.ts.map +1 -1
  36. package/core/controllers.js +12 -10
  37. package/core/mixins.js +1 -1
  38. package/core/overlay/overlay-option-panel.d.ts +2 -1
  39. package/core/overlay/overlay-option-panel.d.ts.map +1 -1
  40. package/core/overlay/overlay-option-panel.js +8 -5
  41. package/core/overlay/position.d.ts +2 -0
  42. package/core/overlay/position.d.ts.map +1 -1
  43. package/core/overlay/position.js +19 -17
  44. package/core/styles/core.scss +27 -2
  45. package/core/styles/layout.scss +4 -0
  46. package/core/styles/mixins/badge.scss +3 -0
  47. package/core/styles/mixins/layout.scss +5 -4
  48. package/core/styles/mixins/link.scss +0 -11
  49. package/core.css +21 -2
  50. package/custom-elements.json +2024 -417
  51. package/date-input/date-input.component.js +1 -1
  52. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  53. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  54. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  55. package/development/autocomplete/autocomplete-base-element.d.ts +5 -0
  56. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  57. package/development/autocomplete/autocomplete-base-element.js +25 -5
  58. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -2
  59. package/development/calendar/calendar.component.d.ts +2 -1
  60. package/development/calendar/calendar.component.d.ts.map +1 -1
  61. package/development/calendar/calendar.component.js +1 -1
  62. package/development/carousel/carousel-list/carousel-list.component.d.ts +8 -3
  63. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  64. package/development/carousel/carousel-list/carousel-list.component.js +51 -19
  65. package/development/container/container/container.component.js +3 -3
  66. package/development/container/sticky-bar/sticky-bar.component.js +5 -5
  67. package/development/core/controllers/escapable-overlay-controller.d.ts +3 -0
  68. package/development/core/controllers/escapable-overlay-controller.d.ts.map +1 -1
  69. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  70. package/development/core/controllers/overlay-position-controller.d.ts +60 -0
  71. package/development/core/controllers/overlay-position-controller.d.ts.map +1 -0
  72. package/development/core/controllers/overlay-position-controller.js +306 -0
  73. package/development/core/controllers.d.ts +1 -0
  74. package/development/core/controllers.d.ts.map +1 -1
  75. package/development/core/controllers.js +3 -1
  76. package/development/core/overlay/overlay-option-panel.d.ts +2 -1
  77. package/development/core/overlay/overlay-option-panel.d.ts.map +1 -1
  78. package/development/core/overlay/overlay-option-panel.js +6 -3
  79. package/development/core/overlay/position.d.ts +2 -0
  80. package/development/core/overlay/position.d.ts.map +1 -1
  81. package/development/core/overlay/position.js +3 -2
  82. package/development/footer/footer.component.js +3 -3
  83. package/development/header/header/header.component.js +3 -3
  84. package/development/lead-container/lead-container.component.js +8 -7
  85. package/development/link/common/block-link-common.js +2 -12
  86. package/development/link/common/inline-link-common.js +2 -10
  87. package/development/link/common/link-common.js +1 -1
  88. package/development/link/common.js +1 -1
  89. package/development/{link-common-DPLJx5Uo.js → link-common-BDFF9Oiz.js} +1 -3
  90. package/development/link-list/link-list-anchor/link-list-anchor.component.js +1 -2
  91. package/development/link.js +1 -1
  92. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts +35 -0
  93. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -0
  94. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +199 -0
  95. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +23 -0
  96. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -0
  97. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +181 -0
  98. package/development/mini-calendar/mini-calendar-day.d.ts +5 -0
  99. package/development/mini-calendar/mini-calendar-day.d.ts.map +1 -0
  100. package/development/mini-calendar/mini-calendar-day.js +5 -0
  101. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +25 -0
  102. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -0
  103. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +123 -0
  104. package/development/mini-calendar/mini-calendar-month.d.ts +5 -0
  105. package/development/mini-calendar/mini-calendar-month.d.ts.map +1 -0
  106. package/development/mini-calendar/mini-calendar-month.js +5 -0
  107. package/development/mini-calendar/mini-calendar.d.ts +5 -0
  108. package/development/mini-calendar/mini-calendar.d.ts.map +1 -0
  109. package/development/mini-calendar/mini-calendar.js +5 -0
  110. package/development/mini-calendar.d.ts +7 -0
  111. package/development/mini-calendar.d.ts.map +1 -0
  112. package/development/mini-calendar.js +9 -0
  113. package/development/paginator/common/paginator-common.d.ts +2 -1
  114. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  115. package/development/paginator/common/paginator-common.js +87 -49
  116. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  117. package/development/paginator/compact-paginator/compact-paginator.component.js +3 -2
  118. package/development/paginator/paginator/paginator.component.d.ts +6 -0
  119. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  120. package/development/paginator/paginator/paginator.component.js +19 -4
  121. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +4 -1
  122. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  123. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +5 -1
  124. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts +4 -1
  125. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
  126. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +5 -1
  127. package/development/tabs/tab/tab.component.d.ts +9 -0
  128. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  129. package/development/tabs/tab/tab.component.js +48 -7
  130. package/development/tabs/tab-group/tab-group.component.d.ts +7 -3
  131. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  132. package/development/tabs/tab-group/tab-group.component.js +19 -39
  133. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  134. package/development/tabs/tab-label/tab-label.component.js +4 -3
  135. package/development/tag/tag/tag.component.js +2 -1
  136. package/development/tooltip/tooltip.component.d.ts +11 -4
  137. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  138. package/development/tooltip/tooltip.component.js +57 -78
  139. package/dialog/dialog/dialog.component.js +1 -1
  140. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  141. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  142. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  143. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  144. package/file-selector/common.js +1 -1
  145. package/file-selector-common-BEWjyy75.js +5 -0
  146. package/file-selector.js +1 -1
  147. package/flip-card/flip-card/flip-card.component.js +1 -1
  148. package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  149. package/footer/footer.component.js +8 -8
  150. package/form-error/form-error.component.js +1 -1
  151. package/form-field/form-field/form-field.component.js +1 -1
  152. package/form-field/form-field-clear/form-field-clear.component.js +1 -1
  153. package/header/common/header-action-common.js +1 -1
  154. package/header/header/header.component.js +32 -32
  155. package/icon-sidebar-button-common-XcKoF2SP.js +7 -0
  156. package/index.d.ts +6 -0
  157. package/index.js +6 -0
  158. package/layout.css +9 -3
  159. package/lead-container/lead-container.component.js +8 -8
  160. package/link/common/block-link-common.js +25 -25
  161. package/link/common/inline-link-common.js +7 -7
  162. package/link/common/link-common.js +1 -1
  163. package/link/common.js +1 -1
  164. package/link-common-nA3q92jp.js +46 -0
  165. package/link-list/link-list/link-list.component.js +1 -1
  166. package/link-list/link-list-anchor/link-list-anchor.component.js +5 -5
  167. package/link.js +1 -1
  168. package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  169. package/logo/logo.component.js +1 -1
  170. package/map-container/map-container.component.js +1 -1
  171. package/menu/common/menu-action-common.js +1 -1
  172. package/menu/menu/menu.component.js +1 -1
  173. package/mini-calendar/mini-calendar/mini-calendar.component.d.ts +35 -0
  174. package/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -0
  175. package/mini-calendar/mini-calendar/mini-calendar.component.js +129 -0
  176. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts +23 -0
  177. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -0
  178. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +66 -0
  179. package/mini-calendar/mini-calendar-day.d.ts +5 -0
  180. package/mini-calendar/mini-calendar-day.d.ts.map +1 -0
  181. package/mini-calendar/mini-calendar-day.js +4 -0
  182. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +25 -0
  183. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -0
  184. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +59 -0
  185. package/mini-calendar/mini-calendar-month.d.ts +5 -0
  186. package/mini-calendar/mini-calendar-month.d.ts.map +1 -0
  187. package/mini-calendar/mini-calendar-month.js +4 -0
  188. package/mini-calendar/mini-calendar.d.ts +5 -0
  189. package/mini-calendar/mini-calendar.d.ts.map +1 -0
  190. package/mini-calendar/mini-calendar.js +4 -0
  191. package/mini-calendar.d.ts +7 -0
  192. package/mini-calendar.d.ts.map +1 -0
  193. package/mini-calendar.js +8 -0
  194. package/navigation/common/navigation-action-common.js +1 -1
  195. package/navigation/navigation/navigation.component.js +1 -1
  196. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  197. package/navigation/navigation-section/navigation-section.component.js +1 -1
  198. package/notification/notification.component.js +1 -1
  199. package/off-brand-theme.css +31 -5
  200. package/option/option/option.component.js +1 -1
  201. package/overlay/overlay.component.js +1 -1
  202. package/package.json +21 -1
  203. package/paginator/common/paginator-common.d.ts +2 -1
  204. package/paginator/common/paginator-common.d.ts.map +1 -1
  205. package/paginator/common/paginator-common.js +102 -81
  206. package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  207. package/paginator/compact-paginator/compact-paginator.component.js +2 -1
  208. package/paginator/paginator/paginator.component.d.ts +6 -0
  209. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  210. package/paginator/paginator/paginator.component.js +57 -45
  211. package/popover/popover/popover.component.js +1 -1
  212. package/popover/popover-trigger/popover-trigger.component.js +1 -1
  213. package/radio-button/common.js +1 -1
  214. package/radio-button/radio-button-group/radio-button-group.component.js +1 -1
  215. package/radio-button-common-Bw2t3Sxz.js +5 -0
  216. package/radio-button.js +1 -1
  217. package/safety-theme.css +31 -5
  218. package/select/select.component.js +1 -1
  219. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  220. package/sidebar/common.js +1 -1
  221. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +4 -1
  222. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  223. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +9 -6
  224. package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts +4 -1
  225. package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
  226. package/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +13 -10
  227. package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  228. package/sidebar.js +1 -1
  229. package/signet/signet.component.js +1 -1
  230. package/slider/slider.component.js +1 -1
  231. package/standard-theme.css +31 -5
  232. package/stepper/step-label/step-label.component.js +1 -1
  233. package/stepper/stepper/stepper.component.js +1 -1
  234. package/tabs/tab/tab.component.d.ts +9 -0
  235. package/tabs/tab/tab.component.d.ts.map +1 -1
  236. package/tabs/tab/tab.component.js +37 -18
  237. package/tabs/tab-group/tab-group.component.d.ts +7 -3
  238. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  239. package/tabs/tab-group/tab-group.component.js +51 -52
  240. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  241. package/tabs/tab-label/tab-label.component.js +12 -12
  242. package/tag/tag/tag.component.js +4 -4
  243. package/teaser/teaser.component.js +1 -1
  244. package/teaser-hero/teaser-hero.component.js +1 -1
  245. package/teaser-product/common.js +1 -1
  246. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  247. package/teaser-product-common-Du28QCY3.js +5 -0
  248. package/teaser-product.js +1 -1
  249. package/time-input/time-input.component.js +1 -1
  250. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  251. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  252. package/toggle/toggle/toggle.component.js +1 -1
  253. package/toggle-check/toggle-check.component.js +1 -1
  254. package/tooltip/tooltip.component.d.ts +11 -4
  255. package/tooltip/tooltip.component.d.ts.map +1 -1
  256. package/tooltip/tooltip.component.js +60 -84
  257. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  258. package/train/train-formation/train-formation.component.js +1 -1
  259. package/train/train-wagon/train-wagon.component.js +1 -1
  260. package/transparent-button-DJIkG5hj.js +9 -0
  261. package/visual-checkbox/visual-checkbox.component.js +1 -1
  262. package/file-selector-common-D88J9PEh.js +0 -5
  263. package/icon-sidebar-button-common-BeRXvifI.js +0 -7
  264. package/link-common-BBKGg9HN.js +0 -46
  265. package/radio-button-common-Nm9ULjVb.js +0 -5
  266. package/teaser-product-common-DIra6aVg.js +0 -5
  267. package/transparent-button-Bg9fU_iZ.js +0 -9
@@ -19,12 +19,17 @@ import "../../button/mini-button-group.js";
19
19
  import "../../divider.js";
20
20
  const SbbPaginatorCommonElementMixin = (superClass) => {
21
21
  let SbbPaginatorCommonElement = (() => {
22
- var _pagerPosition_accessor_storage, _size_accessor_storage, _accessibilityPageLabel_accessor_storage, _accessibilityPreviousPageLabel_accessor_storage, _accessibilityNextPageLabel_accessor_storage, _a;
22
+ var _length_accessor_storage, _pageSize_accessor_storage, _pageIndex_accessor_storage, _pagerPosition_accessor_storage, _size_accessor_storage, _accessibilityPageLabel_accessor_storage, _accessibilityPreviousPageLabel_accessor_storage, _accessibilityNextPageLabel_accessor_storage, _a;
23
23
  let _classSuper = SbbNegativeMixin(SbbDisabledMixin(SbbElementInternalsMixin(superClass)));
24
- let _instanceExtraInitializers = [];
25
- let _set_length_decorators;
26
- let _set_pageSize_decorators;
27
- let _set_pageIndex_decorators;
24
+ let _length_decorators;
25
+ let _length_initializers = [];
26
+ let _length_extraInitializers = [];
27
+ let _pageSize_decorators;
28
+ let _pageSize_initializers = [];
29
+ let _pageSize_extraInitializers = [];
30
+ let _pageIndex_decorators;
31
+ let _pageIndex_initializers = [];
32
+ let _pageIndex_extraInitializers = [];
28
33
  let _pagerPosition_decorators;
29
34
  let _pagerPosition_initializers = [];
30
35
  let _pagerPosition_extraInitializers = [];
@@ -43,47 +48,44 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
43
48
  return _a = class extends _classSuper {
44
49
  constructor() {
45
50
  super(...arguments);
51
+ __privateAdd(this, _length_accessor_storage);
52
+ __privateAdd(this, _pageSize_accessor_storage);
53
+ __privateAdd(this, _pageIndex_accessor_storage);
46
54
  __privateAdd(this, _pagerPosition_accessor_storage);
47
55
  __privateAdd(this, _size_accessor_storage);
48
56
  __privateAdd(this, _accessibilityPageLabel_accessor_storage);
49
57
  __privateAdd(this, _accessibilityPreviousPageLabel_accessor_storage);
50
58
  __privateAdd(this, _accessibilityNextPageLabel_accessor_storage);
51
- this._length = (__runInitializers(this, _instanceExtraInitializers), 0);
52
- this._pageSize = 10;
53
- this._pageIndex = 0;
54
- __privateSet(this, _pagerPosition_accessor_storage, __runInitializers(this, _pagerPosition_initializers, "start"));
59
+ __privateSet(this, _length_accessor_storage, __runInitializers(this, _length_initializers, 0));
60
+ __privateSet(this, _pageSize_accessor_storage, (__runInitializers(this, _length_extraInitializers), __runInitializers(this, _pageSize_initializers, 10)));
61
+ __privateSet(this, _pageIndex_accessor_storage, (__runInitializers(this, _pageSize_extraInitializers), __runInitializers(this, _pageIndex_initializers, 0)));
62
+ __privateSet(this, _pagerPosition_accessor_storage, (__runInitializers(this, _pageIndex_extraInitializers), __runInitializers(this, _pagerPosition_initializers, "start")));
55
63
  __privateSet(this, _size_accessor_storage, (__runInitializers(this, _pagerPosition_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
56
64
  __privateSet(this, _accessibilityPageLabel_accessor_storage, (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _accessibilityPageLabel_initializers, "")));
57
65
  __privateSet(this, _accessibilityPreviousPageLabel_accessor_storage, (__runInitializers(this, _accessibilityPageLabel_extraInitializers), __runInitializers(this, _accessibilityPreviousPageLabel_initializers, "")));
58
66
  __privateSet(this, _accessibilityNextPageLabel_accessor_storage, (__runInitializers(this, _accessibilityPreviousPageLabel_extraInitializers), __runInitializers(this, _accessibilityNextPageLabel_initializers, "")));
59
67
  this.language = (__runInitializers(this, _accessibilityNextPageLabel_extraInitializers), new SbbLanguageController(this));
60
- this._previousPageSize = this._pageSize;
61
68
  }
62
69
  /** Total number of items. */
63
- set length(value) {
64
- this._length = isNaN(value) || value < 0 ? 0 : value;
65
- this.pageIndex = this.pageIndex;
66
- }
67
70
  get length() {
68
- return this._length;
71
+ return __privateGet(this, _length_accessor_storage);
69
72
  }
70
- /** Number of items per page. */
71
- set pageSize(value) {
72
- this._previousPageSize = this.pageSize;
73
- this._pageSize = Math.max(value, 0);
74
- this.pageIndex = Math.floor(this.pageIndex * this._previousPageSize / this.pageSize) || 0;
73
+ set length(value) {
74
+ __privateSet(this, _length_accessor_storage, value);
75
75
  }
76
+ /** Number of items per page. */
76
77
  get pageSize() {
77
- return this._pageSize;
78
+ return __privateGet(this, _pageSize_accessor_storage);
78
79
  }
79
- /** Current page index. */
80
- set pageIndex(value) {
81
- const previousPageIndex = this._pageIndex;
82
- this._pageIndex = this._coercePageIndexInRange(value);
83
- this.emitPageEvent(previousPageIndex);
80
+ set pageSize(value) {
81
+ __privateSet(this, _pageSize_accessor_storage, value);
84
82
  }
83
+ /** Current page index. */
85
84
  get pageIndex() {
86
- return this._pageIndex;
85
+ return __privateGet(this, _pageIndex_accessor_storage);
86
+ }
87
+ set pageIndex(value) {
88
+ __privateSet(this, _pageIndex_accessor_storage, value);
87
89
  }
88
90
  /** Position of the prev/next buttons. */
89
91
  get pagerPosition() {
@@ -132,6 +134,29 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
132
134
  set accessibilityNextPageLabel(value) {
133
135
  __privateSet(this, _accessibilityNextPageLabel_accessor_storage, value);
134
136
  }
137
+ willUpdate(changedProperties) {
138
+ super.willUpdate(changedProperties);
139
+ let prevPageIndex = null;
140
+ if (changedProperties.has("length") && this.length !== changedProperties.get("length")) {
141
+ this.length = isNaN(this.length) || this.length < 0 ? 0 : this.length;
142
+ this.pageIndex = this._coercePageIndexInRange(this.pageIndex);
143
+ }
144
+ if (changedProperties.has("pageSize") && this.pageSize !== changedProperties.get("pageSize")) {
145
+ const previousPageSize = changedProperties.get("pageSize");
146
+ this.pageSize = isNaN(this.pageSize) || this.pageSize < 0 ? 0 : this.pageSize;
147
+ if (previousPageSize) {
148
+ this.pageIndex = Math.floor(this.pageIndex * previousPageSize / this.pageSize) || 0;
149
+ }
150
+ prevPageIndex = this.pageIndex;
151
+ }
152
+ if (changedProperties.has("pageIndex") && this.pageIndex !== changedProperties.get("pageIndex")) {
153
+ this.pageIndex = this._coercePageIndexInRange(this.pageIndex);
154
+ prevPageIndex = changedProperties.get("pageIndex");
155
+ }
156
+ if (prevPageIndex !== null) {
157
+ this._emitPrivatePageEvent(prevPageIndex);
158
+ }
159
+ }
135
160
  updated(changedProperties) {
136
161
  super.updated(changedProperties);
137
162
  this.shadowRoot.querySelector("sbb-screen-reader-only#status").textContent = this._currentPageLabel();
@@ -143,6 +168,11 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
143
168
  _currentPageLabel() {
144
169
  return `${this.accessibilityPageLabel ? this.accessibilityPageLabel : i18nPage[this.language.current]} ${this.pageIndex + 1} ${i18nPaginatorSelected[this.language.current]}.`;
145
170
  }
171
+ changeAndEmitPage(pageIndex) {
172
+ const prevPageIndex = this.pageIndex;
173
+ this.pageIndex = pageIndex;
174
+ this.emitPageEvent(prevPageIndex);
175
+ }
146
176
  /** Advances to the next page if it exists. */
147
177
  nextPage() {
148
178
  this.pageIndex = this.pageIndex + 1;
@@ -179,22 +209,32 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
179
209
  numberOfPages() {
180
210
  return this.pageSize ? Math.ceil(this.length / this.pageSize) : 0;
181
211
  }
182
- emitPageEvent(previousPageIndex) {
183
- if (!this.hasUpdated || this.pageIndex === previousPageIndex && this._previousPageSize === this.pageSize) {
184
- this._previousPageSize = this.pageSize;
185
- return;
186
- }
212
+ emitPageEvent(previousPageIndex, pageIndex) {
187
213
  this.dispatchEvent(new CustomEvent("page", {
188
214
  bubbles: true,
189
215
  composed: true,
190
216
  detail: {
191
217
  previousPageIndex,
192
- pageIndex: this.pageIndex,
218
+ pageIndex: pageIndex ?? this.pageIndex,
193
219
  length: this.length,
194
220
  pageSize: this.pageSize
195
221
  }
196
222
  }));
197
223
  }
224
+ _emitPrivatePageEvent(previousPageIndex) {
225
+ if (this.hasUpdated) {
226
+ this.dispatchEvent(new CustomEvent("ɵpage", {
227
+ bubbles: true,
228
+ composed: true,
229
+ detail: {
230
+ previousPageIndex,
231
+ pageIndex: this.pageIndex,
232
+ length: this.length,
233
+ pageSize: this.pageSize
234
+ }
235
+ }));
236
+ }
237
+ }
198
238
  renderPrevNextButtons() {
199
239
  return html`
200
240
  <sbb-mini-button-group ?negative=${this.negative} size=${this.size === "s" ? "s" : "l"}>
@@ -204,7 +244,7 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
204
244
  icon-name="chevron-small-left-small"
205
245
  ?disabled=${this.disabled || !this.hasPreviousPage()}
206
246
  @click=${() => {
207
- this.previousPage();
247
+ this.changeAndEmitPage(this.pageIndex - 1);
208
248
  if (!this.hasPreviousPage() && sbbInputModalityDetector.mostRecentModality === "keyboard") {
209
249
  this.shadowRoot?.getElementById("sbb-paginator-next-page").focus();
210
250
  }
@@ -217,7 +257,7 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
217
257
  icon-name="chevron-small-right-small"
218
258
  ?disabled=${this.disabled || !this.hasNextPage()}
219
259
  @click=${() => {
220
- this.nextPage();
260
+ this.changeAndEmitPage(this.pageIndex + 1);
221
261
  if (!this.hasNextPage() && sbbInputModalityDetector.mostRecentModality === "keyboard") {
222
262
  this.shadowRoot?.getElementById("sbb-paginator-prev-page").focus();
223
263
  }
@@ -232,25 +272,25 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
232
272
  <sbb-screen-reader-only id="status" role="status"></sbb-screen-reader-only>
233
273
  `;
234
274
  }
235
- }, _pagerPosition_accessor_storage = new WeakMap(), _size_accessor_storage = new WeakMap(), _accessibilityPageLabel_accessor_storage = new WeakMap(), _accessibilityPreviousPageLabel_accessor_storage = new WeakMap(), _accessibilityNextPageLabel_accessor_storage = new WeakMap(), (() => {
275
+ }, _length_accessor_storage = new WeakMap(), _pageSize_accessor_storage = new WeakMap(), _pageIndex_accessor_storage = new WeakMap(), _pagerPosition_accessor_storage = new WeakMap(), _size_accessor_storage = new WeakMap(), _accessibilityPageLabel_accessor_storage = new WeakMap(), _accessibilityPreviousPageLabel_accessor_storage = new WeakMap(), _accessibilityNextPageLabel_accessor_storage = new WeakMap(), (() => {
236
276
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
237
- _set_length_decorators = [property({ type: Number })];
238
- _set_pageSize_decorators = [property({ attribute: "page-size", type: Number })];
239
- _set_pageIndex_decorators = [property({ attribute: "page-index", type: Number })];
277
+ _length_decorators = [forceType(), property({ type: Number })];
278
+ _pageSize_decorators = [forceType(), property({ attribute: "page-size", type: Number })];
279
+ _pageIndex_decorators = [forceType(), property({ attribute: "page-index", type: Number })];
240
280
  _pagerPosition_decorators = [property({ attribute: "pager-position", reflect: true })];
241
281
  _size_decorators = [property({ reflect: true })];
242
282
  _accessibilityPageLabel_decorators = [forceType(), property({ attribute: "accessibility-page-label" })];
243
283
  _accessibilityPreviousPageLabel_decorators = [forceType(), property({ attribute: "accessibility-previous-page-label" })];
244
284
  _accessibilityNextPageLabel_decorators = [forceType(), property({ attribute: "accessibility-next-page-label" })];
245
- __esDecorate(_a, null, _set_length_decorators, { kind: "setter", name: "length", static: false, private: false, access: { has: (obj) => "length" in obj, set: (obj, value) => {
285
+ __esDecorate(_a, null, _length_decorators, { kind: "accessor", name: "length", static: false, private: false, access: { has: (obj) => "length" in obj, get: (obj) => obj.length, set: (obj, value) => {
246
286
  obj.length = value;
247
- } }, metadata: _metadata }, null, _instanceExtraInitializers);
248
- __esDecorate(_a, null, _set_pageSize_decorators, { kind: "setter", name: "pageSize", static: false, private: false, access: { has: (obj) => "pageSize" in obj, set: (obj, value) => {
287
+ } }, metadata: _metadata }, _length_initializers, _length_extraInitializers);
288
+ __esDecorate(_a, null, _pageSize_decorators, { kind: "accessor", name: "pageSize", static: false, private: false, access: { has: (obj) => "pageSize" in obj, get: (obj) => obj.pageSize, set: (obj, value) => {
249
289
  obj.pageSize = value;
250
- } }, metadata: _metadata }, null, _instanceExtraInitializers);
251
- __esDecorate(_a, null, _set_pageIndex_decorators, { kind: "setter", name: "pageIndex", static: false, private: false, access: { has: (obj) => "pageIndex" in obj, set: (obj, value) => {
290
+ } }, metadata: _metadata }, _pageSize_initializers, _pageSize_extraInitializers);
291
+ __esDecorate(_a, null, _pageIndex_decorators, { kind: "accessor", name: "pageIndex", static: false, private: false, access: { has: (obj) => "pageIndex" in obj, get: (obj) => obj.pageIndex, set: (obj, value) => {
252
292
  obj.pageIndex = value;
253
- } }, metadata: _metadata }, null, _instanceExtraInitializers);
293
+ } }, metadata: _metadata }, _pageIndex_initializers, _pageIndex_extraInitializers);
254
294
  __esDecorate(_a, null, _pagerPosition_decorators, { kind: "accessor", name: "pagerPosition", static: false, private: false, access: { has: (obj) => "pagerPosition" in obj, get: (obj) => obj.pagerPosition, set: (obj, value) => {
255
295
  obj.pagerPosition = value;
256
296
  } }, metadata: _metadata }, _pagerPosition_initializers, _pagerPosition_extraInitializers);
@@ -267,13 +307,11 @@ const SbbPaginatorCommonElementMixin = (superClass) => {
267
307
  obj.accessibilityNextPageLabel = value;
268
308
  } }, metadata: _metadata }, _accessibilityNextPageLabel_initializers, _accessibilityNextPageLabel_extraInitializers);
269
309
  if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
270
- })(), _a.role = "group", _a.events = {
271
- page: "page"
272
- }, _a;
310
+ })(), _a.role = "group", _a;
273
311
  })();
274
312
  return SbbPaginatorCommonElement;
275
313
  };
276
314
  export {
277
315
  SbbPaginatorCommonElementMixin
278
316
  };
279
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLWNvbW1vbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9jb21tb24vcGFnaW5hdG9yLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBodG1sLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBpMThuTmV4dFBhZ2UsXG4gIGkxOG5QYWdlLFxuICBpMThuUGFnaW5hdG9yU2VsZWN0ZWQsXG4gIGkxOG5QcmV2aW91c1BhZ2UsXG59IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYk5lZ2F0aXZlTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24uanMnO1xuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24tZ3JvdXAuanMnO1xuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgbGVuZ3RoOiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlU2l6ZTogbnVtYmVyO1xuICBwdWJsaWMgYWNjZXNzb3IgcGFnZUluZGV4OiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCc7XG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncyc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkO1xuICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBmaXJzdFBhZ2UoKTogdm9pZDtcbiAgcHVibGljIGxhc3RQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBzZWxlY3RQYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW47XG4gIHB1YmxpYyBoYXNOZXh0UGFnZSgpOiBib29sZWFuO1xuICBwdWJsaWMgbnVtYmVyT2ZQYWdlcygpOiBudW1iZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZTogU2JiTGFuZ3VhZ2VDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgZW1pdFBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyKTogdm9pZDtcbiAgcHJvdGVjdGVkIHJlbmRlclByZXZOZXh0QnV0dG9ucygpOiBUZW1wbGF0ZVJlc3VsdDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlclBhZ2luYXRvcigpOiBUZW1wbGF0ZVJlc3VsdDtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRGlzYWJsZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oc3VwZXJDbGFzcykpKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByb2xlID0gJ2dyb3VwJztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIHBhZ2U6ICdwYWdlJyxcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgLyoqIFRvdGFsIG51bWJlciBvZiBpdGVtcy4gKi9cbiAgICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgc2V0IGxlbmd0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICB0aGlzLl9sZW5ndGggPSBpc05hTih2YWx1ZSkgfHwgdmFsdWUgPCAwID8gMCA6IHZhbHVlO1xuICAgICAgLy8gQ2FsbCBzZXR0ZXIgb2YgcGFnZUluZGV4IHRvIGVuc3VyZSBib3VuZHNcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgICAgdGhpcy5wYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleDtcbiAgICB9XG4gICAgcHVibGljIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLl9sZW5ndGg7XG4gICAgfVxuICAgIHByaXZhdGUgX2xlbmd0aDogbnVtYmVyID0gMDtcblxuICAgIC8qKiBOdW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplJywgdHlwZTogTnVtYmVyIH0pXG4gICAgcHVibGljIHNldCBwYWdlU2l6ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAvLyBDdXJyZW50IHBhZ2UgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBuZXcgcGFnZSBzaXplLiBOYXZpZ2F0ZSB0byB0aGUgcGFnZVxuICAgICAgLy8gY29udGFpbmluZyB0aGUgcHJldmlvdXMgcGFnZSdzIGZpcnN0IGl0ZW0uXG4gICAgICB0aGlzLl9wcmV2aW91c1BhZ2VTaXplID0gdGhpcy5wYWdlU2l6ZTtcbiAgICAgIHRoaXMuX3BhZ2VTaXplID0gTWF0aC5tYXgodmFsdWUsIDApO1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSBNYXRoLmZsb29yKCh0aGlzLnBhZ2VJbmRleCAqIHRoaXMuX3ByZXZpb3VzUGFnZVNpemUpIC8gdGhpcy5wYWdlU2l6ZSkgfHwgMDtcbiAgICB9XG4gICAgcHVibGljIGdldCBwYWdlU2l6ZSgpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplO1xuICAgIH1cbiAgICBwcml2YXRlIF9wYWdlU2l6ZTogbnVtYmVyID0gMTA7XG5cbiAgICAvKiogQ3VycmVudCBwYWdlIGluZGV4LiAqL1xuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2UtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgc2V0IHBhZ2VJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICBjb25zdCBwcmV2aW91c1BhZ2VJbmRleCA9IHRoaXMuX3BhZ2VJbmRleDtcbiAgICAgIHRoaXMuX3BhZ2VJbmRleCA9IHRoaXMuX2NvZXJjZVBhZ2VJbmRleEluUmFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy5lbWl0UGFnZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4KTtcbiAgICB9XG4gICAgcHVibGljIGdldCBwYWdlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLl9wYWdlSW5kZXg7XG4gICAgfVxuICAgIHByaXZhdGUgX3BhZ2VJbmRleDogbnVtYmVyID0gMDtcblxuICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnMuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZXItcG9zaXRpb24nLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOlxuICAgICAgfCAnc3RhcnQnXG4gICAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAgIC8qKlxuICAgICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0gb3Igcy5cbiAgICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ20nIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcGFnZS4gRGVmYXVsdHMgdG8gYHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcHJldmlvdXMgcGFnZS4gRGVmYXVsdHMgdG8gYHByZXZpb3VzIHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcHJldmlvdXMtcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIHRoZSBuZXh0IHBhZ2UuIERlZmF1bHRzIHRvIGBuZXh0IHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbmV4dC1wYWdlLWxhYmVsJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICAgIHByaXZhdGUgX3ByZXZpb3VzUGFnZVNpemU6IG51bWJlciA9IHRoaXMuX3BhZ2VTaXplO1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICAvLyBUbyByZWxpYWJseSBhbm5vdW5jZSBwYWdlIGNoYW5nZSwgd2UgaGF2ZSB0byBzZXQgdGhlIGxhYmVsIGluIHVwZGF0ZWQoKSAoYSB0aWNrIGxhdGVyIHRoYW4gdGhlIG90aGVyIGNoYW5nZXMpLlxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdzYmItc2NyZWVuLXJlYWRlci1vbmx5I3N0YXR1cycpIS50ZXh0Q29udGVudCA9XG4gICAgICAgIHRoaXMuX2N1cnJlbnRQYWdlTGFiZWwoKTtcbiAgICB9XG5cbiAgICAvKiogRXZhbHVhdGUgYHBhZ2VJbmRleGAgYnkgZXhjbHVkaW5nIGVkZ2UgY2FzZXMuICovXG4gICAgcHJpdmF0ZSBfY29lcmNlUGFnZUluZGV4SW5SYW5nZShwYWdlSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIE1hdGgubWluKE1hdGgubWF4KGlzTmFOKHBhZ2VJbmRleCkgPyAwIDogcGFnZUluZGV4LCAwKSwgdGhpcy5udW1iZXJPZlBhZ2VzKCkgLSAxKSxcbiAgICAgICAgMCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3VycmVudFBhZ2VMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGAke3RoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbCA/IHRoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbCA6IGkxOG5QYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19ICR7dGhpcy5wYWdlSW5kZXggKyAxfSAke2kxOG5QYWdpbmF0b3JTZWxlY3RlZFt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfS5gO1xuICAgIH1cblxuICAgIC8qKiBBZHZhbmNlcyB0byB0aGUgbmV4dCBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4ICsgMTtcbiAgICB9XG5cbiAgICAvKiogTW92ZSBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgLyoqIE1vdmUgdG8gdGhlIGZpcnN0IHBhZ2UgaWYgbm90IGFscmVhZHkgdGhlcmUuICovXG4gICAgcHVibGljIGZpcnN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB9XG5cbiAgICAvKiogTW92ZSB0byB0aGUgbGFzdCBwYWdlIGlmIG5vdCBhbHJlYWR5IHRoZXJlLiAqL1xuICAgIHB1YmxpYyBsYXN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5udW1iZXJPZlBhZ2VzKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKiBNb3ZlIHRvIGEgc3BlY2lmaWMgcGFnZSBpbmRleC4gKi9cbiAgICBwdWJsaWMgc2VsZWN0UGFnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IGluZGV4O1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIGEgcHJldmlvdXMgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMucGFnZUluZGV4ID49IDEgJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGVyZSBpcyBhIG5leHQgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICBjb25zdCBtYXhQYWdlSW5kZXggPSB0aGlzLm51bWJlck9mUGFnZXMoKSAtIDE7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCBtYXhQYWdlSW5kZXggJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBjdXJyZW50IG51bWJlciBvZiBwYWdlcyBiYXNlZCBvbiB0aGUgYGxlbmd0aGAgYW5kIHRoZSBgcGFnZVNpemVgO1xuICAgICAqIHZhbHVlIG11c3QgYmUgcm91bmRlZCB1cCAoZS5nLiBgbGVuZ3RoID0gMjFgIGFuZCBgcGFnZVNpemUgPSAxMGAgbWVhbnMgMyBwYWdlcykuXG4gICAgICovXG4gICAgcHVibGljIG51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2VTaXplID8gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSkgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbWl0UGFnZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuaGFzVXBkYXRlZCB8fFxuICAgICAgICAodGhpcy5wYWdlSW5kZXggPT09IHByZXZpb3VzUGFnZUluZGV4ICYmIHRoaXMuX3ByZXZpb3VzUGFnZVNpemUgPT09IHRoaXMucGFnZVNpemUpXG4gICAgICApIHtcbiAgICAgICAgLy8gV2hlbiBlbWl0dGluZyB0aGUgcGFnZSBldmVudCBpcyBza2lwcGVkIGR1cmluZyBpbml0aWFsaXphdGlvbixcbiAgICAgICAgLy8gd2UgaGF2ZSB0byB1cGRhdGUgdGhlIHByZXZpb3VzIHBhZ2Ugc2l6ZS5cbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBpdCBjb3VsZCB0cmlnZ2VyIGFuIHVubmVjZXNzYXJ5IHBhZ2UgZXZlbnQgd2hlbiBvdGhlciBwcm9wXG4gICAgICAgIC8vIGlzIHJlLWFzc2lnbmVkIHdpdGggdGhlIGUuZy4gdGhlIHNhbWUgdmFsdWUuXG4gICAgICAgIHRoaXMuX3ByZXZpb3VzUGFnZVNpemUgPSB0aGlzLnBhZ2VTaXplOyAvLyBVcGRhdGUgdGhlIHByZXZpb3VzIHBhZ2Ugc2l6ZSBmb3IgbmV4dCBjb21wYXJpc29uXG5cbiAgICAgICAgLy8gRG8gbm90IGVtaXQgdGhlIGV2ZW50IGlmIHRoZSBwYWdlIGV2ZW50IGRldGFpbHMgZGlkIG5vdCBjaGFuZ2VcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxTYmJQYWdpbmF0b3JQYWdlRXZlbnREZXRhaWxzPn1cbiAgICAgICAqIFRoZSBwYWdlIGV2ZW50IGlzIGRpc3BhdGNoZWQgd2hlbiB0aGUgcGFnZSBpbmRleCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJQYWdpbmF0b3JQYWdlRXZlbnREZXRhaWxzPigncGFnZScsIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgcHJldmlvdXNQYWdlSW5kZXgsXG4gICAgICAgICAgICBwYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LFxuICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVuZGVyUHJldk5leHRCdXR0b25zKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8c2JiLW1pbmktYnV0dG9uLWdyb3VwID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9IHNpemU9JHt0aGlzLnNpemUgPT09ICdzJyA/ICdzJyA6ICdsJ30+XG4gICAgICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJzYmItcGFnaW5hdG9yLXByZXYtcGFnZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWxcbiAgICAgICAgICAgICAgPyB0aGlzLmFjY2Vzc2liaWxpdHlQcmV2aW91c1BhZ2VMYWJlbFxuICAgICAgICAgICAgICA6IGkxOG5QcmV2aW91c1BhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmhhc1ByZXZpb3VzUGFnZSgpfVxuICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnByZXZpb3VzUGFnZSgpO1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuaGFzUHJldmlvdXNQYWdlKCkgJiZcbiAgICAgICAgICAgICAgICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ3NiYi1wYWdpbmF0b3ItbmV4dC1wYWdlJykhLmZvY3VzKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPjwvc2JiLW1pbmktYnV0dG9uPlxuICAgICAgICAgIDxzYmItZGl2aWRlciBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICA8c2JiLW1pbmktYnV0dG9uXG4gICAgICAgICAgICBpZD1cInNiYi1wYWdpbmF0b3ItbmV4dC1wYWdlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsXG4gICAgICAgICAgICAgID8gdGhpcy5hY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbFxuICAgICAgICAgICAgICA6IGkxOG5OZXh0UGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgaWNvbi1uYW1lPVwiY2hldnJvbi1zbWFsbC1yaWdodC1zbWFsbFwiXG4gICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmhhc05leHRQYWdlKCl9XG4gICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubmV4dFBhZ2UoKTtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmhhc05leHRQYWdlKCkgJiZcbiAgICAgICAgICAgICAgICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ3NiYi1wYWdpbmF0b3ItcHJldi1wYWdlJykhLmZvY3VzKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPjwvc2JiLW1pbmktYnV0dG9uPlxuICAgICAgICA8L3NiYi1taW5pLWJ1dHRvbi1ncm91cD5cbiAgICAgIGA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgJHt0aGlzLnJlbmRlclBhZ2luYXRvcigpfVxuICAgICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seSBpZD1cInN0YXR1c1wiIHJvbGU9XCJzdGF0dXNcIj48L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICBgO1xuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBwYWdlOiBDdXN0b21FdmVudDxTYmJQYWdpbmF0b3JQYWdlRXZlbnREZXRhaWxzPjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtRE8sTUFBTSxpQ0FBaUMsQ0FDNUMsZUFDK0Q7TUFDaEQsNkJBQXlCLE1BQUE7O3NCQUM5QixpQkFBaUIsaUJBQWlCLHlCQUF5QixVQUFVLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFEbEUsV0FBQSxtQkFDTCxZQUF3RTtBQUFBOztBQWdEdEI7QUFRN0I7QUFRN0I7QUFRQTtBQVFBO0FBN0RRLGFBQUEsV0FwQkssa0JBQUEsTUFBQSwwQkFBQSxHQW9CYTtBQWNsQixhQUFBLFlBQW9CO0FBWXBCLGFBQUEsYUFBcUI7QUFHNkMsMkJBQUEsaUNBQUEsa0JBQUEsTUFBQSw2QkFFOUQsT0FBTztBQU0wQiwyQkFBQSx5QkFBQSxrQkFBQSxNQUFBLGdDQUFBLEdBQUEsa0JBQUEsTUFBQSxvQkFBa0IsT0FBQSxJQUFXLE1BQU0sR0FBRztBQVFuRSwyQkFBQSwyQ0FBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSxzQ0FBaUMsRUFBRTtBQVFuQywyQkFBQSxtREFBQSxrQkFBQSxNQUFBLHlDQUFBLEdBQUEsa0JBQUEsTUFBQSw4Q0FBeUMsRUFBRTtBQVEzQywyQkFBQSwrQ0FBQSxrQkFB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
317
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLWNvbW1vbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9jb21tb24vcGFnaW5hdG9yLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBodG1sLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQge1xuICBpMThuTmV4dFBhZ2UsXG4gIGkxOG5QYWdlLFxuICBpMThuUGFnaW5hdG9yU2VsZWN0ZWQsXG4gIGkxOG5QcmV2aW91c1BhZ2UsXG59IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBBYnN0cmFjdENvbnN0cnVjdG9yLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYk5lZ2F0aXZlTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24uanMnO1xuaW1wb3J0ICcuLi8uLi9idXR0b24vbWluaS1idXR0b24tZ3JvdXAuanMnO1xuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgbGVuZ3RoOiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlU2l6ZTogbnVtYmVyO1xuICBwdWJsaWMgYWNjZXNzb3IgcGFnZUluZGV4OiBudW1iZXI7XG4gIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCc7XG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAnbScgfCAncyc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5UHJldmlvdXNQYWdlTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlOZXh0UGFnZUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkO1xuICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBmaXJzdFBhZ2UoKTogdm9pZDtcbiAgcHVibGljIGxhc3RQYWdlKCk6IHZvaWQ7XG4gIHB1YmxpYyBzZWxlY3RQYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW47XG4gIHB1YmxpYyBoYXNOZXh0UGFnZSgpOiBib29sZWFuO1xuICBwdWJsaWMgbnVtYmVyT2ZQYWdlcygpOiBudW1iZXI7XG4gIHByb3RlY3RlZCBsYW5ndWFnZTogU2JiTGFuZ3VhZ2VDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgY2hhbmdlQW5kRW1pdFBhZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZW1pdFBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyLCBwYWdlSW5kZXg/OiBudW1iZXIpOiB2b2lkO1xuICBwcm90ZWN0ZWQgcmVuZGVyUHJldk5leHRCdXR0b25zKCk6IFRlbXBsYXRlUmVzdWx0O1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJEaXNhYmxlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihzdXBlckNsYXNzKSkpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJvbGUgPSAnZ3JvdXAnO1xuXG4gICAgLyoqIFRvdGFsIG51bWJlciBvZiBpdGVtcy4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgbGVuZ3RoOiBudW1iZXIgPSAwO1xuXG4gICAgLyoqIE51bWJlciBvZiBpdGVtcyBwZXIgcGFnZS4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlLXNpemUnLCB0eXBlOiBOdW1iZXIgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuXG4gICAgLyoqIEN1cnJlbnQgcGFnZSBpbmRleC4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcblxuICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnMuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZXItcG9zaXRpb24nLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBwYWdlclBvc2l0aW9uOlxuICAgICAgfCAnc3RhcnQnXG4gICAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAgIC8qKlxuICAgICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0gb3Igcy5cbiAgICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ20nIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcGFnZS4gRGVmYXVsdHMgdG8gYHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3NpYmlsaXR5IGxhYmVsIGZvciB0aGUgcHJldmlvdXMgcGFnZS4gRGVmYXVsdHMgdG8gYHByZXZpb3VzIHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktcHJldmlvdXMtcGFnZS1sYWJlbCcgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIHRoZSBuZXh0IHBhZ2UuIERlZmF1bHRzIHRvIGBuZXh0IHBhZ2VgLlxuICAgICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgICAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbmV4dC1wYWdlLWxhYmVsJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgbGV0IHByZXZQYWdlSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsZW5ndGgnKSAmJiB0aGlzLmxlbmd0aCAhPT0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdsZW5ndGgnKSkge1xuICAgICAgICB0aGlzLmxlbmd0aCA9IGlzTmFOKHRoaXMubGVuZ3RoKSB8fCB0aGlzLmxlbmd0aCA8IDAgPyAwIDogdGhpcy5sZW5ndGg7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGUgcGFnZUluZGV4IGNoYW5nZXMsIGl0J3MgYWRkZWQgaW4gdGhlIGNoYW5nZWRQcm9wZXJ0aWVzIG1hcFxuICAgICAgICAgKiBhbmQgaGFuZGxlZCBpbiB0aGUgcGFnZUluZGV4IGxvZ2ljIGJlbG93LCBlbWl0dGluZyB0aGUgcGFnZSBldmVudC5cbiAgICAgICAgICogSWYgdGhlIHBhZ2VJbmRleCBkb2Vzbid0IGNoYW5nZSB0aGVyZSdzIG5vIG5lZWQgdG8gZW1pdC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5fY29lcmNlUGFnZUluZGV4SW5SYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwYWdlU2l6ZScpICYmXG4gICAgICAgIHRoaXMucGFnZVNpemUgIT09IGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgncGFnZVNpemUnKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFnZVNpemUgPSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3BhZ2VTaXplJyk7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBpc05hTih0aGlzLnBhZ2VTaXplKSB8fCB0aGlzLnBhZ2VTaXplIDwgMCA/IDAgOiB0aGlzLnBhZ2VTaXplO1xuICAgICAgICAvLyBDdXJyZW50IHBhZ2UgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBuZXcgcGFnZSBzaXplLlxuICAgICAgICAvLyBOYXZpZ2F0ZSB0byB0aGUgcGFnZSBjb250YWluaW5nIHRoZSBwcmV2aW91cyBwYWdlJ3MgZmlyc3QgaXRlbS5cbiAgICAgICAgaWYgKHByZXZpb3VzUGFnZVNpemUpIHtcbiAgICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IE1hdGguZmxvb3IoKHRoaXMucGFnZUluZGV4ICogcHJldmlvdXNQYWdlU2l6ZSkgLyB0aGlzLnBhZ2VTaXplKSB8fCAwO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGUgcGFnZUluZGV4IGNoYW5nZXMsIGl0J3MgYWRkZWQgaW4gdGhlIGNoYW5nZWRQcm9wZXJ0aWVzIG1hcCxcbiAgICAgICAgICogYW5kIHRoaXMgbGluZSBpcyB1c2VsZXNzLCBzaW5jZSB0aGUgY29ycmVjdCB2YWx1ZSB3aWxsIGJlIGNhbGN1bGF0ZWQgaW4gdGhlIGxvZ2ljIGJlbG93O1xuICAgICAgICAgKiBpZiB0aGUgcGFnZUluZGV4IGRvZXNuJ3QgY2hhbmdlIChlLmcuIGNoYW5nZSBwYWdlU2l6ZSBhdCBwYWdlSW5kZXggMCksIHRoZSBwcmV2UGFnZUluZGV4IGFuZCBwYWdlSW5kZXggYXJlIHRoZSBzYW1lLlxuICAgICAgICAgKiBJbiBib3RoIGNhc2UgdGhlIHBhZ2UgZXZlbnQgbXVzdCBiZSB0cmlnZ2VyZWQgdG8gYWxsb3cgY29uc3VtZXJzIHRvIHJldHJpZXZlIHRoZSBjb3JyZWN0IGRhdGEuXG4gICAgICAgICAqL1xuICAgICAgICBwcmV2UGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwYWdlSW5kZXgnKSAmJlxuICAgICAgICB0aGlzLnBhZ2VJbmRleCAhPT0gY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdwYWdlSW5kZXgnKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5fY29lcmNlUGFnZUluZGV4SW5SYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgICAgIHByZXZQYWdlSW5kZXggPSBjaGFuZ2VkUHJvcGVydGllcy5nZXQoJ3BhZ2VJbmRleCcpITtcbiAgICAgIH1cblxuICAgICAgaWYgKHByZXZQYWdlSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5fZW1pdFByaXZhdGVQYWdlRXZlbnQocHJldlBhZ2VJbmRleCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgLy8gVG8gcmVsaWFibHkgYW5ub3VuY2UgcGFnZSBjaGFuZ2UsIHdlIGhhdmUgdG8gc2V0IHRoZSBsYWJlbCBpbiB1cGRhdGVkKCkgKGEgdGljayBsYXRlciB0aGFuIHRoZSBvdGhlciBjaGFuZ2VzKS5cbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3Rvcignc2JiLXNjcmVlbi1yZWFkZXItb25seSNzdGF0dXMnKSEudGV4dENvbnRlbnQgPVxuICAgICAgICB0aGlzLl9jdXJyZW50UGFnZUxhYmVsKCk7XG4gICAgfVxuXG4gICAgLyoqIEV2YWx1YXRlIGBwYWdlSW5kZXhgIGJ5IGV4Y2x1ZGluZyBlZGdlIGNhc2VzLiAqL1xuICAgIHByaXZhdGUgX2NvZXJjZVBhZ2VJbmRleEluUmFuZ2UocGFnZUluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KFxuICAgICAgICBNYXRoLm1pbihNYXRoLm1heChpc05hTihwYWdlSW5kZXgpID8gMCA6IHBhZ2VJbmRleCwgMCksIHRoaXMubnVtYmVyT2ZQYWdlcygpIC0gMSksXG4gICAgICAgIDAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2N1cnJlbnRQYWdlTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgPyB0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgOiBpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMucGFnZUluZGV4ICsgMX0gJHtpMThuUGFnaW5hdG9yU2VsZWN0ZWRbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0uYDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2hhbmdlQW5kRW1pdFBhZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHByZXZQYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleDtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZUluZGV4O1xuICAgICAgdGhpcy5lbWl0UGFnZUV2ZW50KHByZXZQYWdlSW5kZXgpO1xuICAgIH1cblxuICAgIC8qKiBBZHZhbmNlcyB0byB0aGUgbmV4dCBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4ICsgMTtcbiAgICB9XG5cbiAgICAvKiogTW92ZSBiYWNrIHRvIHRoZSBwcmV2aW91cyBwYWdlIGlmIGl0IGV4aXN0cy4gKi9cbiAgICBwdWJsaWMgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgLyoqIE1vdmUgdG8gdGhlIGZpcnN0IHBhZ2UgaWYgbm90IGFscmVhZHkgdGhlcmUuICovXG4gICAgcHVibGljIGZpcnN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB9XG5cbiAgICAvKiogTW92ZSB0byB0aGUgbGFzdCBwYWdlIGlmIG5vdCBhbHJlYWR5IHRoZXJlLiAqL1xuICAgIHB1YmxpYyBsYXN0UGFnZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5udW1iZXJPZlBhZ2VzKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKiBNb3ZlIHRvIGEgc3BlY2lmaWMgcGFnZSBpbmRleC4gKi9cbiAgICBwdWJsaWMgc2VsZWN0UGFnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IGluZGV4O1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIGEgcHJldmlvdXMgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzUHJldmlvdXNQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMucGFnZUluZGV4ID49IDEgJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGVyZSBpcyBhIG5leHQgcGFnZS4gKi9cbiAgICBwdWJsaWMgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgICBjb25zdCBtYXhQYWdlSW5kZXggPSB0aGlzLm51bWJlck9mUGFnZXMoKSAtIDE7XG4gICAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCBtYXhQYWdlSW5kZXggJiYgdGhpcy5wYWdlU2l6ZSAhPT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBjdXJyZW50IG51bWJlciBvZiBwYWdlcyBiYXNlZCBvbiB0aGUgYGxlbmd0aGAgYW5kIHRoZSBgcGFnZVNpemVgO1xuICAgICAqIHZhbHVlIG11c3QgYmUgcm91bmRlZCB1cCAoZS5nLiBgbGVuZ3RoID0gMjFgIGFuZCBgcGFnZVNpemUgPSAxMGAgbWVhbnMgMyBwYWdlcykuXG4gICAgICovXG4gICAgcHVibGljIG51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2VTaXplID8gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSkgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbWl0UGFnZUV2ZW50KHByZXZpb3VzUGFnZUluZGV4OiBudW1iZXIsIHBhZ2VJbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgICAgLyoqXG4gICAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz59XG4gICAgICAgKiBUaGUgcGFnZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW5ldmVyIHRoZSB1c2VyIGNoYW5nZXMgdGhlIHBhZ2UuXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHM+KCdwYWdlJywge1xuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICBwcmV2aW91c1BhZ2VJbmRleCxcbiAgICAgICAgICAgIHBhZ2VJbmRleDogcGFnZUluZGV4ID8/IHRoaXMucGFnZUluZGV4LFxuICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbWl0UHJpdmF0ZVBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAaW50ZXJuYWxcbiAgICAgICAgICogQHR5cGUge0N1c3RvbUV2ZW50PFNiYlBhZ2luYXRvclBhZ2VFdmVudERldGFpbHM+fVxuICAgICAgICAgKiBUaGUgcGFnZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gdGhlIHBhZ2UgaW5kZXggY2hhbmdlcy5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz4oJ8m1cGFnZScsIHtcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICBwcmV2aW91c1BhZ2VJbmRleCxcbiAgICAgICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VJbmRleCxcbiAgICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxzYmItbWluaS1idXR0b24tZ3JvdXAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX0gc2l6ZT0ke3RoaXMuc2l6ZSA9PT0gJ3MnID8gJ3MnIDogJ2wnfT5cbiAgICAgICAgICA8c2JiLW1pbmktYnV0dG9uXG4gICAgICAgICAgICBpZD1cInNiYi1wYWdpbmF0b3ItcHJldi1wYWdlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlQcmV2aW91c1BhZ2VMYWJlbFxuICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsXG4gICAgICAgICAgICAgIDogaTE4blByZXZpb3VzUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgaWNvbi1uYW1lPVwiY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsXCJcbiAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWQgfHwgIXRoaXMuaGFzUHJldmlvdXNQYWdlKCl9XG4gICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY2hhbmdlQW5kRW1pdFBhZ2UodGhpcy5wYWdlSW5kZXggLSAxKTtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmhhc1ByZXZpb3VzUGFnZSgpICYmXG4gICAgICAgICAgICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJ1xuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdzYmItcGFnaW5hdG9yLW5leHQtcGFnZScpIS5mb2N1cygpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID48L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgICAgICA8c2JiLWRpdmlkZXIgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJzYmItcGFnaW5hdG9yLW5leHQtcGFnZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5hY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbFxuICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eU5leHRQYWdlTGFiZWxcbiAgICAgICAgICAgICAgOiBpMThuTmV4dFBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIlxuICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5oYXNOZXh0UGFnZSgpfVxuICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmNoYW5nZUFuZEVtaXRQYWdlKHRoaXMucGFnZUluZGV4ICsgMSk7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5oYXNOZXh0UGFnZSgpICYmXG4gICAgICAgICAgICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJ1xuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdzYmItcGFnaW5hdG9yLXByZXYtcGFnZScpIS5mb2N1cygpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID48L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgICAgPC9zYmItbWluaS1idXR0b24tZ3JvdXA+XG4gICAgICBgO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgICR7dGhpcy5yZW5kZXJQYWdpbmF0b3IoKX1cbiAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgaWQ9XCJzdGF0dXNcIiByb2xlPVwic3RhdHVzXCI+PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgICAgYDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgcGFnZTogQ3VzdG9tRXZlbnQ8U2JiUGFnaW5hdG9yUGFnZUV2ZW50RGV0YWlscz47XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -1 +1 @@
1
- {"version":3,"file":"compact-paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/compact-paginator/compact-paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AASvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAEM,0BAA2B,SAAQ,+BAA0C;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1C;IAEX,OAAO,CAAC,kBAAkB;cAiBP,eAAe,IAAI,cAAc;CASrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
1
+ {"version":3,"file":"compact-paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/compact-paginator/compact-paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AASvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAEM,0BAA2B,SAAQ,+BAA0C;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1C;IAEX,OAAO,CAAC,kBAAkB;cAiBP,eAAe,IAAI,cAAc;CASrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
@@ -93,11 +93,12 @@ let SbbCompactPaginatorElement = (() => {
93
93
  _classThis = _classDescriptor.value;
94
94
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
95
95
  })(), _a.styles = style, _a.events = {
96
- page: "page"
96
+ page: "page",
97
+ ɵpage: "ɵpage"
97
98
  }, __runInitializers(_classThis, _classExtraInitializers), _a;
98
99
  return _classThis;
99
100
  })();
100
101
  export {
101
102
  SbbCompactPaginatorElement
102
103
  };
103
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcC5qcyc7XG5cbmltcG9ydCB7IGkxOG5QYWdlLCBpMThuUGFnaW5hdG9yT2YgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY29tcGFjdC1wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHBhZ2luYXRvciBjb21wb25lbnQgaW4gY29tcGFjdCBtb2RlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY29tcGFjdC1wYWdpbmF0b3InKVxuY2xhc3MgU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgZXh0ZW5kcyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX3JlbmRlclBhZ2VOdW1iZXJzKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZXNcIiBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+JHt0aGlzLnBhZ2VJbmRleCArIDF9PHNiYi1kaXZpZGVyXG4gICAgICAgICAgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXG4gICAgICAgICAgY2xhc3M9XCJzYmItY29tcGFjdC1wYWdpbmF0b3JfX2RpdmlkZXJcIlxuICAgICAgICAgIHN0eWxlPSR7c3R5bGVNYXAoeyAnLS1zYmItZGl2aWRlci1jb2xvcic6ICdjdXJyZW50Y29sb3InIH0pfVxuICAgICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgID48L3NiYi1kaXZpZGVyXG4gICAgICAgID4ke3RoaXMubnVtYmVyT2ZQYWdlcygpfTwvc3BhblxuICAgICAgPlxuICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICR7YCR7dGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsID8gdGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsIDogaTE4blBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHt0aGlzLnBhZ2VJbmRleCArIDF9ICR7aTE4blBhZ2luYXRvck9mW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19ICR7dGhpcy5udW1iZXJPZlBhZ2VzKCl9YH1cbiAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclBhZ2luYXRvcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNvbXBhY3QtcGFnaW5hdG9yXCI+XG4gICAgICAgICR7dGhpcy5wYWdlclBvc2l0aW9uID09PSAnc3RhcnQnXG4gICAgICAgICAgPyBodG1sYCR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX0gJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfWBcbiAgICAgICAgICA6IGh0bWxgJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfSAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9YH1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jb21wYWN0LXBhZ2luYXRvcic6IFNiYkNvbXBhY3RQYWdpbmF0b3JFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWtCTSw4QkFBMEIsTUFBQTs7MEJBRC9CLGNBQWMsdUJBQXVCLENBQUM7Ozs7b0JBQ0UsK0JBQStCLFVBQVU7QUFBakQsRUFBQSxtQkFBUSxZQUEwQztBQUFBLElBTXpFLHFCQUFrQjtBQUN4QixhQUFPO0FBQUE7QUFBQSxXQUVBLEtBQUssWUFBWSxDQUFDO0FBQUE7QUFBQTtBQUFBLGtCQUdYLFNBQVMsRUFBRSx1QkFBdUIsZ0JBQWdCLENBQUM7QUFBQSxzQkFDL0MsS0FBSyxRQUFRO0FBQUE7QUFBQSxXQUV4QixLQUFLLGVBQWU7QUFBQTtBQUFBO0FBQUEsVUFHckIsR0FBRyxLQUFLLHlCQUF5QixLQUFLLHlCQUF5QixTQUFTLEtBQUssU0FBUyxPQUFPLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxJQUFJLGdCQUFnQixLQUFLLFNBQVMsT0FBTyxDQUFDLElBQUksS0FBSyxjQUFBLENBQWUsRUFBRTtBQUFBO0FBQUE7QUFBQSxJQUdoTTtBQUFBLElBRW1CLGtCQUFlO0FBQ2hDLGFBQU87QUFBQTtBQUFBLFVBRUQsS0FBSyxrQkFBa0IsVUFDckIsT0FBTyxLQUFLLHVCQUF1QixJQUFJLEtBQUssbUJBQUEsQ0FBb0IsS0FDaEUsT0FBTyxLQUFLLG1CQUFBLENBQW9CLElBQUksS0FBSyxzQkFBQSxDQUF1QixFQUFFO0FBQUE7QUFBQTtBQUFBLElBRzVFO0FBQUE7O0FBL0JGLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixPQUN6QixHQUFBLFNBQWlDO0FBQUEsSUFDdEQsTUFBTTtBQUFBLEVBQUEsR0FISixrQkFBQSxZQUFBLHVCQUFBLEdBQTJCOzs7In0=
104
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcC5qcyc7XG5cbmltcG9ydCB7IGkxOG5QYWdlLCBpMThuUGFnaW5hdG9yT2YgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY29tcGFjdC1wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9kaXZpZGVyLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHBhZ2luYXRvciBjb21wb25lbnQgaW4gY29tcGFjdCBtb2RlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY29tcGFjdC1wYWdpbmF0b3InKVxuY2xhc3MgU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgZXh0ZW5kcyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICAgIMm1cGFnZTogJ8m1cGFnZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID4ke3RoaXMucGFnZUluZGV4ICsgMX08c2JiLWRpdmlkZXJcbiAgICAgICAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1jb21wYWN0LXBhZ2luYXRvcl9fZGl2aWRlclwiXG4gICAgICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7ICctLXNiYi1kaXZpZGVyLWNvbG9yJzogJ2N1cnJlbnRjb2xvcicgfSl9XG4gICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgPjwvc2JiLWRpdmlkZXJcbiAgICAgICAgPiR7dGhpcy5udW1iZXJPZlBhZ2VzKCl9PC9zcGFuXG4gICAgICA+XG4gICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgJHtgJHt0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgPyB0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgOiBpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMucGFnZUluZGV4ICsgMX0gJHtpMThuUGFnaW5hdG9yT2ZbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHt0aGlzLm51bWJlck9mUGFnZXMoKX1gfVxuICAgICAgPC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY29tcGFjdC1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHt0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICA/IGh0bWxgJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfSAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9YFxuICAgICAgICAgIDogaHRtbGAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9ICR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX1gfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNvbXBhY3QtcGFnaW5hdG9yJzogU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBa0JNLDhCQUEwQixNQUFBOzswQkFEL0IsY0FBYyx1QkFBdUIsQ0FBQzs7OztvQkFDRSwrQkFBK0IsVUFBVTtBQUFqRCxFQUFBLG1CQUFRLFlBQTBDO0FBQUEsSUFPekUscUJBQWtCO0FBQ3hCLGFBQU87QUFBQTtBQUFBLFdBRUEsS0FBSyxZQUFZLENBQUM7QUFBQTtBQUFBO0FBQUEsa0JBR1gsU0FBUyxFQUFFLHVCQUF1QixnQkFBZ0IsQ0FBQztBQUFBLHNCQUMvQyxLQUFLLFFBQVE7QUFBQTtBQUFBLFdBRXhCLEtBQUssZUFBZTtBQUFBO0FBQUE7QUFBQSxVQUdyQixHQUFHLEtBQUsseUJBQXlCLEtBQUsseUJBQXlCLFNBQVMsS0FBSyxTQUFTLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUksZ0JBQWdCLEtBQUssU0FBUyxPQUFPLENBQUMsSUFBSSxLQUFLLGNBQUEsQ0FBZSxFQUFFO0FBQUE7QUFBQTtBQUFBLElBR2hNO0FBQUEsSUFFbUIsa0JBQWU7QUFDaEMsYUFBTztBQUFBO0FBQUEsVUFFRCxLQUFLLGtCQUFrQixVQUNyQixPQUFPLEtBQUssdUJBQXVCLElBQUksS0FBSyxtQkFBQSxDQUFvQixLQUNoRSxPQUFPLEtBQUssbUJBQUEsQ0FBb0IsSUFBSSxLQUFLLHNCQUFBLENBQXVCLEVBQUU7QUFBQTtBQUFBO0FBQUEsSUFHNUU7QUFBQTs7QUFoQ0YsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUN5QixHQUFBLFNBQXlCLE9BQ3pCLEdBQUEsU0FBaUM7QUFBQSxJQUN0RCxNQUFNO0FBQUEsSUFDTixPQUFPO0FBQUEsRUFBQSxHQUpMLGtCQUFBLFlBQUEsdUJBQUEsR0FBMkI7OzsifQ==
@@ -32,6 +32,12 @@ export declare class SbbPaginatorElement extends SbbPaginatorElement_base {
32
32
  /** Creates an array of consecutive numbers given the length and the starting value. */
33
33
  private _range;
34
34
  private _handleKeyUp;
35
+ /**
36
+ * A `pageSize` change would trigger a `pageIndex` change via `willUpdate`;
37
+ * this triggers a `ɵpage` event, but it's late for the `page` event,
38
+ * so the checks on the `pageIndex` changes are done here, and possibly the event is emitted.
39
+ */
40
+ private _setPageSizeFromSizeOptionsSelect;
35
41
  private _renderItemPerPageTemplate;
36
42
  private _renderPageNumbers;
37
43
  protected renderPaginator(): TemplateResult;
@@ -1 +1 @@
1
- {"version":3,"file":"paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/paginator/paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;;AAIrC;;GAEG;AACH,qBAEM,mBAAoB,SAAQ,wBAA0C;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1C;IAEX,wCAAwC;IACxC,SACgB,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/C;;;OAGG;IACH,SAAmF,aAAa,EAC5F,OAAO,GACP,KAAK,CAAW;IAEpB;;;OAGG;IACH,SAEgB,8BAA8B,EAAE,MAAM,CAAM;IAE5D,OAAO,CAAC,aAAa,CAAuB;cAEzB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAezE,2CAA2C;IAC3C,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,uFAAuF;IACvF,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,0BAA0B;IAkClC,OAAO,CAAC,kBAAkB;cAmCP,eAAe,IAAI,cAAc;CAiBrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,mBAAmB,CAAC;KACtC;CACF"}
1
+ {"version":3,"file":"paginator.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/paginator/paginator/paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;;AAIrC;;GAEG;AACH,qBAEM,mBAAoB,SAAQ,wBAA0C;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1C;IAEX,wCAAwC;IACxC,SACgB,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/C;;;OAGG;IACH,SAAmF,aAAa,EAC5F,OAAO,GACP,KAAK,CAAW;IAEpB;;;OAGG;IACH,SAEgB,8BAA8B,EAAE,MAAM,CAAM;IAE5D,OAAO,CAAC,aAAa,CAAuB;cAEzB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAezE,2CAA2C;IAC3C,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,uFAAuF;IACvF,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAUzC,OAAO,CAAC,0BAA0B;IAoClC,OAAO,CAAC,kBAAkB;cAmCP,eAAe,IAAI,cAAc;CAiBrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,mBAAmB,CAAC;KACtC;CACF"}
@@ -371,6 +371,20 @@ let SbbPaginatorElement = (() => {
371
371
  this._markForFocus = this.pageIndex;
372
372
  }
373
373
  }
374
+ /**
375
+ * A `pageSize` change would trigger a `pageIndex` change via `willUpdate`;
376
+ * this triggers a `ɵpage` event, but it's late for the `page` event,
377
+ * so the checks on the `pageIndex` changes are done here, and possibly the event is emitted.
378
+ */
379
+ _setPageSizeFromSizeOptionsSelect(value) {
380
+ const previousPageSize = this.pageSize;
381
+ const currentPageIndex = this.pageIndex;
382
+ this.pageSize = value;
383
+ const newPageIndex = Math.floor(this.pageIndex * previousPageSize / this.pageSize) || 0;
384
+ if (currentPageIndex !== newPageIndex) {
385
+ this.emitPageEvent(currentPageIndex, newPageIndex);
386
+ }
387
+ }
374
388
  _renderItemPerPageTemplate() {
375
389
  return this.pageSizeOptions && this.pageSizeOptions.length > 0 ? html`
376
390
  <div class="sbb-paginator__page-size-options">
@@ -387,7 +401,7 @@ let SbbPaginatorElement = (() => {
387
401
  id="select"
388
402
  ?disabled=${this.disabled}
389
403
  value=${this.pageSizeOptions?.find((e) => e === this.pageSize) ?? this.pageSizeOptions[0]}
390
- @change=${(e) => this.pageSize = +e.target.value}
404
+ @change=${(e) => this._setPageSizeFromSizeOptionsSelect(+e.target.value)}
391
405
  >
392
406
  ${repeat(this.pageSizeOptions, (element) => html`<sbb-option value=${element}>${element}</sbb-option>`)}
393
407
  </sbb-select>
@@ -411,7 +425,7 @@ let SbbPaginatorElement = (() => {
411
425
  data-index=${item}
412
426
  aria-label="${this.accessibilityPageLabel ? this.accessibilityPageLabel : i18nPage[this.language.current]} ${item + 1}"
413
427
  aria-current=${this.pageIndex === item ? "true" : nothing}
414
- @click=${() => this.pageIndex = item}
428
+ @click=${() => this.changeAndEmitPage(item)}
415
429
  @keyup=${this._handleKeyUp}
416
430
  >
417
431
  <span class="sbb-paginator__page--number-item-label">${item + 1}</span>
@@ -452,11 +466,12 @@ let SbbPaginatorElement = (() => {
452
466
  _classThis = _classDescriptor.value;
453
467
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
454
468
  })(), _a.styles = style, _a.events = {
455
- page: "page"
469
+ page: "page",
470
+ ɵpage: "ɵpage"
456
471
  }, __runInitializers(_classThis, _classExtraInitializers), _a;
457
472
  return _classThis;
458
473
  })();
459
474
  export {
460
475
  SbbPaginatorElement
461
476
  };
462
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQuanMnO1xuXG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5JdGVtc1BlclBhZ2UsIGkxOG5QYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU2VsZWN0RWxlbWVudCB9IGZyb20gJy4uLy4uL3NlbGVjdC5qcyc7XG5pbXBvcnQgeyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9mb3JtLWZpZWxkLmpzJztcbmltcG9ydCAnLi4vLi4vc2VsZWN0LmpzJztcbmltcG9ydCAnLi4vLi4vb3B0aW9uLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuY29uc3QgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgPSAzO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcGFnaW5hdG9yIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXBhZ2luYXRvcicpXG5jbGFzcyBTYmJQYWdpbmF0b3JFbGVtZW50IGV4dGVuZHMgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIHBhZ2U6ICdwYWdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVGhlIGF2YWlsYWJsZSBgcGFnZVNpemVgIGNob2ljZXMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2Utc2l6ZS1vcHRpb25zJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBbXTtcblxuICAvKipcbiAgICogUG9zaXRpb24gb2YgdGhlIHByZXYvbmV4dCBidXR0b25zOiBpZiBgcGFnZVNpemVPcHRpb25zYCBpcyBzZXQsXG4gICAqIHRoZSBzYmItc2VsZWN0IGZvciB0aGUgcGFnZVNpemUgY2hhbmdlIHdpbGwgYmUgcG9zaXRpb25lZCBvcHBvc2l0ZWx5LCB3aXRoIHRoZSBwYWdlIG51bWJlcnMgYWx3YXlzIGluIHRoZSBjZW50ZXIuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwYWdlci1wb3NpdGlvbicsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIG92ZXJyaWRlIGFjY2Vzc29yIHBhZ2VyUG9zaXRpb246XG4gICAgfCAnc3RhcnQnXG4gICAgfCAnZW5kJyA9ICdzdGFydCc7XG5cbiAgLyoqXG4gICAqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIHRoZSBpdGVtcyBwZXIgcGFnZS4gRGVmYXVsdHMgdG8gYEl0ZW1zIHBlciBwYWdlLmAuXG4gICAqIENhbiBiZSBzZXQgZm9yIGNhc2VzIGxpa2UgYSBjYXJvdXNlbCwgd2hlcmUgYHNsaWRlYCBvciBgaW1hZ2VgIGZpdHMgYmV0dGVyLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktaXRlbXMtcGVyLXBhZ2UtbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX21hcmtGb3JGb2N1czogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvKiogVGFiIG5hdmlnYXRpb24gY2FuIGZvcmNlIGEgcmVyZW5kZXIgd2hlbiBlbGxpcHNpcyBlbGVtZW50cyBuZWVkIHRvIGJlIGRpc3BsYXllZDsgdGhlIGZvY3VzIG11c3Qgc3RheSBvbiB0aGUgY29ycmVjdCBlbGVtZW50LiAqL1xuICAgIGlmICh0aGlzLl9tYXJrRm9yRm9jdXMgJiYgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgY29uc3QgZm9jdXNFbGVtZW50ID0gdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzKCkuZmluZChcbiAgICAgICAgKGUpID0+IHRoaXMucGFnZUluZGV4ID09PSArZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5kZXgnKSEsXG4gICAgICApO1xuICAgICAgaWYgKGZvY3VzRWxlbWVudCkge1xuICAgICAgICAoZm9jdXNFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgICAgfVxuICAgICAgLy8gUmVzZXQgbWFyayBmb3IgZm9jdXNcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IG51bGw7XG4gICAgfVxuICB9XG4gIC8qKiBSZXR1cm5zIHRoZSBkaXNwbGF5ZWQgcGFnZSBlbGVtZW50cy4gKi9cbiAgcHJpdmF0ZSBfZ2V0VmlzaWJsZVBhZ2VzKCk6IEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yQWxsKCcuc2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW0nKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIHRoZSBwYWdlcyBzZXQgYmFzZWQgb24gdGhlIGZvbGxvd2luZyBydWxlczpcbiAgICogIC0gdGhlIGZpcnN0IHBhZ2UgbXVzdCBhbHdheXMgYmUgdmlzaWJsZTtcbiAgICogIC0gdGhlIGxhc3QgcGFnZSBtdXN0IGFsd2F5cyBiZSB2aXNpYmxlO1xuICAgKiAgLSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIGBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRGAgb3RoZXIgcGFnZXMsIGVsbGlwc2lzIGJ1dHRvbiBtdXN0IGJlIHVzZWQuXG4gICAqL1xuICBwcml2YXRlIF9nZXRWaXNpYmxlUGFnZXNJbmRleCgpOiAobnVtYmVyIHwgJ2VsbGlwc2lzJylbXSB7XG4gICAgY29uc3QgdG90YWxQYWdlczogbnVtYmVyID0gdGhpcy5udW1iZXJPZlBhZ2VzKCk7XG4gICAgY29uc3QgY3VycmVudFBhZ2VJbmRleDogbnVtYmVyID0gdGhpcy5wYWdlSW5kZXg7XG5cbiAgICBpZiAodG90YWxQYWdlcyA8PSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9yYW5nZSh0b3RhbFBhZ2VzKTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlSW5kZXggPCBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFsuLi50aGlzLl9yYW5nZShNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDEpLCAnZWxsaXBzaXMnLCB0b3RhbFBhZ2VzIC0gMV07XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZUluZGV4ID49IHRvdGFsUGFnZXMgLSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgMCxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgLi4udGhpcy5fcmFuZ2UoTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAxLCB0b3RhbFBhZ2VzIC0gMSAtIE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSxcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIDAsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXggLSAxLFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4LFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4ICsgMSxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgdG90YWxQYWdlcyAtIDEsXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGFuIGFycmF5IG9mIGNvbnNlY3V0aXZlIG51bWJlcnMgZ2l2ZW4gdGhlIGxlbmd0aCBhbmQgdGhlIHN0YXJ0aW5nIHZhbHVlLiAqL1xuICBwcml2YXRlIF9yYW5nZShsZW5ndGg6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIgPSAwKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sIChfLCBrKSA9PiBrICsgb2Zmc2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSAhPT0gJyAnICYmIGV2ZW50LmtleSAhPT0gJ0VudGVyJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9nZXRWaXNpYmxlUGFnZXMoKS5maW5kKChlOiBFbGVtZW50KSA9PiBlID09PSBldmVudC50YXJnZXQpO1xuICAgIGlmIChjdXJyZW50KSB7XG4gICAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSB0aGlzLnBhZ2VJbmRleDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiB0aGlzLnBhZ2VTaXplT3B0aW9ucyAmJiB0aGlzLnBhZ2VTaXplT3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICA/IGh0bWxgXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2Utc2l6ZS1vcHRpb25zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgPiR7dGhpcy5hY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eUl0ZW1zUGVyUGFnZUxhYmVsXG4gICAgICAgICAgICAgICAgOiBpMThuSXRlbXNQZXJQYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19PC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHNiYi1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgIGJvcmRlcmxlc3NcbiAgICAgICAgICAgICAgd2lkdGg9XCJjb2xsYXBzZVwiXG4gICAgICAgICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzYmItc2VsZWN0XG4gICAgICAgICAgICAgICAgaWQ9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgdmFsdWU9JHt0aGlzLnBhZ2VTaXplT3B0aW9ucz8uZmluZCgoZSkgPT4gZSA9PT0gdGhpcy5wYWdlU2l6ZSkgPz9cbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucyFbMF19XG4gICAgICAgICAgICAgICAgQGNoYW5nZT0keyhlOiBFdmVudCkgPT5cbiAgICAgICAgICAgICAgICAgICh0aGlzLnBhZ2VTaXplID0gKygoZS50YXJnZXQgYXMgU2JiU2VsZWN0RWxlbWVudCkudmFsdWUgYXMgc3RyaW5nKSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAke3JlcGVhdChcbiAgICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zISxcbiAgICAgICAgICAgICAgICAgIChlbGVtZW50KSA9PiBodG1sYDxzYmItb3B0aW9uIHZhbHVlPSR7ZWxlbWVudH0+JHtlbGVtZW50fTwvc2JiLW9wdGlvbj5gLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvc2JiLXNlbGVjdD5cbiAgICAgICAgICAgIDwvc2JiLWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIGBcbiAgICAgIDogbm90aGluZztcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlclBhZ2VOdW1iZXJzKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDx1bCBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2VzXCI+XG4gICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgIHRoaXMuX2dldFZpc2libGVQYWdlc0luZGV4KCksXG4gICAgICAgICAgKGl0ZW06IG51bWJlciB8ICdlbGxpcHNpcycpOiBUZW1wbGF0ZVJlc3VsdCA9PlxuICAgICAgICAgICAgaXRlbSA9PT0gJ2VsbGlwc2lzJ1xuICAgICAgICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1lbGxpcHNpc1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzLWl0ZW1cIj7igKY8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIGBcbiAgICAgICAgICAgICAgOiBodG1sYFxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICA/ZGF0YS1zZWxlY3RlZD0ke3RoaXMucGFnZUluZGV4ID09PSBpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS1pbmRleD0ke2l0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIiR7dGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke2l0ZW0gKyAxfVwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW0gPyAndHJ1ZScgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpID0+ICh0aGlzLnBhZ2VJbmRleCA9IGl0ZW0pfVxuICAgICAgICAgICAgICAgICAgICAgIEBrZXl1cD0ke3RoaXMuX2hhbmRsZUtleVVwfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbS1sYWJlbFwiPiR7aXRlbSArIDF9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYCxcbiAgICAgICAgKX1cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHtcbiAgICAgICAgICB0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9ICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9YFxuICAgICAgICAgICAgOiBodG1sYCR7dGhpcy5fcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX0gJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgIH08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGFnaW5hdG9yJzogU2JiUGFnaW5hdG9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0JBLE1BQU0sNkJBQTZCO0lBTzdCLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxlQUFlLENBQUM7Ozs7b0JBQ0csK0JBQStCLFVBQVU7Ozs7Ozs7Ozs7QUFBakQsRUFBQSxtQkFBUSxZQUEwQztBQUFBOztBQVExRTtBQU0wRDtBQVUxRDtBQWhCZ0IseUJBQUEsbUNBQUEsa0JBQUEsTUFBQSwrQkFBNEIsQ0FBQSxDQUFFO0FBTXFDLHlCQUFBLGtDQUFBLGtCQUFBLE1BQUEsa0NBQUEsR0FBQSxrQkFBQSxNQUFBLDZCQUV2RSxPQUFPO0FBUUgseUJBQUEsbURBQUEsa0JBQUEsTUFBQSxnQ0FBQSxHQUFBLGtCQUFBLE1BQUEsOENBQXlDLEVBQUU7QUFFbkQsV0FBQSxpQkFBYSxrQkFBQSxNQUFBLGlEQUFBLEdBQWtCO0FBQUEsSUE2SnpDO0FBQUE7QUFBQSxJQS9LRSxJQUFnQixrQkFBZTtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBL0IsSUFBZ0IsZ0JBQWUsT0FBQTtBQUFBLHlCQUFBLG1DQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtB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
477
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICBub3RoaW5nLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQuanMnO1xuXG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGkxOG5JdGVtc1BlclBhZ2UsIGkxOG5QYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiU2VsZWN0RWxlbWVudCB9IGZyb20gJy4uLy4uL3NlbGVjdC5qcyc7XG5pbXBvcnQgeyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wYWdpbmF0b3Iuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9mb3JtLWZpZWxkLmpzJztcbmltcG9ydCAnLi4vLi4vc2VsZWN0LmpzJztcbmltcG9ydCAnLi4vLi4vb3B0aW9uLmpzJztcbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuY29uc3QgTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgPSAzO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcGFnaW5hdG9yIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXBhZ2luYXRvcicpXG5jbGFzcyBTYmJQYWdpbmF0b3JFbGVtZW50IGV4dGVuZHMgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIHBhZ2U6ICdwYWdlJyxcbiAgICDJtXBhZ2U6ICfJtXBhZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgYXZhaWxhYmxlIGBwYWdlU2l6ZWAgY2hvaWNlcy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplLW9wdGlvbnMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnM6IGlmIGBwYWdlU2l6ZU9wdGlvbnNgIGlzIHNldCxcbiAgICogdGhlIHNiYi1zZWxlY3QgZm9yIHRoZSBwYWdlU2l6ZSBjaGFuZ2Ugd2lsbCBiZSBwb3NpdGlvbmVkIG9wcG9zaXRlbHksIHdpdGggdGhlIHBhZ2UgbnVtYmVycyBhbHdheXMgaW4gdGhlIGNlbnRlci5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2VyLXBvc2l0aW9uJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgb3ZlcnJpZGUgYWNjZXNzb3IgcGFnZXJQb3NpdGlvbjpcbiAgICB8ICdzdGFydCdcbiAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAvKipcbiAgICogQWNjZXNzaWJpbGl0eSBsYWJlbCBmb3IgdGhlIGl0ZW1zIHBlciBwYWdlLiBEZWZhdWx0cyB0byBgSXRlbXMgcGVyIHBhZ2UuYC5cbiAgICogQ2FuIGJlIHNldCBmb3IgY2FzZXMgbGlrZSBhIGNhcm91c2VsLCB3aGVyZSBgc2xpZGVgIG9yIGBpbWFnZWAgZml0cyBiZXR0ZXIuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1pdGVtcy1wZXItcGFnZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlJdGVtc1BlclBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfbWFya0ZvckZvY3VzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8qKiBUYWIgbmF2aWdhdGlvbiBjYW4gZm9yY2UgYSByZXJlbmRlciB3aGVuIGVsbGlwc2lzIGVsZW1lbnRzIG5lZWQgdG8gYmUgZGlzcGxheWVkOyB0aGUgZm9jdXMgbXVzdCBzdGF5IG9uIHRoZSBjb3JyZWN0IGVsZW1lbnQuICovXG4gICAgaWYgKHRoaXMuX21hcmtGb3JGb2N1cyAmJiBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICBjb25zdCBmb2N1c0VsZW1lbnQgPSB0aGlzLl9nZXRWaXNpYmxlUGFnZXMoKS5maW5kKFxuICAgICAgICAoZSkgPT4gdGhpcy5wYWdlSW5kZXggPT09ICtlLmdldEF0dHJpYnV0ZSgnZGF0YS1pbmRleCcpISxcbiAgICAgICk7XG4gICAgICBpZiAoZm9jdXNFbGVtZW50KSB7XG4gICAgICAgIChmb2N1c0VsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgICB9XG4gICAgICAvLyBSZXNldCBtYXJrIGZvciBmb2N1c1xuICAgICAgdGhpcy5fbWFya0ZvckZvY3VzID0gbnVsbDtcbiAgICB9XG4gIH1cbiAgLyoqIFJldHVybnMgdGhlIGRpc3BsYXllZCBwYWdlIGVsZW1lbnRzLiAqL1xuICBwcml2YXRlIF9nZXRWaXNpYmxlUGFnZXMoKTogRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbScpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdGhlIHBhZ2VzIHNldCBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIHJ1bGVzOlxuICAgKiAgLSB0aGUgZmlyc3QgcGFnZSBtdXN0IGFsd2F5cyBiZSB2aXNpYmxlO1xuICAgKiAgLSB0aGUgbGFzdCBwYWdlIG11c3QgYWx3YXlzIGJlIHZpc2libGU7XG4gICAqICAtIGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gYE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEYCBvdGhlciBwYWdlcywgZWxsaXBzaXMgYnV0dG9uIG11c3QgYmUgdXNlZC5cbiAgICovXG4gIHByaXZhdGUgX2dldFZpc2libGVQYWdlc0luZGV4KCk6IChudW1iZXIgfCAnZWxsaXBzaXMnKVtdIHtcbiAgICBjb25zdCB0b3RhbFBhZ2VzOiBudW1iZXIgPSB0aGlzLm51bWJlck9mUGFnZXMoKTtcbiAgICBjb25zdCBjdXJyZW50UGFnZUluZGV4OiBudW1iZXIgPSB0aGlzLnBhZ2VJbmRleDtcblxuICAgIGlmICh0b3RhbFBhZ2VzIDw9IE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMikge1xuICAgICAgcmV0dXJuIHRoaXMuX3JhbmdlKHRvdGFsUGFnZXMpO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFBhZ2VJbmRleCA8IE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSB7XG4gICAgICByZXR1cm4gWy4uLnRoaXMuX3JhbmdlKE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEICsgMSksICdlbGxpcHNpcycsIHRvdGFsUGFnZXMgLSAxXTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlSW5kZXggPj0gdG90YWxQYWdlcyAtIE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAwLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICAuLi50aGlzLl9yYW5nZShNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDEsIHRvdGFsUGFnZXMgLSAxIC0gTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQpLFxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgMCxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgY3VycmVudFBhZ2VJbmRleCAtIDEsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXgsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXggKyAxLFxuICAgICAgICAnZWxsaXBzaXMnLFxuICAgICAgICB0b3RhbFBhZ2VzIC0gMSxcbiAgICAgIF07XG4gICAgfVxuICB9XG5cbiAgLyoqIENyZWF0ZXMgYW4gYXJyYXkgb2YgY29uc2VjdXRpdmUgbnVtYmVycyBnaXZlbiB0aGUgbGVuZ3RoIGFuZCB0aGUgc3RhcnRpbmcgdmFsdWUuICovXG4gIHByaXZhdGUgX3JhbmdlKGxlbmd0aDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlciA9IDApOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSwgKF8sIGspID0+IGsgKyBvZmZzZXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnICcgJiYgZXZlbnQua2V5ICE9PSAnRW50ZXInKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX2dldFZpc2libGVQYWdlcygpLmZpbmQoKGU6IEVsZW1lbnQpID0+IGUgPT09IGV2ZW50LnRhcmdldCk7XG4gICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IHRoaXMucGFnZUluZGV4O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBIGBwYWdlU2l6ZWAgY2hhbmdlIHdvdWxkIHRyaWdnZXIgYSBgcGFnZUluZGV4YCBjaGFuZ2UgdmlhIGB3aWxsVXBkYXRlYDtcbiAgICogdGhpcyB0cmlnZ2VycyBhIGDJtXBhZ2VgIGV2ZW50LCBidXQgaXQncyBsYXRlIGZvciB0aGUgYHBhZ2VgIGV2ZW50LFxuICAgKiBzbyB0aGUgY2hlY2tzIG9uIHRoZSBgcGFnZUluZGV4YCBjaGFuZ2VzIGFyZSBkb25lIGhlcmUsIGFuZCBwb3NzaWJseSB0aGUgZXZlbnQgaXMgZW1pdHRlZC5cbiAgICovXG4gIHByaXZhdGUgX3NldFBhZ2VTaXplRnJvbVNpemVPcHRpb25zU2VsZWN0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91c1BhZ2VTaXplID0gdGhpcy5wYWdlU2l6ZTtcbiAgICBjb25zdCBjdXJyZW50UGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IHZhbHVlO1xuICAgIGNvbnN0IG5ld1BhZ2VJbmRleCA9IE1hdGguZmxvb3IoKHRoaXMucGFnZUluZGV4ICogcHJldmlvdXNQYWdlU2l6ZSkgLyB0aGlzLnBhZ2VTaXplKSB8fCAwO1xuICAgIGlmIChjdXJyZW50UGFnZUluZGV4ICE9PSBuZXdQYWdlSW5kZXgpIHtcbiAgICAgIHRoaXMuZW1pdFBhZ2VFdmVudChjdXJyZW50UGFnZUluZGV4LCBuZXdQYWdlSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckl0ZW1QZXJQYWdlVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQgfCB0eXBlb2Ygbm90aGluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFnZVNpemVPcHRpb25zICYmIHRoaXMucGFnZVNpemVPcHRpb25zLmxlbmd0aCA+IDBcbiAgICAgID8gaHRtbGBcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS1zaXplLW9wdGlvbnNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICA+JHt0aGlzLmFjY2Vzc2liaWxpdHlJdGVtc1BlclBhZ2VMYWJlbFxuICAgICAgICAgICAgICAgID8gdGhpcy5hY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICA6IGkxOG5JdGVtc1BlclBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX08L2xhYmVsXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8c2JiLWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICAgICAgICB3aWR0aD1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgICAgICAgc2l6ZT0ke3RoaXMuc2l6ZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNiYi1zZWxlY3RcbiAgICAgICAgICAgICAgICBpZD1cInNlbGVjdFwiXG4gICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICB2YWx1ZT0ke3RoaXMucGFnZVNpemVPcHRpb25zPy5maW5kKChlKSA9PiBlID09PSB0aGlzLnBhZ2VTaXplKSA/P1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zIVswXX1cbiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7KGU6IEV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0UGFnZVNpemVGcm9tU2l6ZU9wdGlvbnNTZWxlY3QoXG4gICAgICAgICAgICAgICAgICAgICsoKGUudGFyZ2V0IGFzIFNiYlNlbGVjdEVsZW1lbnQpLnZhbHVlIGFzIHN0cmluZyksXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgJHtyZXBlYXQoXG4gICAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucyEsXG4gICAgICAgICAgICAgICAgICAoZWxlbWVudCkgPT4gaHRtbGA8c2JiLW9wdGlvbiB2YWx1ZT0ke2VsZW1lbnR9PiR7ZWxlbWVudH08L3NiYi1vcHRpb24+YCxcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L3NiYi1zZWxlY3Q+XG4gICAgICAgICAgICA8L3NiYi1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICBgXG4gICAgICA6IG5vdGhpbmc7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJQYWdlTnVtYmVycygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8dWwgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlc1wiPlxuICAgICAgICAke3JlcGVhdChcbiAgICAgICAgICB0aGlzLl9nZXRWaXNpYmxlUGFnZXNJbmRleCgpLFxuICAgICAgICAgIChpdGVtOiBudW1iZXIgfCAnZWxsaXBzaXMnKTogVGVtcGxhdGVSZXN1bHQgPT5cbiAgICAgICAgICAgIGl0ZW0gPT09ICdlbGxpcHNpcydcbiAgICAgICAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1lbGxpcHNpcy1pdGVtXCI+4oCmPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICBgXG4gICAgICAgICAgICAgIDogaHRtbGBcbiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgP2RhdGEtc2VsZWN0ZWQ9JHt0aGlzLnBhZ2VJbmRleCA9PT0gaXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaW5kZXg9JHtpdGVtfVxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCIke3RoaXMuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaTE4blBhZ2VbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHtpdGVtICsgMX1cIlxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD0ke3RoaXMucGFnZUluZGV4ID09PSBpdGVtID8gJ3RydWUnIDogbm90aGluZ31cbiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLmNoYW5nZUFuZEVtaXRQYWdlKGl0ZW0pfVxuICAgICAgICAgICAgICAgICAgICAgIEBrZXl1cD0ke3RoaXMuX2hhbmRsZUtleVVwfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbS1sYWJlbFwiPiR7aXRlbSArIDF9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYCxcbiAgICAgICAgKX1cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJQYWdpbmF0b3IoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JcIj5cbiAgICAgICAgJHtcbiAgICAgICAgICB0aGlzLnBhZ2VyUG9zaXRpb24gPT09ICdzdGFydCdcbiAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9ICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9YFxuICAgICAgICAgICAgOiBodG1sYCR7dGhpcy5fcmVuZGVySXRlbVBlclBhZ2VUZW1wbGF0ZSgpfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX0gJHt0aGlzLnJlbmRlclByZXZOZXh0QnV0dG9ucygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgIH08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGFnaW5hdG9yJzogU2JiUGFnaW5hdG9yRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpb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
@@ -1,13 +1,16 @@
1
1
  import { CSSResultGroup, TemplateResult } from 'lit';
2
2
  import { SbbButtonBaseElement } from '../../core/base-elements.js';
3
+ import { SbbTooltipDefaultPositions } from '../../tooltip.js';
3
4
  declare const SbbIconSidebarButtonElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & typeof SbbButtonBaseElement;
4
5
  /**
5
6
  * Button to be placed inside `sbb-icon-sidebar`.
6
7
  *
7
8
  * @slot icon - Slot used to display the icon.
8
9
  */
9
- export declare class SbbIconSidebarButtonElement extends SbbIconSidebarButtonElement_base {
10
+ export declare class SbbIconSidebarButtonElement extends SbbIconSidebarButtonElement_base implements SbbTooltipDefaultPositions {
10
11
  static styles: CSSResultGroup;
12
+ /** @internal */
13
+ readonly tooltipPositions: string[];
11
14
  protected renderTemplate(): TemplateResult;
12
15
  }
13
16
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"icon-sidebar-button.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/sidebar/icon-sidebar-button/icon-sidebar-button.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;;AAInE;;;;GAIG;AACH,qBAEM,2BAA4B,SAAQ,gCAAsC;IAC9E,OAAuB,MAAM,EAAE,cAAc,CAAgC;cAE1D,cAAc,IAAI,cAAc;CAGpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,yBAAyB,EAAE,2BAA2B,CAAC;KACxD;CACF"}
1
+ {"version":3,"file":"icon-sidebar-button.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/sidebar/icon-sidebar-button/icon-sidebar-button.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;;AAGnE;;;;GAIG;AACH,qBAEM,2BACJ,SAAQ,gCACR,YAAW,0BAA0B;IAErC,OAAuB,MAAM,EAAE,cAAc,CAAgC;IAC7E,gBAAgB;IAChB,SAAgB,gBAAgB,WAAkC;cAE/C,cAAc,IAAI,cAAc;CAGpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,yBAAyB,EAAE,2BAA2B,CAAC;KACxD;CACF"}
@@ -11,6 +11,10 @@ let SbbIconSidebarButtonElement = (() => {
11
11
  let _classThis;
12
12
  let _classSuper = SbbIconNameMixin(SbbButtonBaseElement);
13
13
  _a = class extends _classSuper {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.tooltipPositions = ["inline-end", "inline-start"];
17
+ }
14
18
  renderTemplate() {
15
19
  return super.renderIconSlot();
16
20
  }
@@ -25,4 +29,4 @@ let SbbIconSidebarButtonElement = (() => {
25
29
  export {
26
30
  SbbIconSidebarButtonElement
27
31
  };
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zaWRlYmFyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9zaWRlYmFyL2ljb24tc2lkZWJhci1idXR0b24vaWNvbi1zaWRlYmFyLWJ1dHRvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuaW1wb3J0IHsgaWNvblNpZGViYXJCdXR0b25Db21tb25TdHlsZSB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbi8qKlxuICogQnV0dG9uIHRvIGJlIHBsYWNlZCBpbnNpZGUgYHNiYi1pY29uLXNpZGViYXJgLlxuICpcbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbi5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWljb24tc2lkZWJhci1idXR0b24nKVxuY2xhc3MgU2JiSWNvblNpZGViYXJCdXR0b25FbGVtZW50IGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBpY29uU2lkZWJhckJ1dHRvbkNvbW1vblN0eWxlO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHN1cGVyLnJlbmRlckljb25TbG90KCk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1pY29uLXNpZGViYXItYnV0dG9uJzogU2JiSWNvblNpZGViYXJCdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7SUFjTSwrQkFBMkIsTUFBQTs7MEJBRGhDLGNBQWMseUJBQXlCLENBQUM7Ozs7b0JBQ0MsaUJBQWlCLG9CQUFvQjtBQUE3QyxFQUFBLG1CQUFRLFlBQXNDO0FBQUEsSUFHM0QsaUJBQWM7QUFDL0IsYUFBTyxNQUFNLGVBQUE7QUFBQSxJQUNmO0FBQUE7O0FBTEYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUN5QixHQUFBLFNBQXlCLDhCQUQ1QyxrQkFBQSxZQUFBLHVCQUFBLEdBQTRCOzs7In0=
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zaWRlYmFyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9zaWRlYmFyL2ljb24tc2lkZWJhci1idXR0b24vaWNvbi1zaWRlYmFyLWJ1dHRvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUb29sdGlwRGVmYXVsdFBvc2l0aW9ucyB9IGZyb20gJy4uLy4uL3Rvb2x0aXAuanMnO1xuaW1wb3J0IHsgaWNvblNpZGViYXJCdXR0b25Db21tb25TdHlsZSB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbi8qKlxuICogQnV0dG9uIHRvIGJlIHBsYWNlZCBpbnNpZGUgYHNiYi1pY29uLXNpZGViYXJgLlxuICpcbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbi5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWljb24tc2lkZWJhci1idXR0b24nKVxuY2xhc3MgU2JiSWNvblNpZGViYXJCdXR0b25FbGVtZW50XG4gIGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudClcbiAgaW1wbGVtZW50cyBTYmJUb29sdGlwRGVmYXVsdFBvc2l0aW9uc1xue1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBpY29uU2lkZWJhckJ1dHRvbkNvbW1vblN0eWxlO1xuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyByZWFkb25seSB0b29sdGlwUG9zaXRpb25zID0gWydpbmxpbmUtZW5kJywgJ2lubGluZS1zdGFydCddO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHN1cGVyLnJlbmRlckljb25TbG90KCk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1pY29uLXNpZGViYXItYnV0dG9uJzogU2JiSWNvblNpZGViYXJCdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7SUFlTSwrQkFBMkIsTUFBQTs7MEJBRGhDLGNBQWMseUJBQXlCLENBQUM7Ozs7b0JBRS9CLGlCQUFpQixvQkFBb0I7QUFBN0MsRUFBQSxtQkFBUSxZQUFzQztBQUFBOztBQUs5QixXQUFBLG1CQUFtQixDQUFDLGNBQWMsY0FBYztBQUFBLElBS2xFO0FBQUEsSUFIcUIsaUJBQWM7QUFDL0IsYUFBTyxNQUFNLGVBQUE7QUFBQSxJQUNmO0FBQUE7O0FBVkYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUl5QixHQUFBLFNBQXlCLDhCQUo1QyxrQkFBQSxZQUFBLHVCQUFBLEdBQ0o7OzsifQ==
@@ -1,13 +1,16 @@
1
1
  import { CSSResultGroup, TemplateResult } from 'lit';
2
2
  import { SbbLinkBaseElement } from '../../core/base-elements.js';
3
+ import { SbbTooltipDefaultPositions } from '../../tooltip.js';
3
4
  declare const SbbIconSidebarLinkElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & typeof SbbLinkBaseElement;
4
5
  /**
5
6
  * Link to be placed inside `sbb-icon-sidebar`.
6
7
  *
7
8
  * @slot icon - Slot used to display the icon.
8
9
  */
9
- export declare class SbbIconSidebarLinkElement extends SbbIconSidebarLinkElement_base {
10
+ export declare class SbbIconSidebarLinkElement extends SbbIconSidebarLinkElement_base implements SbbTooltipDefaultPositions {
10
11
  static styles: CSSResultGroup;
12
+ /** @internal */
13
+ readonly tooltipPositions: string[];
11
14
  protected renderTemplate(): TemplateResult;
12
15
  }
13
16
  declare global {