@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,13 +1,13 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { TemplateRef, ViewChild, Component, inject, EventEmitter, booleanAttribute, ContentChild, Output, Input } from '@angular/core';
4
+ import { viewChild, TemplateRef, Component, inject, EventEmitter, contentChild, booleanAttribute, Output, Input } from '@angular/core';
5
5
  import { IDUseIdService } from '@inera/ids-angular/common';
6
6
 
7
7
  class IDAlertHeaderComponent {
8
- template;
8
+ template = viewChild.required(TemplateRef);
9
9
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAlertHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDAlertHeaderComponent, isStandalone: true, selector: "id-alert-header", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: `
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDAlertHeaderComponent, isStandalone: true, selector: "id-alert-header", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
11
11
  <ng-template>
12
12
  <ng-content></ng-content>
13
13
  </ng-template>`, isInline: true });
@@ -22,10 +22,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
22
22
  <ng-content></ng-content>
23
23
  </ng-template>`
24
24
  }]
25
- }], propDecorators: { template: [{
26
- type: ViewChild,
27
- args: [TemplateRef]
28
- }] } });
25
+ }] });
29
26
 
30
27
  class IDAlertComponent {
31
28
  _collapsed = false;
@@ -53,12 +50,12 @@ class IDAlertComponent {
53
50
  dismissed = new EventEmitter();
54
51
  closed = new EventEmitter();
55
52
  opened = new EventEmitter();
56
- header;
53
+ header = contentChild(IDAlertHeaderComponent);
57
54
  get hostClasses() {
58
55
  return `ids-alert ids-alert--${this.type}`;
59
56
  }
60
57
  ngAfterContentInit() {
61
- if (this.header === undefined) {
58
+ if (this.header() === undefined) {
62
59
  this.compact = true;
63
60
  }
64
61
  }
@@ -81,7 +78,7 @@ class IDAlertComponent {
81
78
  this.dismissed.emit();
82
79
  }
83
80
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDAlertComponent, isStandalone: true, selector: "id-alert", inputs: { dismissible: ["dismissible", "dismissible", booleanAttribute], collapsible: ["collapsible", "collapsible", booleanAttribute], compact: ["compact", "compact", booleanAttribute], ribbon: ["ribbon", "ribbon", booleanAttribute], type: "type", noRole: ["noRole", "noRole", booleanAttribute], srCloseText: "srCloseText", srIconTitle: "srIconTitle", srCollapseText: "srCollapseText", srExpandText: "srExpandText", collapsed: "collapsed" }, outputs: { collapsedChange: "collapsedChange", dismissed: "dismissed", closed: "closed", opened: "opened" }, host: { properties: { "class": "hostClasses", "class.ids-alert--collapsible": "collapsible", "class.ids-alert--dismissible": "dismissible", "class.ids-alert--ribbon": "ribbon", "class.ids-alert--compact": "compact", "class.ids-alert--collapsed": "collapsed", "attr.ids-alert--dismissible": "dismissible ? \"\" : null", "attr.role": "noRole ? null : \"alert\"" } }, queries: [{ propertyName: "header", first: true, predicate: IDAlertHeaderComponent, descendants: true }], ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content select=\":not(id-alert-header)\"></ng-content>\n</ng-template>\n\n@if (compact || ribbon) {\n <div class=\"ids-alert__content\">\n <span\n class=\"ids-alert__content-icon\"\n aria-hidden\n ></span>\n <span class=\"ids-alert__content-text\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </div>\n\n @if (dismissible) {\n <div class=\"ids-alert__button\">\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n >\n <span\n class=\"ids-alert__close-icon\"\n aria-hidden\n ></span>\n </button>\n </div>\n }\n}\n\n@if (!compact && !ribbon) {\n <div class=\"ids-alert__container\">\n <div class=\"ids-alert__header\">\n <ng-template #headerContentTemplate>\n <div class=\"ids-alert__icon_and_text\">\n <span\n class=\"ids-alert__state-icon\"\n aria-hidden\n ></span>\n <div class=\"ids-alert__headline\">\n <ng-container *ngTemplateOutlet=\"header.template\"></ng-container>\n </div>\n </div>\n </ng-template>\n\n @if (collapsible) {\n <button\n class=\"ids-alert__expand-button\"\n [class.ids-alert__expand-button--expanded]=\"!collapsed\"\n (click)=\"toggleCollapsed()\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"collapsed ? srExpandText : srCollapseText\"\n >\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n }\n </div>\n\n <div\n class=\"ids-alert__content\"\n [attr.id]=\"contentId\"\n [attr.aria-hidden]=\"collapsible && collapsed ? 'true' : 'false'\"\n >\n @if (!collapsed) {\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n }\n </div>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDAlertComponent, isStandalone: true, selector: "id-alert", inputs: { dismissible: ["dismissible", "dismissible", booleanAttribute], collapsible: ["collapsible", "collapsible", booleanAttribute], compact: ["compact", "compact", booleanAttribute], ribbon: ["ribbon", "ribbon", booleanAttribute], type: "type", noRole: ["noRole", "noRole", booleanAttribute], srCloseText: "srCloseText", srIconTitle: "srIconTitle", srCollapseText: "srCollapseText", srExpandText: "srExpandText", collapsed: "collapsed" }, outputs: { collapsedChange: "collapsedChange", dismissed: "dismissed", closed: "closed", opened: "opened" }, host: { properties: { "class": "hostClasses", "class.ids-alert--collapsible": "collapsible", "class.ids-alert--dismissible": "dismissible", "class.ids-alert--ribbon": "ribbon", "class.ids-alert--compact": "compact", "class.ids-alert--collapsed": "collapsed", "attr.ids-alert--dismissible": "dismissible ? \"\" : null", "attr.role": "noRole ? null : \"alert\"" } }, queries: [{ propertyName: "header", first: true, predicate: IDAlertHeaderComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content select=\":not(id-alert-header)\"></ng-content>\n</ng-template>\n\n@if (compact || ribbon) {\n <div class=\"ids-alert__content\">\n <span\n class=\"ids-alert__content-icon\"\n aria-hidden\n ></span>\n <span class=\"ids-alert__content-text\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </div>\n\n @if (dismissible) {\n <div class=\"ids-alert__button\">\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n ></button>\n </div>\n }\n}\n\n@if (!compact && !ribbon) {\n <div class=\"ids-alert__container\">\n <div class=\"ids-alert__header\">\n <ng-template #headerContentTemplate>\n <div class=\"ids-alert__icon_and_text\">\n <span\n class=\"ids-alert__state-icon\"\n aria-hidden\n ></span>\n <div class=\"ids-alert__headline\">\n <ng-container *ngTemplateOutlet=\"header()!.template()\"></ng-container>\n </div>\n </div>\n </ng-template>\n\n @if (collapsible) {\n <button\n class=\"ids-alert__expand-button\"\n [class.ids-alert__expand-button--expanded]=\"!collapsed\"\n (click)=\"toggleCollapsed()\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"collapsed ? srExpandText : srCollapseText\"\n >\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n }\n @if (dismissible) {\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n ></button>\n }\n </div>\n\n <div\n class=\"ids-alert__content\"\n [attr.id]=\"contentId\"\n [attr.aria-hidden]=\"collapsible && collapsed ? 'true' : 'false'\"\n >\n @if (!collapsed) {\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n }\n </div>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
85
82
  }
86
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAlertComponent, decorators: [{
87
84
  type: Component,
@@ -94,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
94
91
  '[class.ids-alert--collapsed]': 'collapsed',
95
92
  '[attr.ids-alert--dismissible]': 'dismissible ? "" : null',
96
93
  '[attr.role]': 'noRole ? null : "alert"',
97
- }, imports: [CommonModule], standalone: true, template: "<ng-template #contentTemplate>\n <ng-content select=\":not(id-alert-header)\"></ng-content>\n</ng-template>\n\n@if (compact || ribbon) {\n <div class=\"ids-alert__content\">\n <span\n class=\"ids-alert__content-icon\"\n aria-hidden\n ></span>\n <span class=\"ids-alert__content-text\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </div>\n\n @if (dismissible) {\n <div class=\"ids-alert__button\">\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n >\n <span\n class=\"ids-alert__close-icon\"\n aria-hidden\n ></span>\n </button>\n </div>\n }\n}\n\n@if (!compact && !ribbon) {\n <div class=\"ids-alert__container\">\n <div class=\"ids-alert__header\">\n <ng-template #headerContentTemplate>\n <div class=\"ids-alert__icon_and_text\">\n <span\n class=\"ids-alert__state-icon\"\n aria-hidden\n ></span>\n <div class=\"ids-alert__headline\">\n <ng-container *ngTemplateOutlet=\"header.template\"></ng-container>\n </div>\n </div>\n </ng-template>\n\n @if (collapsible) {\n <button\n class=\"ids-alert__expand-button\"\n [class.ids-alert__expand-button--expanded]=\"!collapsed\"\n (click)=\"toggleCollapsed()\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"collapsed ? srExpandText : srCollapseText\"\n >\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n }\n </div>\n\n <div\n class=\"ids-alert__content\"\n [attr.id]=\"contentId\"\n [attr.aria-hidden]=\"collapsible && collapsed ? 'true' : 'false'\"\n >\n @if (!collapsed) {\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n }\n </div>\n </div>\n}\n" }]
94
+ }, imports: [CommonModule], standalone: true, template: "<ng-template #contentTemplate>\n <ng-content select=\":not(id-alert-header)\"></ng-content>\n</ng-template>\n\n@if (compact || ribbon) {\n <div class=\"ids-alert__content\">\n <span\n class=\"ids-alert__content-icon\"\n aria-hidden\n ></span>\n <span class=\"ids-alert__content-text\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </div>\n\n @if (dismissible) {\n <div class=\"ids-alert__button\">\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n ></button>\n </div>\n }\n}\n\n@if (!compact && !ribbon) {\n <div class=\"ids-alert__container\">\n <div class=\"ids-alert__header\">\n <ng-template #headerContentTemplate>\n <div class=\"ids-alert__icon_and_text\">\n <span\n class=\"ids-alert__state-icon\"\n aria-hidden\n ></span>\n <div class=\"ids-alert__headline\">\n <ng-container *ngTemplateOutlet=\"header()!.template()\"></ng-container>\n </div>\n </div>\n </ng-template>\n\n @if (collapsible) {\n <button\n class=\"ids-alert__expand-button\"\n [class.ids-alert__expand-button--expanded]=\"!collapsed\"\n (click)=\"toggleCollapsed()\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"collapsed ? srExpandText : srCollapseText\"\n >\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n }\n @if (dismissible) {\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n ></button>\n }\n </div>\n\n <div\n class=\"ids-alert__content\"\n [attr.id]=\"contentId\"\n [attr.aria-hidden]=\"collapsible && collapsed ? 'true' : 'false'\"\n >\n @if (!collapsed) {\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n }\n </div>\n </div>\n}\n" }]
98
95
  }], propDecorators: { dismissible: [{
99
96
  type: Input,
100
97
  args: [{ transform: booleanAttribute }]
@@ -130,9 +127,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
130
127
  type: Output
131
128
  }], opened: [{
132
129
  type: Output
133
- }], header: [{
134
- type: ContentChild,
135
- args: [IDAlertHeaderComponent]
136
130
  }] } });
137
131
 
138
132
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-alert.mjs","sources":["../../../projects/ids-angular/components/alert/alert-header.component.ts","../../../projects/ids-angular/components/alert/alert.component.ts","../../../projects/ids-angular/components/alert/alert.component.html","../../../projects/ids-angular/components/alert/inera-ids-angular-components-alert.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'id-alert-header',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`\n})\nexport class IDAlertHeaderComponent {\n\n @ViewChild(TemplateRef) template: TemplateRef<any>;\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { Component, ContentChild, EventEmitter, Input, Output, booleanAttribute, inject, AfterContentInit } from \"@angular/core\";\nimport { IDAlertHeaderComponent } from \"./alert-header.component\";\nimport { IDUseIdService } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: \"id-alert\",\n templateUrl: \"./alert.component.html\",\n host: {\n '[class]': 'hostClasses',\n '[class.ids-alert--collapsible]': 'collapsible',\n '[class.ids-alert--dismissible]': 'dismissible',\n '[class.ids-alert--ribbon]': 'ribbon',\n '[class.ids-alert--compact]': 'compact',\n '[class.ids-alert--collapsed]': 'collapsed',\n '[attr.ids-alert--dismissible]': 'dismissible ? \"\" : null',\n '[attr.role]': 'noRole ? null : \"alert\"',\n },\n imports: [CommonModule],\n standalone: true,\n})\nexport class IDAlertComponent implements AfterContentInit {\n\n private _collapsed: boolean = false;\n private idService = inject(IDUseIdService);\n protected contentId = this.idService.generateId('alert');\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input({ transform: booleanAttribute }) collapsible: boolean = false;\n @Input({ transform: booleanAttribute }) compact: boolean = false;\n @Input({ transform: booleanAttribute }) ribbon: boolean = false;\n @Input() type: \"info\" | \"attention\" | \"success\" | \"error\" = \"info\";\n @Input({ transform: booleanAttribute }) noRole: boolean = false;\n @Input() srCloseText: string = \"Stäng alertmeddelande\";\n @Input() srIconTitle: string = \"Ikon\";\n @Input() srCollapseText: string = \"Minimera alertmeddelande\";\n @Input() srExpandText: string = \"Expandera alertmeddelande\";\n\n\n @Input()\n get collapsed(): boolean {\n return this._collapsed;\n }\n set collapsed(value: boolean) {\n if (this._collapsed !== value) {\n this._collapsed = value;\n }\n }\n @Output() collapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output() dismissed: EventEmitter<void> = new EventEmitter<void>();\n @Output() closed: EventEmitter<void> = new EventEmitter<void>();\n @Output() opened: EventEmitter<void> = new EventEmitter<void>();\n\n @ContentChild(IDAlertHeaderComponent)\n header: IDAlertHeaderComponent;\n\n\n get hostClasses(): string {\n return `ids-alert ids-alert--${this.type}`;\n }\n\n\n ngAfterContentInit(): void {\n if (this.header === undefined) {\n this.compact = true;\n } \n }\n\n\n toggleCollapsed() {\n if (!this.collapsible) return;\n const newState = !this.collapsed;\n this._collapsed = newState;\n this.collapsedChange.emit(newState);\n if(this.collapsed) {\n this.closed.emit();\n } else {\n this.opened.emit();\n }\n }\n\n dismissAlert() {\n if (!this.dismissible) return;\n this.dismissed.emit();\n }\n}","<ng-template #contentTemplate>\n <ng-content select=\":not(id-alert-header)\"></ng-content>\n</ng-template>\n\n@if (compact || ribbon) {\n <div class=\"ids-alert__content\">\n <span\n class=\"ids-alert__content-icon\"\n aria-hidden\n ></span>\n <span class=\"ids-alert__content-text\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </div>\n\n @if (dismissible) {\n <div class=\"ids-alert__button\">\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n >\n <span\n class=\"ids-alert__close-icon\"\n aria-hidden\n ></span>\n </button>\n </div>\n }\n}\n\n@if (!compact && !ribbon) {\n <div class=\"ids-alert__container\">\n <div class=\"ids-alert__header\">\n <ng-template #headerContentTemplate>\n <div class=\"ids-alert__icon_and_text\">\n <span\n class=\"ids-alert__state-icon\"\n aria-hidden\n ></span>\n <div class=\"ids-alert__headline\">\n <ng-container *ngTemplateOutlet=\"header.template\"></ng-container>\n </div>\n </div>\n </ng-template>\n\n @if (collapsible) {\n <button\n class=\"ids-alert__expand-button\"\n [class.ids-alert__expand-button--expanded]=\"!collapsed\"\n (click)=\"toggleCollapsed()\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"collapsed ? srExpandText : srCollapseText\"\n >\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n }\n </div>\n\n <div\n class=\"ids-alert__content\"\n [attr.id]=\"contentId\"\n [attr.aria-hidden]=\"collapsible && collapsed ? 'true' : 'false'\"\n >\n @if (!collapsed) {\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n }\n </div>\n </div>\n}\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-alert.mjs","sources":["../../../projects/ids-angular/components/alert/alert-header.component.ts","../../../projects/ids-angular/components/alert/alert.component.ts","../../../projects/ids-angular/components/alert/alert.component.html","../../../projects/ids-angular/components/alert/inera-ids-angular-components-alert.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'id-alert-header',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`\n})\nexport class IDAlertHeaderComponent {\n\n template = viewChild.required(TemplateRef);\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { Component, EventEmitter, Input, Output, booleanAttribute, inject, AfterContentInit, contentChild } from '@angular/core';\nimport { IDAlertHeaderComponent } from \"./alert-header.component\";\nimport { IDUseIdService } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: \"id-alert\",\n templateUrl: \"./alert.component.html\",\n host: {\n '[class]': 'hostClasses',\n '[class.ids-alert--collapsible]': 'collapsible',\n '[class.ids-alert--dismissible]': 'dismissible',\n '[class.ids-alert--ribbon]': 'ribbon',\n '[class.ids-alert--compact]': 'compact',\n '[class.ids-alert--collapsed]': 'collapsed',\n '[attr.ids-alert--dismissible]': 'dismissible ? \"\" : null',\n '[attr.role]': 'noRole ? null : \"alert\"',\n },\n imports: [CommonModule],\n standalone: true,\n})\nexport class IDAlertComponent implements AfterContentInit {\n\n private _collapsed: boolean = false;\n private idService = inject(IDUseIdService);\n protected contentId = this.idService.generateId('alert');\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input({ transform: booleanAttribute }) collapsible: boolean = false;\n @Input({ transform: booleanAttribute }) compact: boolean = false;\n @Input({ transform: booleanAttribute }) ribbon: boolean = false;\n @Input() type: \"info\" | \"attention\" | \"success\" | \"error\" = \"info\";\n @Input({ transform: booleanAttribute }) noRole: boolean = false;\n @Input() srCloseText: string = \"Stäng alertmeddelande\";\n @Input() srIconTitle: string = \"Ikon\";\n @Input() srCollapseText: string = \"Minimera alertmeddelande\";\n @Input() srExpandText: string = \"Expandera alertmeddelande\";\n\n\n @Input()\n get collapsed(): boolean {\n return this._collapsed;\n }\n set collapsed(value: boolean) {\n if (this._collapsed !== value) {\n this._collapsed = value;\n }\n }\n @Output() collapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output() dismissed: EventEmitter<void> = new EventEmitter<void>();\n @Output() closed: EventEmitter<void> = new EventEmitter<void>();\n @Output() opened: EventEmitter<void> = new EventEmitter<void>();\n\n header = contentChild(IDAlertHeaderComponent);\n\n get hostClasses(): string {\n return `ids-alert ids-alert--${this.type}`;\n }\n\n\n ngAfterContentInit(): void {\n if (this.header() === undefined) {\n this.compact = true;\n } \n }\n\n\n toggleCollapsed() {\n if (!this.collapsible) return;\n const newState = !this.collapsed;\n this._collapsed = newState;\n this.collapsedChange.emit(newState);\n if(this.collapsed) {\n this.closed.emit();\n } else {\n this.opened.emit();\n }\n }\n\n dismissAlert() {\n if (!this.dismissible) return;\n this.dismissed.emit();\n }\n}","<ng-template #contentTemplate>\n <ng-content select=\":not(id-alert-header)\"></ng-content>\n</ng-template>\n\n@if (compact || ribbon) {\n <div class=\"ids-alert__content\">\n <span\n class=\"ids-alert__content-icon\"\n aria-hidden\n ></span>\n <span class=\"ids-alert__content-text\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n </div>\n\n @if (dismissible) {\n <div class=\"ids-alert__button\">\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n ></button>\n </div>\n }\n}\n\n@if (!compact && !ribbon) {\n <div class=\"ids-alert__container\">\n <div class=\"ids-alert__header\">\n <ng-template #headerContentTemplate>\n <div class=\"ids-alert__icon_and_text\">\n <span\n class=\"ids-alert__state-icon\"\n aria-hidden\n ></span>\n <div class=\"ids-alert__headline\">\n <ng-container *ngTemplateOutlet=\"header()!.template()\"></ng-container>\n </div>\n </div>\n </ng-template>\n\n @if (collapsible) {\n <button\n class=\"ids-alert__expand-button\"\n [class.ids-alert__expand-button--expanded]=\"!collapsed\"\n (click)=\"toggleCollapsed()\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"collapsed ? srExpandText : srCollapseText\"\n >\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerContentTemplate\"></ng-container>\n }\n @if (dismissible) {\n <button\n class=\"ids-alert__close\"\n (click)=\"dismissAlert()\"\n [attr.aria-label]=\"srCloseText\"\n ></button>\n }\n </div>\n\n <div\n class=\"ids-alert__content\"\n [attr.id]=\"contentId\"\n [attr.aria-hidden]=\"collapsible && collapsed ? 'true' : 'false'\"\n >\n @if (!collapsed) {\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n }\n </div>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAUa,sBAAsB,CAAA;AAEjC,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;wGAF/B,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEH,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAP/B;;;AAGO,kBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;;AAGO,kBAAA;AAClB,iBAAA;;;MCYY,gBAAgB,CAAA;IAEnB,UAAU,GAAY,KAAK;AAC3B,IAAA,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;IAChC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;IAEhB,WAAW,GAAY,KAAK;IAC5B,WAAW,GAAY,KAAK;IAC5B,OAAO,GAAY,KAAK;IACxB,MAAM,GAAY,KAAK;IACtD,IAAI,GAA+C,MAAM;IAC1B,MAAM,GAAY,KAAK;IACtD,WAAW,GAAW,uBAAuB;IAC7C,WAAW,GAAW,MAAM;IAC5B,cAAc,GAAW,0BAA0B;IACnD,YAAY,GAAW,2BAA2B;AAG3D,IAAA,IACI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IACA,IAAI,SAAS,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACzB;IACF;AACU,IAAA,eAAe,GAA0B,IAAI,YAAY,EAAW;AAEpE,IAAA,SAAS,GAAuB,IAAI,YAAY,EAAQ;AACxD,IAAA,MAAM,GAAuB,IAAI,YAAY,EAAQ;AACrD,IAAA,MAAM,GAAuB,IAAI,YAAY,EAAQ;AAE/D,IAAA,MAAM,GAAG,YAAY,CAAC,sBAAsB,CAAC;AAE7C,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,CAAA,qBAAA,EAAwB,IAAI,CAAC,IAAI,EAAE;IAC5C;IAGA,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,SAAS,EAAE;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;IACF;IAGA,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE;AACvB,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,SAAS;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ;AAC1B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnC,QAAA,IAAG,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB;aAAO;AACL,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB;IACF;IAEA,YAAY,GAAA;QACV,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;IACvB;wGA9DW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAMP,gBAAgB,CAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAChB,gBAAgB,mCAChB,gBAAgB,CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAChB,gBAAgB,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAEhB,gBAAgB,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,SAAA,EAAA,4BAAA,EAAA,WAAA,EAAA,6BAAA,EAAA,2BAAA,EAAA,WAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAsBd,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtD9C,usEA2EA,2CDzDY,YAAY,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,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAhB5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAAA,IAAA,EAEd;AACJ,wBAAA,SAAS,EAAE,aAAa;AACxB,wBAAA,gCAAgC,EAAE,aAAa;AAC/C,wBAAA,gCAAgC,EAAE,aAAa;AAC/C,wBAAA,2BAA2B,EAAE,QAAQ;AACrC,wBAAA,4BAA4B,EAAE,SAAS;AACvC,wBAAA,8BAA8B,EAAE,WAAW;AAC3C,wBAAA,+BAA+B,EAAE,yBAAyB;AAC1D,wBAAA,aAAa,EAAE,yBAAyB;AACzC,qBAAA,EAAA,OAAA,EACQ,CAAC,YAAY,CAAC,EAAA,UAAA,EACX,IAAI,EAAA,QAAA,EAAA,usEAAA,EAAA;8BAQwB,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,IAAI,EAAA,CAAA;sBAAZ;gBACuC,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,WAAW,EAAA,CAAA;sBAAnB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBAIG,SAAS,EAAA,CAAA;sBADZ;gBASS,eAAe,EAAA,CAAA;sBAAxB;gBAES,SAAS,EAAA,CAAA;sBAAlB;gBACS,MAAM,EAAA,CAAA;sBAAf;gBACS,MAAM,EAAA,CAAA;sBAAf;;;AEpDH;;AAEG;;;;"}
@@ -1,12 +1,12 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { TemplateRef, ViewChild, Component, ContentChild } from '@angular/core';
4
+ import { viewChild, TemplateRef, Component, contentChild } from '@angular/core';
5
5
 
6
6
  class IDBoxLinkButtonComponent {
7
- template;
7
+ template = viewChild.required(TemplateRef);
8
8
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBoxLinkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDBoxLinkButtonComponent, isStandalone: true, selector: "id-box-link-button", 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: IDBoxLinkButtonComponent, isStandalone: true, selector: "id-box-link-button", 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>`, isInline: true });
@@ -21,25 +21,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
21
21
  </ng-template>`,
22
22
  standalone: true,
23
23
  }]
