@inera/ids-angular 9.2.1 → 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 (182) 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/fesm2022/inera-ids-angular-common.mjs +8 -9
  94. package/fesm2022/inera-ids-angular-common.mjs.map +1 -1
  95. package/fesm2022/inera-ids-angular-components-accordion.mjs +19 -28
  96. package/fesm2022/inera-ids-angular-components-accordion.mjs.map +1 -1
  97. package/fesm2022/inera-ids-angular-components-alert.mjs +8 -14
  98. package/fesm2022/inera-ids-angular-components-alert.mjs.map +1 -1
  99. package/fesm2022/inera-ids-angular-components-box-link.mjs +8 -14
  100. package/fesm2022/inera-ids-angular-components-box-link.mjs.map +1 -1
  101. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs +15 -26
  102. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs.map +1 -1
  103. package/fesm2022/inera-ids-angular-components-carousel.mjs +16 -23
  104. package/fesm2022/inera-ids-angular-components-carousel.mjs.map +1 -1
  105. package/fesm2022/inera-ids-angular-components-control-button.mjs +24 -0
  106. package/fesm2022/inera-ids-angular-components-control-button.mjs.map +1 -0
  107. package/fesm2022/inera-ids-angular-components-dialog.mjs +10 -17
  108. package/fesm2022/inera-ids-angular-components-dialog.mjs.map +1 -1
  109. package/fesm2022/inera-ids-angular-components-dropdown.mjs +4 -7
  110. package/fesm2022/inera-ids-angular-components-dropdown.mjs.map +1 -1
  111. package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs +28 -35
  112. package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs.map +1 -1
  113. package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs +29 -35
  114. package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs.map +1 -1
  115. package/fesm2022/inera-ids-angular-components-footer-1177.mjs +29 -35
  116. package/fesm2022/inera-ids-angular-components-footer-1177.mjs.map +1 -1
  117. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs +28 -35
  118. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs.map +1 -1
  119. package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs +30 -35
  120. package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs.map +1 -1
  121. package/fesm2022/inera-ids-angular-components-footer-inera.mjs +28 -35
  122. package/fesm2022/inera-ids-angular-components-footer-inera.mjs.map +1 -1
  123. package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs +9 -15
  124. package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs.map +1 -1
  125. package/fesm2022/inera-ids-angular-components-form-input.mjs +58 -34
  126. package/fesm2022/inera-ids-angular-components-form-input.mjs.map +1 -1
  127. package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs +25 -0
  128. package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs.map +1 -0
  129. package/fesm2022/inera-ids-angular-components-form-radio-button.mjs +6 -9
  130. package/fesm2022/inera-ids-angular-components-form-radio-button.mjs.map +1 -1
  131. package/fesm2022/inera-ids-angular-components-form-radio.mjs +11 -17
  132. package/fesm2022/inera-ids-angular-components-form-radio.mjs.map +1 -1
  133. package/fesm2022/inera-ids-angular-components-form-range.mjs +2 -2
  134. package/fesm2022/inera-ids-angular-components-form-range.mjs.map +1 -1
  135. package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs +8 -11
  136. package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs.map +1 -1
  137. package/fesm2022/inera-ids-angular-components-form-select.mjs +2 -2
  138. package/fesm2022/inera-ids-angular-components-form-select.mjs.map +1 -1
  139. package/fesm2022/inera-ids-angular-components-form-textarea.mjs +2 -2
  140. package/fesm2022/inera-ids-angular-components-form-textarea.mjs.map +1 -1
  141. package/fesm2022/inera-ids-angular-components-form-time.mjs +2 -2
  142. package/fesm2022/inera-ids-angular-components-form-time.mjs.map +1 -1
  143. package/fesm2022/inera-ids-angular-components-global-alert.mjs +11 -23
  144. package/fesm2022/inera-ids-angular-components-global-alert.mjs.map +1 -1
  145. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs +29 -59
  146. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs.map +1 -1
  147. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs +64 -91
  148. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs.map +1 -1
  149. package/fesm2022/inera-ids-angular-components-header-1177.mjs +74 -104
  150. package/fesm2022/inera-ids-angular-components-header-1177.mjs.map +1 -1
  151. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs +31 -67
  152. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs.map +1 -1
  153. package/fesm2022/inera-ids-angular-components-header-inera-general.mjs +22 -49
  154. package/fesm2022/inera-ids-angular-components-header-inera-general.mjs.map +1 -1
  155. package/fesm2022/inera-ids-angular-components-header-inera.mjs +23 -54
  156. package/fesm2022/inera-ids-angular-components-header-inera.mjs.map +1 -1
  157. package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs +6 -12
  158. package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs.map +1 -1
  159. package/fesm2022/inera-ids-angular-components-mobile-menu.mjs +13 -22
  160. package/fesm2022/inera-ids-angular-components-mobile-menu.mjs.map +1 -1
  161. package/fesm2022/inera-ids-angular-components-navigation-content.mjs +7 -13
  162. package/fesm2022/inera-ids-angular-components-navigation-content.mjs.map +1 -1
  163. package/fesm2022/inera-ids-angular-components-navigation-local.mjs +7 -13
  164. package/fesm2022/inera-ids-angular-components-navigation-local.mjs.map +1 -1
  165. package/fesm2022/inera-ids-angular-components-popover.mjs +106 -61
  166. package/fesm2022/inera-ids-angular-components-popover.mjs.map +1 -1
  167. package/fesm2022/inera-ids-angular-components-puff-list.mjs +16 -22
  168. package/fesm2022/inera-ids-angular-components-puff-list.mjs.map +1 -1
  169. package/fesm2022/inera-ids-angular-components-side-menu.mjs +9 -12
  170. package/fesm2022/inera-ids-angular-components-side-menu.mjs.map +1 -1
  171. package/fesm2022/inera-ids-angular-components-side-panel.mjs +91 -79
  172. package/fesm2022/inera-ids-angular-components-side-panel.mjs.map +1 -1
  173. package/fesm2022/inera-ids-angular-components-stepper.mjs +5 -8
  174. package/fesm2022/inera-ids-angular-components-stepper.mjs.map +1 -1
  175. package/fesm2022/inera-ids-angular-components-tabs.mjs +14 -22
  176. package/fesm2022/inera-ids-angular-components-tabs.mjs.map +1 -1
  177. package/fesm2022/inera-ids-angular-components-tag.mjs +5 -5
  178. package/fesm2022/inera-ids-angular-components-tag.mjs.map +1 -1
  179. package/fesm2022/inera-ids-angular-components-tooltip.mjs +18 -24
  180. package/fesm2022/inera-ids-angular-components-tooltip.mjs.map +1 -1
  181. package/package.json +115 -107
  182. /package/common/services/{use-id.service.ts.d.ts → use-id.service.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, EventEmitter, HostListener, Output, inject, DestroyRef, booleanAttribute, ViewChild, ContentChildren, Input, ContentChild } from '@angular/core';
