@inera/ids-angular 9.1.0 → 9.2.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 (91) hide show
  1. package/components/accordion/accordion.component.d.ts +4 -3
  2. package/components/dropdown/dropdown.component.d.ts +5 -1
  3. package/components/footer-inera/footer-inera-sub-footer-mobile-text.component.d.ts +5 -0
  4. package/components/footer-inera/footer-inera.component.d.ts +1 -1
  5. package/components/footer-inera/footer-inera.module.d.ts +2 -1
  6. package/components/footer-inera/public-api.d.ts +1 -0
  7. package/components/footer-inera-admin/footer-inera-admin-sub-footer-mobile-text.component.d.ts +5 -0
  8. package/components/footer-inera-admin/footer-inera-admin.component.d.ts +1 -1
  9. package/components/footer-inera-admin/footer-inera-admin.module.d.ts +2 -1
  10. package/components/footer-inera-admin/public-api.d.ts +1 -0
  11. package/components/footer-inera-general/footer-inera-general-col.component.d.ts +13 -0
  12. package/components/footer-inera-general/footer-inera-general-sub-footer-left.component.d.ts +5 -0
  13. package/components/footer-inera-general/footer-inera-general-sub-footer-mobile-text.component.d.ts +5 -0
  14. package/components/footer-inera-general/footer-inera-general-sub-footer-mobile.component.d.ts +5 -0
  15. package/components/footer-inera-general/footer-inera-general-sub-footer-right.component.d.ts +5 -0
  16. package/components/footer-inera-general/footer-inera-general-text.component.d.ts +5 -0
  17. package/components/footer-inera-general/footer-inera-general.component.d.ts +12 -0
  18. package/components/footer-inera-general/footer-inera-general.module.d.ts +12 -0
  19. package/components/footer-inera-general/index.d.ts +5 -0
  20. package/components/footer-inera-general/public-api.d.ts +8 -0
  21. package/components/global-alert/global-alert.component.d.ts +1 -3
  22. package/components/header-1177-admin/avatar/header-1177-admin-avatar.component.d.ts +2 -2
  23. package/components/header-1177-admin/nav/header-1177-admin-nav.component.d.ts +1 -1
  24. package/components/header-1177-pro/avatar-mobile/header-1177-pro-avatar-mobile.component.d.ts +2 -2
  25. package/components/header-1177-pro/header-1177-pro.component.d.ts +4 -4
  26. package/components/header-1177-pro/nav/header-1177-pro-nav.component.d.ts +1 -1
  27. package/components/header-1177-pro/region-picker-mobile/header-1177-pro-region-picker-mobile.component.d.ts +4 -2
  28. package/components/header-inera-admin/nav/header-inera-admin-nav.component.d.ts +3 -1
  29. package/components/header-inera-general/brand-link/header-inera-general-brand-link.directive.d.ts +5 -0
  30. package/components/header-inera-general/header-inera-general.component.d.ts +18 -0
  31. package/components/header-inera-general/header-inera-general.module.d.ts +14 -0
  32. package/components/header-inera-general/index.d.ts +5 -0
  33. package/components/header-inera-general/item/header-inera-general-item.component.d.ts +10 -0
  34. package/components/header-inera-general/menu-mobile/header-inera-general-menu-mobile.component.d.ts +10 -0
  35. package/components/header-inera-general/nav/header-inera-general-nav.component.d.ts +9 -0
  36. package/components/header-inera-general/nav-item/header-inera-general-nav-item.component.d.ts +25 -0
  37. package/components/header-inera-general/nav-item-menu-link/header-inera-general-nav-item-menu-link.component.d.ts +5 -0
  38. package/components/header-inera-general/public-api.d.ts +9 -0
  39. package/components/header-inera-general/skip-to-content/header-inera-general-skip-to-content.component.d.ts +5 -0
  40. package/components/popover/popover-content.component.d.ts +4 -1
  41. package/components/popover/popover.component.d.ts +17 -8
  42. package/components/stepper/step.component.d.ts +2 -2
  43. package/components/toolbar/index.d.ts +5 -0
  44. package/components/toolbar/public-api.d.ts +1 -0
  45. package/components/toolbar/toolbar.component.d.ts +5 -0
  46. package/components/tooltip/tooltip.component.d.ts +17 -4
  47. package/fesm2022/inera-ids-angular-components-accordion.mjs +10 -5
  48. package/fesm2022/inera-ids-angular-components-accordion.mjs.map +1 -1
  49. package/fesm2022/inera-ids-angular-components-action-link.mjs +25 -9
  50. package/fesm2022/inera-ids-angular-components-action-link.mjs.map +1 -1
  51. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs +2 -2
  52. package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs.map +1 -1
  53. package/fesm2022/inera-ids-angular-components-button.mjs +1 -1
  54. package/fesm2022/inera-ids-angular-components-button.mjs.map +1 -1
  55. package/fesm2022/inera-ids-angular-components-card.mjs +2 -2
  56. package/fesm2022/inera-ids-angular-components-card.mjs.map +1 -1
  57. package/fesm2022/inera-ids-angular-components-dialog.mjs +2 -2
  58. package/fesm2022/inera-ids-angular-components-dialog.mjs.map +1 -1
  59. package/fesm2022/inera-ids-angular-components-dropdown.mjs +40 -13
  60. package/fesm2022/inera-ids-angular-components-dropdown.mjs.map +1 -1
  61. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs +25 -5
  62. package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs.map +1 -1
  63. package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs +214 -0
  64. package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs.map +1 -0
  65. package/fesm2022/inera-ids-angular-components-footer-inera.mjs +25 -5
  66. package/fesm2022/inera-ids-angular-components-footer-inera.mjs.map +1 -1
  67. package/fesm2022/inera-ids-angular-components-global-alert.mjs +3 -9
  68. package/fesm2022/inera-ids-angular-components-global-alert.mjs.map +1 -1
  69. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs +95 -63
  70. package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs.map +1 -1
  71. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs +110 -84
  72. package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs.map +1 -1
  73. package/fesm2022/inera-ids-angular-components-header-1177.mjs +2 -4
  74. package/fesm2022/inera-ids-angular-components-header-1177.mjs.map +1 -1
  75. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs +15 -16
  76. package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs.map +1 -1
  77. package/fesm2022/inera-ids-angular-components-header-inera-general.mjs +425 -0
  78. package/fesm2022/inera-ids-angular-components-header-inera-general.mjs.map +1 -0
  79. package/fesm2022/inera-ids-angular-components-header-inera.mjs +2 -4
  80. package/fesm2022/inera-ids-angular-components-header-inera.mjs.map +1 -1
  81. package/fesm2022/inera-ids-angular-components-popover.mjs +176 -50
  82. package/fesm2022/inera-ids-angular-components-popover.mjs.map +1 -1
  83. package/fesm2022/inera-ids-angular-components-puff-list.mjs +29 -17
  84. package/fesm2022/inera-ids-angular-components-puff-list.mjs.map +1 -1
  85. package/fesm2022/inera-ids-angular-components-stepper.mjs +7 -7
  86. package/fesm2022/inera-ids-angular-components-stepper.mjs.map +1 -1
  87. package/fesm2022/inera-ids-angular-components-toolbar.mjs +18 -0
  88. package/fesm2022/inera-ids-angular-components-toolbar.mjs.map +1 -0
  89. package/fesm2022/inera-ids-angular-components-tooltip.mjs +139 -33
  90. package/fesm2022/inera-ids-angular-components-tooltip.mjs.map +1 -1
  91. package/package.json +68 -52