24
- }], propDecorators: { template: [{
25
- type: ViewChild,
26
- args: [TemplateRef]
27
- }] } });
24
+ }] });
28
25
 
29
26
  class IDBoxLinkComponent {
30
- button;
27
+ button = contentChild(IDBoxLinkButtonComponent);
31
28
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBoxLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDBoxLinkComponent, isStandalone: true, selector: "id-box-link", host: { classAttribute: "ids-box-link" }, queries: [{ propertyName: "button", first: true, predicate: IDBoxLinkButtonComponent, descendants: true }], ngImport: i0, template: "<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button.template\"></ng-container>\n </div>\n }\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDBoxLinkComponent, isStandalone: true, selector: "id-box-link", host: { classAttribute: "ids-box-link" }, queries: [{ propertyName: "button", first: true, predicate: IDBoxLinkButtonComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button()) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button()!.template()\"></ng-container>\n </div>\n }\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
33
30
  }
34
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBoxLinkComponent, decorators: [{
35
32
  type: Component,
36
33
  args: [{ selector: "id-box-link", imports: [CommonModule], standalone: true, host: {
37
34
  class: 'ids-box-link'
38
- }, template: "<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button.template\"></ng-container>\n </div>\n }\n </div>\n</div>" }]
39
- }], propDecorators: { button: [{
40
- type: ContentChild,
41
- args: [IDBoxLinkButtonComponent]
42
- }] } });
35
+ }, template: "<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button()) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button()!.template()\"></ng-container>\n </div>\n }\n </div>\n</div>" }]
36
+ }] });
43
37
 
