@inera/ids-angular 9.2.0 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/directives/click-outside.directive.d.ts +3 -3
- package/common/public-api.d.ts +1 -1
- package/components/accordion/accordion-header.component.d.ts +1 -1
- package/components/accordion/accordion.component.d.ts +5 -4
- package/components/alert/alert-header.component.d.ts +1 -1
- package/components/alert/alert.component.d.ts +2 -2
- package/components/box-link/box-link-button.component.d.ts +2 -2
- package/components/box-link/box-link.component.d.ts +1 -1
- package/components/breadcrumbs/breadcrumbs.component.d.ts +3 -4
- package/components/breadcrumbs/crumb.component.d.ts +1 -1
- package/components/carousel/carousel-item/carousel-item.component.d.ts +1 -1
- package/components/carousel/carousel.component.d.ts +4 -4
- package/components/control-button/control-button.directive.d.ts +5 -0
- package/components/control-button/index.d.ts +5 -0
- package/components/control-button/public-api.d.ts +1 -0
- package/components/dialog/dialog.component.d.ts +4 -4
- package/components/dropdown/dropdown.component.d.ts +1 -1
- package/components/footer-1177/footer-1177-col.component.d.ts +4 -4
- package/components/footer-1177/footer-1177.component.d.ts +6 -4
- package/components/footer-1177-admin/footer-1177-admin-col.component.d.ts +4 -4
- package/components/footer-1177-admin/footer-1177-admin.component.d.ts +5 -4
- package/components/footer-1177-pro/footer-1177-pro-col.component.d.ts +4 -4
- package/components/footer-1177-pro/footer-1177-pro.component.d.ts +6 -4
- package/components/footer-inera/footer-inera-col.component.d.ts +4 -4
- package/components/footer-inera/footer-inera.component.d.ts +5 -4
- package/components/footer-inera-admin/footer-inera-admin-col.component.d.ts +4 -4
- package/components/footer-inera-admin/footer-inera-admin.component.d.ts +5 -4
- package/components/footer-inera-general/footer-inera-general-col.component.d.ts +4 -4
- package/components/footer-inera-general/footer-inera-general.component.d.ts +6 -4
- package/components/form/checkbox-group/checkbox-group.component.d.ts +4 -4
- package/components/form/input/input-clear-button.component.d.ts +5 -0
- package/components/form/input/input.component.d.ts +7 -3
- package/components/form/input/public-api.d.ts +1 -0
- package/components/form/label-subtitle/index.d.ts +5 -0
- package/components/form/label-subtitle/label-subtitle.component.d.ts +5 -0
- package/components/form/label-subtitle/public-api.d.ts +1 -0
- package/components/form/radio/radio-group.component.d.ts +4 -4
- package/components/form/radio/radio.component.d.ts +1 -1
- package/components/form/radio-button/radio-button-group.component.d.ts +1 -2
- package/components/form/range/range.component.d.ts +1 -1
- package/components/form/select/select.component.d.ts +1 -1
- package/components/form/select-multiple/select-multiple.component.d.ts +3 -3
- package/components/form/textarea/textarea.component.d.ts +1 -1
- package/components/form/time/time.component.d.ts +1 -1
- package/components/global-alert/global-alert-actions.component.d.ts +1 -1
- package/components/global-alert/global-alert-header.component.d.ts +1 -1
- package/components/global-alert/global-alert.component.d.ts +2 -2
- package/components/header-1177/avatar/header-1177-avatar.component.d.ts +1 -1
- package/components/header-1177/header-1177.component.d.ts +6 -7
- package/components/header-1177/nav/header-1177-nav.component.d.ts +1 -1
- package/components/header-1177/nav-item/header-1177-nav-item.component.d.ts +5 -5
- package/components/header-1177/region-picker/header-1177-region-picker.component.d.ts +3 -3
- package/components/header-1177/region-picker-mobile/header-1177-region-picker-mobile.component.d.ts +3 -3
- package/components/header-1177-admin/avatar/header-1177-admin-avatar.component.d.ts +1 -1
- package/components/header-1177-admin/avatar-mobile/header-1177-admin-avatar-mobile.component.d.ts +1 -1
- package/components/header-1177-admin/header-1177-admin.component.d.ts +3 -3
- package/components/header-1177-admin/nav/header-1177-admin-nav.component.d.ts +4 -4
- package/components/header-1177-admin/nav-item/header-1177-admin-nav-item.component.d.ts +5 -5
- package/components/header-1177-pro/avatar/header-1177-pro-avatar.component.d.ts +1 -1
- package/components/header-1177-pro/avatar-mobile/header-1177-pro-avatar-mobile.component.d.ts +1 -1
- package/components/header-1177-pro/header-1177-pro.component.d.ts +3 -3
- package/components/header-1177-pro/nav/header-1177-pro-nav.component.d.ts +4 -4
- package/components/header-1177-pro/nav-item/header-1177-pro-nav-item.component.d.ts +5 -5
- package/components/header-1177-pro/region-picker/header-1177-pro-region-picker.component.d.ts +4 -4
- package/components/header-1177-pro/region-picker-mobile/header-1177-pro-region-picker-mobile.component.d.ts +1 -1
- package/components/header-inera/header-inera.component.d.ts +5 -6
- package/components/header-inera/nav/header-inera-nav.component.d.ts +2 -4
- package/components/header-inera/nav-item/header-inera-nav-item.component.d.ts +5 -5
- package/components/header-inera-admin/avatar/header-inera-admin-avatar.component.d.ts +1 -1
- package/components/header-inera-admin/avatar-mobile/header-inera-admin-avatar-mobile.component.d.ts +1 -1
- package/components/header-inera-admin/header-inera-admin.component.d.ts +6 -7
- package/components/header-inera-admin/nav/header-inera-admin-nav.component.d.ts +4 -4
- package/components/header-inera-admin/nav-item/header-inera-admin-nav-item.component.d.ts +4 -4
- package/components/header-inera-general/header-inera-general.component.d.ts +5 -6
- package/components/header-inera-general/nav/header-inera-general-nav.component.d.ts +1 -1
- package/components/header-inera-general/nav-item/header-inera-general-nav-item.component.d.ts +5 -5
- package/components/mobile/menu/item/mobile-menu-item.component.d.ts +3 -3
- package/components/mobile/menu/mobile-menu.component.d.ts +1 -2
- package/components/navigation/content/navigation-content-link.component.d.ts +1 -1
- package/components/navigation/content/navigation-content.component.d.ts +1 -2
- package/components/navigation/local/navigation-local-link.component.d.ts +1 -1
- package/components/navigation/local/navigation-local.component.d.ts +1 -2
- package/components/popover/popover.component.d.ts +4 -4
- package/components/puff-list/puff-list-item.component.d.ts +1 -1
- package/components/puff-list/puff-list.component.d.ts +1 -2
- package/components/side-menu/side-menu.component.d.ts +2 -2
- package/components/side-panel/side-panel.component.d.ts +7 -6
- package/components/stepper/stepper.component.d.ts +2 -2
- package/components/tabs/tab-group.component.d.ts +3 -2
- package/components/tabs/tab.component.d.ts +2 -2
- package/components/tag/tag.component.d.ts +1 -1
- package/components/tooltip/tooltip.component.d.ts +2 -2
- package/eslint/rules/no-old-components.js +2 -2
- package/fesm2022/inera-ids-angular-common.mjs +8 -9
- package/fesm2022/inera-ids-angular-common.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-accordion.mjs +19 -28
- package/fesm2022/inera-ids-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-alert.mjs +8 -14
- package/fesm2022/inera-ids-angular-components-alert.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-box-link.mjs +8 -14
- package/fesm2022/inera-ids-angular-components-box-link.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs +15 -26
- package/fesm2022/inera-ids-angular-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-carousel.mjs +16 -23
- package/fesm2022/inera-ids-angular-components-carousel.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-control-button.mjs +24 -0
- package/fesm2022/inera-ids-angular-components-control-button.mjs.map +1 -0
- package/fesm2022/inera-ids-angular-components-dialog.mjs +10 -17
- package/fesm2022/inera-ids-angular-components-dialog.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-dropdown.mjs +4 -7
- package/fesm2022/inera-ids-angular-components-dropdown.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs +28 -35
- package/fesm2022/inera-ids-angular-components-footer-1177-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs +29 -35
- package/fesm2022/inera-ids-angular-components-footer-1177-pro.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-1177.mjs +29 -35
- package/fesm2022/inera-ids-angular-components-footer-1177.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs +28 -35
- package/fesm2022/inera-ids-angular-components-footer-inera-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs +30 -35
- package/fesm2022/inera-ids-angular-components-footer-inera-general.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-footer-inera.mjs +28 -35
- package/fesm2022/inera-ids-angular-components-footer-inera.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs +9 -15
- package/fesm2022/inera-ids-angular-components-form-checkbox-group.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-input.mjs +58 -34
- package/fesm2022/inera-ids-angular-components-form-input.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs +25 -0
- package/fesm2022/inera-ids-angular-components-form-label-subtitle.mjs.map +1 -0
- package/fesm2022/inera-ids-angular-components-form-radio-button.mjs +6 -9
- package/fesm2022/inera-ids-angular-components-form-radio-button.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-radio.mjs +11 -17
- package/fesm2022/inera-ids-angular-components-form-radio.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-range.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-range.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs +8 -11
- package/fesm2022/inera-ids-angular-components-form-select-multiple.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-select.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-select.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-textarea.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-textarea.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-form-time.mjs +2 -2
- package/fesm2022/inera-ids-angular-components-form-time.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-global-alert.mjs +11 -23
- package/fesm2022/inera-ids-angular-components-global-alert.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs +29 -59
- package/fesm2022/inera-ids-angular-components-header-1177-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs +64 -91
- package/fesm2022/inera-ids-angular-components-header-1177-pro.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-1177.mjs +74 -104
- package/fesm2022/inera-ids-angular-components-header-1177.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs +31 -67
- package/fesm2022/inera-ids-angular-components-header-inera-admin.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera-general.mjs +22 -49
- package/fesm2022/inera-ids-angular-components-header-inera-general.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-header-inera.mjs +23 -54
- package/fesm2022/inera-ids-angular-components-header-inera.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs +6 -12
- package/fesm2022/inera-ids-angular-components-mobile-menu-item.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-mobile-menu.mjs +13 -22
- package/fesm2022/inera-ids-angular-components-mobile-menu.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-navigation-content.mjs +7 -13
- package/fesm2022/inera-ids-angular-components-navigation-content.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-navigation-local.mjs +7 -13
- package/fesm2022/inera-ids-angular-components-navigation-local.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-popover.mjs +106 -61
- package/fesm2022/inera-ids-angular-components-popover.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-puff-list.mjs +16 -22
- package/fesm2022/inera-ids-angular-components-puff-list.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-side-menu.mjs +9 -12
- package/fesm2022/inera-ids-angular-components-side-menu.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-side-panel.mjs +91 -79
- package/fesm2022/inera-ids-angular-components-side-panel.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-stepper.mjs +5 -8
- package/fesm2022/inera-ids-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tabs.mjs +14 -22
- package/fesm2022/inera-ids-angular-components-tabs.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tag.mjs +5 -5
- package/fesm2022/inera-ids-angular-components-tag.mjs.map +1 -1
- package/fesm2022/inera-ids-angular-components-tooltip.mjs +18 -24
- package/fesm2022/inera-ids-angular-components-tooltip.mjs.map +1 -1
- package/package.json +110 -102
- /package/common/services/{use-id.service.ts.d.ts → use-id.service.d.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, EventEmitter, HostListener, Output,
|
|
2
|
+
import { Component, EventEmitter, HostListener, Output, contentChild, contentChildren, inject, DestroyRef, viewChild, booleanAttribute, Input } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
@@ -47,7 +47,7 @@ class IDDialogComponent {
|
|
|
47
47
|
this.hideDialog(event);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
trigger;
|
|
50
|
+
trigger = contentChild(IDDialogTriggerComponent);
|
|
51
51
|
dismissible = false;
|
|
52
52
|
srCloseText = '';
|
|
53
53
|
noFocusTrap = false;
|
|
@@ -60,13 +60,13 @@ class IDDialogComponent {
|
|
|
60
60
|
closed = new EventEmitter();
|
|
61
61
|
opened = new EventEmitter();
|
|
62
62
|
showChange = new EventEmitter();
|
|
63
|
-
closeComponents;
|
|
63
|
+
closeComponents = contentChildren(IDDialogCloseComponent, { descendants: true });
|
|
64
64
|
idService = inject(IDUseIdService);
|
|
65
65
|
destroyRef = inject(DestroyRef);
|
|
66
66
|
contentId = this.idService.generateId('dialog-content');
|
|
67
67
|
headingId = this.idService.generateId('dialog-heading');
|
|
68
68
|
ngAfterContentInit() {
|
|
69
|
-
this.closeComponents.forEach((closeComponent) => {
|
|
69
|
+
this.closeComponents().forEach((closeComponent) => {
|
|
70
70
|
closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
|
|
71
71
|
this.hideDialog(event);
|
|
72
72
|
});
|
|
@@ -75,8 +75,10 @@ class IDDialogComponent {
|
|
|
75
75
|
ngOnDestroy() {
|
|
76
76
|
this.reusableFocusTrap.destroy();
|
|
77
77
|
}
|
|
78
|
-
dialogContent;
|
|
79
|
-
reusableFocusTrap = useFocusTrap(() => this.dialogContent, {
|
|
78
|
+
dialogContent = viewChild.required('dialogContent');
|
|
79
|
+
reusableFocusTrap = useFocusTrap(() => this.dialogContent(), {
|
|
80
|
+
disabled: () => this.noFocusTrap,
|
|
81
|
+
});
|
|
80
82
|
toggleDialog(event) {
|
|
81
83
|
if (this.show) {
|
|
82
84
|
this.hideDialog(event);
|
|
@@ -109,17 +111,14 @@ class IDDialogComponent {
|
|
|
109
111
|
this.showChange.emit(this.show);
|
|
110
112
|
}
|
|
111
113
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDDialogComponent, isStandalone: true, selector: "id-dialog", inputs: { dismissible: ["dismissible", "dismissible", booleanAttribute], srCloseText: "srCloseText", noFocusTrap: ["noFocusTrap", "noFocusTrap", booleanAttribute], keepScrollbar: ["keepScrollbar", "keepScrollbar", booleanAttribute], noOverlay: ["noOverlay", "noOverlay", booleanAttribute], persistent: ["persistent", "persistent", booleanAttribute], show: ["show", "show", booleanAttribute], width: "width", maxWidth: "maxWidth" }, outputs: { closed: "closed", opened: "opened", showChange: "showChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, queries: [{ propertyName: "trigger", first: true, predicate: IDDialogTriggerComponent, descendants: true }, { propertyName: "closeComponents", predicate: IDDialogCloseComponent, descendants: true }], viewQueries: [{ propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true,
|
|
114
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDDialogComponent, isStandalone: true, selector: "id-dialog", inputs: { dismissible: ["dismissible", "dismissible", booleanAttribute], srCloseText: "srCloseText", noFocusTrap: ["noFocusTrap", "noFocusTrap", booleanAttribute], keepScrollbar: ["keepScrollbar", "keepScrollbar", booleanAttribute], noOverlay: ["noOverlay", "noOverlay", booleanAttribute], persistent: ["persistent", "persistent", booleanAttribute], show: ["show", "show", booleanAttribute], width: "width", maxWidth: "maxWidth" }, outputs: { closed: "closed", opened: "opened", showChange: "showChange" }, host: { listeners: { "document:keydown.escape": "onEsc($event)" } }, queries: [{ propertyName: "trigger", first: true, predicate: IDDialogTriggerComponent, descendants: true, isSignal: true }, { propertyName: "closeComponents", predicate: IDDialogCloseComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "dialogContent", first: true, predicate: ["dialogContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger() !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n class=\"ids-dialog__close-button\"\n [attr.aria-label]=\"srCloseText\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: IDClickOutsideDirective, selector: "[idClickOutside]", outputs: ["idClickOutside"] }] });
|
|
113
115
|
}
|
|
114
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDDialogComponent, decorators: [{
|
|
115
117
|
type: Component,
|
|
116
|
-
args: [{ selector: 'id-dialog', standalone: true, imports: [CommonModule, A11yModule, IDClickOutsideDirective], template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n
|
|
118
|
+
args: [{ selector: 'id-dialog', standalone: true, imports: [CommonModule, A11yModule, IDClickOutsideDirective], template: "<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger() !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n class=\"ids-dialog__close-button\"\n [attr.aria-label]=\"srCloseText\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n" }]
|
|
117
119
|
}], propDecorators: { onEsc: [{
|
|
118
120
|
type: HostListener,
|
|
119
121
|
args: ['document:keydown.escape', ['$event']]
|
|
120
|
-
}], trigger: [{
|
|
121
|
-
type: ContentChild,
|
|
122
|
-
args: [IDDialogTriggerComponent]
|
|
123
122
|
}], dismissible: [{
|
|
124
123
|
type: Input,
|
|
125
124
|
args: [{ transform: booleanAttribute }]
|
|
@@ -150,12 +149,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
150
149
|
type: Output
|
|
151
150
|
}], showChange: [{
|
|
152
151
|
type: Output
|
|
153
|
-
}], closeComponents: [{
|
|
154
|
-
type: ContentChildren,
|
|
155
|
-
args: [IDDialogCloseComponent, { descendants: true }]
|
|
156
|
-
}], dialogContent: [{
|
|
157
|
-
type: ViewChild,
|
|
158
|
-
args: ['dialogContent', { static: true }]
|
|
159
152
|
}] } });
|
|
160
153
|
|
|
161
154
|
class IDDialogHeaderComponent {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-dialog.mjs","sources":["../../../projects/ids-angular/components/dialog/dialog-trigger.component.ts","../../../projects/ids-angular/components/dialog/dialog-close.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.html","../../../projects/ids-angular/components/dialog/dialog-header.component.ts","../../../projects/ids-angular/components/dialog/dialog-content.component.ts","../../../projects/ids-angular/components/dialog/dialog-footer.component.ts","../../../projects/ids-angular/components/dialog/inera-ids-angular-components-dialog.ts"],"sourcesContent":["import { Component} from '@angular/core';\n\n@Component({\n selector: 'id-dialog-trigger',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogTriggerComponent {}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDDialogCloseComponent {\n @Output() closed = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.closed.emit(e);\n }\n}","import { AfterContentInit, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, EventEmitter, HostListener, Input, OnDestroy, Output, QueryList, ViewChild, booleanAttribute, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CommonModule } from '@angular/common';\nimport { IDDialogTriggerComponent } from './dialog-trigger.component';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { IDDialogCloseComponent } from './dialog-close.component';\n\n@Component({\n selector: 'id-dialog',\n templateUrl: './dialog.component.html',\n standalone: true,\n imports:[CommonModule, A11yModule, IDClickOutsideDirective],\n})\n\nexport class IDDialogComponent implements AfterContentInit, OnDestroy {\n\n @HostListener('document:keydown.escape', ['$event'])\n onEsc(event: Event) {\n if (this.show && !this.persistent) {\n this.hideDialog(event);\n }\n }\n\n @ContentChild(IDDialogTriggerComponent)\n trigger:IDDialogTriggerComponent;\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input() srCloseText: string = '';\n @Input({ transform: booleanAttribute }) noFocusTrap: boolean = false;\n @Input({ transform: booleanAttribute }) keepScrollbar: boolean = false;\n @Input({ transform: booleanAttribute }) noOverlay: boolean = false;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) show: boolean = false;\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @ContentChildren(IDDialogCloseComponent, {descendants: true})\n closeComponents: QueryList<IDDialogCloseComponent>;\n \n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('dialog-content');\n headingId = this.idService.generateId('dialog-heading');\n\n ngAfterContentInit(): void {\n this.closeComponents.forEach((closeComponent) => {\n closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event: Event) => {\n this.hideDialog(event);\n })\n });\n }\n\n ngOnDestroy(): void {\n this.reusableFocusTrap.destroy();\n }\n\n @ViewChild('dialogContent', { static: true })\n dialogContent!: ElementRef\n \n private reusableFocusTrap = useFocusTrap(\n () => this.dialogContent,\n { disabled: () => this.noFocusTrap }\n );\n\n protected toggleDialog(event: Event):void {\n if(this.show) {\n this.hideDialog(event);\n } else {\n this.showDialog(event);\n }\n }\n protected overlayClicked(event: Event):void {\n if (!this.persistent) {\n this.hideDialog(event);\n }\n }\n\n showDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.add('ids-hide-overflow');\n }\n this.show = true;\n this.opened.emit(event)\n this.showChange.emit(this.show);\n this.reusableFocusTrap.create();\n }\n\n hideDialog(event: Event):void {\n if(!this.noOverlay) {\n document.body.classList.remove('ids-hide-overflow');\n }\n this.reusableFocusTrap.destroy();\n this.show = false;\n this.closed.emit(event)\n this.showChange.emit(this.show);\n }\n\n}\n","<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n [attr.aria-label]=\"srCloseText\"\n class=\"ids-dialog__close-button\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-header',\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class IDDialogHeaderComponent {}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-content',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-footer',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-dialog__footer'\n }\n})\nexport class IDDialogFooterComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-dialog.mjs","sources":["../../../projects/ids-angular/components/dialog/dialog-trigger.component.ts","../../../projects/ids-angular/components/dialog/dialog-close.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.ts","../../../projects/ids-angular/components/dialog/dialog.component.html","../../../projects/ids-angular/components/dialog/dialog-header.component.ts","../../../projects/ids-angular/components/dialog/dialog-content.component.ts","../../../projects/ids-angular/components/dialog/dialog-footer.component.ts","../../../projects/ids-angular/components/dialog/inera-ids-angular-components-dialog.ts"],"sourcesContent":["import { Component} from '@angular/core';\n\n@Component({\n selector: 'id-dialog-trigger',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogTriggerComponent {}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-close',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class IDDialogCloseComponent {\n @Output() closed = new EventEmitter<Event>();\n\n @HostListener('click')\n onClick = (e:Event) => {\n this.closed.emit(e);\n }\n}","import {\n AfterContentInit,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n viewChild,\n booleanAttribute,\n inject,\n contentChild,\n contentChildren,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CommonModule } from '@angular/common';\nimport { IDDialogTriggerComponent } from './dialog-trigger.component';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { IDDialogCloseComponent } from './dialog-close.component';\n\n@Component({\n selector: 'id-dialog',\n templateUrl: './dialog.component.html',\n standalone: true,\n imports: [CommonModule, A11yModule, IDClickOutsideDirective],\n})\nexport class IDDialogComponent implements AfterContentInit, OnDestroy {\n @HostListener('document:keydown.escape', ['$event'])\n onEsc(event: Event) {\n if (this.show && !this.persistent) {\n this.hideDialog(event);\n }\n }\n\n trigger = contentChild(IDDialogTriggerComponent);\n\n @Input({ transform: booleanAttribute }) dismissible: boolean = false;\n @Input() srCloseText: string = '';\n @Input({ transform: booleanAttribute }) noFocusTrap: boolean = false;\n @Input({ transform: booleanAttribute }) keepScrollbar: boolean = false;\n @Input({ transform: booleanAttribute }) noOverlay: boolean = false;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) show: boolean = false;\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n\n @Output() closed: EventEmitter<Event> = new EventEmitter();\n @Output() opened: EventEmitter<Event> = new EventEmitter();\n @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n closeComponents = contentChildren(IDDialogCloseComponent, { descendants: true });\n\n private idService = inject(IDUseIdService);\n private destroyRef = inject(DestroyRef);\n contentId = this.idService.generateId('dialog-content');\n headingId = this.idService.generateId('dialog-heading');\n\n ngAfterContentInit(): void {\n this.closeComponents().forEach((closeComponent) => {\n closeComponent.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event: Event) => {\n this.hideDialog(event);\n });\n });\n }\n\n ngOnDestroy(): void {\n this.reusableFocusTrap.destroy();\n }\n\n dialogContent = viewChild.required<ElementRef>('dialogContent');\n\n private reusableFocusTrap = useFocusTrap(() => this.dialogContent(), {\n disabled: () => this.noFocusTrap,\n });\n\n protected toggleDialog(event: Event): void {\n if (this.show) {\n this.hideDialog(event);\n } else {\n this.showDialog(event);\n }\n }\n protected overlayClicked(event: Event): void {\n if (!this.persistent) {\n this.hideDialog(event);\n }\n }\n\n showDialog(event: Event): void {\n if (!this.noOverlay) {\n document.body.classList.add('ids-hide-overflow');\n }\n this.show = true;\n this.opened.emit(event);\n this.showChange.emit(this.show);\n this.reusableFocusTrap.create();\n }\n\n hideDialog(event: Event): void {\n if (!this.noOverlay) {\n document.body.classList.remove('ids-hide-overflow');\n }\n this.reusableFocusTrap.destroy();\n this.show = false;\n this.closed.emit(event);\n this.showChange.emit(this.show);\n }\n}\n","<ng-template #triggerContent>\n <span (click)=\"toggleDialog($event)\">\n <ng-content select=\"id-dialog-trigger\"></ng-content>\n </span>\n</ng-template>\n\n@if (trigger() !== undefined) {\n <ng-container *ngTemplateOutlet=\"triggerContent\"></ng-container>\n}\n\n<div\n class=\"ids-dialog-overlay\"\n aria-hidden=\"true\"\n [class.ids-dialog-overlay--hidden]=\"noOverlay || !show\"\n></div>\n<div\n idClickOutside\n (idClickOutside)=\"overlayClicked($event)\"\n class=\"ids-dialog ids-focus-trap\"\n [class.ids-dialog--hidden]=\"!show\"\n [class.ids-dialog--dismissible]=\"!!dismissible\"\n [style.width]=\"width\"\n [style.max-width]=\"maxWidth\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-labelledby]=\"headingId\"\n [attr.aria-describedby]=\"contentId\"\n>\n <div\n #dialogContent\n style=\"display: contents\"\n >\n @if (dismissible) {\n <div class=\"ids-dialog__dismissible\">\n <button\n class=\"ids-dialog__close-button\"\n [attr.aria-label]=\"srCloseText\"\n (click)=\"hideDialog($event)\"\n ></button>\n </div>\n }\n <div\n class=\"ids-dialog__body ids-dialog__body--scroll-area-focus\"\n tabindex=\"0\"\n >\n <div\n tabindex=\"-1\"\n cdkFocusInitial\n [attr.id]=\"headingId\"\n class=\"ids-dialog__body-headline\"\n >\n <ng-content select=\"id-dialog-header\"></ng-content>\n </div>\n <div\n [attr.id]=\"contentId\"\n class=\"ids-dialog__body-content\"\n >\n <ng-content select=\"id-dialog-content\"></ng-content>\n </div>\n <ng-content select=\"id-dialog-footer\"></ng-content>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-header',\n template: '<ng-content></ng-content>',\n standalone: true,\n})\nexport class IDDialogHeaderComponent {}\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-content',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class IDDialogContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dialog-footer',\n template: '<ng-content></ng-content>',\n standalone: true,\n host: {\n class: 'ids-dialog__footer'\n }\n})\nexport class IDDialogFooterComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, inject, ElementRef, booleanAttribute, HostListener,
|
|
2
|
+
import { EventEmitter, viewChild, inject, ElementRef, booleanAttribute, HostListener, Output, Input, Component, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@inera/ids-angular/common';
|
|
4
4
|
import { IDUseIdService, useFocusTrap, IDClickOutsideDirective } from '@inera/ids-angular/common';
|
|
5
5
|
|
|
@@ -13,10 +13,10 @@ class IDDropdownComponent {
|
|
|
13
13
|
position = 'right';
|
|
14
14
|
closed = new EventEmitter();
|
|
15
15
|
opened = new EventEmitter();
|
|
16
|
-
dropdownContent;
|
|
16
|
+
dropdownContent = viewChild('dropdownContent');
|
|
17
17
|
useId = inject(IDUseIdService);
|
|
18
18
|
host = inject(ElementRef);
|
|
19
|
-
focusTrap = useFocusTrap(() => this.dropdownContent, { disabled: () => !this.expanded });
|
|
19
|
+
focusTrap = useFocusTrap(() => this.dropdownContent(), { disabled: () => !this.expanded });
|
|
20
20
|
contentId = this.useId.generateId('dropdown');
|
|
21
21
|
triggerId = this.useId.generateId('dropdown-trigger');
|
|
22
22
|
trigger;
|
|
@@ -86,7 +86,7 @@ class IDDropdownComponent {
|
|
|
86
86
|
firstFocusable?.focus();
|
|
87
87
|
}
|
|
88
88
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDDropdownComponent, isStandalone: true, selector: "id-dropdown", inputs: { sBlock: ["sBlock", "sBlock", booleanAttribute], mBlock: ["mBlock", "mBlock", booleanAttribute], minWidth: "minWidth", maxHeight: "maxHeight", persistent: ["persistent", "persistent", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], position: "position" }, outputs: { closed: "closed", opened: "opened" }, host: { listeners: { "idClickOutside": "closeIfNotPersistent()", "window:keydown": "handleKeyDown($event)" }, properties: { "class": "baseAndPositionClasses", "class.ids-dropdown--s-block": "sBlock", "class.ids-dropdown--m-block": "mBlock" } }, viewQueries: [{ propertyName: "dropdownContent", first: true, predicate: ["dropdownContent"], descendants: true }], hostDirectives: [{ directive: i1.IDClickOutsideDirective, outputs: ["idClickOutside", "idClickOutside"] }], ngImport: i0, template: "<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n" });
|
|
89
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDDropdownComponent, isStandalone: true, selector: "id-dropdown", inputs: { sBlock: ["sBlock", "sBlock", booleanAttribute], mBlock: ["mBlock", "mBlock", booleanAttribute], minWidth: "minWidth", maxHeight: "maxHeight", persistent: ["persistent", "persistent", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], position: "position" }, outputs: { closed: "closed", opened: "opened" }, host: { listeners: { "idClickOutside": "closeIfNotPersistent()", "window:keydown": "handleKeyDown($event)" }, properties: { "class": "baseAndPositionClasses", "class.ids-dropdown--s-block": "sBlock", "class.ids-dropdown--m-block": "mBlock" } }, viewQueries: [{ propertyName: "dropdownContent", first: true, predicate: ["dropdownContent"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.IDClickOutsideDirective, outputs: ["idClickOutside", "idClickOutside"] }], ngImport: i0, template: "<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n" });
|
|
90
90
|
}
|
|
91
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDDropdownComponent, decorators: [{
|
|
92
92
|
type: Component,
|
|
@@ -123,9 +123,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
123
123
|
type: Output
|
|
124
124
|
}], opened: [{
|
|
125
125
|
type: Output
|
|
126
|
-
}], dropdownContent: [{
|
|
127
|
-
type: ViewChild,
|
|
128
|
-
args: ['dropdownContent']
|
|
129
126
|
}], handleKeyDown: [{
|
|
130
127
|
type: HostListener,
|
|
131
128
|
args: ['window:keydown', ['$event']]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-dropdown.mjs","sources":["../../../projects/ids-angular/components/dropdown/dropdown.component.ts","../../../projects/ids-angular/components/dropdown/dropdown.component.html","../../../projects/ids-angular/components/dropdown/dropdown-trigger.component.ts","../../../projects/ids-angular/components/dropdown/dropdown-item.directive.ts","../../../projects/ids-angular/components/dropdown/dropdown.module.ts","../../../projects/ids-angular/components/dropdown/inera-ids-angular-components-dropdown.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n booleanAttribute,\n inject,\n ViewChild,\n} from '@angular/core';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-dropdown',\n templateUrl: './dropdown.component.html',\n standalone: true,\n host: {\n '[class]': 'baseAndPositionClasses',\n '[class.ids-dropdown--s-block]': 'sBlock',\n '[class.ids-dropdown--m-block]': 'mBlock',\n '(idClickOutside)': 'closeIfNotPersistent()',\n },\n hostDirectives: [\n {\n directive: IDClickOutsideDirective,\n outputs: ['idClickOutside'],\n },\n ],\n})\nexport class IDDropdownComponent implements AfterViewInit, OnDestroy {\n @Input({ transform: booleanAttribute }) sBlock: boolean = false;\n @Input({ transform: booleanAttribute }) mBlock: boolean = false;\n @Input() minWidth?: string;\n @Input() maxHeight?: string;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() position: 'left' | 'right' = 'right';\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() opened: EventEmitter<void> = new EventEmitter();\n\n @ViewChild('dropdownContent') dropdownContent?: ElementRef<HTMLElement>;\n\n private useId = inject(IDUseIdService);\n private host = inject(ElementRef);\n private focusTrap = useFocusTrap(() => this.dropdownContent, { disabled: () => !this.expanded });\n protected contentId = this.useId.generateId('dropdown');\n protected triggerId = this.useId.generateId('dropdown-trigger');\n protected trigger: Element | null;\n\n ngAfterViewInit() {\n this.setupTrigger();\n this.trigger?.setAttribute('id', this.triggerId);\n }\n\n ngOnDestroy(): void {\n if (this.trigger) {\n this.trigger.removeEventListener('click', this.toggleDropdown);\n }\n this.focusTrap.destroy();\n }\n\n @HostListener('window:keydown', ['$event'])\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.expanded) {\n this.closeIfNotPersistent();\n }\n }\n\n closeIfNotPersistent(): void {\n if (!this.persistent) {\n this.hasClosed();\n }\n }\n\n setupTrigger(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n this.trigger = hostEl.querySelector('id-dropdown-trigger > *');\n if (this.trigger) {\n this.trigger.addEventListener('click', this.toggleDropdown);\n this.trigger.setAttribute('aria-controls', this.contentId);\n this.trigger.setAttribute('aria-haspopup', 'dialog');\n this.trigger.setAttribute('aria-expanded', `${this.expanded}`);\n }\n }\n\n toggleDropdown = () => {\n if (this.expanded) {\n this.hasClosed();\n this.trigger?.removeAttribute('aria-expanded');\n } else {\n this.hasOpened();\n this.trigger?.setAttribute('aria-expanded', 'true');\n }\n };\n\n get baseAndPositionClasses(): string {\n const dropdownClass = 'ids-dropdown';\n const positionClass = `${dropdownClass}--position-${this.position}`;\n return `${dropdownClass} ${positionClass}`;\n }\n\n hasClosed() {\n this.expanded = false;\n this.trigger?.setAttribute('aria-expanded', 'false');\n this.closed.emit();\n this.focusTrap.destroy();\n }\n\n hasOpened() {\n this.expanded = true;\n this.trigger?.setAttribute('aria-expanded', 'true');\n this.opened.emit();\n this.focusTrap.create();\n\n setTimeout(() => {\n this.focusFirstElement();\n });\n }\n\n private focusFirstElement(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n const firstFocusable = hostEl.querySelector<HTMLElement>('[idDropdownItem]');\n firstFocusable?.focus();\n }\n}\n","<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dropdown-trigger',\n template: `\n <ng-content></ng-content>\n `,\n standalone: true,\n})\nexport class IDDropdownTriggerComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[idDropdownItem]',\n standalone: true,\n host: {\n class: 'ids-dropdown-content__link',\n },\n})\nexport class IDDropdownItemDirective {}\n","import { NgModule } from '@angular/core';\nimport { IDDropdownItemDirective } from './dropdown-item.directive';\nimport { IDDropdownComponent } from './dropdown.component';\nimport { IDDropdownTriggerComponent } from './dropdown-trigger.component';\n\n\n@NgModule({\n imports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n exports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n})\nexport class IDDropdownModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-dropdown.mjs","sources":["../../../projects/ids-angular/components/dropdown/dropdown.component.ts","../../../projects/ids-angular/components/dropdown/dropdown.component.html","../../../projects/ids-angular/components/dropdown/dropdown-trigger.component.ts","../../../projects/ids-angular/components/dropdown/dropdown-item.directive.ts","../../../projects/ids-angular/components/dropdown/dropdown.module.ts","../../../projects/ids-angular/components/dropdown/inera-ids-angular-components-dropdown.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n booleanAttribute,\n inject,\n viewChild,\n} from '@angular/core';\nimport { IDClickOutsideDirective, IDUseIdService, useFocusTrap } from '@inera/ids-angular/common';\n\n@Component({\n selector: 'id-dropdown',\n templateUrl: './dropdown.component.html',\n standalone: true,\n host: {\n '[class]': 'baseAndPositionClasses',\n '[class.ids-dropdown--s-block]': 'sBlock',\n '[class.ids-dropdown--m-block]': 'mBlock',\n '(idClickOutside)': 'closeIfNotPersistent()',\n },\n hostDirectives: [\n {\n directive: IDClickOutsideDirective,\n outputs: ['idClickOutside'],\n },\n ],\n})\nexport class IDDropdownComponent implements AfterViewInit, OnDestroy {\n @Input({ transform: booleanAttribute }) sBlock: boolean = false;\n @Input({ transform: booleanAttribute }) mBlock: boolean = false;\n @Input() minWidth?: string;\n @Input() maxHeight?: string;\n @Input({ transform: booleanAttribute }) persistent: boolean = false;\n @Input({ transform: booleanAttribute }) expanded: boolean = false;\n @Input() position: 'left' | 'right' = 'right';\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() opened: EventEmitter<void> = new EventEmitter();\n\n dropdownContent = viewChild<ElementRef<HTMLElement>>('dropdownContent');\n\n private useId = inject(IDUseIdService);\n private host = inject(ElementRef);\n private focusTrap = useFocusTrap(() => this.dropdownContent(), { disabled: () => !this.expanded });\n protected contentId = this.useId.generateId('dropdown');\n protected triggerId = this.useId.generateId('dropdown-trigger');\n protected trigger: Element | null;\n\n ngAfterViewInit() {\n this.setupTrigger();\n this.trigger?.setAttribute('id', this.triggerId);\n }\n\n ngOnDestroy(): void {\n if (this.trigger) {\n this.trigger.removeEventListener('click', this.toggleDropdown);\n }\n this.focusTrap.destroy();\n }\n\n @HostListener('window:keydown', ['$event'])\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.expanded) {\n this.closeIfNotPersistent();\n }\n }\n\n closeIfNotPersistent(): void {\n if (!this.persistent) {\n this.hasClosed();\n }\n }\n\n setupTrigger(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n this.trigger = hostEl.querySelector('id-dropdown-trigger > *');\n if (this.trigger) {\n this.trigger.addEventListener('click', this.toggleDropdown);\n this.trigger.setAttribute('aria-controls', this.contentId);\n this.trigger.setAttribute('aria-haspopup', 'dialog');\n this.trigger.setAttribute('aria-expanded', `${this.expanded}`);\n }\n }\n\n toggleDropdown = () => {\n if (this.expanded) {\n this.hasClosed();\n this.trigger?.removeAttribute('aria-expanded');\n } else {\n this.hasOpened();\n this.trigger?.setAttribute('aria-expanded', 'true');\n }\n };\n\n get baseAndPositionClasses(): string {\n const dropdownClass = 'ids-dropdown';\n const positionClass = `${dropdownClass}--position-${this.position}`;\n return `${dropdownClass} ${positionClass}`;\n }\n\n hasClosed() {\n this.expanded = false;\n this.trigger?.setAttribute('aria-expanded', 'false');\n this.closed.emit();\n this.focusTrap.destroy();\n }\n\n hasOpened() {\n this.expanded = true;\n this.trigger?.setAttribute('aria-expanded', 'true');\n this.opened.emit();\n this.focusTrap.create();\n\n setTimeout(() => {\n this.focusFirstElement();\n });\n }\n\n private focusFirstElement(): void {\n const hostEl: HTMLElement = this.host.nativeElement;\n const firstFocusable = hostEl.querySelector<HTMLElement>('[idDropdownItem]');\n firstFocusable?.focus();\n }\n}\n","<ng-content select=\"id-dropdown-trigger\"></ng-content>\n@if (expanded) {\n <div\n #dropdownContent\n class=\"ids-dropdown-content\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.ids-dropdown-content--position-right]=\"position === 'right'\"\n [class.ids-dropdown-content--position-left]=\"position === 'left'\"\n [class.ids-dropdown-content--sblock]=\"sBlock\"\n [class.ids-dropdown-content--mblock]=\"mBlock\"\n [class.ids-dropdown-content--show]=\"expanded\"\n [class.ids-dropdown-content--scrollable]=\"!!maxHeight\"\n [attr.aria-labelledby]=\"triggerId\"\n [style.min-width]=\"minWidth\"\n >\n <div\n class=\"ids-dropdown-content__scroll-area\"\n role=\"presentation\"\n [style.max-height]=\"maxHeight\"\n [attr.tabindex]=\"maxHeight ? 0 : -1\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-dropdown-trigger',\n template: `\n <ng-content></ng-content>\n `,\n standalone: true,\n})\nexport class IDDropdownTriggerComponent {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[idDropdownItem]',\n standalone: true,\n host: {\n class: 'ids-dropdown-content__link',\n },\n})\nexport class IDDropdownItemDirective {}\n","import { NgModule } from '@angular/core';\nimport { IDDropdownItemDirective } from './dropdown-item.directive';\nimport { IDDropdownComponent } from './dropdown.component';\nimport { IDDropdownTriggerComponent } from './dropdown-trigger.component';\n\n\n@NgModule({\n imports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n exports: [\n IDDropdownItemDirective,\n IDDropdownComponent,\n IDDropdownTriggerComponent,\n ],\n})\nexport class IDDropdownModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,26 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, DestroyRef,
|
|
2
|
+
import { contentChildren, inject, DestroyRef, ChangeDetectorRef, afterNextRender, HostBinding, Component, effect, Input, NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
4
|
import { IDLinkDirective } from '@inera/ids-angular/components/link';
|
|
6
5
|
|
|
7
6
|
class IDFooter1177AdminColComponent {
|
|
8
|
-
links;
|
|
7
|
+
links = contentChildren(IDLinkDirective);
|
|
9
8
|
columnClass;
|
|
10
9
|
get hostClass() {
|
|
11
|
-
return this.columnClass
|
|
10
|
+
return `ids-footer-1177-admin__link-col ${this.columnClass || ''}`;
|
|
12
11
|
}
|
|
13
12
|
destroyRef = inject(DestroyRef);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
link
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.updateColumnClasses();
|
|
22
|
-
this.links.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
23
|
-
this.updateColumnClasses();
|
|
13
|
+
cdr = inject(ChangeDetectorRef);
|
|
14
|
+
constructor() {
|
|
15
|
+
afterNextRender(() => {
|
|
16
|
+
this.links().forEach((link) => {
|
|
17
|
+
link.footer = true;
|
|
18
|
+
link.block = true;
|
|
19
|
+
});
|
|
24
20
|
});
|
|
25
21
|
}
|
|
26
22
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDFooter1177AdminColComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
23
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: IDFooter1177AdminColComponent, isStandalone: true, selector: "id-footer-1177-admin-col", host: { properties: { "class": "this.hostClass" }, classAttribute: "ids-footer-1177-admin__link-col" }, queries: [{ propertyName: "links", predicate: IDLinkDirective, isSignal: true }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
28
24
|
}
|
|
29
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDFooter1177AdminColComponent, decorators: [{
|
|
30
26
|
type: Component,
|
|
@@ -36,47 +32,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
36
32
|
class: 'ids-footer-1177-admin__link-col'
|
|
37
33
|
}
|
|
38
34
|
}]
|
|
39
|
-
}], propDecorators: {
|
|
40
|
-
type: ContentChildren,
|
|
41
|
-
args: [IDLinkDirective]
|
|
42
|
-
}], hostClass: [{
|
|
35
|
+
}], ctorParameters: () => [], propDecorators: { hostClass: [{
|
|
43
36
|
type: HostBinding,
|
|
44
37
|
args: ['class']
|
|
45
38
|
}] } });
|
|
46
39
|
|
|
47
40
|
class IDFooter1177AdminComponent {
|
|
48
41
|
headline;
|
|
49
|
-
cols;
|
|
42
|
+
cols = contentChildren(IDFooter1177AdminColComponent);
|
|
50
43
|
destroyRef = inject(DestroyRef);
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
constructor() {
|
|
45
|
+
effect(() => {
|
|
46
|
+
const cols = this.cols();
|
|
47
|
+
this.updateColumnClasses(cols);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
ngAfterContentInit() {
|
|
51
|
+
this.updateColumnClasses(this.cols());
|
|
52
|
+
}
|
|
53
|
+
updateColumnClasses(cols) {
|
|
54
|
+
const colLength = cols.length;
|
|
53
55
|
const classMap = {
|
|
54
56
|
1: "ids-footer-1177-admin__link-col--100",
|
|
55
57
|
2: "ids-footer-1177-admin__link-col--50",
|
|
56
58
|
3: "ids-footer-1177-admin__link-col--33"
|
|
57
59
|
};
|
|
58
60
|
const newClass = classMap[colLength] || classMap[1];
|
|
59
|
-
|
|
61
|
+
cols.forEach((col) => {
|
|
60
62
|
col.columnClass = newClass;
|
|
61
63
|
});
|
|
62
64
|
}
|
|
63
|
-
ngAfterContentInit() {
|
|
64
|
-
this.updateColumnClasses();
|
|
65
|
-
this.cols?.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
66
|
-
this.updateColumnClasses();
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
65
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDFooter1177AdminComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDFooter1177AdminComponent, isStandalone: true, selector: "id-footer-1177-admin", inputs: { headline: "headline" }, queries: [{ propertyName: "cols", predicate: IDFooter1177AdminColComponent }], ngImport: i0, template: "\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols.length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> p\u00E5 uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>", dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
66
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: IDFooter1177AdminComponent, isStandalone: true, selector: "id-footer-1177-admin", inputs: { headline: "headline" }, queries: [{ propertyName: "cols", predicate: IDFooter1177AdminColComponent, isSignal: true }], ngImport: i0, template: "\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols().length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> p\u00E5 uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>", dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
71
67
|
}
|
|
72
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IDFooter1177AdminComponent, decorators: [{
|
|
73
69
|
type: Component,
|
|
74
|
-
args: [{ selector: 'id-footer-1177-admin', standalone: true, imports: [CommonModule], template: "\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols.length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> p\u00E5 uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>" }]
|
|
75
|
-
}], propDecorators: { headline: [{
|
|
70
|
+
args: [{ selector: 'id-footer-1177-admin', standalone: true, imports: [CommonModule], template: "\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols().length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> p\u00E5 uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>" }]
|
|
71
|
+
}], ctorParameters: () => [], propDecorators: { headline: [{
|
|
76
72
|
type: Input
|
|
77
|
-
}], cols: [{
|
|
78
|
-
type: ContentChildren,
|
|
79
|
-
args: [IDFooter1177AdminColComponent]
|
|
80
73
|
}] } });
|
|
81
74
|
|
|
82
75
|
class IDFooter1177AdminTextComponent {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inera-ids-angular-components-footer-1177-admin.mjs","sources":["../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-col.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.component.html","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-text.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-right.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-left.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-mobile.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.module.ts","../../../projects/ids-angular/components/footer-1177-admin/inera-ids-angular-components-footer-1177-admin.ts"],"sourcesContent":["import { Component, ContentChildren, DestroyRef, HostBinding, inject, QueryList } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IDLinkDirective } from '@inera/ids-angular/components/link';\n\n@Component({\n selector: 'id-footer-1177-admin-col',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__link-col'\n }\n})\nexport class IDFooter1177AdminColComponent {\n @ContentChildren(IDLinkDirective) links: QueryList<IDLinkDirective>;\n\n columnClass: string;\n\n @HostBinding('class')\n get hostClass() {\n return this.columnClass;\n }\n\n private destroyRef = inject(DestroyRef);\n\n private updateColumnClasses(): void {\n this.links.forEach((link) => {\n link.footer = true;\n link.block = true;\n })\n }\n\n ngAfterContentInit(): void {\n this.updateColumnClasses();\n this.links.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.updateColumnClasses();\n });\n }\n}","import { CommonModule } from '@angular/common';\nimport { Component, ContentChildren, DestroyRef, inject, Input, QueryList } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IDFooter1177AdminColComponent } from './footer-1177-admin-col.component';\n\n@Component({\n selector: 'id-footer-1177-admin',\n templateUrl: './footer-1177-admin.component.html',\n standalone: true,\n imports: [CommonModule],\n})\nexport class IDFooter1177AdminComponent {\n @Input() headline?: string;\n\n @ContentChildren(IDFooter1177AdminColComponent) \n cols!: QueryList<IDFooter1177AdminColComponent>;\n\n private destroyRef = inject(DestroyRef);\n\n private updateColumnClasses(): void {\n const colLength = this.cols?.length || 0;\n \n const classMap: Record<number, string> = {\n 1: \"ids-footer-1177-admin__link-col--100\",\n 2: \"ids-footer-1177-admin__link-col--50\",\n 3: \"ids-footer-1177-admin__link-col--33\"\n };\n\n const newClass = classMap[colLength] || classMap[1];\n\n this.cols?.forEach((col) => {\n col.columnClass = newClass;\n });\n }\n\n ngAfterContentInit(): void {\n this.updateColumnClasses();\n this.cols?.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.updateColumnClasses();\n });\n }\n \n}\n","\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols.length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> på uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-text',\n standalone: true,\n template: `\n <ng-content></ng-content>\n <div class=\"ids-footer-1177-admin__darkmode-toggle\">\n <ng-content select=\"id-darkmode-toggle\"></ng-content>\n </div>\n `,\n host: {\n class: 'ids-footer-1177-admin__text',\n },\n})\nexport class IDFooter1177AdminTextComponent {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-right',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__sub-footer-right'\n }\n})\nexport class IDFooter1177AdminSubFooterRightComponent {\n\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-left',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__sub-footer-left'\n }\n})\nexport class IDFooter1177AdminSubFooterLeftComponent {\n\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-mobile',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__mobile-links'\n }\n})\nexport class IDFooter1177AdminSubFooterMobileComponent {\n\n}","import { NgModule } from '@angular/core';\n\nimport { IDFooter1177AdminComponent } from './footer-1177-admin.component';\nimport { IDFooter1177AdminTextComponent } from './footer-1177-admin-text.component';\nimport { IDFooter1177AdminColComponent } from './footer-1177-admin-col.component';\nimport { IDFooter1177AdminSubFooterRightComponent } from './footer-1177-admin-sub-footer-right.component';\nimport { IDFooter1177AdminSubFooterLeftComponent } from './footer-1177-admin-sub-footer-left.component';\nimport { IDFooter1177AdminSubFooterMobileComponent } from './footer-1177-admin-sub-footer-mobile.component';\n\n@NgModule({\n imports: [\n IDFooter1177AdminComponent,\n IDFooter1177AdminTextComponent,\n IDFooter1177AdminColComponent,\n IDFooter1177AdminSubFooterRightComponent,\n IDFooter1177AdminSubFooterLeftComponent,\n IDFooter1177AdminSubFooterMobileComponent,\n ],\n exports: [\n IDFooter1177AdminComponent,\n IDFooter1177AdminTextComponent,\n IDFooter1177AdminColComponent,\n IDFooter1177AdminSubFooterRightComponent,\n IDFooter1177AdminSubFooterLeftComponent,\n IDFooter1177AdminSubFooterMobileComponent,\n ],\n})\nexport class IDFooter1177AdminModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAYa,6BAA6B,CAAA;AACN,IAAA,KAAK;AAEvC,IAAA,WAAW;AAEX,IAAA,IACI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,WAAW;IACzB;AAEQ,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAE/B,mBAAmB,GAAA;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC1B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACnB,QAAA,CAAC,CAAC;IACJ;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,mBAAmB,EAAE;AAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAC1E,IAAI,CAAC,mBAAmB,EAAE;AAC5B,QAAA,CAAC,CAAC;IACJ;wGAxBW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,cAAA,EAAA,iCAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EACvB,eAAe,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EANtB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAK1B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBARzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;8BAEmC,KAAK,EAAA,CAAA;sBAAtC,eAAe;uBAAC,eAAe;gBAK5B,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,OAAO;;;MCNT,0BAA0B,CAAA;AAC5B,IAAA,QAAQ;AAGjB,IAAA,IAAI;AAEI,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAE/B,mBAAmB,GAAA;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;AAExC,QAAA,MAAM,QAAQ,GAA2B;AACvC,YAAA,CAAC,EAAE,sCAAsC;AACzC,YAAA,CAAC,EAAE,qCAAqC;AACxC,YAAA,CAAC,EAAE;SACJ;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,GAAG,KAAI;AACzB,YAAA,GAAG,CAAC,WAAW,GAAG,QAAQ;AAC5B,QAAA,CAAC,CAAC;IACJ;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,mBAAmB,EAAE;AAC1B,QAAA,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAC1E,IAAI,CAAC,mBAAmB,EAAE;AAC5B,QAAA,CAAC,CAAC;IACJ;wGA7BW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAGpB,6BAA6B,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdhD,0/DAgDS,2CDvCG,YAAY,EAAA,CAAA,EAAA,CAAA;;4FAEX,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,UAAA,EAEpB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,0/DAAA,EAAA;8BAGd,QAAQ,EAAA,CAAA;sBAAhB;gBAGD,IAAI,EAAA,CAAA;sBADH,eAAe;uBAAC,6BAA6B;;;MECnC,8BAA8B,CAAA;wGAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA9B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,6BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAV/B;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAKU,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAb1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE;;;;;AAKT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,6BAA6B;AACrC,qBAAA;AACF,iBAAA;;;MCJY,wCAAwC,CAAA;wGAAxC,wCAAwC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wCAAwC,sKALzC,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAK1B,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBARpD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uCAAuC;AACjD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;;;MCCY,uCAAuC,CAAA;wGAAvC,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uCAAuC,oKALxC,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAK1B,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBARnD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sCAAsC;AAChD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;;;MCCY,yCAAyC,CAAA;wGAAzC,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yCAAyC,mKAL1C,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAK1B,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBARrD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wCAAwC;AAClD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;;;MCkBY,uBAAuB,CAAA;wGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAhBhC,0BAA0B;YAC1B,8BAA8B;YAC9B,6BAA6B;YAC7B,wCAAwC;YACxC,uCAAuC;AACvC,YAAA,yCAAyC,aAGzC,0BAA0B;YAC1B,8BAA8B;YAC9B,6BAA6B;YAC7B,wCAAwC;YACxC,uCAAuC;YACvC,yCAAyC,CAAA,EAAA,CAAA;AAGhC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAhBhC,0BAA0B,CAAA,EAAA,CAAA;;4FAgBjB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAlBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,8BAA8B;wBAC9B,6BAA6B;wBAC7B,wCAAwC;wBACxC,uCAAuC;wBACvC,yCAAyC;AAC1C,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,8BAA8B;wBAC9B,6BAA6B;wBAC7B,wCAAwC;wBACxC,uCAAuC;wBACvC,yCAAyC;AAC1C,qBAAA;AACF,iBAAA;;;AC1BD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"inera-ids-angular-components-footer-1177-admin.mjs","sources":["../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-col.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.component.html","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-text.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-right.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-left.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin-sub-footer-mobile.component.ts","../../../projects/ids-angular/components/footer-1177-admin/footer-1177-admin.module.ts","../../../projects/ids-angular/components/footer-1177-admin/inera-ids-angular-components-footer-1177-admin.ts"],"sourcesContent":["import { afterNextRender, ChangeDetectorRef, Component, contentChildren, DestroyRef, HostBinding, inject } from '@angular/core';\nimport { IDLinkDirective } from '@inera/ids-angular/components/link';\n\n@Component({\n selector: 'id-footer-1177-admin-col',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__link-col'\n }\n})\nexport class IDFooter1177AdminColComponent {\n links = contentChildren(IDLinkDirective);\n\n columnClass: string;\n\n @HostBinding('class')\n get hostClass() {\n return `ids-footer-1177-admin__link-col ${this.columnClass || ''}`;\n }\n\n private destroyRef = inject(DestroyRef);\n cdr = inject(ChangeDetectorRef);\n\n constructor() {\n afterNextRender(() => {\n this.links().forEach((link) => {\n link.footer = true;\n link.block = true;\n });\n });\n }\n}","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectorRef, Component, contentChildren, DestroyRef, effect, inject, Input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IDFooter1177AdminColComponent } from './footer-1177-admin-col.component';\n\n@Component({\n selector: 'id-footer-1177-admin',\n templateUrl: './footer-1177-admin.component.html',\n standalone: true,\n imports: [CommonModule],\n})\nexport class IDFooter1177AdminComponent implements AfterContentInit {\n @Input() headline?: string;\n\n cols = contentChildren(IDFooter1177AdminColComponent);\n\n private destroyRef = inject(DestroyRef);\n\n constructor() {\n effect(() => {\n const cols = this.cols();\n this.updateColumnClasses(cols);\n });\n }\n\n ngAfterContentInit(): void {\n this.updateColumnClasses(this.cols());\n }\n\n private updateColumnClasses(cols: readonly IDFooter1177AdminColComponent[]) {\n const colLength = cols.length;\n \n const classMap: Record<number, string> = {\n 1: \"ids-footer-1177-admin__link-col--100\",\n 2: \"ids-footer-1177-admin__link-col--50\",\n 3: \"ids-footer-1177-admin__link-col--33\"\n };\n\n const newClass = classMap[colLength] || classMap[1];\n\n cols.forEach((col) => {\n col.columnClass = newClass;\n });\n }\n \n}\n","\n<footer class=\"ids-footer-1177-admin\">\n <div class=\"ids-footer-1177-admin__inner-wrapper\">\n <div class=\"ids-footer-1177-admin__inner\">\n <div class=\"ids-footer-1177-admin__headline-wrapper\">\n <h1 class=\"ids-footer-1177-admin__headline\">\n {{headline}}\n </h1>\n </div>\n\n <div class=\"ids-footer-1177-admin__content\">\n <ng-content select=\"id-footer-1177-admin-text\"></ng-content>\n @if(cols().length > 0) {\n <div class=\"ids-footer-1177-admin__cols\">\n <ng-content select=\"id-footer-1177-admin-col\"></ng-content>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__mobile-menu\">\n <ng-content select=\"id-mobile-menu\"></ng-content>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer\">\n <div class=\"ids-footer-1177-admin__sub-footer-container\">\n <div class=\"ids-footer-1177-admin__sub-footer-inner\">\n <ng-content select=\"id-footer-1177-admin-sub-footer-left\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-right\"></ng-content>\n <ng-content select=\"id-footer-1177-admin-sub-footer-mobile\"></ng-content>\n </div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline-wrapper\">\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-logo\"></div>\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-headline\">{{headline}}</div>\n </div>\n\n <div class=\"ids-footer-1177-admin__sub-footer-mobile-text\">\n <p> 1177 drivs av <a href=\"https://www.inera.se\"\n class=\"ids-link ids-link--icon ids-link--small ids-link--underlined ids-link--color-3\">\n <span>Inera AB<span class=\"ids-icon-external-link-small ids-icon--text-end\"></span></span>\n </a> på uppdrag av Sveriges regioner</p>\n </div>\n </div>\n </div>\n</footer>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-text',\n standalone: true,\n template: `\n <ng-content></ng-content>\n <div class=\"ids-footer-1177-admin__darkmode-toggle\">\n <ng-content select=\"id-darkmode-toggle\"></ng-content>\n </div>\n `,\n host: {\n class: 'ids-footer-1177-admin__text',\n },\n})\nexport class IDFooter1177AdminTextComponent {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-right',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__sub-footer-right'\n }\n})\nexport class IDFooter1177AdminSubFooterRightComponent {\n\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-left',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__sub-footer-left'\n }\n})\nexport class IDFooter1177AdminSubFooterLeftComponent {\n\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'id-footer-1177-admin-sub-footer-mobile',\n standalone: true,\n template: `<ng-content></ng-content>`,\n host: {\n class: 'ids-footer-1177-admin__mobile-links'\n }\n})\nexport class IDFooter1177AdminSubFooterMobileComponent {\n\n}","import { NgModule } from '@angular/core';\n\nimport { IDFooter1177AdminComponent } from './footer-1177-admin.component';\nimport { IDFooter1177AdminTextComponent } from './footer-1177-admin-text.component';\nimport { IDFooter1177AdminColComponent } from './footer-1177-admin-col.component';\nimport { IDFooter1177AdminSubFooterRightComponent } from './footer-1177-admin-sub-footer-right.component';\nimport { IDFooter1177AdminSubFooterLeftComponent } from './footer-1177-admin-sub-footer-left.component';\nimport { IDFooter1177AdminSubFooterMobileComponent } from './footer-1177-admin-sub-footer-mobile.component';\n\n@NgModule({\n imports: [\n IDFooter1177AdminComponent,\n IDFooter1177AdminTextComponent,\n IDFooter1177AdminColComponent,\n IDFooter1177AdminSubFooterRightComponent,\n IDFooter1177AdminSubFooterLeftComponent,\n IDFooter1177AdminSubFooterMobileComponent,\n ],\n exports: [\n IDFooter1177AdminComponent,\n IDFooter1177AdminTextComponent,\n IDFooter1177AdminColComponent,\n IDFooter1177AdminSubFooterRightComponent,\n IDFooter1177AdminSubFooterLeftComponent,\n IDFooter1177AdminSubFooterMobileComponent,\n ],\n})\nexport class IDFooter1177AdminModule {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|