@@ -1,8 +1,11 @@
1
- import { AfterContentInit, ElementRef } from '@angular/core';
1
+ import { AfterContentInit, ElementRef, OnDestroy } from '@angular/core';
2
2
  import { IDTooltipTriggerDirective } from './tooltip-trigger.directive';
3
3
  import * as i0 from "@angular/core";
4
- export declare class IDTooltipComponent implements AfterContentInit {
4
+ export declare class IDTooltipComponent implements AfterContentInit, OnDestroy {
5
5
  private idService;
6
+ private document;
7
+ private appRef;
8
+ private renderer;
6
9
  tooltipId: string;
7
10
  tooltipContent: ElementRef<HTMLElement>;
8
11
  trigger: IDTooltipTriggerDirective;
@@ -10,11 +13,21 @@ export declare class IDTooltipComponent implements AfterContentInit {
10
13
  fixedPosition: boolean;
11
14
  position: 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right';
12
15
  private tempPosition;
13
- onFocusIn(event: FocusEvent): void;
14
- private renderer;
16
+ private portalOutlet;
17
+ private isAttached;
18
+ private readonly GAP;
19
+ private get win();
20
+ private resizeHandler;
21
+ onShow(event: Event): void;
22
+ onHide(): void;
15
23
  get positionClass(): string;
16
24
  ngAfterContentInit(): void;
25
+ ngOnDestroy(): void;
26
+ private attachPortal;
27
+ private detachPortal;
28
+ private autoPosition;
17
29
  private calculatePosition;
30
+ private applyPortalPosition;
18
31
  static ɵfac: i0.ɵɵFactoryDeclaration<IDTooltipComponent, never>;
19
32
  static ɵcmp: i0.ɵɵComponentDeclaration<IDTooltipComponent, "id-tooltip", never, { "maxWidth": { "alias": "maxWidth"; "required": false; }; "fixedPosition": { "alias": "fixedPosition"; "required": false; }; "position": { "alias": "position"; "required": false; }; }, {}, ["trigger"], ["[idTooltipTrigger]", "*"], true, never>;
20
33
  static ngAcceptInputType_fixedPosition: unknown;
@@ -10,6 +10,7 @@ class IDAccordionHeaderComponent {
10
10
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: IDAccordionHeaderComponent, isStandalone: true, selector: "id-accordion-header", viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: `
11
11
  <ng-template>
12
12
  <ng-content></ng-content>
13
+
13
14
  </ng-template>`, isInline: true });
14
15
  }
15
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionHeaderComponent, decorators: [{
@@ -20,6 +21,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
20
21
  template: `
21
22
  <ng-template>
22
23
  <ng-content></ng-content>
24
+
23
25
  </ng-template>`
24
26
  }]
25
27
  }], propDecorators: { template: [{
@@ -30,6 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
30
32
  class IDAccordionComponent {
31
33
  nestedAccordions;
32
34
  header;
35
+ subtitle = '';
33
36
  lean = false;
34
37
  noBorder = false;
35
38
  expanded = false;
@@ -54,7 +57,7 @@ class IDAccordionComponent {
54
57
  });
55
58
  }
56
59
  updateNestedAccordionLevels() {
57
- this.nestedAccordions?.forEach(accordion => {
60
+ this.nestedAccordions?.forEach((accordion) => {
58
61
  accordion.level = this.level + 1;
59
62
  switch (this.size) {
60
63
  case 'm':
@@ -81,24 +84,26 @@ class IDAccordionComponent {
81
84
  this.expandedChange.emit(this.expanded);
82
85
  }
83
86
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.20", type: IDAccordionComponent, isStandalone: true, selector: "id-accordion", inputs: { lean: ["lean", "lean", booleanAttribute], noBorder: ["noBorder", "noBorder", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], level: "level", size: "size" }, outputs: { closed: "closed", opened: "opened", expandedChange: "expandedChange" }, host: { properties: { "class.ids-accordion--expanded": "expanded", "class.ids-accordion--no-border": "noBorder", "class.ids-accordion--lean": "lean", "class.ids-accordion--has-children": "hasChildren", "class.ids-accordion--is-child": "isChild" }, classAttribute: "ids-accordion" }, queries: [{ propertyName: "header", first: true, predicate: IDAccordionHeaderComponent, descendants: true }, { propertyName: "nestedAccordions", predicate: IDAccordionComponent }], ngImport: i0, template: "<button \n [class]=\"'ids-accordion__button ids-accordion__button--' + size\" \n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\" \n [attr.aria-controls]=\"contentId\">\n <div [class]=\"'ids-accordion__headline ids-accordion__headline-' + level + ' ids-accordion__headline--' + size + (expanded ? ' ids-accordion__headline--expanded' : '')\">\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n </div>\n</button>\n\n<div [id]=\"contentId\" class=\"ids-accordion__content\" [hidden]=\"!expanded\">\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
87
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDAccordionComponent, isStandalone: true, selector: "id-accordion", inputs: { subtitle: "subtitle", lean: ["lean", "lean", booleanAttribute], noBorder: ["noBorder", "noBorder", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], level: "level", size: "size" }, outputs: { closed: "closed", opened: "opened", expandedChange: "expandedChange" }, host: { properties: { "class.ids-accordion--expanded": "expanded", "class.ids-accordion--no-border": "noBorder", "class.ids-accordion--lean": "lean", "class.ids-accordion--has-children": "hasChildren", "class.ids-accordion--is-child": "isChild" }, classAttribute: "ids-accordion" }, queries: [{ propertyName: "header", first: true, predicate: IDAccordionHeaderComponent, descendants: true }, { propertyName: "nestedAccordions", predicate: IDAccordionComponent }], ngImport: i0, template: "<button\n [class]=\"'ids-accordion__button ids-accordion__button--' + size\"\n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"contentId\"\n>\n <div\n [class]=\"\n 'ids-accordion__headline ids-accordion__headline-' +\n level +\n ' ids-accordion__headline--' +\n size +\n (expanded ? ' ids-accordion__headline--expanded' : '')\n \"\n >\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n @if (!!subtitle) {\n <div class=\"ids-accordion__subtitle\">{{ subtitle }}</div>\n }\n </div>\n</button>\n\n<div\n [id]=\"contentId\"\n class=\"ids-accordion__content\"\n [hidden]=\"!expanded\"\n>\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
85
88
  }
86
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDAccordionComponent, decorators: [{
87
90
  type: Component,
88
- args: [{ selector: "id-accordion", host: {
89
- 'class': 'ids-accordion',
91
+ args: [{ selector: 'id-accordion', host: {
92
+ class: 'ids-accordion',
90
93
  '[class.ids-accordion--expanded]': 'expanded',
91
94
  '[class.ids-accordion--no-border]': 'noBorder',
92
95
  '[class.ids-accordion--lean]': 'lean',
93
96
  '[class.ids-accordion--has-children]': 'hasChildren',
94
97
  '[class.ids-accordion--is-child]': 'isChild',
95
- }, imports: [NgTemplateOutlet], standalone: true, template: "<button \n [class]=\"'ids-accordion__button ids-accordion__button--' + size\" \n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\" \n [attr.aria-controls]=\"contentId\">\n <div [class]=\"'ids-accordion__headline ids-accordion__headline-' + level + ' ids-accordion__headline--' + size + (expanded ? ' ids-accordion__headline--expanded' : '')\">\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n </div>\n</button>\n\n<div [id]=\"contentId\" class=\"ids-accordion__content\" [hidden]=\"!expanded\">\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>" }]
98
+ }, imports: [NgTemplateOutlet], standalone: true, template: "<button\n [class]=\"'ids-accordion__button ids-accordion__button--' + size\"\n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"contentId\"\n>\n <div\n [class]=\"\n 'ids-accordion__headline ids-accordion__headline-' +\n level +\n ' ids-accordion__headline--' +\n size +\n (expanded ? ' ids-accordion__headline--expanded' : '')\n \"\n >\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n @if (!!subtitle) {\n <div class=\"ids-accordion__subtitle\">{{ subtitle }}</div>\n }\n </div>\n</button>\n\n<div\n [id]=\"contentId\"\n class=\"ids-accordion__content\"\n [hidden]=\"!expanded\"\n>\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>\n" }]
96
99
  }], propDecorators: { nestedAccordions: [{
97
100
  type: ContentChildren,
98
101
  args: [IDAccordionComponent]
99
102
  }], header: [{
100
103
  type: ContentChild,
101
104
  args: [IDAccordionHeaderComponent]
105
+ }], subtitle: [{
106
+ type: Input
102
107
  }], lean: [{
103
108
  type: Input,
104
109
  args: [{ transform: booleanAttribute }]
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-accordion.mjs","sources":["../../../projects/ids-angular/components/accordion/accordion-header.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.html","../../../projects/ids-angular/components/accordion/inera-ids-angular-components-accordion.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'id-accordion-header',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>`\n})\nexport class IDAccordionHeaderComponent {\n\n @ViewChild(TemplateRef, { static: true })\n template!: TemplateRef<unknown>;\n\n}\n","import { NgTemplateOutlet } from \"@angular/common\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { Component, ContentChild, ContentChildren, DestroyRef, EventEmitter, Input, Output, QueryList, booleanAttribute, inject } from \"@angular/core\";\nimport { IDAccordionHeaderComponent } from \"./accordion-header.component\";\nimport { IDUseIdService } from \"@inera/ids-angular/common\";\n\n@Component({\n selector: \"id-accordion\",\n templateUrl: \"./accordion.component.html\",\n host: {\n 'class': 'ids-accordion',\n '[class.ids-accordion--expanded]': 'expanded',\n '[class.ids-accordion--no-border]': 'noBorder',\n '[class.ids-accordion--lean]': 'lean',\n '[class.ids-accordion--has-children]': 'hasChildren',\n '[class.ids-accordion--is-child]': 'isChild',\n },\n imports: [NgTemplateOutlet],\n standalone: true,\n})\nexport class IDAccordionComponent {\n \n @ContentChildren(IDAccordionComponent)\n nestedAccordions: QueryList<IDAccordionComponent>;\n\n @ContentChild(IDAccordionHeaderComponent)\n header: IDAccordionHeaderComponent;\n\n @Input({ transform: booleanAttribute }) lean: boolean = false;\n @Input({ transform: booleanAttribute }) noBorder: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() level: number = 1;\n @Input() size: 'xs' | 's' | 'm' = 'm';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n get hasChildren(): boolean {\n return (this.nestedAccordions?.length ?? 0) > 0;\n }\n\n get isChild(): boolean {\n return this.level > 1;\n }\n\n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('accordion');\n\n ngAfterContentInit() {\n this.updateNestedAccordionLevels();\n this.nestedAccordions?.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.updateNestedAccordionLevels();\n });\n }\n\n updateNestedAccordionLevels() {\n this.nestedAccordions?.forEach(accordion => {\n accordion.level = this.level + 1;\n switch (this.size) {\n case 'm':\n accordion.size = 's';\n break;\n case 's':\n accordion.size = 'xs';\n break;\n }\n accordion.updateNestedAccordionLevels();\n });\n }\n\n toggleExpansion(event: Event) {\n this.setExpanded(!this.expanded, event);\n }\n\n private setExpanded(expanded: boolean, event: Event) {\n this.expanded = expanded;\n if (expanded) {\n this.opened.emit(event);\n } else {\n this.closed.emit(event);\n }\n this.expandedChange.emit(this.expanded);\n }\n}\n","<button \n [class]=\"'ids-accordion__button ids-accordion__button--' + size\" \n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\" \n [attr.aria-controls]=\"contentId\">\n <div [class]=\"'ids-accordion__headline ids-accordion__headline-' + level + ' ids-accordion__headline--' + size + (expanded ? ' ids-accordion__headline--expanded' : '')\">\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n </div>\n</button>\n\n<div [id]=\"contentId\" class=\"ids-accordion__content\" [hidden]=\"!expanded\">\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>","/**\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-accordion.mjs","sources":["../../../projects/ids-angular/components/accordion/accordion-header.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.ts","../../../projects/ids-angular/components/accordion/accordion.component.html","../../../projects/ids-angular/components/accordion/inera-ids-angular-components-accordion.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'id-accordion-header',\n standalone: true,\n template: `\n <ng-template>\n <ng-content></ng-content>\n \n </ng-template>`\n})\nexport class IDAccordionHeaderComponent {\n\n @ViewChild(TemplateRef, { static: true })\n template!: TemplateRef<unknown>;\n\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { IDAccordionHeaderComponent } from './accordion-header.component';\nimport { IDUseIdService } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-accordion',\n templateUrl: './accordion.component.html',\n host: {\n class: 'ids-accordion',\n '[class.ids-accordion--expanded]': 'expanded',\n '[class.ids-accordion--no-border]': 'noBorder',\n '[class.ids-accordion--lean]': 'lean',\n '[class.ids-accordion--has-children]': 'hasChildren',\n '[class.ids-accordion--is-child]': 'isChild',\n },\n imports: [NgTemplateOutlet],\n standalone: true,\n})\nexport class IDAccordionComponent {\n @ContentChildren(IDAccordionComponent)\n nestedAccordions: QueryList<IDAccordionComponent>;\n\n @ContentChild(IDAccordionHeaderComponent)\n header: IDAccordionHeaderComponent;\n\n @Input() subtitle: string = '';\n @Input({ transform: booleanAttribute }) lean: boolean = false;\n @Input({ transform: booleanAttribute }) noBorder: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() level: number = 1;\n @Input() size: 'xs' | 's' | 'm' = 'm';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n get hasChildren(): boolean {\n return (this.nestedAccordions?.length ?? 0) > 0;\n }\n\n get isChild(): boolean {\n return this.level > 1;\n }\n\n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('accordion');\n\n ngAfterContentInit() {\n this.updateNestedAccordionLevels();\n this.nestedAccordions?.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.updateNestedAccordionLevels();\n });\n }\n\n updateNestedAccordionLevels() {\n this.nestedAccordions?.forEach((accordion) => {\n accordion.level = this.level + 1;\n switch (this.size) {\n case 'm':\n accordion.size = 's';\n break;\n case 's':\n accordion.size = 'xs';\n break;\n }\n accordion.updateNestedAccordionLevels();\n });\n }\n\n toggleExpansion(event: Event) {\n this.setExpanded(!this.expanded, event);\n }\n\n private setExpanded(expanded: boolean, event: Event) {\n this.expanded = expanded;\n if (expanded) {\n this.opened.emit(event);\n } else {\n this.closed.emit(event);\n }\n this.expandedChange.emit(this.expanded);\n }\n}\n","<button\n [class]=\"'ids-accordion__button ids-accordion__button--' + size\"\n (click)=\"toggleExpansion($event)\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"contentId\"\n>\n <div\n [class]=\"\n 'ids-accordion__headline ids-accordion__headline-' +\n level +\n ' ids-accordion__headline--' +\n size +\n (expanded ? ' ids-accordion__headline--expanded' : '')\n \"\n >\n <ng-container [ngTemplateOutlet]=\"header.template\"></ng-container>\n @if (!!subtitle) {\n <div class=\"ids-accordion__subtitle\">{{ subtitle }}</div>\n }\n </div>\n</button>\n\n<div\n [id]=\"contentId\"\n class=\"ids-accordion__content\"\n [hidden]=\"!expanded\"\n>\n <ng-content select=\":not(id-accordion-header)\"></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -8,26 +8,42 @@ class IDActionLinkComponent {
8
8
  <div class="ids-action-link__image">
9
9
  <ng-content select="[idLinkImage]"></ng-content>
10
10
  </div>
11
- <ng-content></ng-content>
12
- <div class="ids-action-link__icon" aria-hidden="true"></div>
13
- </div>`, isInline: true });
11
+ <div class="ids-action-link__text">
12
+ <ng-content></ng-content>
13
+ </div>
14
+ <div class="ids-action-link__icon-wrapper">
15
+ <div
16
+ class="ids-action-link__icon"
17
+ aria-hidden="true"
18
+ ></div>
19
+ </div>
20
+ </div>
21
+ `, isInline: true });
14
22
  }
15
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDActionLinkComponent, decorators: [{
16
24
  type: Component,
17
25
  args: [{
18
- selector: "id-action-link",
26
+ selector: 'id-action-link',
19
27
  template: `
20
28
  <div class="ids-action-link__inner">
21
29
  <div class="ids-action-link__image">
22
30
  <ng-content select="[idLinkImage]"></ng-content>
23
31
  </div>
24
- <ng-content></ng-content>
25
- <div class="ids-action-link__icon" aria-hidden="true"></div>
26
- </div>`,
32
+ <div class="ids-action-link__text">
33
+ <ng-content></ng-content>
34
+ </div>
35
+ <div class="ids-action-link__icon-wrapper">
36
+ <div
37
+ class="ids-action-link__icon"
38
+ aria-hidden="true"
39
+ ></div>
40
+ </div>
41
+ </div>
42
+ `,
27
43
  standalone: true,
28
44
  host: {
29
- class: 'ids-action-link'
30
- }
45
+ class: 'ids-action-link',
46
+ },
31
47
  }]
32
48
  }] });
33
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-action-link.mjs","sources":["../../../projects/ids-angular/components/action-link/action-link.component.ts","../../../projects/ids-angular/components/action-link/inera-ids-angular-components-action-link.ts"],"sourcesContent":["import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"id-action-link\",\n template:`\n <div class=\"ids-action-link__inner\">\n <div class=\"ids-action-link__image\">\n <ng-content select=\"[idLinkImage]\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"ids-action-link__icon\" aria-hidden=\"true\"></div>\n </div>`,\n standalone: true,\n host: {\n class: 'ids-action-link'\n }\n})\nexport class IDActionLinkComponent {\n}\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAiBa,qBAAqB,CAAA;wGAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAbvB;;;;;;;AAOA,UAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAME,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAfjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAC;;;;;;;AAOA,UAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;;;AChBD;;AAEG;;;;"}
1
+ {"version":3,"file":"inera-ids-angular-components-action-link.mjs","sources":["../../../projects/ids-angular/components/action-link/action-link.component.ts","../../../projects/ids-angular/components/action-link/inera-ids-angular-components-action-link.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-action-link',\n template: `\n <div class=\"ids-action-link__inner\">\n <div class=\"ids-action-link__image\">\n <ng-content select=\"[idLinkImage]\"></ng-content>\n </div>\n <div class=\"ids-action-link__text\">\n <ng-content></ng-content>\n </div>\n <div class=\"ids-action-link__icon-wrapper\">\n <div\n class=\"ids-action-link__icon\"\n aria-hidden=\"true\"\n ></div>\n </div>\n </div>\n `,\n standalone: true,\n host: {\n class: 'ids-action-link',\n },\n})\nexport class IDActionLinkComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAyBa,qBAAqB,CAAA;wGAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EArBtB;;;;;;;;;;;;;;;AAeT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAMU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAvBjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;AAeT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,iBAAiB;AACzB,qBAAA;AACF,iBAAA;;;ACxBD;;AAEG;;;;"}
@@ -56,11 +56,11 @@ class IDBreadcrumbsComponent {
56
56
  }, 0);
