@inera/ids-angular 9.2.0 → 9.3.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 (183) hide show
  1. package/common/directives/click-outside.directive.d.ts +3 -3
  2. package/common/public-api.d.ts +1 -1
  3. package/components/accordion/accordion-header.component.d.ts +1 -1
  4. package/components/accordion/accordion.component.d.ts +5 -4
  5. package/components/alert/alert-header.component.d.ts +1 -1
  6. package/components/alert/alert.component.d.ts +2 -2
  7. package/components/box-link/box-link-button.component.d.ts +2 -2
  8. package/components/box-link/box-link.component.d.ts +1 -1
  9. package/components/breadcrumbs/breadcrumbs.component.d.ts +3 -4
  10. package/components/breadcrumbs/crumb.component.d.ts +1 -1
  11. package/components/carousel/carousel-item/carousel-item.component.d.ts +1 -1
  12. package/components/carousel/carousel.component.d.ts +4 -4
  13. package/components/control-button/control-button.directive.d.ts +5 -0
  14. package/components/control-button/index.d.ts +5 -0
  15. package/components/control-button/public-api.d.ts +1 -0
  16. package/components/dialog/dialog.component.d.ts +4 -4
  17. package/components/dropdown/dropdown.component.d.ts +1 -1
  18. package/components/footer-1177/footer-1177-col.component.d.ts +4 -4
  19. package/components/footer-1177/footer-1177.component.d.ts +6 -4
  20. package/components/footer-1177-admin/footer-1177-admin-col.component.d.ts +4 -4
  21. package/components/footer-1177-admin/footer-1177-admin.component.d.ts +5 -4
  22. package/components/footer-1177-pro/footer-1177-pro-col.component.d.ts +4 -4
  23. package/components/footer-1177-pro/footer-1177-pro.component.d.ts +6 -4
  24. package/components/footer-inera/footer-inera-col.component.d.ts +4 -4
  25. package/components/footer-inera/footer-inera.component.d.ts +5 -4
  26. package/components/footer-inera-admin/footer-inera-admin-col.component.d.ts +4 -4
  27. package/components/footer-inera-admin/footer-inera-admin.component.d.ts +5 -4
  28. package/components/footer-inera-general/footer-inera-general-col.component.d.ts +4 -4
  29. package/components/footer-inera-general/footer-inera-general.component.d.ts +6 -4
  30. package/components/form/checkbox-group/checkbox-group.component.d.ts +4 -4
  31. package/components/form/input/input-clear-button.component.d.ts +5 -0
  32. package/components/form/input/input.component.d.ts +7 -3
  33. package/components/form/input/public-api.d.ts +1 -0
  34. package/components/form/label-subtitle/index.d.ts +5 -0
  35. package/components/form/label-subtitle/label-subtitle.component.d.ts +5 -0
  36. package/components/form/label-subtitle/public-api.d.ts +1 -0
  37. package/components/form/radio/radio-group.component.d.ts +4 -4
  38. package/components/form/radio/radio.component.d.ts +1 -1
  39. package/components/form/radio-button/radio-button-group.component.d.ts +1 -2
  40. package/components/form/range/range.component.d.ts +1 -1
  41. package/components/form/select/select.component.d.ts +1 -1
  42. package/components/form/select-multiple/select-multiple.component.d.ts +3 -3
  43. package/components/form/textarea/textarea.component.d.ts +1 -1
  44. package/components/form/time/time.component.d.ts +1 -1
  45. package/components/global-alert/global-alert-actions.component.d.ts +1 -1
  46. package/components/global-alert/global-alert-header.component.d.ts +1 -1
  47. package/components/global-alert/global-alert.component.d.ts +2 -2
  48. package/components/header-1177/avatar/header-1177-avatar.component.d.ts +1 -1
  49. package/components/header-1177/header-1177.component.d.ts +6 -7
  50. package/components/header-1177/nav/header-1177-nav.component.d.ts +1 -1
  51. package/components/header-1177/nav-item/header-1177-nav-item.component.d.ts +5 -5
  52. package/components/header-1177/region-picker/header-1177-region-picker.component.d.ts +3 -3
  53. package/components/header-1177/region-picker-mobile/header-1177-region-picker-mobile.component.d.ts +3 -3
  54. package/components/header-1177-admin/avatar/header-1177-admin-avatar.component.d.ts +1 -1
  55. package/components/header-1177-admin/avatar-mobile/header-1177-admin-avatar-mobile.component.d.ts +1 -1
  56. package/components/header-1177-admin/header-1177-admin.component.d.ts +3 -3
  57. package/components/header-1177-admin/nav/header-1177-admin-nav.component.d.ts +4 -4
  58. package/components/header-1177-admin/nav-item/header-1177-admin-nav-item.component.d.ts +5 -5
  59. package/components/header-1177-pro/avatar/header-1177-pro-avatar.component.d.ts +1 -1
  60. package/components/header-1177-pro/avatar-mobile/header-1177-pro-avatar-mobile.component.d.ts +1 -1
  61. package/components/header-1177-pro/header-1177-pro.component.d.ts +3 -3
  62. package/components/header-1177-pro/nav/header-1177-pro-nav.component.d.ts +4 -4
  63. package/components/header-1177-pro/nav-item/header-1177-pro-nav-item.component.d.ts +5 -5
  64. package/components/header-1177-pro/region-picker/header-1177-pro-region-picker.component.d.ts +4 -4
  65. package/components/header-1177-pro/region-picker-mobile/header-1177-pro-region-picker-mobile.component.d.ts +1 -1
  66. package/components/header-inera/header-inera.component.d.ts +5 -6
  67. package/components/header-inera/nav/header-inera-nav.component.d.ts +2 -4
  68. package/components/header-inera/nav-item/header-inera-nav-item.component.d.ts +5 -5
  69. package/components/header-inera-admin/avatar/header-inera-admin-avatar.component.d.ts +1 -1
  70. package/components/header-inera-admin/avatar-mobile/header-inera-admin-avatar-mobile.component.d.ts +1 -1
  71. package/components/header-inera-admin/header-inera-admin.component.d.ts +6 -7
  72. package/components/header-inera-admin/nav/header-inera-admin-nav.component.d.ts +4 -4
  73. package/components/header-inera-admin/nav-item/header-inera-admin-nav-item.component.d.ts +4 -4
  74. package/components/header-inera-general/header-inera-general.component.d.ts +5 -6
  75. package/components/header-inera-general/nav/header-inera-general-nav.component.d.ts +1 -1
  76. package/components/header-inera-general/nav-item/header-inera-general-nav-item.component.d.ts +5 -5
  77. package/components/mobile/menu/item/mobile-menu-item.component.d.ts +3 -3
  78. package/components/mobile/menu/mobile-menu.component.d.ts +1 -2
  79. package/components/navigation/content/navigation-content-link.component.d.ts +1 -1
  80. package/components/navigation/content/navigation-content.component.d.ts +1 -2
  81. package/components/navigation/local/navigation-local-link.component.d.ts +1 -1
  82. package/components/navigation/local/navigation-local.component.d.ts +1 -2
  83. package/components/popover/popover.component.d.ts +4 -4
  84. package/components/puff-list/puff-list-item.component.d.ts +1 -1
  85. package/components/puff-list/puff-list.component.d.ts +1 -2
  86. package/components/side-menu/side-menu.component.d.ts +2 -2
  87. package/components/side-panel/side-panel.component.d.ts +7 -6
  88. package/components/stepper/stepper.component.d.ts +2 -2
  89. package/components/tabs/tab-group.component.d.ts +3 -2
  90. package/components/tabs/tab.component.d.ts +2 -2
  91. package/components/tag/tag.component.d.ts +1 -1
  92. package/components/tooltip/tooltip.component.d.ts +2 -2
  93. package/eslint/rules/no-old-components.js +2 -2
  94. package/fesm2022/inera-ids-angular-common.mjs +8 -9
  95. package/fesm2022/inera-ids-angular-common.mjs.map +1 -1
  96. package/fesm2022/inera-ids-angular-components-accordion.mjs +19 -28
  97. package/fesm2022/inera-ids-angular-components-accordion.mjs.map +1 -1
  98. package/fesm2022/inera-ids-angular-components-alert.mjs +8 -14
  99. package/fesm2022/inera-ids-angular-components-alert.mjs.map +1 -1
  100. package/fesm2022/inera-ids-angular-components-box-link.mjs +8 -14
  101. package/fesm2022/inera-ids-angular-components-box-link.mjs.map +1 -1
  102. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs +15 -26
  103. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs.map +1 -1
  104. package/fesm2022/inera-ids-angular-components-carousel.mjs +16 -23
  105. package/fesm2022/inera-ids-angular-components-carousel.mjs.map +1 -1
  106. package/fesm2022/inera-ids-angular-components-control-button.mjs +24 -0
  107. package/fesm2022/inera-ids-angular-components-control-button.mjs.map +1 -0
  108. package/fesm2022/inera-ids-angular-components-dialog.mjs +10 -17
  109. package/fesm2022/inera-ids-angular-components-dialog.mjs.map +1 -1
  110. package/fesm2022/inera-ids-angular-components-dropdown.mjs +4 -7
  111. package/fesm2022/inera-ids-angular-components-dropdown.mjs.map +1 -1
  112. package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs +28 -35
  113. package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs.map +1 -1
  114. package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs +29 -35
  115. package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs.map +1 -1
  116. package/fesm2022/inera-ids-angular-components-footer-1177.mjs +29 -35
  117. package/fesm2022/inera-ids-angular-components-footer-1177.mjs.map +1 -1
  118. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs +28 -35
  119. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs.map +1 -1
  120. package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs +30 -35
  121. package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs.map +1 -1
  122. package/fesm2022/inera-ids-angular-components-footer-inera.mjs +28 -35
  123. package/fesm2022/inera-ids-angular-components-footer-inera.mjs.map +1 -1
  124. package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs +9 -15
  125. package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs.map +1 -1
  126. package/fesm2022/inera-ids-angular-components-form-input.mjs +58 -34
  127. package/fesm2022/inera-ids-angular-components-form-input.mjs.map +1 -1
  128. package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs +25 -0
  129. package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs.map +1 -0
  130. package/fesm2022/inera-ids-angular-components-form-radio-button.mjs +6 -9
  131. package/fesm2022/inera-ids-angular-components-form-radio-button.mjs.map +1 -1
  132. package/fesm2022/inera-ids-angular-components-form-radio.mjs +11 -17
  133. package/fesm2022/inera-ids-angular-components-form-radio.mjs.map +1 -1
  134. package/fesm2022/inera-ids-angular-components-form-range.mjs +2 -2
  135. package/fesm2022/inera-ids-angular-components-form-range.mjs.map +1 -1
  136. package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs +8 -11
  137. package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs.map +1 -1
  138. package/fesm2022/inera-ids-angular-components-form-select.mjs +2 -2
  139. package/fesm2022/inera-ids-angular-components-form-select.mjs.map +1 -1
  140. package/fesm2022/inera-ids-angular-components-form-textarea.mjs +2 -2
  141. package/fesm2022/inera-ids-angular-components-form-textarea.mjs.map +1 -1
  142. package/fesm2022/inera-ids-angular-components-form-time.mjs +2 -2
  143. package/fesm2022/inera-ids-angular-components-form-time.mjs.map +1 -1
  144. package/fesm2022/inera-ids-angular-components-global-alert.mjs +11 -23
  145. package/fesm2022/inera-ids-angular-components-global-alert.mjs.map +1 -1
  146. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs +29 -59
  147. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs.map +1 -1
  148. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs +64 -91
  149. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs.map +1 -1
  150. package/fesm2022/inera-ids-angular-components-header-1177.mjs +74 -104
  151. package/fesm2022/inera-ids-angular-components-header-1177.mjs.map +1 -1
  152. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs +31 -67
  153. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs.map +1 -1
  154. package/fesm2022/inera-ids-angular-components-header-inera-general.mjs +22 -49
  155. package/fesm2022/inera-ids-angular-components-header-inera-general.mjs.map +1 -1
  156. package/fesm2022/inera-ids-angular-components-header-inera.mjs +23 -54
  157. package/fesm2022/inera-ids-angular-components-header-inera.mjs.map +1 -1
  158. package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs +6 -12
  159. package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs.map +1 -1
  160. package/fesm2022/inera-ids-angular-components-mobile-menu.mjs +13 -22
  161. package/fesm2022/inera-ids-angular-components-mobile-menu.mjs.map +1 -1
  162. package/fesm2022/inera-ids-angular-components-navigation-content.mjs +7 -13
  163. package/fesm2022/inera-ids-angular-components-navigation-content.mjs.map +1 -1
  164. package/fesm2022/inera-ids-angular-components-navigation-local.mjs +7 -13
  165. package/fesm2022/inera-ids-angular-components-navigation-local.mjs.map +1 -1
  166. package/fesm2022/inera-ids-angular-components-popover.mjs +106 -61
  167. package/fesm2022/inera-ids-angular-components-popover.mjs.map +1 -1
  168. package/fesm2022/inera-ids-angular-components-puff-list.mjs +16 -22
  169. package/fesm2022/inera-ids-angular-components-puff-list.mjs.map +1 -1
  170. package/fesm2022/inera-ids-angular-components-side-menu.mjs +9 -12
  171. package/fesm2022/inera-ids-angular-components-side-menu.mjs.map +1 -1
  172. package/fesm2022/inera-ids-angular-components-side-panel.mjs +91 -79
  173. package/fesm2022/inera-ids-angular-components-side-panel.mjs.map +1 -1
  174. package/fesm2022/inera-ids-angular-components-stepper.mjs +5 -8
  175. package/fesm2022/inera-ids-angular-components-stepper.mjs.map +1 -1
  176. package/fesm2022/inera-ids-angular-components-tabs.mjs +14 -22
  177. package/fesm2022/inera-ids-angular-components-tabs.mjs.map +1 -1
  178. package/fesm2022/inera-ids-angular-components-tag.mjs +5 -5
  179. package/fesm2022/inera-ids-angular-components-tag.mjs.map +1 -1
  180. package/fesm2022/inera-ids-angular-components-tooltip.mjs +18 -24
  181. package/fesm2022/inera-ids-angular-components-tooltip.mjs.map +1 -1
  182. package/package.json +110 -102
  183. /package/common/services/{use-id.service.ts.d.ts → use-id.service.d.ts} +0 -0
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, ViewChild, Component, ContentChildren, Input } from '@angular/core';
2
+ import { viewChild, TemplateRef, Component, contentChildren, Input } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
 
