@spicainternational/ngx-sds-components 8.1.1 → 8.3.0-beta.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 (186) hide show
  1. package/README.md +16 -16
  2. package/esm2022/public-api.mjs +1 -1
  3. package/esm2022/src/lib/app-switcher/app-switcher.component.mjs +3 -3
  4. package/esm2022/src/lib/app-switcher/app-switcher.model.mjs +1 -1
  5. package/esm2022/src/lib/app-switcher/public-api.mjs +1 -1
  6. package/esm2022/src/lib/avatar/avatar-group.component.mjs +3 -3
  7. package/esm2022/src/lib/avatar/avatar-group.model.mjs +1 -1
  8. package/esm2022/src/lib/avatar/avatar.component.mjs +3 -3
  9. package/esm2022/src/lib/avatar/public-api.mjs +1 -1
  10. package/esm2022/src/lib/badge/badge.directive.mjs +1 -1
  11. package/esm2022/src/lib/badge/badge.types.mjs +1 -1
  12. package/esm2022/src/lib/badge/components/badge.component.mjs +3 -3
  13. package/esm2022/src/lib/badge/public-api.mjs +1 -1
  14. package/esm2022/src/lib/callout/callout.component.mjs +3 -3
  15. package/esm2022/src/lib/callout/public-api.mjs +1 -1
  16. package/esm2022/src/lib/color-picker/color-picker.component.mjs +3 -3
  17. package/esm2022/src/lib/color-picker/public-api.mjs +1 -1
  18. package/esm2022/src/lib/date-picker/date-picker.component.mjs +3 -3
  19. package/esm2022/src/lib/date-picker/date-picker.model.mjs +1 -1
  20. package/esm2022/src/lib/date-picker/public-api.mjs +1 -1
  21. package/esm2022/src/lib/date-picker/sds-date-picker.service.mjs +1 -1
  22. package/esm2022/src/lib/date-pipes/date-compare.pipe.mjs +1 -1
  23. package/esm2022/src/lib/date-pipes/date-format.pipe.mjs +1 -1
  24. package/esm2022/src/lib/date-pipes/date-period-format.pipe.mjs +1 -1
  25. package/esm2022/src/lib/date-pipes/date-time-formats.constants.mjs +1 -1
  26. package/esm2022/src/lib/date-pipes/date-time-range-duration.pipe.mjs +1 -1
  27. package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +1 -1
  28. package/esm2022/src/lib/date-pipes/public-api.mjs +1 -1
  29. package/esm2022/src/lib/drawer/drawer.component.mjs +3 -3
  30. package/esm2022/src/lib/drawer/public-api.mjs +1 -1
  31. package/esm2022/src/lib/duration-box/duration-box.component.mjs +3 -3
  32. package/esm2022/src/lib/duration-box/duration.service.mjs +1 -1
  33. package/esm2022/src/lib/duration-box/public-api.mjs +1 -1
  34. package/esm2022/src/lib/duration-pipe/duration-format.pipe.mjs +1 -1
  35. package/esm2022/src/lib/duration-pipe/public-api.mjs +1 -1
  36. package/esm2022/src/lib/ellipsis/directives/ellipsis.directive.mjs +1 -1
  37. package/esm2022/src/lib/ellipsis/public-api.mjs +1 -1
  38. package/esm2022/src/lib/expansion-panel/expansion-panel.component.mjs +3 -3
  39. package/esm2022/src/lib/expansion-panel/expansion-panel.types.mjs +1 -1
  40. package/esm2022/src/lib/expansion-panel/public-api.mjs +1 -1
  41. package/esm2022/src/lib/highlight-text/directives/highlight-text.directive.mjs +1 -1
  42. package/esm2022/src/lib/highlight-text/directives/index.mjs +1 -1
  43. package/esm2022/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +1 -1
  44. package/esm2022/src/lib/highlight-text/pipes/index.mjs +1 -1
  45. package/esm2022/src/lib/highlight-text/public-api.mjs +1 -1
  46. package/esm2022/src/lib/highlight-text/utils/highlight-text.utils.mjs +1 -1
  47. package/esm2022/src/lib/highlight-text/utils/index.mjs +1 -1
  48. package/esm2022/src/lib/intersection/directives/index.mjs +1 -1
  49. package/esm2022/src/lib/intersection/directives/intersection.directive.mjs +1 -1
  50. package/esm2022/src/lib/intersection/public-api.mjs +1 -1
  51. package/esm2022/src/lib/intersection/services/index.mjs +1 -1
  52. package/esm2022/src/lib/intersection/services/intersection.service.mjs +1 -1
  53. package/esm2022/src/lib/keyboard-shortcut/directives/index.mjs +1 -1
  54. package/esm2022/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +19 -29
  55. package/esm2022/src/lib/keyboard-shortcut/public-api.mjs +1 -1
  56. package/esm2022/src/lib/layout/default-layout/default-layout.component.mjs +3 -3
  57. package/esm2022/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +3 -3
  58. package/esm2022/src/lib/layout/fluid-layout/fluid-layout.component.mjs +3 -3
  59. package/esm2022/src/lib/layout/medium-layout/medium-layout.component.mjs +3 -3
  60. package/esm2022/src/lib/layout/public-api.mjs +1 -1
  61. package/esm2022/src/lib/layout/small-layout/small-layout.component.mjs +3 -3
  62. package/esm2022/src/lib/message/message.component.mjs +3 -3
  63. package/esm2022/src/lib/message/public-api.mjs +1 -1
  64. package/esm2022/src/lib/modal/dialog/dialog.component.mjs +3 -3
  65. package/esm2022/src/lib/modal/modal.component.mjs +3 -3
  66. package/esm2022/src/lib/modal/modal.model.mjs +1 -1
  67. package/esm2022/src/lib/modal/public-api.mjs +1 -1
  68. package/esm2022/src/lib/navigation/models/navigation-models.mjs +1 -1
  69. package/esm2022/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.mjs +3 -3
  70. package/esm2022/src/lib/navigation/navigation-container/navigation-container.component.mjs +5 -8
  71. package/esm2022/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +3 -3
  72. package/esm2022/src/lib/navigation/navigation-group/navigation-group.component.mjs +121 -22
  73. package/esm2022/src/lib/navigation/navigation-header/navigation-header.component.mjs +3 -3
  74. package/esm2022/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +61 -23
  75. package/esm2022/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +3 -3
  76. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +3 -3
  77. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +3 -3
  78. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +3 -3
  79. package/esm2022/src/lib/navigation/navigation-user-profile/navigation-profile.model.mjs +1 -1
  80. package/esm2022/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +3 -3
  81. package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +5 -5
  82. package/esm2022/src/lib/navigation/public-api.mjs +1 -1
  83. package/esm2022/src/lib/navigation/utils/navigation.utils.mjs +1 -1
  84. package/esm2022/src/lib/number-box/number-box.component.mjs +3 -3
  85. package/esm2022/src/lib/number-box/public-api.mjs +1 -1
  86. package/esm2022/src/lib/page-header/page-header.component.mjs +3 -3
  87. package/esm2022/src/lib/page-header/public-api.mjs +1 -1
  88. package/esm2022/src/lib/pane/pane.component.mjs +3 -3
  89. package/esm2022/src/lib/pane/pane.model.mjs +1 -1
  90. package/esm2022/src/lib/pane/public-api.mjs +1 -1
  91. package/esm2022/src/lib/quick-info/quick-info.component.mjs +3 -3
  92. package/esm2022/src/lib/quick-info/quick-info.model.mjs +1 -1
  93. package/esm2022/src/lib/ripple/public-api.mjs +1 -1
  94. package/esm2022/src/lib/ripple/ripple.directive.mjs +1 -1
  95. package/esm2022/src/lib/segmented-control/public-api.mjs +1 -1
  96. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +3 -3
  97. package/esm2022/src/lib/side-bar/side-bar.component.mjs +22 -16
  98. package/esm2022/src/lib/static-value/public-api.mjs +1 -1
  99. package/esm2022/src/lib/static-value/static-value.component.mjs +3 -3
  100. package/esm2022/src/lib/table-actions/public-api.mjs +1 -1
  101. package/esm2022/src/lib/table-actions/table-actions.component.mjs +3 -3
  102. package/esm2022/src/lib/timeline/components/timeline.component.mjs +13 -3
  103. package/esm2022/src/lib/timeline/models/timeline.model.mjs +1 -1
  104. package/esm2022/src/lib/timeline/public-api.mjs +1 -1
  105. package/esm2022/src/lib/timeline/services/timeline.service.mjs +1 -1
  106. package/esm2022/src/lib/timeline/types/timeline.types.mjs +1 -1
  107. package/esm2022/src/lib/timer/public-api.mjs +1 -1
  108. package/esm2022/src/lib/timer/services/index.mjs +1 -1
  109. package/esm2022/src/lib/timer/services/timer.service.mjs +1 -1
  110. package/esm2022/src/lib/timer/utils/index.mjs +1 -1
  111. package/esm2022/src/lib/timer/utils/timer.utils.mjs +1 -1
  112. package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +3 -3
  113. package/esm2022/src/lib/tooltip/public-api.mjs +1 -1
  114. package/esm2022/src/lib/tooltip/tooltip.directive.mjs +1 -1
  115. package/esm2022/src/lib/tooltip/tooltip.types.mjs +1 -1
  116. package/esm2022/src/lib/tooltip/utils/tooltip.utils.mjs +1 -1
  117. package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +1 -1
  118. package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +1 -1
  119. package/esm2022/src/lib/utils/date-time/public-api.mjs +1 -1
  120. package/esm2022/src/lib/utils/public-api.mjs +1 -1
  121. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +2 -2
  122. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
  123. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +4 -4
  124. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
  125. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +2 -2
  126. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -1
  127. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +2 -2
  128. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -1
  129. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +2 -2
  130. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
  131. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +2 -2
  132. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  133. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
  134. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs +2 -2
  135. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -1
  136. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +2 -2
  137. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
  138. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -1
  139. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -1
  140. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +2 -2
  141. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
  142. package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -1
  143. package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -1
  144. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +18 -28
  145. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -1
  146. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +10 -10
  147. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -1
  148. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +2 -2
  149. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -1
  150. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +4 -4
  151. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
  152. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +215 -83
  153. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
  154. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +2 -2
  155. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
  156. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +2 -2
  157. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -1
  158. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +2 -2
  159. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -1
  160. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +2 -2
  161. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -1
  162. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -1
  163. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +2 -2
  164. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
  165. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +21 -15
  166. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -1
  167. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +2 -2
  168. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -1
  169. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +2 -2
  170. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -1
  171. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +12 -2
  172. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
  173. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -1
  174. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +2 -2
  175. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
  176. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -1
  177. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -1
  178. package/fesm2022/spicainternational-ngx-sds-components.mjs.map +1 -1
  179. package/package.json +1 -1
  180. package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +5 -10
  181. package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +1 -2
  182. package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +20 -1
  183. package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +22 -9
  184. package/src/lib/ripple/sds-ripple.css +20 -20
  185. package/src/lib/side-bar/side-bar.component.d.ts +13 -7
  186. package/src/lib/timeline/components/timeline.component.d.ts +9 -1