57
57
  }
58
58
  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\"></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"] }] });
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"] }] });
60
60
  }
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDBreadcrumbsComponent, decorators: [{
62
62
  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\"></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>" }]
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
64
  }], propDecorators: { lead: [{
65
65
  type: Input
66
66
  }], srLabel: [{
@@ -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\"></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 @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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"}
@@ -27,7 +27,7 @@ class IDButtonDirective {
27
27
  get baseAndSizeClasses() {
28
28
  const buttonClass = 'ids-button';
29
29
  const sizeClass = `${buttonClass}--${this.size}`;
30
- return `${buttonClass} ${sizeClass}`;
30
+ return this.fab ? `${buttonClass}` : `${buttonClass} ${sizeClass}`;
31
31
  }
32
32
  // Spinner logic
33
33
  _loading = false;
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-button.mjs","sources":["../../../projects/ids-angular/components/button/button.directive.ts","../../../projects/ids-angular/components/button/inera-ids-angular-components-button.ts"],"sourcesContent":["import { Directive, Input, Renderer2, ElementRef, ViewContainerRef, Injector, ComponentRef, OnChanges, booleanAttribute, inject } from \"@angular/core\";\nimport { IDSpinnerComponent } from \"@inera/ids-angular/components/form/spinner\";\n\n@Directive({\n selector: \"button[idButton], a[idButton]\",\n standalone: true,\n host: {\n '[class]': 'baseAndSizeClasses',\n '[class.ids-button--secondary]': 'secondary',\n '[class.ids-button--tertiary]': 'tertiary',\n '[class.ids-button--submit]': 'submit',\n '[class.ids-button--fab]': 'fab',\n '[class.ids-button--icon]': 'icon',\n '[class.ids-button--active]': 'active',\n '[class.ids-button--loading]': 'loading',\n '[class.ids-button--block]': 'block',\n '[class.ids-button--s-block]': 'sBlock',\n '[class.ids-button--m-block]': 'mBlock',\n '[attr.aria-pressed]': 'ariaPressedValue',\n },\n})\nexport class IDButtonDirective implements OnChanges {\n\n private elementRef = inject(ElementRef);\n private renderer = inject(Renderer2);\n private viewContainerRef = inject(ViewContainerRef);\n private injector = inject(Injector);\n\n @Input({ transform: booleanAttribute }) block: boolean = false;\n @Input({ transform: booleanAttribute }) secondary: boolean = false;\n @Input({ transform: booleanAttribute }) fab: boolean = false;\n @Input({ transform: booleanAttribute }) icon: boolean = false;\n @Input({ transform: booleanAttribute }) tertiary: boolean = false;\n @Input({ transform: booleanAttribute }) submit: boolean = false;\n @Input({ transform: booleanAttribute }) sBlock: boolean = false;\n @Input({ transform: booleanAttribute }) mBlock: boolean = false;\n @Input({ transform: booleanAttribute }) toggle: boolean = false;\n @Input({ transform: booleanAttribute }) active: boolean = false;\n @Input() size: \"s\" | \"m\" | \"l\" = \"m\";\n\n get ariaPressedValue(): boolean | null {\n if (!this.toggle) {\n return null;\n }\n return this.active;\n }\n\n get baseAndSizeClasses(): string {\n const buttonClass = 'ids-button';\n const sizeClass = `${buttonClass}--${this.size}`;\n return `${buttonClass} ${sizeClass}`;\n }\n\n // Spinner logic\n private _loading: boolean = false;\n @Input()\n set loading(value: boolean) {\n this._loading = value;\n if (value) {\n this.addSpinnerComponent();\n } else {\n this.removeSpinnerComponent();\n }\n }\n get loading(): boolean {\n return this._loading;\n }\n private spinnerComponentRef: ComponentRef<IDSpinnerComponent> | null = null;\n private originalContent: any[] = [];\n\n ngOnChanges(): void {\n this.setSpinnerColor();\n }\n\n setSpinnerColor(): void {\n if (this.spinnerComponentRef) {\n this.spinnerComponentRef.instance.variant = !this.secondary && !this.tertiary ? \"3\" : \"2\";\n }\n }\n\n private addSpinnerComponent(): void {\n const hostElement = this.elementRef.nativeElement;\n if (this.spinnerComponentRef) {\n return;\n }\n this.originalContent = Array.from(hostElement.childNodes).filter((node: any) => node.nodeType === 1);\n this.originalContent.forEach(node => {\n this.renderer.setStyle(node, 'display', 'none');\n });\n this.spinnerComponentRef = this.viewContainerRef.createComponent(IDSpinnerComponent, {\n injector: this.injector\n });\n this.setSpinnerColor();\n const spinnerNativeElement = this.spinnerComponentRef.location.nativeElement;\n this.renderer.appendChild(hostElement, spinnerNativeElement);\n }\n\n private removeSpinnerComponent(): void {\n if (!this.spinnerComponentRef) {\n return;\n }\n this.spinnerComponentRef.destroy();\n this.spinnerComponentRef = null;\n this.originalContent.forEach(node => {\n this.renderer.setStyle(node, 'display', '');\n });\n this.originalContent = [];\n }\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-button.mjs","sources":["../../../projects/ids-angular/components/button/button.directive.ts","../../../projects/ids-angular/components/button/inera-ids-angular-components-button.ts"],"sourcesContent":["import { Directive, Input, Renderer2, ElementRef, ViewContainerRef, Injector, ComponentRef, OnChanges, booleanAttribute, inject } from \"@angular/core\";\nimport { IDSpinnerComponent } from \"@inera/ids-angular/components/form/spinner\";\n\n@Directive({\n selector: \"button[idButton], a[idButton]\",\n standalone: true,\n host: {\n '[class]': 'baseAndSizeClasses',\n '[class.ids-button--secondary]': 'secondary',\n '[class.ids-button--tertiary]': 'tertiary',\n '[class.ids-button--submit]': 'submit',\n '[class.ids-button--fab]': 'fab',\n '[class.ids-button--icon]': 'icon',\n '[class.ids-button--active]': 'active',\n '[class.ids-button--loading]': 'loading',\n '[class.ids-button--block]': 'block',\n '[class.ids-button--s-block]': 'sBlock',\n '[class.ids-button--m-block]': 'mBlock',\n '[attr.aria-pressed]': 'ariaPressedValue',\n },\n})\nexport class IDButtonDirective implements OnChanges {\n\n private elementRef = inject(ElementRef);\n private renderer = inject(Renderer2);\n private viewContainerRef = inject(ViewContainerRef);\n private injector = inject(Injector);\n\n @Input({ transform: booleanAttribute }) block: boolean = false;\n @Input({ transform: booleanAttribute }) secondary: boolean = false;\n @Input({ transform: booleanAttribute }) fab: boolean = false;\n @Input({ transform: booleanAttribute }) icon: boolean = false;\n @Input({ transform: booleanAttribute }) tertiary: boolean = false;\n @Input({ transform: booleanAttribute }) submit: boolean = false;\n @Input({ transform: booleanAttribute }) sBlock: boolean = false;\n @Input({ transform: booleanAttribute }) mBlock: boolean = false;\n @Input({ transform: booleanAttribute }) toggle: boolean = false;\n @Input({ transform: booleanAttribute }) active: boolean = false;\n @Input() size: \"s\" | \"m\" | \"l\" = \"m\";\n\n get ariaPressedValue(): boolean | null {\n if (!this.toggle) {\n return null;\n }\n return this.active;\n }\n\n get baseAndSizeClasses(): string {\n const buttonClass = 'ids-button';\n const sizeClass = `${buttonClass}--${this.size}`;\n return this.fab ? `${buttonClass}` : `${buttonClass} ${sizeClass}`;\n }\n\n // Spinner logic\n private _loading: boolean = false;\n @Input()\n set loading(value: boolean) {\n this._loading = value;\n if (value) {\n this.addSpinnerComponent();\n } else {\n this.removeSpinnerComponent();\n }\n }\n get loading(): boolean {\n return this._loading;\n }\n private spinnerComponentRef: ComponentRef<IDSpinnerComponent> | null = null;\n private originalContent: any[] = [];\n\n ngOnChanges(): void {\n this.setSpinnerColor();\n }\n\n setSpinnerColor(): void {\n if (this.spinnerComponentRef) {\n this.spinnerComponentRef.instance.variant = !this.secondary && !this.tertiary ? \"3\" : \"2\";\n }\n }\n\n private addSpinnerComponent(): void {\n const hostElement = this.elementRef.nativeElement;\n if (this.spinnerComponentRef) {\n return;\n }\n this.originalContent = Array.from(hostElement.childNodes).filter((node: any) => node.nodeType === 1);\n this.originalContent.forEach(node => {\n this.renderer.setStyle(node, 'display', 'none');\n });\n this.spinnerComponentRef = this.viewContainerRef.createComponent(IDSpinnerComponent, {\n injector: this.injector\n });\n this.setSpinnerColor();\n const spinnerNativeElement = this.spinnerComponentRef.location.nativeElement;\n this.renderer.appendChild(hostElement, spinnerNativeElement);\n }\n\n private removeSpinnerComponent(): void {\n if (!this.spinnerComponentRef) {\n return;\n }\n this.spinnerComponentRef.destroy();\n this.spinnerComponentRef = null;\n this.originalContent.forEach(node => {\n this.renderer.setStyle(node, 'display', '');\n });\n this.originalContent = [];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAqBa,iBAAiB,CAAA;AAEpB,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEK,KAAK,GAAY,KAAK;IACtB,SAAS,GAAY,KAAK;IAC1B,GAAG,GAAY,KAAK;IACpB,IAAI,GAAY,KAAK;IACrB,QAAQ,GAAY,KAAK;IACzB,MAAM,GAAY,KAAK;IACvB,MAAM,GAAY,KAAK;IACvB,MAAM,GAAY,KAAK;IACvB,MAAM,GAAY,KAAK;IACvB,MAAM,GAAY,KAAK;IACtD,IAAI,GAAoB,GAAG;AAEpC,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,YAAA,OAAO,IAAI;QACb;QACA,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,MAAM,WAAW,GAAG,YAAY;QAChC,MAAM,SAAS,GAAG,CAAA,EAAG,WAAW,KAAK,IAAI,CAAC,IAAI,CAAA,CAAE;AAChD,QAAA,OAAO,IAAI,CAAC,GAAG,GAAG,CAAA,EAAG,WAAW,CAAA,CAAE,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA,EAAI,SAAS,EAAE;IACpE;;IAGQ,QAAQ,GAAY,KAAK;IACjC,IACI,OAAO,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;QACrB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,mBAAmB,EAAE;QAC5B;aAAO;YACL,IAAI,CAAC,sBAAsB,EAAE;QAC/B;IACF;AACA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACQ,mBAAmB,GAA4C,IAAI;IACnE,eAAe,GAAU,EAAE;IAEnC,WAAW,GAAA;QACT,IAAI,CAAC,eAAe,EAAE;IACxB;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,GAAG;QAC3F;IACF;IAEQ,mBAAmB,GAAA;AACzB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AACjD,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B;QACF;QACA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;AACpG,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,IAAG;YAClC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;AACjD,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,kBAAkB,EAAE;YACnF,QAAQ,EAAE,IAAI,CAAC;AAChB,SAAA,CAAC;QACF,IAAI,CAAC,eAAe,EAAE;QACtB,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa;QAC5E,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC9D;IAEQ,sBAAsB,GAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B;QACF;AACA,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;AAClC,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;AAC/B,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,IAAG;YAClC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;AAC7C,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;IAC3B;wGAtFW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,qGAOR,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAChB,gBAAgB,CAAA,EAAA,GAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAChB,gBAAgB,0BAChB,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAChB,gBAAgB,CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAChB,gBAAgB,gCAChB,gBAAgB,CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAChB,gBAAgB,CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAChB,gBAAgB,gCAChB,gBAAgB,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,WAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,SAAA,EAAA,yBAAA,EAAA,OAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAhBzB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAlB7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,oBAAoB;AAC/B,wBAAA,+BAA+B,EAAE,WAAW;AAC5C,wBAAA,8BAA8B,EAAE,UAAU;AAC1C,wBAAA,4BAA4B,EAAE,QAAQ;AACtC,wBAAA,yBAAyB,EAAE,KAAK;AAChC,wBAAA,0BAA0B,EAAE,MAAM;AAClC,wBAAA,4BAA4B,EAAE,QAAQ;AACtC,wBAAA,6BAA6B,EAAE,SAAS;AACxC,wBAAA,2BAA2B,EAAE,OAAO;AACpC,wBAAA,6BAA6B,EAAE,QAAQ;AACvC,wBAAA,6BAA6B,EAAE,QAAQ;AACvC,wBAAA,qBAAqB,EAAE,kBAAkB;AAC1C,qBAAA;AACF,iBAAA;8BAQyC,KAAK,EAAA,CAAA;sBAA5C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,GAAG,EAAA,CAAA;sBAA1C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,IAAI,EAAA,CAAA;sBAAZ;gBAkBG,OAAO,EAAA,CAAA;sBADV;;;ACvDH;;AAEG;;;;"}
@@ -10,7 +10,7 @@ class IDCardComponent {
10
10
  interactive = false;
11
11
  lean = false;
12
12
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDCardComponent, isStandalone: true, selector: "id-card", inputs: { hideOnM: ["hideOnM", "hideOnM", booleanAttribute], hideOnS: ["hideOnS", "hideOnS", booleanAttribute], fill: ["fill", "fill", booleanAttribute], focusCard: ["focusCard", "focusCard", booleanAttribute], borderTop: ["borderTop", "borderTop", booleanAttribute], interactive: ["interactive", "interactive", booleanAttribute], lean: ["lean", "lean", booleanAttribute] }, host: { properties: { "class.ids-card--hide-on-m": "hideOnM", "class.ids-card--hide-on-s": "hideOnS", "class.ids-card--border-top": "!focusCard && borderTop", "class.ids-card--focus-card": "focusCard && !borderTop", "class.ids-card--fill": "fill", "class.ids-card--lean": "lean", "class.ids-card--interactive": "interactive" }, classAttribute: "ids-card" }, ngImport: i0, template: "@if (borderTop && !focusCard) {\n <div class=\"ids-card__border-top\"></div>\n}\n\n<div class=\"ids-card__content\">\n <ng-content></ng-content>\n</div>\n" });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDCardComponent, isStandalone: true, selector: "id-card", inputs: { hideOnM: ["hideOnM", "hideOnM", booleanAttribute], hideOnS: ["hideOnS", "hideOnS", booleanAttribute], fill: ["fill", "fill", booleanAttribute], focusCard: ["focusCard", "focusCard", booleanAttribute], borderTop: ["borderTop", "borderTop", booleanAttribute], interactive: ["interactive", "interactive", booleanAttribute], lean: ["lean", "lean", booleanAttribute] }, host: { properties: { "class.ids-card--hide-on-m": "hideOnM", "class.ids-card--hide-on-s": "hideOnS", "class.ids-card--border-top": "!focusCard && borderTop", "class.ids-card--focus": "focusCard && !borderTop", "class.ids-card--fill": "fill", "class.ids-card--lean": "lean", "class.ids-card--interactive": "interactive" }, classAttribute: "ids-card" }, ngImport: i0, template: "@if (borderTop && !focusCard) {\n <div class=\"ids-card__border-top\"></div>\n}\n\n<div class=\"ids-card__content\">\n <ng-content></ng-content>\n</div>\n" });
14
14
  }
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDCardComponent, decorators: [{
16
16
  type: Component,
@@ -19,7 +19,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
19
19
  "[class.ids-card--hide-on-m]": "hideOnM",
20
20
  "[class.ids-card--hide-on-s]": "hideOnS",
21
21
  "[class.ids-card--border-top]": "!focusCard && borderTop",
22
- "[class.ids-card--focus-card]": "focusCard && !borderTop",
22
+ "[class.ids-card--focus]": "focusCard && !borderTop",
23
23
  "[class.ids-card--fill]": "fill",
24
24
  "[class.ids-card--lean]": "lean",
25
25
  "[class.ids-card--interactive]": "interactive"
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-card.mjs","sources":["../../../projects/ids-angular/components/card/card.component.ts","../../../projects/ids-angular/components/card/card.component.html","../../../projects/ids-angular/components/card/inera-ids-angular-components-card.ts"],"sourcesContent":["import { Component, Input, booleanAttribute } from \"@angular/core\";\n\n@Component({\n selector: \"id-card\",\n standalone: true,\n templateUrl: \"./card.component.html\",\n host: {\n class: \"ids-card\",\n \"[class.ids-card--hide-on-m]\": \"hideOnM\",\n \"[class.ids-card--hide-on-s]\": \"hideOnS\",\n \"[class.ids-card--border-top]\": \"!focusCard && borderTop\",\n \"[class.ids-card--focus-card]\": \"focusCard && !borderTop\",\n \"[class.ids-card--fill]\": \"fill\",\n \"[class.ids-card--lean]\": \"lean\",\n \"[class.ids-card--interactive]\": \"interactive\"\n }\n})\nexport class IDCardComponent {\n @Input({ transform: booleanAttribute }) hideOnM = false;\n @Input({ transform: booleanAttribute }) hideOnS = false;\n @Input({ transform: booleanAttribute }) fill = false;\n @Input({ transform: booleanAttribute }) focusCard = false;\n @Input({ transform: booleanAttribute }) borderTop = false;\n @Input({ transform: booleanAttribute }) interactive = false;\n @Input({ transform: booleanAttribute }) lean = false;\n}","@if (borderTop && !focusCard) {\n <div class=\"ids-card__border-top\"></div>\n}\n\n<div class=\"ids-card__content\">\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAiBa,eAAe,CAAA;IACc,OAAO,GAAG,KAAK;IACf,OAAO,GAAG,KAAK;IACf,IAAI,GAAG,KAAK;IACZ,SAAS,GAAG,KAAK;IACjB,SAAS,GAAG,KAAK;IACjB,WAAW,GAAG,KAAK;IACnB,IAAI,GAAG,KAAK;wGAPzC,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EACN,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAChB,gBAAgB,0BAChB,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAChB,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAChB,gBAAgB,CAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAChB,gBAAgB,CAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAChB,gBAAgB,mYCxBtC,8JAOA,EAAA,CAAA;;4FDUa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,SAAS;+BACE,SAAS,EAAA,UAAA,EACP,IAAI,EAAA,IAAA,EAEV;AACJ,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,6BAA6B,EAAE,SAAS;AACxC,wBAAA,6BAA6B,EAAE,SAAS;AACxC,wBAAA,8BAA8B,EAAE,yBAAyB;AACzD,wBAAA,8BAA8B,EAAE,yBAAyB;AACzD,wBAAA,wBAAwB,EAAE,MAAM;AAChC,wBAAA,wBAAwB,EAAE,MAAM;AAChC,wBAAA,+BAA+B,EAAE;AAClC,qBAAA,EAAA,QAAA,EAAA,8JAAA,EAAA;8BAGuC,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;AExBxC;;AAEG;;;;"}
1
+ {"version":3,"file":"inera-ids-angular-components-card.mjs","sources":["../../../projects/ids-angular/components/card/card.component.ts","../../../projects/ids-angular/components/card/card.component.html","../../../projects/ids-angular/components/card/inera-ids-angular-components-card.ts"],"sourcesContent":["import { Component, Input, booleanAttribute } from \"@angular/core\";\n\n@Component({\n selector: \"id-card\",\n standalone: true,\n templateUrl: \"./card.component.html\",\n host: {\n class: \"ids-card\",\n \"[class.ids-card--hide-on-m]\": \"hideOnM\",\n \"[class.ids-card--hide-on-s]\": \"hideOnS\",\n \"[class.ids-card--border-top]\": \"!focusCard && borderTop\",\n \"[class.ids-card--focus]\": \"focusCard && !borderTop\",\n \"[class.ids-card--fill]\": \"fill\",\n \"[class.ids-card--lean]\": \"lean\",\n \"[class.ids-card--interactive]\": \"interactive\"\n }\n})\nexport class IDCardComponent {\n @Input({ transform: booleanAttribute }) hideOnM = false;\n @Input({ transform: booleanAttribute }) hideOnS = false;\n @Input({ transform: booleanAttribute }) fill = false;\n @Input({ transform: booleanAttribute }) focusCard = false;\n @Input({ transform: booleanAttribute }) borderTop = false;\n @Input({ transform: booleanAttribute }) interactive = false;\n @Input({ transform: booleanAttribute }) lean = false;\n}","@if (borderTop && !focusCard) {\n <div class=\"ids-card__border-top\"></div>\n}\n\n<div class=\"ids-card__content\">\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAiBa,eAAe,CAAA;IACc,OAAO,GAAG,KAAK;IACf,OAAO,GAAG,KAAK;IACf,IAAI,GAAG,KAAK;IACZ,SAAS,GAAG,KAAK;IACjB,SAAS,GAAG,KAAK;IACjB,WAAW,GAAG,KAAK;IACnB,IAAI,GAAG,KAAK;wGAPzC,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EACN,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAChB,gBAAgB,0BAChB,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAChB,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAChB,gBAAgB,CAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAChB,gBAAgB,CAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAChB,gBAAgB,8XCxBtC,8JAOA,EAAA,CAAA;;4FDUa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,SAAS;+BACE,SAAS,EAAA,UAAA,EACP,IAAI,EAAA,IAAA,EAEV;AACJ,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,6BAA6B,EAAE,SAAS;AACxC,wBAAA,6BAA6B,EAAE,SAAS;AACxC,wBAAA,8BAA8B,EAAE,yBAAyB;AACzD,wBAAA,yBAAyB,EAAE,yBAAyB;AACpD,wBAAA,wBAAwB,EAAE,MAAM;AAChC,wBAAA,wBAAwB,EAAE,MAAM;AAChC,wBAAA,+BAA+B,EAAE;AAClC,qBAAA,EAAA,QAAA,EAAA,8JAAA,EAAA;8BAGuC,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;AExBxC;;AAEG;;;;"}
@@ -109,11 +109,11 @@ class IDDialogComponent {
109
109
  this.showChange.emit(this.show);
110
110
  }
111
111
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDDialogComponent, isStandalone: true, selector: "id-dialog", inputs: { dismissible: ["dismissible", "dismissible", booleanAttribute], srCloseText: "srCloseText", noFocusTrap: ["noFocusTrap", "noFocusTrap", booleanAttribute], keepScrollbar: ["keepScrollbar", "keepScrollbar", booleanAttribute], noOverlay: ["noOverlay", "noOverlay", booleanAttribute], persistent: ["persistent", "persistent", booleanAttribute], show: ["show", "show", booleanAttribute], width: "width", maxWidth: "maxWidth" }, outputs: { closed: "closed", opened: "opened", showChange: "showChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, queries: [{ propertyName: "trigger", first: true, predicate: IDDialogTriggerComponent, descendants: true }, { propertyName: "closeComponents", predicate: IDDialogCloseComponent, descendants: true }], viewQueries: [{ propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if(trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\">\n</div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\">\n <div #dialogContent style=\"display: contents\">\n @if(dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\">\n </button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\">\n <div \n tabindex=\"-1\" \n cdkFocusInitial \n [attr.id]=\"headingId\" \n class=\"ids-dialog__body-headline\">\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\" \n class=\"ids-dialog__body-content\">\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDDialogComponent, isStandalone: true, selector: "id-dialog", inputs: { dismissible: ["dismissible", "dismissible", booleanAttribute], srCloseText: "srCloseText", noFocusTrap: ["noFocusTrap", "noFocusTrap", booleanAttribute], keepScrollbar: ["keepScrollbar", "keepScrollbar", booleanAttribute], noOverlay: ["noOverlay", "noOverlay", booleanAttribute], persistent: ["persistent", "persistent", booleanAttribute], show: ["show", "show", booleanAttribute], width: "width", maxWidth: "maxWidth" }, outputs: { closed: "closed", opened: "opened", showChange: "showChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, queries: [{ propertyName: "trigger", first: true, predicate: IDDialogTriggerComponent, descendants: true }, { propertyName: "closeComponents", predicate: IDDialogCloseComponent, descendants: true }], viewQueries: [{ propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
113
113
  }
114
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDDialogComponent, decorators: [{
115
115
  type: Component,
116
- args: [{ selector: 'id-dialog', standalone: true, imports: [CommonModule, A11yModule, IDClickOutsideDirective], template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if(trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\">\n</div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\">\n <div #dialogContent style=\"display: contents\">\n @if(dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\">\n </button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\">\n <div \n tabindex=\"-1\" \n cdkFocusInitial \n [attr.id]=\"headingId\" \n class=\"ids-dialog__body-headline\">\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\" \n class=\"ids-dialog__body-content\">\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>" }]
116
+ args: [{ selector: 'id-dialog', standalone: true, imports: [CommonModule, A11yModule, IDClickOutsideDirective], template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n" }]
117
117
  }], propDecorators: { onEsc: [{
118
118
  type: HostListener,
119
119
  args: ['document:keydown.escape', ['$event']]
@@ -1 +1 @@
1
- {"version":3,"file":"inera-ids-angular-components-dialog.mjs","sources":["../../../projects/ids-angular/components/dialog/dialog-trigger.component.ts","../../../projects/ids-angular/components/dialog/dialog-close.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.html","../../../projects/ids-angular/components/dialog/dialog-header.component.ts","../../../projects/ids-angular/components/dialog/dialog-content.component.ts","../../../projects/ids-angular/components/dialog/dialog-footer.component.ts","../../../projects/ids-angular/components/dialog/inera-ids-angular-components-dialog.ts"],"sourcesContent":["import { Component} from '@angular/core';\n\n@Component({\n selector: 'id-dialog-trigger',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogTriggerComponent {}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDDialogCloseComponent {\n @Output() closed = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.closed.emit(e);\n }\n}","import { AfterContentInit, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, EventEmitter, HostListener, Input, OnDestroy, Output, QueryList, ViewChild, booleanAttribute, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CommonModule } from '@angular/common';\nimport { IDDialogTriggerComponent } from './dialog-trigger.component';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { IDDialogCloseComponent } from './dialog-close.component';\n\n@Component({\n selector: 'id-dialog',\n templateUrl: './dialog.component.html',\n standalone: true,\n imports:[CommonModule, A11yModule, IDClickOutsideDirective],\n})\n\nexport class IDDialogComponent implements AfterContentInit, OnDestroy {\n\n @HostListener('document:keydown.escape', ['$event'])\n onEsc(event: Event) {\n if (this.show && !this.persistent) {\n this.hideDialog(event);\n }\n }\n\n @ContentChild(IDDialogTriggerComponent)\n trigger:IDDialogTriggerComponent;\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input() srCloseText: string = '';\n @Input({ transform: booleanAttribute }) noFocusTrap: boolean = false;\n @Input({ transform: booleanAttribute }) keepScrollbar: boolean = false;\n @Input({ transform: booleanAttribute }) noOverlay: boolean = false;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) show: boolean = false;\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ContentChildren(IDDialogCloseComponent, {descendants: true})\n closeComponents: QueryList<IDDialogCloseComponent>;\n \n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('dialog-content');\n headingId = this.idService.generateId('dialog-heading');\n\n ngAfterContentInit(): void {\n this.closeComponents.forEach((closeComponent) => {\n closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event: Event) => {\n this.hideDialog(event);\n })\n });\n }\n\n ngOnDestroy(): void {\n this.reusableFocusTrap.destroy();\n }\n\n @ViewChild('dialogContent', { static: true })\n dialogContent!: ElementRef\n \n private reusableFocusTrap = useFocusTrap(\n () => this.dialogContent,\n { disabled: () => this.noFocusTrap }\n );\n\n protected toggleDialog(event: Event):void {\n if(this.show) {\n this.hideDialog(event);\n } else {\n this.showDialog(event);\n }\n }\n protected overlayClicked(event: Event):void {\n if (!this.persistent) {\n this.hideDialog(event);\n }\n }\n\n showDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.add('ids-hide-overflow');\n }\n this.show = true;\n this.opened.emit(event)\n this.showChange.emit(this.show);\n this.reusableFocusTrap.create();\n }\n\n hideDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.remove('ids-hide-overflow');\n }\n this.reusableFocusTrap.destroy();\n this.show = false;\n this.closed.emit(event)\n this.showChange.emit(this.show);\n }\n\n}\n","<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if(trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\">\n</div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\">\n <div #dialogContent style=\"display: contents\">\n @if(dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\">\n </button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\">\n <div \n tabindex=\"-1\" \n cdkFocusInitial \n [attr.id]=\"headingId\" \n class=\"ids-dialog__body-headline\">\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\" \n class=\"ids-dialog__body-content\">\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-header',\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class IDDialogHeaderComponent {}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-content',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-footer',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-dialog__footer'\n }\n})\nexport class IDDialogFooterComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inera-ids-angular-components-dialog.mjs","sources":["../../../projects/ids-angular/components/dialog/dialog-trigger.component.ts","../../../projects/ids-angular/components/dialog/dialog-close.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.html","../../../projects/ids-angular/components/dialog/dialog-header.component.ts","../../../projects/ids-angular/components/dialog/dialog-content.component.ts","../../../projects/ids-angular/components/dialog/dialog-footer.component.ts","../../../projects/ids-angular/components/dialog/inera-ids-angular-components-dialog.ts"],"sourcesContent":["import { Component} from '@angular/core';\n\n@Component({\n selector: 'id-dialog-trigger',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogTriggerComponent {}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDDialogCloseComponent {\n @Output() closed = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.closed.emit(e);\n }\n}","import { AfterContentInit, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, EventEmitter, HostListener, Input, OnDestroy, Output, QueryList, ViewChild, booleanAttribute, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CommonModule } from '@angular/common';\nimport { IDDialogTriggerComponent } from './dialog-trigger.component';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { IDDialogCloseComponent } from './dialog-close.component';\n\n@Component({\n selector: 'id-dialog',\n templateUrl: './dialog.component.html',\n standalone: true,\n imports:[CommonModule, A11yModule, IDClickOutsideDirective],\n})\n\nexport class IDDialogComponent implements AfterContentInit, OnDestroy {\n\n @HostListener('document:keydown.escape', ['$event'])\n onEsc(event: Event) {\n if (this.show && !this.persistent) {\n this.hideDialog(event);\n }\n }\n\n @ContentChild(IDDialogTriggerComponent)\n trigger:IDDialogTriggerComponent;\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input() srCloseText: string = '';\n @Input({ transform: booleanAttribute }) noFocusTrap: boolean = false;\n @Input({ transform: booleanAttribute }) keepScrollbar: boolean = false;\n @Input({ transform: booleanAttribute }) noOverlay: boolean = false;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) show: boolean = false;\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ContentChildren(IDDialogCloseComponent, {descendants: true})\n closeComponents: QueryList<IDDialogCloseComponent>;\n \n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('dialog-content');\n headingId = this.idService.generateId('dialog-heading');\n\n ngAfterContentInit(): void {\n this.closeComponents.forEach((closeComponent) => {\n closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event: Event) => {\n this.hideDialog(event);\n })\n });\n }\n\n ngOnDestroy(): void {\n this.reusableFocusTrap.destroy();\n }\n\n @ViewChild('dialogContent', { static: true })\n dialogContent!: ElementRef\n \n private reusableFocusTrap = useFocusTrap(\n () => this.dialogContent,\n { disabled: () => this.noFocusTrap }\n );\n\n protected toggleDialog(event: Event):void {\n if(this.show) {\n this.hideDialog(event);\n } else {\n this.showDialog(event);\n }\n }\n protected overlayClicked(event: Event):void {\n if (!this.persistent) {\n this.hideDialog(event);\n }\n }\n\n showDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.add('ids-hide-overflow');\n }\n this.show = true;\n this.opened.emit(event)\n this.showChange.emit(this.show);\n this.reusableFocusTrap.create();\n }\n\n hideDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.remove('ids-hide-overflow');\n }\n this.reusableFocusTrap.destroy();\n this.show = false;\n this.closed.emit(event)\n this.showChange.emit(this.show);\n }\n\n}\n","<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-header',\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class IDDialogHeaderComponent {}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-content',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-footer',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-dialog__footer'\n }\n})\nexport class IDDialogFooterComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}