2
+ import { Component, EventEmitter, HostListener, Output, contentChild, contentChildren, inject, DestroyRef, viewChild, booleanAttribute, Input } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
@@ -47,7 +47,7 @@ class IDDialogComponent {
47
47
  this.hideDialog(event);
48
48
  }
49
49
  }
50
- trigger;
50
+ trigger = contentChild(IDDialogTriggerComponent);
51
51
  dismissible = false;
52
52
  srCloseText = '';
53
53
  noFocusTrap = false;
@@ -60,13 +60,13 @@ class IDDialogComponent {
60
60
  closed = new EventEmitter();
61
61
  opened = new EventEmitter();
62
62
  showChange = new EventEmitter();
63
- closeComponents;
63
+ closeComponents = contentChildren(IDDialogCloseComponent, { descendants: true });
64
64
  idService = inject(IDUseIdService);
65
65
  destroyRef = inject(DestroyRef);
66
66
  contentId = this.idService.generateId('dialog-content');
67
67
  headingId = this.idService.generateId('dialog-heading');
68
68
  ngAfterContentInit() {
69
- this.closeComponents.forEach((closeComponent) => {
69
+ this.closeComponents().forEach((closeComponent) => {
70
70
  closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
71
71
  this.hideDialog(event);
72
72
  });
@@ -75,8 +75,10 @@ class IDDialogComponent {
75
75
  ngOnDestroy() {
76
76
  this.reusableFocusTrap.destroy();
77
77
  }
78
- dialogContent;
79
- reusableFocusTrap = useFocusTrap(() => this.dialogContent, { disabled: () => this.noFocusTrap });
78
+ dialogContent = viewChild.required('dialogContent');
79
+ reusableFocusTrap = useFocusTrap(() => this.dialogContent(), {
80
+ disabled: () => this.noFocusTrap,
81
+ });
80
82
  toggleDialog(event) {
81
83
  if (this.show) {
82
84
  this.hideDialog(event);
@@ -109,17 +111,14 @@ class IDDialogComponent {
109
111
  this.showChange.emit(this.show);
110
112
  }
111
113
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDDialogComponent, isStandalone: true, selector: "id-dialog", inputs: { dismissible: ["dismissible", "dismissible", booleanAttribute], srCloseText: "srCloseText", noFocusTrap: ["noFocusTrap", "noFocusTrap", booleanAttribute], keepScrollbar: ["keepScrollbar", "keepScrollbar", booleanAttribute], noOverlay: ["noOverlay", "noOverlay", booleanAttribute], persistent: ["persistent", "persistent", booleanAttribute], show: ["show", "show", booleanAttribute], width: "width", maxWidth: "maxWidth" }, outputs: { closed: "closed", opened: "opened", showChange: "showChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, queries: [{ propertyName: "trigger", first: true, predicate: IDDialogTriggerComponent, descendants: true }, { propertyName: "closeComponents", predicate: IDDialogCloseComponent, descendants: true }], viewQueries: [{ propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
114
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDDialogComponent, isStandalone: true, selector: "id-dialog", inputs: { dismissible: ["dismissible", "dismissible", booleanAttribute], srCloseText: "srCloseText", noFocusTrap: ["noFocusTrap", "noFocusTrap", booleanAttribute], keepScrollbar: ["keepScrollbar", "keepScrollbar", booleanAttribute], noOverlay: ["noOverlay", "noOverlay", booleanAttribute], persistent: ["persistent", "persistent", booleanAttribute], show: ["show", "show", booleanAttribute], width: "width", maxWidth: "maxWidth" }, outputs: { closed: "closed", opened: "opened", showChange: "showChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, queries: [{ propertyName: "trigger", first: true, predicate: IDDialogTriggerComponent, descendants: true, isSignal: true }, { propertyName: "closeComponents", predicate: IDDialogCloseComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger() !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n class=\"ids-dialog__close-button\"\n [attr.aria-label]=\"srCloseText\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
113
115
  }
114
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDDialogComponent, decorators: [{
115
117
  type: Component,
116
- args: [{ selector: 'id-dialog', standalone: true, imports: [CommonModule, A11yModule, IDClickOutsideDirective], template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n" }]
118
+ args: [{ selector: 'id-dialog', standalone: true, imports: [CommonModule, A11yModule, IDClickOutsideDirective], template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger() !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n class=\"ids-dialog__close-button\"\n [attr.aria-label]=\"srCloseText\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n" }]
117
119
  }], propDecorators: { onEsc: [{
118
120
  type: HostListener,
119
121
  args: ['document:keydown.escape', ['$event']]
120
- }], trigger: [{
121
- type: ContentChild,
122
- args: [IDDialogTriggerComponent]
123
122
  }], dismissible: [{
124
123
  type: Input,
125
124
  args: [{ transform: booleanAttribute }]
@@ -150,12 +149,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
150
149
  type: Output
151
150
  }], showChange: [{
152
151
  type: Output
153
- }], closeComponents: [{
154
- type: ContentChildren,
155
- args: [IDDialogCloseComponent, { descendants: true }]
156
- }], dialogContent: [{
157
- type: ViewChild,
158
- args: ['dialogContent', { static: true }]
159
152
  }] } });
160
153
 
161
154
  class IDDialogHeaderComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-dialog.mjs","sources":["../../../projects/ids-angular/components/dialog/dialog-trigger.component.ts","../../../projects/ids-angular/components/dialog/dialog-close.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.html","../../../projects/ids-angular/components/dialog/dialog-header.component.ts","../../../projects/ids-angular/components/dialog/dialog-content.component.ts","../../../projects/ids-angular/components/dialog/dialog-footer.component.ts","../../../projects/ids-angular/components/dialog/inera-ids-angular-components-dialog.ts"],"sourcesContent":["import { Component} from '@angular/core';\n\n@Component({\n selector: 'id-dialog-trigger',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogTriggerComponent {}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDDialogCloseComponent {\n @Output() closed = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.closed.emit(e);\n }\n}","import { AfterContentInit, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, EventEmitter, HostListener, Input, OnDestroy, Output, QueryList, ViewChild, booleanAttribute, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CommonModule } from '@angular/common';\nimport { IDDialogTriggerComponent } from './dialog-trigger.component';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { IDDialogCloseComponent } from './dialog-close.component';\n\n@Component({\n selector: 'id-dialog',\n templateUrl: './dialog.component.html',\n standalone: true,\n imports:[CommonModule, A11yModule, IDClickOutsideDirective],\n})\n\nexport class IDDialogComponent implements AfterContentInit, OnDestroy {\n\n @HostListener('document:keydown.escape', ['$event'])\n onEsc(event: Event) {\n if (this.show && !this.persistent) {\n this.hideDialog(event);\n }\n }\n\n @ContentChild(IDDialogTriggerComponent)\n trigger:IDDialogTriggerComponent;\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input() srCloseText: string = '';\n @Input({ transform: booleanAttribute }) noFocusTrap: boolean = false;\n @Input({ transform: booleanAttribute }) keepScrollbar: boolean = false;\n @Input({ transform: booleanAttribute }) noOverlay: boolean = false;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) show: boolean = false;\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ContentChildren(IDDialogCloseComponent, {descendants: true})\n closeComponents: QueryList<IDDialogCloseComponent>;\n \n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('dialog-content');\n headingId = this.idService.generateId('dialog-heading');\n\n ngAfterContentInit(): void {\n this.closeComponents.forEach((closeComponent) => {\n closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event: Event) => {\n this.hideDialog(event);\n })\n });\n }\n\n ngOnDestroy(): void {\n this.reusableFocusTrap.destroy();\n }\n\n @ViewChild('dialogContent', { static: true })\n dialogContent!: ElementRef\n \n private reusableFocusTrap = useFocusTrap(\n () => this.dialogContent,\n { disabled: () => this.noFocusTrap }\n );\n\n protected toggleDialog(event: Event):void {\n if(this.show) {\n this.hideDialog(event);\n } else {\n this.showDialog(event);\n }\n }\n protected overlayClicked(event: Event):void {\n if (!this.persistent) {\n this.hideDialog(event);\n }\n }\n\n showDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.add('ids-hide-overflow');\n }\n this.show = true;\n this.opened.emit(event)\n this.showChange.emit(this.show);\n this.reusableFocusTrap.create();\n }\n\n hideDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.remove('ids-hide-overflow');\n }\n this.reusableFocusTrap.destroy();\n this.show = false;\n this.closed.emit(event)\n this.showChange.emit(this.show);\n }\n\n}\n","<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-header',\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class IDDialogHeaderComponent {}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-content',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-footer',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-dialog__footer'\n }\n})\nexport class IDDialogFooterComponent {}\n","/**\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-dialog.mjs","sources":["../../../projects/ids-angular/components/dialog/dialog-trigger.component.ts","../../../projects/ids-angular/components/dialog/dialog-close.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.html","../../../projects/ids-angular/components/dialog/dialog-header.component.ts","../../../projects/ids-angular/components/dialog/dialog-content.component.ts","../../../projects/ids-angular/components/dialog/dialog-footer.component.ts","../../../projects/ids-angular/components/dialog/inera-ids-angular-components-dialog.ts"],"sourcesContent":["import { Component} from '@angular/core';\n\n@Component({\n selector: 'id-dialog-trigger',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogTriggerComponent {}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDDialogCloseComponent {\n @Output() closed = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.closed.emit(e);\n }\n}","import {\n AfterContentInit,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n viewChild,\n booleanAttribute,\n inject,\n contentChild,\n contentChildren,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CommonModule } from '@angular/common';\nimport { IDDialogTriggerComponent } from './dialog-trigger.component';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { IDDialogCloseComponent } from './dialog-close.component';\n\n@Component({\n selector: 'id-dialog',\n templateUrl: './dialog.component.html',\n standalone: true,\n imports: [CommonModule, A11yModule, IDClickOutsideDirective],\n})\nexport class IDDialogComponent implements AfterContentInit, OnDestroy {\n @HostListener('document:keydown.escape', ['$event'])\n onEsc(event: Event) {\n if (this.show && !this.persistent) {\n this.hideDialog(event);\n }\n }\n\n trigger = contentChild(IDDialogTriggerComponent);\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input() srCloseText: string = '';\n @Input({ transform: booleanAttribute }) noFocusTrap: boolean = false;\n @Input({ transform: booleanAttribute }) keepScrollbar: boolean = false;\n @Input({ transform: booleanAttribute }) noOverlay: boolean = false;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) show: boolean = false;\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n closeComponents = contentChildren(IDDialogCloseComponent, { descendants: true });\n\n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('dialog-content');\n headingId = this.idService.generateId('dialog-heading');\n\n ngAfterContentInit(): void {\n this.closeComponents().forEach((closeComponent) => {\n closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event: Event) => {\n this.hideDialog(event);\n });\n });\n }\n\n ngOnDestroy(): void {\n this.reusableFocusTrap.destroy();\n }\n\n dialogContent = viewChild.required<ElementRef>('dialogContent');\n\n private reusableFocusTrap = useFocusTrap(() => this.dialogContent(), {\n disabled: () => this.noFocusTrap,\n });\n\n protected toggleDialog(event: Event): void {\n if (this.show) {\n this.hideDialog(event);\n } else {\n this.showDialog(event);\n }\n }\n protected overlayClicked(event: Event): void {\n if (!this.persistent) {\n this.hideDialog(event);\n }\n }\n\n showDialog(event: Event): void {\n if (!this.noOverlay) {\n document.body.classList.add('ids-hide-overflow');\n }\n this.show = true;\n this.opened.emit(event);\n this.showChange.emit(this.show);\n this.reusableFocusTrap.create();\n }\n\n hideDialog(event: Event): void {\n if (!this.noOverlay) {\n document.body.classList.remove('ids-hide-overflow');\n }\n this.reusableFocusTrap.destroy();\n this.show = false;\n this.closed.emit(event);\n this.showChange.emit(this.show);\n }\n}\n","<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger() !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n class=\"ids-dialog__close-button\"\n [attr.aria-label]=\"srCloseText\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-header',\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class IDDialogHeaderComponent {}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-content',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-footer',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-dialog__footer'\n }\n})\nexport class IDDialogFooterComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, inject, ElementRef, booleanAttribute, HostListener, ViewChild, Output, Input, Component, Directive, NgModule } from '@angular/core';
2
+ import { EventEmitter, viewChild, inject, ElementRef, booleanAttribute, HostListener, Output, Input, Component, Directive, NgModule } from '@angular/core';
3
3
  import * as i1 from '@inera/ids-angular/common';
4
4
  import { IDUseIdService, useFocusTrap, IDClickOutsideDirective } from '@inera/ids-angular/common';
5
5
 
@@ -13,10 +13,10 @@ class IDDropdownComponent {
13
13
  position = 'right';
14
14
  closed = new EventEmitter();
15
15
  opened = new EventEmitter();
16
- dropdownContent;
16
+ dropdownContent = viewChild('dropdownContent');
17
17
  useId = inject(IDUseIdService);
18
18
  host = inject(ElementRef);
19
- focusTrap = useFocusTrap(() => this.dropdownContent, { disabled: () => !this.expanded });
19
+ focusTrap = useFocusTrap(() => this.dropdownContent(), { disabled: () => !this.expanded });
20
20
  contentId = this.useId.generateId('dropdown');
21
21
  triggerId = this.useId.generateId('dropdown-trigger');
22
22
  trigger;
@@ -86,7 +86,7 @@ class IDDropdownComponent {
86
86
  firstFocusable?.focus();
87
87
  }
88
88
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
89
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDDropdownComponent, isStandalone: true, selector: "id-dropdown", inputs: { sBlock: ["sBlock", "sBlock", booleanAttribute], mBlock: ["mBlock", "mBlock", booleanAttribute], minWidth: "minWidth", maxHeight: "maxHeight", persistent: ["persistent", "persistent", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], position: "position" }, outputs: { closed: "closed", opened: "opened" }, host: { listeners: { "idClickOutside": "closeIfNotPersistent()", "window:keydown": "handleKeyDown($event)" }, properties: { "class": "baseAndPositionClasses", "class.ids-dropdown--s-block": "sBlock", "class.ids-dropdown--m-block": "mBlock" } }, viewQueries: [{ propertyName: "dropdownContent", first: true, predicate: ["dropdownContent"], descendants: true }], hostDirectives: [{ directive: i1.IDClickOutsideDirective, outputs: ["idClickOutside", "idClickOutside"] }], ngImport: i0, template: "<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n" });
89
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDDropdownComponent, isStandalone: true, selector: "id-dropdown", inputs: { sBlock: ["sBlock", "sBlock", booleanAttribute], mBlock: ["mBlock", "mBlock", booleanAttribute], minWidth: "minWidth", maxHeight: "maxHeight", persistent: ["persistent", "persistent", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], position: "position" }, outputs: { closed: "closed", opened: "opened" }, host: { listeners: { "idClickOutside": "closeIfNotPersistent()", "window:keydown": "handleKeyDown($event)" }, properties: { "class": "baseAndPositionClasses", "class.ids-dropdown--s-block": "sBlock", "class.ids-dropdown--m-block": "mBlock" } }, viewQueries: [{ propertyName: "dropdownContent", first: true, predicate: ["dropdownContent"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.IDClickOutsideDirective, outputs: ["idClickOutside", "idClickOutside"] }], ngImport: i0, template: "<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n" });
90
90
  }
91
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDDropdownComponent, decorators: [{
92
92
  type: Component,
@@ -123,9 +123,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
123
123
  type: Output
124
124
  }], opened: [{
125
125
  type: Output
126
- }], dropdownContent: [{
127
- type: ViewChild,
128
- args: ['dropdownContent']
129
126
  }], handleKeyDown: [{
130
127
  type: HostListener,
131
128
  args: ['window:keydown', ['$event']]
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-dropdown.mjs","sources":["../../../projects/ids-angular/components/dropdown/dropdown.component.ts","../../../projects/ids-angular/components/dropdown/dropdown.component.html","../../../projects/ids-angular/components/dropdown/dropdown-trigger.component.ts","../../../projects/ids-angular/components/dropdown/dropdown-item.directive.ts","../../../projects/ids-angular/components/dropdown/dropdown.module.ts","../../../projects/ids-angular/components/dropdown/inera-ids-angular-components-dropdown.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n booleanAttribute,\n inject,\n ViewChild,\n} from '@angular/core';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-dropdown',\n templateUrl: './dropdown.component.html',\n standalone: true,\n host: {\n '[class]': 'baseAndPositionClasses',\n '[class.ids-dropdown--s-block]': 'sBlock',\n '[class.ids-dropdown--m-block]': 'mBlock',\n '(idClickOutside)': 'closeIfNotPersistent()',\n },\n hostDirectives: [\n {\n directive: IDClickOutsideDirective,\n outputs: ['idClickOutside'],\n },\n ],\n})\nexport class IDDropdownComponent implements AfterViewInit, OnDestroy {\n @Input({ transform: booleanAttribute }) sBlock: boolean = false;\n @Input({ transform: booleanAttribute }) mBlock: boolean = false;\n @Input() minWidth?: string;\n @Input() maxHeight?: string;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() position: 'left' | 'right' = 'right';\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() opened: EventEmitter<void> = new EventEmitter();\n\n @ViewChild('dropdownContent') dropdownContent?: ElementRef<HTMLElement>;\n\n private useId = inject(IDUseIdService);\n private host = inject(ElementRef);\n private focusTrap = useFocusTrap(() => this.dropdownContent, { disabled: () => !this.expanded });\n protected contentId = this.useId.generateId('dropdown');\n protected triggerId = this.useId.generateId('dropdown-trigger');\n protected trigger: Element | null;\n\n ngAfterViewInit() {\n this.setupTrigger();\n this.trigger?.setAttribute('id', this.triggerId);\n }\n\n ngOnDestroy(): void {\n if (this.trigger) {\n this.trigger.removeEventListener('click', this.toggleDropdown);\n }\n this.focusTrap.destroy();\n }\n\n @HostListener('window:keydown', ['$event'])\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.expanded) {\n this.closeIfNotPersistent();\n }\n }\n\n closeIfNotPersistent(): void {\n if (!this.persistent) {\n this.hasClosed();\n }\n }\n\n setupTrigger(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n this.trigger = hostEl.querySelector('id-dropdown-trigger > *');\n if (this.trigger) {\n this.trigger.addEventListener('click', this.toggleDropdown);\n this.trigger.setAttribute('aria-controls', this.contentId);\n this.trigger.setAttribute('aria-haspopup', 'dialog');\n this.trigger.setAttribute('aria-expanded', `${this.expanded}`);\n }\n }\n\n toggleDropdown = () => {\n if (this.expanded) {\n this.hasClosed();\n this.trigger?.removeAttribute('aria-expanded');\n } else {\n this.hasOpened();\n this.trigger?.setAttribute('aria-expanded', 'true');\n }\n };\n\n get baseAndPositionClasses(): string {\n const dropdownClass = 'ids-dropdown';\n const positionClass = `${dropdownClass}--position-${this.position}`;\n return `${dropdownClass} ${positionClass}`;\n }\n\n hasClosed() {\n this.expanded = false;\n this.trigger?.setAttribute('aria-expanded', 'false');\n this.closed.emit();\n this.focusTrap.destroy();\n }\n\n hasOpened() {\n this.expanded = true;\n this.trigger?.setAttribute('aria-expanded', 'true');\n this.opened.emit();\n this.focusTrap.create();\n\n setTimeout(() => {\n this.focusFirstElement();\n });\n }\n\n private focusFirstElement(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n const firstFocusable = hostEl.querySelector<HTMLElement>('[idDropdownItem]');\n firstFocusable?.focus();\n }\n}\n","<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dropdown-trigger',\n template: `\n <ng-content></ng-content>\n `,\n standalone: true,\n})\nexport class IDDropdownTriggerComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[idDropdownItem]',\n standalone: true,\n host: {\n class: 'ids-dropdown-content__link',\n },\n})\nexport class IDDropdownItemDirective {}\n","import { NgModule } from '@angular/core';\nimport { IDDropdownItemDirective } from './dropdown-item.directive';\nimport { IDDropdownComponent } from './dropdown.component';\nimport { IDDropdownTriggerComponent } from './dropdown-trigger.component';\n\n\n@NgModule({\n imports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n exports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n})\nexport class IDDropdownModule {}","/**\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-dropdown.mjs","sources":["../../../projects/ids-angular/components/dropdown/dropdown.component.ts","../../../projects/ids-angular/components/dropdown/dropdown.component.html","../../../projects/ids-angular/components/dropdown/dropdown-trigger.component.ts","../../../projects/ids-angular/components/dropdown/dropdown-item.directive.ts","../../../projects/ids-angular/components/dropdown/dropdown.module.ts","../../../projects/ids-angular/components/dropdown/inera-ids-angular-components-dropdown.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n booleanAttribute,\n inject,\n viewChild,\n} from '@angular/core';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-dropdown',\n templateUrl: './dropdown.component.html',\n standalone: true,\n host: {\n '[class]': 'baseAndPositionClasses',\n '[class.ids-dropdown--s-block]': 'sBlock',\n '[class.ids-dropdown--m-block]': 'mBlock',\n '(idClickOutside)': 'closeIfNotPersistent()',\n },\n hostDirectives: [\n {\n directive: IDClickOutsideDirective,\n outputs: ['idClickOutside'],\n },\n ],\n})\nexport class IDDropdownComponent implements AfterViewInit, OnDestroy {\n @Input({ transform: booleanAttribute }) sBlock: boolean = false;\n @Input({ transform: booleanAttribute }) mBlock: boolean = false;\n @Input() minWidth?: string;\n @Input() maxHeight?: string;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() position: 'left' | 'right' = 'right';\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() opened: EventEmitter<void> = new EventEmitter();\n\n dropdownContent = viewChild<ElementRef<HTMLElement>>('dropdownContent');\n\n private useId = inject(IDUseIdService);\n private host = inject(ElementRef);\n private focusTrap = useFocusTrap(() => this.dropdownContent(), { disabled: () => !this.expanded });\n protected contentId = this.useId.generateId('dropdown');\n protected triggerId = this.useId.generateId('dropdown-trigger');\n protected trigger: Element | null;\n\n ngAfterViewInit() {\n this.setupTrigger();\n this.trigger?.setAttribute('id', this.triggerId);\n }\n\n ngOnDestroy(): void {\n if (this.trigger) {\n this.trigger.removeEventListener('click', this.toggleDropdown);\n }\n this.focusTrap.destroy();\n }\n\n @HostListener('window:keydown', ['$event'])\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.expanded) {\n this.closeIfNotPersistent();\n }\n }\n\n closeIfNotPersistent(): void {\n if (!this.persistent) {\n this.hasClosed();\n }\n }\n\n setupTrigger(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n this.trigger = hostEl.querySelector('id-dropdown-trigger > *');\n if (this.trigger) {\n this.trigger.addEventListener('click', this.toggleDropdown);\n this.trigger.setAttribute('aria-controls', this.contentId);\n this.trigger.setAttribute('aria-haspopup', 'dialog');\n this.trigger.setAttribute('aria-expanded', `${this.expanded}`);\n }\n }\n\n toggleDropdown = () => {\n if (this.expanded) {\n this.hasClosed();\n this.trigger?.removeAttribute('aria-expanded');\n } else {\n this.hasOpened();\n this.trigger?.setAttribute('aria-expanded', 'true');\n }\n };\n\n get baseAndPositionClasses(): string {\n const dropdownClass = 'ids-dropdown';\n const positionClass = `${dropdownClass}--position-${this.position}`;\n return `${dropdownClass} ${positionClass}`;\n }\n\n hasClosed() {\n this.expanded = false;\n this.trigger?.setAttribute('aria-expanded', 'false');\n this.closed.emit();\n this.focusTrap.destroy();\n }\n\n hasOpened() {\n this.expanded = true;\n this.trigger?.setAttribute('aria-expanded', 'true');\n this.opened.emit();\n this.focusTrap.create();\n\n setTimeout(() => {\n this.focusFirstElement();\n });\n }\n\n private focusFirstElement(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n const firstFocusable = hostEl.querySelector<HTMLElement>('[idDropdownItem]');\n firstFocusable?.focus();\n }\n}\n","<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dropdown-trigger',\n template: `\n <ng-content></ng-content>\n `,\n standalone: true,\n})\nexport class IDDropdownTriggerComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[idDropdownItem]',\n standalone: true,\n host: {\n class: 'ids-dropdown-content__link',\n },\n})\nexport class IDDropdownItemDirective {}\n","import { NgModule } from '@angular/core';\nimport { IDDropdownItemDirective } from './dropdown-item.directive';\nimport { IDDropdownComponent } from './dropdown.component';\nimport { IDDropdownTriggerComponent } from './dropdown-trigger.component';\n\n\n@NgModule({\n imports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n exports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n})\nexport class IDDropdownModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,30 +1,26 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, DestroyRef, HostBinding, ContentChildren, Component, Input, NgModule } from '@angular/core';
2
+ import { contentChildren, inject, DestroyRef, ChangeDetectorRef, afterNextRender, HostBinding, Component, effect, Input, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
4
  import { IDLinkDirective } from '@inera/ids-angular/components/link';
6
5
 
7
6
  class IDFooter1177AdminColComponent {
8
- links;
7
+ links = contentChildren(IDLinkDirective);
9
8
  columnClass;
10
9
  get hostClass() {
11
- return this.columnClass;
10
+ return `ids-footer-1177-admin__link-col ${this.columnClass || ''}`;
12
11
  }
13
12
  destroyRef = inject(DestroyRef);
14
- updateColumnClasses() {
15
- this.links.forEach((link) => {
16
- link.footer = true;
17
- link.block = true;
18
- });
19
- }
20
- ngAfterContentInit() {
21
- this.updateColumnClasses();
22
- this.links.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
23
- this.updateColumnClasses();
13
+ cdr = inject(ChangeDetectorRef);
14
+ constructor() {
15
+ afterNextRender(() => {
16
+ this.links().forEach((link) => {
17
+ link.footer = true;
18
+ link.block = true;
19
+ });
24
20
  });
25
21
  }
26
22
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDFooter1177AdminColComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDFooter1177AdminColComponent, isStandalone: true, selector: "id-footer-1177-admin-col", host: { properties: { "class": "this.hostClass" }, classAttribute: "ids-footer-1177-admin__link-col" }, queries: [{ propertyName: "links", predicate: IDLinkDirective }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDFooter1177AdminColComponent, isStandalone: true, selector: "id-footer-1177-admin-col", host: { properties: { "class": "this.hostClass" }, classAttribute: "ids-footer-1177-admin__link-col" }, queries: [{ propertyName: "links", predicate: IDLinkDirective, isSignal: true }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
28
24
  }
29
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDFooter1177AdminColComponent, decorators: [{
30
26
  type: Component,
@@ -36,47 +32,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
36
32
  class: 'ids-footer-1177-admin__link-col'
37
33
  }
38
34
  }]
39
- }], propDecorators: { links: [{
40
- type: ContentChildren,
41
- args: [IDLinkDirective]
42
- }], hostClass: [{
35
+ }], ctorParameters: () => [], propDecorators: { hostClass: [{
43
36
  type: HostBinding,
44
37
  args: ['class']
45
38
  }] } });
46
39
 
47
40
  class IDFooter1177AdminComponent {
48
41
  headline;
49
- cols;
42
+ cols = contentChildren(IDFooter1177AdminColComponent);
50
43
  destroyRef = inject(DestroyRef);
51
- updateColumnClasses() {
52
- const colLength = this.cols?.length || 0;
44
+ constructor() {
45
+ effect(() => {
46
+ const cols = this.cols();
47
+ this.updateColumnClasses(cols);
48
+ });
49
+ }
50
+ ngAfterContentInit() {
51
+ this.updateColumnClasses(this.cols());
52
+ }
53
+ updateColumnClasses(cols) {
54
+ const colLength = cols.length;
53
55
  const classMap = {
54
56
  1: "ids-footer-1177-admin__link-col--100",
55
57
  2: "ids-footer-1177-admin__link-col--50",
56
58
  3: "ids-footer-1177-admin__link-col--33"
57
59
  };
58
60
  const newClass = classMap[colLength] || classMap[1];
59
- this.cols?.forEach((col) => {
61
+ cols.forEach((col) => {
60
62
  col.columnClass = newClass;
61
63
  });
62
64
  }
63
- ngAfterContentInit() {
64
- this.updateColumnClasses();
65
- this.cols?.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
66
- this.updateColumnClasses();
67
- });
68
- }
69
65
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDFooter1177AdminComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
70
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDFooter1177AdminComponent, isStandalone: true, selector: "id-footer-1177-admin", inputs: { headline: "headline" }, queries: [{ propertyName: "cols", predicate: IDFooter1177AdminColComponent }], ngImport: i0, template: "\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols.length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> p\u00E5 uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>", dependencies: [{ kind: "ngmodule", type: CommonModule }] });
66
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDFooter1177AdminComponent, isStandalone: true, selector: "id-footer-1177-admin", inputs: { headline: "headline" }, queries: [{ propertyName: "cols", predicate: IDFooter1177AdminColComponent, isSignal: true }], ngImport: i0, template: "\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols().length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> p\u00E5 uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>", dependencies: [{ kind: "ngmodule", type: CommonModule }] });
71
67
  }
72
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDFooter1177AdminComponent, decorators: [{
73
69
  type: Component,
74
- args: [{ selector: 'id-footer-1177-admin', standalone: true, imports: [CommonModule], template: "\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols.length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> p\u00E5 uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>" }]
75
- }], propDecorators: { headline: [{
70
+ args: [{ selector: 'id-footer-1177-admin', standalone: true, imports: [CommonModule], template: "\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols().length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> p\u00E5 uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>" }]
71
+ }], ctorParameters: () => [], propDecorators: { headline: [{
76
72
  type: Input
77
- }], cols: [{
78
- type: ContentChildren,
79
- args: [IDFooter1177AdminColComponent]
80
73
  }] } });
81
74
 
82
75
  class IDFooter1177AdminTextComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-footer-1177-admin.mjs","sources":["../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-col.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.component.html","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-text.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-right.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-left.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-mobile.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.module.ts","../../../projects/ids-angular/components/footer-1177-admin/inera-ids-angular-components-footer-1177-admin.ts"],"sourcesContent":["import { Component, ContentChildren, DestroyRef, HostBinding, inject, QueryList } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IDLinkDirective } from '@inera/ids-angular/components/link';\n\n@Component({\n selector: 'id-footer-1177-admin-col',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__link-col'\n }\n})\nexport class IDFooter1177AdminColComponent {\n @ContentChildren(IDLinkDirective) links: QueryList<IDLinkDirective>;\n\n columnClass: string;\n\n @HostBinding('class')\n get hostClass() {\n return this.columnClass;\n }\n\n private destroyRef = inject(DestroyRef);\n\n private updateColumnClasses(): void {\n this.links.forEach((link) => {\n link.footer = true;\n link.block = true;\n })\n }\n\n ngAfterContentInit(): void {\n this.updateColumnClasses();\n this.links.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.updateColumnClasses();\n });\n }\n}","import { CommonModule } from '@angular/common';\nimport { Component, ContentChildren, DestroyRef, inject, Input, QueryList } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IDFooter1177AdminColComponent } from './footer-1177-admin-col.component';\n\n@Component({\n selector: 'id-footer-1177-admin',\n templateUrl: './footer-1177-admin.component.html',\n standalone: true,\n imports: [CommonModule],\n})\nexport class IDFooter1177AdminComponent {\n @Input() headline?: string;\n\n @ContentChildren(IDFooter1177AdminColComponent) \n cols!: QueryList<IDFooter1177AdminColComponent>;\n\n private destroyRef = inject(DestroyRef);\n\n private updateColumnClasses(): void {\n const colLength = this.cols?.length || 0;\n \n const classMap: Record<number, string> = {\n 1: \"ids-footer-1177-admin__link-col--100\",\n 2: \"ids-footer-1177-admin__link-col--50\",\n 3: \"ids-footer-1177-admin__link-col--33\"\n };\n\n const newClass = classMap[colLength] || classMap[1];\n\n this.cols?.forEach((col) => {\n col.columnClass = newClass;\n });\n }\n\n ngAfterContentInit(): void {\n this.updateColumnClasses();\n this.cols?.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.updateColumnClasses();\n });\n }\n \n}\n","\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols.length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> på uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-text',\n standalone: true,\n template: `\n <ng-content></ng-content>\n <div class=\"ids-footer-1177-admin__darkmode-toggle\">\n <ng-content select=\"id-darkmode-toggle\"></ng-content>\n </div>\n `,\n host: {\n class: 'ids-footer-1177-admin__text',\n },\n})\nexport class IDFooter1177AdminTextComponent {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-right',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__sub-footer-right'\n }\n})\nexport class IDFooter1177AdminSubFooterRightComponent {\n\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-left',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__sub-footer-left'\n }\n})\nexport class IDFooter1177AdminSubFooterLeftComponent {\n\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-mobile',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__mobile-links'\n }\n})\nexport class IDFooter1177AdminSubFooterMobileComponent {\n\n}","import { NgModule } from '@angular/core';\n\nimport { IDFooter1177AdminComponent } from './footer-1177-admin.component';\nimport { IDFooter1177AdminTextComponent } from './footer-1177-admin-text.component';\nimport { IDFooter1177AdminColComponent } from './footer-1177-admin-col.component';\nimport { IDFooter1177AdminSubFooterRightComponent } from './footer-1177-admin-sub-footer-right.component';\nimport { IDFooter1177AdminSubFooterLeftComponent } from './footer-1177-admin-sub-footer-left.component';\nimport { IDFooter1177AdminSubFooterMobileComponent } from './footer-1177-admin-sub-footer-mobile.component';\n\n@NgModule({\n imports: [\n IDFooter1177AdminComponent,\n IDFooter1177AdminTextComponent,\n IDFooter1177AdminColComponent,\n IDFooter1177AdminSubFooterRightComponent,\n IDFooter1177AdminSubFooterLeftComponent,\n IDFooter1177AdminSubFooterMobileComponent,\n ],\n exports: [\n IDFooter1177AdminComponent,\n IDFooter1177AdminTextComponent,\n IDFooter1177AdminColComponent,\n IDFooter1177AdminSubFooterRightComponent,\n IDFooter1177AdminSubFooterLeftComponent,\n IDFooter1177AdminSubFooterMobileComponent,\n ],\n})\nexport class IDFooter1177AdminModule {}","/**\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-footer-1177-admin.mjs","sources":["../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-col.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.component.html","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-text.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-right.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-left.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-mobile.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.module.ts","../../../projects/ids-angular/components/footer-1177-admin/inera-ids-angular-components-footer-1177-admin.ts"],"sourcesContent":["import { afterNextRender, ChangeDetectorRef, Component, contentChildren, DestroyRef, HostBinding, inject } from '@angular/core';\nimport { IDLinkDirective } from '@inera/ids-angular/components/link';\n\n@Component({\n selector: 'id-footer-1177-admin-col',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__link-col'\n }\n})\nexport class IDFooter1177AdminColComponent {\n links = contentChildren(IDLinkDirective);\n\n columnClass: string;\n\n @HostBinding('class')\n get hostClass() {\n return `ids-footer-1177-admin__link-col ${this.columnClass || ''}`;\n }\n\n private destroyRef = inject(DestroyRef);\n cdr = inject(ChangeDetectorRef);\n\n constructor() {\n afterNextRender(() => {\n this.links().forEach((link) => {\n link.footer = true;\n link.block = true;\n });\n });\n }\n}","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectorRef, Component, contentChildren, DestroyRef, effect, inject, Input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IDFooter1177AdminColComponent } from './footer-1177-admin-col.component';\n\n@Component({\n selector: 'id-footer-1177-admin',\n templateUrl: './footer-1177-admin.component.html',\n standalone: true,\n imports: [CommonModule],\n})\nexport class IDFooter1177AdminComponent implements AfterContentInit {\n @Input() headline?: string;\n\n cols = contentChildren(IDFooter1177AdminColComponent);\n\n private destroyRef = inject(DestroyRef);\n\n constructor() {\n effect(() => {\n const cols = this.cols();\n this.updateColumnClasses(cols);\n });\n }\n\n ngAfterContentInit(): void {\n this.updateColumnClasses(this.cols());\n }\n\n private updateColumnClasses(cols: readonly IDFooter1177AdminColComponent[]) {\n const colLength = cols.length;\n \n const classMap: Record<number, string> = {\n 1: \"ids-footer-1177-admin__link-col--100\",\n 2: \"ids-footer-1177-admin__link-col--50\",\n 3: \"ids-footer-1177-admin__link-col--33\"\n };\n\n const newClass = classMap[colLength] || classMap[1];\n\n cols.forEach((col) => {\n col.columnClass = newClass;\n });\n }\n \n}\n","\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols().length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> på uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-text',\n standalone: true,\n template: `\n <ng-content></ng-content>\n <div class=\"ids-footer-1177-admin__darkmode-toggle\">\n <ng-content select=\"id-darkmode-toggle\"></ng-content>\n </div>\n `,\n host: {\n class: 'ids-footer-1177-admin__text',\n },\n})\nexport class IDFooter1177AdminTextComponent {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-right',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__sub-footer-right'\n }\n})\nexport class IDFooter1177AdminSubFooterRightComponent {\n\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-left',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__sub-footer-left'\n }\n})\nexport class IDFooter1177AdminSubFooterLeftComponent {\n\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-mobile',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__mobile-links'\n }\n})\nexport class IDFooter1177AdminSubFooterMobileComponent {\n\n}","import { NgModule } from '@angular/core';\n\nimport { IDFooter1177AdminComponent } from './footer-1177-admin.component';\nimport { IDFooter1177AdminTextComponent } from './footer-1177-admin-text.component';\nimport { IDFooter1177AdminColComponent } from './footer-1177-admin-col.component';\nimport { IDFooter1177AdminSubFooterRightComponent } from './footer-1177-admin-sub-footer-right.component';\nimport { IDFooter1177AdminSubFooterLeftComponent } from './footer-1177-admin-sub-footer-left.component';\nimport { IDFooter1177AdminSubFooterMobileComponent } from './footer-1177-admin-sub-footer-mobile.component';\n\n@NgModule({\n imports: [\n IDFooter1177AdminComponent,\n IDFooter1177AdminTextComponent,\n IDFooter1177AdminColComponent,\n IDFooter1177AdminSubFooterRightComponent,\n IDFooter1177AdminSubFooterLeftComponent,\n IDFooter1177AdminSubFooterMobileComponent,\n ],\n exports: [\n IDFooter1177AdminComponent,\n IDFooter1177AdminTextComponent,\n IDFooter1177AdminColComponent,\n IDFooter1177AdminSubFooterRightComponent,\n IDFooter1177AdminSubFooterLeftComponent,\n IDFooter1177AdminSubFooterMobileComponent,\n ],\n})\nexport class IDFooter1177AdminModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}