6
6
  class IDNavigationContentLinkComponent {
7
- template;
7
+ template = viewChild.required(TemplateRef);
8
8
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationContentLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDNavigationContentLinkComponent, isStandalone: true, selector: "id-navigation-content-link", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: `
9
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDNavigationContentLinkComponent, isStandalone: true, selector: "id-navigation-content-link", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
10
10
  <ng-template>
11
11
  <li class="ids-navigation-content__link-wrapper">
12
12
  <ng-content></ng-content>
@@ -25,28 +25,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
25
25
  </li>
26
26
  </ng-template>`
27
27
  }]
28
- }], propDecorators: { template: [{
29
- type: ViewChild,
30
- args: [TemplateRef]
31
- }] } });
28
+ }] });
32
29
 
33
30
  class IDNavigationContentComponent {
34
31
  headline;
35
32
  maxHeight;
36
- linkComponents;
33
+ linkComponents = contentChildren(IDNavigationContentLinkComponent);
37
34
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDNavigationContentComponent, isStandalone: true, selector: "id-navigation-content", inputs: { headline: "headline", maxHeight: "maxHeight" }, queries: [{ propertyName: "linkComponents", predicate: IDNavigationContentLinkComponent }], ngImport: i0, template: "<div\n class=\"ids-navigation-content\"\n [class.ids-navigation-content--scrollable]=\"!!maxHeight\"\n>\n <div class=\"ids-navigation-content__border-top\">\n <div class=\"ids-navigation-content__border-top-content\"></div>\n </div>\n <nav\n class=\"ids-navigation-content__inner\"\n aria-labelledby=\"content-navigation-headline\"\n id=\"content-navigation-inner\"\n >\n <h2\n class=\"ids-navigation-content__inner__headline\"\n id=\"content-navigation-headline\"\n >\n {{ headline }}\n </h2>\n <ul class=\"ids-navigation-content__links\" [style.maxHeight]=\"maxHeight\">\n <ng-container *ngFor=\"let link of linkComponents; let i = index\">\n <ng-container [ngTemplateOutlet]=\"link.template\"></ng-container>\n </ng-container>\n </ul>\n </nav>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDNavigationContentComponent, isStandalone: true, selector: "id-navigation-content", inputs: { headline: "headline", maxHeight: "maxHeight" }, queries: [{ propertyName: "linkComponents", predicate: IDNavigationContentLinkComponent, isSignal: true }], ngImport: i0, template: "<div\n class=\"ids-navigation-content\"\n [class.ids-navigation-content--scrollable]=\"!!maxHeight\"\n>\n <div class=\"ids-navigation-content__border-top\">\n <div class=\"ids-navigation-content__border-top-content\"></div>\n </div>\n <nav\n class=\"ids-navigation-content__inner\"\n aria-labelledby=\"content-navigation-headline\"\n id=\"content-navigation-inner\"\n >\n <h2\n class=\"ids-navigation-content__inner__headline\"\n id=\"content-navigation-headline\"\n >\n {{ headline }}\n </h2>\n <ul class=\"ids-navigation-content__links\" [style.maxHeight]=\"maxHeight\">\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </ng-container>\n </ul>\n </nav>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
39
36
  }
40
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationContentComponent, decorators: [{
41
38
  type: Component,
42
- args: [{ selector: 'id-navigation-content', imports: [CommonModule], standalone: true, template: "<div\n class=\"ids-navigation-content\"\n [class.ids-navigation-content--scrollable]=\"!!maxHeight\"\n>\n <div class=\"ids-navigation-content__border-top\">\n <div class=\"ids-navigation-content__border-top-content\"></div>\n </div>\n <nav\n class=\"ids-navigation-content__inner\"\n aria-labelledby=\"content-navigation-headline\"\n id=\"content-navigation-inner\"\n >\n <h2\n class=\"ids-navigation-content__inner__headline\"\n id=\"content-navigation-headline\"\n >\n {{ headline }}\n </h2>\n <ul class=\"ids-navigation-content__links\" [style.maxHeight]=\"maxHeight\">\n <ng-container *ngFor=\"let link of linkComponents; let i = index\">\n <ng-container [ngTemplateOutlet]=\"link.template\"></ng-container>\n </ng-container>\n </ul>\n </nav>\n</div>\n" }]
39
+ args: [{ selector: 'id-navigation-content', imports: [CommonModule], standalone: true, template: "<div\n class=\"ids-navigation-content\"\n [class.ids-navigation-content--scrollable]=\"!!maxHeight\"\n>\n <div class=\"ids-navigation-content__border-top\">\n <div class=\"ids-navigation-content__border-top-content\"></div>\n </div>\n <nav\n class=\"ids-navigation-content__inner\"\n aria-labelledby=\"content-navigation-headline\"\n id=\"content-navigation-inner\"\n >\n <h2\n class=\"ids-navigation-content__inner__headline\"\n id=\"content-navigation-headline\"\n >\n {{ headline }}\n </h2>\n <ul class=\"ids-navigation-content__links\" [style.maxHeight]=\"maxHeight\">\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </ng-container>\n </ul>\n </nav>\n</div>\n" }]
43
40
  }], propDecorators: { headline: [{
44
41
  type: Input
45
42
  }], maxHeight: [{
46
43
  type: Input
47
- }], linkComponents: [{
48
- type: ContentChildren,
49
- args: [IDNavigationContentLinkComponent]
50
44
  }] } });
51
45
 
