@kirbydesign/designsystem 11.4.0 → 11.4.1
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/action-group/index.d.ts.map +1 -1
- package/badge/index.d.ts.map +1 -1
- package/button/index.d.ts.map +1 -1
- package/calendar/index.d.ts.map +1 -1
- package/card/index.d.ts.map +1 -1
- package/chart/index.d.ts.map +1 -1
- package/config/index.d.ts.map +1 -1
- package/dropdown/index.d.ts +2 -2
- package/dropdown/index.d.ts.map +1 -1
- package/fesm2022/kirbydesign-designsystem-accordion.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-avatar.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-badge.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-button.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-calendar.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-card.mjs +16 -16
- package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
- package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-checkbox.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-config.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-data-table.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-dropdown.mjs +16 -14
- package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-empty-state.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-flag.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-form-field.mjs +28 -28
- package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-header.mjs +19 -19
- package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
- package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-icon.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-list.mjs +42 -42
- package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +6 -6
- package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-menu.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-modal.mjs +42 -42
- package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-page.mjs +40 -40
- package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-popover.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +6 -6
- package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-radio.mjs +15 -15
- package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-range.mjs +8 -5
- package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-section-header.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared.mjs +18 -18
- package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-slide-button.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-slide.mjs +13 -13
- package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-tabs.mjs +13 -13
- package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-base.mjs +286 -286
- package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
- package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +8 -7
- package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toggle.mjs +5 -4
- package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem.mjs +32 -29
- package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
- package/flag/index.d.ts.map +1 -1
- package/form-field/index.d.ts.map +1 -1
- package/icon/index.d.ts.map +1 -1
- package/index.d.ts +3 -1
- package/index.d.ts.map +1 -1
- package/item-sliding/index.d.ts.map +1 -1
- package/list/index.d.ts.map +1 -1
- package/modal/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/page/index.d.ts.map +1 -1
- package/radio/index.d.ts +2 -2
- package/radio/index.d.ts.map +1 -1
- package/range/index.d.ts +3 -2
- package/range/index.d.ts.map +1 -1
- package/shared/floating/index.d.ts.map +1 -1
- package/shared/index.d.ts.map +1 -1
- package/slide/index.d.ts.map +1 -1
- package/testing/index.d.ts.map +1 -1
- package/testing-base/index.d.ts.map +1 -1
- package/toast/index.d.ts.map +1 -1
- package/toggle/index.d.ts.map +1 -1
- package/toggle-button/index.d.ts.map +1 -1
- package/types/index.d.ts.map +1 -1
|
@@ -9,34 +9,34 @@ import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
|
9
9
|
import { FitHeadingDirective } from '@kirbydesign/designsystem/shared';
|
|
10
10
|
|
|
11
11
|
class HeaderActionsDirective {
|
|
12
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
13
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
12
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
13
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: HeaderActionsDirective, isStandalone: true, selector: "[kirbyHeaderActions]", ngImport: i0 }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderActionsDirective, decorators: [{
|
|
16
16
|
type: Directive,
|
|
17
17
|
args: [{ selector: '[kirbyHeaderActions]' }]
|
|
18
18
|
}] });
|
|
19
19
|
class HeaderCustomSectionDirective {
|
|
20
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
21
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
20
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderCustomSectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: HeaderCustomSectionDirective, isStandalone: true, selector: "[kirbyHeaderCustomSection]", ngImport: i0 }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderCustomSectionDirective, decorators: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{ selector: '[kirbyHeaderCustomSection]' }]
|
|
26
26
|
}] });
|
|
27
27
|
class HeaderTitleActionIconDirective {
|
|
28
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
29
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
28
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderTitleActionIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: HeaderTitleActionIconDirective, isStandalone: true, selector: "[kirbyHeaderTitleActionIcon]", ngImport: i0 }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderTitleActionIconDirective, decorators: [{
|
|
32
32
|
type: Directive,
|
|
33
33
|
args: [{ selector: '[kirbyHeaderTitleActionIcon]' }]
|
|
34
34
|
}] });
|
|
35
35
|
class HeaderCustomFlagDirective {
|
|
36
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
37
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
36
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderCustomFlagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
37
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: HeaderCustomFlagDirective, isStandalone: true, selector: "[kirbyHeaderCustomFlag]", ngImport: i0 }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderCustomFlagDirective, decorators: [{
|
|
40
40
|
type: Directive,
|
|
41
41
|
args: [{ selector: '[kirbyHeaderCustomFlag]' }]
|
|
42
42
|
}] });
|
|
@@ -89,10 +89,10 @@ class HeaderComponent {
|
|
|
89
89
|
this.title$.next(changes.title.currentValue);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
93
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
92
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
93
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HeaderComponent, isStandalone: true, selector: "kirby-header", inputs: { centered: "centered", titleMaxLines: "titleMaxLines", emphasizeActions: "emphasizeActions", title: "title", value: "value", valueUnit: "valueUnit", subtitle1: "subtitle1", subtitle2: "subtitle2", hasInteractiveTitle: "hasInteractiveTitle" }, outputs: { titleClick: "titleClick" }, host: { properties: { "class.centered": "this.centered" } }, queries: [{ propertyName: "avatar", first: true, predicate: AvatarComponent, descendants: true }, { propertyName: "progressCircle", first: true, predicate: ProgressCircleComponent, descendants: true }, { propertyName: "flag", first: true, predicate: FlagComponent, descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: HeaderActionsDirective, descendants: true, read: (TemplateRef) }, { propertyName: "customSectionTemplate", first: true, predicate: HeaderCustomSectionDirective, descendants: true, read: (TemplateRef) }, { propertyName: "customFlagTemplate", first: true, predicate: HeaderCustomFlagDirective, descendants: true, read: (TemplateRef) }, { propertyName: "titleActionIconTemplate", first: true, predicate: HeaderTitleActionIconDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "titleElement", first: true, predicate: ["titleElement"], descendants: true, read: ElementRef }, { propertyName: "actionsElement", first: true, predicate: ["actionsElement"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "@if (!!avatar || !!progressCircle) {\n <div class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n </div>\n}\n\n@if (!!flag || !!customFlagTemplate) {\n <div class=\"flag\">\n @if (!!flag) {\n <ng-content select=\"kirby-flag\"></ng-content>\n }\n <!-- Custom Content in Flag section: -->\n @if (!!customFlagTemplate) {\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n }\n </div>\n}\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n @if (!!title && !!value) {\n <span\n #titleElement\n class=\"title kirby-text-medium\"\n [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n @if (!!title && !value) {\n <span #titleElement class=\"title kirby-text-xlarge\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </span>\n }\n\n <!-- Title and value - value: -->\n @if (!!value) {\n <span class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ value }}\n @if (!!valueUnit) {\n <span class=\"value-unit semi-dark-text\">{{ valueUnit }}</span>\n }\n </span>\n }\n\n <!-- Subtitles: -->\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles1 }\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles2 }\"\n ></ng-container>\n\n <!-- Custom section -->\n @if (!!customSectionTemplate) {\n <div class=\"custom-section\">\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n }\n </div>\n <!-- Actions: -->\n @if (!!actionsTemplate) {\n <div #actionsElement class=\"actions\" [class.emphasize]=\"emphasizeActions\">\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"\n ></ng-container>\n </div>\n }\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n @if (!!subtitles) {\n <div class=\"subtitle kirby-text-small\">\n @for (subtitle of subtitles; track subtitle) {\n <span>{{ subtitle }}</span>\n }\n </div>\n }\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>span.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container:has(>.actions){display:grid;grid-template-columns:auto max-content;column-gap:24px}:host(:not(.single-column)) .container:has(>.actions) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>span.title{text-align:center}:host(.centered) .container>span.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container:has(>.actions){grid-template-columns:minmax(0,1fr) minmax(0,4fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .container:has(>.actions) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container:has(>.actions)>span.title,:host(.centered):not(.single-column) .container:has(>.actions) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-inline:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>span.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.flag .custom-flag{margin-block:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{display:flex;align-items:baseline;max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: FitHeadingDirective, selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading],[kirbyFitHeading]", inputs: ["kirbyFitHeading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
94
94
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
97
|
args: [{ selector: 'kirby-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, FitHeadingDirective], template: "@if (!!avatar || !!progressCircle) {\n <div class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n </div>\n}\n\n@if (!!flag || !!customFlagTemplate) {\n <div class=\"flag\">\n @if (!!flag) {\n <ng-content select=\"kirby-flag\"></ng-content>\n }\n <!-- Custom Content in Flag section: -->\n @if (!!customFlagTemplate) {\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n }\n </div>\n}\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n @if (!!title && !!value) {\n <span\n #titleElement\n class=\"title kirby-text-medium\"\n [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n @if (!!title && !value) {\n <span #titleElement class=\"title kirby-text-xlarge\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </span>\n }\n\n <!-- Title and value - value: -->\n @if (!!value) {\n <span class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ value }}\n @if (!!valueUnit) {\n <span class=\"value-unit semi-dark-text\">{{ valueUnit }}</span>\n }\n </span>\n }\n\n <!-- Subtitles: -->\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles1 }\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles2 }\"\n ></ng-container>\n\n <!-- Custom section -->\n @if (!!customSectionTemplate) {\n <div class=\"custom-section\">\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n }\n </div>\n <!-- Actions: -->\n @if (!!actionsTemplate) {\n <div #actionsElement class=\"actions\" [class.emphasize]=\"emphasizeActions\">\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"\n ></ng-container>\n </div>\n }\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n @if (!!subtitles) {\n <div class=\"subtitle kirby-text-small\">\n @for (subtitle of subtitles; track subtitle) {\n <span>{{ subtitle }}</span>\n }\n </div>\n }\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>span.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container:has(>.actions){display:grid;grid-template-columns:auto max-content;column-gap:24px}:host(:not(.single-column)) .container:has(>.actions) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>span.title{text-align:center}:host(.centered) .container>span.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container:has(>.actions){grid-template-columns:minmax(0,1fr) minmax(0,4fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .container:has(>.actions) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container:has(>.actions)>span.title,:host(.centered):not(.single-column) .container:has(>.actions) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-inline:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>span.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.flag .custom-flag{margin-block:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{display:flex;align-items:baseline;max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\n"] }]
|
|
98
98
|
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { centered: [{
|
|
@@ -157,8 +157,8 @@ const imports = [
|
|
|
157
157
|
HeaderCustomFlagDirective,
|
|
158
158
|
];
|
|
159
159
|
class HeaderModule {
|
|
160
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
161
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
160
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
161
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: HeaderModule, imports: [CommonModule, FitHeadingDirective, HeaderComponent,
|
|
162
162
|
HeaderActionsDirective,
|
|
163
163
|
HeaderCustomSectionDirective,
|
|
164
164
|
HeaderTitleActionIconDirective,
|
|
@@ -167,9 +167,9 @@ class HeaderModule {
|
|
|
167
167
|
HeaderCustomSectionDirective,
|
|
168
168
|
HeaderTitleActionIconDirective,
|
|
169
169
|
HeaderCustomFlagDirective] }); }
|
|
170
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
170
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderModule, imports: [CommonModule] }); }
|
|
171
171
|
}
|
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HeaderModule, decorators: [{
|
|
173
173
|
type: NgModule,
|
|
174
174
|
args: [{
|
|
175
175
|
imports: [CommonModule, FitHeadingDirective, ...imports],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kirbydesign-designsystem-header.mjs","sources":["../tmp-esm2022/header/header.component.js","../tmp-esm2022/header/header.module.js","../tmp-esm2022/header/kirbydesign-designsystem-header.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, Injector, Input, Output, TemplateRef, ViewChild, } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ACTIONGROUP_CONFIG } from '@kirbydesign/designsystem/action-group';\nimport { AvatarComponent } from '@kirbydesign/designsystem/avatar';\nimport { FlagComponent } from '@kirbydesign/designsystem/flag';\nimport { ProgressCircleComponent } from '@kirbydesign/designsystem/progress-circle';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { FitHeadingDirective } from '@kirbydesign/designsystem/shared';\nimport * as i0 from \"@angular/core\";\nexport class HeaderActionsDirective {\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.13\", type: HeaderActionsDirective, isStandalone: true, selector: \"[kirbyHeaderActions]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderActionsDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[kirbyHeaderActions]' }]\n }] });\nexport class HeaderCustomSectionDirective {\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderCustomSectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.13\", type: HeaderCustomSectionDirective, isStandalone: true, selector: \"[kirbyHeaderCustomSection]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderCustomSectionDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[kirbyHeaderCustomSection]' }]\n }] });\nexport class HeaderTitleActionIconDirective {\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderTitleActionIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.13\", type: HeaderTitleActionIconDirective, isStandalone: true, selector: \"[kirbyHeaderTitleActionIcon]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderTitleActionIconDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[kirbyHeaderTitleActionIcon]' }]\n }] });\nexport class HeaderCustomFlagDirective {\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderCustomFlagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.13\", type: HeaderCustomFlagDirective, isStandalone: true, selector: \"[kirbyHeaderCustomFlag]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderCustomFlagDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[kirbyHeaderCustomFlag]' }]\n }] });\nexport class HeaderComponent {\n get _subtitles1() {\n return Array.isArray(this.subtitle1) ? this.subtitle1 : [this.subtitle1];\n }\n get _subtitles2() {\n return Array.isArray(this.subtitle2) ? this.subtitle2 : [this.subtitle2];\n }\n onTitleClick(event) {\n this.titleClick.emit(event);\n }\n constructor(injector) {\n this.injector = injector;\n this.emphasizeActions = false;\n this.titleClick = new EventEmitter();\n this.title$ = new Subject();\n }\n ngOnInit() {\n this.actionGroupConfig = {\n defaultVisibleActions: this.emphasizeActions ? undefined : 1,\n };\n this._actionGroupInjector = Injector.create({\n providers: [\n {\n provide: ACTIONGROUP_CONFIG,\n useValue: this.actionGroupConfig,\n },\n ],\n parent: this.injector,\n });\n if (this.titleMaxLines > 0) {\n this.fitHeadingConfig = {\n maxLines: this.titleMaxLines,\n };\n }\n }\n ngAfterContentInit() {\n // If an avatar is present we default to centered layout - unless configured otherwise:\n if (this.avatar && this.centered === undefined) {\n this.centered = true;\n }\n if (this.centered) {\n this.actionGroupConfig.isCondensed = true;\n }\n }\n ngOnChanges(changes) {\n if (changes.title) {\n this.title$.next(changes.title.currentValue);\n }\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.13\", type: HeaderComponent, isStandalone: true, selector: \"kirby-header\", inputs: { centered: \"centered\", titleMaxLines: \"titleMaxLines\", emphasizeActions: \"emphasizeActions\", title: \"title\", value: \"value\", valueUnit: \"valueUnit\", subtitle1: \"subtitle1\", subtitle2: \"subtitle2\", hasInteractiveTitle: \"hasInteractiveTitle\" }, outputs: { titleClick: \"titleClick\" }, host: { properties: { \"class.centered\": \"this.centered\" } }, queries: [{ propertyName: \"avatar\", first: true, predicate: AvatarComponent, descendants: true }, { propertyName: \"progressCircle\", first: true, predicate: ProgressCircleComponent, descendants: true }, { propertyName: \"flag\", first: true, predicate: FlagComponent, descendants: true }, { propertyName: \"actionsTemplate\", first: true, predicate: HeaderActionsDirective, descendants: true, read: (TemplateRef) }, { propertyName: \"customSectionTemplate\", first: true, predicate: HeaderCustomSectionDirective, descendants: true, read: (TemplateRef) }, { propertyName: \"customFlagTemplate\", first: true, predicate: HeaderCustomFlagDirective, descendants: true, read: (TemplateRef) }, { propertyName: \"titleActionIconTemplate\", first: true, predicate: HeaderTitleActionIconDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: \"titleElement\", first: true, predicate: [\"titleElement\"], descendants: true, read: ElementRef }, { propertyName: \"actionsElement\", first: true, predicate: [\"actionsElement\"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: \"@if (!!avatar || !!progressCircle) {\\n <div class=\\\"avatar\\\">\\n <ng-content select=\\\"kirby-avatar,kirby-progress-circle\\\"></ng-content>\\n </div>\\n}\\n\\n@if (!!flag || !!customFlagTemplate) {\\n <div class=\\\"flag\\\">\\n @if (!!flag) {\\n <ng-content select=\\\"kirby-flag\\\"></ng-content>\\n }\\n <!-- Custom Content in Flag section: -->\\n @if (!!customFlagTemplate) {\\n <div class=\\\"custom-flag\\\">\\n <ng-container *ngTemplateOutlet=\\\"customFlagTemplate\\\"></ng-container>\\n </div>\\n }\\n </div>\\n}\\n\\n<div class=\\\"container\\\">\\n <!-- Title and value - title: -->\\n @if (!!title && !!value) {\\n <span\\n #titleElement\\n class=\\\"title kirby-text-medium\\\"\\n [class.clickable]=\\\"hasInteractiveTitle !== false && titleClick.observed\\\"\\n [class.has-icon]=\\\"!!titleActionIconTemplate\\\"\\n (click)=\\\"onTitleClick($event)\\\"\\n >\\n {{ title }}\\n <ng-container *ngTemplateOutlet=\\\"titleActionIconTemplate\\\"></ng-container>\\n </span>\\n }\\n <div class=\\\"title-container\\\">\\n <!-- Only title, no value: -->\\n @if (!!title && !value) {\\n <span #titleElement class=\\\"title kirby-text-xlarge\\\" [kirbyFitHeading]=\\\"fitHeadingConfig\\\">\\n {{ title }}\\n </span>\\n }\\n\\n <!-- Title and value - value: -->\\n @if (!!value) {\\n <span class=\\\"value kirby-text-display-3\\\" [kirbyFitHeading]=\\\"fitHeadingConfig\\\">\\n {{ value }}\\n @if (!!valueUnit) {\\n <span class=\\\"value-unit semi-dark-text\\\">{{ valueUnit }}</span>\\n }\\n </span>\\n }\\n\\n <!-- Subtitles: -->\\n <ng-container\\n *ngTemplateOutlet=\\\"subTitleTemplate; context: { $implicit: _subtitles1 }\\\"\\n ></ng-container>\\n <ng-container\\n *ngTemplateOutlet=\\\"subTitleTemplate; context: { $implicit: _subtitles2 }\\\"\\n ></ng-container>\\n\\n <!-- Custom section -->\\n @if (!!customSectionTemplate) {\\n <div class=\\\"custom-section\\\">\\n <ng-container *ngTemplateOutlet=\\\"customSectionTemplate\\\"></ng-container>\\n </div>\\n }\\n </div>\\n <!-- Actions: -->\\n @if (!!actionsTemplate) {\\n <div #actionsElement class=\\\"actions\\\" [class.emphasize]=\\\"emphasizeActions\\\">\\n <ng-container\\n *ngTemplateOutlet=\\\"actionsTemplate; injector: _actionGroupInjector\\\"\\n ></ng-container>\\n </div>\\n }\\n</div>\\n\\n<ng-template #subTitleTemplate let-subtitles>\\n @if (!!subtitles) {\\n <div class=\\\"subtitle kirby-text-small\\\">\\n @for (subtitle of subtitles; track subtitle) {\\n <span>{{ subtitle }}</span>\\n }\\n </div>\\n }\\n</ng-template>\\n\", styles: [\":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>span.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container:has(>.actions){display:grid;grid-template-columns:auto max-content;column-gap:24px}:host(:not(.single-column)) .container:has(>.actions) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>span.title{text-align:center}:host(.centered) .container>span.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container:has(>.actions){grid-template-columns:minmax(0,1fr) minmax(0,4fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .container:has(>.actions) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container:has(>.actions)>span.title,:host(.centered):not(.single-column) .container:has(>.actions) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-inline:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>span.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.flag .custom-flag{margin-block:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{display:flex;align-items:baseline;max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: FitHeadingDirective, selector: \"h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading],[kirbyFitHeading]\", inputs: [\"kirbyFitHeading\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderComponent, decorators: [{\n type: Component,\n args: [{ selector: 'kirby-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, FitHeadingDirective], template: \"@if (!!avatar || !!progressCircle) {\\n <div class=\\\"avatar\\\">\\n <ng-content select=\\\"kirby-avatar,kirby-progress-circle\\\"></ng-content>\\n </div>\\n}\\n\\n@if (!!flag || !!customFlagTemplate) {\\n <div class=\\\"flag\\\">\\n @if (!!flag) {\\n <ng-content select=\\\"kirby-flag\\\"></ng-content>\\n }\\n <!-- Custom Content in Flag section: -->\\n @if (!!customFlagTemplate) {\\n <div class=\\\"custom-flag\\\">\\n <ng-container *ngTemplateOutlet=\\\"customFlagTemplate\\\"></ng-container>\\n </div>\\n }\\n </div>\\n}\\n\\n<div class=\\\"container\\\">\\n <!-- Title and value - title: -->\\n @if (!!title && !!value) {\\n <span\\n #titleElement\\n class=\\\"title kirby-text-medium\\\"\\n [class.clickable]=\\\"hasInteractiveTitle !== false && titleClick.observed\\\"\\n [class.has-icon]=\\\"!!titleActionIconTemplate\\\"\\n (click)=\\\"onTitleClick($event)\\\"\\n >\\n {{ title }}\\n <ng-container *ngTemplateOutlet=\\\"titleActionIconTemplate\\\"></ng-container>\\n </span>\\n }\\n <div class=\\\"title-container\\\">\\n <!-- Only title, no value: -->\\n @if (!!title && !value) {\\n <span #titleElement class=\\\"title kirby-text-xlarge\\\" [kirbyFitHeading]=\\\"fitHeadingConfig\\\">\\n {{ title }}\\n </span>\\n }\\n\\n <!-- Title and value - value: -->\\n @if (!!value) {\\n <span class=\\\"value kirby-text-display-3\\\" [kirbyFitHeading]=\\\"fitHeadingConfig\\\">\\n {{ value }}\\n @if (!!valueUnit) {\\n <span class=\\\"value-unit semi-dark-text\\\">{{ valueUnit }}</span>\\n }\\n </span>\\n }\\n\\n <!-- Subtitles: -->\\n <ng-container\\n *ngTemplateOutlet=\\\"subTitleTemplate; context: { $implicit: _subtitles1 }\\\"\\n ></ng-container>\\n <ng-container\\n *ngTemplateOutlet=\\\"subTitleTemplate; context: { $implicit: _subtitles2 }\\\"\\n ></ng-container>\\n\\n <!-- Custom section -->\\n @if (!!customSectionTemplate) {\\n <div class=\\\"custom-section\\\">\\n <ng-container *ngTemplateOutlet=\\\"customSectionTemplate\\\"></ng-container>\\n </div>\\n }\\n </div>\\n <!-- Actions: -->\\n @if (!!actionsTemplate) {\\n <div #actionsElement class=\\\"actions\\\" [class.emphasize]=\\\"emphasizeActions\\\">\\n <ng-container\\n *ngTemplateOutlet=\\\"actionsTemplate; injector: _actionGroupInjector\\\"\\n ></ng-container>\\n </div>\\n }\\n</div>\\n\\n<ng-template #subTitleTemplate let-subtitles>\\n @if (!!subtitles) {\\n <div class=\\\"subtitle kirby-text-small\\\">\\n @for (subtitle of subtitles; track subtitle) {\\n <span>{{ subtitle }}</span>\\n }\\n </div>\\n }\\n</ng-template>\\n\", styles: [\":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>span.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container:has(>.actions){display:grid;grid-template-columns:auto max-content;column-gap:24px}:host(:not(.single-column)) .container:has(>.actions) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>span.title{text-align:center}:host(.centered) .container>span.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container:has(>.actions){grid-template-columns:minmax(0,1fr) minmax(0,4fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .container:has(>.actions) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container:has(>.actions)>span.title,:host(.centered):not(.single-column) .container:has(>.actions) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-inline:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>span.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.flag .custom-flag{margin-block:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{display:flex;align-items:baseline;max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\\n\"] }]\n }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { centered: [{\n type: HostBinding,\n args: ['class.centered']\n }, {\n type: Input\n }], titleMaxLines: [{\n type: Input\n }], emphasizeActions: [{\n type: Input\n }], avatar: [{\n type: ContentChild,\n args: [AvatarComponent]\n }], progressCircle: [{\n type: ContentChild,\n args: [ProgressCircleComponent]\n }], flag: [{\n type: ContentChild,\n args: [FlagComponent]\n }], titleElement: [{\n type: ViewChild,\n args: ['titleElement', { read: ElementRef }]\n }], actionsElement: [{\n type: ViewChild,\n args: ['actionsElement', { read: ElementRef }]\n }], actionsTemplate: [{\n type: ContentChild,\n args: [HeaderActionsDirective, { read: (TemplateRef) }]\n }], customSectionTemplate: [{\n type: ContentChild,\n args: [HeaderCustomSectionDirective, { read: (TemplateRef) }]\n }], customFlagTemplate: [{\n type: ContentChild,\n args: [HeaderCustomFlagDirective, {\n read: (TemplateRef),\n }]\n }], titleActionIconTemplate: [{\n type: ContentChild,\n args: [HeaderTitleActionIconDirective, { read: TemplateRef }]\n }], title: [{\n type: Input\n }], value: [{\n type: Input\n }], valueUnit: [{\n type: Input\n }], subtitle1: [{\n type: Input\n }], subtitle2: [{\n type: Input\n }], hasInteractiveTitle: [{\n type: Input\n }], titleClick: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlYWRlci9zcmMvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2hlYWRlci9zcmMvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsUUFBUSxFQUNSLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBcUIsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUd2RSxNQUFNLE9BQU8sc0JBQXNCO2tJQUF0QixzQkFBc0I7c0hBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRTs7QUFJL0MsTUFBTSxPQUFPLDRCQUE0QjtrSUFBNUIsNEJBQTRCO3NIQUE1Qiw0QkFBNEI7OzRGQUE1Qiw0QkFBNEI7a0JBRHhDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsNEJBQTRCLEVBQUU7O0FBSXJELE1BQU0sT0FBTyw4QkFBOEI7a0lBQTlCLDhCQUE4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LFVBQVUsa0RDckVqRCxnaUZBc0ZBLDB1RUR6Q1ksZ0JBQWdCLG9KQUFFLG1CQUFtQjs7NEZBRXBDLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7O3NCQUcvQyxXQUFXO3VCQUFDLGdCQUFnQjs7c0JBQzVCLEtBQUs7O3NCQUdMLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUlMLFlBQVk7dUJBQUMsZUFBZTs7c0JBRzVCLFlBQVk7dUJBQUMsdUJBQXVCOztzQkFHcEMsWUFBWTt1QkFBQyxhQUFhOztzQkFHMUIsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztzQkFHOUMsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7O3NCQUdoRCxZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUEsV0FBbUMsQ0FBQSxFQUFFOztzQkFHbEYsWUFBWTt1QkFBQyw0QkFBNEIsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFBLFdBQXlDLENBQUEsRUFBRTs7c0JBRzlGLFlBQVk7dUJBQUMseUJBQXlCLEVBQUU7d0JBQ3ZDLElBQUksRUFBRSxDQUFBLFdBQXNDLENBQUE7cUJBQzdDOztzQkFHQSxZQUFZO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTs7c0JBR2xFLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUNMLEtBQUs7O3NCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQUNUSU9OR1JPVVBfQ09ORklHLCBBY3Rpb25Hcm91cENvbmZpZyB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vYWN0aW9uLWdyb3VwJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vYXZhdGFyJztcbmltcG9ydCB7IEZsYWdDb21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2ZsYWcnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NDaXJjbGVDb21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3Byb2dyZXNzLWNpcmNsZSc7XG5pbXBvcnQgdHlwZSB7IEZpdEhlYWRpbmdDb25maWcgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NoYXJlZCc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZpdEhlYWRpbmdEaXJlY3RpdmUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NoYXJlZCc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1traXJieUhlYWRlckFjdGlvbnNdJyB9KVxuZXhwb3J0IGNsYXNzIEhlYWRlckFjdGlvbnNEaXJlY3RpdmUge31cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2tpcmJ5SGVhZGVyQ3VzdG9tU2VjdGlvbl0nIH0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ3VzdG9tU2VjdGlvbkRpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdba2lyYnlIZWFkZXJUaXRsZUFjdGlvbkljb25dJyB9KVxuZXhwb3J0IGNsYXNzIEhlYWRlclRpdGxlQWN0aW9uSWNvbkRpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdba2lyYnlIZWFkZXJDdXN0b21GbGFnXScgfSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDdXN0b21GbGFnRGlyZWN0aXZlIHt9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpcmJ5LWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBGaXRIZWFkaW5nRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNlbnRlcmVkJylcbiAgQElucHV0KClcbiAgY2VudGVyZWQ/OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHRpdGxlTWF4TGluZXM6IG51bWJlcjtcbiAgQElucHV0KCkgZW1waGFzaXplQWN0aW9ucyA9IGZhbHNlO1xuXG4gIGZpdEhlYWRpbmdDb25maWc6IEZpdEhlYWRpbmdDb25maWc7XG5cbiAgQENvbnRlbnRDaGlsZChBdmF0YXJDb21wb25lbnQpXG4gIGF2YXRhcjogQXZhdGFyQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoUHJvZ3Jlc3NDaXJjbGVDb21wb25lbnQpXG4gIHByb2dyZXNzQ2lyY2xlOiBQcm9ncmVzc0NpcmNsZUNvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKEZsYWdDb21wb25lbnQpXG4gIGZsYWc6IEZsYWdDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgndGl0bGVFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHRpdGxlRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTEhlYWRpbmdFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdhY3Rpb25zRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBhY3Rpb25zRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoSGVhZGVyQWN0aW9uc0RpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZjxIZWFkZXJBY3Rpb25zRGlyZWN0aXZlPiB9KVxuICBhY3Rpb25zVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxIZWFkZXJBY3Rpb25zRGlyZWN0aXZlPjtcblxuICBAQ29udGVudENoaWxkKEhlYWRlckN1c3RvbVNlY3Rpb25EaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWY8SGVhZGVyQ3VzdG9tU2VjdGlvbkRpcmVjdGl2ZT4gfSlcbiAgY3VzdG9tU2VjdGlvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8SGVhZGVyQ3VzdG9tU2VjdGlvbkRpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZChIZWFkZXJDdXN0b21GbGFnRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWY8SGVhZGVyQ3VzdG9tRmxhZ0RpcmVjdGl2ZT4sXG4gIH0pXG4gIGN1c3RvbUZsYWdUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEhlYWRlckN1c3RvbUZsYWdEaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGQoSGVhZGVyVGl0bGVBY3Rpb25JY29uRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHRpdGxlQWN0aW9uSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxIZWFkZXJUaXRsZUFjdGlvbkljb25EaXJlY3RpdmU+O1xuXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSB2YWx1ZVVuaXQ/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSBzdWJ0aXRsZTE/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGw7XG4gIEBJbnB1dCgpIHN1YnRpdGxlMj86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgQElucHV0KCkgaGFzSW50ZXJhY3RpdmVUaXRsZT86IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHRpdGxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFBvaW50ZXJFdmVudD4oKTtcblxuICB0aXRsZSQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICBnZXQgX3N1YnRpdGxlczEoKSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5zdWJ0aXRsZTEpID8gdGhpcy5zdWJ0aXRsZTEgOiBbdGhpcy5zdWJ0aXRsZTFdO1xuICB9XG5cbiAgZ2V0IF9zdWJ0aXRsZXMyKCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuc3VidGl0bGUyKSA/IHRoaXMuc3VidGl0bGUyIDogW3RoaXMuc3VidGl0bGUyXTtcbiAgfVxuXG4gIG9uVGl0bGVDbGljayhldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy50aXRsZUNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgX2FjdGlvbkdyb3VwSW5qZWN0b3I6IEluamVjdG9yO1xuXG4gIHByaXZhdGUgYWN0aW9uR3JvdXBDb25maWc6IEFjdGlvbkdyb3VwQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uR3JvdXBDb25maWcgPSB7XG4gICAgICBkZWZhdWx0VmlzaWJsZUFjdGlvbnM6IHRoaXMuZW1waGFzaXplQWN0aW9ucyA/IHVuZGVmaW5lZCA6IDEsXG4gICAgfTtcblxuICAgIHRoaXMuX2FjdGlvbkdyb3VwSW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBQ1RJT05HUk9VUF9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHRoaXMuYWN0aW9uR3JvdXBDb25maWcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMudGl0bGVNYXhMaW5lcyA+IDApIHtcbiAgICAgIHRoaXMuZml0SGVhZGluZ0NvbmZpZyA9IHtcbiAgICAgICAgbWF4TGluZXM6IHRoaXMudGl0bGVNYXhMaW5lcyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vIElmIGFuIGF2YXRhciBpcyBwcmVzZW50IHdlIGRlZmF1bHQgdG8gY2VudGVyZWQgbGF5b3V0IC0gdW5sZXNzIGNvbmZpZ3VyZWQgb3RoZXJ3aXNlOlxuICAgIGlmICh0aGlzLmF2YXRhciAmJiB0aGlzLmNlbnRlcmVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY2VudGVyZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNlbnRlcmVkKSB7XG4gICAgICB0aGlzLmFjdGlvbkdyb3VwQ29uZmlnLmlzQ29uZGVuc2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMudGl0bGUpIHtcbiAgICAgIHRoaXMudGl0bGUkLm5leHQoY2hhbmdlcy50aXRsZS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICghIWF2YXRhciB8fCAhIXByb2dyZXNzQ2lyY2xlKSB7XG4gIDxkaXYgY2xhc3M9XCJhdmF0YXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJraXJieS1hdmF0YXIsa2lyYnktcHJvZ3Jlc3MtY2lyY2xlXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbn1cblxuQGlmICghIWZsYWcgfHwgISFjdXN0b21GbGFnVGVtcGxhdGUpIHtcbiAgPGRpdiBjbGFzcz1cImZsYWdcIj5cbiAgICBAaWYgKCEhZmxhZykge1xuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2lyYnktZmxhZ1wiPjwvbmctY29udGVudD5cbiAgICB9XG4gICAgPCEtLSBDdXN0b20gQ29udGVudCBpbiBGbGFnIHNlY3Rpb246IC0tPlxuICAgIEBpZiAoISFjdXN0b21GbGFnVGVtcGxhdGUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tZmxhZ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tRmxhZ1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxufVxuXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gIDwhLS0gVGl0bGUgYW5kIHZhbHVlIC0gdGl0bGU6IC0tPlxuICBAaWYgKCEhdGl0bGUgJiYgISF2YWx1ZSkge1xuICAgIDxzcGFuXG4gICAgICAjdGl0bGVFbGVtZW50XG4gICAgICBjbGFzcz1cInRpdGxlIGtpcmJ5LXRleHQtbWVkaXVtXCJcbiAgICAgIFtjbGFzcy5jbGlja2FibGVdPVwiaGFzSW50ZXJhY3RpdmVUaXRsZSAhPT0gZmFsc2UgJiYgdGl0bGVDbGljay5vYnNlcnZlZFwiXG4gICAgICBbY2xhc3MuaGFzLWljb25dPVwiISF0aXRsZUFjdGlvbkljb25UZW1wbGF0ZVwiXG4gICAgICAoY2xpY2spPVwib25UaXRsZUNsaWNrKCRldmVudClcIlxuICAgID5cbiAgICAgIHt7IHRpdGxlIH19XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVBY3Rpb25JY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gIH1cbiAgPGRpdiBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxuICAgIDwhLS0gT25seSB0aXRsZSwgbm8gdmFsdWU6IC0tPlxuICAgIEBpZiAoISF0aXRsZSAmJiAhdmFsdWUpIHtcbiAgICAgIDxzcGFuICN0aXRsZUVsZW1lbnQgY2xhc3M9XCJ0aXRsZSBraXJieS10ZXh0LXhsYXJnZVwiIFtraXJieUZpdEhlYWRpbmddPVwiZml0SGVhZGluZ0NvbmZpZ1wiPlxuICAgICAgICB7eyB0aXRsZSB9fVxuICAgICAgPC9zcGFuPlxuICAgIH1cblxuICAgIDwhLS0gVGl0bGUgYW5kIHZhbHVlIC0gdmFsdWU6IC0tPlxuICAgIEBpZiAoISF2YWx1ZSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZSBraXJieS10ZXh0LWRpc3BsYXktM1wiIFtraXJieUZpdEhlYWRpbmddPVwiZml0SGVhZGluZ0NvbmZpZ1wiPlxuICAgICAgICB7eyB2YWx1ZSB9fVxuICAgICAgICBAaWYgKCEhdmFsdWVVbml0KSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZS11bml0IHNlbWktZGFyay10ZXh0XCI+e3sgdmFsdWVVbml0IH19PC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L3NwYW4+XG4gICAgfVxuXG4gICAgPCEtLSBTdWJ0aXRsZXM6IC0tPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic3ViVGl0bGVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IF9zdWJ0aXRsZXMxIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInN1YlRpdGxlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBfc3VidGl0bGVzMiB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEN1c3RvbSBzZWN0aW9uIC0tPlxuICAgIEBpZiAoISFjdXN0b21TZWN0aW9uVGVtcGxhdGUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tc2VjdGlvblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tU2VjdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICA8IS0tIEFjdGlvbnM6IC0tPlxuICBAaWYgKCEhYWN0aW9uc1RlbXBsYXRlKSB7XG4gICAgPGRpdiAjYWN0aW9uc0VsZW1lbnQgY2xhc3M9XCJhY3Rpb25zXCIgW2NsYXNzLmVtcGhhc2l6ZV09XCJlbXBoYXNpemVBY3Rpb25zXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uc1RlbXBsYXRlOyBpbmplY3RvcjogX2FjdGlvbkdyb3VwSW5qZWN0b3JcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzdWJUaXRsZVRlbXBsYXRlIGxldC1zdWJ0aXRsZXM+XG4gIEBpZiAoISFzdWJ0aXRsZXMpIHtcbiAgICA8ZGl2IGNsYXNzPVwic3VidGl0bGUga2lyYnktdGV4dC1zbWFsbFwiPlxuICAgICAgQGZvciAoc3VidGl0bGUgb2Ygc3VidGl0bGVzOyB0cmFjayBzdWJ0aXRsZSkge1xuICAgICAgICA8c3Bhbj57eyBzdWJ0aXRsZSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FitHeadingDirective } from '@kirbydesign/designsystem/shared';\nimport { HeaderActionsDirective, HeaderComponent, HeaderCustomFlagDirective, HeaderCustomSectionDirective, HeaderTitleActionIconDirective, } from './header.component';\nimport * as i0 from \"@angular/core\";\nconst imports = [\n HeaderComponent,\n HeaderActionsDirective,\n HeaderCustomSectionDirective,\n HeaderTitleActionIconDirective,\n HeaderCustomFlagDirective,\n];\nexport class HeaderModule {\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderModule, imports: [CommonModule, FitHeadingDirective, HeaderComponent,\n HeaderActionsDirective,\n HeaderCustomSectionDirective,\n HeaderTitleActionIconDirective,\n HeaderCustomFlagDirective], exports: [HeaderComponent,\n HeaderActionsDirective,\n HeaderCustomSectionDirective,\n HeaderTitleActionIconDirective,\n HeaderCustomFlagDirective] }); }\n /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderModule, imports: [CommonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: HeaderModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, FitHeadingDirective, ...imports],\n exports: imports,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlYWRlci9zcmMvaGVhZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV2RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsNEJBQTRCLEVBQzVCLDhCQUE4QixHQUMvQixNQUFNLG9CQUFvQixDQUFDOztBQUU1QixNQUFNLE9BQU8sR0FBRztJQUNkLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLDhCQUE4QjtJQUM5Qix5QkFBeUI7Q0FDMUIsQ0FBQztBQU1GLE1BQU0sT0FBTyxZQUFZO2tJQUFaLFlBQVk7bUlBQVosWUFBWSxZQUhiLFlBQVksRUFBRSxtQkFBbUIsRUFSM0MsZUFBZTtZQUNmLHNCQUFzQjtZQUN0Qiw0QkFBNEI7WUFDNUIsOEJBQThCO1lBQzlCLHlCQUF5QixhQUp6QixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLDRCQUE0QjtZQUM1Qiw4QkFBOEI7WUFDOUIseUJBQXlCO21JQU9kLFlBQVksWUFIYixZQUFZOzs0RkFHWCxZQUFZO2tCQUp4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLE9BQU8sQ0FBQztvQkFDeEQsT0FBTyxFQUFFLE9BQU87aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXRIZWFkaW5nRGlyZWN0aXZlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9zaGFyZWQnO1xuXG5pbXBvcnQge1xuICBIZWFkZXJBY3Rpb25zRGlyZWN0aXZlLFxuICBIZWFkZXJDb21wb25lbnQsXG4gIEhlYWRlckN1c3RvbUZsYWdEaXJlY3RpdmUsXG4gIEhlYWRlckN1c3RvbVNlY3Rpb25EaXJlY3RpdmUsXG4gIEhlYWRlclRpdGxlQWN0aW9uSWNvbkRpcmVjdGl2ZSxcbn0gZnJvbSAnLi9oZWFkZXIuY29tcG9uZW50JztcblxuY29uc3QgaW1wb3J0cyA9IFtcbiAgSGVhZGVyQ29tcG9uZW50LFxuICBIZWFkZXJBY3Rpb25zRGlyZWN0aXZlLFxuICBIZWFkZXJDdXN0b21TZWN0aW9uRGlyZWN0aXZlLFxuICBIZWFkZXJUaXRsZUFjdGlvbkljb25EaXJlY3RpdmUsXG4gIEhlYWRlckN1c3RvbUZsYWdEaXJlY3RpdmUsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGaXRIZWFkaW5nRGlyZWN0aXZlLCAuLi5pbXBvcnRzXSxcbiAgZXhwb3J0czogaW1wb3J0cyxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLWhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlYWRlci9zcmMva2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kirbydesign-designsystem-header.mjs","sources":["../../header/src/header.component.ts","../../header/src/header.component.html","../../header/src/header.module.ts","../../header/src/kirbydesign-designsystem-header.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { ACTIONGROUP_CONFIG, ActionGroupConfig } from '@kirbydesign/designsystem/action-group';\nimport { AvatarComponent } from '@kirbydesign/designsystem/avatar';\nimport { FlagComponent } from '@kirbydesign/designsystem/flag';\nimport { ProgressCircleComponent } from '@kirbydesign/designsystem/progress-circle';\nimport type { FitHeadingConfig } from '@kirbydesign/designsystem/shared';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { FitHeadingDirective } from '@kirbydesign/designsystem/shared';\n\n@Directive({ selector: '[kirbyHeaderActions]' })\nexport class HeaderActionsDirective {}\n\n@Directive({ selector: '[kirbyHeaderCustomSection]' })\nexport class HeaderCustomSectionDirective {}\n\n@Directive({ selector: '[kirbyHeaderTitleActionIcon]' })\nexport class HeaderTitleActionIconDirective {}\n\n@Directive({ selector: '[kirbyHeaderCustomFlag]' })\nexport class HeaderCustomFlagDirective {}\n\n@Component({\n selector: 'kirby-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet, FitHeadingDirective],\n})\nexport class HeaderComponent implements AfterContentInit, OnChanges, OnInit {\n @HostBinding('class.centered')\n @Input()\n centered?: boolean;\n\n @Input() titleMaxLines: number;\n @Input() emphasizeActions = false;\n\n fitHeadingConfig: FitHeadingConfig;\n\n @ContentChild(AvatarComponent)\n avatar: AvatarComponent;\n\n @ContentChild(ProgressCircleComponent)\n progressCircle: ProgressCircleComponent;\n\n @ContentChild(FlagComponent)\n flag: FlagComponent;\n\n @ViewChild('titleElement', { read: ElementRef })\n titleElement?: ElementRef<HTMLHeadingElement>;\n\n @ViewChild('actionsElement', { read: ElementRef })\n actionsElement?: ElementRef<HTMLDivElement>;\n\n @ContentChild(HeaderActionsDirective, { read: TemplateRef<HeaderActionsDirective> })\n actionsTemplate?: TemplateRef<HeaderActionsDirective>;\n\n @ContentChild(HeaderCustomSectionDirective, { read: TemplateRef<HeaderCustomSectionDirective> })\n customSectionTemplate?: TemplateRef<HeaderCustomSectionDirective>;\n\n @ContentChild(HeaderCustomFlagDirective, {\n read: TemplateRef<HeaderCustomFlagDirective>,\n })\n customFlagTemplate?: TemplateRef<HeaderCustomFlagDirective>;\n\n @ContentChild(HeaderTitleActionIconDirective, { read: TemplateRef })\n titleActionIconTemplate: TemplateRef<HeaderTitleActionIconDirective>;\n\n @Input() title?: string | null;\n @Input() value?: string | null;\n @Input() valueUnit?: string | null;\n @Input() subtitle1?: string | string[] | null;\n @Input() subtitle2?: string | string[] | null;\n @Input() hasInteractiveTitle?: boolean;\n\n @Output() titleClick = new EventEmitter<PointerEvent>();\n\n title$: Subject<string> = new Subject<string>();\n\n get _subtitles1() {\n return Array.isArray(this.subtitle1) ? this.subtitle1 : [this.subtitle1];\n }\n\n get _subtitles2() {\n return Array.isArray(this.subtitle2) ? this.subtitle2 : [this.subtitle2];\n }\n\n onTitleClick(event: PointerEvent) {\n this.titleClick.emit(event);\n }\n\n _actionGroupInjector: Injector;\n\n private actionGroupConfig: ActionGroupConfig;\n\n constructor(private injector: Injector) {}\n\n ngOnInit(): void {\n this.actionGroupConfig = {\n defaultVisibleActions: this.emphasizeActions ? undefined : 1,\n };\n\n this._actionGroupInjector = Injector.create({\n providers: [\n {\n provide: ACTIONGROUP_CONFIG,\n useValue: this.actionGroupConfig,\n },\n ],\n parent: this.injector,\n });\n\n if (this.titleMaxLines > 0) {\n this.fitHeadingConfig = {\n maxLines: this.titleMaxLines,\n };\n }\n }\n\n ngAfterContentInit(): void {\n // If an avatar is present we default to centered layout - unless configured otherwise:\n if (this.avatar && this.centered === undefined) {\n this.centered = true;\n }\n\n if (this.centered) {\n this.actionGroupConfig.isCondensed = true;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.title) {\n this.title$.next(changes.title.currentValue);\n }\n }\n}\n","@if (!!avatar || !!progressCircle) {\n <div class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n </div>\n}\n\n@if (!!flag || !!customFlagTemplate) {\n <div class=\"flag\">\n @if (!!flag) {\n <ng-content select=\"kirby-flag\"></ng-content>\n }\n <!-- Custom Content in Flag section: -->\n @if (!!customFlagTemplate) {\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n }\n </div>\n}\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n @if (!!title && !!value) {\n <span\n #titleElement\n class=\"title kirby-text-medium\"\n [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n @if (!!title && !value) {\n <span #titleElement class=\"title kirby-text-xlarge\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </span>\n }\n\n <!-- Title and value - value: -->\n @if (!!value) {\n <span class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ value }}\n @if (!!valueUnit) {\n <span class=\"value-unit semi-dark-text\">{{ valueUnit }}</span>\n }\n </span>\n }\n\n <!-- Subtitles: -->\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles1 }\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles2 }\"\n ></ng-container>\n\n <!-- Custom section -->\n @if (!!customSectionTemplate) {\n <div class=\"custom-section\">\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n }\n </div>\n <!-- Actions: -->\n @if (!!actionsTemplate) {\n <div #actionsElement class=\"actions\" [class.emphasize]=\"emphasizeActions\">\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"\n ></ng-container>\n </div>\n }\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n @if (!!subtitles) {\n <div class=\"subtitle kirby-text-small\">\n @for (subtitle of subtitles; track subtitle) {\n <span>{{ subtitle }}</span>\n }\n </div>\n }\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FitHeadingDirective } from '@kirbydesign/designsystem/shared';\n\nimport {\n HeaderActionsDirective,\n HeaderComponent,\n HeaderCustomFlagDirective,\n HeaderCustomSectionDirective,\n HeaderTitleActionIconDirective,\n} from './header.component';\n\nconst imports = [\n HeaderComponent,\n HeaderActionsDirective,\n HeaderCustomSectionDirective,\n HeaderTitleActionIconDirective,\n HeaderCustomFlagDirective,\n];\n\n@NgModule({\n imports: [CommonModule, FitHeadingDirective, ...imports],\n exports: imports,\n})\nexport class HeaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kirbydesign-designsystem-helpers-scss.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"kirbydesign-designsystem-helpers-scss.mjs","sources":["../../helpers/scss/src/scss-helper.ts","../../helpers/scss/src/kirbydesign-designsystem-helpers-scss.ts"],"sourcesContent":["// TODO TRM/JEO Parse from scss files instead!!1!!\nexport class ScssHelper {\n // Breakpoints\n public static BREAKPOINT_SCREEN_L = 720;\n public static BREAKPOINT_CARD_S = 320;\n public static BREAKPOINT_CARD_M = 460;\n public static BREAKPOINT_CARD_L = 820;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"AAAA;MACa,UAAU,CAAA;;aAEP,IAAA,CAAA,mBAAmB,GAAG,GAAG,CAAC;aAC1B,IAAA,CAAA,iBAAiB,GAAG,GAAG,CAAC;aACxB,IAAA,CAAA,iBAAiB,GAAG,GAAG,CAAC;aACxB,IAAA,CAAA,iBAAiB,GAAG,GAAG,CAAC;;;ACNxC;;AAEG;;;;"}
|
|
@@ -100,10 +100,10 @@ class PlatformService {
|
|
|
100
100
|
const query = `(min-width: ${DesignTokenHelper.breakpoints.medium})`;
|
|
101
101
|
return this.windowRef.nativeWindow.matchMedia(query).matches;
|
|
102
102
|
}
|
|
103
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
104
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
103
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PlatformService, deps: [{ token: i1.WindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
104
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PlatformService, providedIn: 'root' }); }
|
|
105
105
|
}
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PlatformService, decorators: [{
|
|
107
107
|
type: Injectable,
|
|
108
108
|
args: [{
|
|
109
109
|
providedIn: 'root',
|
|
@@ -271,10 +271,10 @@ class LineClampHelper {
|
|
|
271
271
|
this.renderer.removeStyle(element, config.lineClamp);
|
|
272
272
|
this.renderer.removeStyle(element, config.lineHeight);
|
|
273
273
|
}
|
|
274
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
275
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
274
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LineClampHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
275
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LineClampHelper }); }
|
|
276
276
|
}
|
|
277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LineClampHelper, decorators: [{
|
|
278
278
|
type: Injectable
|
|
279
279
|
}], ctorParameters: () => [{ type: i0.Renderer2 }] });
|
|
280
280
|
|
|
@@ -307,10 +307,10 @@ class IonicElementPartHelper {
|
|
|
307
307
|
return;
|
|
308
308
|
this.renderer.setAttribute(partElement, 'part', partName);
|
|
309
309
|
}
|
|
310
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
311
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
310
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IonicElementPartHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
311
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IonicElementPartHelper }); }
|
|
312
312
|
}
|
|
313
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IonicElementPartHelper, decorators: [{
|
|
314
314
|
type: Injectable
|
|
315
315
|
}], ctorParameters: () => [{ type: i0.Renderer2 }] });
|
|
316
316
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kirbydesign-designsystem-helpers.mjs","sources":["../tmp-esm2022/helpers/element-ancestor-utils.js","../tmp-esm2022/helpers/content-mutation-observer.js","../tmp-esm2022/helpers/platform.service.js","../tmp-esm2022/helpers/chart-config-has-type.js","../tmp-esm2022/helpers/deep-copy.js","../tmp-esm2022/helpers/merge-deep.js","../tmp-esm2022/helpers/unique-id-generator.helper.js","../tmp-esm2022/helpers/string-search.helper.js","../tmp-esm2022/helpers/line-clamp-helper.js","../tmp-esm2022/helpers/kirby-animation.js","../tmp-esm2022/helpers/ionic-element-part-helper.js","../tmp-esm2022/helpers/public_api.js","../tmp-esm2022/helpers/kirbydesign-designsystem-helpers.js"],"sourcesContent":["/*\n Utility function to check if a given element\n has an ancestor with a specific node name.\n\n Can be given a 'stopNodeName' to limit the search\n as to not climb all the way up through the DOM tree.\n\n Returns true when element has the ancestorNodeName\n or an ancestor has the ancestorNodeName.\n\n Returns false otherwise.\n*/\nexport const elementHasAncestor = (element, ancestorNodeName, stopNodeName) => {\n switch (element?.nodeName) {\n case undefined:\n case stopNodeName?.toUpperCase():\n return false;\n case ancestorNodeName.toUpperCase():\n return true;\n default:\n return elementHasAncestor(element.parentElement, ancestorNodeName, stopNodeName);\n }\n};\n/*\n * Utility function to find the closest ancestor modal and\n * get the element with a dialog role from within its shadow root.\n */\nexport function getIonModalDialogAncestor(currentElement) {\n const ionModalElement = currentElement.closest('ion-modal');\n const modalElementDialog = ionModalElement?.shadowRoot?.querySelector('[role=\"dialog\"]');\n return modalElementDialog;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1hbmNlc3Rvci11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL2VsZW1lbnQtYW5jZXN0b3ItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0VBV0U7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxPQUFvQixFQUNwQixnQkFBd0IsRUFDeEIsWUFBcUIsRUFDckIsRUFBRTtJQUNGLFFBQVEsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzFCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxZQUFZLEVBQUUsV0FBVyxFQUFFO1lBQzlCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsS0FBSyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUM7UUFDZDtZQUNFLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNyRixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLGNBQTJCO0lBQ25FLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUQsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FDbkUsaUJBQWlCLENBQ0gsQ0FBQztJQUNqQixPQUFPLGtCQUFrQixDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBcbiAgVXRpbGl0eSBmdW5jdGlvbiB0byBjaGVjayBpZiBhIGdpdmVuIGVsZW1lbnQgXG4gIGhhcyBhbiBhbmNlc3RvciB3aXRoIGEgc3BlY2lmaWMgbm9kZSBuYW1lLiBcblxuICBDYW4gYmUgZ2l2ZW4gYSAnc3RvcE5vZGVOYW1lJyB0byBsaW1pdCB0aGUgc2VhcmNoXG4gIGFzIHRvIG5vdCBjbGltYiBhbGwgdGhlIHdheSB1cCB0aHJvdWdoIHRoZSBET00gdHJlZS4gXG5cbiAgUmV0dXJucyB0cnVlIHdoZW4gZWxlbWVudCBoYXMgdGhlIGFuY2VzdG9yTm9kZU5hbWUgXG4gIG9yIGFuIGFuY2VzdG9yIGhhcyB0aGUgYW5jZXN0b3JOb2RlTmFtZS4gXG5cbiAgUmV0dXJucyBmYWxzZSBvdGhlcndpc2UuXG4qL1xuXG5leHBvcnQgY29uc3QgZWxlbWVudEhhc0FuY2VzdG9yID0gKFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgYW5jZXN0b3JOb2RlTmFtZTogc3RyaW5nLFxuICBzdG9wTm9kZU5hbWU/OiBzdHJpbmdcbikgPT4ge1xuICBzd2l0Y2ggKGVsZW1lbnQ/Lm5vZGVOYW1lKSB7XG4gICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgY2FzZSBzdG9wTm9kZU5hbWU/LnRvVXBwZXJDYXNlKCk6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgY2FzZSBhbmNlc3Rvck5vZGVOYW1lLnRvVXBwZXJDYXNlKCk6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGVsZW1lbnRIYXNBbmNlc3RvcihlbGVtZW50LnBhcmVudEVsZW1lbnQsIGFuY2VzdG9yTm9kZU5hbWUsIHN0b3BOb2RlTmFtZSk7XG4gIH1cbn07XG5cbi8qXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGZpbmQgdGhlIGNsb3Nlc3QgYW5jZXN0b3IgbW9kYWwgYW5kXG4gKiBnZXQgdGhlIGVsZW1lbnQgd2l0aCBhIGRpYWxvZyByb2xlIGZyb20gd2l0aGluIGl0cyBzaGFkb3cgcm9vdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldElvbk1vZGFsRGlhbG9nQW5jZXN0b3IoY3VycmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICBjb25zdCBpb25Nb2RhbEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudC5jbG9zZXN0KCdpb24tbW9kYWwnKTtcbiAgY29uc3QgbW9kYWxFbGVtZW50RGlhbG9nID0gaW9uTW9kYWxFbGVtZW50Py5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICdbcm9sZT1cImRpYWxvZ1wiXSdcbiAgKSBhcyBIVE1MRWxlbWVudDtcbiAgcmV0dXJuIG1vZGFsRWxlbWVudERpYWxvZztcbn1cbiJdfQ==","/* Function based on https://github.com/angular/components/blob/main/src/cdk/observers/observe-content.ts\n * Angular may add, remove, or edit comment nodes during change detection. We don't care about\n * these changes because they don't affect the user-preceived content, and worse it can cause\n * infinite change detection cycles where the change detection updates a comment, triggering the\n * MutationObserver, triggering another change detection and kicking the cycle off again. */\nfunction shouldIgnoreMutationRecord(record) {\n // Ignore changes to comment text.\n if (record.type === 'characterData' && record.target instanceof Comment) {\n return true;\n }\n // Ignore addition / removal of comments.\n if (record.type === 'childList') {\n for (let i = 0; i < record.addedNodes.length; i++) {\n if (!(record.addedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n for (let i = 0; i < record.removedNodes.length; i++) {\n if (!(record.removedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n return true;\n }\n // Observe everything else.\n return false;\n}\n/**\n * Creates a MutationObserver and observes content changes in a given element.\n * The provided callback is called when changes are detected.\n *\n * @returns function - an unobserve function that can be called to disconnect the created observer.\n */\nexport function observeContent(observedElement, contentChangedCallback) {\n const mutationObserver = new MutationObserver((mutations) => {\n const filteredMutations = mutations.filter((mutation) => !shouldIgnoreMutationRecord(mutation));\n if (filteredMutations.length > 0) {\n contentChangedCallback();\n }\n });\n mutationObserver.observe(observedElement, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n return () => {\n mutationObserver.disconnect();\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1tdXRhdGlvbi1vYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL2NvbnRlbnQtbXV0YXRpb24tb2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7NEZBSTRGO0FBQzVGLFNBQVMsMEJBQTBCLENBQUMsTUFBc0I7SUFDeEQsa0NBQWtDO0lBQ2xDLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxlQUFlLElBQUksTUFBTSxDQUFDLE1BQU0sWUFBWSxPQUFPLEVBQUUsQ0FBQztRQUN4RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCx5Q0FBeUM7SUFDekMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDL0MsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELDJCQUEyQjtJQUMzQixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQzVCLGVBQTRCLEVBQzVCLHNCQUFrQztJQUVsQyxNQUFNLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUMxRCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNoRyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7UUFDeEMsYUFBYSxFQUFFLElBQUk7UUFDbkIsU0FBUyxFQUFFLElBQUk7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUMsQ0FBQztJQUVILE9BQU8sR0FBRyxFQUFFO1FBQ1YsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVub2JzZXJ2ZUZuIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5cbi8qIEZ1bmN0aW9uIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9jZGsvb2JzZXJ2ZXJzL29ic2VydmUtY29udGVudC50c1xuICogQW5ndWxhciBtYXkgYWRkLCByZW1vdmUsIG9yIGVkaXQgY29tbWVudCBub2RlcyBkdXJpbmcgY2hhbmdlIGRldGVjdGlvbi4gV2UgZG9uJ3QgY2FyZSBhYm91dFxuICogdGhlc2UgY2hhbmdlcyBiZWNhdXNlIHRoZXkgZG9uJ3QgYWZmZWN0IHRoZSB1c2VyLXByZWNlaXZlZCBjb250ZW50LCBhbmQgd29yc2UgaXQgY2FuIGNhdXNlXG4gKiBpbmZpbml0ZSBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlcyB3aGVyZSB0aGUgY2hhbmdlIGRldGVjdGlvbiB1cGRhdGVzIGEgY29tbWVudCwgdHJpZ2dlcmluZyB0aGVcbiAqIE11dGF0aW9uT2JzZXJ2ZXIsIHRyaWdnZXJpbmcgYW5vdGhlciBjaGFuZ2UgZGV0ZWN0aW9uIGFuZCBraWNraW5nIHRoZSBjeWNsZSBvZmYgYWdhaW4uICovXG5mdW5jdGlvbiBzaG91bGRJZ25vcmVNdXRhdGlvblJlY29yZChyZWNvcmQ6IE11dGF0aW9uUmVjb3JkKSB7XG4gIC8vIElnbm9yZSBjaGFuZ2VzIHRvIGNvbW1lbnQgdGV4dC5cbiAgaWYgKHJlY29yZC50eXBlID09PSAnY2hhcmFjdGVyRGF0YScgJiYgcmVjb3JkLnRhcmdldCBpbnN0YW5jZW9mIENvbW1lbnQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZ25vcmUgYWRkaXRpb24gLyByZW1vdmFsIG9mIGNvbW1lbnRzLlxuICBpZiAocmVjb3JkLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZWNvcmQuYWRkZWROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCEocmVjb3JkLmFkZGVkTm9kZXNbaV0gaW5zdGFuY2VvZiBDb21tZW50KSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVjb3JkLnJlbW92ZWROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCEocmVjb3JkLnJlbW92ZWROb2Rlc1tpXSBpbnN0YW5jZW9mIENvbW1lbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gT2JzZXJ2ZSBldmVyeXRoaW5nIGVsc2UuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgTXV0YXRpb25PYnNlcnZlciBhbmQgb2JzZXJ2ZXMgY29udGVudCBjaGFuZ2VzIGluIGEgZ2l2ZW4gZWxlbWVudC5cbiAqIFRoZSBwcm92aWRlZCBjYWxsYmFjayBpcyBjYWxsZWQgd2hlbiBjaGFuZ2VzIGFyZSBkZXRlY3RlZC5cbiAqXG4gKiBAcmV0dXJucyBmdW5jdGlvbiAtIGFuIHVub2JzZXJ2ZSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBjYWxsZWQgdG8gZGlzY29ubmVjdCB0aGUgY3JlYXRlZCBvYnNlcnZlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmVDb250ZW50KFxuICBvYnNlcnZlZEVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBjb250ZW50Q2hhbmdlZENhbGxiYWNrOiAoKSA9PiB2b2lkXG4pOiBVbm9ic2VydmVGbiB7XG4gIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyZWRNdXRhdGlvbnMgPSBtdXRhdGlvbnMuZmlsdGVyKChtdXRhdGlvbikgPT4gIXNob3VsZElnbm9yZU11dGF0aW9uUmVjb3JkKG11dGF0aW9uKSk7XG4gICAgaWYgKGZpbHRlcmVkTXV0YXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnRlbnRDaGFuZ2VkQ2FsbGJhY2soKTtcbiAgICB9XG4gIH0pO1xuXG4gIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShvYnNlcnZlZEVsZW1lbnQsIHtcbiAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxuICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICBzdWJ0cmVlOiB0cnVlLFxuICB9KTtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIG11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9O1xufVxuIl19","import { Injectable } from '@angular/core';\nimport { DesignTokenHelper } from './design-token-helper';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@kirbydesign/designsystem/types\";\nexport class PlatformService {\n constructor(windowRef) {\n this.windowRef = windowRef;\n }\n isTouch() {\n const isTouchDeviceQuery = '(pointer: coarse)'; // No check for `hover: none`, as Samsung Galaxy will return false on `hover: none` media query\n return this.windowRef.nativeWindow.matchMedia(isTouchDeviceQuery).matches;\n }\n isPhabletOrBigger() {\n const query = `(min-width: ${DesignTokenHelper.breakpoints.medium})`;\n return this.windowRef.nativeWindow.matchMedia(query).matches;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: PlatformService, deps: [{ token: i1.WindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: PlatformService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: PlatformService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.WindowRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL3BsYXRmb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBSzFELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBRyxDQUFDO0lBRTVDLE9BQU87UUFDTCxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDLENBQUMsK0ZBQStGO1FBQy9JLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzVFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLEtBQUssR0FBRyxlQUFlLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDL0QsQ0FBQztrSUFYVSxlQUFlO3NJQUFmLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgV2luZG93UmVmIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5pbXBvcnQgeyBEZXNpZ25Ub2tlbkhlbHBlciB9IGZyb20gJy4vZGVzaWduLXRva2VuLWhlbHBlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdpbmRvd1JlZjogV2luZG93UmVmKSB7fVxuXG4gIGlzVG91Y2goKSB7XG4gICAgY29uc3QgaXNUb3VjaERldmljZVF1ZXJ5ID0gJyhwb2ludGVyOiBjb2Fyc2UpJzsgLy8gTm8gY2hlY2sgZm9yIGBob3Zlcjogbm9uZWAsIGFzIFNhbXN1bmcgR2FsYXh5IHdpbGwgcmV0dXJuIGZhbHNlIG9uIGBob3Zlcjogbm9uZWAgbWVkaWEgcXVlcnlcbiAgICByZXR1cm4gdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93Lm1hdGNoTWVkaWEoaXNUb3VjaERldmljZVF1ZXJ5KS5tYXRjaGVzO1xuICB9XG5cbiAgaXNQaGFibGV0T3JCaWdnZXIoKSB7XG4gICAgY29uc3QgcXVlcnkgPSBgKG1pbi13aWR0aDogJHtEZXNpZ25Ub2tlbkhlbHBlci5icmVha3BvaW50cy5tZWRpdW19KWA7XG4gICAgcmV0dXJuIHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xuICB9XG59XG4iXX0=","/*\n Type guard is needed as of chart.js@3.8.1. The config type has been updated to a union type,\n and the newly added type 'ChartConfigurationCustomTypesPerDataset' does not contain the 'type' property.\n Typescript will throw an error, when trying to access a property that doesn't exist on all union types,\n unless a type guard is used.\n*/\nexport const chartConfigHasType = (config) => {\n return 'type' in config;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29uZmlnLWhhcy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaGVscGVycy9zcmMvY2hhcnQtY29uZmlnLWhhcy10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7OztFQUtFO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsTUFBb0UsRUFDdEMsRUFBRTtJQUNoQyxPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUM7QUFDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhcnRDb25maWd1cmF0aW9uLCBDaGFydENvbmZpZ3VyYXRpb25DdXN0b21UeXBlc1BlckRhdGFzZXQgfSBmcm9tICdjaGFydC5qcyc7XG5cbi8qIFxuICBUeXBlIGd1YXJkIGlzIG5lZWRlZCBhcyBvZiBjaGFydC5qc0AzLjguMS4gVGhlIGNvbmZpZyB0eXBlIGhhcyBiZWVuIHVwZGF0ZWQgdG8gYSB1bmlvbiB0eXBlLCBcbiAgYW5kIHRoZSBuZXdseSBhZGRlZCB0eXBlICdDaGFydENvbmZpZ3VyYXRpb25DdXN0b21UeXBlc1BlckRhdGFzZXQnIGRvZXMgbm90IGNvbnRhaW4gdGhlICd0eXBlJyBwcm9wZXJ0eS5cbiAgVHlwZXNjcmlwdCB3aWxsIHRocm93IGFuIGVycm9yLCB3aGVuIHRyeWluZyB0byBhY2Nlc3MgYSBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpc3Qgb24gYWxsIHVuaW9uIHR5cGVzLFxuICB1bmxlc3MgYSB0eXBlIGd1YXJkIGlzIHVzZWQuIFxuKi9cblxuZXhwb3J0IGNvbnN0IGNoYXJ0Q29uZmlnSGFzVHlwZSA9IChcbiAgY29uZmlnOiBDaGFydENvbmZpZ3VyYXRpb24gfCBDaGFydENvbmZpZ3VyYXRpb25DdXN0b21UeXBlc1BlckRhdGFzZXRcbik6IGNvbmZpZyBpcyBDaGFydENvbmZpZ3VyYXRpb24gPT4ge1xuICByZXR1cm4gJ3R5cGUnIGluIGNvbmZpZztcbn07XG4iXX0=","/*\nCopied from https://github.com/ykdr8/ts-deepcopy.\n\nMIT License\n\nCopyright (c) 2017 ykdr2017\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\nexport function deepCopy(tgt) {\n let cp;\n if (tgt === null) {\n cp = tgt;\n }\n else if (tgt instanceof Date) {\n cp = new Date(tgt.getTime());\n }\n else if (Array.isArray(tgt)) {\n cp = [];\n tgt.forEach((v) => {\n cp.push(v);\n });\n cp = cp.map((n) => deepCopy(n));\n }\n else if (typeof tgt === 'object') {\n cp = { ...tgt };\n Object.keys(cp).forEach((k) => {\n cp[k] = deepCopy(cp[k]);\n });\n }\n else {\n cp = tgt;\n }\n return cp;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1jb3B5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaGVscGVycy9zcmMvZGVlcC1jb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFLLEdBQU87SUFDbEMsSUFBSSxFQUFNLENBQUM7SUFDWCxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqQixFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ1gsQ0FBQztTQUFNLElBQUksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQy9CLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBRSxHQUFXLENBQUMsT0FBTyxFQUFFLENBQVEsQ0FBQztJQUMvQyxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUIsRUFBRSxHQUFHLEVBQVMsQ0FBQztRQUNkLEdBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMxQixFQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxHQUFJLEVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7U0FBTSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLEVBQUUsR0FBRyxFQUFFLEdBQUksR0FBVSxFQUFRLENBQUM7UUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQixFQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFPLEVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDTixFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ1gsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20veWtkcjgvdHMtZGVlcGNvcHkuXG5cbk1JVCBMaWNlbnNlXG5cbkNvcHlyaWdodCAoYykgMjAxNyB5a2RyMjAxN1xuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG5vZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG5pbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG50byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG5jb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG5GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG5PVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuU09GVFdBUkUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwQ29weTxUcD4odGd0OiBUcCk6IFRwIHtcbiAgbGV0IGNwOiBUcDtcbiAgaWYgKHRndCA9PT0gbnVsbCkge1xuICAgIGNwID0gdGd0O1xuICB9IGVsc2UgaWYgKHRndCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICBjcCA9IG5ldyBEYXRlKCh0Z3QgYXMgYW55KS5nZXRUaW1lKCkpIGFzIGFueTtcbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRndCkpIHtcbiAgICBjcCA9IFtdIGFzIGFueTtcbiAgICAodGd0IGFzIGFueVtdKS5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAoY3AgYXMgYW55KS5wdXNoKHYpO1xuICAgIH0pO1xuICAgIGNwID0gKGNwIGFzIGFueSkubWFwKChuOiBhbnkpID0+IGRlZXBDb3B5PGFueT4obikpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB0Z3QgPT09ICdvYmplY3QnKSB7XG4gICAgY3AgPSB7IC4uLih0Z3QgYXMgVHApIH0gYXMgVHA7XG4gICAgT2JqZWN0LmtleXMoY3ApLmZvckVhY2goKGspID0+IHtcbiAgICAgIChjcCBhcyBhbnkpW2tdID0gZGVlcENvcHk8YW55PigoY3AgYXMgYW55KVtrXSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgY3AgPSB0Z3Q7XG4gIH1cbiAgcmV0dXJuIGNwO1xufVxuIl19","/**\n * Performs a deep merge of objects and returns new object. Does not modify\n * objects (immutable).\n * It merges from into object to the left\n * eg. mergeDeep({a: 'will be overridden', b: 'some val'}, {a: 'new val'}) => {a: 'new val', b: 'some val'}\n *\n * @param originalObject object - Object to override,\n * @param overrideObject object - Object to override \"toOverride\" values with\n * @param config object - Configuration for how to merge.\n * mergeArrays determines if it should merge or override arrays\n * @returns object - New object with merged key/values\n */\nexport function mergeDeep(originalObject, overrideObject, config = { mergeArrays: false }) {\n const isObject = (obj) => obj && typeof obj === 'object';\n return [originalObject, overrideObject].reduce((mergedObject, obj) => {\n Object.keys(obj).forEach((key) => {\n const mergedObjectValue = mergedObject[key];\n const overrideObjectValue = obj[key];\n if (Array.isArray(mergedObjectValue) && Array.isArray(overrideObjectValue)) {\n mergedObject[key] = config.mergeArrays\n ? mergedObjectValue.concat(overrideObjectValue)\n : overrideObjectValue;\n }\n else if (isObject(mergedObjectValue) && isObject(overrideObjectValue)) {\n mergedObject[key] = mergeDeep(mergedObjectValue, overrideObjectValue);\n }\n else {\n mergedObject[key] = overrideObjectValue;\n }\n });\n return mergedObject;\n }, {});\n}\nexport function mergeDeepAll(...objects) {\n const objectsWithoutUndefined = objects.filter((object) => object !== undefined);\n return objectsWithoutUndefined.reduce((originalObject, overrideObject) => mergeDeep(originalObject, overrideObject));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtZGVlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL21lcmdlLWRlZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtJQUN2RixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQztJQUV6RCxPQUFPLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNuRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9CLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXJDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO2dCQUMzRSxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVc7b0JBQ3BDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7b0JBQy9DLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztZQUMxQixDQUFDO2lCQUFNLElBQUksUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztnQkFDeEUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsbUJBQW1CLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBRyxPQUFpQjtJQUMvQyxNQUFNLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztJQUNqRixPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUN2RSxTQUFTLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUMxQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUGVyZm9ybXMgYSBkZWVwIG1lcmdlIG9mIG9iamVjdHMgYW5kIHJldHVybnMgbmV3IG9iamVjdC4gRG9lcyBub3QgbW9kaWZ5XG4gKiBvYmplY3RzIChpbW11dGFibGUpLlxuICogSXQgbWVyZ2VzIGZyb20gaW50byBvYmplY3QgdG8gdGhlIGxlZnRcbiAqICBlZy4gbWVyZ2VEZWVwKHthOiAnd2lsbCBiZSBvdmVycmlkZGVuJywgYjogJ3NvbWUgdmFsJ30sIHthOiAnbmV3IHZhbCd9KSA9PiAge2E6ICduZXcgdmFsJywgYjogJ3NvbWUgdmFsJ31cbiAqXG4gKiBAcGFyYW0gb3JpZ2luYWxPYmplY3Qgb2JqZWN0IC0gT2JqZWN0IHRvIG92ZXJyaWRlLFxuICogQHBhcmFtIG92ZXJyaWRlT2JqZWN0IG9iamVjdCAtIE9iamVjdCB0byBvdmVycmlkZSBcInRvT3ZlcnJpZGVcIiB2YWx1ZXMgd2l0aFxuICogQHBhcmFtIGNvbmZpZyBvYmplY3QgLSBDb25maWd1cmF0aW9uIGZvciBob3cgdG8gbWVyZ2UuXG4gKiAgbWVyZ2VBcnJheXMgZGV0ZXJtaW5lcyBpZiBpdCBzaG91bGQgbWVyZ2Ugb3Igb3ZlcnJpZGUgYXJyYXlzXG4gKiBAcmV0dXJucyBvYmplY3QgLSBOZXcgb2JqZWN0IHdpdGggbWVyZ2VkIGtleS92YWx1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcChvcmlnaW5hbE9iamVjdCwgb3ZlcnJpZGVPYmplY3QsIGNvbmZpZyA9IHsgbWVyZ2VBcnJheXM6IGZhbHNlIH0pIHtcbiAgY29uc3QgaXNPYmplY3QgPSAob2JqKSA9PiBvYmogJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCc7XG5cbiAgcmV0dXJuIFtvcmlnaW5hbE9iamVjdCwgb3ZlcnJpZGVPYmplY3RdLnJlZHVjZSgobWVyZ2VkT2JqZWN0LCBvYmopID0+IHtcbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgbWVyZ2VkT2JqZWN0VmFsdWUgPSBtZXJnZWRPYmplY3Rba2V5XTtcbiAgICAgIGNvbnN0IG92ZXJyaWRlT2JqZWN0VmFsdWUgPSBvYmpba2V5XTtcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWVyZ2VkT2JqZWN0VmFsdWUpICYmIEFycmF5LmlzQXJyYXkob3ZlcnJpZGVPYmplY3RWYWx1ZSkpIHtcbiAgICAgICAgbWVyZ2VkT2JqZWN0W2tleV0gPSBjb25maWcubWVyZ2VBcnJheXNcbiAgICAgICAgICA/IG1lcmdlZE9iamVjdFZhbHVlLmNvbmNhdChvdmVycmlkZU9iamVjdFZhbHVlKVxuICAgICAgICAgIDogb3ZlcnJpZGVPYmplY3RWYWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QobWVyZ2VkT2JqZWN0VmFsdWUpICYmIGlzT2JqZWN0KG92ZXJyaWRlT2JqZWN0VmFsdWUpKSB7XG4gICAgICAgIG1lcmdlZE9iamVjdFtrZXldID0gbWVyZ2VEZWVwKG1lcmdlZE9iamVjdFZhbHVlLCBvdmVycmlkZU9iamVjdFZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lcmdlZE9iamVjdFtrZXldID0gb3ZlcnJpZGVPYmplY3RWYWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtZXJnZWRPYmplY3Q7XG4gIH0sIHt9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcEFsbCguLi5vYmplY3RzOiBvYmplY3RbXSk6IG9iamVjdCB7XG4gIGNvbnN0IG9iamVjdHNXaXRob3V0VW5kZWZpbmVkID0gb2JqZWN0cy5maWx0ZXIoKG9iamVjdCkgPT4gb2JqZWN0ICE9PSB1bmRlZmluZWQpO1xuICByZXR1cm4gb2JqZWN0c1dpdGhvdXRVbmRlZmluZWQucmVkdWNlKChvcmlnaW5hbE9iamVjdCwgb3ZlcnJpZGVPYmplY3QpID0+XG4gICAgbWVyZ2VEZWVwKG9yaWdpbmFsT2JqZWN0LCBvdmVycmlkZU9iamVjdClcbiAgKTtcbn1cbiJdfQ==","export class UniqueIdGenerator {\n static { this.registry = new Map(); }\n constructor(scope) {\n this.scope = scope;\n this.id = 0;\n }\n static scopedTo(scope) {\n let scopedGenerator = UniqueIdGenerator.registry.get(scope);\n if (!scopedGenerator) {\n scopedGenerator = new UniqueIdGenerator(scope);\n UniqueIdGenerator.registry.set(scope, scopedGenerator);\n }\n return scopedGenerator;\n }\n next() {\n return `${this.scope}-${this.id++}`;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLWlkLWdlbmVyYXRvci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy91bmlxdWUtaWQtZ2VuZXJhdG9yLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8saUJBQWlCO2FBQ2IsYUFBUSxHQUFHLElBQUksR0FBRyxFQUE2QixBQUF2QyxDQUF3QztJQUcvRCxZQUE0QixLQUFhO1FBQWIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUZqQyxPQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTZCLENBQUM7SUFFN0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLElBQUksZUFBZSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLGVBQWUsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVW5pcXVlSWRHZW5lcmF0b3Ige1xuICBwcml2YXRlIHN0YXRpYyByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBVbmlxdWVJZEdlbmVyYXRvcj4oKTtcbiAgcHJpdmF0ZSBpZCA9IDA7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHNjb3BlOiBzdHJpbmcpIHt9XG5cbiAgc3RhdGljIHNjb3BlZFRvKHNjb3BlOiBzdHJpbmcpIHtcbiAgICBsZXQgc2NvcGVkR2VuZXJhdG9yID0gVW5pcXVlSWRHZW5lcmF0b3IucmVnaXN0cnkuZ2V0KHNjb3BlKTtcbiAgICBpZiAoIXNjb3BlZEdlbmVyYXRvcikge1xuICAgICAgc2NvcGVkR2VuZXJhdG9yID0gbmV3IFVuaXF1ZUlkR2VuZXJhdG9yKHNjb3BlKTtcbiAgICAgIFVuaXF1ZUlkR2VuZXJhdG9yLnJlZ2lzdHJ5LnNldChzY29wZSwgc2NvcGVkR2VuZXJhdG9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHNjb3BlZEdlbmVyYXRvcjtcbiAgfVxuXG4gIG5leHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zY29wZX0tJHt0aGlzLmlkKyt9YDtcbiAgfVxufVxuIl19","export class StringSearchHelper {\n static getIndexByFirstMatchingStartString(searchString, words, startIndex) {\n searchString = searchString.toLowerCase();\n const wordsStartingWithMatchString = words\n .map((word, index) => {\n return { word: word.toLowerCase(), index };\n })\n .filter((match) => match.word.startsWith(searchString));\n if (wordsStartingWithMatchString.length === 0) {\n return -1;\n }\n const firstWordStartingWithChar = wordsStartingWithMatchString[0];\n const nextWordStartingWithChar = wordsStartingWithMatchString.find((wordAndIndex) => wordAndIndex.index >= startIndex);\n return nextWordStartingWithChar?.index ?? firstWordStartingWithChar.index;\n }\n static isPrintableCharacter(key) {\n return key.length === 1 && /\\S/.test(key);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXNlYXJjaC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy9zdHJpbmctc2VhcmNoLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FDdkMsWUFBb0IsRUFDcEIsS0FBZSxFQUNmLFVBQWtCO1FBRWxCLFlBQVksR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFMUMsTUFBTSw0QkFBNEIsR0FBRyxLQUFLO2FBQ3ZDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFFMUQsSUFBSSw0QkFBNEIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNaLENBQUM7UUFFRCxNQUFNLHlCQUF5QixHQUFHLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sd0JBQXdCLEdBQUcsNEJBQTRCLENBQUMsSUFBSSxDQUNoRSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQ25ELENBQUM7UUFFRixPQUFPLHdCQUF3QixFQUFFLEtBQUssSUFBSSx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7SUFDNUUsQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFXO1FBQ3JDLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU3RyaW5nU2VhcmNoSGVscGVyIHtcbiAgc3RhdGljIGdldEluZGV4QnlGaXJzdE1hdGNoaW5nU3RhcnRTdHJpbmcoXG4gICAgc2VhcmNoU3RyaW5nOiBzdHJpbmcsXG4gICAgd29yZHM6IHN0cmluZ1tdLFxuICAgIHN0YXJ0SW5kZXg6IG51bWJlclxuICApOiBudW1iZXIge1xuICAgIHNlYXJjaFN0cmluZyA9IHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpO1xuXG4gICAgY29uc3Qgd29yZHNTdGFydGluZ1dpdGhNYXRjaFN0cmluZyA9IHdvcmRzXG4gICAgICAubWFwKCh3b3JkLCBpbmRleCkgPT4ge1xuICAgICAgICByZXR1cm4geyB3b3JkOiB3b3JkLnRvTG93ZXJDYXNlKCksIGluZGV4IH07XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigobWF0Y2gpID0+IG1hdGNoLndvcmQuc3RhcnRzV2l0aChzZWFyY2hTdHJpbmcpKTtcblxuICAgIGlmICh3b3Jkc1N0YXJ0aW5nV2l0aE1hdGNoU3RyaW5nLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0V29yZFN0YXJ0aW5nV2l0aENoYXIgPSB3b3Jkc1N0YXJ0aW5nV2l0aE1hdGNoU3RyaW5nWzBdO1xuICAgIGNvbnN0IG5leHRXb3JkU3RhcnRpbmdXaXRoQ2hhciA9IHdvcmRzU3RhcnRpbmdXaXRoTWF0Y2hTdHJpbmcuZmluZChcbiAgICAgICh3b3JkQW5kSW5kZXgpID0+IHdvcmRBbmRJbmRleC5pbmRleCA+PSBzdGFydEluZGV4XG4gICAgKTtcblxuICAgIHJldHVybiBuZXh0V29yZFN0YXJ0aW5nV2l0aENoYXI/LmluZGV4ID8/IGZpcnN0V29yZFN0YXJ0aW5nV2l0aENoYXIuaW5kZXg7XG4gIH1cblxuICBzdGF0aWMgaXNQcmludGFibGVDaGFyYWN0ZXIoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4ga2V5Lmxlbmd0aCA9PT0gMSAmJiAvXFxTLy50ZXN0KGtleSk7XG4gIH1cbn1cbiJdfQ==","import { Injectable, RendererStyleFlags2 } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nconst config = Object.freeze({\n className: 'kirby-line-clamp',\n lineClamp: '--line-clamp',\n lineHeight: '--line-height',\n});\nexport class LineClampHelper {\n constructor(renderer) {\n this.renderer = renderer;\n }\n setMaxLines(element, maxLines) {\n this.renderer.setStyle(element, config.lineClamp, maxLines, RendererStyleFlags2.DashCase);\n this.renderer.addClass(element, config.className);\n }\n setLineHeight(element, lineHeight) {\n // Only necessary for the fallback solution to work\n this.renderer.setStyle(element, config.lineHeight, lineHeight, RendererStyleFlags2.DashCase);\n }\n removeLineClamp(element) {\n this.renderer.removeClass(element, config.className);\n this.renderer.removeStyle(element, config.lineClamp);\n this.renderer.removeStyle(element, config.lineHeight);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: LineClampHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: LineClampHelper }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: LineClampHelper, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Renderer2 }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy9saW5lLWNsYW1wLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzRSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzNCLFNBQVMsRUFBRSxrQkFBa0I7SUFDN0IsU0FBUyxFQUFFLGNBQWM7SUFDekIsVUFBVSxFQUFFLGVBQWU7Q0FDNUIsQ0FBQyxDQUFDO0FBR0gsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFM0MsV0FBVyxDQUFDLE9BQWdCLEVBQUUsUUFBZ0I7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFnQixFQUFFLFVBQWtCO1FBQ2hELG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFnQjtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDO2tJQWpCVSxlQUFlO3NJQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyU3R5bGVGbGFnczIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgY29uZmlnID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGNsYXNzTmFtZTogJ2tpcmJ5LWxpbmUtY2xhbXAnLFxuICBsaW5lQ2xhbXA6ICctLWxpbmUtY2xhbXAnLFxuICBsaW5lSGVpZ2h0OiAnLS1saW5lLWhlaWdodCcsXG59KTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExpbmVDbGFtcEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBzZXRNYXhMaW5lcyhlbGVtZW50OiBFbGVtZW50LCBtYXhMaW5lczogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCBjb25maWcubGluZUNsYW1wLCBtYXhMaW5lcywgUmVuZGVyZXJTdHlsZUZsYWdzMi5EYXNoQ2FzZSk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50LCBjb25maWcuY2xhc3NOYW1lKTtcbiAgfVxuXG4gIHNldExpbmVIZWlnaHQoZWxlbWVudDogRWxlbWVudCwgbGluZUhlaWdodDogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gT25seSBuZWNlc3NhcnkgZm9yIHRoZSBmYWxsYmFjayBzb2x1dGlvbiB0byB3b3JrXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCBjb25maWcubGluZUhlaWdodCwgbGluZUhlaWdodCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5EYXNoQ2FzZSk7XG4gIH1cblxuICByZW1vdmVMaW5lQ2xhbXAoZWxlbWVudDogRWxlbWVudCkge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgY29uZmlnLmNsYXNzTmFtZSk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShlbGVtZW50LCBjb25maWcubGluZUNsYW1wKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKGVsZW1lbnQsIGNvbmZpZy5saW5lSGVpZ2h0KTtcbiAgfVxufVxuIl19","/* eslint-disable @typescript-eslint/no-namespace */\nimport { DesignTokenHelper } from './design-token-helper';\nexport var KirbyAnimation;\n(function (KirbyAnimation) {\n let Duration;\n (function (Duration) {\n // Duration in milliseconds\n Duration[Duration[\"QUICK\"] = parseInt(DesignTokenHelper.transitionDuration('quick'))] = \"QUICK\";\n Duration[Duration[\"SHORT\"] = parseInt(DesignTokenHelper.transitionDuration('short'))] = \"SHORT\";\n Duration[Duration[\"LONG\"] = parseInt(DesignTokenHelper.transitionDuration('long'))] = \"LONG\";\n Duration[Duration[\"EXTRA_LONG\"] = parseInt(DesignTokenHelper.transitionDuration('extraLong'))] = \"EXTRA_LONG\";\n })(Duration = KirbyAnimation.Duration || (KirbyAnimation.Duration = {}));\n KirbyAnimation.Easing = DesignTokenHelper.transitionEasings();\n})(KirbyAnimation || (KirbyAnimation = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnktYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaGVscGVycy9zcmMva2lyYnktYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxNQUFNLEtBQVcsY0FBYyxDQVM5QjtBQVRELFdBQWlCLGNBQWM7SUFDN0IsSUFBWSxRQU1YO0lBTkQsV0FBWSxRQUFRO1FBQ2xCLDJCQUEyQjtRQUMzQiw2QkFBUSxRQUFRLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBQSxDQUFBO1FBQy9ELDZCQUFRLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFBLENBQUE7UUFDL0QsNEJBQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQUEsQ0FBQTtRQUM3RCxrQ0FBYSxRQUFRLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsZ0JBQUEsQ0FBQTtJQUMxRSxDQUFDLEVBTlcsUUFBUSxHQUFSLHVCQUFRLEtBQVIsdUJBQVEsUUFNbkI7SUFDWSxxQkFBTSxHQUFHLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUM7QUFDOUQsQ0FBQyxFQVRnQixjQUFjLEtBQWQsY0FBYyxRQVM5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2UgKi9cbmltcG9ydCB7IERlc2lnblRva2VuSGVscGVyIH0gZnJvbSAnLi9kZXNpZ24tdG9rZW4taGVscGVyJztcblxuZXhwb3J0IG5hbWVzcGFjZSBLaXJieUFuaW1hdGlvbiB7XG4gIGV4cG9ydCBlbnVtIER1cmF0aW9uIHtcbiAgICAvLyBEdXJhdGlvbiBpbiBtaWxsaXNlY29uZHNcbiAgICBRVUlDSyA9IHBhcnNlSW50KERlc2lnblRva2VuSGVscGVyLnRyYW5zaXRpb25EdXJhdGlvbigncXVpY2snKSksXG4gICAgU0hPUlQgPSBwYXJzZUludChEZXNpZ25Ub2tlbkhlbHBlci50cmFuc2l0aW9uRHVyYXRpb24oJ3Nob3J0JykpLFxuICAgIExPTkcgPSBwYXJzZUludChEZXNpZ25Ub2tlbkhlbHBlci50cmFuc2l0aW9uRHVyYXRpb24oJ2xvbmcnKSksXG4gICAgRVhUUkFfTE9ORyA9IHBhcnNlSW50KERlc2lnblRva2VuSGVscGVyLnRyYW5zaXRpb25EdXJhdGlvbignZXh0cmFMb25nJykpLFxuICB9XG4gIGV4cG9ydCBjb25zdCBFYXNpbmcgPSBEZXNpZ25Ub2tlbkhlbHBlci50cmFuc2l0aW9uRWFzaW5ncygpO1xufVxuIl19","import { Injectable } from '@angular/core';\nimport { componentOnReady } from '@ionic/core';\nimport * as i0 from \"@angular/core\";\nexport class IonicElementPartHelper {\n constructor(renderer) {\n this.renderer = renderer;\n }\n async setPart(partName, ionicElementRef, selector) {\n // Ensure custom element has been defined and rendered\n await customElements.whenDefined(ionicElementRef.nativeElement.localName);\n const customElement = await new Promise((resolve) => {\n componentOnReady(ionicElementRef.nativeElement, (element) => resolve(element));\n });\n const partElement = customElement.shadowRoot.querySelector(selector);\n if (!partElement)\n return;\n this.renderer.setAttribute(partElement, 'part', partName);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: IonicElementPartHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: IonicElementPartHelper }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.13\", ngImport: i0, type: IonicElementPartHelper, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Renderer2 }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtZWxlbWVudC1wYXJ0LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL2lvbmljLWVsZW1lbnQtcGFydC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRy9DLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFcEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFnQixFQUFFLGVBQTJCLEVBQUUsUUFBZ0I7UUFDbEYsc0RBQXNEO1FBQ3RELE1BQU0sY0FBYyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQWMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMvRCxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFnQixhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsV0FBVztZQUFFLE9BQU87UUFFekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDO2tJQWRVLHNCQUFzQjtzSUFBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21wb25lbnRPblJlYWR5IH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW9uaWNFbGVtZW50UGFydEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBwdWJsaWMgYXN5bmMgc2V0UGFydChwYXJ0TmFtZTogc3RyaW5nLCBpb25pY0VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHNlbGVjdG9yOiBzdHJpbmcpIHtcbiAgICAvLyBFbnN1cmUgY3VzdG9tIGVsZW1lbnQgaGFzIGJlZW4gZGVmaW5lZCBhbmQgcmVuZGVyZWRcbiAgICBhd2FpdCBjdXN0b21FbGVtZW50cy53aGVuRGVmaW5lZChpb25pY0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5sb2NhbE5hbWUpO1xuICAgIGNvbnN0IGN1c3RvbUVsZW1lbnQgPSBhd2FpdCBuZXcgUHJvbWlzZTxIVE1MRWxlbWVudD4oKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbXBvbmVudE9uUmVhZHkoaW9uaWNFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIChlbGVtZW50KSA9PiByZXNvbHZlKGVsZW1lbnQpKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHBhcnRFbGVtZW50OiBIVE1MRWxlbWVudCA9IGN1c3RvbUVsZW1lbnQuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgICBpZiAoIXBhcnRFbGVtZW50KSByZXR1cm47XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXJ0RWxlbWVudCwgJ3BhcnQnLCBwYXJ0TmFtZSk7XG4gIH1cbn1cbiJdfQ==","// re-export helpers from core, to preserve backwards compatability\n// of 'designsystem' library\nexport * from './element-ancestor-utils';\nexport * from './color-helper';\nexport * from './content-mutation-observer';\nexport * from './design-token-helper';\nexport * from './string-helper';\nexport * from './theme-color.type';\nexport * from './platform.service';\nexport * from './chart-config-has-type';\nexport * from './deep-copy';\nexport * from './merge-deep';\nexport * from './unique-id-generator.helper';\nexport * from './string-search.helper';\nexport * from './line-clamp-helper';\nexport * from './kirby-animation';\nexport * from './ionic-element-part-helper';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUVBQW1FO0FBQ25FLDRCQUE0QjtBQUM1QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcmUtZXhwb3J0IGhlbHBlcnMgZnJvbSBjb3JlLCB0byBwcmVzZXJ2ZSBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuLy8gb2YgJ2Rlc2lnbnN5c3RlbScgbGlicmFyeVxuZXhwb3J0ICogZnJvbSAnLi9lbGVtZW50LWFuY2VzdG9yLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGVudC1tdXRhdGlvbi1vYnNlcnZlcic7XG5leHBvcnQgKiBmcm9tICcuL2Rlc2lnbi10b2tlbi1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJpbmctaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGhlbWUtY29sb3IudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BsYXRmb3JtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1jb25maWctaGFzLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWVwLWNvcHknO1xuZXhwb3J0ICogZnJvbSAnLi9tZXJnZS1kZWVwJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pcXVlLWlkLWdlbmVyYXRvci5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJpbmctc2VhcmNoLmhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpbmUtY2xhbXAtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4va2lyYnktYW5pbWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaW9uaWMtZWxlbWVudC1wYXJ0LWhlbHBlcic7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy9raXJieWRlc2lnbi1kZXNpZ25zeXN0ZW0taGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kirbydesign-designsystem-helpers.mjs","sources":["../../helpers/src/element-ancestor-utils.ts","../../helpers/src/content-mutation-observer.ts","../../helpers/src/platform.service.ts","../../helpers/src/chart-config-has-type.ts","../../helpers/src/deep-copy.ts","../../helpers/src/merge-deep.ts","../../helpers/src/unique-id-generator.helper.ts","../../helpers/src/string-search.helper.ts","../../helpers/src/line-clamp-helper.ts","../../helpers/src/kirby-animation.ts","../../helpers/src/ionic-element-part-helper.ts","../../helpers/src/public_api.ts","../../helpers/src/kirbydesign-designsystem-helpers.ts"],"sourcesContent":["/* \n Utility function to check if a given element \n has an ancestor with a specific node name. \n\n Can be given a 'stopNodeName' to limit the search\n as to not climb all the way up through the DOM tree. \n\n Returns true when element has the ancestorNodeName \n or an ancestor has the ancestorNodeName. \n\n Returns false otherwise.\n*/\n\nexport const elementHasAncestor = (\n element: HTMLElement,\n ancestorNodeName: string,\n stopNodeName?: string\n) => {\n switch (element?.nodeName) {\n case undefined:\n case stopNodeName?.toUpperCase():\n return false;\n case ancestorNodeName.toUpperCase():\n return true;\n default:\n return elementHasAncestor(element.parentElement, ancestorNodeName, stopNodeName);\n }\n};\n\n/*\n * Utility function to find the closest ancestor modal and\n * get the element with a dialog role from within its shadow root.\n */\nexport function getIonModalDialogAncestor(currentElement: HTMLElement): HTMLElement | undefined {\n const ionModalElement = currentElement.closest('ion-modal');\n const modalElementDialog = ionModalElement?.shadowRoot?.querySelector(\n '[role=\"dialog\"]'\n ) as HTMLElement;\n return modalElementDialog;\n}\n","import { UnobserveFn } from '@kirbydesign/designsystem/types';\n\n/* Function based on https://github.com/angular/components/blob/main/src/cdk/observers/observe-content.ts\n * Angular may add, remove, or edit comment nodes during change detection. We don't care about\n * these changes because they don't affect the user-preceived content, and worse it can cause\n * infinite change detection cycles where the change detection updates a comment, triggering the\n * MutationObserver, triggering another change detection and kicking the cycle off again. */\nfunction shouldIgnoreMutationRecord(record: MutationRecord) {\n // Ignore changes to comment text.\n if (record.type === 'characterData' && record.target instanceof Comment) {\n return true;\n }\n // Ignore addition / removal of comments.\n if (record.type === 'childList') {\n for (let i = 0; i < record.addedNodes.length; i++) {\n if (!(record.addedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n for (let i = 0; i < record.removedNodes.length; i++) {\n if (!(record.removedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n return true;\n }\n // Observe everything else.\n return false;\n}\n\n/**\n * Creates a MutationObserver and observes content changes in a given element.\n * The provided callback is called when changes are detected.\n *\n * @returns function - an unobserve function that can be called to disconnect the created observer.\n */\nexport function observeContent(\n observedElement: HTMLElement,\n contentChangedCallback: () => void\n): UnobserveFn {\n const mutationObserver = new MutationObserver((mutations) => {\n const filteredMutations = mutations.filter((mutation) => !shouldIgnoreMutationRecord(mutation));\n if (filteredMutations.length > 0) {\n contentChangedCallback();\n }\n });\n\n mutationObserver.observe(observedElement, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n\n return () => {\n mutationObserver.disconnect();\n };\n}\n","import { Injectable } from '@angular/core';\n\nimport { WindowRef } from '@kirbydesign/designsystem/types';\nimport { DesignTokenHelper } from './design-token-helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PlatformService {\n constructor(private windowRef: WindowRef) {}\n\n isTouch() {\n const isTouchDeviceQuery = '(pointer: coarse)'; // No check for `hover: none`, as Samsung Galaxy will return false on `hover: none` media query\n return this.windowRef.nativeWindow.matchMedia(isTouchDeviceQuery).matches;\n }\n\n isPhabletOrBigger() {\n const query = `(min-width: ${DesignTokenHelper.breakpoints.medium})`;\n return this.windowRef.nativeWindow.matchMedia(query).matches;\n }\n}\n","import { ChartConfiguration, ChartConfigurationCustomTypesPerDataset } from 'chart.js';\n\n/* \n Type guard is needed as of chart.js@3.8.1. The config type has been updated to a union type, \n and the newly added type 'ChartConfigurationCustomTypesPerDataset' does not contain the 'type' property.\n Typescript will throw an error, when trying to access a property that doesn't exist on all union types,\n unless a type guard is used. \n*/\n\nexport const chartConfigHasType = (\n config: ChartConfiguration | ChartConfigurationCustomTypesPerDataset\n): config is ChartConfiguration => {\n return 'type' in config;\n};\n","/*\nCopied from https://github.com/ykdr8/ts-deepcopy.\n\nMIT License\n\nCopyright (c) 2017 ykdr2017\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\nexport function deepCopy<Tp>(tgt: Tp): Tp {\n let cp: Tp;\n if (tgt === null) {\n cp = tgt;\n } else if (tgt instanceof Date) {\n cp = new Date((tgt as any).getTime()) as any;\n } else if (Array.isArray(tgt)) {\n cp = [] as any;\n (tgt as any[]).forEach((v) => {\n (cp as any).push(v);\n });\n cp = (cp as any).map((n: any) => deepCopy<any>(n));\n } else if (typeof tgt === 'object') {\n cp = { ...(tgt as Tp) } as Tp;\n Object.keys(cp).forEach((k) => {\n (cp as any)[k] = deepCopy<any>((cp as any)[k]);\n });\n } else {\n cp = tgt;\n }\n return cp;\n}\n","/**\n * Performs a deep merge of objects and returns new object. Does not modify\n * objects (immutable).\n * It merges from into object to the left\n * eg. mergeDeep({a: 'will be overridden', b: 'some val'}, {a: 'new val'}) => {a: 'new val', b: 'some val'}\n *\n * @param originalObject object - Object to override,\n * @param overrideObject object - Object to override \"toOverride\" values with\n * @param config object - Configuration for how to merge.\n * mergeArrays determines if it should merge or override arrays\n * @returns object - New object with merged key/values\n */\nexport function mergeDeep(originalObject, overrideObject, config = { mergeArrays: false }) {\n const isObject = (obj) => obj && typeof obj === 'object';\n\n return [originalObject, overrideObject].reduce((mergedObject, obj) => {\n Object.keys(obj).forEach((key) => {\n const mergedObjectValue = mergedObject[key];\n const overrideObjectValue = obj[key];\n\n if (Array.isArray(mergedObjectValue) && Array.isArray(overrideObjectValue)) {\n mergedObject[key] = config.mergeArrays\n ? mergedObjectValue.concat(overrideObjectValue)\n : overrideObjectValue;\n } else if (isObject(mergedObjectValue) && isObject(overrideObjectValue)) {\n mergedObject[key] = mergeDeep(mergedObjectValue, overrideObjectValue);\n } else {\n mergedObject[key] = overrideObjectValue;\n }\n });\n\n return mergedObject;\n }, {});\n}\n\nexport function mergeDeepAll(...objects: object[]): object {\n const objectsWithoutUndefined = objects.filter((object) => object !== undefined);\n return objectsWithoutUndefined.reduce((originalObject, overrideObject) =>\n mergeDeep(originalObject, overrideObject)\n );\n}\n","export class UniqueIdGenerator {\n private static registry = new Map<string, UniqueIdGenerator>();\n private id = 0;\n\n private constructor(private scope: string) {}\n\n static scopedTo(scope: string) {\n let scopedGenerator = UniqueIdGenerator.registry.get(scope);\n if (!scopedGenerator) {\n scopedGenerator = new UniqueIdGenerator(scope);\n UniqueIdGenerator.registry.set(scope, scopedGenerator);\n }\n return scopedGenerator;\n }\n\n next(): string {\n return `${this.scope}-${this.id++}`;\n }\n}\n","export class StringSearchHelper {\n static getIndexByFirstMatchingStartString(\n searchString: string,\n words: string[],\n startIndex: number\n ): number {\n searchString = searchString.toLowerCase();\n\n const wordsStartingWithMatchString = words\n .map((word, index) => {\n return { word: word.toLowerCase(), index };\n })\n .filter((match) => match.word.startsWith(searchString));\n\n if (wordsStartingWithMatchString.length === 0) {\n return -1;\n }\n\n const firstWordStartingWithChar = wordsStartingWithMatchString[0];\n const nextWordStartingWithChar = wordsStartingWithMatchString.find(\n (wordAndIndex) => wordAndIndex.index >= startIndex\n );\n\n return nextWordStartingWithChar?.index ?? firstWordStartingWithChar.index;\n }\n\n static isPrintableCharacter(key: string): boolean {\n return key.length === 1 && /\\S/.test(key);\n }\n}\n","import { Injectable, Renderer2, RendererStyleFlags2 } from '@angular/core';\n\nconst config = Object.freeze({\n className: 'kirby-line-clamp',\n lineClamp: '--line-clamp',\n lineHeight: '--line-height',\n});\n\n@Injectable()\nexport class LineClampHelper {\n constructor(private renderer: Renderer2) {}\n\n setMaxLines(element: Element, maxLines: number): void {\n this.renderer.setStyle(element, config.lineClamp, maxLines, RendererStyleFlags2.DashCase);\n this.renderer.addClass(element, config.className);\n }\n\n setLineHeight(element: Element, lineHeight: string): void {\n // Only necessary for the fallback solution to work\n this.renderer.setStyle(element, config.lineHeight, lineHeight, RendererStyleFlags2.DashCase);\n }\n\n removeLineClamp(element: Element) {\n this.renderer.removeClass(element, config.className);\n this.renderer.removeStyle(element, config.lineClamp);\n this.renderer.removeStyle(element, config.lineHeight);\n }\n}\n","/* eslint-disable @typescript-eslint/no-namespace */\nimport { DesignTokenHelper } from './design-token-helper';\n\nexport namespace KirbyAnimation {\n export enum Duration {\n // Duration in milliseconds\n QUICK = parseInt(DesignTokenHelper.transitionDuration('quick')),\n SHORT = parseInt(DesignTokenHelper.transitionDuration('short')),\n LONG = parseInt(DesignTokenHelper.transitionDuration('long')),\n EXTRA_LONG = parseInt(DesignTokenHelper.transitionDuration('extraLong')),\n }\n export const Easing = DesignTokenHelper.transitionEasings();\n}\n","import { ElementRef, Injectable, Renderer2 } from '@angular/core';\nimport { componentOnReady } from '@ionic/core';\n\n@Injectable()\nexport class IonicElementPartHelper {\n constructor(private renderer: Renderer2) {}\n\n public async setPart(partName: string, ionicElementRef: ElementRef, selector: string) {\n // Ensure custom element has been defined and rendered\n await customElements.whenDefined(ionicElementRef.nativeElement.localName);\n const customElement = await new Promise<HTMLElement>((resolve) => {\n componentOnReady(ionicElementRef.nativeElement, (element) => resolve(element));\n });\n\n const partElement: HTMLElement = customElement.shadowRoot.querySelector(selector);\n if (!partElement) return;\n\n this.renderer.setAttribute(partElement, 'part', partName);\n }\n}\n","// re-export helpers from core, to preserve backwards compatability\n// of 'designsystem' library\nexport * from './element-ancestor-utils';\nexport * from './color-helper';\nexport * from './content-mutation-observer';\nexport * from './design-token-helper';\nexport * from './string-helper';\nexport * from './theme-color.type';\nexport * from './platform.service';\nexport * from './chart-config-has-type';\nexport * from './deep-copy';\nexport * from './merge-deep';\nexport * from './unique-id-generator.helper';\nexport * from './string-search.helper';\nexport * from './line-clamp-helper';\nexport * from './kirby-animation';\nexport * from './ionic-element-part-helper';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|