@@ -1,4 +1,4 @@
1
- import { Component, ContentChildren, effect, Input, untracked, model } from '@angular/core';
1
+ import { Component, ContentChildren, effect, untracked, model, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { SdsNavigationGroupComponent } from '../navigation-group/navigation-group.component';
3
3
  import { SdsNavigationRouteLinkComponent } from '../navigation-route-link/navigation-route-link.component';
4
4
  import { SdsNavigationSeparatorComponent } from '../navigation-separator/navigation-separator.component';
@@ -10,7 +10,6 @@ import * as i0 from "@angular/core";
10
10
  export class SdsNavigationContainerComponent {
11
11
  constructor() {
12
12
  this.isCollapsed = model(false);
13
- this.product = 'all-hours';
14
13
  effect(() => {
15
14
  const isCollapsed = this.isCollapsed();
16
15
  untracked(() => {
@@ -29,14 +28,12 @@ export class SdsNavigationContainerComponent {
29
28
  this.collapsibleFrameComponentChildren?.forEach((child) => { child.isCollapsed.set(isCollapsed); });
30
29
  }
31
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsNavigationContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: SdsNavigationContainerComponent, isStandalone: true, selector: "sds-navigation-container", inputs: { product: { classPropertyName: "product", publicName: "product", isSignal: false, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, queries: [{ propertyName: "groupComponentChildren", predicate: SdsNavigationGroupComponent }, { propertyName: "routeLinkComponentChildren", predicate: SdsNavigationRouteLinkComponent }, { propertyName: "separatorComponentChildren", predicate: SdsNavigationSeparatorComponent }, { propertyName: "headerComponentChildren", predicate: SdsNavigationHeaderComponent }, { propertyName: "externalLinkComponentChildren", predicate: SdsNavigationExternalLinkComponent }, { propertyName: "userProfileComponentChildren", predicate: SdsNavigationUserProfileComponent }, { propertyName: "collapsibleFrameComponentChildren", predicate: SdsNavigationCollapsibleFrameComponent }], ngImport: i0, template: "<div \r\n class=\"sds-navigation-container\"\r\n [class]=\"'product-' + product\">\r\n <ng-content></ng-content>\r\n</div>", styles: [".sds-navigation-container{height:100%;display:flex;flex-direction:column;padding-right:.25rem;padding-left:.25rem;gap:.25rem}:host{overflow-y:auto;overflow-x:hidden}\n"] }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: SdsNavigationContainerComponent, isStandalone: true, selector: "sds-navigation-container", inputs: { isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, queries: [{ propertyName: "groupComponentChildren", predicate: SdsNavigationGroupComponent }, { propertyName: "routeLinkComponentChildren", predicate: SdsNavigationRouteLinkComponent }, { propertyName: "separatorComponentChildren", predicate: SdsNavigationSeparatorComponent }, { propertyName: "headerComponentChildren", predicate: SdsNavigationHeaderComponent }, { propertyName: "externalLinkComponentChildren", predicate: SdsNavigationExternalLinkComponent }, { propertyName: "userProfileComponentChildren", predicate: SdsNavigationUserProfileComponent }, { propertyName: "collapsibleFrameComponentChildren", predicate: SdsNavigationCollapsibleFrameComponent }], ngImport: i0, template: "<div class=\"sds-navigation-container\">\n <ng-content></ng-content>\n</div>", styles: [".sds-navigation-container{height:100%;display:flex;flex-direction:column;padding-right:.25rem;padding-left:.25rem;gap:.25rem}:host{overflow-y:auto;overflow-x:hidden}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
32
  }
34
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsNavigationContainerComponent, decorators: [{
35
34
  type: Component,
36
- args: [{ selector: 'sds-navigation-container', standalone: true, template: "<div \r\n class=\"sds-navigation-container\"\r\n [class]=\"'product-' + product\">\r\n <ng-content></ng-content>\r\n</div>", styles: [".sds-navigation-container{height:100%;display:flex;flex-direction:column;padding-right:.25rem;padding-left:.25rem;gap:.25rem}:host{overflow-y:auto;overflow-x:hidden}\n"] }]
37
- }], ctorParameters: () => [], propDecorators: { product: [{
38
- type: Input
39
- }], groupComponentChildren: [{
35
+ args: [{ selector: 'sds-navigation-container', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sds-navigation-container\">\n <ng-content></ng-content>\n</div>", styles: [".sds-navigation-container{height:100%;display:flex;flex-direction:column;padding-right:.25rem;padding-left:.25rem;gap:.25rem}:host{overflow-y:auto;overflow-x:hidden}\n"] }]
36
+ }], ctorParameters: () => [], propDecorators: { groupComponentChildren: [{
40
37
  type: ContentChildren,
41
38
  args: [SdsNavigationGroupComponent]
42
39
  }], routeLinkComponentChildren: [{
@@ -58,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
58
55
  type: ContentChildren,
59
56
  args: [SdsNavigationCollapsibleFrameComponent]
60
57
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWNvbnRhaW5lci9uYXZpZ2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tY29udGFpbmVyL25hdmlnYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFHTixLQUFLLEVBS0wsU0FBUyxFQUVULEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN6RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUNoSSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7QUFRakgsTUFBTSxPQUFPLCtCQUErQjtJQWtCeEM7UUFkQSxnQkFBVyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQWVoQyxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQztRQUUzQixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVEsS0FBVSxDQUFDO0lBRVgsWUFBWSxDQUFDLFdBQW9CO1FBQ3JDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLDZCQUE2QixFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsNEJBQTRCLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQzsrR0F2Q1EsK0JBQStCO21HQUEvQiwrQkFBK0IsK2JBT3ZCLDJCQUEyQiw2REFDM0IsK0JBQStCLDZEQUMvQiwrQkFBK0IsMERBQy9CLDRCQUE0QixnRUFDNUIsa0NBQWtDLCtEQUNsQyxpQ0FBaUMsb0VBQ2pDLHNDQUFzQyw2QkM1QzNELHFJQUlNOzs0RkQyQk8sK0JBQStCO2tCQU4zQyxTQUFTOytCQUNJLDBCQUEwQixjQUd4QixJQUFJO3dEQUlQLE9BQU87c0JBQWYsS0FBSztnQkFLd0Msc0JBQXNCO3NCQUFuRSxlQUFlO3VCQUFDLDJCQUEyQjtnQkFDTSwwQkFBMEI7c0JBQTNFLGVBQWU7dUJBQUMsK0JBQStCO2dCQUNFLDBCQUEwQjtzQkFBM0UsZUFBZTt1QkFBQywrQkFBK0I7Z0JBQ0QsdUJBQXVCO3NCQUFyRSxlQUFlO3VCQUFDLDRCQUE0QjtnQkFDUSw2QkFBNkI7c0JBQWpGLGVBQWU7dUJBQUMsa0NBQWtDO2dCQUNDLDRCQUE0QjtzQkFBL0UsZUFBZTt1QkFBQyxpQ0FBaUM7Z0JBQ08saUNBQWlDO3NCQUF6RixlQUFlO3VCQUFDLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29udGVudENoaWxkcmVuLFxyXG4gICAgZWZmZWN0LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIGlucHV0LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkluaXQsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgdW50cmFja2VkLFxyXG4gICAgVmlld0NoaWxkcmVuLFxyXG4gICAgbW9kZWxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29sbGFwc2libGVOYXZpZ2F0aW9uRW50aXR5IH0gZnJvbSAnLi4vbW9kZWxzL25hdmlnYXRpb24tbW9kZWxzJztcclxuaW1wb3J0IHsgU2RzTmF2aWdhdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1ncm91cC9uYXZpZ2F0aW9uLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLXJvdXRlLWxpbmsvbmF2aWdhdGlvbi1yb3V0ZS1saW5rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkc05hdmlnYXRpb25TZXBhcmF0b3JDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLXNlcGFyYXRvci9uYXZpZ2F0aW9uLXNlcGFyYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1oZWFkZXIvbmF2aWdhdGlvbi1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RzTmF2aWdhdGlvbkV4dGVybmFsTGlua0NvbXBvbmVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tZXh0ZXJuYWwtbGluay9uYXZpZ2F0aW9uLWV4dGVybmFsLWxpbmsuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RzTmF2aWdhdGlvbkNvbGxhcHNpYmxlRnJhbWVDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWNvbGxhcHNpYmxlLWZyYW1lL25hdmlnYXRpb24tY29sbGFwc2libGUtZnJhbWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RzTmF2aWdhdGlvblVzZXJQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUvbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzZHMtbmF2aWdhdGlvbi1jb250YWluZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzTmF2aWdhdGlvbkNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29sbGFwc2libGVOYXZpZ2F0aW9uRW50aXR5XHJcbntcclxuICAgIEBJbnB1dCgpIHByb2R1Y3Q6IHN0cmluZztcclxuICAgIFxyXG4gICAgaXNDb2xsYXBzZWQgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oU2RzTmF2aWdhdGlvbkdyb3VwQ29tcG9uZW50KSBncm91cENvbXBvbmVudENoaWxkcmVuPzogUXVlcnlMaXN0PFNkc05hdmlnYXRpb25Hcm91cENvbXBvbmVudD47XHJcbiAgICBAQ29udGVudENoaWxkcmVuKFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQpIHJvdXRlTGlua0NvbXBvbmVudENoaWxkcmVuPzogUXVlcnlMaXN0PFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQ+O1xyXG4gICAgQENvbnRlbnRDaGlsZHJlbihTZHNOYXZpZ2F0aW9uU2VwYXJhdG9yQ29tcG9uZW50KSBzZXBhcmF0b3JDb21wb25lbnRDaGlsZHJlbj86IFF1ZXJ5TGlzdDxTZHNOYXZpZ2F0aW9uU2VwYXJhdG9yQ29tcG9uZW50PjtcclxuICAgIEBDb250ZW50Q2hpbGRyZW4oU2RzTmF2aWdhdGlvbkhlYWRlckNvbXBvbmVudCkgaGVhZGVyQ29tcG9uZW50Q2hpbGRyZW4/OiBRdWVyeUxpc3Q8U2RzTmF2aWdhdGlvbkhlYWRlckNvbXBvbmVudD47XHJcbiAgICBAQ29udGVudENoaWxkcmVuKFNkc05hdmlnYXRpb25FeHRlcm5hbExpbmtDb21wb25lbnQpIGV4dGVybmFsTGlua0NvbXBvbmVudENoaWxkcmVuPzogUXVlcnlMaXN0PFNkc05hdmlnYXRpb25FeHRlcm5hbExpbmtDb21wb25lbnQ+O1xyXG4gICAgQENvbnRlbnRDaGlsZHJlbihTZHNOYXZpZ2F0aW9uVXNlclByb2ZpbGVDb21wb25lbnQpIHVzZXJQcm9maWxlQ29tcG9uZW50Q2hpbGRyZW4/OiBRdWVyeUxpc3Q8U2RzTmF2aWdhdGlvblVzZXJQcm9maWxlQ29tcG9uZW50PjtcclxuICAgIEBDb250ZW50Q2hpbGRyZW4oU2RzTmF2aWdhdGlvbkNvbGxhcHNpYmxlRnJhbWVDb21wb25lbnQpIGNvbGxhcHNpYmxlRnJhbWVDb21wb25lbnRDaGlsZHJlbj86IFF1ZXJ5TGlzdDxTZHNOYXZpZ2F0aW9uQ29sbGFwc2libGVGcmFtZUNvbXBvbmVudD47XHJcbiAgICBcclxuXHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMucHJvZHVjdCA9ICdhbGwtaG91cnMnO1xyXG5cclxuICAgICAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpc0NvbGxhcHNlZCA9IHRoaXMuaXNDb2xsYXBzZWQoKTtcclxuICAgICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29sbGFwc2VkKGlzQ29sbGFwc2VkKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICAgIHByaXZhdGUgc2V0Q29sbGFwc2VkKGlzQ29sbGFwc2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ncm91cENvbXBvbmVudENoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4geyBjaGlsZC5pc0NvbGxhcHNlZC5zZXQoaXNDb2xsYXBzZWQpO30pO1xyXG4gICAgICAgIHRoaXMucm91dGVMaW5rQ29tcG9uZW50Q2hpbGRyZW4/LmZvckVhY2goKGNoaWxkKSA9PiB7IGNoaWxkLmlzQ29sbGFwc2VkLnNldChpc0NvbGxhcHNlZCk7fSk7XHJcbiAgICAgICAgdGhpcy5zZXBhcmF0b3JDb21wb25lbnRDaGlsZHJlbj8uZm9yRWFjaCgoY2hpbGQpID0+IHsgY2hpbGQuaXNDb2xsYXBzZWQuc2V0KGlzQ29sbGFwc2VkKTt9KTtcclxuICAgICAgICB0aGlzLmhlYWRlckNvbXBvbmVudENoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4geyBjaGlsZC5pc0NvbGxhcHNlZC5zZXQoaXNDb2xsYXBzZWQpO30pO1xyXG4gICAgICAgIHRoaXMuZXh0ZXJuYWxMaW5rQ29tcG9uZW50Q2hpbGRyZW4/LmZvckVhY2goKGNoaWxkKSA9PiB7IGNoaWxkLmlzQ29sbGFwc2VkLnNldChpc0NvbGxhcHNlZCk7fSk7XHJcbiAgICAgICAgdGhpcy51c2VyUHJvZmlsZUNvbXBvbmVudENoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4geyBjaGlsZC5pc0NvbGxhcHNlZC5zZXQoaXNDb2xsYXBzZWQpO30pO1xyXG4gICAgICAgIHRoaXMuY29sbGFwc2libGVGcmFtZUNvbXBvbmVudENoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4geyBjaGlsZC5pc0NvbGxhcHNlZC5zZXQoaXNDb2xsYXBzZWQpO30pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgXHJcbiAgICBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWNvbnRhaW5lclwiXHJcbiAgICBbY2xhc3NdPVwiJ3Byb2R1Y3QtJyArIHByb2R1Y3RcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+Il19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWNvbnRhaW5lci9uYXZpZ2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tY29udGFpbmVyL25hdmlnYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFHTixTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUMxQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN6RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUNoSSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7QUFTakgsTUFBTSxPQUFPLCtCQUErQjtJQWV4QztRQWJBLGdCQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBY2hDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDUixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFWCxZQUFZLENBQUMsV0FBb0I7UUFDckMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQywwQkFBMEIsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsNkJBQTZCLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztJQUN2RyxDQUFDOytHQWxDUSwrQkFBK0I7bUdBQS9CLCtCQUErQixnVUFJdkIsMkJBQTJCLDZEQUMzQiwrQkFBK0IsNkRBQy9CLCtCQUErQiwwREFDL0IsNEJBQTRCLGdFQUM1QixrQ0FBa0MsK0RBQ2xDLGlDQUFpQyxvRUFDakMsc0NBQXNDLDZCQ3BDM0QsaUZBRU07OzRGRHdCTywrQkFBK0I7a0JBUDNDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBR3hCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTTt3REFNRCxzQkFBc0I7c0JBQW5FLGVBQWU7dUJBQUMsMkJBQTJCO2dCQUNNLDBCQUEwQjtzQkFBM0UsZUFBZTt1QkFBQywrQkFBK0I7Z0JBQ0UsMEJBQTBCO3NCQUEzRSxlQUFlO3VCQUFDLCtCQUErQjtnQkFDRCx1QkFBdUI7c0JBQXJFLGVBQWU7dUJBQUMsNEJBQTRCO2dCQUNRLDZCQUE2QjtzQkFBakYsZUFBZTt1QkFBQyxrQ0FBa0M7Z0JBQ0MsNEJBQTRCO3NCQUEvRSxlQUFlO3VCQUFDLGlDQUFpQztnQkFDTyxpQ0FBaUM7c0JBQXpGLGVBQWU7dUJBQUMsc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGVmZmVjdCxcbiAgICBPbkluaXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIHVudHJhY2tlZCxcbiAgICBtb2RlbCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbGxhcHNpYmxlTmF2aWdhdGlvbkVudGl0eSB9IGZyb20gJy4uL21vZGVscy9uYXZpZ2F0aW9uLW1vZGVscyc7XG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWdyb3VwL25hdmlnYXRpb24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLXJvdXRlLWxpbmsvbmF2aWdhdGlvbi1yb3V0ZS1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uU2VwYXJhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1zZXBhcmF0b3IvbmF2aWdhdGlvbi1zZXBhcmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFNkc05hdmlnYXRpb25IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWhlYWRlci9uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2RzTmF2aWdhdGlvbkV4dGVybmFsTGlua0NvbXBvbmVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tZXh0ZXJuYWwtbGluay9uYXZpZ2F0aW9uLWV4dGVybmFsLWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IFNkc05hdmlnYXRpb25Db2xsYXBzaWJsZUZyYW1lQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1jb2xsYXBzaWJsZS1mcmFtZS9uYXZpZ2F0aW9uLWNvbGxhcHNpYmxlLWZyYW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uVXNlclByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Nkcy1uYXZpZ2F0aW9uLWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNkc05hdmlnYXRpb25Db250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbGxhcHNpYmxlTmF2aWdhdGlvbkVudGl0eVxue1xuICAgIGlzQ29sbGFwc2VkID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihTZHNOYXZpZ2F0aW9uR3JvdXBDb21wb25lbnQpIGdyb3VwQ29tcG9uZW50Q2hpbGRyZW4/OiBRdWVyeUxpc3Q8U2RzTmF2aWdhdGlvbkdyb3VwQ29tcG9uZW50PjtcbiAgICBAQ29udGVudENoaWxkcmVuKFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQpIHJvdXRlTGlua0NvbXBvbmVudENoaWxkcmVuPzogUXVlcnlMaXN0PFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQ+O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oU2RzTmF2aWdhdGlvblNlcGFyYXRvckNvbXBvbmVudCkgc2VwYXJhdG9yQ29tcG9uZW50Q2hpbGRyZW4/OiBRdWVyeUxpc3Q8U2RzTmF2aWdhdGlvblNlcGFyYXRvckNvbXBvbmVudD47XG4gICAgQENvbnRlbnRDaGlsZHJlbihTZHNOYXZpZ2F0aW9uSGVhZGVyQ29tcG9uZW50KSBoZWFkZXJDb21wb25lbnRDaGlsZHJlbj86IFF1ZXJ5TGlzdDxTZHNOYXZpZ2F0aW9uSGVhZGVyQ29tcG9uZW50PjtcbiAgICBAQ29udGVudENoaWxkcmVuKFNkc05hdmlnYXRpb25FeHRlcm5hbExpbmtDb21wb25lbnQpIGV4dGVybmFsTGlua0NvbXBvbmVudENoaWxkcmVuPzogUXVlcnlMaXN0PFNkc05hdmlnYXRpb25FeHRlcm5hbExpbmtDb21wb25lbnQ+O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oU2RzTmF2aWdhdGlvblVzZXJQcm9maWxlQ29tcG9uZW50KSB1c2VyUHJvZmlsZUNvbXBvbmVudENoaWxkcmVuPzogUXVlcnlMaXN0PFNkc05hdmlnYXRpb25Vc2VyUHJvZmlsZUNvbXBvbmVudD47XG4gICAgQENvbnRlbnRDaGlsZHJlbihTZHNOYXZpZ2F0aW9uQ29sbGFwc2libGVGcmFtZUNvbXBvbmVudCkgY29sbGFwc2libGVGcmFtZUNvbXBvbmVudENoaWxkcmVuPzogUXVlcnlMaXN0PFNkc05hdmlnYXRpb25Db2xsYXBzaWJsZUZyYW1lQ29tcG9uZW50PjtcbiAgICBcblxuXG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ29sbGFwc2VkID0gdGhpcy5pc0NvbGxhcHNlZCgpO1xuICAgICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldENvbGxhcHNlZChpc0NvbGxhcHNlZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gICAgcHJpdmF0ZSBzZXRDb2xsYXBzZWQoaXNDb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ncm91cENvbXBvbmVudENoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4geyBjaGlsZC5pc0NvbGxhcHNlZC5zZXQoaXNDb2xsYXBzZWQpO30pO1xuICAgICAgICB0aGlzLnJvdXRlTGlua0NvbXBvbmVudENoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4geyBjaGlsZC5pc0NvbGxhcHNlZC5zZXQoaXNDb2xsYXBzZWQpO30pO1xuICAgICAgICB0aGlzLnNlcGFyYXRvckNvbXBvbmVudENoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4geyBjaGlsZC5pc0NvbGxhcHNlZC5zZXQoaXNDb2xsYXBzZWQpO30pO1xuICAgICAgICB0aGlzLmhlYWRlckNvbXBvbmVudENoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4geyBjaGlsZC5pc0NvbGxhcHNlZC5zZXQoaXNDb2xsYXBzZWQpO30pO1xuICAgICAgICB0aGlzLmV4dGVybmFsTGlua0NvbXBvbmVudENoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4geyBjaGlsZC5pc0NvbGxhcHNlZC5zZXQoaXNDb2xsYXBzZWQpO30pO1xuICAgICAgICB0aGlzLnVzZXJQcm9maWxlQ29tcG9uZW50Q2hpbGRyZW4/LmZvckVhY2goKGNoaWxkKSA9PiB7IGNoaWxkLmlzQ29sbGFwc2VkLnNldChpc0NvbGxhcHNlZCk7fSk7XG4gICAgICAgIHRoaXMuY29sbGFwc2libGVGcmFtZUNvbXBvbmVudENoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4geyBjaGlsZC5pc0NvbGxhcHNlZC5zZXQoaXNDb2xsYXBzZWQpO30pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
@@ -19,11 +19,11 @@ export class SdsNavigationExternalLinkComponent {
19
19
  window.open(this.link, this.tabName);
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsNavigationExternalLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: SdsNavigationExternalLinkComponent, isStandalone: true, selector: "sds-navigation-external-link", inputs: { link: { classPropertyName: "link", publicName: "link", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, tabName: { classPropertyName: "tabName", publicName: "tabName", isSignal: false, isRequired: false, transformFunction: null }, externalLinkHint: { classPropertyName: "externalLinkHint", publicName: "externalLinkHint", isSignal: false, isRequired: false, transformFunction: null }, showExternalLinkIcon: { classPropertyName: "showExternalLinkIcon", publicName: "showExternalLinkIcon", isSignal: false, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, ngImport: i0, template: "<div \r\n class=\"sds-navigation-external-link sds-navigation-item-container\"\r\n [title]=\"isCollapsed() ? text : ''\"\r\n >\r\n <a class=\"w-100 sds-navigation-item-content pe-2 text-gray-800 sds-fs-93\" (click)=\"openLink()\" >\r\n <div class=\"d-flex align-items-center justify-content-center position-relative\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!isCollapsed()\">\r\n \r\n <div class=\"sds-navigation-text\">\r\n <span>{{ text }}</span>\r\n </div>\r\n\r\n <div \r\n class=\"sds-navigation-external-link-info-container\">\r\n <fa-icon \r\n class=\"sds-navigation-external-link-info-icon\"\r\n *ngIf=\"showExternalLinkIcon\"\r\n\r\n [icon]=\"externalLinkIcon\"\r\n [size]=\"'xs'\"\r\n [title]=\"externalLinkHint\"\r\n >\r\n </fa-icon>\r\n </div> \r\n </ng-container>\r\n \r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </a>\r\n</div>", styles: [".sds-navigation-external-link:hover{background-color:#eff1f3;border-left-color:#eff1f3}.sds-navigation-external-link{border-radius:.5rem;padding:0!important;border-left:none!important}.sds-navigation-external-link a{padding-top:.5rem!important;padding-bottom:.5rem!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: SdsNavigationExternalLinkComponent, isStandalone: true, selector: "sds-navigation-external-link", inputs: { link: { classPropertyName: "link", publicName: "link", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, tabName: { classPropertyName: "tabName", publicName: "tabName", isSignal: false, isRequired: false, transformFunction: null }, externalLinkHint: { classPropertyName: "externalLinkHint", publicName: "externalLinkHint", isSignal: false, isRequired: false, transformFunction: null }, showExternalLinkIcon: { classPropertyName: "showExternalLinkIcon", publicName: "showExternalLinkIcon", isSignal: false, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, ngImport: i0, template: "<div \n class=\"sds-navigation-external-link sds-navigation-item-container\"\n [title]=\"isCollapsed() ? text : ''\"\n >\n <a class=\"w-100 sds-navigation-item-content pe-2 text-gray-800 sds-fs-93\" (click)=\"openLink()\" >\n <div class=\"d-flex align-items-center justify-content-center position-relative\">\n <div class=\"sds-navigation-icon\" >\n <ng-content select=\"[navigationIcon]\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"!isCollapsed()\">\n \n <div class=\"sds-navigation-text\">\n <span>{{ text }}</span>\n </div>\n\n <div \n class=\"sds-navigation-external-link-info-container\">\n <fa-icon \n class=\"sds-navigation-external-link-info-icon\"\n *ngIf=\"showExternalLinkIcon\"\n\n [icon]=\"externalLinkIcon\"\n [size]=\"'xs'\"\n [title]=\"externalLinkHint\"\n >\n </fa-icon>\n </div> \n </ng-container>\n \n <ng-content></ng-content>\n\n </div>\n </a>\n</div>", styles: [".sds-navigation-external-link:hover{background-color:#eff1f3;border-left-color:#eff1f3}.sds-navigation-external-link{border-radius:.266rem;padding:0!important;border-left:none!important}.sds-navigation-external-link a{padding-top:.5rem!important;padding-bottom:.5rem!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsNavigationExternalLinkComponent, decorators: [{
25
25
  type: Component,
26
- args: [{ selector: 'sds-navigation-external-link', standalone: true, imports: [NgIf, FaIconComponent], template: "<div \r\n class=\"sds-navigation-external-link sds-navigation-item-container\"\r\n [title]=\"isCollapsed() ? text : ''\"\r\n >\r\n <a class=\"w-100 sds-navigation-item-content pe-2 text-gray-800 sds-fs-93\" (click)=\"openLink()\" >\r\n <div class=\"d-flex align-items-center justify-content-center position-relative\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!isCollapsed()\">\r\n \r\n <div class=\"sds-navigation-text\">\r\n <span>{{ text }}</span>\r\n </div>\r\n\r\n <div \r\n class=\"sds-navigation-external-link-info-container\">\r\n <fa-icon \r\n class=\"sds-navigation-external-link-info-icon\"\r\n *ngIf=\"showExternalLinkIcon\"\r\n\r\n [icon]=\"externalLinkIcon\"\r\n [size]=\"'xs'\"\r\n [title]=\"externalLinkHint\"\r\n >\r\n </fa-icon>\r\n </div> \r\n </ng-container>\r\n \r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </a>\r\n</div>", styles: [".sds-navigation-external-link:hover{background-color:#eff1f3;border-left-color:#eff1f3}.sds-navigation-external-link{border-radius:.5rem;padding:0!important;border-left:none!important}.sds-navigation-external-link a{padding-top:.5rem!important;padding-bottom:.5rem!important}\n"] }]
26
+ args: [{ selector: 'sds-navigation-external-link', standalone: true, imports: [NgIf, FaIconComponent], template: "<div \n class=\"sds-navigation-external-link sds-navigation-item-container\"\n [title]=\"isCollapsed() ? text : ''\"\n >\n <a class=\"w-100 sds-navigation-item-content pe-2 text-gray-800 sds-fs-93\" (click)=\"openLink()\" >\n <div class=\"d-flex align-items-center justify-content-center position-relative\">\n <div class=\"sds-navigation-icon\" >\n <ng-content select=\"[navigationIcon]\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"!isCollapsed()\">\n \n <div class=\"sds-navigation-text\">\n <span>{{ text }}</span>\n </div>\n\n <div \n class=\"sds-navigation-external-link-info-container\">\n <fa-icon \n class=\"sds-navigation-external-link-info-icon\"\n *ngIf=\"showExternalLinkIcon\"\n\n [icon]=\"externalLinkIcon\"\n [size]=\"'xs'\"\n [title]=\"externalLinkHint\"\n >\n </fa-icon>\n </div> \n </ng-container>\n \n <ng-content></ng-content>\n\n </div>\n </a>\n</div>", styles: [".sds-navigation-external-link:hover{background-color:#eff1f3;border-left-color:#eff1f3}.sds-navigation-external-link{border-radius:.266rem;padding:0!important;border-left:none!important}.sds-navigation-external-link a{padding-top:.5rem!important;padding-bottom:.5rem!important}\n"] }]
27
27
  }], ctorParameters: () => [], propDecorators: { link: [{
28
28
  type: Input
29
29
  }], text: [{
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
35
35
  }], showExternalLinkIcon: [{
36
36
  type: Input
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1leHRlcm5hbC1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1leHRlcm5hbC1saW5rL25hdmlnYXRpb24tZXh0ZXJuYWwtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZXh0ZXJuYWwtbGluay9uYXZpZ2F0aW9uLWV4dGVybmFsLWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUyxLQUFLLEVBQWtCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFVdkMsTUFBTSxPQUFPLGtDQUFrQztJQWE3QztRQVhXLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixZQUFPLEdBQVcsUUFBUSxDQUFBO1FBQzFCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0Qix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFHOUIscUJBQWdCLEdBQUcsY0FBYyxDQUFDO1FBRXpDLGdCQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXRCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQXBCVSxrQ0FBa0M7bUdBQWxDLGtDQUFrQyx3OEJDYi9DLCt6Q0FrQ00sK1VEdkJRLElBQUksNkZBQUUsZUFBZTs7NEZBRXRCLGtDQUFrQztrQkFQOUMsU0FBUzsrQkFDSSw4QkFBOEIsY0FHNUIsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQzt3REFJdkIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIElucHV0LCBPbkluaXQsIHNpZ25hbCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmFFeHRlcm5hbExpbmsgfSBmcm9tICdAZm9ydGF3ZXNvbWUvcHJvLXJlZ3VsYXItc3ZnLWljb25zJztcclxuaW1wb3J0IHsgRmFJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xyXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29sbGFwc2libGVOYXZpZ2F0aW9uRW50aXR5IH0gZnJvbSAnLi4vbW9kZWxzL25hdmlnYXRpb24tbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzZHMtbmF2aWdhdGlvbi1leHRlcm5hbC1saW5rJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWV4dGVybmFsLWxpbmsuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi1leHRlcm5hbC1saW5rLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nSWYsIEZhSWNvbkNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkc05hdmlnYXRpb25FeHRlcm5hbExpbmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbGxhcHNpYmxlTmF2aWdhdGlvbkVudGl0eSB7XHJcblxyXG4gICAgQElucHV0KCkgbGluazogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHRhYk5hbWU6IHN0cmluZyA9ICdfYmxhbmsnXHJcbiAgICBASW5wdXQoKSBleHRlcm5hbExpbmtIaW50ID0gJyc7XHJcbiAgICBASW5wdXQoKSBzaG93RXh0ZXJuYWxMaW5rSWNvbiA9IHRydWU7XHJcblxyXG5cclxuICAgIHB1YmxpYyBleHRlcm5hbExpbmtJY29uID0gZmFFeHRlcm5hbExpbms7XHJcblxyXG4gICAgaXNDb2xsYXBzZWQgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgb3BlbkxpbmsoKXtcclxuICAgIHdpbmRvdy5vcGVuKHRoaXMubGluaywgdGhpcy50YWJOYW1lKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgXHJcbiAgICBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWV4dGVybmFsLWxpbmsgc2RzLW5hdmlnYXRpb24taXRlbS1jb250YWluZXJcIlxyXG4gICAgW3RpdGxlXT1cImlzQ29sbGFwc2VkKCkgPyB0ZXh0IDogJydcIlxyXG4gICAgPlxyXG4gICAgPGEgY2xhc3M9XCJ3LTEwMCBzZHMtbmF2aWdhdGlvbi1pdGVtLWNvbnRlbnQgcGUtMiB0ZXh0LWdyYXktODAwIHNkcy1mcy05M1wiIChjbGljayk9XCJvcGVuTGluaygpXCIgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWljb25cIiA+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbmF2aWdhdGlvbkljb25dXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNDb2xsYXBzZWQoKVwiPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi1leHRlcm5hbC1saW5rLWluZm8tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZhLWljb24gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2RzLW5hdmlnYXRpb24tZXh0ZXJuYWwtbGluay1pbmZvLWljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dFeHRlcm5hbExpbmtJY29uXCJcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImV4dGVybmFsTGlua0ljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCIneHMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImV4dGVybmFsTGlua0hpbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2E+XHJcbjwvZGl2PiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1leHRlcm5hbC1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi1leHRlcm5hbC1saW5rL25hdmlnYXRpb24tZXh0ZXJuYWwtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZXh0ZXJuYWwtbGluay9uYXZpZ2F0aW9uLWV4dGVybmFsLWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUyxLQUFLLEVBQWtCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFVdkMsTUFBTSxPQUFPLGtDQUFrQztJQWE3QztRQVhXLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixZQUFPLEdBQVcsUUFBUSxDQUFBO1FBQzFCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0Qix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFHOUIscUJBQWdCLEdBQUcsY0FBYyxDQUFDO1FBRXpDLGdCQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXRCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQXBCVSxrQ0FBa0M7bUdBQWxDLGtDQUFrQyx3OEJDYi9DLDJ2Q0FrQ00saVZEdkJRLElBQUksNkZBQUUsZUFBZTs7NEZBRXRCLGtDQUFrQztrQkFQOUMsU0FBUzsrQkFDSSw4QkFBOEIsY0FHNUIsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQzt3REFJdkIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIElucHV0LCBPbkluaXQsIHNpZ25hbCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZhRXh0ZXJuYWxMaW5rIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3Byby1yZWd1bGFyLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbGxhcHNpYmxlTmF2aWdhdGlvbkVudGl0eSB9IGZyb20gJy4uL21vZGVscy9uYXZpZ2F0aW9uLW1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2RzLW5hdmlnYXRpb24tZXh0ZXJuYWwtbGluaycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tZXh0ZXJuYWwtbGluay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi1leHRlcm5hbC1saW5rLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgRmFJY29uQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBTZHNOYXZpZ2F0aW9uRXh0ZXJuYWxMaW5rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb2xsYXBzaWJsZU5hdmlnYXRpb25FbnRpdHkge1xuXG4gICAgQElucHV0KCkgbGluazogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgdGV4dDogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgdGFiTmFtZTogc3RyaW5nID0gJ19ibGFuaydcbiAgICBASW5wdXQoKSBleHRlcm5hbExpbmtIaW50ID0gJyc7XG4gICAgQElucHV0KCkgc2hvd0V4dGVybmFsTGlua0ljb24gPSB0cnVlO1xuXG5cbiAgICBwdWJsaWMgZXh0ZXJuYWxMaW5rSWNvbiA9IGZhRXh0ZXJuYWxMaW5rO1xuXG4gICAgaXNDb2xsYXBzZWQgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG9wZW5MaW5rKCl7XG4gICAgd2luZG93Lm9wZW4odGhpcy5saW5rLCB0aGlzLnRhYk5hbWUpO1xuICB9XG5cbn1cbiIsIjxkaXYgXG4gICAgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi1leHRlcm5hbC1saW5rIHNkcy1uYXZpZ2F0aW9uLWl0ZW0tY29udGFpbmVyXCJcbiAgICBbdGl0bGVdPVwiaXNDb2xsYXBzZWQoKSA/IHRleHQgOiAnJ1wiXG4gICAgPlxuICAgIDxhIGNsYXNzPVwidy0xMDAgc2RzLW5hdmlnYXRpb24taXRlbS1jb250ZW50IHBlLTIgdGV4dC1ncmF5LTgwMCBzZHMtZnMtOTNcIiAoY2xpY2spPVwib3BlbkxpbmsoKVwiID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWljb25cIiA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW25hdmlnYXRpb25JY29uXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQ29sbGFwc2VkKClcIj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWV4dGVybmFsLWxpbmstaW5mby1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZhLWljb24gXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWV4dGVybmFsLWxpbmstaW5mby1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0V4dGVybmFsTGlua0ljb25cIlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJleHRlcm5hbExpbmtJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIid4cydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImV4dGVybmFsTGlua0hpbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2ZhLWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgICAgICA8L2Rpdj5cbiAgICA8L2E+XG48L2Rpdj4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, ContentChildren, input, Input, QueryList, model, } from '@angular/core';
1
+ import { Component, ContentChildren, input, Input, QueryList, signal, model, computed } from '@angular/core';
2
2
  import { NavigationEnd, RouterLink } from '@angular/router';
3
3
  import { SdsNavigationRouteLinkComponent } from '../navigation-route-link/navigation-route-link.component';
4
4
  import { faAngleUp, faAngleDown } from '@fortawesome/pro-regular-svg-icons';
@@ -13,15 +13,21 @@ import * as i1 from "@angular/router";
13
13
  import * as i2 from "devextreme-angular/ui/popover";
14
14
  import * as i3 from "devextreme-angular/ui/nested";
15
15
  export class SdsNavigationGroupComponent {
16
+ /** @deprecated Use `activeRoutePattern` instead. */
16
17
  set navigationGroupNestedRoutes(value) {
17
18
  this._navigationGroupNestedRoutes = value;
18
19
  }
19
20
  get navigationGroupNestedRoutes() {
20
21
  return this._navigationGroupNestedRoutes;
21
22
  }
23
+ #MOUSE_MOVE_TO_POPOVER_DELAY;
24
+ #pendingOpenTimeoutId;
25
+ #pendingCloseTimeoutId;
26
+ #closeRequested;
22
27
  constructor(_router) {
23
28
  this._router = _router;
24
29
  /**
30
+ @deprecated Use `activeRoutePattern` instead.
25
31
  * List of paths allowed/expected within this module.
26
32
  * These are paths that are not accessible through child navigation
27
33
  * elements, but through links in other parts of the application (e.g. link
@@ -32,13 +38,23 @@ export class SdsNavigationGroupComponent {
32
38
  this.icon = '';
33
39
  this.defaultRouterLink = '';
34
40
  this.reverse = false;
41
+ /** @deprecated Use `activeRoutePattern` instead. */
35
42
  this.ignoreQueryParamsInActiveRoute = false;
36
43
  this.disabled = false;
37
44
  this.showPopover = false;
38
45
  this.showPopoverHeader = false;
39
46
  this.lightStyle = input(true);
47
+ /**
48
+ * This variable can be used to provide a pattern for active route.
49
+ * It has higher priority than default route matching (checking if current route starts with provided link or is part of nested links).
50
+ * This is useful when we have more complex logic to determine if route is active.
51
+ *
52
+ * @memberof SdsNavigationGroupComponent
53
+ */
54
+ this.activeRoutePattern = input('');
40
55
  this.routerLinkComponents = new QueryList();
41
56
  this.active = false;
57
+ this.isPopoverVisible = signal(false);
42
58
  this.faAngleUpRegular = faAngleUp;
43
59
  this.faAngleDownRegular = faAngleDown;
44
60
  /**
@@ -48,43 +64,126 @@ export class SdsNavigationGroupComponent {
48
64
  this._unsubscribe = new Subject();
49
65
  this.isGroupActive = false;
50
66
  this.isActiveGroupClosed = false;
67
+ this.#MOUSE_MOVE_TO_POPOVER_DELAY = 200;
68
+ this.#pendingOpenTimeoutId = null;
69
+ this.#pendingCloseTimeoutId = null;
70
+ this.#closeRequested = false;
51
71
  this.isCollapsed = model(false);
72
+ this.lastPointerType = signal('mouse');
73
+ this.isTouchPointerType = computed(() => this.lastPointerType() === 'touch');
74
+ this.#activeRoutePatternRegExp = computed(() => {
75
+ if (!this.activeRoutePattern()) {
76
+ return null;
77
+ }
78
+ if (typeof this.activeRoutePattern() === 'string') {
79
+ return new RegExp(this.activeRoutePattern());
80
+ }
81
+ return this.activeRoutePattern();
82
+ });
52
83
  }
84
+ #activeRoutePatternRegExp;
53
85
  ngOnInit() {
54
86
  this._router.events.pipe(filter((event) => event instanceof NavigationEnd), takeUntil(this._unsubscribe)).subscribe((event) => {
55
87
  if (event instanceof NavigationEnd) {
56
- const activeRoute = this.ignoreQueryParamsInActiveRoute ? removeQueryParams(event.urlAfterRedirects) : event.urlAfterRedirects;
57
- const route = activeRoute.split('/').filter(item => item.length > 0);
58
- this.currentUrl = route;
59
- this.isGroupActive = isUrlPartOfNavigationGroup(this.currentUrl, this.navigationGroupNestedRoutes, this.defaultRouterLink);
60
- console.debug(`Nav group [${this.text}] active check (NavigationEnd): isGroupActive = ${this.isGroupActive} for route ${this.currentUrl}, navigationGroupNestedRoutes = ${this.navigationGroupNestedRoutes}, defaultRouterLink = ${this.defaultRouterLink}`);
88
+ this.isPopoverVisible.set(false);
89
+ if (this.#activeRoutePatternRegExp()) {
90
+ this.isGroupActive = this.#activeRoutePatternRegExp().test(event.urlAfterRedirects);
91
+ }
92
+ else {
93
+ const activeRoute = this.ignoreQueryParamsInActiveRoute ? removeQueryParams(event.urlAfterRedirects) : event.urlAfterRedirects;
94
+ const route = activeRoute.split('/').filter(item => item.length > 0);
95
+ this.currentUrl = route;
96
+ this.isGroupActive = isUrlPartOfNavigationGroup(this.currentUrl, this.navigationGroupNestedRoutes, this.defaultRouterLink);
97
+ }
61
98
  }
62
99
  });
63
100
  }
64
101
  ngOnChanges(changes) {
65
102
  if (changes['navigationGroupNestedRoutes'] || changes['defaultRouterLink']) {
66
- const activeRoute = this.ignoreQueryParamsInActiveRoute ? removeQueryParams(this._router.url) : this._router.url;
67
- const route = activeRoute.split('/').filter(item => item.length > 0);
68
- this.currentUrl = route;
69
- this.isGroupActive = isUrlPartOfNavigationGroup(this.currentUrl, this.navigationGroupNestedRoutes, this.defaultRouterLink);
70
- console.debug(`Nav group [${this.text}] active check (onChanges): isGroupActive = ${this.isGroupActive} for route ${this.currentUrl}, navigationGroupNestedRoutes = ${this.navigationGroupNestedRoutes}, defaultRouterLink = ${this.defaultRouterLink}`);
103
+ this.isPopoverVisible.set(false);
104
+ if (this.#activeRoutePatternRegExp()) {
105
+ this.isGroupActive = this.#activeRoutePatternRegExp().test(this._router.url);
106
+ }
107
+ else {
108
+ const activeRoute = this.ignoreQueryParamsInActiveRoute ? removeQueryParams(this._router.url) : this._router.url;
109
+ const route = activeRoute.split('/').filter(item => item.length > 0);
110
+ this.currentUrl = route;
111
+ this.isGroupActive = isUrlPartOfNavigationGroup(this.currentUrl, this.navigationGroupNestedRoutes, this.defaultRouterLink);
112
+ }
71
113
  }
72
114
  }
73
115
  ngOnDestroy() {
74
116
  this._unsubscribe.next();
75
117
  this._unsubscribe.complete();
76
118
  }
119
+ onMouseEnter() {
120
+ const isTouchPointerType = this.isTouchPointerType();
121
+ if (!isTouchPointerType) {
122
+ if (this.#pendingCloseTimeoutId != null) {
123
+ clearTimeout(this.#pendingCloseTimeoutId);
124
+ }
125
+ this.#pendingCloseTimeoutId = null;
126
+ this.#closeRequested = false;
127
+ const timeoutId = window.setTimeout(() => {
128
+ if (!this.#closeRequested) {
129
+ this.isPopoverVisible.set(true);
130
+ }
131
+ this.#pendingOpenTimeoutId = null;
132
+ }, this.#MOUSE_MOVE_TO_POPOVER_DELAY);
133
+ this.#pendingOpenTimeoutId = timeoutId;
134
+ }
135
+ }
136
+ onMouseLeave() {
137
+ const isTouchPointerType = this.isTouchPointerType();
138
+ if (!isTouchPointerType) {
139
+ if (!this.isPopoverVisible()) {
140
+ if (this.#pendingOpenTimeoutId != null) {
141
+ clearTimeout(this.#pendingOpenTimeoutId);
142
+ }
143
+ this.#pendingOpenTimeoutId = null;
144
+ this.#closeRequested = true;
145
+ }
146
+ else {
147
+ const timeoutId = window.setTimeout(() => {
148
+ this.isPopoverVisible.set(false);
149
+ this.#closeRequested = true;
150
+ this.#pendingCloseTimeoutId = null;
151
+ }, this.#MOUSE_MOVE_TO_POPOVER_DELAY);
152
+ this.#pendingCloseTimeoutId = timeoutId;
153
+ }
154
+ }
155
+ }
156
+ onClick() {
157
+ const isTouchPointerType = this.isTouchPointerType();
158
+ if (isTouchPointerType && this.isCollapsed()) {
159
+ this.isPopoverVisible.set(true);
160
+ }
161
+ else {
162
+ if (this.defaultRouterLink) {
163
+ this._router.navigateByUrl(this.defaultRouterLink);
164
+ }
165
+ }
166
+ }
77
167
  onHiding(e) {
78
- const popoverContent = e.component.content().parentNode;
79
- const isMouseInsidePopover = popoverContent.matches(':hover');
80
- e.cancel = isMouseInsidePopover;
81
- popoverContent.addEventListener('mouseleave', () => {
82
- popoverContent.removeEventListener('mouseleave', () => { });
83
- e.component.hide();
84
- });
168
+ const isTouchPointerType = this.isTouchPointerType();
169
+ if (!isTouchPointerType) {
170
+ const popoverContent = e.component.content().parentNode;
171
+ const isMouseInsidePopover = popoverContent.matches(':hover');
172
+ e.cancel = isMouseInsidePopover;
173
+ if (isMouseInsidePopover) {
174
+ this.#closeRequested = false;
175
+ popoverContent.addEventListener('mouseleave', () => {
176
+ popoverContent.removeEventListener('mouseleave', () => { });
177
+ e.component.hide();
178
+ });
179
+ }
180
+ }
181
+ }
182
+ rememberPointer(e) {
183
+ this.lastPointerType.set(e.pointerType ?? 'mouse');
85
184
  }
86
185
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsNavigationGroupComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: SdsNavigationGroupComponent, isStandalone: true, selector: "sds-navigation-group", inputs: { navigationGroupNestedRoutes: { classPropertyName: "navigationGroupNestedRoutes", publicName: "navigationGroupNestedRoutes", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, defaultRouterLink: { classPropertyName: "defaultRouterLink", publicName: "defaultRouterLink", isSignal: false, isRequired: false, transformFunction: null }, reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: false, isRequired: false, transformFunction: null }, ignoreQueryParamsInActiveRoute: { classPropertyName: "ignoreQueryParamsInActiveRoute", publicName: "ignoreQueryParamsInActiveRoute", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, showPopover: { classPropertyName: "showPopover", publicName: "showPopover", isSignal: false, isRequired: false, transformFunction: null }, showPopoverHeader: { classPropertyName: "showPopoverHeader", publicName: "showPopoverHeader", isSignal: false, isRequired: false, transformFunction: null }, lightStyle: { classPropertyName: "lightStyle", publicName: "lightStyle", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, queries: [{ propertyName: "routerLinkComponents", predicate: SdsNavigationRouteLinkComponent }], usesOnChanges: true, ngImport: i0, template: "<div \r\n #navigationGroup\r\n class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.sds-navigation-group-light-style]=\"lightStyle()\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class.disabled]=\"disabled\"\r\n [class.active]=\"isGroupActive\"\r\n [class.collapsed]=\"isCollapsed()\"\r\n >\r\n <a \r\n class=\"w-100 sds-navigation-item-content p-2 text-gray-800 sds-fs-93\"\r\n [class.collapsed]=\"isCollapsed()\"\r\n style=\"cursor: pointer\"\r\n [routerLink]=\"isCollapsed() ? undefined : [defaultRouterLink]\">\r\n <div class=\"d-flex align-items-center w-100 justify-content-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!isCollapsed()\">\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </a>\r\n\r\n <div \r\n class=\"sub-menu\" \r\n *ngIf=\"!isCollapsed()\">\r\n\r\n <div class=\"sds-navigation-group-items sds-flex-column gap-05\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"isCollapsed() || (showPopover && !isGroupActive)\">\r\n <dx-popover\r\n [target]=\"navigationGroup\"\r\n [showEvent]=\"{ name: 'dxhoverstart', delay: 100 }\"\r\n [hideEvent]=\"{ name: 'dxhoverend', delay: 100 }\"\r\n (onHiding)=\"onHiding($event)\"\r\n width=\"15rem\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-group-popover-wrapper sds-dx-popup-content-padding-2' }\"\r\n [hideOnOutsideClick]=\"true\"\r\n [hideOnParentScroll]=\"true\"\r\n [animation]=\"{}\"\r\n >\r\n\r\n <dxo-position\r\n my=\"top left\"\r\n at=\"top right\"\r\n [of]=\"navigationGroup\"\r\n offset=\"-12 0\"\r\n >\r\n </dxo-position>\r\n\r\n <div *ngIf=\"showPopoverHeader\" class=\"group-header user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div \r\n class=\"sds-navigation-container sds-navigation-popover-container sds-scrollbar sds-scrollbar-thin sds-scrollbar-no-hide\"\r\n >\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content select=\"[popoverContent]\"></ng-content>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n</ng-container>\r\n", styles: [".gap-05{gap:.125rem!important}.sds-navigation-group.sds-navigation-item-container{border-radius:.5rem;border-left:none!important;padding-top:0!important;padding-bottom:0!important}.sds-navigation-group.sds-navigation-item-container a{padding-top:.6rem!important;padding-bottom:.6rem!important}.sds-navigation-group.sds-navigation-item-container.disabled{pointer-events:none;opacity:.6}.sds-navigation-group.active>a{font-weight:600}.sds-navigation-group.active:not(.collapsed){background-color:transparent!important}.sds-navigation-group .sub-menu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease-out}.sds-navigation-group .sub-menu>div{overflow:hidden;min-height:0}.sds-navigation-group.active .sub-menu{grid-template-rows:1fr}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-0 .dx-popup-content{padding:0rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-1 .dx-popup-content{padding:.25rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-2 .dx-popup-content{padding:.5rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-3 .dx-popup-content{padding:1rem}::ng-deep .sds-navigation-group-popover-wrapper .dx-popover-arrow{display:none}::ng-deep .sds-navigation-group-popover-wrapper .group-header{font-weight:600;padding:.25rem .75rem .5rem .5rem}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container{color:var(--bs-body-color)!important;padding-bottom:.07rem;overflow-y:auto;max-height:45vh}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .active{font-weight:500}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-icon{display:none}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container{border-left:none;padding-top:.25rem;padding-bottom:.25rem;border-radius:var(--bs-border-radius);color:var(--bs-body-color)!important}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container .sds-navigation-item-content{padding-top:.25rem;padding-bottom:.25rem;padding-left:1rem;color:var(--bs-body-color)!important}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container .sds-navigation-header{color:var(--bs-body-color)!important}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i3.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "ngmodule", type: DxoPositionModule }] }); }
186
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: SdsNavigationGroupComponent, isStandalone: true, selector: "sds-navigation-group", inputs: { navigationGroupNestedRoutes: { classPropertyName: "navigationGroupNestedRoutes", publicName: "navigationGroupNestedRoutes", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, defaultRouterLink: { classPropertyName: "defaultRouterLink", publicName: "defaultRouterLink", isSignal: false, isRequired: false, transformFunction: null }, reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: false, isRequired: false, transformFunction: null }, ignoreQueryParamsInActiveRoute: { classPropertyName: "ignoreQueryParamsInActiveRoute", publicName: "ignoreQueryParamsInActiveRoute", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, showPopover: { classPropertyName: "showPopover", publicName: "showPopover", isSignal: false, isRequired: false, transformFunction: null }, showPopoverHeader: { classPropertyName: "showPopoverHeader", publicName: "showPopoverHeader", isSignal: false, isRequired: false, transformFunction: null }, lightStyle: { classPropertyName: "lightStyle", publicName: "lightStyle", isSignal: true, isRequired: false, transformFunction: null }, activeRoutePattern: { classPropertyName: "activeRoutePattern", publicName: "activeRoutePattern", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, queries: [{ propertyName: "routerLinkComponents", predicate: SdsNavigationRouteLinkComponent }], usesOnChanges: true, ngImport: i0, template: "<div \n #navigationGroup\n class=\"sds-navigation-group sds-navigation-item-container d-flex\"\n [class.sds-navigation-group-light-style]=\"lightStyle()\"\n [class.flex-column-reverse]=\"reverse\"\n [class.flex-column]=\"!reverse\"\n [class.disabled]=\"disabled\"\n [class.active]=\"isGroupActive\"\n [class.collapsed]=\"isCollapsed()\"\n [class.popoverVisible]=\"isPopoverVisible()\"\n >\n <a \n class=\"w-100 sds-navigation-item-content p-2 text-gray-800 sds-fs-93\"\n [class.collapsed]=\"isCollapsed()\"\n style=\"cursor: pointer\"\n [routerLink]=\"(isCollapsed() && isTouchPointerType()) ? undefined : [defaultRouterLink]\"\n (pointerdown)=\"rememberPointer($event)\"\n\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (click)=\"onClick()\"\n >\n <div class=\"d-flex align-items-center w-100 justify-content-center\">\n <div class=\"sds-navigation-icon\" >\n <ng-content select=\"[navigationIcon]\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"!isCollapsed()\">\n <div class=\"sds-navigation-text user-select-none\">\n {{ text }}\n </div>\n <div class=\"text-right group-dropdown\">\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\n </div>\n </ng-container>\n </div>\n </a>\n\n <div \n class=\"sub-menu\" \n *ngIf=\"!isCollapsed()\">\n\n <div class=\"sds-navigation-group-items sds-flex-column gap-05\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"isCollapsed() || (showPopover && !isGroupActive)\">\n <dx-popover\n [target]=\"navigationGroup\"\n \n \n (onHiding)=\"onHiding($event)\"\n width=\"15rem\"\n [wrapperAttr]=\"{ class: 'sds-navigation-group-popover-wrapper sds-dx-popup-content-padding-2', style: 'border-left: none'}\"\n [hideOnOutsideClick]=\"true\"\n [hideOnParentScroll]=\"true\"\n [animation]=\"{}\"\n [(visible)]=\"isPopoverVisible\"\n >\n\n <dxo-position\n my=\"top left\"\n at=\"top right\"\n [of]=\"navigationGroup\"\n offset=\"-10 -5\"\n >\n </dxo-position>\n\n <div *ngIf=\"showPopoverHeader && isCollapsed()\" class=\"group-header user-select-none\">\n {{ text }}\n </div>\n <div \n class=\"sds-navigation-container sds-navigation-popover-container sds-scrollbar sds-scrollbar-thin sds-scrollbar-no-hide\"\n >\n <div class=\"sds-navigation-group-items\">\n <ng-content select=\"[popoverContent]\"></ng-content>\n </div>\n </div>\n </dx-popover>\n</ng-container>\n", styles: [".gap-05{gap:.125rem!important}.sds-navigation-group.sds-navigation-item-container{border-radius:.266rem;border-left:none!important;padding-top:0!important;padding-bottom:0!important}.sds-navigation-group.sds-navigation-item-container a{padding-top:.6rem!important;padding-bottom:.6rem!important}.sds-navigation-group.sds-navigation-item-container.disabled{pointer-events:none;opacity:.6}.sds-navigation-group.active{background-color:var(--sds-navigation-active-item)!important}.sds-navigation-group.active>a{font-weight:600}.sds-navigation-group.active:not(.collapsed){background-color:transparent!important}.sds-navigation-group .group-dropdown{transition:transform .2s ease-out}.sds-navigation-group.popoverVisible:not(.active){background-color:var(--bs-gray-200)}.sds-navigation-group.popoverVisible:not(.active) .group-dropdown{transform:rotate(-90deg)}.sds-navigation-group .sub-menu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease-out}.sds-navigation-group .sub-menu>div{overflow:hidden;min-height:0}.sds-navigation-group.active .sub-menu{grid-template-rows:1fr}::ng-deep .sds-navigation-group-popover-wrapper{--sds-navigation-active-item: oklch(.6 .2 var(--sds-brand-hue) / .12)}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-0 .dx-popup-content{padding:0rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-1 .dx-popup-content{padding:.25rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-2 .dx-popup-content{padding:.5rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-3 .dx-popup-content{padding:1rem}::ng-deep .sds-navigation-group-popover-wrapper .dx-popover-arrow{display:none}::ng-deep .sds-navigation-group-popover-wrapper .group-header{font-weight:600;padding:.25rem .75rem .5rem .5rem}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container{color:var(--bs-body-color)!important;padding-bottom:.07rem;overflow-y:auto;max-height:45vh}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .active{font-weight:500}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-icon{display:none}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container{border-left:none;padding-top:.25rem;padding-bottom:.25rem;border-radius:var(--bs-border-radius);color:var(--bs-body-color)!important}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container .sds-navigation-item-content{padding-top:.25rem;padding-bottom:.25rem;padding-left:1rem;color:var(--bs-body-color)!important}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container .sds-navigation-header{color:var(--bs-body-color)!important}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i3.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "ngmodule", type: DxoPositionModule }] }); }
88
187
  }
89
188
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsNavigationGroupComponent, decorators: [{
90
189
  type: Component,
@@ -93,8 +192,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
93
192
  NgIf,
94
193
  FaIconComponent,
95
194
  DxPopoverModule,
96
- DxoPositionModule,
97
- ], template: "<div \r\n #navigationGroup\r\n class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.sds-navigation-group-light-style]=\"lightStyle()\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class.disabled]=\"disabled\"\r\n [class.active]=\"isGroupActive\"\r\n [class.collapsed]=\"isCollapsed()\"\r\n >\r\n <a \r\n class=\"w-100 sds-navigation-item-content p-2 text-gray-800 sds-fs-93\"\r\n [class.collapsed]=\"isCollapsed()\"\r\n style=\"cursor: pointer\"\r\n [routerLink]=\"isCollapsed() ? undefined : [defaultRouterLink]\">\r\n <div class=\"d-flex align-items-center w-100 justify-content-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!isCollapsed()\">\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </a>\r\n\r\n <div \r\n class=\"sub-menu\" \r\n *ngIf=\"!isCollapsed()\">\r\n\r\n <div class=\"sds-navigation-group-items sds-flex-column gap-05\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"isCollapsed() || (showPopover && !isGroupActive)\">\r\n <dx-popover\r\n [target]=\"navigationGroup\"\r\n [showEvent]=\"{ name: 'dxhoverstart', delay: 100 }\"\r\n [hideEvent]=\"{ name: 'dxhoverend', delay: 100 }\"\r\n (onHiding)=\"onHiding($event)\"\r\n width=\"15rem\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-group-popover-wrapper sds-dx-popup-content-padding-2' }\"\r\n [hideOnOutsideClick]=\"true\"\r\n [hideOnParentScroll]=\"true\"\r\n [animation]=\"{}\"\r\n >\r\n\r\n <dxo-position\r\n my=\"top left\"\r\n at=\"top right\"\r\n [of]=\"navigationGroup\"\r\n offset=\"-12 0\"\r\n >\r\n </dxo-position>\r\n\r\n <div *ngIf=\"showPopoverHeader\" class=\"group-header user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div \r\n class=\"sds-navigation-container sds-navigation-popover-container sds-scrollbar sds-scrollbar-thin sds-scrollbar-no-hide\"\r\n >\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content select=\"[popoverContent]\"></ng-content>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n</ng-container>\r\n", styles: [".gap-05{gap:.125rem!important}.sds-navigation-group.sds-navigation-item-container{border-radius:.5rem;border-left:none!important;padding-top:0!important;padding-bottom:0!important}.sds-navigation-group.sds-navigation-item-container a{padding-top:.6rem!important;padding-bottom:.6rem!important}.sds-navigation-group.sds-navigation-item-container.disabled{pointer-events:none;opacity:.6}.sds-navigation-group.active>a{font-weight:600}.sds-navigation-group.active:not(.collapsed){background-color:transparent!important}.sds-navigation-group .sub-menu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease-out}.sds-navigation-group .sub-menu>div{overflow:hidden;min-height:0}.sds-navigation-group.active .sub-menu{grid-template-rows:1fr}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-0 .dx-popup-content{padding:0rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-1 .dx-popup-content{padding:.25rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-2 .dx-popup-content{padding:.5rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-3 .dx-popup-content{padding:1rem}::ng-deep .sds-navigation-group-popover-wrapper .dx-popover-arrow{display:none}::ng-deep .sds-navigation-group-popover-wrapper .group-header{font-weight:600;padding:.25rem .75rem .5rem .5rem}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container{color:var(--bs-body-color)!important;padding-bottom:.07rem;overflow-y:auto;max-height:45vh}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .active{font-weight:500}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-icon{display:none}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container{border-left:none;padding-top:.25rem;padding-bottom:.25rem;border-radius:var(--bs-border-radius);color:var(--bs-body-color)!important}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container .sds-navigation-item-content{padding-top:.25rem;padding-bottom:.25rem;padding-left:1rem;color:var(--bs-body-color)!important}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container .sds-navigation-header{color:var(--bs-body-color)!important}\n"] }]
195
+ DxoPositionModule
196
+ ], template: "<div \n #navigationGroup\n class=\"sds-navigation-group sds-navigation-item-container d-flex\"\n [class.sds-navigation-group-light-style]=\"lightStyle()\"\n [class.flex-column-reverse]=\"reverse\"\n [class.flex-column]=\"!reverse\"\n [class.disabled]=\"disabled\"\n [class.active]=\"isGroupActive\"\n [class.collapsed]=\"isCollapsed()\"\n [class.popoverVisible]=\"isPopoverVisible()\"\n >\n <a \n class=\"w-100 sds-navigation-item-content p-2 text-gray-800 sds-fs-93\"\n [class.collapsed]=\"isCollapsed()\"\n style=\"cursor: pointer\"\n [routerLink]=\"(isCollapsed() && isTouchPointerType()) ? undefined : [defaultRouterLink]\"\n (pointerdown)=\"rememberPointer($event)\"\n\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (click)=\"onClick()\"\n >\n <div class=\"d-flex align-items-center w-100 justify-content-center\">\n <div class=\"sds-navigation-icon\" >\n <ng-content select=\"[navigationIcon]\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"!isCollapsed()\">\n <div class=\"sds-navigation-text user-select-none\">\n {{ text }}\n </div>\n <div class=\"text-right group-dropdown\">\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\n </div>\n </ng-container>\n </div>\n </a>\n\n <div \n class=\"sub-menu\" \n *ngIf=\"!isCollapsed()\">\n\n <div class=\"sds-navigation-group-items sds-flex-column gap-05\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"isCollapsed() || (showPopover && !isGroupActive)\">\n <dx-popover\n [target]=\"navigationGroup\"\n \n \n (onHiding)=\"onHiding($event)\"\n width=\"15rem\"\n [wrapperAttr]=\"{ class: 'sds-navigation-group-popover-wrapper sds-dx-popup-content-padding-2', style: 'border-left: none'}\"\n [hideOnOutsideClick]=\"true\"\n [hideOnParentScroll]=\"true\"\n [animation]=\"{}\"\n [(visible)]=\"isPopoverVisible\"\n >\n\n <dxo-position\n my=\"top left\"\n at=\"top right\"\n [of]=\"navigationGroup\"\n offset=\"-10 -5\"\n >\n </dxo-position>\n\n <div *ngIf=\"showPopoverHeader && isCollapsed()\" class=\"group-header user-select-none\">\n {{ text }}\n </div>\n <div \n class=\"sds-navigation-container sds-navigation-popover-container sds-scrollbar sds-scrollbar-thin sds-scrollbar-no-hide\"\n >\n <div class=\"sds-navigation-group-items\">\n <ng-content select=\"[popoverContent]\"></ng-content>\n </div>\n </div>\n </dx-popover>\n</ng-container>\n", styles: [".gap-05{gap:.125rem!important}.sds-navigation-group.sds-navigation-item-container{border-radius:.266rem;border-left:none!important;padding-top:0!important;padding-bottom:0!important}.sds-navigation-group.sds-navigation-item-container a{padding-top:.6rem!important;padding-bottom:.6rem!important}.sds-navigation-group.sds-navigation-item-container.disabled{pointer-events:none;opacity:.6}.sds-navigation-group.active{background-color:var(--sds-navigation-active-item)!important}.sds-navigation-group.active>a{font-weight:600}.sds-navigation-group.active:not(.collapsed){background-color:transparent!important}.sds-navigation-group .group-dropdown{transition:transform .2s ease-out}.sds-navigation-group.popoverVisible:not(.active){background-color:var(--bs-gray-200)}.sds-navigation-group.popoverVisible:not(.active) .group-dropdown{transform:rotate(-90deg)}.sds-navigation-group .sub-menu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease-out}.sds-navigation-group .sub-menu>div{overflow:hidden;min-height:0}.sds-navigation-group.active .sub-menu{grid-template-rows:1fr}::ng-deep .sds-navigation-group-popover-wrapper{--sds-navigation-active-item: oklch(.6 .2 var(--sds-brand-hue) / .12)}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-0 .dx-popup-content{padding:0rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-1 .dx-popup-content{padding:.25rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-2 .dx-popup-content{padding:.5rem}::ng-deep .sds-navigation-group-popover-wrapper.sds-dx-popup-content-padding-3 .dx-popup-content{padding:1rem}::ng-deep .sds-navigation-group-popover-wrapper .dx-popover-arrow{display:none}::ng-deep .sds-navigation-group-popover-wrapper .group-header{font-weight:600;padding:.25rem .75rem .5rem .5rem}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container{color:var(--bs-body-color)!important;padding-bottom:.07rem;overflow-y:auto;max-height:45vh}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .active{font-weight:500}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-icon{display:none}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container{border-left:none;padding-top:.25rem;padding-bottom:.25rem;border-radius:var(--bs-border-radius);color:var(--bs-body-color)!important}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container .sds-navigation-item-content{padding-top:.25rem;padding-bottom:.25rem;padding-left:1rem;color:var(--bs-body-color)!important}::ng-deep .sds-navigation-group-popover-wrapper .sds-navigation-container.sds-navigation-popover-container .sds-navigation-group-items .sds-navigation-item-container .sds-navigation-header{color:var(--bs-body-color)!important}\n"] }]
98
197
  }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { navigationGroupNestedRoutes: [{
99
198
  type: Input
100
199
  }], text: [{
@@ -117,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
117
216
  type: ContentChildren,
118
217
  args: [SdsNavigationRouteLinkComponent]
119
218
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZ3JvdXAvbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZ3JvdXAvbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBQ0wsS0FBSyxFQUlMLFNBQVMsRUFFVCxLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBVSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUUzRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFnQnZDLE1BQU0sT0FBTywyQkFBMkI7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UUFFdkIsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDOytHQTdGUSwyQkFBMkI7bUdBQTNCLDJCQUEyQixrdkRBMkJuQiwrQkFBK0Isa0RDbEVwRCx3MkZBMkVBLHV1RkQzQ1EsVUFBVSxvT0FDVixJQUFJLDZGQUNKLGVBQWUsaVBBQ2YsZUFBZSxvK0NBQ2YsaUJBQWlCOzs0RkFHWiwyQkFBMkI7a0JBYnZDLFNBQVM7K0JBQ0ksc0JBQXNCLGNBR3BCLElBQUksV0FDUDt3QkFDTCxVQUFVO3dCQUNWLElBQUk7d0JBQ0osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGlCQUFpQjtxQkFDcEI7MkVBV0csMkJBQTJCO3NCQUQ5QixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyw4QkFBOEI7c0JBQXRDLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFLTixvQkFBb0I7c0JBRG5CLGVBQWU7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyQ29udGVudEluaXQsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgICBpbnB1dCxcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgc2lnbmFsLFxyXG4gICAgbW9kZWwsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uUm91dGVMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1yb3V0ZS1saW5rL25hdmlnYXRpb24tcm91dGUtbGluay5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgZmFBbmdsZVVwLCBmYUFuZ2xlRG93biB9IGZyb20gJ0Bmb3J0YXdlc29tZS9wcm8tcmVndWxhci1zdmctaWNvbnMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBpc1VybFBhcnRPZk5hdmlnYXRpb25Hcm91cCwgcmVtb3ZlUXVlcnlQYXJhbXMgfSBmcm9tICcuLi91dGlscy9uYXZpZ2F0aW9uLnV0aWxzJztcclxuaW1wb3J0IHsgRHhvUG9zaXRpb25Nb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb2xsYXBzaWJsZU5hdmlnYXRpb25FbnRpdHkgfSBmcm9tICcuLi9tb2RlbHMvbmF2aWdhdGlvbi1tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Nkcy1uYXZpZ2F0aW9uLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgUm91dGVyTGluayxcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIEZhSWNvbkNvbXBvbmVudCxcclxuICAgICAgICBEeFBvcG92ZXJNb2R1bGUsXHJcbiAgICAgICAgRHhvUG9zaXRpb25Nb2R1bGUsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzTmF2aWdhdGlvbkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbGxhcHNpYmxlTmF2aWdhdGlvbkVudGl0eSwgT25DaGFuZ2VzIHtcclxuICAgIC8qKlxyXG4gICAgICogTGlzdCBvZiBwYXRocyBhbGxvd2VkL2V4cGVjdGVkIHdpdGhpbiB0aGlzIG1vZHVsZS5cclxuICAgICAqIFRoZXNlIGFyZSBwYXRocyB0aGF0IGFyZSBub3QgYWNjZXNzaWJsZSB0aHJvdWdoIGNoaWxkIG5hdmlnYXRpb25cclxuICAgICAqIGVsZW1lbnRzLCBidXQgdGhyb3VnaCBsaW5rcyBpbiBvdGhlciBwYXJ0cyBvZiB0aGUgYXBwbGljYXRpb24gKGUuZy4gbGlua1xyXG4gICAgICogb24gZm9ybSlcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbmF2aWdhdGlvbkdyb3VwTmVzdGVkUm91dGVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBuYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXModmFsdWU6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkdyb3VwTmVzdGVkUm91dGVzID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBnZXQgbmF2aWdhdGlvbkdyb3VwTmVzdGVkUm91dGVzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXM7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgdGV4dDogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIGRlZmF1bHRSb3V0ZXJMaW5rOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHJldmVyc2UgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGlnbm9yZVF1ZXJ5UGFyYW1zSW5BY3RpdmVSb3V0ZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHNob3dQb3BvdmVyID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzaG93UG9wb3ZlckhlYWRlciA9IGZhbHNlO1xyXG5cclxuICAgIGxpZ2h0U3R5bGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHJcbiAgICBAQ29udGVudENoaWxkcmVuKFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQpXHJcbiAgICByb3V0ZXJMaW5rQ29tcG9uZW50czogUXVlcnlMaXN0PFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQ+ID0gbmV3IFF1ZXJ5TGlzdDxTZHNOYXZpZ2F0aW9uUm91dGVMaW5rQ29tcG9uZW50PigpO1xyXG5cclxuICAgIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGZhQW5nbGVVcFJlZ3VsYXIgPSBmYUFuZ2xlVXA7XHJcbiAgICBmYUFuZ2xlRG93blJlZ3VsYXIgPSBmYUFuZ2xlRG93bjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1cnJlbnQgYXBwIFVSTCAoZS5nLiBbJ2xheW91dC1zaG93Y2FzZScsICdkZWZhdWx0J10pXHJcbiAgICAgKi9cclxuICAgIGN1cnJlbnRVcmw6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIHB1YmxpYyBpc0dyb3VwQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcm90ZWN0ZWQgaXNBY3RpdmVHcm91cENsb3NlZCA9IGZhbHNlO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcikge31cclxuICAgIFxyXG4gICAgaXNDb2xsYXBzZWQgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50cy5waXBlKFxyXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBhbnkpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSlcclxuICAgICAgICApLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlUm91dGUgPSB0aGlzLmlnbm9yZVF1ZXJ5UGFyYW1zSW5BY3RpdmVSb3V0ZSA/IHJlbW92ZVF1ZXJ5UGFyYW1zKGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzKSA6IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgcm91dGU6IHN0cmluZ1tdID0gYWN0aXZlUm91dGUuc3BsaXQoJy8nKS5maWx0ZXIoaXRlbSA9PiBpdGVtLmxlbmd0aCA+IDApO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50VXJsID0gcm91dGU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzR3JvdXBBY3RpdmUgPSBpc1VybFBhcnRPZk5hdmlnYXRpb25Hcm91cCh0aGlzLmN1cnJlbnRVcmwsIHRoaXMubmF2aWdhdGlvbkdyb3VwTmVzdGVkUm91dGVzLCB0aGlzLmRlZmF1bHRSb3V0ZXJMaW5rKTtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmRlYnVnKGBOYXYgZ3JvdXAgWyR7dGhpcy50ZXh0fV0gYWN0aXZlIGNoZWNrIChOYXZpZ2F0aW9uRW5kKTogaXNHcm91cEFjdGl2ZSA9ICR7dGhpcy5pc0dyb3VwQWN0aXZlfSBmb3Igcm91dGUgJHt0aGlzLmN1cnJlbnRVcmx9LCBuYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXMgPSAke3RoaXMubmF2aWdhdGlvbkdyb3VwTmVzdGVkUm91dGVzfSwgZGVmYXVsdFJvdXRlckxpbmsgPSAke3RoaXMuZGVmYXVsdFJvdXRlckxpbmt9YCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ25hdmlnYXRpb25Hcm91cE5lc3RlZFJvdXRlcyddIHx8IGNoYW5nZXNbJ2RlZmF1bHRSb3V0ZXJMaW5rJ10pIHtcclxuICAgICAgICAgICAgY29uc3QgYWN0aXZlUm91dGUgPSB0aGlzLmlnbm9yZVF1ZXJ5UGFyYW1zSW5BY3RpdmVSb3V0ZSA/IHJlbW92ZVF1ZXJ5UGFyYW1zKHRoaXMuX3JvdXRlci51cmwpIDogdGhpcy5fcm91dGVyLnVybDtcclxuICAgICAgICAgICAgY29uc3Qgcm91dGU6IHN0cmluZ1tdID0gYWN0aXZlUm91dGUuc3BsaXQoJy8nKS5maWx0ZXIoaXRlbSA9PiBpdGVtLmxlbmd0aCA+IDApO1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRVcmwgPSByb3V0ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuaXNHcm91cEFjdGl2ZSA9IGlzVXJsUGFydE9mTmF2aWdhdGlvbkdyb3VwKHRoaXMuY3VycmVudFVybCwgdGhpcy5uYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXMsIHRoaXMuZGVmYXVsdFJvdXRlckxpbmspO1xyXG4gICAgICAgICAgICBjb25zb2xlLmRlYnVnKGBOYXYgZ3JvdXAgWyR7dGhpcy50ZXh0fV0gYWN0aXZlIGNoZWNrIChvbkNoYW5nZXMpOiBpc0dyb3VwQWN0aXZlID0gJHt0aGlzLmlzR3JvdXBBY3RpdmV9IGZvciByb3V0ZSAke3RoaXMuY3VycmVudFVybH0sIG5hdmlnYXRpb25Hcm91cE5lc3RlZFJvdXRlcyA9ICR7dGhpcy5uYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXN9LCBkZWZhdWx0Um91dGVyTGluayA9ICR7dGhpcy5kZWZhdWx0Um91dGVyTGlua31gKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25IaWRpbmcoZTogYW55KSB7XHJcbiAgICAgICAgY29uc3QgcG9wb3ZlckNvbnRlbnQgPSBlLmNvbXBvbmVudC5jb250ZW50KCkucGFyZW50Tm9kZTtcclxuICAgICAgICBjb25zdCBpc01vdXNlSW5zaWRlUG9wb3ZlciA9IHBvcG92ZXJDb250ZW50Lm1hdGNoZXMoJzpob3ZlcicpO1xyXG4gICAgICAgIGUuY2FuY2VsID0gaXNNb3VzZUluc2lkZVBvcG92ZXI7XHJcblxyXG4gICAgICAgIHBvcG92ZXJDb250ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHBvcG92ZXJDb250ZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB7fSk7XHJcbiAgICAgICAgICAgIGUuY29tcG9uZW50LmhpZGUoKTtcclxuXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgXHJcbiAgICAjbmF2aWdhdGlvbkdyb3VwXHJcbiAgICBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWdyb3VwIHNkcy1uYXZpZ2F0aW9uLWl0ZW0tY29udGFpbmVyIGQtZmxleFwiXHJcbiAgICBbY2xhc3Muc2RzLW5hdmlnYXRpb24tZ3JvdXAtbGlnaHQtc3R5bGVdPVwibGlnaHRTdHlsZSgpXCJcclxuICAgIFtjbGFzcy5mbGV4LWNvbHVtbi1yZXZlcnNlXT1cInJldmVyc2VcIlxyXG4gICAgW2NsYXNzLmZsZXgtY29sdW1uXT1cIiFyZXZlcnNlXCJcclxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbY2xhc3MuYWN0aXZlXT1cImlzR3JvdXBBY3RpdmVcIlxyXG4gICAgW2NsYXNzLmNvbGxhcHNlZF09XCJpc0NvbGxhcHNlZCgpXCJcclxuICAgID5cclxuICAgIDxhIFxyXG4gICAgICAgIGNsYXNzPVwidy0xMDAgc2RzLW5hdmlnYXRpb24taXRlbS1jb250ZW50IHAtMiB0ZXh0LWdyYXktODAwIHNkcy1mcy05M1wiXHJcbiAgICAgICAgW2NsYXNzLmNvbGxhcHNlZF09XCJpc0NvbGxhcHNlZCgpXCJcclxuICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXHJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiaXNDb2xsYXBzZWQoKSA/IHVuZGVmaW5lZCA6IFtkZWZhdWx0Um91dGVyTGlua11cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi1pY29uXCIgPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW25hdmlnYXRpb25JY29uXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQ29sbGFwc2VkKClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi10ZXh0IHVzZXItc2VsZWN0LW5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZhLWljb24gKm5nSWY9XCIhcmV2ZXJzZVwiIFtpY29uXT1cImZhQW5nbGVEb3duUmVndWxhclwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cInJldmVyc2VcIiBbaWNvbl09XCJmYUFuZ2xlVXBSZWd1bGFyXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9hPlxyXG5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzdWItbWVudVwiIFxyXG4gICAgICAgICpuZ0lmPVwiIWlzQ29sbGFwc2VkKClcIj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWdyb3VwLWl0ZW1zIHNkcy1mbGV4LWNvbHVtbiBnYXAtMDVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ29sbGFwc2VkKCkgfHwgKHNob3dQb3BvdmVyICYmICFpc0dyb3VwQWN0aXZlKVwiPlxyXG4gICAgPGR4LXBvcG92ZXJcclxuICAgICAgICBbdGFyZ2V0XT1cIm5hdmlnYXRpb25Hcm91cFwiXHJcbiAgICAgICAgW3Nob3dFdmVudF09XCJ7IG5hbWU6ICdkeGhvdmVyc3RhcnQnLCBkZWxheTogMTAwIH1cIlxyXG4gICAgICAgIFtoaWRlRXZlbnRdPVwieyBuYW1lOiAnZHhob3ZlcmVuZCcsIGRlbGF5OiAxMDAgfVwiXHJcbiAgICAgICAgKG9uSGlkaW5nKT1cIm9uSGlkaW5nKCRldmVudClcIlxyXG4gICAgICAgIHdpZHRoPVwiMTVyZW1cIlxyXG4gICAgICAgIFt3cmFwcGVyQXR0cl09XCJ7IGNsYXNzOiAnc2RzLW5hdmlnYXRpb24tZ3JvdXAtcG9wb3Zlci13cmFwcGVyIHNkcy1keC1wb3B1cC1jb250ZW50LXBhZGRpbmctMicgfVwiXHJcbiAgICAgICAgW2hpZGVPbk91dHNpZGVDbGlja109XCJ0cnVlXCJcclxuICAgICAgICBbaGlkZU9uUGFyZW50U2Nyb2xsXT1cInRydWVcIlxyXG4gICAgICAgIFthbmltYXRpb25dPVwie31cIlxyXG4gICAgPlxyXG5cclxuICAgICAgICA8ZHhvLXBvc2l0aW9uXHJcbiAgICAgICAgICAgIG15PVwidG9wIGxlZnRcIlxyXG4gICAgICAgICAgICBhdD1cInRvcCByaWdodFwiXHJcbiAgICAgICAgICAgIFtvZl09XCJuYXZpZ2F0aW9uR3JvdXBcIlxyXG4gICAgICAgICAgICBvZmZzZXQ9XCItMTIgMFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICA8L2R4by1wb3NpdGlvbj5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3dQb3BvdmVySGVhZGVyXCIgY2xhc3M9XCJncm91cC1oZWFkZXIgdXNlci1zZWxlY3Qtbm9uZVwiPlxyXG4gICAgICAgICAgICB7eyB0ZXh0IH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi1jb250YWluZXIgc2RzLW5hdmlnYXRpb24tcG9wb3Zlci1jb250YWluZXIgc2RzLXNjcm9sbGJhciBzZHMtc2Nyb2xsYmFyLXRoaW4gc2RzLXNjcm9sbGJhci1uby1oaWRlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RzLW5hdmlnYXRpb24tZ3JvdXAtaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwb3BvdmVyQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9keC1wb3BvdmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZ3JvdXAvbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZ3JvdXAvbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBQ0wsS0FBSyxFQUlMLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFVLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBRTNHLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQWdC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LEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7K0dBeE1RLDJCQUEyQjttR0FBM0IsMkJBQTJCLGk1REEyQ25CLCtCQUErQixrRENsRnBELCs4RkFtRkEsa3JHRG5EUSxVQUFVLG9PQUNWLElBQUksNkZBQ0osZUFBZSxpUEFDZixlQUFlLG8rQ0FDZixpQkFBaUI7OzRGQUdaLDJCQUEyQjtrQkFidkMsU0FBUzsrQkFDSSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQO3dCQUNMLFVBQVU7d0JBQ1YsSUFBSTt3QkFDSixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNwQjsyRUFjRywyQkFBMkI7c0JBRDlCLEtBQUs7Z0JBUUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUdHLDhCQUE4QjtzQkFBdEMsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQWVOLG9CQUFvQjtzQkFEbkIsZUFBZTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgaW5wdXQsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIHNpZ25hbCxcbiAgICBtb2RlbCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIGNvbXB1dGVkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLXJvdXRlLWxpbmsvbmF2aWdhdGlvbi1yb3V0ZS1saW5rLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IGZhQW5nbGVVcCwgZmFBbmdsZURvd24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcHJvLXJlZ3VsYXItc3ZnLWljb25zJztcbmltcG9ydCB7IGZpbHRlciwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc1VybFBhcnRPZk5hdmlnYXRpb25Hcm91cCwgcmVtb3ZlUXVlcnlQYXJhbXMgfSBmcm9tICcuLi91dGlscy9uYXZpZ2F0aW9uLnV0aWxzJztcbmltcG9ydCB7IER4b1Bvc2l0aW9uTW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL25lc3RlZCc7XG5pbXBvcnQgeyBEeFBvcG92ZXJNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvcG9wb3Zlcic7XG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbGxhcHNpYmxlTmF2aWdhdGlvbkVudGl0eSB9IGZyb20gJy4uL21vZGVscy9uYXZpZ2F0aW9uLW1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2RzLW5hdmlnYXRpb24tZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFJvdXRlckxpbmssXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEZhSWNvbkNvbXBvbmVudCxcbiAgICAgICAgRHhQb3BvdmVyTW9kdWxlLFxuICAgICAgICBEeG9Qb3NpdGlvbk1vZHVsZVxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNkc05hdmlnYXRpb25Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb2xsYXBzaWJsZU5hdmlnYXRpb25FbnRpdHksIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgIEBkZXByZWNhdGVkIFVzZSBgYWN0aXZlUm91dGVQYXR0ZXJuYCBpbnN0ZWFkLiAgIFxuICAgICAqIExpc3Qgb2YgcGF0aHMgYWxsb3dlZC9leHBlY3RlZCB3aXRoaW4gdGhpcyBtb2R1bGUuXG4gICAgICogVGhlc2UgYXJlIHBhdGhzIHRoYXQgYXJlIG5vdCBhY2Nlc3NpYmxlIHRocm91Z2ggY2hpbGQgbmF2aWdhdGlvblxuICAgICAqIGVsZW1lbnRzLCBidXQgdGhyb3VnaCBsaW5rcyBpbiBvdGhlciBwYXJ0cyBvZiB0aGUgYXBwbGljYXRpb24gKGUuZy4gbGlua1xuICAgICAqIG9uIGZvcm0pXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbmF2aWdhdGlvbkdyb3VwTmVzdGVkUm91dGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIFVzZSBgYWN0aXZlUm91dGVQYXR0ZXJuYCBpbnN0ZWFkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG5hdmlnYXRpb25Hcm91cE5lc3RlZFJvdXRlcyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkdyb3VwTmVzdGVkUm91dGVzID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBuYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXM7XG4gICAgfVxuXG4gICAgQElucHV0KCkgdGV4dDogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgaWNvbjogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgZGVmYXVsdFJvdXRlckxpbms6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHJldmVyc2UgPSBmYWxzZTtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2UgYGFjdGl2ZVJvdXRlUGF0dGVybmAgaW5zdGVhZC4gKi9cbiAgICBASW5wdXQoKSBpZ25vcmVRdWVyeVBhcmFtc0luQWN0aXZlUm91dGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd1BvcG92ZXIgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaG93UG9wb3ZlckhlYWRlciA9IGZhbHNlO1xuXG4gICAgbGlnaHRTdHlsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgXG4gICAgLyoqXG4gICAgICogVGhpcyB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byBwcm92aWRlIGEgcGF0dGVybiBmb3IgYWN0aXZlIHJvdXRlLiBcbiAgICAgKiBJdCBoYXMgaGlnaGVyIHByaW9yaXR5IHRoYW4gZGVmYXVsdCByb3V0ZSBtYXRjaGluZyAoY2hlY2tpbmcgaWYgY3VycmVudCByb3V0ZSBzdGFydHMgd2l0aCBwcm92aWRlZCBsaW5rIG9yIGlzIHBhcnQgb2YgbmVzdGVkIGxpbmtzKS4gXG4gICAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiB3ZSBoYXZlIG1vcmUgY29tcGxleCBsb2dpYyB0byBkZXRlcm1pbmUgaWYgcm91dGUgaXMgYWN0aXZlLlxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFNkc05hdmlnYXRpb25Hcm91cENvbXBvbmVudFxuICAgICAqL1xuICAgIGFjdGl2ZVJvdXRlUGF0dGVybiA9IGlucHV0PFJlZ0V4cCB8IHN0cmluZz4oJycpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihTZHNOYXZpZ2F0aW9uUm91dGVMaW5rQ29tcG9uZW50KVxuICAgIHJvdXRlckxpbmtDb21wb25lbnRzOiBRdWVyeUxpc3Q8U2RzTmF2aWdhdGlvblJvdXRlTGlua0NvbXBvbmVudD4gPSBuZXcgUXVlcnlMaXN0PFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQ+KCk7XG5cbiAgICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGlzUG9wb3ZlclZpc2libGUgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgZmFBbmdsZVVwUmVndWxhciA9IGZhQW5nbGVVcDtcbiAgICBmYUFuZ2xlRG93blJlZ3VsYXIgPSBmYUFuZ2xlRG93bjtcblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgYXBwIFVSTCAoZS5nLiBbJ2xheW91dC1zaG93Y2FzZScsICdkZWZhdWx0J10pXG4gICAgICovXG4gICAgY3VycmVudFVybDogc3RyaW5nW10gPSBbXTtcblxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHB1YmxpYyBpc0dyb3VwQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGlzQWN0aXZlR3JvdXBDbG9zZWQgPSBmYWxzZTtcblxuICAgICNNT1VTRV9NT1ZFX1RPX1BPUE9WRVJfREVMQVkgPSAyMDA7XG5cbiAgICAjcGVuZGluZ09wZW5UaW1lb3V0SWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgICNwZW5kaW5nQ2xvc2VUaW1lb3V0SWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgICNjbG9zZVJlcXVlc3RlZCA9IGZhbHNlO1xuICAgIFxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIpIHtcbiAgICB9XG4gICAgXG4gICAgaXNDb2xsYXBzZWQgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBwcm90ZWN0ZWQgbGFzdFBvaW50ZXJUeXBlID0gc2lnbmFsPFBvaW50ZXJFdmVudFsncG9pbnRlclR5cGUnXT4oJ21vdXNlJyk7XG4gICAgcHJvdGVjdGVkIGlzVG91Y2hQb2ludGVyVHlwZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMubGFzdFBvaW50ZXJUeXBlKCkgPT09ICd0b3VjaCcpO1xuXG4gICAgI2FjdGl2ZVJvdXRlUGF0dGVyblJlZ0V4cCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZVJvdXRlUGF0dGVybigpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWN0aXZlUm91dGVQYXR0ZXJuKCkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCh0aGlzLmFjdGl2ZVJvdXRlUGF0dGVybigpIGFzIHN0cmluZyk7XG4gICAgICAgIH0gICBcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlUm91dGVQYXR0ZXJuKCkgYXMgUmVnRXhwO1xuICAgIH0pO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IGFueSkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1BvcG92ZXJWaXNpYmxlLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuI2FjdGl2ZVJvdXRlUGF0dGVyblJlZ0V4cCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNHcm91cEFjdGl2ZSA9IHRoaXMuI2FjdGl2ZVJvdXRlUGF0dGVyblJlZ0V4cCgpIS50ZXN0KGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVSb3V0ZSA9IHRoaXMuaWdub3JlUXVlcnlQYXJhbXNJbkFjdGl2ZVJvdXRlID8gcmVtb3ZlUXVlcnlQYXJhbXMoZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMpIDogZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHM7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlOiBzdHJpbmdbXSA9IGFjdGl2ZVJvdXRlLnNwbGl0KCcvJykuZmlsdGVyKGl0ZW0gPT4gaXRlbS5sZW5ndGggPiAwKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50VXJsID0gcm91dGU7ICBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0dyb3VwQWN0aXZlID0gaXNVcmxQYXJ0T2ZOYXZpZ2F0aW9uR3JvdXAodGhpcy5jdXJyZW50VXJsLCB0aGlzLm5hdmlnYXRpb25Hcm91cE5lc3RlZFJvdXRlcywgdGhpcy5kZWZhdWx0Um91dGVyTGluayk7XG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snbmF2aWdhdGlvbkdyb3VwTmVzdGVkUm91dGVzJ10gfHwgY2hhbmdlc1snZGVmYXVsdFJvdXRlckxpbmsnXSkge1xuICAgICAgICAgICAgdGhpcy5pc1BvcG92ZXJWaXNpYmxlLnNldChmYWxzZSk7XG4gICAgICAgICAgICBpZiAodGhpcy4jYWN0aXZlUm91dGVQYXR0ZXJuUmVnRXhwKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzR3JvdXBBY3RpdmUgPSB0aGlzLiNhY3RpdmVSb3V0ZVBhdHRlcm5SZWdFeHAoKSEudGVzdCh0aGlzLl9yb3V0ZXIudXJsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlUm91dGUgPSB0aGlzLmlnbm9yZVF1ZXJ5UGFyYW1zSW5BY3RpdmVSb3V0ZSA/IHJlbW92ZVF1ZXJ5UGFyYW1zKHRoaXMuX3JvdXRlci51cmwpIDogdGhpcy5fcm91dGVyLnVybDtcbiAgICAgICAgICAgICAgICBjb25zdCByb3V0ZTogc3RyaW5nW10gPSBhY3RpdmVSb3V0ZS5zcGxpdCgnLycpLmZpbHRlcihpdGVtID0+IGl0ZW0ubGVuZ3RoID4gMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50VXJsID0gcm91dGU7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmlzR3JvdXBBY3RpdmUgPSBpc1VybFBhcnRPZk5hdmlnYXRpb25Hcm91cCh0aGlzLmN1cnJlbnRVcmwsIHRoaXMubmF2aWdhdGlvbkdyb3VwTmVzdGVkUm91dGVzLCB0aGlzLmRlZmF1bHRSb3V0ZXJMaW5rKTsgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc1RvdWNoUG9pbnRlclR5cGUgPSB0aGlzLmlzVG91Y2hQb2ludGVyVHlwZSgpO1xuICAgICAgICBpZiAoIWlzVG91Y2hQb2ludGVyVHlwZSkge1xuXG4gICAgICAgICAgICBpZih0aGlzLiNwZW5kaW5nQ2xvc2VUaW1lb3V0SWQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLiNwZW5kaW5nQ2xvc2VUaW1lb3V0SWQpOyAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLiNwZW5kaW5nQ2xvc2VUaW1lb3V0SWQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy4jY2xvc2VSZXF1ZXN0ZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgY29uc3QgdGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy4jY2xvc2VSZXF1ZXN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1BvcG92ZXJWaXNpYmxlLnNldCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy4jcGVuZGluZ09wZW5UaW1lb3V0SWQgPSBudWxsO1xuICAgICAgICAgICAgfSwgXG4gICAgICAgICAgICB0aGlzLiNNT1VTRV9NT1ZFX1RPX1BPUE9WRVJfREVMQVlcbiAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuI3BlbmRpbmdPcGVuVGltZW91dElkID0gdGltZW91dElkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc1RvdWNoUG9pbnRlclR5cGUgPSB0aGlzLmlzVG91Y2hQb2ludGVyVHlwZSgpO1xuICAgICAgICBpZiAoIWlzVG91Y2hQb2ludGVyVHlwZSkge1xuXG4gICAgICAgICAgICBpZighdGhpcy5pc1BvcG92ZXJWaXNpYmxlKCkpe1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuI3BlbmRpbmdPcGVuVGltZW91dElkICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuI3BlbmRpbmdPcGVuVGltZW91dElkKTsgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLiNwZW5kaW5nT3BlblRpbWVvdXRJZCA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy4jY2xvc2VSZXF1ZXN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNQb3BvdmVyVmlzaWJsZS5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiNjbG9zZVJlcXVlc3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI3BlbmRpbmdDbG9zZVRpbWVvdXRJZCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfSwgdGhpcy4jTU9VU0VfTU9WRV9UT19QT1BPVkVSX0RFTEFZKTtcbiAgICAgICAgICAgICAgICB0aGlzLiNwZW5kaW5nQ2xvc2VUaW1lb3V0SWQgPSB0aW1lb3V0SWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc1RvdWNoUG9pbnRlclR5cGUgPSB0aGlzLmlzVG91Y2hQb2ludGVyVHlwZSgpO1xuICAgICAgICBpZiAoaXNUb3VjaFBvaW50ZXJUeXBlICYmIHRoaXMuaXNDb2xsYXBzZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5pc1BvcG92ZXJWaXNpYmxlLnNldCh0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRlZmF1bHRSb3V0ZXJMaW5rKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5kZWZhdWx0Um91dGVyTGluayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkhpZGluZyhlOiBhbnkpIHtcbiAgICAgICAgY29uc3QgaXNUb3VjaFBvaW50ZXJUeXBlID0gdGhpcy5pc1RvdWNoUG9pbnRlclR5cGUoKTtcbiAgICAgICAgaWYgKCFpc1RvdWNoUG9pbnRlclR5cGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvcG92ZXJDb250ZW50ID0gZS5jb21wb25lbnQuY29udGVudCgpLnBhcmVudE5vZGU7XG4gICAgICAgICAgICBjb25zdCBpc01vdXNlSW5zaWRlUG9wb3ZlciA9IHBvcG92ZXJDb250ZW50Lm1hdGNoZXMoJzpob3ZlcicpO1xuICAgICAgICAgICAgZS5jYW5jZWwgPSBpc01vdXNlSW5zaWRlUG9wb3ZlcjtcblxuICAgICAgICAgICAgaWYgKGlzTW91c2VJbnNpZGVQb3BvdmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jY2xvc2VSZXF1ZXN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwb3BvdmVyQ29udGVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwb3BvdmVyQ29udGVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4ge30pO1xuICAgICAgICAgICAgICAgICAgICBlLmNvbXBvbmVudC5oaWRlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1lbWJlclBvaW50ZXIoZTogUG9pbnRlckV2ZW50KSB7XG4gICAgICAgIHRoaXMubGFzdFBvaW50ZXJUeXBlLnNldChlLnBvaW50ZXJUeXBlID8/ICdtb3VzZScpO1xuICAgIH1cblxufVxuIiwiPGRpdiBcbiAgICAjbmF2aWdhdGlvbkdyb3VwXG4gICAgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi1ncm91cCBzZHMtbmF2aWdhdGlvbi1pdGVtLWNvbnRhaW5lciBkLWZsZXhcIlxuICAgIFtjbGFzcy5zZHMtbmF2aWdhdGlvbi1ncm91cC1saWdodC1zdHlsZV09XCJsaWdodFN0eWxlKClcIlxuICAgIFtjbGFzcy5mbGV4LWNvbHVtbi1yZXZlcnNlXT1cInJldmVyc2VcIlxuICAgIFtjbGFzcy5mbGV4LWNvbHVtbl09XCIhcmV2ZXJzZVwiXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbY2xhc3MuYWN0aXZlXT1cImlzR3JvdXBBY3RpdmVcIlxuICAgIFtjbGFzcy5jb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWQoKVwiXG4gICAgW2NsYXNzLnBvcG92ZXJWaXNpYmxlXT1cImlzUG9wb3ZlclZpc2libGUoKVwiXG4gICAgPlxuICAgIDxhIFxuICAgICAgICBjbGFzcz1cInctMTAwIHNkcy1uYXZpZ2F0aW9uLWl0ZW0tY29udGVudCBwLTIgdGV4dC1ncmF5LTgwMCBzZHMtZnMtOTNcIlxuICAgICAgICBbY2xhc3MuY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkKClcIlxuICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIihpc0NvbGxhcHNlZCgpICYmIGlzVG91Y2hQb2ludGVyVHlwZSgpKSA/IHVuZGVmaW5lZCA6IFtkZWZhdWx0Um91dGVyTGlua11cIlxuICAgICAgICAocG9pbnRlcmRvd24pPVwicmVtZW1iZXJQb2ludGVyKCRldmVudClcIlxuXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxuICAgICAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RzLW5hdmlnYXRpb24taWNvblwiID5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbmF2aWdhdGlvbkljb25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNDb2xsYXBzZWQoKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi10ZXh0IHVzZXItc2VsZWN0LW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0IGdyb3VwLWRyb3Bkb3duXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiIXJldmVyc2VcIiBbaWNvbl09XCJmYUFuZ2xlRG93blJlZ3VsYXJcIj48L2ZhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwicmV2ZXJzZVwiIFtpY29uXT1cImZhQW5nbGVVcFJlZ3VsYXJcIj48L2ZhLWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9hPlxuXG4gICAgPGRpdiBcbiAgICAgICAgY2xhc3M9XCJzdWItbWVudVwiIFxuICAgICAgICAqbmdJZj1cIiFpc0NvbGxhcHNlZCgpXCI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWdyb3VwLWl0ZW1zIHNkcy1mbGV4LWNvbHVtbiBnYXAtMDVcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQ29sbGFwc2VkKCkgfHwgKHNob3dQb3BvdmVyICYmICFpc0dyb3VwQWN0aXZlKVwiPlxuICAgIDxkeC1wb3BvdmVyXG4gICAgICAgIFt0YXJnZXRdPVwibmF2aWdhdGlvbkdyb3VwXCJcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICAob25IaWRpbmcpPVwib25IaWRpbmcoJGV2ZW50KVwiXG4gICAgICAgIHdpZHRoPVwiMTVyZW1cIlxuICAgICAgICBbd3JhcHBlckF0dHJdPVwieyBjbGFzczogJ3Nkcy1uYXZpZ2F0aW9uLWdyb3VwLXBvcG92ZXItd3JhcHBlciBzZHMtZHgtcG9wdXAtY29udGVudC1wYWRkaW5nLTInLCBzdHlsZTogJ2JvcmRlci1sZWZ0OiBub25lJ31cIlxuICAgICAgICBbaGlkZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIlxuICAgICAgICBbaGlkZU9uUGFyZW50U2Nyb2xsXT1cInRydWVcIlxuICAgICAgICBbYW5pbWF0aW9uXT1cInt9XCJcbiAgICAgICAgWyh2aXNpYmxlKV09XCJpc1BvcG92ZXJWaXNpYmxlXCJcbiAgICA+XG5cbiAgICAgICAgPGR4by1wb3NpdGlvblxuICAgICAgICAgICAgbXk9XCJ0b3AgbGVmdFwiXG4gICAgICAgICAgICBhdD1cInRvcCByaWdodFwiXG4gICAgICAgICAgICBbb2ZdPVwibmF2aWdhdGlvbkdyb3VwXCJcbiAgICAgICAgICAgIG9mZnNldD1cIi0xMCAtNVwiXG4gICAgICAgICAgICA+XG4gICAgICAgIDwvZHhvLXBvc2l0aW9uPlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaG93UG9wb3ZlckhlYWRlciAmJiBpc0NvbGxhcHNlZCgpXCIgY2xhc3M9XCJncm91cC1oZWFkZXIgdXNlci1zZWxlY3Qtbm9uZVwiPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBcbiAgICAgICAgICAgIGNsYXNzPVwic2RzLW5hdmlnYXRpb24tY29udGFpbmVyIHNkcy1uYXZpZ2F0aW9uLXBvcG92ZXItY29udGFpbmVyIHNkcy1zY3JvbGxiYXIgc2RzLXNjcm9sbGJhci10aGluIHNkcy1zY3JvbGxiYXItbm8taGlkZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RzLW5hdmlnYXRpb24tZ3JvdXAtaXRlbXNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcG9wb3ZlckNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZHgtcG9wb3Zlcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -8,14 +8,14 @@ export class SdsNavigationHeaderComponent {
8
8
  }
9
9
  ngOnInit() { }
10
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsNavigationHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: SdsNavigationHeaderComponent, isStandalone: true, selector: "sds-navigation-header", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, ngImport: i0, template: "\r\n<div class=\"sds-navigation-header text-gray-800\">\r\n <span *ngIf=\"!isCollapsed()\">{{ text }}</span>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: SdsNavigationHeaderComponent, isStandalone: true, selector: "sds-navigation-header", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, ngImport: i0, template: "\n<div class=\"sds-navigation-header text-gray-800\">\n <span *ngIf=\"!isCollapsed()\">{{ text }}</span>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsNavigationHeaderComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'sds-navigation-header', standalone: true, imports: [
16
16
  NgIf
17
- ], template: "\r\n<div class=\"sds-navigation-header text-gray-800\">\r\n <span *ngIf=\"!isCollapsed()\">{{ text }}</span>\r\n</div>\r\n" }]
17
+ ], template: "\n<div class=\"sds-navigation-header text-gray-800\">\n <span *ngIf=\"!isCollapsed()\">{{ text }}</span>\n</div>\n" }]
18
18
  }], ctorParameters: () => [], propDecorators: { text: [{
19
19
  type: Input
20
20
  }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWhlYWRlci9uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24taGVhZGVyL25hdmlnYXRpb24taGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVMsS0FBSyxFQUFrQixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVl2QyxNQUFNLE9BQU8sNEJBQTRCO0lBS3JDO1FBRkEsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHaEMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVEsS0FBVSxDQUFDOytHQVRWLDRCQUE0QjttR0FBNUIsNEJBQTRCLDRZQ2R6QywrSEFJQSwwRERPUSxJQUFJOzs0RkFHQyw0QkFBNEI7a0JBVHhDLFNBQVM7K0JBQ0ksdUJBQXVCLGNBR3JCLElBQUksV0FDUDt3QkFDTCxJQUFJO3FCQUNQO3dEQUdRLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIElucHV0LCBPbkluaXQsIHNpZ25hbCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29sbGFwc2libGVOYXZpZ2F0aW9uRW50aXR5IH0gZnJvbSAnLi4vbW9kZWxzL25hdmlnYXRpb24tbW9kZWxzJztcclxuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Nkcy1uYXZpZ2F0aW9uLWhlYWRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTmdJZlxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzTmF2aWdhdGlvbkhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29sbGFwc2libGVOYXZpZ2F0aW9uRW50aXR5IHtcclxuICAgIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcclxuICAgIFxyXG4gICAgaXNDb2xsYXBzZWQgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMudGV4dCA9ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cclxufVxyXG4iLCJcclxuPGRpdiBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWhlYWRlciB0ZXh0LWdyYXktODAwXCI+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiFpc0NvbGxhcHNlZCgpXCI+e3sgdGV4dCB9fTwvc3Bhbj5cclxuPC9kaXY+XHJcbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWhlYWRlci9uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24taGVhZGVyL25hdmlnYXRpb24taGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVMsS0FBSyxFQUFrQixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVl2QyxNQUFNLE9BQU8sNEJBQTRCO0lBS3JDO1FBRkEsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHaEMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVEsS0FBVSxDQUFDOytHQVRWLDRCQUE0QjttR0FBNUIsNEJBQTRCLDRZQ2R6Qyx1SEFJQSwwRERPUSxJQUFJOzs0RkFHQyw0QkFBNEI7a0JBVHhDLFNBQVM7K0JBQ0ksdUJBQXVCLGNBR3JCLElBQUksV0FDUDt3QkFDTCxJQUFJO3FCQUNQO3dEQUdRLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIElucHV0LCBPbkluaXQsIHNpZ25hbCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbGxhcHNpYmxlTmF2aWdhdGlvbkVudGl0eSB9IGZyb20gJy4uL21vZGVscy9uYXZpZ2F0aW9uLW1vZGVscyc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Nkcy1uYXZpZ2F0aW9uLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24taGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZHNOYXZpZ2F0aW9uSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb2xsYXBzaWJsZU5hdmlnYXRpb25FbnRpdHkge1xuICAgIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcbiAgICBcbiAgICBpc0NvbGxhcHNlZCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy50ZXh0ID0gJyc7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxufVxuIiwiXG48ZGl2IGNsYXNzPVwic2RzLW5hdmlnYXRpb24taGVhZGVyIHRleHQtZ3JheS04MDBcIj5cbiAgICA8c3BhbiAqbmdJZj1cIiFpc0NvbGxhcHNlZCgpXCI+e3sgdGV4dCB9fTwvc3Bhbj5cbjwvZGl2PlxuIl19