52
46
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-navigation-content.mjs","sources":["../../../projects/ids-angular/components/navigation/content/navigation-content-link.component.ts","../../../projects/ids-angular/components/navigation/content/navigation-content.component.ts","../../../projects/ids-angular/components/navigation/content/navigation-content.component.html","../../../projects/ids-angular/components/navigation/content/inera-ids-angular-components-navigation-content.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'id-navigation-content-link',\n standalone: true,\n template: `\n <ng-template>\n <li class=\"ids-navigation-content__link-wrapper\">\n <ng-content></ng-content>\n </li>\n </ng-template>`\n})\nexport class IDNavigationContentLinkComponent {\n\n @ViewChild(TemplateRef) template: TemplateRef<any>;\n \n}\n","import { Component, ContentChildren, Input, QueryList } from '@angular/core';\nimport { IDNavigationContentLinkComponent } from './navigation-content-link.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-navigation-content',\n templateUrl: './navigation-content.component.html',\n imports: [CommonModule],\n standalone: true\n})\nexport class IDNavigationContentComponent {\n\n @Input() headline?: string;\n @Input() maxHeight?: string;\n\n @ContentChildren(IDNavigationContentLinkComponent) linkComponents: QueryList<IDNavigationContentLinkComponent>;\n\n}\n","<div\n class=\"ids-navigation-content\"\n [class.ids-navigation-content--scrollable]=\"!!maxHeight\"\n>\n <div class=\"ids-navigation-content__border-top\">\n <div class=\"ids-navigation-content__border-top-content\"></div>\n </div>\n <nav\n class=\"ids-navigation-content__inner\"\n aria-labelledby=\"content-navigation-headline\"\n id=\"content-navigation-inner\"\n >\n <h2\n class=\"ids-navigation-content__inner__headline\"\n id=\"content-navigation-headline\"\n >\n {{ headline }}\n </h2>\n <ul class=\"ids-navigation-content__links\" [style.maxHeight]=\"maxHeight\">\n <ng-container *ngFor=\"let link of linkComponents; let i = index\">\n <ng-container [ngTemplateOutlet]=\"link.template\"></ng-container>\n </ng-container>\n </ul>\n </nav>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAYa,gCAAgC,CAAA;AAEnB,IAAA,QAAQ;wGAFrB,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEhC,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EATZ;;;;;AAKO,kBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAEN,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAV5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;;;;AAKO,kBAAA;AAClB,iBAAA;8BAGyB,QAAQ,EAAA,CAAA;sBAA/B,SAAS;uBAAC,WAAW;;;MCJX,4BAA4B,CAAA;AAE9B,IAAA,QAAQ;AACR,IAAA,SAAS;AAEiC,IAAA,cAAc;wGALtD,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAKtB,gCAAgC,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfnD,wzBAyBA,2CDlBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAGX,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAAA,OAAA,EAExB,CAAC,YAAY,CAAC,cACX,IAAI,EAAA,QAAA,EAAA,wzBAAA,EAAA;8BAIP,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAEkD,cAAc,EAAA,CAAA;sBAAhE,eAAe;uBAAC,gCAAgC;;;AEfnD;;AAEG;;;;"}
1
+ {"version":3,"file":"inera-ids-angular-components-navigation-content.mjs","sources":["../../../projects/ids-angular/components/navigation/content/navigation-content-link.component.ts","../../../projects/ids-angular/components/navigation/content/navigation-content.component.ts","../../../projects/ids-angular/components/navigation/content/navigation-content.component.html","../../../projects/ids-angular/components/navigation/content/inera-ids-angular-components-navigation-content.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'id-navigation-content-link',\n standalone: true,\n template: `\n <ng-template>\n <li class=\"ids-navigation-content__link-wrapper\">\n <ng-content></ng-content>\n </li>\n </ng-template>`\n})\nexport class IDNavigationContentLinkComponent {\n\n template = viewChild.required(TemplateRef);\n \n}\n","import { Component, Input, contentChildren } from '@angular/core';\nimport { IDNavigationContentLinkComponent } from './navigation-content-link.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-navigation-content',\n templateUrl: './navigation-content.component.html',\n imports: [CommonModule],\n standalone: true\n})\nexport class IDNavigationContentComponent {\n\n @Input() headline?: string;\n @Input() maxHeight?: string;\n\n linkComponents = contentChildren(IDNavigationContentLinkComponent);\n\n}\n","<div\n class=\"ids-navigation-content\"\n [class.ids-navigation-content--scrollable]=\"!!maxHeight\"\n>\n <div class=\"ids-navigation-content__border-top\">\n <div class=\"ids-navigation-content__border-top-content\"></div>\n </div>\n <nav\n class=\"ids-navigation-content__inner\"\n aria-labelledby=\"content-navigation-headline\"\n id=\"content-navigation-inner\"\n >\n <h2\n class=\"ids-navigation-content__inner__headline\"\n id=\"content-navigation-headline\"\n >\n {{ headline }}\n </h2>\n <ul class=\"ids-navigation-content__links\" [style.maxHeight]=\"maxHeight\">\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </ng-container>\n </ul>\n </nav>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAYa,gCAAgC,CAAA;AAE3C,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;wGAF/B,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEb,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAT/B;;;;;AAKO,kBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAEN,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAV5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;;;;AAKO,kBAAA;AAClB,iBAAA;;;MCDY,4BAA4B,CAAA;AAE9B,IAAA,QAAQ;AACR,IAAA,SAAS;AAElB,IAAA,cAAc,GAAG,eAAe,CAAC,gCAAgC,CAAC;wGALvD,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAKN,gCAAgC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfnE,4zBAyBA,2CDlBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAGX,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAAA,OAAA,EAExB,CAAC,YAAY,CAAC,cACX,IAAI,EAAA,QAAA,EAAA,4zBAAA,EAAA;8BAIP,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;;;AEbH;;AAEG;;;;"}
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, ViewChild, Component, ContentChildren, Input } from '@angular/core';
2
+ import { viewChild, TemplateRef, Component, contentChildren, Input } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
 
6
6
  class IDNavigationLocalLinkComponent {
7
- template;
7
+ template = viewChild.required(TemplateRef);
8
8
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationLocalLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDNavigationLocalLinkComponent, isStandalone: true, selector: "id-navigation-local-link", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: `
9
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDNavigationLocalLinkComponent, isStandalone: true, selector: "id-navigation-local-link", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
10
10
  <ng-template>
11
11
  <ng-content></ng-content>
12
12
  </ng-template>
@@ -23,25 +23,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
23
23
  `,
24
24
  standalone: true
25
25
  }]
26
- }], propDecorators: { template: [{
27
- type: ViewChild,
28
- args: [TemplateRef]
29
- }] } });
26
+ }] });
30
27
 
31
28
  class IDNavigationLocalComponent {
32
29
  headline;
33
- linkComponents;
30
+ linkComponents = contentChildren(IDNavigationLocalLinkComponent);
34
31
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationLocalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDNavigationLocalComponent, isStandalone: true, selector: "id-navigation-local", inputs: { headline: "headline" }, queries: [{ propertyName: "linkComponents", predicate: IDNavigationLocalLinkComponent }], ngImport: i0, template: "<div class=\"ids-navigation-local\">\n <h2 class=\"ids-navigation-local__headline\">{{headline}}</h2>\n <ul>\n <ng-container *ngFor=\"let link of linkComponents; let i = index\">\n <li>\n <ng-container [ngTemplateOutlet]=\"link.template\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDNavigationLocalComponent, isStandalone: true, selector: "id-navigation-local", inputs: { headline: "headline" }, queries: [{ propertyName: "linkComponents", predicate: IDNavigationLocalLinkComponent, isSignal: true }], ngImport: i0, template: "<div class=\"ids-navigation-local\">\n <h2 class=\"ids-navigation-local__headline\">{{headline}}</h2>\n <ul>\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <li>\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
36
33
  }
37
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDNavigationLocalComponent, decorators: [{
38
35
  type: Component,
39
- args: [{ selector: 'id-navigation-local', standalone: true, imports: [CommonModule], template: "<div class=\"ids-navigation-local\">\n <h2 class=\"ids-navigation-local__headline\">{{headline}}</h2>\n <ul>\n <ng-container *ngFor=\"let link of linkComponents; let i = index\">\n <li>\n <ng-container [ngTemplateOutlet]=\"link.template\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</div>" }]
36
+ args: [{ selector: 'id-navigation-local', standalone: true, imports: [CommonModule], template: "<div class=\"ids-navigation-local\">\n <h2 class=\"ids-navigation-local__headline\">{{headline}}</h2>\n <ul>\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <li>\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</div>" }]
40
37
  }], propDecorators: { headline: [{
41
38
  type: Input
42
- }], linkComponents: [{
43
- type: ContentChildren,
44
- args: [IDNavigationLocalLinkComponent]
45
39
  }] } });
46
40
 