44
38
  /**
45
39
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-box-link.mjs","sources":["../../../projects/ids-angular/components/box-link/box-link-button.component.ts","../../../projects/ids-angular/components/box-link/box-link.component.ts","../../../projects/ids-angular/components/box-link/box-link.component.html","../../../projects/ids-angular/components/box-link/inera-ids-angular-components-box-link.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"id-box-link-button\",\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`,\n standalone: true,\n})\nexport class IDBoxLinkButtonComponent {\n\n @ViewChild(TemplateRef) template: TemplateRef<any>;\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { Component, ContentChild } from \"@angular/core\";\nimport { IDBoxLinkButtonComponent } from \"./box-link-button.component\";\n\n@Component({\n selector: \"id-box-link\",\n templateUrl: \"./box-link.component.html\",\n imports: [CommonModule],\n standalone: true,\n host: {\n class: 'ids-box-link'\n }\n})\nexport class IDBoxLinkComponent {\n\n @ContentChild(IDBoxLinkButtonComponent)\n button: IDBoxLinkButtonComponent;\n\n}\n","<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button.template\"></ng-container>\n </div>\n }\n </div>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAUa,wBAAwB,CAAA;AAEX,IAAA,QAAQ;wGAFrB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAExB,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARZ;;;AAGO,kBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAGN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE;;;AAGO,kBAAA,CAAA;AACjB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;8BAGyB,QAAQ,EAAA,CAAA;sBAA/B,SAAS;uBAAC,WAAW;;;MCCX,kBAAkB,CAAA;AAG7B,IAAA,MAAM;wGAHK,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,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEf,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfxC,2WAWM,2CDJM,YAAY,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;;4FAMX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,WAEd,CAAC,YAAY,CAAC,EAAA,UAAA,EACX,IAAI,EAAA,IAAA,EACV;AACJ,wBAAA,KAAK,EAAE;AACR,qBAAA,EAAA,QAAA,EAAA,2WAAA,EAAA;8BAKD,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,wBAAwB;;;AEfxC;;AAEG;;;;"}
1
+ {"version":3,"file":"inera-ids-angular-components-box-link.mjs","sources":["../../../projects/ids-angular/components/box-link/box-link-button.component.ts","../../../projects/ids-angular/components/box-link/box-link.component.ts","../../../projects/ids-angular/components/box-link/box-link.component.html","../../../projects/ids-angular/components/box-link/inera-ids-angular-components-box-link.ts"],"sourcesContent":["import { Component, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: \"id-box-link-button\",\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`,\n standalone: true,\n})\nexport class IDBoxLinkButtonComponent {\n\n template = viewChild.required(TemplateRef);\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { Component, contentChild } from '@angular/core';\nimport { IDBoxLinkButtonComponent } from \"./box-link-button.component\";\n\n@Component({\n selector: \"id-box-link\",\n templateUrl: \"./box-link.component.html\",\n imports: [CommonModule],\n standalone: true,\n host: {\n class: 'ids-box-link'\n }\n})\nexport class IDBoxLinkComponent {\n\n button = contentChild(IDBoxLinkButtonComponent);\n\n}\n","<div class=\"ids-box-link\">\n <div class=\"ids-box-link__inner\">\n <div class=\"ids-box-link__link\">\n <ng-content select=\":not(id-box-link-button)\"></ng-content>\n </div>\n @if(button()) {\n <div class=\"ids-box-link__button\">\n <ng-container *ngTemplateOutlet=\"button()!.template()\"></ng-container>\n </div>\n }\n </div>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAUa,wBAAwB,CAAA;AAEnC,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;wGAF/B,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEL,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAR/B;;;AAGO,kBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAGN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE;;;AAGO,kBAAA,CAAA;AACjB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCIY,kBAAkB,CAAA;AAE3B,IAAA,MAAM,GAAG,YAAY,CAAC,wBAAwB,CAAC;wGAFtC,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,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEL,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECflD,kXAWM,2CDJM,YAAY,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;;4FAMX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,WAEd,CAAC,YAAY,CAAC,EAAA,UAAA,EACX,IAAI,EAAA,IAAA,EACV;AACJ,wBAAA,KAAK,EAAE;AACR,qBAAA,EAAA,QAAA,EAAA,kXAAA,EAAA;;;AEXH;;AAEG;;;;"}
@@ -1,15 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, ViewChild, Input, Component, inject, DestroyRef, ContentChildren } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
2
+ import { viewChild, TemplateRef, Input, Component, contentChildren, inject, DestroyRef } from '@angular/core';
3
+ import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
6
6
 
7
7
  class IDCrumbComponent {
8
8
  current = false;
9
9
  mobile = false;
10
- template;
10
+ template = viewChild.required(TemplateRef);
11
11
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDCrumbComponent, isStandalone: true, selector: "id-crumb", inputs: { current: "current", mobile: "mobile" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: `
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDCrumbComponent, isStandalone: true, selector: "id-crumb", inputs: { current: "current", mobile: "mobile" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `
13
13
  <ng-template>
14
14
  <ng-content></ng-content>
15
15
  </ng-template>`, isInline: true });
@@ -28,46 +28,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
28
28
  type: Input
29
29
  }], mobile: [{
30
30
  type: Input
31
- }], template: [{
32
- type: ViewChild,
33
- args: [TemplateRef]
34
31
  }] } });
35
32
 
36
33
  class IDBreadcrumbsComponent {
37
34
  lead = 'Du är här:';
38
35
  srLabel = 'Du är här';
39
- crumbComponents;
36
+ crumbComponents = contentChildren(IDCrumbComponent);
40
37
  crumbs = [];
41
38
  destroyRef = inject(DestroyRef);
39
+ constructor() {
40
+ toObservable(this.crumbComponents)
41
+ .pipe(takeUntilDestroyed(this.destroyRef))
42
+ .subscribe(() => { this.crumbs = [...this.crumbComponents()]; });
43
+ }
42
44
  getDesktopCrumbs() {
43
- return this.crumbComponents.filter(crumb => !crumb.mobile);
45
+ return this.crumbComponents().filter(crumb => !crumb.mobile);
44
46
  }
45
47
  getMobileCrumb() {
46
- return this.crumbComponents.find(crumb => crumb.mobile);
47
- }
48
- ngAfterContentInit() {
49
- this.crumbComponents.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
50
- setTimeout(() => {
51
- this.crumbs = this.crumbComponents.toArray();
52
- });
53
- });
54
- setTimeout(() => {
55
- this.crumbs = this.crumbComponents.toArray();
56
- }, 0);
48
+ return this.crumbComponents().find(crumb => crumb.mobile);
57
49
  }
58
50
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDBreadcrumbsComponent, isStandalone: true, selector: "id-breadcrumbs", inputs: { lead: "lead", srLabel: "srLabel" }, queries: [{ propertyName: "crumbComponents", predicate: IDCrumbComponent }], ngImport: i0, template: "<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>", 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"] }] });
51
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDBreadcrumbsComponent, isStandalone: true, selector: "id-breadcrumbs", inputs: { lead: "lead", srLabel: "srLabel" }, queries: [{ propertyName: "crumbComponents", predicate: IDCrumbComponent, isSignal: true }], ngImport: i0, template: "<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template()\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template() ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>", 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"] }] });
60
52
  }
61
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBreadcrumbsComponent, decorators: [{
62
54
  type: Component,
63
- args: [{ selector: 'id-breadcrumbs', standalone: true, imports: [CommonModule], template: "<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>" }]
64
- }], propDecorators: { lead: [{
55
+ args: [{ selector: 'id-breadcrumbs', standalone: true, imports: [CommonModule], template: "<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template()\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template() ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>" }]
56
+ }], ctorParameters: () => [], propDecorators: { lead: [{
65
57
  type: Input
66
58
  }], srLabel: [{
67
59
  type: Input
68
- }], crumbComponents: [{
69
- type: ContentChildren,
70
- args: [IDCrumbComponent]
71
60
  }] } });
72
61
 
73
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-breadcrumbs.mjs","sources":["../../../projects/ids-angular/components/breadcrumbs/crumb.component.ts","../../../projects/ids-angular/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/ids-angular/components/breadcrumbs/breadcrumbs.component.html","../../../projects/ids-angular/components/breadcrumbs/inera-ids-angular-components-breadcrumbs.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-crumb',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`\n})\nexport class IDCrumbComponent {\n @Input() current: boolean = false;\n @Input() mobile: boolean = false;\n\n @ViewChild(TemplateRef) template: TemplateRef<any>;\n}\n","import { AfterContentInit, Component, ContentChildren, DestroyRef, Input, QueryList, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IDCrumbComponent } from './crumb.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n standalone: true,\n imports: [CommonModule],\n})\nexport class IDBreadcrumbsComponent implements AfterContentInit {\n\n @Input() lead = 'Du är här:';\n @Input() srLabel = 'Du är här';\n\n @ContentChildren(IDCrumbComponent) crumbComponents: QueryList<IDCrumbComponent>;\n\n crumbs: IDCrumbComponent[] = [];\n\n private destroyRef = inject(DestroyRef);\n\n getDesktopCrumbs(): IDCrumbComponent[] | undefined {\n return this.crumbComponents.filter(crumb => !crumb.mobile)\n }\n\n getMobileCrumb(): IDCrumbComponent | undefined {\n return this.crumbComponents.find(crumb => crumb.mobile)\n }\n\n ngAfterContentInit(): void {\n this.crumbComponents.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n setTimeout(() => {\n this.crumbs = this.crumbComponents.toArray();\n });\n });\n setTimeout(() => {\n this.crumbs = this.crumbComponents.toArray();\n }, 0);\n }\n\n}\n","<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>","/**\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-breadcrumbs.mjs","sources":["../../../projects/ids-angular/components/breadcrumbs/crumb.component.ts","../../../projects/ids-angular/components/breadcrumbs/breadcrumbs.component.ts","../../../projects/ids-angular/components/breadcrumbs/breadcrumbs.component.html","../../../projects/ids-angular/components/breadcrumbs/inera-ids-angular-components-breadcrumbs.ts"],"sourcesContent":["import { Component, Input, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-crumb',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`\n})\nexport class IDCrumbComponent {\n @Input() current: boolean = false;\n @Input() mobile: boolean = false;\n\n template = viewChild.required(TemplateRef);\n}\n","import { Component, DestroyRef, Input, inject, contentChildren } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { IDCrumbComponent } from './crumb.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n standalone: true,\n imports: [CommonModule],\n})\nexport class IDBreadcrumbsComponent {\n\n @Input() lead = 'Du är här:';\n @Input() srLabel = 'Du är här';\n\n crumbComponents = contentChildren(IDCrumbComponent);\n\n crumbs: IDCrumbComponent[] = [];\n\n private destroyRef = inject(DestroyRef);\n\n constructor() {\n toObservable(this.crumbComponents)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => { this.crumbs = [...this.crumbComponents()]; });\n }\n\n getDesktopCrumbs(): IDCrumbComponent[] | undefined {\n return this.crumbComponents().filter(crumb => !crumb.mobile)\n }\n\n getMobileCrumb(): IDCrumbComponent | undefined {\n return this.crumbComponents().find(crumb => crumb.mobile)\n }\n\n}\n","<nav class=\"ids-breadcrumbs\" [attr.aria-label]=\"srLabel\">\n <ol class=\"ids-breadcrumbs__desktop\" [attr.aria-label]=\"srLabel\">\n <li class=\"ids-breadcrumbs__lead\">{{ lead }}</li>\n\n <ng-container *ngFor=\"let crumb of getDesktopCrumbs(); let i = index\">\n <li class=\"ids-breadcrumbs__crumb\" \n [class.ids-breadcrumbs__crumb--current]=\"crumb.current\"\n [attr.aria-current]=\"crumb.current ? 'page' : null\">\n <ng-container *ngTemplateOutlet=\"crumb.template()\"></ng-container>\n @if (!crumb.current) {\n <span class=\"ids-breadcrumbs__crumb__separator\" aria-hidden=\"true\">\n /\n </span>\n }\n </li>\n </ng-container>\n </ol>\n\n @if (getMobileCrumb()) {\n <ol class=\"ids-breadcrumbs__mobile\">\n <li class=\"ids-breadcrumbs__mobile-links\">\n <span class=\"ids-breadcrumbs__icon\" aria-hidden=\"true\"></span>\n <span class=\"ids-breadcrumbs__mobile-link\">\n <span class=\"ids-breadcrumbs__crumb ids-breadcrumbs__crumb--mobile\">\n <ng-container *ngTemplateOutlet=\"getMobileCrumb()?.template() ?? null\"></ng-container>\n </span>\n </span>\n </li>\n </ol>\n }\n</nav>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, ViewChild, Input, Component, inject, DestroyRef, EventEmitter, Output, ContentChildren } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
2
+ import { viewChild, TemplateRef, Input, Component, contentChildren, inject, DestroyRef, EventEmitter, Output } from '@angular/core';
3
+ import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
6
6
 
@@ -11,9 +11,9 @@ class IDCarouselItemComponent {
11
11
  active = true;
12
12
  next = true;
13
13
  prev = true;
14
- template;
14
+ template = viewChild.required(TemplateRef);
15
15
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCarouselItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDCarouselItemComponent, isStandalone: true, selector: "id-carousel-item", inputs: { headline: "headline", description: "description", step: "step", active: "active", next: "next", prev: "prev" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <div class=\"ids-carousel-item-wrapper\" \n [class.active]=\"active\"\n [class.prev]=\"prev\"\n [class.next]=\"next\"\n [attr.aria-hidden]=\"!active ? 'true' : null\"\n [attr.inert]=\"!active ? 'true' : null\">\n <div class=\"ids-carousel-item\">\n <div class=\"ids-carousel-item__image\">\n <ng-content select=\"[idCarouselImage]\"></ng-content>\n </div>\n <div class=\"ids-carousel-item__content\">\n <h2 class=\"ids-carousel-item__headline\">{{headline}}</h2>\n <ng-content></ng-content>\n <div class=\"ids-carousel-item__footer\">\n <div class=\"ids-carousel-item__description\">{{description}}</div>\n <div class=\"ids-carousel-item__step\">\n <div class=\"ids-tag\">{{step}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>" });
16
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDCarouselItemComponent, isStandalone: true, selector: "id-carousel-item", inputs: { headline: "headline", description: "description", step: "step", active: "active", next: "next", prev: "prev" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template>\n <div class=\"ids-carousel-item-wrapper\" \n [class.active]=\"active\"\n [class.prev]=\"prev\"\n [class.next]=\"next\"\n [attr.aria-hidden]=\"!active ? 'true' : null\"\n [attr.inert]=\"!active ? 'true' : null\">\n <div class=\"ids-carousel-item\">\n <div class=\"ids-carousel-item__image\">\n <ng-content select=\"[idCarouselImage]\"></ng-content>\n </div>\n <div class=\"ids-carousel-item__content\">\n <h2 class=\"ids-carousel-item__headline\">{{headline}}</h2>\n <ng-content></ng-content>\n <div class=\"ids-carousel-item__footer\">\n <div class=\"ids-carousel-item__description\">{{description}}</div>\n <div class=\"ids-carousel-item__step\">\n <div class=\"ids-tag\">{{step}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>" });
17
17
  }
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCarouselItemComponent, decorators: [{
19
19
  type: Component,
@@ -30,13 +30,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
30
30
  type: Input
31
31
  }], prev: [{
32
32
  type: Input
33
- }], template: [{
34
- type: ViewChild,
35
- args: [TemplateRef]
36
33
  }] } });
37
34
 
38
35
  class IDCarouselComponent {
39
- carouselItems;
36
+ carouselItems = contentChildren(IDCarouselItemComponent);
40
37
  destroyRef = inject(DestroyRef);
41
38
  srNextLabel = 'Nästa slide';
42
39
  srPrevLabel = 'Föregående slide';
@@ -44,15 +41,14 @@ class IDCarouselComponent {
44
41
  activeSlide = 0;
45
42
  isAnimating = false;
46
43
  animatingTimeout;
44
+ constructor() {
45
+ toObservable(this.carouselItems)
46
+ .pipe(takeUntilDestroyed(this.destroyRef))
47
+ .subscribe(() => this.syncActiveSlide());
48
+ }
47
49
  ngOnDestroy() {
48
50
  clearTimeout(this.animatingTimeout);
49
51
  }
50
- ngAfterContentInit() {
51
- this.syncActiveSlide();
52
- this.carouselItems.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
53
- this.syncActiveSlide();
54
- });
55
- }
56
52
  setIsAnimating() {
57
53
  this.isAnimating = true;
58
54
  clearTimeout(this.animatingTimeout);
@@ -62,14 +58,14 @@ class IDCarouselComponent {
62
58
  }
63
59
  nextSlide() {
64
60
  if (!this.isAnimating) {
65
- const lastIndex = this.carouselItems.length - 1;
61
+ const lastIndex = this.carouselItems().length - 1;
66
62
  this.setActiveSlide(this.activeSlide === lastIndex ? 0 : this.activeSlide + 1);
67
63
  this.setIsAnimating();
68
64
  }
69
65
  }
70
66
  prevSlide() {
71
67
  if (!this.isAnimating) {
72
- const lastIndex = this.carouselItems.length - 1;
68
+ const lastIndex = this.carouselItems().length - 1;
73
69
  this.setActiveSlide(this.activeSlide === 0 ? lastIndex : this.activeSlide - 1);
74
70
  this.setIsAnimating();
75
71
  }
@@ -80,7 +76,7 @@ class IDCarouselComponent {
80
76
  this.slideChanged.emit(this.activeSlide);
81
77
  }
82
78
  syncActiveSlide() {
83
- const items = this.carouselItems.toArray();
79
+ const items = this.carouselItems();
84
80
  const lastIndex = items.length - 1;
85
81
  items.forEach((item, index) => {
86
82
  item.active = index === this.activeSlide;
@@ -92,15 +88,12 @@ class IDCarouselComponent {
92
88
  return item;
93
89
  }
94
90
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
95
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDCarouselComponent, isStandalone: true, selector: "id-carousel", inputs: { srNextLabel: "srNextLabel", srPrevLabel: "srPrevLabel" }, outputs: { slideChanged: "slideChanged" }, queries: [{ propertyName: "carouselItems", predicate: IDCarouselItemComponent }], ngImport: i0, template: "<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content js-carousel-slide\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems; trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template\"></ng-container>\n </ng-container>\n </div>\n </div>\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"] }] });
91
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDCarouselComponent, isStandalone: true, selector: "id-carousel", inputs: { srNextLabel: "srNextLabel", srPrevLabel: "srPrevLabel" }, outputs: { slideChanged: "slideChanged" }, queries: [{ propertyName: "carouselItems", predicate: IDCarouselItemComponent, isSignal: true }], ngImport: i0, template: "<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content js-carousel-slide\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems(); trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template()\"></ng-container>\n </ng-container>\n </div>\n </div>\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"] }] });
96
92
  }
97
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCarouselComponent, decorators: [{
98
94
  type: Component,
99
- args: [{ selector: 'id-carousel', imports: [CommonModule], standalone: true, template: "<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content js-carousel-slide\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems; trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
100
- }], propDecorators: { carouselItems: [{
101
- type: ContentChildren,
102
- args: [IDCarouselItemComponent]
103
- }], srNextLabel: [{
95
+ args: [{ selector: 'id-carousel', imports: [CommonModule], standalone: true, template: "<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content js-carousel-slide\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems(); trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template()\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
96
+ }], ctorParameters: () => [], propDecorators: { srNextLabel: [{
104
97
  type: Input
105
98
  }], srPrevLabel: [{
106
99
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-carousel.mjs","sources":["../../../projects/ids-angular/components/carousel/carousel-item/carousel-item.component.ts","../../../projects/ids-angular/components/carousel/carousel-item/carousel-item.component.html","../../../projects/ids-angular/components/carousel/carousel.component.ts","../../../projects/ids-angular/components/carousel/carousel.component.html","../../../projects/ids-angular/components/carousel/inera-ids-angular-components-carousel.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'id-carousel-item',\n templateUrl: './carousel-item.component.html',\n standalone: true,\n})\nexport class IDCarouselItemComponent {\n @Input() headline: string = '';\n @Input() description: string = '';\n @Input() step: string = '';\n @Input() active: boolean = true;\n @Input() next: boolean = true;\n @Input() prev: boolean = true;\n\n @ViewChild(TemplateRef) template: TemplateRef<any>;\n}\n","<ng-template>\n <div class=\"ids-carousel-item-wrapper\" \n [class.active]=\"active\"\n [class.prev]=\"prev\"\n [class.next]=\"next\"\n [attr.aria-hidden]=\"!active ? 'true' : null\"\n [attr.inert]=\"!active ? 'true' : null\">\n <div class=\"ids-carousel-item\">\n <div class=\"ids-carousel-item__image\">\n <ng-content select=\"[idCarouselImage]\"></ng-content>\n </div>\n <div class=\"ids-carousel-item__content\">\n <h2 class=\"ids-carousel-item__headline\">{{headline}}</h2>\n <ng-content></ng-content>\n <div class=\"ids-carousel-item__footer\">\n <div class=\"ids-carousel-item__description\">{{description}}</div>\n <div class=\"ids-carousel-item__step\">\n <div class=\"ids-tag\">{{step}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>","import {\n AfterContentInit,\n Component,\n ContentChildren,\n DestroyRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n inject,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IDCarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-carousel',\n templateUrl: './carousel.component.html',\n imports: [CommonModule],\n standalone: true,\n})\nexport class IDCarouselComponent implements AfterContentInit, OnDestroy {\n @ContentChildren(IDCarouselItemComponent)\n carouselItems!: QueryList<IDCarouselItemComponent>;\n\n private destroyRef = inject(DestroyRef);\n @Input() srNextLabel = 'Nästa slide';\n @Input() srPrevLabel = 'Föregående slide';\n\n @Output() slideChanged: EventEmitter<number> = new EventEmitter<number>();\n\n activeSlide = 0;\n isAnimating = false;\n private animatingTimeout?: ReturnType<typeof setTimeout>;\n\n ngOnDestroy() {\n clearTimeout(this.animatingTimeout);\n }\n\n ngAfterContentInit() {\n this.syncActiveSlide();\n this.carouselItems.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.syncActiveSlide();\n });\n }\n\n setIsAnimating() {\n this.isAnimating = true;\n clearTimeout(this.animatingTimeout);\n this.animatingTimeout = setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n }\n\n nextSlide() {\n if (!this.isAnimating) {\n const lastIndex = this.carouselItems.length - 1;\n this.setActiveSlide(this.activeSlide === lastIndex ? 0 : this.activeSlide + 1);\n this.setIsAnimating();\n }\n }\n\n prevSlide() {\n if (!this.isAnimating) {\n const lastIndex = this.carouselItems.length - 1;\n this.setActiveSlide(this.activeSlide === 0 ? lastIndex : this.activeSlide - 1);\n this.setIsAnimating();\n }\n }\n\n setActiveSlide(index: number) {\n this.activeSlide = index;\n this.syncActiveSlide();\n this.slideChanged.emit(this.activeSlide);\n }\n\n private syncActiveSlide() {\n const items = this.carouselItems.toArray();\n const lastIndex = items.length - 1;\n\n items.forEach((item, index) => {\n item.active = index === this.activeSlide;\n item.prev = index === (this.activeSlide === 0 ? lastIndex : this.activeSlide - 1);\n item.next = index === (this.activeSlide === lastIndex ? 0 : this.activeSlide + 1);\n });\n }\n\n trackByItem(_: number, item: IDCarouselItemComponent): IDCarouselItemComponent {\n return item;\n }\n}\n","<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content js-carousel-slide\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems; trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\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-carousel.mjs","sources":["../../../projects/ids-angular/components/carousel/carousel-item/carousel-item.component.ts","../../../projects/ids-angular/components/carousel/carousel-item/carousel-item.component.html","../../../projects/ids-angular/components/carousel/carousel.component.ts","../../../projects/ids-angular/components/carousel/carousel.component.html","../../../projects/ids-angular/components/carousel/inera-ids-angular-components-carousel.ts"],"sourcesContent":["import { Component, Input, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'id-carousel-item',\n templateUrl: './carousel-item.component.html',\n standalone: true,\n})\nexport class IDCarouselItemComponent {\n @Input() headline: string = '';\n @Input() description: string = '';\n @Input() step: string = '';\n @Input() active: boolean = true;\n @Input() next: boolean = true;\n @Input() prev: boolean = true;\n\n template = viewChild.required(TemplateRef);\n}\n","<ng-template>\n <div class=\"ids-carousel-item-wrapper\" \n [class.active]=\"active\"\n [class.prev]=\"prev\"\n [class.next]=\"next\"\n [attr.aria-hidden]=\"!active ? 'true' : null\"\n [attr.inert]=\"!active ? 'true' : null\">\n <div class=\"ids-carousel-item\">\n <div class=\"ids-carousel-item__image\">\n <ng-content select=\"[idCarouselImage]\"></ng-content>\n </div>\n <div class=\"ids-carousel-item__content\">\n <h2 class=\"ids-carousel-item__headline\">{{headline}}</h2>\n <ng-content></ng-content>\n <div class=\"ids-carousel-item__footer\">\n <div class=\"ids-carousel-item__description\">{{description}}</div>\n <div class=\"ids-carousel-item__step\">\n <div class=\"ids-tag\">{{step}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>","import { Component, DestroyRef, EventEmitter, Input, OnDestroy, Output, inject, contentChildren } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { IDCarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'id-carousel',\n templateUrl: './carousel.component.html',\n imports: [CommonModule],\n standalone: true,\n})\nexport class IDCarouselComponent implements OnDestroy {\n carouselItems = contentChildren(IDCarouselItemComponent);\n\n private destroyRef = inject(DestroyRef);\n @Input() srNextLabel = 'Nästa slide';\n @Input() srPrevLabel = 'Föregående slide';\n\n @Output() slideChanged: EventEmitter<number> = new EventEmitter<number>();\n\n activeSlide = 0;\n isAnimating = false;\n private animatingTimeout?: ReturnType<typeof setTimeout>;\n\n constructor() {\n toObservable(this.carouselItems)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.syncActiveSlide());\n }\n\n ngOnDestroy() {\n clearTimeout(this.animatingTimeout);\n }\n\n setIsAnimating() {\n this.isAnimating = true;\n clearTimeout(this.animatingTimeout);\n this.animatingTimeout = setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n }\n\n nextSlide() {\n if (!this.isAnimating) {\n const lastIndex = this.carouselItems().length - 1;\n this.setActiveSlide(this.activeSlide === lastIndex ? 0 : this.activeSlide + 1);\n this.setIsAnimating();\n }\n }\n\n prevSlide() {\n if (!this.isAnimating) {\n const lastIndex = this.carouselItems().length - 1;\n this.setActiveSlide(this.activeSlide === 0 ? lastIndex : this.activeSlide - 1);\n this.setIsAnimating();\n }\n }\n\n setActiveSlide(index: number) {\n this.activeSlide = index;\n this.syncActiveSlide();\n this.slideChanged.emit(this.activeSlide);\n }\n\n private syncActiveSlide() {\n const items = this.carouselItems();\n const lastIndex = items.length - 1;\n\n items.forEach((item, index) => {\n item.active = index === this.activeSlide;\n item.prev = index === (this.activeSlide === 0 ? lastIndex : this.activeSlide - 1);\n item.next = index === (this.activeSlide === lastIndex ? 0 : this.activeSlide + 1);\n });\n }\n\n trackByItem(_: number, item: IDCarouselItemComponent): IDCarouselItemComponent {\n return item;\n }\n}\n","<div class=\"ids-carousel\">\n <button\n class=\"ids-carousel__button-prev\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-next\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n ></button>\n <button\n class=\"ids-carousel__button-prev ids-carousel__button-prev--mobile\"\n [attr.aria-label]=\"srPrevLabel\"\n (click)=\"prevSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <button\n class=\"ids-carousel__button-next ids-carousel__button-next--mobile\"\n [attr.aria-label]=\"srNextLabel\"\n (click)=\"nextSlide()\"\n >\n <div class=\"ids-carousel-btn__inner\"></div>\n </button>\n <div class=\"ids-carousel-content js-carousel-slide\">\n <div aria-live=\"polite\">\n <ng-container *ngFor=\"let item of carouselItems(); trackBy: trackByItem\">\n <ng-container *ngTemplateOutlet=\"item.template()\"></ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive } from '@angular/core';
3
+
4
+ class IDControlButtonDirective {
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDControlButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: IDControlButtonDirective, isStandalone: true, selector: "button[idControlButton], a[idControlButton]", host: { classAttribute: "ids-control-button" }, ngImport: i0 });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDControlButtonDirective, decorators: [{
9
+ type: Directive,
10
+ args: [{
11
+ selector: 'button[idControlButton], a[idControlButton]',
12
+ standalone: true,
13
+ host: {
14
+ class: 'ids-control-button',
15
+ },
16
+ }]
17
+ }] });
18
+
19
+ /**
20
+ * Generated bundle index. Do not edit.
21
+ */
22
+
23
+ export { IDControlButtonDirective };
24
+ //# sourceMappingURL=inera-ids-angular-components-control-button.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inera-ids-angular-components-control-button.mjs","sources":["../../../projects/ids-angular/components/control-button/control-button.directive.ts","../../../projects/ids-angular/components/control-button/inera-ids-angular-components-control-button.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'button[idControlButton], a[idControlButton]',\n standalone: true,\n host: {\n class: 'ids-control-button',\n },\n})\nexport class IDControlButtonDirective {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MASa,wBAAwB,CAAA;wGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6CAA6C;AACvD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,oBAAoB;AAC5B,qBAAA;AACF,iBAAA;;;ACRD;;AAEG;;;;"}