47
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-navigation-local.mjs","sources":["../../../projects/ids-angular/components/navigation/local/navigation-local-link.component.ts","../../../projects/ids-angular/components/navigation/local/navigation-local.component.ts","../../../projects/ids-angular/components/navigation/local/navigation-local.component.html","../../../projects/ids-angular/components/navigation/local/inera-ids-angular-components-navigation-local.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'id-navigation-local-link',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n standalone: true\n})\nexport class IDNavigationLocalLinkComponent {\n\n @ViewChild(TemplateRef)\n template: TemplateRef<any>;\n\n}","import { Component, ContentChildren, Input, QueryList } from '@angular/core';\nimport { IDNavigationLocalLinkComponent } from './navigation-local-link.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-navigation-local',\n templateUrl: './navigation-local.component.html',\n standalone: true,\n imports: [CommonModule]\n})\nexport class IDNavigationLocalComponent {\n\n @Input() headline?: string;\n\n @ContentChildren(IDNavigationLocalLinkComponent)\n linkComponents: QueryList<IDNavigationLocalLinkComponent>;\n}\n","<div class=\"ids-navigation-local\">\n <h2 class=\"ids-navigation-local__headline\">{{headline}}</h2>\n <ul>\n <ng-container *ngFor=\"let link of linkComponents; let i = index\">\n <li>\n <ng-container [ngTemplateOutlet]=\"link.template\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAWa,8BAA8B,CAAA;AAGzC,IAAA,QAAQ;wGAHG,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAE9B,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EATZ;;;;AAIL,MAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAGM,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAT1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE;;;;AAIL,MAAA,CAAA;AACL,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAIC,QAAQ,EAAA,CAAA;sBADP,SAAS;uBAAC,WAAW;;;MCHX,0BAA0B,CAAA;AAE5B,IAAA,QAAQ;AAGjB,IAAA,cAAc;wGALH,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAIpB,8BAA8B,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdjD,oUASM,2CDDM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAEX,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,UAAA,EAEnB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,oUAAA,EAAA;8BAId,QAAQ,EAAA,CAAA;sBAAhB;gBAGD,cAAc,EAAA,CAAA;sBADb,eAAe;uBAAC,8BAA8B;;;AEdjD;;AAEG;;;;"}
1
+ {"version":3,"file":"inera-ids-angular-components-navigation-local.mjs","sources":["../../../projects/ids-angular/components/navigation/local/navigation-local-link.component.ts","../../../projects/ids-angular/components/navigation/local/navigation-local.component.ts","../../../projects/ids-angular/components/navigation/local/navigation-local.component.html","../../../projects/ids-angular/components/navigation/local/inera-ids-angular-components-navigation-local.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'id-navigation-local-link',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n standalone: true\n})\nexport class IDNavigationLocalLinkComponent {\n\n template = viewChild.required(TemplateRef);\n\n}","import { Component, Input, contentChildren } from '@angular/core';\nimport { IDNavigationLocalLinkComponent } from './navigation-local-link.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-navigation-local',\n templateUrl: './navigation-local.component.html',\n standalone: true,\n imports: [CommonModule]\n})\nexport class IDNavigationLocalComponent {\n\n @Input() headline?: string;\n\n linkComponents = contentChildren(IDNavigationLocalLinkComponent);\n}\n","<div class=\"ids-navigation-local\">\n <h2 class=\"ids-navigation-local__headline\">{{headline}}</h2>\n <ul>\n <ng-container *ngFor=\"let link of linkComponents(); let i = index\">\n <li>\n <ng-container [ngTemplateOutlet]=\"link.template()\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAWa,8BAA8B,CAAA;AAEzC,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;wGAF/B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEX,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAT/B;;;;AAIL,MAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAGM,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAT1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE;;;;AAIL,MAAA,CAAA;AACL,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCAY,0BAA0B,CAAA;AAE5B,IAAA,QAAQ;AAEf,IAAA,cAAc,GAAG,eAAe,CAAC,8BAA8B,CAAC;wGAJvD,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAIF,8BAA8B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdnE,wUASM,2CDDM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAEX,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,UAAA,EAEnB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wUAAA,EAAA;8BAId,QAAQ,EAAA,CAAA;sBAAhB;;;AEZH;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, HostListener, Output, Component, inject, ElementRef, booleanAttribute, Input, ApplicationRef, DestroyRef, effect, ViewChild, ContentChildren, ContentChild, NgModule } from '@angular/core';
2
+ import { EventEmitter, HostListener, Output, Component, inject, ElementRef, booleanAttribute, Input, contentChild, contentChildren, viewChild, ApplicationRef, DestroyRef, effect, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/common';
4
4
  import { CommonModule, DOCUMENT } from '@angular/common';
5
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -58,7 +58,9 @@ class IDPopoverContentComponent {
58
58
  if (document.activeElement === wrapper) {
59
59
  event.preventDefault();
60
60
  const focusable = wrapper.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');
61
- const last = Array.from(focusable).filter(el => el !== wrapper).pop();
61
+ const last = Array.from(focusable)
62
+ .filter((el) => el !== wrapper)
63
+ .pop();
62
64
  if (last) {
63
65
  last.focus();
64
66
  }
@@ -72,27 +74,53 @@ class IDPopoverContentComponent {
72
74
  }
73
75
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDPopoverContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
76
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.20", type: IDPopoverContentComponent, isStandalone: true, selector: "id-popover-content", inputs: { closeOnBlur: ["closeOnBlur", "closeOnBlur", booleanAttribute], maxHeight: "maxHeight", maxWidth: "maxWidth", srCloseText: "srCloseText" }, outputs: { contentClosed: "contentClosed" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class": "hostClasses" }, styleAttribute: "display: none" }, ngImport: i0, template: `
75
- <div [cdkTrapFocus]="true" idClickOutside (idClickOutside)="onClickedOutside($event)"
77
+ <div
78
+ [cdkTrapFocus]="true"
79
+ idClickOutside
80
+ (idClickOutside)="onClickedOutside($event)"
76
81
  (keydown.shift.tab)="onShiftTab($event)"
77
82
  class="ids-popover-content__content-wrapper"
78
83
  tabindex="0"
79
84
  [style.maxWidth]="maxWidth"
80
- [style.maxHeight]="maxHeight">
81
- <div class="ids-popover-content__caret" [ngClass]="caretPositionClass">
82
- <span class="ids-popover-content__caret-body" [ngClass]="caretPositionClass"></span>
83
- <span class="ids-popover-content__caret-border" [ngClass]="caretPositionClass"></span>
84
- <span class="ids-popover-content__caret-shadow" [ngClass]="caretPositionClass"></span>
85
- </div>
86
- <div class="ids-popover-content__top-bar">
87
- <div class="ids-popover-content__close-btn-wrapper">
88
- <button (click)="contentClosed.emit($event)" class="ids-popover-content__close-btn" [attr.aria-label]="srCloseText"></button>
85
+ [style.maxHeight]="maxHeight"
86
+ >
87
+ <div
88
+ class="ids-popover-content__caret"
89
+ [ngClass]="caretPositionClass"
90
+ >
91
+ <span
92
+ class="ids-popover-content__caret-body"
93
+ [ngClass]="caretPositionClass"
94
+ ></span>
95
+ <span
96
+ class="ids-popover-content__caret-border"
97
+ [ngClass]="caretPositionClass"
98
+ ></span>
99
+ <span
100
+ class="ids-popover-content__caret-shadow"
101
+ [ngClass]="caretPositionClass"
102
+ ></span>
103
+ </div>
104
+ <div class="ids-popover-content__top-bar">
105
+ <div class="ids-popover-content__close-btn-wrapper">
106
+ <button
107
+ class="ids-popover-content__close-btn"
108
+ (click)="contentClosed.emit($event)"
109
+ [attr.aria-label]="srCloseText"
110
+ >
111
+ <span
112
+ class="ids-icon-close"
113
+ aria-hidden
114
+ ></span>
115
+ </button>
116
+ </div>
117
+ </div>
118
+ <div class="ids-popover-content__content-wrapper-inner">
119
+ <ng-content select="id-popover-header"></ng-content>
120
+ <ng-content></ng-content>
89
121
  </div>
90
122
  </div>
91
- <div class="ids-popover-content__content-wrapper-inner">
92
- <ng-content select="id-popover-header"></ng-content>
93
- <ng-content></ng-content>
94
- </div>
95
- </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
123
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
96
124
  }
97
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDPopoverContentComponent, decorators: [{
98
126
  type: Component,
@@ -101,31 +129,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
101
129
  standalone: true,
102
130
  imports: [A11yModule, CommonModule, IDClickOutsideDirective],
103
131
  template: `
104
- <div [cdkTrapFocus]="true" idClickOutside (idClickOutside)="onClickedOutside($event)"
132
+ <div
133
+ [cdkTrapFocus]="true"
134
+ idClickOutside
135
+ (idClickOutside)="onClickedOutside($event)"
105
136
  (keydown.shift.tab)="onShiftTab($event)"
106
137
  class="ids-popover-content__content-wrapper"
107
138
  tabindex="0"
108
139
  [style.maxWidth]="maxWidth"
109
- [style.maxHeight]="maxHeight">
110
- <div class="ids-popover-content__caret" [ngClass]="caretPositionClass">
111
- <span class="ids-popover-content__caret-body" [ngClass]="caretPositionClass"></span>
112
- <span class="ids-popover-content__caret-border" [ngClass]="caretPositionClass"></span>
113
- <span class="ids-popover-content__caret-shadow" [ngClass]="caretPositionClass"></span>
114
- </div>
115
- <div class="ids-popover-content__top-bar">
116
- <div class="ids-popover-content__close-btn-wrapper">
117
- <button (click)="contentClosed.emit($event)" class="ids-popover-content__close-btn" [attr.aria-label]="srCloseText"></button>
140
+ [style.maxHeight]="maxHeight"
141
+ >
142
+ <div
143
+ class="ids-popover-content__caret"
144
+ [ngClass]="caretPositionClass"
145
+ >
146
+ <span
147
+ class="ids-popover-content__caret-body"
148
+ [ngClass]="caretPositionClass"
149
+ ></span>
150
+ <span
151
+ class="ids-popover-content__caret-border"
152
+ [ngClass]="caretPositionClass"
153
+ ></span>
154
+ <span
155
+ class="ids-popover-content__caret-shadow"
156
+ [ngClass]="caretPositionClass"
157
+ ></span>
158
+ </div>
159
+ <div class="ids-popover-content__top-bar">
160
+ <div class="ids-popover-content__close-btn-wrapper">
161
+ <button
162
+ class="ids-popover-content__close-btn"
163
+ (click)="contentClosed.emit($event)"
164
+ [attr.aria-label]="srCloseText"
165
+ >
166
+ <span
167
+ class="ids-icon-close"
168
+ aria-hidden
169
+ ></span>
170
+ </button>
171
+ </div>
172
+ </div>
173
+ <div class="ids-popover-content__content-wrapper-inner">
174
+ <ng-content select="id-popover-header"></ng-content>
175
+ <ng-content></ng-content>
118
176
  </div>
119
177
  </div>
120
- <div class="ids-popover-content__content-wrapper-inner">
121
- <ng-content select="id-popover-header"></ng-content>
122
- <ng-content></ng-content>
123
- </div>
124
- </div>`,
178
+ `,
125
179
  host: {
126
180
  '[class]': 'hostClasses',
127
- 'style': 'display: none',
128
- }
181
+ style: 'display: none',
182
+ },
129
183
  }]
130
184
  }], propDecorators: { contentClosed: [{
131
185
  type: Output
@@ -150,9 +204,9 @@ class IDPopoverComponent {
150
204
  showChange = new EventEmitter();
151
205
  closed = new EventEmitter();
152
206
  opened = new EventEmitter();
153
- bodyComponent;
154
- closeComponents;
155
- triggerEl;
207
+ bodyComponent = contentChild(IDPopoverContentComponent, { descendants: true });
208
+ closeComponents = contentChildren(IDPopoverCloseComponent, { descendants: true });
209
+ triggerEl = viewChild.required('triggerEl');
156
210
  document = inject(DOCUMENT);
157
211
  appRef = inject(ApplicationRef);
158
212
  opener = false;
@@ -197,19 +251,19 @@ class IDPopoverComponent {
197
251
  updatePosition(position) {
198
252
  clearTimeout(this.updatePositionTimeout);
199
253
  this.updatePositionTimeout = setTimeout(() => {
200
- this.bodyComponent.position = position;
254
+ this.bodyComponent().position = position;
201
255
  if (this.isAttached) {
202
256
  requestAnimationFrame(() => this.applyPortalPosition());
203
257
  }
204
258
  }, 0);
205
259
  }
206
260
  ngAfterContentInit() {
207
- this.bodyComponent.contentClosed
261
+ this.bodyComponent().contentClosed
208
262
  .pipe(takeUntilDestroyed(this.destroyRef))
209
263
  .subscribe((event) => {
210
264
  this.closePopover(event);
211
265
  });
212
- this.closeComponents.forEach((closeComponent) => {
266
+ this.closeComponents().forEach((closeComponent) => {
213
267
  closeComponent.clicked
214
268
  .pipe(takeUntilDestroyed(this.destroyRef))
215
269
  .subscribe((event) => {
@@ -234,9 +288,9 @@ class IDPopoverComponent {
234
288
  }
235
289
  }
236
290
  focusContent() {
237
- if (!this.bodyComponent)
291
+ if (!this.bodyComponent())
238
292
  return;
239
- const contentEl = this.bodyComponent.elementRef.nativeElement;
293
+ const contentEl = this.bodyComponent().elementRef.nativeElement;
240
294
  const wrapper = contentEl.querySelector('.ids-popover-content__content-wrapper');
241
295
  if (wrapper) {
242
296
  wrapper.focus({ preventScroll: true });
@@ -259,7 +313,7 @@ class IDPopoverComponent {
259
313
  this.focusTriggerContent();
260
314
  }
261
315
  focusTriggerContent() {
262
- const trigger = this.triggerEl?.nativeElement;
316
+ const trigger = this.triggerEl()?.nativeElement;
263
317
  if (!trigger)
264
318
  return;
265
319
  const focusable = trigger.querySelector('button, a[href], [tabindex]:not([tabindex="-1"]), input, select, textarea');
@@ -268,16 +322,16 @@ class IDPopoverComponent {
268
322
  }
269
323
  }
270
324
  attachPortal() {
271
- if (this.isAttached || !this.bodyComponent)
325
+ if (this.isAttached || !this.bodyComponent())
272
326
  return;
273
327
  this.isAttached = true;
274
- const contentEl = this.bodyComponent.elementRef.nativeElement;
328
+ const contentEl = this.bodyComponent().elementRef.nativeElement;
275
329
  contentEl.style.display = '';
276
330
  contentEl.style.opacity = '0';
277
331
  const outletEl = this.document.createElement('div');
278
332
  this.document.body.appendChild(outletEl);
279
333
  this.portalOutlet = new DomPortalOutlet(outletEl, undefined, this.appRef, undefined, this.document);
280
- this.portalOutlet.attach(new DomPortal(this.bodyComponent.elementRef));
334
+ this.portalOutlet.attach(new DomPortal(this.bodyComponent().elementRef));
281
335
  clearTimeout(this.updatePositionTimeout);
282
336
  this.updatePositionTimeout = setTimeout(() => {
283
337
  requestAnimationFrame(() => {
@@ -300,8 +354,8 @@ class IDPopoverComponent {
300
354
  this.portalOutlet.dispose();
301
355
  this.portalOutlet = null;
302
356
  }
303
- if (this.bodyComponent) {
304
- this.bodyComponent.elementRef.nativeElement.style.cssText = 'display:none';
357
+ if (this.bodyComponent()) {
358
+ this.bodyComponent().elementRef.nativeElement.style.cssText = 'display:none';
305
359
  }
306
360
  }
307
361
  calculatePosition(triggerRect, contentRect) {
@@ -334,10 +388,10 @@ class IDPopoverComponent {
334
388
  return { top, left };
335
389
  }
336
390
  applyPortalPosition() {
337
- if (!this.bodyComponent || !this.triggerEl)
391
+ if (!this.bodyComponent() || !this.triggerEl())
338
392
  return;
339
- const triggerRect = this.triggerEl.nativeElement.getBoundingClientRect();
340
- const contentEl = this.bodyComponent.elementRef.nativeElement;
393
+ const triggerRect = this.triggerEl().nativeElement.getBoundingClientRect();
394
+ const contentEl = this.bodyComponent().elementRef.nativeElement;
341
395
  const { top, left } = this.calculatePosition(triggerRect, contentEl.getBoundingClientRect());
342
396
  const window = this.win;
343
397
  Object.assign(contentEl.style, {
@@ -348,7 +402,7 @@ class IDPopoverComponent {
348
402
  });
349
403
  }
350
404
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
351
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.20", type: IDPopoverComponent, isStandalone: true, selector: "id-popover", inputs: { position: "position", category: "category", show: ["show", "show", booleanAttribute] }, outputs: { showChange: "showChange", closed: "closed", opened: "opened" }, host: { classAttribute: "ids-popover" }, queries: [{ propertyName: "bodyComponent", first: true, predicate: IDPopoverContentComponent, descendants: true }, { propertyName: "closeComponents", predicate: IDPopoverCloseComponent, descendants: true }], viewQueries: [{ propertyName: "triggerEl", first: true, predicate: ["triggerEl"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
405
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDPopoverComponent, isStandalone: true, selector: "id-popover", inputs: { position: "position", category: "category", show: ["show", "show", booleanAttribute] }, outputs: { showChange: "showChange", closed: "closed", opened: "opened" }, host: { classAttribute: "ids-popover" }, queries: [{ propertyName: "bodyComponent", first: true, predicate: IDPopoverContentComponent, descendants: true, isSignal: true }, { propertyName: "closeComponents", predicate: IDPopoverCloseComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "triggerEl", first: true, predicate: ["triggerEl"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: `
352
406
  <span #triggerEl class="ids-popover-trigger" (click)="togglePopover($event)">
353
407
  <ng-content></ng-content>
354
408
  </span>
@@ -383,15 +437,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
383
437
  type: Output
384
438
  }], opened: [{
385
439
  type: Output
386
- }], bodyComponent: [{
387
- type: ContentChild,
388
- args: [IDPopoverContentComponent, { descendants: true }]
389
- }], closeComponents: [{
390
- type: ContentChildren,
391
- args: [IDPopoverCloseComponent, { descendants: true }]
392
- }], triggerEl: [{
393
- type: ViewChild,
394
- args: ['triggerEl']
395
440
  }] } });
396
441
 
397
442
  class IDPopoverHeaderComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-popover.mjs","sources":["../../../projects/ids-angular/components/popover/popover-close.component.ts","../../../projects/ids-angular/components/popover/popover-content.component.ts","../../../projects/ids-angular/components/popover/popover.component.ts","../../../projects/ids-angular/components/popover/popover-header.component.ts","../../../projects/ids-angular/components/popover/popover-trigger.component.ts","../../../projects/ids-angular/components/popover/popover.module.ts","../../../projects/ids-angular/components/popover/inera-ids-angular-components-popover.ts"],"sourcesContent":["import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-popover-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDPopoverCloseComponent {\n @Output() clicked = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.clicked.emit(e);\n }\n}","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, Component, ElementRef, EventEmitter, HostListener, inject, Input, Output } from '@angular/core';\nimport { IDClickOutsideDirective } from '@inera/ids-angular/common';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'id-popover-content',\n standalone: true,\n imports: [A11yModule, CommonModule, IDClickOutsideDirective],\n template: `\n <div [cdkTrapFocus]=\"true\" idClickOutside (idClickOutside)=\"onClickedOutside($event)\"\n (keydown.shift.tab)=\"onShiftTab($event)\"\n class=\"ids-popover-content__content-wrapper\"\n tabindex=\"0\"\n [style.maxWidth]=\"maxWidth\"\n [style.maxHeight]=\"maxHeight\">\n <div class=\"ids-popover-content__caret\" [ngClass]=\"caretPositionClass\">\n <span class=\"ids-popover-content__caret-body\" [ngClass]=\"caretPositionClass\"></span>\n <span class=\"ids-popover-content__caret-border\" [ngClass]=\"caretPositionClass\"></span>\n <span class=\"ids-popover-content__caret-shadow\" [ngClass]=\"caretPositionClass\"></span>\n </div>\n <div class=\"ids-popover-content__top-bar\">\n <div class=\"ids-popover-content__close-btn-wrapper\">\n <button (click)=\"contentClosed.emit($event)\" class=\"ids-popover-content__close-btn\" [attr.aria-label]=\"srCloseText\"></button>\n </div>\n </div>\n <div class=\"ids-popover-content__content-wrapper-inner\">\n <ng-content select=\"id-popover-header\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>`,\n host: {\n '[class]': 'hostClasses',\n 'style': 'display: none',\n }\n})\nexport class IDPopoverContentComponent {\n\n public elementRef = inject(ElementRef);\n\n @Output()\n contentClosed: EventEmitter<Event> = new EventEmitter<Event>();\n\n position = 'bottom';\n\n @Input({transform: booleanAttribute}) closeOnBlur = false;\n @Input() maxHeight = '260px';\n @Input() maxWidth = '260px';\n @Input() srCloseText = 'Stäng';\n\n get contentMaxHeight() {\n return `calc(${this.maxHeight} - 40px)`\n }\n\n onClickedOutside(event: Event) {\n if(this.closeOnBlur) {\n this.contentClosed.emit(event)\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.contentClosed.emit(event);\n }\n }\n\n onShiftTab(event: Event) {\n const wrapper = this.elementRef.nativeElement.querySelector('.ids-popover-content__content-wrapper');\n if (document.activeElement !== wrapper && !wrapper?.contains(document.activeElement)) return;\n if (document.activeElement === wrapper) {\n event.preventDefault();\n const focusable = wrapper.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])') as NodeListOf<HTMLElement>;\n const last = Array.from(focusable).filter(el => el !== wrapper).pop();\n if (last) {\n last.focus();\n }\n }\n }\n\n\n get caretPositionClass() {\n return `ids-popover-content__caret--${this.position}`;\n }\n\n get hostClasses(): string {\n return `ids-popover-content ids-popover-content--${this.position}`;\n }\n}\n","import { AfterContentInit, ApplicationRef, booleanAttribute, Component, ContentChild, ContentChildren, DestroyRef, effect, ElementRef, EventEmitter, inject, Input, OnChanges, OnDestroy, Output, QueryList, SimpleChanges, ViewChild } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { IDPopoverCloseComponent } from './popover-close.component';\nimport { IDPopoverContentComponent } from './popover-content.component';\nimport { IDTooltipCategoryService } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-popover',\n standalone: true,\n template: `\n <span #triggerEl class=\"ids-popover-trigger\" (click)=\"togglePopover($event)\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"id-popover-content\"></ng-content>\n `,\n host: {\n class: 'ids-popover'\n }\n})\nexport class IDPopoverComponent implements AfterContentInit, OnChanges, OnDestroy {\n @Input() position:\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'right'\n | 'right-top'\n | 'right-bottom'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'left'\n | 'left-top'\n | 'left-bottom' = 'bottom';\n\n @Input() category = '';\n @Input({transform: booleanAttribute}) show: boolean = false;\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n \n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n\n @ContentChild(IDPopoverContentComponent, { descendants:true })\n bodyComponent: IDPopoverContentComponent;\n\n @ContentChildren(IDPopoverCloseComponent, { descendants: true })\n closeComponents: QueryList<IDPopoverCloseComponent>;\n\n @ViewChild('triggerEl') triggerEl: ElementRef<HTMLElement>;\n\n private document = inject(DOCUMENT);\n private appRef = inject(ApplicationRef);\n private opener = false;\n private categoryCollection = inject(IDTooltipCategoryService);\n private destroyRef = inject(DestroyRef);\n private updatePositionTimeout?: ReturnType<typeof setTimeout>;\n private isAttached = false;\n private openedViaTrigger = false;\n private portalOutlet: DomPortalOutlet | null = null;\n\n private readonly GAP = 4;\n private readonly CARET_SIZE = 8;\n\n private resizeHandler = () => this.applyPortalPosition();\n\n private get win(): Window {\n return this.document.defaultView || window;\n }\n\n constructor() {\n effect(() => {\n const categoryToClose = this.categoryCollection.closeCategory();\n if (!categoryToClose || categoryToClose !== this.category) return;\n if (this.opener) {\n this.opener = false;\n return;\n }\n this.detachPortal();\n this.show = false;\n });\n }\n \n ngOnChanges(changes: SimpleChanges): void {\n if (changes['position']) {\n this.updatePosition(changes['position'].currentValue);\n }\n if (changes['show'] && !changes['show'].firstChange) {\n if (changes['show'].currentValue) {\n this.attachPortal();\n } else {\n this.detachPortal();\n }\n }\n }\n\n private updatePosition(position: string) {\n clearTimeout(this.updatePositionTimeout);\n this.updatePositionTimeout = setTimeout(() => {\n this.bodyComponent.position = position;\n if (this.isAttached) {\n requestAnimationFrame(() => this.applyPortalPosition());\n }\n }, 0);\n }\n\n ngAfterContentInit(): void {\n this.bodyComponent.contentClosed\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event: Event) => {\n this.closePopover(event);\n });\n this.closeComponents.forEach((closeComponent) => {\n closeComponent.clicked\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event: Event) => {\n this.closePopover(event);\n });\n });\n\n if (this.show) {\n this.attachPortal();\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.updatePositionTimeout);\n this.detachPortal();\n }\n\n togglePopover(e: Event) {\n e.preventDefault();\n if (this.show) {\n this.closePopover(e);\n } else {\n this.showPopover(e);\n }\n }\n\n private focusContent(): void {\n if (!this.bodyComponent) return;\n const contentEl = this.bodyComponent.elementRef.nativeElement;\n const wrapper = contentEl.querySelector('.ids-popover-content__content-wrapper') as HTMLElement | null;\n if (wrapper) {\n wrapper.focus({ preventScroll: true });\n }\n }\n \n showPopover(event: Event):void {\n this.opener = true;\n this.openedViaTrigger = true;\n this.categoryCollection.requestClose(this.category);\n this.show = true;\n this.showChange.emit(this.show);\n this.attachPortal();\n this.opened.emit(event);\n }\n\n closePopover(event: Event):void {\n this.detachPortal();\n this.show = false;\n this.showChange.emit(this.show);\n this.closed.emit(event);\n this.focusTriggerContent();\n }\n\n private focusTriggerContent(): void {\n const trigger = this.triggerEl?.nativeElement;\n if (!trigger) return;\n const focusable = trigger.querySelector<HTMLElement>('button, a[href], [tabindex]:not([tabindex=\"-1\"]), input, select, textarea');\n if (focusable) {\n focusable.focus();\n }\n }\n\n private attachPortal(): void {\n if (this.isAttached || !this.bodyComponent) return;\n this.isAttached = true;\n\n const contentEl = this.bodyComponent.elementRef.nativeElement;\n contentEl.style.display = '';\n contentEl.style.opacity = '0';\n\n const outletEl = this.document.createElement('div');\n this.document.body.appendChild(outletEl);\n this.portalOutlet = new DomPortalOutlet(outletEl, undefined, this.appRef, undefined, this.document);\n this.portalOutlet.attach(new DomPortal(this.bodyComponent.elementRef));\n\n clearTimeout(this.updatePositionTimeout);\n this.updatePositionTimeout = setTimeout(() => {\n requestAnimationFrame(() => {\n this.applyPortalPosition();\n contentEl.style.opacity = '';\n if (this.openedViaTrigger) {\n this.focusContent();\n this.openedViaTrigger = false;\n }\n });\n }, 100);\n\n this.win.addEventListener('resize', this.resizeHandler);\n }\n\n private detachPortal(): void {\n if (!this.isAttached) return;\n this.isAttached = false;\n\n this.win.removeEventListener('resize', this.resizeHandler);\n\n if (this.portalOutlet) {\n this.portalOutlet.dispose();\n this.portalOutlet = null;\n }\n\n if (this.bodyComponent) {\n this.bodyComponent.elementRef.nativeElement.style.cssText = 'display:none';\n }\n }\n\n private calculatePosition(triggerRect: DOMRect, contentRect: DOMRect): { top: number; left: number } {\n const offset = this.GAP + this.CARET_SIZE;\n const pos = this.position;\n const centerY = triggerRect.top + triggerRect.height / 2 - contentRect.height / 2;\n const centerX = triggerRect.left + triggerRect.width / 2 - contentRect.width / 2;\n\n let top: number;\n if (pos.startsWith('top')) top = triggerRect.top - contentRect.height - offset;\n else if (pos.startsWith('bottom')) top = triggerRect.bottom + offset;\n else if (pos.endsWith('-top')) top = triggerRect.bottom - contentRect.height;\n else if (pos.endsWith('-bottom')) top = triggerRect.top;\n else top = centerY;\n\n let left: number;\n if (pos.startsWith('left')) left = triggerRect.left - contentRect.width - offset;\n else if (pos.startsWith('right')) left = triggerRect.right + offset;\n else if (pos.endsWith('-left')) left = triggerRect.left;\n else if (pos.endsWith('-right')) left = triggerRect.right - contentRect.width;\n else left = centerX;\n\n return { top, left };\n }\n\n private applyPortalPosition(): void {\n if (!this.bodyComponent || !this.triggerEl) return;\n\n const triggerRect = this.triggerEl.nativeElement.getBoundingClientRect();\n const contentEl = this.bodyComponent.elementRef.nativeElement;\n const { top, left } = this.calculatePosition(triggerRect, contentEl.getBoundingClientRect());\n const window = this.win;\n\n Object.assign(contentEl.style, {\n position: 'absolute',\n top: `${top + window.scrollY}px`,\n left: `${left + window.scrollX}px`,\n bottom: 'auto', right: 'auto', transform: 'none', zIndex: '9999',\n });\n }\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-popover-header',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-popover-content__headline'\n }\n})\nexport class IDPopoverHeaderComponent {}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-popover-trigger',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDPopoverTriggerComponent {}","import { NgModule } from '@angular/core';\n\nimport { IDPopoverComponent } from './popover.component';\nimport { IDPopoverHeaderComponent } from './popover-header.component';\nimport { IDPopoverContentComponent } from './popover-content.component';\nimport { IDPopoverTriggerComponent } from './popover-trigger.component';\nimport { IDPopoverCloseComponent } from './popover-close.component';\n\n\n@NgModule({\n imports: [\n IDPopoverComponent,\n IDPopoverHeaderComponent,\n IDPopoverContentComponent,\n IDPopoverTriggerComponent,\n IDPopoverCloseComponent\n ],\n exports: [\n IDPopoverComponent,\n IDPopoverHeaderComponent,\n IDPopoverContentComponent,\n IDPopoverTriggerComponent,\n IDPopoverCloseComponent\n ],\n})\nexport class IDPopoverModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inera-ids-angular-components-popover.mjs","sources":["../../../projects/ids-angular/components/popover/popover-close.component.ts","../../../projects/ids-angular/components/popover/popover-content.component.ts","../../../projects/ids-angular/components/popover/popover.component.ts","../../../projects/ids-angular/components/popover/popover-header.component.ts","../../../projects/ids-angular/components/popover/popover-trigger.component.ts","../../../projects/ids-angular/components/popover/popover.module.ts","../../../projects/ids-angular/components/popover/inera-ids-angular-components-popover.ts"],"sourcesContent":["import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-popover-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDPopoverCloseComponent {\n @Output() clicked = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.clicked.emit(e);\n }\n}","import { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport { IDClickOutsideDirective } from '@inera/ids-angular/common';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'id-popover-content',\n standalone: true,\n imports: [A11yModule, CommonModule, IDClickOutsideDirective],\n template: `\n <div\n [cdkTrapFocus]=\"true\"\n idClickOutside\n (idClickOutside)=\"onClickedOutside($event)\"\n (keydown.shift.tab)=\"onShiftTab($event)\"\n class=\"ids-popover-content__content-wrapper\"\n tabindex=\"0\"\n [style.maxWidth]=\"maxWidth\"\n [style.maxHeight]=\"maxHeight\"\n >\n <div\n class=\"ids-popover-content__caret\"\n [ngClass]=\"caretPositionClass\"\n >\n <span\n class=\"ids-popover-content__caret-body\"\n [ngClass]=\"caretPositionClass\"\n ></span>\n <span\n class=\"ids-popover-content__caret-border\"\n [ngClass]=\"caretPositionClass\"\n ></span>\n <span\n class=\"ids-popover-content__caret-shadow\"\n [ngClass]=\"caretPositionClass\"\n ></span>\n </div>\n <div class=\"ids-popover-content__top-bar\">\n <div class=\"ids-popover-content__close-btn-wrapper\">\n <button\n class=\"ids-popover-content__close-btn\"\n (click)=\"contentClosed.emit($event)\"\n [attr.aria-label]=\"srCloseText\"\n >\n <span\n class=\"ids-icon-close\"\n aria-hidden\n ></span>\n </button>\n </div>\n </div>\n <div class=\"ids-popover-content__content-wrapper-inner\">\n <ng-content select=\"id-popover-header\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n `,\n host: {\n '[class]': 'hostClasses',\n style: 'display: none',\n },\n})\nexport class IDPopoverContentComponent {\n public elementRef = inject(ElementRef);\n\n @Output()\n contentClosed: EventEmitter<Event> = new EventEmitter<Event>();\n\n position = 'bottom';\n\n @Input({ transform: booleanAttribute }) closeOnBlur = false;\n @Input() maxHeight = '260px';\n @Input() maxWidth = '260px';\n @Input() srCloseText = 'Stäng';\n\n get contentMaxHeight() {\n return `calc(${this.maxHeight} - 40px)`;\n }\n\n onClickedOutside(event: Event) {\n if (this.closeOnBlur) {\n this.contentClosed.emit(event);\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.contentClosed.emit(event);\n }\n }\n\n onShiftTab(event: Event) {\n const wrapper = this.elementRef.nativeElement.querySelector(\n '.ids-popover-content__content-wrapper',\n );\n if (document.activeElement !== wrapper && !wrapper?.contains(document.activeElement)) return;\n if (document.activeElement === wrapper) {\n event.preventDefault();\n const focusable = wrapper.querySelectorAll(\n 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])',\n ) as NodeListOf<HTMLElement>;\n const last = Array.from(focusable)\n .filter((el) => el !== wrapper)\n .pop();\n if (last) {\n last.focus();\n }\n }\n }\n\n get caretPositionClass() {\n return `ids-popover-content__caret--${this.position}`;\n }\n\n get hostClasses(): string {\n return `ids-popover-content ids-popover-content--${this.position}`;\n }\n}\n","import { AfterContentInit, ApplicationRef, booleanAttribute, Component, DestroyRef, effect, ElementRef, EventEmitter, inject, Input, OnChanges, OnDestroy, Output, SimpleChanges, viewChild, contentChild, contentChildren } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { IDPopoverCloseComponent } from './popover-close.component';\nimport { IDPopoverContentComponent } from './popover-content.component';\nimport { IDTooltipCategoryService } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-popover',\n standalone: true,\n template: `\n <span #triggerEl class=\"ids-popover-trigger\" (click)=\"togglePopover($event)\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"id-popover-content\"></ng-content>\n `,\n host: {\n class: 'ids-popover'\n }\n})\nexport class IDPopoverComponent implements AfterContentInit, OnChanges, OnDestroy {\n @Input() position:\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'right'\n | 'right-top'\n | 'right-bottom'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'left'\n | 'left-top'\n | 'left-bottom' = 'bottom';\n\n @Input() category = '';\n @Input({transform: booleanAttribute}) show: boolean = false;\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n \n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n\n bodyComponent = contentChild(IDPopoverContentComponent, { descendants:true });\n\n closeComponents = contentChildren(IDPopoverCloseComponent, { descendants: true });\n\n triggerEl = viewChild.required<ElementRef<HTMLElement>>('triggerEl');\n\n private document = inject(DOCUMENT);\n private appRef = inject(ApplicationRef);\n private opener = false;\n private categoryCollection = inject(IDTooltipCategoryService);\n private destroyRef = inject(DestroyRef);\n private updatePositionTimeout?: ReturnType<typeof setTimeout>;\n private isAttached = false;\n private openedViaTrigger = false;\n private portalOutlet: DomPortalOutlet | null = null;\n\n private readonly GAP = 4;\n private readonly CARET_SIZE = 8;\n\n private resizeHandler = () => this.applyPortalPosition();\n\n private get win(): Window {\n return this.document.defaultView || window;\n }\n\n constructor() {\n effect(() => {\n const categoryToClose = this.categoryCollection.closeCategory();\n if (!categoryToClose || categoryToClose !== this.category) return;\n if (this.opener) {\n this.opener = false;\n return;\n }\n this.detachPortal();\n this.show = false;\n });\n }\n \n ngOnChanges(changes: SimpleChanges): void {\n if (changes['position']) {\n this.updatePosition(changes['position'].currentValue);\n }\n if (changes['show'] && !changes['show'].firstChange) {\n if (changes['show'].currentValue) {\n this.attachPortal();\n } else {\n this.detachPortal();\n }\n }\n }\n\n private updatePosition(position: string) {\n clearTimeout(this.updatePositionTimeout);\n this.updatePositionTimeout = setTimeout(() => {\n this.bodyComponent()!.position = position;\n if (this.isAttached) {\n requestAnimationFrame(() => this.applyPortalPosition());\n }\n }, 0);\n }\n\n ngAfterContentInit(): void {\n this.bodyComponent()!.contentClosed\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event: Event) => {\n this.closePopover(event);\n });\n this.closeComponents().forEach((closeComponent) => {\n closeComponent.clicked\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event: Event) => {\n this.closePopover(event);\n });\n });\n\n if (this.show) {\n this.attachPortal();\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.updatePositionTimeout);\n this.detachPortal();\n }\n\n togglePopover(e: Event) {\n e.preventDefault();\n if (this.show) {\n this.closePopover(e);\n } else {\n this.showPopover(e);\n }\n }\n\n private focusContent(): void {\n if (!this.bodyComponent()) return;\n const contentEl = this.bodyComponent()!.elementRef.nativeElement;\n const wrapper = contentEl.querySelector('.ids-popover-content__content-wrapper') as HTMLElement | null;\n if (wrapper) {\n wrapper.focus({ preventScroll: true });\n }\n }\n \n showPopover(event: Event):void {\n this.opener = true;\n this.openedViaTrigger = true;\n this.categoryCollection.requestClose(this.category);\n this.show = true;\n this.showChange.emit(this.show);\n this.attachPortal();\n this.opened.emit(event);\n }\n\n closePopover(event: Event):void {\n this.detachPortal();\n this.show = false;\n this.showChange.emit(this.show);\n this.closed.emit(event);\n this.focusTriggerContent();\n }\n\n private focusTriggerContent(): void {\n const trigger = this.triggerEl()?.nativeElement;\n if (!trigger) return;\n const focusable = trigger.querySelector<HTMLElement>('button, a[href], [tabindex]:not([tabindex=\"-1\"]), input, select, textarea');\n if (focusable) {\n focusable.focus();\n }\n }\n\n private attachPortal(): void {\n if (this.isAttached || !this.bodyComponent()) return;\n this.isAttached = true;\n\n const contentEl = this.bodyComponent()!.elementRef.nativeElement;\n contentEl.style.display = '';\n contentEl.style.opacity = '0';\n\n const outletEl = this.document.createElement('div');\n this.document.body.appendChild(outletEl);\n this.portalOutlet = new DomPortalOutlet(outletEl, undefined, this.appRef, undefined, this.document);\n this.portalOutlet.attach(new DomPortal(this.bodyComponent()!.elementRef));\n\n clearTimeout(this.updatePositionTimeout);\n this.updatePositionTimeout = setTimeout(() => {\n requestAnimationFrame(() => {\n this.applyPortalPosition();\n contentEl.style.opacity = '';\n if (this.openedViaTrigger) {\n this.focusContent();\n this.openedViaTrigger = false;\n }\n });\n }, 100);\n\n this.win.addEventListener('resize', this.resizeHandler);\n }\n\n private detachPortal(): void {\n if (!this.isAttached) return;\n this.isAttached = false;\n\n this.win.removeEventListener('resize', this.resizeHandler);\n\n if (this.portalOutlet) {\n this.portalOutlet.dispose();\n this.portalOutlet = null;\n }\n\n if (this.bodyComponent()) {\n this.bodyComponent()!.elementRef.nativeElement.style.cssText = 'display:none';\n }\n }\n\n private calculatePosition(triggerRect: DOMRect, contentRect: DOMRect): { top: number; left: number } {\n const offset = this.GAP + this.CARET_SIZE;\n const pos = this.position;\n const centerY = triggerRect.top + triggerRect.height / 2 - contentRect.height / 2;\n const centerX = triggerRect.left + triggerRect.width / 2 - contentRect.width / 2;\n\n let top: number;\n if (pos.startsWith('top')) top = triggerRect.top - contentRect.height - offset;\n else if (pos.startsWith('bottom')) top = triggerRect.bottom + offset;\n else if (pos.endsWith('-top')) top = triggerRect.bottom - contentRect.height;\n else if (pos.endsWith('-bottom')) top = triggerRect.top;\n else top = centerY;\n\n let left: number;\n if (pos.startsWith('left')) left = triggerRect.left - contentRect.width - offset;\n else if (pos.startsWith('right')) left = triggerRect.right + offset;\n else if (pos.endsWith('-left')) left = triggerRect.left;\n else if (pos.endsWith('-right')) left = triggerRect.right - contentRect.width;\n else left = centerX;\n\n return { top, left };\n }\n\n private applyPortalPosition(): void {\n if (!this.bodyComponent() || !this.triggerEl()) return;\n\n const triggerRect = this.triggerEl()!.nativeElement.getBoundingClientRect();\n const contentEl = this.bodyComponent()!.elementRef.nativeElement;\n const { top, left } = this.calculatePosition(triggerRect, contentEl.getBoundingClientRect());\n const window = this.win;\n\n Object.assign(contentEl.style, {\n position: 'absolute',\n top: `${top + window.scrollY}px`,\n left: `${left + window.scrollX}px`,\n bottom: 'auto', right: 'auto', transform: 'none', zIndex: '9999',\n });\n }\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-popover-header',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-popover-content__headline'\n }\n})\nexport class IDPopoverHeaderComponent {}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-popover-trigger',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDPopoverTriggerComponent {}","import { NgModule } from '@angular/core';\n\nimport { IDPopoverComponent } from './popover.component';\nimport { IDPopoverHeaderComponent } from './popover-header.component';\nimport { IDPopoverContentComponent } from './popover-content.component';\nimport { IDPopoverTriggerComponent } from './popover-trigger.component';\nimport { IDPopoverCloseComponent } from './popover-close.component';\n\n\n@NgModule({\n imports: [\n IDPopoverComponent,\n IDPopoverHeaderComponent,\n IDPopoverContentComponent,\n IDPopoverTriggerComponent,\n IDPopoverCloseComponent\n ],\n exports: [\n IDPopoverComponent,\n IDPopoverHeaderComponent,\n IDPopoverContentComponent,\n IDPopoverTriggerComponent,\n IDPopoverCloseComponent\n ],\n})\nexport class IDPopoverModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;MAOa,uBAAuB,CAAA;AACxB,IAAA,OAAO,GAAG,IAAI,YAAY,EAAS;AAG7C,IAAA,OAAO,GAAG,CAAC,CAAO,KAAI;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACtB,IAAA,CAAC;wGANU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,4JAFxB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAE1B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACtC,iBAAA;8BAEW,OAAO,EAAA,CAAA;sBAAhB;gBAGD,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO;;;MC6DV,yBAAyB,CAAA;AAC7B,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAGtC,IAAA,aAAa,GAAwB,IAAI,YAAY,EAAS;IAE9D,QAAQ,GAAG,QAAQ;IAEqB,WAAW,GAAG,KAAK;IAClD,SAAS,GAAG,OAAO;IACnB,QAAQ,GAAG,OAAO;IAClB,WAAW,GAAG,OAAO;AAE9B,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,CAAA,KAAA,EAAQ,IAAI,CAAC,SAAS,UAAU;IACzC;AAEA,IAAA,gBAAgB,CAAC,KAAY,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC;IACF;AAGA,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC5B,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC;IACF;AAEA,IAAA,UAAU,CAAC,KAAY,EAAA;AACrB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CACzD,uCAAuC,CACxC;AACD,QAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE;AACtF,QAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,EAAE;YACtC,KAAK,CAAC,cAAc,EAAE;YACtB,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CACxC,2IAA2I,CACjH;AAC5B,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS;iBAC9B,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,OAAO;AAC7B,iBAAA,GAAG,EAAE;YACR,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,KAAK,EAAE;YACd;QACF;IACF;AAEA,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,CAAA,4BAAA,EAA+B,IAAI,CAAC,QAAQ,EAAE;IACvD;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,CAAA,yCAAA,EAA4C,IAAI,CAAC,QAAQ,EAAE;IACpE;wGAvDW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAQhB,gBAAgB,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA7D1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAhDS,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAsDhD,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAzDrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,uBAAuB,CAAC;AAC5D,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,aAAa;AACxB,wBAAA,KAAK,EAAE,eAAe;AACvB,qBAAA;AACF,iBAAA;8BAKC,aAAa,EAAA,CAAA;sBADZ;gBAKuC,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBAaD,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;MCzExB,kBAAkB,CAAA;IACpB,QAAQ,GAYG,QAAQ;IAEnB,QAAQ,GAAG,EAAE;IACgB,IAAI,GAAY,KAAK;AACjD,IAAA,UAAU,GAA0B,IAAI,YAAY,EAAW;AAE/D,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;AAChD,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;IAE1D,aAAa,GAAG,YAAY,CAAC,yBAAyB,EAAE,EAAE,WAAW,EAAC,IAAI,EAAE,CAAC;IAE7E,eAAe,GAAG,eAAe,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAEjF,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAA0B,WAAW,CAAC;AAE5D,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,GAAG,KAAK;AACd,IAAA,kBAAkB,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACrD,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,IAAA,qBAAqB;IACrB,UAAU,GAAG,KAAK;IAClB,gBAAgB,GAAG,KAAK;IACxB,YAAY,GAA2B,IAAI;IAElC,GAAG,GAAG,CAAC;IACP,UAAU,GAAG,CAAC;IAEvB,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE;AAExD,IAAA,IAAY,GAAG,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM;IAC5C;AAEA,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;YACV,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;AAC/D,YAAA,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,IAAI,CAAC,QAAQ;gBAAE;AAC3D,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK;gBACnB;YACF;YACA,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACnB,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC;QACvD;AACA,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;AACnD,YAAA,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE;gBAChC,IAAI,CAAC,YAAY,EAAE;YACrB;iBAAO;gBACL,IAAI,CAAC,YAAY,EAAE;YACrB;QACF;IACF;AAEQ,IAAA,cAAc,CAAC,QAAgB,EAAA;AACrC,QAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACxC,QAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,MAAK;AAC3C,YAAA,IAAI,CAAC,aAAa,EAAG,CAAC,QAAQ,GAAG,QAAQ;AACzC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,qBAAqB,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzD;QACF,CAAC,EAAE,CAAC,CAAC;IACP;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,aAAa,EAAG,CAAC;AACnB,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,aAAA,SAAS,CAAC,CAAC,KAAY,KAAI;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAC1B,QAAA,CAAC,CAAC;QACJ,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,cAAc,KAAI;AAChD,YAAA,cAAc,CAAC;AACZ,iBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,iBAAA,SAAS,CAAC,CAAC,KAAY,KAAI;AAC1B,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAC1B,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,aAAa,CAAC,CAAQ,EAAA;QACpB,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtB;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACrB;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,aAAa;QAChE,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,uCAAuC,CAAuB;QACtG,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QACxC;IACF;AAEA,IAAA,WAAW,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;QAC5B,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnD,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB;AAEA,IAAA,YAAY,CAAC,KAAY,EAAA;QACvB,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;QACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,mBAAmB,EAAE;IAC5B;IAEQ,mBAAmB,GAAA;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa;AAC/C,QAAA,IAAI,CAAC,OAAO;YAAE;QACd,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAc,2EAA2E,CAAC;QACjI,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,KAAK,EAAE;QACnB;IACF;IAEQ,YAAY,GAAA;QAClB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE;AAC9C,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,aAAa;AAChE,QAAA,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;AAC5B,QAAA,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;AACnG,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,CAAC;AAEzE,QAAA,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACxC,QAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,MAAK;YAC3C,qBAAqB,CAAC,MAAK;gBACzB,IAAI,CAAC,mBAAmB,EAAE;AAC1B,gBAAA,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;AAC5B,gBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBACzB,IAAI,CAAC,YAAY,EAAE;AACnB,oBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;gBAC/B;AACF,YAAA,CAAC,CAAC;QACJ,CAAC,EAAE,GAAG,CAAC;QAEP,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;IACzD;IAEQ,YAAY,GAAA;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AACtB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QAEvB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;AAE1D,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC1B;AAEA,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc;QAC/E;IACF;IAEQ,iBAAiB,CAAC,WAAoB,EAAE,WAAoB,EAAA;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU;AACzC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ;AACzB,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;AACjF,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;AAEhF,QAAA,IAAI,GAAW;AACf,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM;AACzE,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;AAAE,YAAA,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM;AAC/D,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM;AACvE,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;AAAE,YAAA,GAAG,GAAG,WAAW,CAAC,GAAG;;YAClD,GAAG,GAAG,OAAO;AAElB,QAAA,IAAI,IAAY;AAChB,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM;AAC3E,aAAA,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;AAAE,YAAA,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,MAAM;AAC9D,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;AAAE,YAAA,IAAI,GAAG,WAAW,CAAC,IAAI;AAClD,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;;YACxE,IAAI,GAAG,OAAO;AAEnB,QAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;IACtB;IAEQ,mBAAmB,GAAA;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE;QAEhD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC,aAAa,CAAC,qBAAqB,EAAE;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAG,CAAC,UAAU,CAAC,aAAa;AAChE,QAAA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,qBAAqB,EAAE,CAAC;AAC5F,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG;AAEvB,QAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;AAC7B,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,GAAG,EAAE,CAAA,EAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAA,EAAA,CAAI;AAChC,YAAA,IAAI,EAAE,CAAA,EAAG,IAAI,GAAG,MAAM,CAAC,OAAO,CAAA,EAAA,CAAI;AAClC,YAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;AACjE,SAAA,CAAC;IACJ;wGAzOW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,2HAgBV,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAMN,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAEpB,uBAAuB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlC/C;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAKU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;;;;AAKT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;wDAEU,QAAQ,EAAA,CAAA;sBAAhB;gBAcQ,QAAQ,EAAA,CAAA;sBAAhB;gBACqC,IAAI,EAAA,CAAA;sBAAzC,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;gBAC1B,UAAU,EAAA,CAAA;sBAAnB;gBAES,MAAM,EAAA,CAAA;sBAAf;gBACS,MAAM,EAAA,CAAA;sBAAf;;;MC/BU,wBAAwB,CAAA;wGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,wIALzB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAK1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;;;MCFY,yBAAyB,CAAA;wGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8EAF1B,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAE1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACtC,iBAAA;;;MCmBY,eAAe,CAAA;wGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAdxB,kBAAkB;YAClB,wBAAwB;YACxB,yBAAyB;YACzB,yBAAyB;AACzB,YAAA,uBAAuB,aAGvB,kBAAkB;YAClB,wBAAwB;YACxB,yBAAyB;YACzB,yBAAyB;YACzB,uBAAuB,CAAA,EAAA,CAAA;AAGd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAZxB,yBAAyB,CAAA,EAAA,CAAA;;4FAYhB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAhB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,wBAAwB;wBACxB,yBAAyB;wBACzB,yBAAyB;wBACzB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,wBAAwB;wBACxB,yBAAyB;wBACzB,yBAAyB;wBACzB;AACD,qBAAA;AACF,iBAAA;;;ACxBD;;AAEG;;;;"}