@kirbydesign/designsystem 11.11.3-dev-e7cb27f → 12.0.0-dev-67d5287
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/fesm2022/kirbydesign-designsystem-accordion.mjs +246 -135
- package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-action-group.mjs +229 -134
- package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-avatar.mjs +102 -55
- package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-badge.mjs +85 -42
- package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-button.mjs +203 -170
- package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-calendar.mjs +524 -516
- package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-card.mjs +439 -205
- package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-chart.mjs +1388 -1469
- package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-checkbox.mjs +215 -176
- package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-config.mjs +50 -96
- package/fesm2022/kirbydesign-designsystem-config.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-data-table.mjs +180 -83
- package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-divider.mjs +46 -19
- package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-dropdown.mjs +878 -752
- package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-empty-state.mjs +164 -91
- package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +213 -85
- package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-flag.mjs +67 -33
- package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-form-field.mjs +1260 -901
- package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-gesture.mjs +38 -23
- package/fesm2022/kirbydesign-designsystem-gesture.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-header.mjs +422 -182
- package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs +16 -14
- package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-helpers.mjs +251 -361
- package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-icon.mjs +881 -303
- package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item-group.mjs +52 -23
- package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +147 -43
- package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item.mjs +395 -151
- package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +136 -54
- package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-list.mjs +1185 -697
- package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +166 -76
- package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-menu.mjs +420 -311
- package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-modal.mjs +2467 -1912
- package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-page.mjs +1505 -923
- package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-popover.mjs +203 -183
- package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +209 -121
- package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-radio.mjs +537 -365
- package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-range.mjs +207 -150
- package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +217 -104
- package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +113 -38
- package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-section-header.mjs +56 -18
- package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-segmented-control.mjs +276 -232
- package/fesm2022/kirbydesign-designsystem-segmented-control.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +319 -382
- package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +73 -84
- package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared.mjs +665 -529
- package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-slide-button.mjs +140 -91
- package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-slide.mjs +360 -158
- package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-spinner.mjs +90 -32
- package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +348 -181
- package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-tabs.mjs +286 -121
- package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-base.mjs +6232 -3164
- package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +118 -95
- package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +128 -101
- package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing.mjs +236 -243
- package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toast.mjs +98 -62
- package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +155 -127
- package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toggle.mjs +180 -150
- package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-types.mjs +39 -24
- package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem.mjs +516 -407
- package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
- package/icons/svg/megaphone.svg +3 -0
- package/package.json +10 -10
- package/readme.md +37 -0
- package/types/kirbydesign-designsystem-accordion.d.ts +72 -39
- package/types/kirbydesign-designsystem-accordion.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-action-group.d.ts +46 -39
- package/types/kirbydesign-designsystem-action-group.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-avatar.d.ts +62 -26
- package/types/kirbydesign-designsystem-avatar.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-badge.d.ts +30 -19
- package/types/kirbydesign-designsystem-badge.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-button.d.ts +70 -45
- package/types/kirbydesign-designsystem-button.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-calendar.d.ts +193 -132
- package/types/kirbydesign-designsystem-calendar.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-card.d.ts +130 -66
- package/types/kirbydesign-designsystem-card.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-chart.d.ts +198 -172
- package/types/kirbydesign-designsystem-chart.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-checkbox.d.ts +96 -68
- package/types/kirbydesign-designsystem-checkbox.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-config.d.ts +17 -21
- package/types/kirbydesign-designsystem-config.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-data-table.d.ts +46 -26
- package/types/kirbydesign-designsystem-data-table.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-divider.d.ts +11 -9
- package/types/kirbydesign-designsystem-divider.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-dropdown.d.ts +219 -166
- package/types/kirbydesign-designsystem-dropdown.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-empty-state.d.ts +47 -35
- package/types/kirbydesign-designsystem-empty-state.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-fab-sheet.d.ts +34 -28
- package/types/kirbydesign-designsystem-fab-sheet.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-flag.d.ts +18 -13
- package/types/kirbydesign-designsystem-flag.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-form-field.d.ts +409 -242
- package/types/kirbydesign-designsystem-form-field.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-gesture.d.ts +41 -46
- package/types/kirbydesign-designsystem-gesture.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-header.d.ts +102 -64
- package/types/kirbydesign-designsystem-header.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-helpers-scss.d.ts +6 -8
- package/types/kirbydesign-designsystem-helpers-scss.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-helpers.d.ts +83 -97
- package/types/kirbydesign-designsystem-helpers.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-icon.d.ts +63 -59
- package/types/kirbydesign-designsystem-icon.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-item-group.d.ts +6 -9
- package/types/kirbydesign-designsystem-item-group.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-item-sliding.d.ts +30 -26
- package/types/kirbydesign-designsystem-item-sliding.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-item.d.ts +93 -54
- package/types/kirbydesign-designsystem-item.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-kirby-app.d.ts +18 -19
- package/types/kirbydesign-designsystem-kirby-app.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-list.d.ts +387 -263
- package/types/kirbydesign-designsystem-list.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-loading-overlay.d.ts +35 -24
- package/types/kirbydesign-designsystem-loading-overlay.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-menu.d.ts +119 -69
- package/types/kirbydesign-designsystem-menu.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-modal.d.ts +577 -455
- package/types/kirbydesign-designsystem-modal.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-page.d.ts +304 -229
- package/types/kirbydesign-designsystem-page.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-popover.d.ts +48 -40
- package/types/kirbydesign-designsystem-popover.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-progress-circle.d.ts +60 -38
- package/types/kirbydesign-designsystem-progress-circle.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-radio.d.ts +147 -98
- package/types/kirbydesign-designsystem-radio.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-range.d.ts +90 -45
- package/types/kirbydesign-designsystem-range.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-reorder-list.d.ts +44 -32
- package/types/kirbydesign-designsystem-reorder-list.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-router-outlet.d.ts +23 -18
- package/types/kirbydesign-designsystem-router-outlet.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-section-header.d.ts +5 -8
- package/types/kirbydesign-designsystem-section-header.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-segmented-control.d.ts +123 -100
- package/types/kirbydesign-designsystem-segmented-control.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-shared-floating.d.ts +183 -128
- package/types/kirbydesign-designsystem-shared-floating.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-shared-portal.d.ts +29 -28
- package/types/kirbydesign-designsystem-shared-portal.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-shared.d.ts +143 -139
- package/types/kirbydesign-designsystem-shared.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-slide-button.d.ts +43 -34
- package/types/kirbydesign-designsystem-slide-button.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-slide.d.ts +80 -59
- package/types/kirbydesign-designsystem-slide.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-spinner.d.ts +13 -14
- package/types/kirbydesign-designsystem-spinner.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-tab-navigation.d.ts +78 -55
- package/types/kirbydesign-designsystem-tab-navigation.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-tabs.d.ts +50 -45
- package/types/kirbydesign-designsystem-tabs.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-testing-base.d.ts +2430 -815
- package/types/kirbydesign-designsystem-testing-base.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-testing-jasmine.d.ts +9 -10
- package/types/kirbydesign-designsystem-testing-jasmine.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-testing-jest.d.ts +9 -10
- package/types/kirbydesign-designsystem-testing-jest.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-testing.d.ts +52 -58
- package/types/kirbydesign-designsystem-testing.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-toast.d.ts +25 -31
- package/types/kirbydesign-designsystem-toast.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-toggle-button.d.ts +62 -56
- package/types/kirbydesign-designsystem-toggle-button.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-toggle.d.ts +71 -63
- package/types/kirbydesign-designsystem-toggle.d.ts.map +1 -1
- package/types/kirbydesign-designsystem-types.d.ts +15 -22
- package/types/kirbydesign-designsystem-types.d.ts.map +1 -1
- package/types/kirbydesign-designsystem.d.ts +135 -123
- package/types/kirbydesign-designsystem.d.ts.map +1 -1
- package/accordion/package.json +0 -4
- package/action-group/package.json +0 -4
- package/avatar/package.json +0 -4
- package/badge/package.json +0 -4
- package/button/package.json +0 -4
- package/calendar/package.json +0 -4
- package/card/package.json +0 -4
- package/chart/package.json +0 -4
- package/checkbox/package.json +0 -4
- package/config/package.json +0 -4
- package/data-table/package.json +0 -4
- package/divider/package.json +0 -4
- package/dropdown/package.json +0 -4
- package/empty-state/package.json +0 -4
- package/fab-sheet/package.json +0 -4
- package/flag/package.json +0 -4
- package/form-field/package.json +0 -4
- package/gesture/package.json +0 -4
- package/header/package.json +0 -4
- package/helpers/package.json +0 -4
- package/helpers/scss/package.json +0 -4
- package/icon/package.json +0 -4
- package/item/package.json +0 -4
- package/item-group/package.json +0 -4
- package/item-sliding/package.json +0 -4
- package/kirby-app/package.json +0 -4
- package/list/package.json +0 -4
- package/loading-overlay/package.json +0 -4
- package/menu/package.json +0 -4
- package/modal/package.json +0 -4
- package/page/package.json +0 -4
- package/popover/package.json +0 -4
- package/progress-circle/package.json +0 -4
- package/radio/package.json +0 -4
- package/range/package.json +0 -4
- package/reorder-list/package.json +0 -4
- package/router-outlet/package.json +0 -4
- package/section-header/package.json +0 -4
- package/segmented-control/package.json +0 -4
- package/shared/floating/package.json +0 -4
- package/shared/package.json +0 -4
- package/shared/portal/package.json +0 -4
- package/slide/package.json +0 -4
- package/slide-button/package.json +0 -4
- package/spinner/package.json +0 -4
- package/tab-navigation/package.json +0 -4
- package/tabs/package.json +0 -4
- package/testing/package.json +0 -4
- package/testing-base/package.json +0 -4
- package/testing-jasmine/package.json +0 -4
- package/testing-jest/package.json +0 -4
- package/toast/package.json +0 -4
- package/toggle/package.json +0 -4
- package/toggle-button/package.json +0 -4
- package/types/package.json +0 -4
|
@@ -1,936 +1,1518 @@
|
|
|
1
|
-
import * as i0 from
|
|
2
|
-
import {
|
|
3
|
-
import * as i2 from
|
|
4
|
-
import {
|
|
5
|
-
import * as i5 from
|
|
6
|
-
import {
|
|
7
|
-
import { componentOnReady } from
|
|
8
|
-
import * as i4 from
|
|
9
|
-
import { selectedTabClickEvent } from
|
|
10
|
-
import { Subject, fromEvent } from
|
|
11
|
-
import {
|
|
12
|
-
import { ACTIONGROUP_CONFIG } from
|
|
13
|
-
import { HeaderComponent, HeaderModule } from
|
|
14
|
-
import * as i6 from
|
|
15
|
-
import {
|
|
16
|
-
import * as i1 from
|
|
17
|
-
import { ModalElementComponent, ModalElementType } from
|
|
18
|
-
import * as i3 from
|
|
19
|
-
import { FitHeadingDirective } from
|
|
20
|
-
import { getGlobalConfig } from
|
|
21
|
-
import {
|
|
22
|
-
import { SpinnerComponent, SpinnerModule } from
|
|
23
|
-
import * as i7 from
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Specify scroll event debounce time in ms and scrolled offset from top in pixels
|
|
27
|
-
*/
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Inject, InjectionToken, Injector, Input, NgModule, Optional, Output, RendererStyleFlags2, SkipSelf, TemplateRef, ViewChild, ViewChildren } from "@angular/core";
|
|
3
|
+
import * as i2 from "@angular/router";
|
|
4
|
+
import { NavigationEnd, NavigationStart } from "@angular/router";
|
|
5
|
+
import * as i5 from "@ionic/angular";
|
|
6
|
+
import { IonBackButton, IonButtons, IonContent, IonFooter, IonHeader, IonRefresher, IonTitle, IonToolbar } from "@ionic/angular";
|
|
7
|
+
import { componentOnReady } from "@ionic/core";
|
|
8
|
+
import * as i4 from "@kirbydesign/designsystem/tabs";
|
|
9
|
+
import { selectedTabClickEvent } from "@kirbydesign/designsystem/tabs";
|
|
10
|
+
import { Subject, fromEvent } from "rxjs";
|
|
11
|
+
import { debounceTime, filter, map, takeUntil } from "rxjs/operators";
|
|
12
|
+
import { ACTIONGROUP_CONFIG } from "@kirbydesign/designsystem/action-group";
|
|
13
|
+
import { HeaderComponent, HeaderModule } from "@kirbydesign/designsystem/header";
|
|
14
|
+
import * as i6 from "@kirbydesign/designsystem/helpers";
|
|
15
|
+
import { IonicElementPartHelper, KirbyAnimation, observeContent } from "@kirbydesign/designsystem/helpers";
|
|
16
|
+
import * as i1 from "@kirbydesign/designsystem/modal";
|
|
17
|
+
import { ModalElementComponent, ModalElementType } from "@kirbydesign/designsystem/modal";
|
|
18
|
+
import * as i3 from "@kirbydesign/designsystem/shared";
|
|
19
|
+
import { FitHeadingDirective } from "@kirbydesign/designsystem/shared";
|
|
20
|
+
import { getGlobalConfig } from "@kirbydesign/designsystem/config";
|
|
21
|
+
import { CommonModule, NgClass, NgTemplateOutlet } from "@angular/common";
|
|
22
|
+
import { SpinnerComponent, SpinnerModule } from "@kirbydesign/designsystem/spinner";
|
|
23
|
+
import * as i7 from "@angular/platform-browser";
|
|
28
24
|
const contentScrollDebounceTimeInMS = 10;
|
|
29
25
|
const contentScrolledOffsetInPixels = 4;
|
|
30
|
-
const PAGE_BACK_BUTTON_OVERRIDE = new InjectionToken(
|
|
31
|
-
class PageTitleDirective {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
i0.ɵɵ
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
i0.ɵɵ
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
class
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
26
|
+
const PAGE_BACK_BUTTON_OVERRIDE = new InjectionToken("page-back-button-override");
|
|
27
|
+
var PageTitleDirective = class PageTitleDirective {
|
|
28
|
+
static {
|
|
29
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
30
|
+
minVersion: "12.0.0",
|
|
31
|
+
version: "22.2.2",
|
|
32
|
+
ngImport: i0,
|
|
33
|
+
type: PageTitleDirective,
|
|
34
|
+
deps: [],
|
|
35
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
static {
|
|
39
|
+
this.ɵdir = i0.ɵɵngDeclareDirective({
|
|
40
|
+
minVersion: "14.0.0",
|
|
41
|
+
version: "22.2.2",
|
|
42
|
+
type: PageTitleDirective,
|
|
43
|
+
isStandalone: true,
|
|
44
|
+
selector: "[kirbyPageTitle]",
|
|
45
|
+
ngImport: i0
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
50
|
+
minVersion: "12.0.0",
|
|
51
|
+
version: "22.2.2",
|
|
52
|
+
ngImport: i0,
|
|
53
|
+
type: PageTitleDirective,
|
|
54
|
+
decorators: [{
|
|
55
|
+
type: Directive,
|
|
56
|
+
args: [{ selector: "[kirbyPageTitle]" }]
|
|
57
|
+
}]
|
|
58
|
+
});
|
|
59
|
+
var PageSubtitleDirective = class PageSubtitleDirective {
|
|
60
|
+
static {
|
|
61
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
62
|
+
minVersion: "12.0.0",
|
|
63
|
+
version: "22.2.2",
|
|
64
|
+
ngImport: i0,
|
|
65
|
+
type: PageSubtitleDirective,
|
|
66
|
+
deps: [],
|
|
67
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
static {
|
|
71
|
+
this.ɵdir = i0.ɵɵngDeclareDirective({
|
|
72
|
+
minVersion: "14.0.0",
|
|
73
|
+
version: "22.2.2",
|
|
74
|
+
type: PageSubtitleDirective,
|
|
75
|
+
isStandalone: true,
|
|
76
|
+
selector: "[kirbyPageSubtitle]",
|
|
77
|
+
ngImport: i0
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
82
|
+
minVersion: "12.0.0",
|
|
83
|
+
version: "22.2.2",
|
|
84
|
+
ngImport: i0,
|
|
85
|
+
type: PageSubtitleDirective,
|
|
86
|
+
decorators: [{
|
|
87
|
+
type: Directive,
|
|
88
|
+
args: [{ selector: "[kirbyPageSubtitle]" }]
|
|
89
|
+
}]
|
|
90
|
+
});
|
|
91
|
+
var PageToolbarTitleDirective = class PageToolbarTitleDirective {
|
|
92
|
+
static {
|
|
93
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
94
|
+
minVersion: "12.0.0",
|
|
95
|
+
version: "22.2.2",
|
|
96
|
+
ngImport: i0,
|
|
97
|
+
type: PageToolbarTitleDirective,
|
|
98
|
+
deps: [],
|
|
99
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
static {
|
|
103
|
+
this.ɵdir = i0.ɵɵngDeclareDirective({
|
|
104
|
+
minVersion: "14.0.0",
|
|
105
|
+
version: "22.2.2",
|
|
106
|
+
type: PageToolbarTitleDirective,
|
|
107
|
+
isStandalone: true,
|
|
108
|
+
selector: "[kirbyPageToolbarTitle]",
|
|
109
|
+
ngImport: i0
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
114
|
+
minVersion: "12.0.0",
|
|
115
|
+
version: "22.2.2",
|
|
116
|
+
ngImport: i0,
|
|
117
|
+
type: PageToolbarTitleDirective,
|
|
118
|
+
decorators: [{
|
|
119
|
+
type: Directive,
|
|
120
|
+
args: [{ selector: "[kirbyPageToolbarTitle]" }]
|
|
121
|
+
}]
|
|
122
|
+
});
|
|
123
|
+
var PageActionsDirective = class PageActionsDirective {
|
|
124
|
+
constructor(template) {
|
|
125
|
+
this.template = template;
|
|
126
|
+
this.stickyDefault = true;
|
|
127
|
+
this.fixedDefault = false;
|
|
128
|
+
console.warn("Defining Page Actions via *kirbyPageActions is deprecated and will be removed in Kirby v11. A Kirby Header with Actions should be used instead, as it has an improved API with better support for responsive layouts.");
|
|
129
|
+
}
|
|
130
|
+
get isSticky() {
|
|
131
|
+
return this.config ? this.config.sticky : this.stickyDefault;
|
|
132
|
+
}
|
|
133
|
+
get isFixed() {
|
|
134
|
+
return this.config ? this.config.fixed : this.fixedDefault;
|
|
135
|
+
}
|
|
136
|
+
static {
|
|
137
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
138
|
+
minVersion: "12.0.0",
|
|
139
|
+
version: "22.2.2",
|
|
140
|
+
ngImport: i0,
|
|
141
|
+
type: PageActionsDirective,
|
|
142
|
+
deps: [{ token: i0.TemplateRef }],
|
|
143
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
static {
|
|
147
|
+
this.ɵdir = i0.ɵɵngDeclareDirective({
|
|
148
|
+
minVersion: "14.0.0",
|
|
149
|
+
version: "22.2.2",
|
|
150
|
+
type: PageActionsDirective,
|
|
151
|
+
isStandalone: true,
|
|
152
|
+
selector: "[kirbyPageActions]",
|
|
153
|
+
inputs: { config: ["kirbyPageActions", "config"] },
|
|
154
|
+
ngImport: i0
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
159
|
+
minVersion: "12.0.0",
|
|
160
|
+
version: "22.2.2",
|
|
161
|
+
ngImport: i0,
|
|
162
|
+
type: PageActionsDirective,
|
|
163
|
+
decorators: [{
|
|
164
|
+
type: Directive,
|
|
165
|
+
args: [{ selector: "[kirbyPageActions]" }]
|
|
166
|
+
}],
|
|
167
|
+
ctorParameters: () => [{ type: i0.TemplateRef }],
|
|
168
|
+
propDecorators: { config: [{
|
|
169
|
+
type: Input,
|
|
170
|
+
args: ["kirbyPageActions"]
|
|
171
|
+
}] }
|
|
172
|
+
});
|
|
173
|
+
var PageContentDirective = class PageContentDirective {
|
|
174
|
+
constructor(template) {
|
|
175
|
+
this.template = template;
|
|
176
|
+
}
|
|
177
|
+
get isFixed() {
|
|
178
|
+
return this.config && this.config.fixed;
|
|
179
|
+
}
|
|
180
|
+
static {
|
|
181
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
182
|
+
minVersion: "12.0.0",
|
|
183
|
+
version: "22.2.2",
|
|
184
|
+
ngImport: i0,
|
|
185
|
+
type: PageContentDirective,
|
|
186
|
+
deps: [{ token: i0.TemplateRef }],
|
|
187
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
static {
|
|
191
|
+
this.ɵdir = i0.ɵɵngDeclareDirective({
|
|
192
|
+
minVersion: "14.0.0",
|
|
193
|
+
version: "22.2.2",
|
|
194
|
+
type: PageContentDirective,
|
|
195
|
+
isStandalone: true,
|
|
196
|
+
selector: "[kirbyPageContent]",
|
|
197
|
+
inputs: { config: ["kirbyPageContent", "config"] },
|
|
198
|
+
ngImport: i0
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
203
|
+
minVersion: "12.0.0",
|
|
204
|
+
version: "22.2.2",
|
|
205
|
+
ngImport: i0,
|
|
206
|
+
type: PageContentDirective,
|
|
207
|
+
decorators: [{
|
|
208
|
+
type: Directive,
|
|
209
|
+
args: [{ selector: "[kirbyPageContent]" }]
|
|
210
|
+
}],
|
|
211
|
+
ctorParameters: () => [{ type: i0.TemplateRef }],
|
|
212
|
+
propDecorators: { config: [{
|
|
213
|
+
type: Input,
|
|
214
|
+
args: ["kirbyPageContent"]
|
|
215
|
+
}] }
|
|
216
|
+
});
|
|
217
|
+
var PageStickyContentDirective = class PageStickyContentDirective {
|
|
218
|
+
static {
|
|
219
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
220
|
+
minVersion: "12.0.0",
|
|
221
|
+
version: "22.2.2",
|
|
222
|
+
ngImport: i0,
|
|
223
|
+
type: PageStickyContentDirective,
|
|
224
|
+
deps: [],
|
|
225
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
static {
|
|
229
|
+
this.ɵdir = i0.ɵɵngDeclareDirective({
|
|
230
|
+
minVersion: "14.0.0",
|
|
231
|
+
version: "22.2.2",
|
|
232
|
+
type: PageStickyContentDirective,
|
|
233
|
+
isStandalone: true,
|
|
234
|
+
selector: "[kirbyPageStickyContent]",
|
|
235
|
+
ngImport: i0
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
240
|
+
minVersion: "12.0.0",
|
|
241
|
+
version: "22.2.2",
|
|
242
|
+
ngImport: i0,
|
|
243
|
+
type: PageStickyContentDirective,
|
|
244
|
+
decorators: [{
|
|
245
|
+
type: Directive,
|
|
246
|
+
args: [{ selector: "[kirbyPageStickyContent]" }]
|
|
247
|
+
}]
|
|
248
|
+
});
|
|
249
|
+
var PageProgressComponent = class PageProgressComponent extends ModalElementComponent {
|
|
250
|
+
constructor(modalElementsAdvertiser, elementRef) {
|
|
251
|
+
super(ModalElementType.PAGE_PROGRESS, elementRef, modalElementsAdvertiser);
|
|
252
|
+
this.slot = "start";
|
|
253
|
+
}
|
|
254
|
+
static {
|
|
255
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
256
|
+
minVersion: "12.0.0",
|
|
257
|
+
version: "22.2.2",
|
|
258
|
+
ngImport: i0,
|
|
259
|
+
type: PageProgressComponent,
|
|
260
|
+
deps: [{
|
|
261
|
+
token: i1.ModalElementsAdvertiser,
|
|
262
|
+
optional: true
|
|
263
|
+
}, { token: i0.ElementRef }],
|
|
264
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
static {
|
|
268
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
269
|
+
minVersion: "14.0.0",
|
|
270
|
+
version: "22.2.2",
|
|
271
|
+
type: PageProgressComponent,
|
|
272
|
+
isStandalone: true,
|
|
273
|
+
selector: "kirby-page-progress",
|
|
274
|
+
host: { properties: { "attr.slot": "this.slot" } },
|
|
275
|
+
usesInheritance: true,
|
|
276
|
+
ngImport: i0,
|
|
277
|
+
template: `
|
|
112
278
|
<ng-content></ng-content>
|
|
113
|
-
`,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
279
|
+
`,
|
|
280
|
+
isInline: true,
|
|
281
|
+
styles: [":host{display:flex;margin-inline-end:4px}\n"],
|
|
282
|
+
changeDetection: i0.ChangeDetectionStrategy.Eager
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
287
|
+
minVersion: "12.0.0",
|
|
288
|
+
version: "22.2.2",
|
|
289
|
+
ngImport: i0,
|
|
290
|
+
type: PageProgressComponent,
|
|
291
|
+
decorators: [{
|
|
292
|
+
type: Component,
|
|
293
|
+
args: [{
|
|
294
|
+
selector: "kirby-page-progress",
|
|
295
|
+
template: `
|
|
118
296
|
<ng-content></ng-content>
|
|
119
|
-
`,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
297
|
+
`,
|
|
298
|
+
changeDetection: ChangeDetectionStrategy.Eager,
|
|
299
|
+
styles: [":host{display:flex;margin-inline-end:4px}\n"]
|
|
300
|
+
}]
|
|
301
|
+
}],
|
|
302
|
+
ctorParameters: () => [{
|
|
303
|
+
type: i1.ModalElementsAdvertiser,
|
|
304
|
+
decorators: [{ type: Optional }]
|
|
305
|
+
}, { type: i0.ElementRef }],
|
|
306
|
+
propDecorators: { slot: [{
|
|
307
|
+
type: HostBinding,
|
|
308
|
+
args: ["attr.slot"]
|
|
309
|
+
}] }
|
|
310
|
+
});
|
|
311
|
+
var PageTitleComponent = class PageTitleComponent extends ModalElementComponent {
|
|
312
|
+
constructor(elementRef, modalElementsAdvertiser) {
|
|
313
|
+
super(ModalElementType.TITLE, elementRef, modalElementsAdvertiser);
|
|
314
|
+
}
|
|
315
|
+
static {
|
|
316
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
317
|
+
minVersion: "12.0.0",
|
|
318
|
+
version: "22.2.2",
|
|
319
|
+
ngImport: i0,
|
|
320
|
+
type: PageTitleComponent,
|
|
321
|
+
deps: [{ token: i0.ElementRef }, {
|
|
322
|
+
token: i1.ModalElementsAdvertiser,
|
|
323
|
+
optional: true
|
|
324
|
+
}],
|
|
325
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
static {
|
|
329
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
330
|
+
minVersion: "14.0.0",
|
|
331
|
+
version: "22.2.2",
|
|
332
|
+
type: PageTitleComponent,
|
|
333
|
+
isStandalone: true,
|
|
334
|
+
selector: "kirby-page-title",
|
|
335
|
+
usesInheritance: true,
|
|
336
|
+
ngImport: i0,
|
|
337
|
+
template: `
|
|
132
338
|
<ng-content></ng-content>
|
|
133
|
-
`,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
339
|
+
`,
|
|
340
|
+
isInline: true,
|
|
341
|
+
changeDetection: i0.ChangeDetectionStrategy.Eager
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
346
|
+
minVersion: "12.0.0",
|
|
347
|
+
version: "22.2.2",
|
|
348
|
+
ngImport: i0,
|
|
349
|
+
type: PageTitleComponent,
|
|
350
|
+
decorators: [{
|
|
351
|
+
type: Component,
|
|
352
|
+
args: [{
|
|
353
|
+
selector: "kirby-page-title",
|
|
354
|
+
template: `
|
|
140
355
|
<ng-content></ng-content>
|
|
141
356
|
`,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
357
|
+
changeDetection: ChangeDetectionStrategy.Eager
|
|
358
|
+
}]
|
|
359
|
+
}],
|
|
360
|
+
ctorParameters: () => [{ type: i0.ElementRef }, {
|
|
361
|
+
type: i1.ModalElementsAdvertiser,
|
|
362
|
+
decorators: [{ type: Optional }]
|
|
363
|
+
}]
|
|
364
|
+
});
|
|
365
|
+
var PageContentComponent = class PageContentComponent {
|
|
366
|
+
static {
|
|
367
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
368
|
+
minVersion: "12.0.0",
|
|
369
|
+
version: "22.2.2",
|
|
370
|
+
ngImport: i0,
|
|
371
|
+
type: PageContentComponent,
|
|
372
|
+
deps: [],
|
|
373
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
static {
|
|
377
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
378
|
+
minVersion: "14.0.0",
|
|
379
|
+
version: "22.2.2",
|
|
380
|
+
type: PageContentComponent,
|
|
381
|
+
isStandalone: true,
|
|
382
|
+
selector: "kirby-page-content",
|
|
383
|
+
ngImport: i0,
|
|
384
|
+
template: `
|
|
149
385
|
<ng-content></ng-content>
|
|
150
|
-
`,
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
386
|
+
`,
|
|
387
|
+
isInline: true,
|
|
388
|
+
changeDetection: i0.ChangeDetectionStrategy.Eager
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
};
|
|
392
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
393
|
+
minVersion: "12.0.0",
|
|
394
|
+
version: "22.2.2",
|
|
395
|
+
ngImport: i0,
|
|
396
|
+
type: PageContentComponent,
|
|
397
|
+
decorators: [{
|
|
398
|
+
type: Component,
|
|
399
|
+
args: [{
|
|
400
|
+
selector: "kirby-page-content",
|
|
401
|
+
template: `
|
|
157
402
|
<ng-content></ng-content>
|
|
158
403
|
`,
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
404
|
+
changeDetection: ChangeDetectionStrategy.Eager
|
|
405
|
+
}]
|
|
406
|
+
}]
|
|
407
|
+
});
|
|
408
|
+
var PageActionsComponent = class PageActionsComponent {
|
|
409
|
+
static {
|
|
410
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
411
|
+
minVersion: "12.0.0",
|
|
412
|
+
version: "22.2.2",
|
|
413
|
+
ngImport: i0,
|
|
414
|
+
type: PageActionsComponent,
|
|
415
|
+
deps: [],
|
|
416
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
static {
|
|
420
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
421
|
+
minVersion: "14.0.0",
|
|
422
|
+
version: "22.2.2",
|
|
423
|
+
type: PageActionsComponent,
|
|
424
|
+
isStandalone: true,
|
|
425
|
+
selector: "kirby-page-actions",
|
|
426
|
+
ngImport: i0,
|
|
427
|
+
template: `
|
|
164
428
|
<ng-content select="button[kirby-button]"></ng-content>
|
|
165
|
-
`,
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
429
|
+
`,
|
|
430
|
+
isInline: true,
|
|
431
|
+
styles: [":host{display:inline-flex;column-gap:8px}\n"],
|
|
432
|
+
changeDetection: i0.ChangeDetectionStrategy.Eager
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
};
|
|
436
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
437
|
+
minVersion: "12.0.0",
|
|
438
|
+
version: "22.2.2",
|
|
439
|
+
ngImport: i0,
|
|
440
|
+
type: PageActionsComponent,
|
|
441
|
+
decorators: [{
|
|
442
|
+
type: Component,
|
|
443
|
+
args: [{
|
|
444
|
+
selector: "kirby-page-actions",
|
|
445
|
+
template: `
|
|
170
446
|
<ng-content select="button[kirby-button]"></ng-content>
|
|
171
|
-
`,
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: PageComponent, isStandalone: true, selector: "kirby-page", inputs: { title: "title", subtitle: "subtitle", toolbarTitle: "toolbarTitle", titleAlignment: "titleAlignment", defaultBackHref: "defaultBackHref", hideBackButton: "hideBackButton", titleMaxLines: "titleMaxLines", hasInteractiveTitle: "hasInteractiveTitle", maxWidth: "maxWidth", tabBarBottomHidden: "tabBarBottomHidden" }, outputs: { enter: "enter", leave: "leave", refresh: "refresh", backButtonClick: "backButtonClick", toolbarTitleClick: "toolbarTitleClick" }, host: { listeners: { "window:keyboardWillShow": "_onKeyboardWillShow($event)", "window:keyboardWillHide": "_onKeyboardWillHide()", "window:kirbySelectedTabClick": "_onSelectedTabClick()" } }, providers: [IonicElementPartHelper], queries: [{ propertyName: "customToolbarTitleTemplate", first: true, predicate: PageToolbarTitleDirective, descendants: true, read: TemplateRef }, { propertyName: "customTitleTemplate", first: true, predicate: PageTitleDirective, descendants: true, read: TemplateRef }, { propertyName: "customSubtitleTemplate", first: true, predicate: PageSubtitleDirective, descendants: true, read: TemplateRef }, { propertyName: "stickyContentRef", first: true, predicate: PageStickyContentDirective, descendants: true, read: TemplateRef }, { propertyName: "header", first: true, predicate: HeaderComponent, descendants: true }, { propertyName: "customActions", predicate: PageActionsDirective }, { propertyName: "customContent", predicate: PageContentDirective }], viewQueries: [{ propertyName: "content", first: true, predicate: IonContent, descendants: true, static: true }, { propertyName: "ionContentElement", first: true, predicate: IonContent, descendants: true, read: ElementRef, static: true }, { propertyName: "ionHeaderElement", first: true, predicate: IonHeader, descendants: true, read: ElementRef, static: true }, { propertyName: "ionFooterElement", first: true, predicate: IonFooter, descendants: true, read: ElementRef, static: true }, { propertyName: "ionToolbarElement", first: true, predicate: IonToolbar, descendants: true, read: ElementRef, static: true }, { propertyName: "backButton", first: true, predicate: IonBackButton, descendants: true }, { propertyName: "pageTitle", first: true, predicate: ["pageTitle"], descendants: true, read: ElementRef }, { propertyName: "stickyContentContainer", first: true, predicate: ["stickyContentContainer"], descendants: true, read: ElementRef }, { propertyName: "simpleTitleTemplate", first: true, predicate: ["simpleTitleTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "simpleToolbarTitleTemplate", first: true, predicate: ["simpleToolbarTitleTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "ionToolbarButtonsElement", predicate: IonButtons, descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<ion-header role=\"presentation\">\n <ion-toolbar\n [class.content-scrolled]=\"isContentScrolled\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <ion-buttons slot=\"start\">\n <ion-back-button\n text=\"\"\n [defaultHref]=\"defaultBackHref\"\n icon=\"assets/kirby/icons/svg/arrow-back.svg\"\n [style.visibility]=\"hideBackButton ? 'hidden' : null\"\n [attr.aria-label]=\"translations.get('back')\"\n ></ion-back-button>\n </ion-buttons>\n <ion-title [class.slide-and-fade-in]=\"toolbarTitleVisible\">\n <div class=\"toolbar-title\">\n @if (!titleActionIconTemplate && !hasInteractiveTitle) {\n <h1 class=\"kirby-text-normal-bold\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </h1>\n }\n @if (!!titleActionIconTemplate || hasInteractiveTitle) {\n <span\n [class.clickable]=\"hasInteractiveTitle\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n <h1 class=\"kirby-text-normal-bold\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </h1>\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n </div>\n </ion-title>\n @if (!!headerActionsTemplate) {\n <ion-buttons class=\"hide\" slot=\"primary\" [class.fade-in]=\"toolbarActionsVisible\">\n <ng-container\n *ngTemplateOutlet=\"headerActionsTemplate; injector: toolbarActionGroupInjector\"\n ></ng-container>\n </ion-buttons>\n }\n @if (!!stickyActionsTemplate) {\n <ion-buttons class=\"legacy-actions\" slot=\"primary\">\n <ng-container *ngTemplateOutlet=\"stickyActionsTemplate\"></ng-container>\n </ion-buttons>\n }\n @if (!!fixedActionsTemplate) {\n <ion-buttons class=\"legacy-actions\" slot=\"secondary\">\n <ng-container *ngTemplateOutlet=\"fixedActionsTemplate\"></ng-container>\n </ion-buttons>\n }\n </ion-toolbar>\n</ion-header>\n\n<ion-content\n scrollEvents=\"true\"\n forceOverscroll=\"false\"\n [class]=\"getMaxWidthClasses()\"\n [class.has-header]=\"hasHeader\"\n>\n @if (refresh.observers.length > 0) {\n <ion-refresher (ionRefresh)=\"delegateRefreshEvent($event)\" slot=\"fixed\">\n <kirby-spinner></kirby-spinner>\n </ion-refresher>\n }\n\n <!-- Page header -->\n @if (hasPageTitle && !hasHeader) {\n <div class=\"page-header-container\">\n <div\n class=\"page-header\"\n [ngClass]=\"{\n 'text-center': titleAlignment === 'center',\n 'text-right': titleAlignment === 'right',\n }\"\n >\n <div #pageTitle class=\"page-title\" [class.has-actions]=\"!!pageActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"customTitleTemplate || defaultPageTitleTemplate\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"pageActionsTemplate || defaultPageActionsTemplate\"\n ></ng-container>\n </div>\n @if (hasPageSubtitle) {\n <div class=\"page-subtitle\">\n <ng-container\n *ngTemplateOutlet=\"customSubtitleTemplate || defaultPageSubtitleTemplate\"\n ></ng-container>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Header -->\n @if (hasHeader) {\n <div class=\"page-header-container\">\n <ng-content select=\"kirby-header\"></ng-content>\n </div>\n }\n\n <!-- Sticky content -->\n @if (stickyContentTemplate) {\n <div\n #stickyContentContainer\n class=\"sticky-content-container\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <div>\n <ng-container *ngTemplateOutlet=\"stickyContentTemplate\"></ng-container>\n </div>\n </div>\n }\n\n <!-- Content -->\n <div class=\"content-inner\">\n <ng-container\n *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\"\n ></ng-container>\n </div>\n\n @if (fixedContentTemplate) {\n <div slot=\"fixed\" class=\"fixed-content\">\n <div class=\"content-inner\">\n <ng-container *ngTemplateOutlet=\"fixedContentTemplate\"></ng-container>\n </div>\n </div>\n }\n</ion-content>\n\n<ion-footer>\n <ng-content select=\"kirby-page-footer\"></ng-content>\n</ion-footer>\n\n<ng-template #defaultPageTitleTemplate>\n <span [kirbyFitHeading]=\"fitHeadingConfig\" class=\"kirby-text-xlarge\">\n <ng-container *ngTemplateOutlet=\"simpleTitleTemplate\"></ng-container>\n </span>\n</ng-template>\n<ng-template #defaultPageSubtitleTemplate>\n <ng-container *ngTemplateOutlet=\"simpleSubtitleTemplate\"></ng-container>\n</ng-template>\n<ng-template #defaultPageActionsTemplate>\n <ng-content select=\"kirby-page-actions\"></ng-content>\n</ng-template>\n\n<ng-template #defaultContentTemplate>\n <ng-content select=\"kirby-page-content\"></ng-content>\n</ng-template>\n\n<ng-template #simpleTitleTemplate>{{ title }}</ng-template>\n<ng-template #simpleSubtitleTemplate>{{ subtitle }}</ng-template>\n<ng-template #simpleToolbarTitleTemplate>{{ toolbarTitle }}</ng-template>\n", styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}ion-header,ion-toolbar{box-sizing:border-box;--background: var(--kirby-background-color)}ion-title h1{font-size:min(var(--kirby-font-size-m),21.6px)}ion-toolbar{--border-width: 0 !important;--padding-start: var(--kirby-spacing-s);--padding-end: var(--kirby-spacing-s);--padding-top: 0;--padding-bottom: 0;--ion-toolbar-color: var(--kirby-black);--min-height: var(--kirby-spacing-xxxl)}@media(min-width:768px){ion-toolbar{--padding-start: var(--kirby-spacing-m);--padding-end: var(--kirby-spacing-m);--min-height: var(--kirby-spacing-xxxxxl)}}ion-toolbar:before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px}ion-toolbar:before,ion-toolbar::part(background){transition:background-color 50ms linear}ion-toolbar.content-scrolled{--background: rgb(95.4094117647%, 95.4094117647%, 95.4094117647%)}ion-toolbar.content-scrolled:before,ion-toolbar.content-scrolled::part(background){transition-duration:var(--kirby-transition-duration-quick)}ion-toolbar.content-scrolled:not(.content-pinned):before{background-color:var(--kirby-medium)}ion-toolbar.content-pinned:before{transition:none}ion-toolbar ion-buttons[slot=start]{margin-right:var(--kirby-spacing-xxs)}ion-toolbar ion-buttons[slot=primary],ion-toolbar ion-buttons[slot=secondary]{margin-left:var(--kirby-spacing-xxs)}ion-toolbar ion-buttons[slot=secondary]{order:6}ion-toolbar ion-title{box-sizing:border-box;font-size:var(--kirby-font-size-n);font-weight:var(--kirby-font-weight-normal);padding-inline:calc(var(--action-buttons-width, var(--kirby-spacing-xl)var(--kirby-spacing-xxs)) + var(--padding-start))}ion-toolbar ion-title h1{margin-bottom:0}ion-toolbar ion-title.slide-and-fade-in .toolbar-title{scale:1;transform:translateY(0)}ion-toolbar ion-title .toolbar-title,ion-toolbar ion-title .toolbar-title>span.has-icon>span{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}ion-toolbar ion-title .toolbar-title{display:flex;align-items:center;justify-content:center;min-height:var(--kirby-spacing-xxxl);scale:0;transition-property:opacity,transform;transition-duration:.15s;transition-timing-function:var(--kirby-transition-easing-enter-exit);transform:translateY(10px)}ion-toolbar ion-title .toolbar-title span.clickable{cursor:pointer}ion-toolbar ion-title .toolbar-title span.has-icon{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;max-width:100%}ion-toolbar ion-title .toolbar-title ::ng-deep>*{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}.hide{visibility:hidden;opacity:0;transition:opacity .1s linear}.hide.fade-in{visibility:inherit;opacity:1}@media(hover:hover){ion-back-button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-back-button:active,ion-back-button.ion-activated{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black);--background-activated: var(--state-layer-background-color);--background-activated-opacity: var(--state-layer-opacity)}ion-back-button{--color: var(--kirby-black);--background: var(--kirby-white);--icon-font-size: 24px;height:var(--kirby-spacing-xl);width:var(--kirby-spacing-xl);opacity:1}ion-back-button::part(icon){margin-inline:0}ion-back-button::part(native){opacity:1;border-radius:var(--kirby-border-radius-pill);overflow:hidden}ion-back-button:focus-visible::part(native){transition:all 80ms linear 0ms;box-shadow:var(--kirby-focus-ring-md-inset)}ion-back-button::part(native):after{transition:all 80ms linear 0ms}.page-header-container{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto}.page-header{margin-left:var(--kirby-spacing-s);margin-top:var(--kirby-spacing-xxs);margin-bottom:var(--kirby-page-title-margin-bottom, var(--kirby-spacing-xl))}.page-header .page-title.has-actions{display:flex;justify-content:space-between;align-items:flex-start}.page-header .page-title h1,.page-header .page-title h2,.page-header .page-title h3,.page-header .page-title h4,.page-header .page-title h5,.page-header .page-title h6{margin:0}.page-header .page-subtitle{margin-top:var(--kirby-spacing-xxs)}.page-header.text-center{text-align:center;margin-left:0}.page-header.text-right{text-align:right}ion-content{--padding-top: var(--kirby-spacing-xs);--padding-start: var( --page-content-padding-start, calc(var(--kirby-spacing-s) + var(--ion-safe-area-left)) );--padding-end: var(--page-content-padding-end, var(--kirby-spacing-s));--background: var(--kirby-background-color);--color: var(--kirby-black)}@media(min-width:768px){ion-content{--padding-start: var(--page-content-padding-start, var(--kirby-spacing-xxl));--padding-end: var(--page-content-padding-end, var(--kirby-spacing-xxl))}}ion-content.has-header{--padding-top: 0}ion-content.max-width-lg{--page-content-max-width: var(--kirby-page-content-max-width-lg)}ion-content.max-width-xl{--page-content-max-width: var(--kirby-page-content-max-width-xl)}ion-content.max-width-full{--page-content-max-width: var(--kirby-page-content-max-width-full)}ion-content::part(scroll){scrollbar-gutter:stable}ion-content .content-inner{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto;padding-bottom:var(--kirby-spacing-xl);transform:translateZ(0);will-change:transform}ion-content .fixed-content{width:100%;position:absolute;bottom:0;transform:initial}ion-content .fixed-content .content-inner{position:relative}.sticky-content-container{position:sticky;top:calc(-1 * var(--kirby-spacing-xs) - 1px);left:0;right:0;padding-top:1px;margin-block-end:var(--kirby-spacing-m);z-index:var(--kirby-z-index-sticky-content)}.sticky-content-container div{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto}.sticky-content-container:before,.sticky-content-container:after{content:\"\";position:absolute;left:calc(-1 * var(--padding-start));right:calc(-1 * var(--padding-end));bottom:0}.sticky-content-container:before{top:0;background-color:var(--background)}.sticky-content-container:after{height:1px}.sticky-content-container.content-pinned:before{background-color:#f3f3f3}.sticky-content-container.content-pinned:after{background-color:var(--kirby-medium)}\n"], dependencies: [{ kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonBackButton, selector: "ion-back-button" }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"], outputs: ["ionScrollStart", "ionScroll", "ionScrollEnd"] }, { kind: "component", type: IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "mode", "pullFactor", "pullMax", "pullMin", "snapbackDuration"], outputs: ["ionRefresh", "ionPull", "ionStart", "ionPullStart", "ionPullEnd"] }, { kind: "component", type: SpinnerComponent, selector: "kirby-spinner" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "directive", type: FitHeadingDirective, selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading],[kirbyFitHeading]", inputs: ["kirbyFitHeading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
], template: "<ion-header role=\"presentation\">\n <ion-toolbar\n [class.content-scrolled]=\"isContentScrolled\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <ion-buttons slot=\"start\">\n <ion-back-button\n text=\"\"\n [defaultHref]=\"defaultBackHref\"\n icon=\"assets/kirby/icons/svg/arrow-back.svg\"\n [style.visibility]=\"hideBackButton ? 'hidden' : null\"\n [attr.aria-label]=\"translations.get('back')\"\n ></ion-back-button>\n </ion-buttons>\n <ion-title [class.slide-and-fade-in]=\"toolbarTitleVisible\">\n <div class=\"toolbar-title\">\n @if (!titleActionIconTemplate && !hasInteractiveTitle) {\n <h1 class=\"kirby-text-normal-bold\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </h1>\n }\n @if (!!titleActionIconTemplate || hasInteractiveTitle) {\n <span\n [class.clickable]=\"hasInteractiveTitle\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n <h1 class=\"kirby-text-normal-bold\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </h1>\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n </div>\n </ion-title>\n @if (!!headerActionsTemplate) {\n <ion-buttons class=\"hide\" slot=\"primary\" [class.fade-in]=\"toolbarActionsVisible\">\n <ng-container\n *ngTemplateOutlet=\"headerActionsTemplate; injector: toolbarActionGroupInjector\"\n ></ng-container>\n </ion-buttons>\n }\n @if (!!stickyActionsTemplate) {\n <ion-buttons class=\"legacy-actions\" slot=\"primary\">\n <ng-container *ngTemplateOutlet=\"stickyActionsTemplate\"></ng-container>\n </ion-buttons>\n }\n @if (!!fixedActionsTemplate) {\n <ion-buttons class=\"legacy-actions\" slot=\"secondary\">\n <ng-container *ngTemplateOutlet=\"fixedActionsTemplate\"></ng-container>\n </ion-buttons>\n }\n </ion-toolbar>\n</ion-header>\n\n<ion-content\n scrollEvents=\"true\"\n forceOverscroll=\"false\"\n [class]=\"getMaxWidthClasses()\"\n [class.has-header]=\"hasHeader\"\n>\n @if (refresh.observers.length > 0) {\n <ion-refresher (ionRefresh)=\"delegateRefreshEvent($event)\" slot=\"fixed\">\n <kirby-spinner></kirby-spinner>\n </ion-refresher>\n }\n\n <!-- Page header -->\n @if (hasPageTitle && !hasHeader) {\n <div class=\"page-header-container\">\n <div\n class=\"page-header\"\n [ngClass]=\"{\n 'text-center': titleAlignment === 'center',\n 'text-right': titleAlignment === 'right',\n }\"\n >\n <div #pageTitle class=\"page-title\" [class.has-actions]=\"!!pageActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"customTitleTemplate || defaultPageTitleTemplate\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"pageActionsTemplate || defaultPageActionsTemplate\"\n ></ng-container>\n </div>\n @if (hasPageSubtitle) {\n <div class=\"page-subtitle\">\n <ng-container\n *ngTemplateOutlet=\"customSubtitleTemplate || defaultPageSubtitleTemplate\"\n ></ng-container>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Header -->\n @if (hasHeader) {\n <div class=\"page-header-container\">\n <ng-content select=\"kirby-header\"></ng-content>\n </div>\n }\n\n <!-- Sticky content -->\n @if (stickyContentTemplate) {\n <div\n #stickyContentContainer\n class=\"sticky-content-container\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <div>\n <ng-container *ngTemplateOutlet=\"stickyContentTemplate\"></ng-container>\n </div>\n </div>\n }\n\n <!-- Content -->\n <div class=\"content-inner\">\n <ng-container\n *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\"\n ></ng-container>\n </div>\n\n @if (fixedContentTemplate) {\n <div slot=\"fixed\" class=\"fixed-content\">\n <div class=\"content-inner\">\n <ng-container *ngTemplateOutlet=\"fixedContentTemplate\"></ng-container>\n </div>\n </div>\n }\n</ion-content>\n\n<ion-footer>\n <ng-content select=\"kirby-page-footer\"></ng-content>\n</ion-footer>\n\n<ng-template #defaultPageTitleTemplate>\n <span [kirbyFitHeading]=\"fitHeadingConfig\" class=\"kirby-text-xlarge\">\n <ng-container *ngTemplateOutlet=\"simpleTitleTemplate\"></ng-container>\n </span>\n</ng-template>\n<ng-template #defaultPageSubtitleTemplate>\n <ng-container *ngTemplateOutlet=\"simpleSubtitleTemplate\"></ng-container>\n</ng-template>\n<ng-template #defaultPageActionsTemplate>\n <ng-content select=\"kirby-page-actions\"></ng-content>\n</ng-template>\n\n<ng-template #defaultContentTemplate>\n <ng-content select=\"kirby-page-content\"></ng-content>\n</ng-template>\n\n<ng-template #simpleTitleTemplate>{{ title }}</ng-template>\n<ng-template #simpleSubtitleTemplate>{{ subtitle }}</ng-template>\n<ng-template #simpleToolbarTitleTemplate>{{ toolbarTitle }}</ng-template>\n", styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}ion-header,ion-toolbar{box-sizing:border-box;--background: var(--kirby-background-color)}ion-title h1{font-size:min(var(--kirby-font-size-m),21.6px)}ion-toolbar{--border-width: 0 !important;--padding-start: var(--kirby-spacing-s);--padding-end: var(--kirby-spacing-s);--padding-top: 0;--padding-bottom: 0;--ion-toolbar-color: var(--kirby-black);--min-height: var(--kirby-spacing-xxxl)}@media(min-width:768px){ion-toolbar{--padding-start: var(--kirby-spacing-m);--padding-end: var(--kirby-spacing-m);--min-height: var(--kirby-spacing-xxxxxl)}}ion-toolbar:before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px}ion-toolbar:before,ion-toolbar::part(background){transition:background-color 50ms linear}ion-toolbar.content-scrolled{--background: rgb(95.4094117647%, 95.4094117647%, 95.4094117647%)}ion-toolbar.content-scrolled:before,ion-toolbar.content-scrolled::part(background){transition-duration:var(--kirby-transition-duration-quick)}ion-toolbar.content-scrolled:not(.content-pinned):before{background-color:var(--kirby-medium)}ion-toolbar.content-pinned:before{transition:none}ion-toolbar ion-buttons[slot=start]{margin-right:var(--kirby-spacing-xxs)}ion-toolbar ion-buttons[slot=primary],ion-toolbar ion-buttons[slot=secondary]{margin-left:var(--kirby-spacing-xxs)}ion-toolbar ion-buttons[slot=secondary]{order:6}ion-toolbar ion-title{box-sizing:border-box;font-size:var(--kirby-font-size-n);font-weight:var(--kirby-font-weight-normal);padding-inline:calc(var(--action-buttons-width, var(--kirby-spacing-xl)var(--kirby-spacing-xxs)) + var(--padding-start))}ion-toolbar ion-title h1{margin-bottom:0}ion-toolbar ion-title.slide-and-fade-in .toolbar-title{scale:1;transform:translateY(0)}ion-toolbar ion-title .toolbar-title,ion-toolbar ion-title .toolbar-title>span.has-icon>span{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}ion-toolbar ion-title .toolbar-title{display:flex;align-items:center;justify-content:center;min-height:var(--kirby-spacing-xxxl);scale:0;transition-property:opacity,transform;transition-duration:.15s;transition-timing-function:var(--kirby-transition-easing-enter-exit);transform:translateY(10px)}ion-toolbar ion-title .toolbar-title span.clickable{cursor:pointer}ion-toolbar ion-title .toolbar-title span.has-icon{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;max-width:100%}ion-toolbar ion-title .toolbar-title ::ng-deep>*{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}.hide{visibility:hidden;opacity:0;transition:opacity .1s linear}.hide.fade-in{visibility:inherit;opacity:1}@media(hover:hover){ion-back-button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-back-button:active,ion-back-button.ion-activated{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black);--background-activated: var(--state-layer-background-color);--background-activated-opacity: var(--state-layer-opacity)}ion-back-button{--color: var(--kirby-black);--background: var(--kirby-white);--icon-font-size: 24px;height:var(--kirby-spacing-xl);width:var(--kirby-spacing-xl);opacity:1}ion-back-button::part(icon){margin-inline:0}ion-back-button::part(native){opacity:1;border-radius:var(--kirby-border-radius-pill);overflow:hidden}ion-back-button:focus-visible::part(native){transition:all 80ms linear 0ms;box-shadow:var(--kirby-focus-ring-md-inset)}ion-back-button::part(native):after{transition:all 80ms linear 0ms}.page-header-container{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto}.page-header{margin-left:var(--kirby-spacing-s);margin-top:var(--kirby-spacing-xxs);margin-bottom:var(--kirby-page-title-margin-bottom, var(--kirby-spacing-xl))}.page-header .page-title.has-actions{display:flex;justify-content:space-between;align-items:flex-start}.page-header .page-title h1,.page-header .page-title h2,.page-header .page-title h3,.page-header .page-title h4,.page-header .page-title h5,.page-header .page-title h6{margin:0}.page-header .page-subtitle{margin-top:var(--kirby-spacing-xxs)}.page-header.text-center{text-align:center;margin-left:0}.page-header.text-right{text-align:right}ion-content{--padding-top: var(--kirby-spacing-xs);--padding-start: var( --page-content-padding-start, calc(var(--kirby-spacing-s) + var(--ion-safe-area-left)) );--padding-end: var(--page-content-padding-end, var(--kirby-spacing-s));--background: var(--kirby-background-color);--color: var(--kirby-black)}@media(min-width:768px){ion-content{--padding-start: var(--page-content-padding-start, var(--kirby-spacing-xxl));--padding-end: var(--page-content-padding-end, var(--kirby-spacing-xxl))}}ion-content.has-header{--padding-top: 0}ion-content.max-width-lg{--page-content-max-width: var(--kirby-page-content-max-width-lg)}ion-content.max-width-xl{--page-content-max-width: var(--kirby-page-content-max-width-xl)}ion-content.max-width-full{--page-content-max-width: var(--kirby-page-content-max-width-full)}ion-content::part(scroll){scrollbar-gutter:stable}ion-content .content-inner{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto;padding-bottom:var(--kirby-spacing-xl);transform:translateZ(0);will-change:transform}ion-content .fixed-content{width:100%;position:absolute;bottom:0;transform:initial}ion-content .fixed-content .content-inner{position:relative}.sticky-content-container{position:sticky;top:calc(-1 * var(--kirby-spacing-xs) - 1px);left:0;right:0;padding-top:1px;margin-block-end:var(--kirby-spacing-m);z-index:var(--kirby-z-index-sticky-content)}.sticky-content-container div{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto}.sticky-content-container:before,.sticky-content-container:after{content:\"\";position:absolute;left:calc(-1 * var(--padding-start));right:calc(-1 * var(--padding-end));bottom:0}.sticky-content-container:before{top:0;background-color:var(--background)}.sticky-content-container:after{height:1px}.sticky-content-container.content-pinned:before{background-color:#f3f3f3}.sticky-content-container.content-pinned:after{background-color:var(--kirby-medium)}\n"] }]
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
447
|
+
`,
|
|
448
|
+
changeDetection: ChangeDetectionStrategy.Eager,
|
|
449
|
+
styles: [":host{display:inline-flex;column-gap:8px}\n"]
|
|
450
|
+
}]
|
|
451
|
+
}]
|
|
452
|
+
});
|
|
453
|
+
var PageComponent = class PageComponent {
|
|
454
|
+
set maxWidth(width) {
|
|
455
|
+
this._maxWidth = width;
|
|
456
|
+
}
|
|
457
|
+
get maxWidth() {
|
|
458
|
+
return this._maxWidth;
|
|
459
|
+
}
|
|
460
|
+
get tabBarBottomHidden() {
|
|
461
|
+
return this._tabBarBottomHidden;
|
|
462
|
+
}
|
|
463
|
+
set tabBarBottomHidden(value) {
|
|
464
|
+
if (this.tabsComponent) setTimeout(() => {
|
|
465
|
+
this.tabsComponent.tabBarBottomHidden = value;
|
|
466
|
+
this.changeDetectorRef.markForCheck();
|
|
467
|
+
});
|
|
468
|
+
this._tabBarBottomHidden = value;
|
|
469
|
+
}
|
|
470
|
+
constructor(elementRef, injector, renderer, router, changeDetectorRef, zone, modalNavigationService, resizeObserverService, tabsComponent, backButtonOverride, routerOutlet, navCtrl, ionicElementPartHelper, translations, htmlDocTitle) {
|
|
471
|
+
this.elementRef = elementRef;
|
|
472
|
+
this.injector = injector;
|
|
473
|
+
this.renderer = renderer;
|
|
474
|
+
this.router = router;
|
|
475
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
476
|
+
this.zone = zone;
|
|
477
|
+
this.modalNavigationService = modalNavigationService;
|
|
478
|
+
this.resizeObserverService = resizeObserverService;
|
|
479
|
+
this.tabsComponent = tabsComponent;
|
|
480
|
+
this.backButtonOverride = backButtonOverride;
|
|
481
|
+
this.routerOutlet = routerOutlet;
|
|
482
|
+
this.navCtrl = navCtrl;
|
|
483
|
+
this.ionicElementPartHelper = ionicElementPartHelper;
|
|
484
|
+
this.translations = translations;
|
|
485
|
+
this.htmlDocTitle = htmlDocTitle;
|
|
486
|
+
this.titleAlignment = "left";
|
|
487
|
+
this._maxWidth = "default";
|
|
488
|
+
this.enter = new EventEmitter();
|
|
489
|
+
this.leave = new EventEmitter();
|
|
490
|
+
this.refresh = new EventEmitter();
|
|
491
|
+
this.backButtonClick = new EventEmitter();
|
|
492
|
+
this.toolbarTitleClick = new EventEmitter();
|
|
493
|
+
this.isStickyContentPinned = false;
|
|
494
|
+
this.isObservingTitle = false;
|
|
495
|
+
this.isObservingActions = false;
|
|
496
|
+
this.isDocTitleSet = false;
|
|
497
|
+
this.ngOnDestroy$ = new Subject();
|
|
498
|
+
this.navigationStart$ = this.router.events.pipe(filter((event) => event instanceof NavigationStart), takeUntil(this.ngOnDestroy$));
|
|
499
|
+
this.navigationEnd$ = this.router.events.pipe(filter((event) => event instanceof NavigationEnd), takeUntil(this.ngOnDestroy$));
|
|
500
|
+
}
|
|
501
|
+
whenContentReady() {
|
|
502
|
+
if (!this.contentReadyPromise) this.contentReadyPromise = new Promise((resolve) => {
|
|
503
|
+
this.resizeObserverService.observe(this.ionContentElement, (entry) => {
|
|
504
|
+
if (entry.contentRect.height > 0) {
|
|
505
|
+
this.resizeObserverService.unobserve(this.ionContentElement);
|
|
506
|
+
resolve();
|
|
507
|
+
}
|
|
508
|
+
});
|
|
509
|
+
});
|
|
510
|
+
return this.contentReadyPromise;
|
|
511
|
+
}
|
|
512
|
+
ngOnInit() {
|
|
513
|
+
this.removeWrapper();
|
|
514
|
+
this.ionicElementPartHelper.setPart("background", this.ionToolbarElement, ".toolbar-background");
|
|
515
|
+
const actionGroupConfig = {
|
|
516
|
+
isCondensed: true,
|
|
517
|
+
maxVisibleActions: 1
|
|
518
|
+
};
|
|
519
|
+
this.toolbarActionGroupInjector = Injector.create({
|
|
520
|
+
providers: [{
|
|
521
|
+
provide: ACTIONGROUP_CONFIG,
|
|
522
|
+
useValue: actionGroupConfig
|
|
523
|
+
}],
|
|
524
|
+
parent: this.injector
|
|
525
|
+
});
|
|
526
|
+
}
|
|
527
|
+
ngOnChanges(changes) {
|
|
528
|
+
if (changes.titleMaxLines) this.fitHeadingConfig = { maxLines: changes.titleMaxLines.currentValue };
|
|
529
|
+
if (changes.subtitle && !changes.subtitle.isFirstChange) {
|
|
530
|
+
this.subtitle = changes.title.currentValue;
|
|
531
|
+
this.hasPageSubtitle = this.subtitle !== void 0;
|
|
532
|
+
}
|
|
533
|
+
if (changes.title || changes.toolbarTitle) this.setHTMLDocumentTitle(this.title || this.toolbarTitle);
|
|
534
|
+
}
|
|
535
|
+
ngAfterViewInit() {
|
|
536
|
+
this.zone.runOutsideAngular(() => {
|
|
537
|
+
this.contentScrolled$ = fromEvent(this.ionContentElement.nativeElement, "ionScroll").pipe(debounceTime(contentScrollDebounceTimeInMS), map((event) => event.detail), takeUntil(this.ngOnDestroy$));
|
|
538
|
+
this.contentScrolled$.subscribe((scrollInfo) => {
|
|
539
|
+
if (scrollInfo.scrollTop > contentScrolledOffsetInPixels !== this.isContentScrolled) {
|
|
540
|
+
this.isContentScrolled = !this.isContentScrolled;
|
|
541
|
+
this.changeDetectorRef.detectChanges();
|
|
542
|
+
}
|
|
543
|
+
});
|
|
544
|
+
});
|
|
545
|
+
this.url = this.router.url;
|
|
546
|
+
this.onEnter();
|
|
547
|
+
this.navigationStart$.subscribe((event) => {
|
|
548
|
+
if (this.getPathname(event.url) !== this.getPathname(this.url) && !this.modalNavigationService.isModalRoute(this.url) && !this.modalNavigationService.isModalRoute(event.url)) this.onLeave();
|
|
549
|
+
});
|
|
550
|
+
this.navigationEnd$.subscribe((event) => {
|
|
551
|
+
if (this.getPathname(event.urlAfterRedirects) === this.getPathname(this.url)) this.onEnter();
|
|
552
|
+
});
|
|
553
|
+
this.interceptBackButtonClicksSetup();
|
|
554
|
+
this.initializeStickyIntersectionObserver();
|
|
555
|
+
this.setActionButtonsWidth();
|
|
556
|
+
}
|
|
557
|
+
ngAfterContentChecked() {
|
|
558
|
+
this.initializeHeader();
|
|
559
|
+
this.initializeTitle();
|
|
560
|
+
this.initializeActions();
|
|
561
|
+
this.initializeContent();
|
|
562
|
+
this.initializeStickyContent();
|
|
563
|
+
this.changeDetectorRef.detectChanges();
|
|
564
|
+
}
|
|
565
|
+
ngOnDestroy() {
|
|
566
|
+
this.ngOnDestroy$.next();
|
|
567
|
+
this.ngOnDestroy$.complete();
|
|
568
|
+
this.titleIntersectionObserver?.disconnect();
|
|
569
|
+
this.stickyActionsIntersectionObserver?.disconnect();
|
|
570
|
+
this.stickyContentIntersectionObserver?.disconnect();
|
|
571
|
+
this.unobserveTitleMutation?.();
|
|
572
|
+
}
|
|
573
|
+
delegateRefreshEvent(event) {
|
|
574
|
+
this.refresh.emit({ complete: event.target.complete.bind(event.target) });
|
|
575
|
+
}
|
|
576
|
+
getMaxWidthClasses() {
|
|
577
|
+
if (!this.maxWidth) return "";
|
|
578
|
+
if (this.maxWidth === "default") return "";
|
|
579
|
+
return `max-width-${this.maxWidth}`;
|
|
580
|
+
}
|
|
581
|
+
onTitleClick(event) {
|
|
582
|
+
if (this.toolbarTitleClick.observed) this.toolbarTitleClick.emit(event);
|
|
583
|
+
else this.header?.titleClick.emit(event);
|
|
584
|
+
}
|
|
585
|
+
removeWrapper() {
|
|
586
|
+
const parent = this.elementRef.nativeElement.parentNode;
|
|
587
|
+
this.renderer.removeChild(parent, this.elementRef.nativeElement);
|
|
588
|
+
this.renderer.appendChild(parent, this.ionHeaderElement.nativeElement);
|
|
589
|
+
this.renderer.appendChild(parent, this.ionContentElement.nativeElement);
|
|
590
|
+
this.renderer.appendChild(parent, this.ionFooterElement.nativeElement);
|
|
591
|
+
}
|
|
592
|
+
onEnter() {
|
|
593
|
+
if (this.isActive) return;
|
|
594
|
+
this.isActive = true;
|
|
595
|
+
this.enter.emit();
|
|
596
|
+
this.patchIonLastFocused();
|
|
597
|
+
this.observeTitle();
|
|
598
|
+
this.observeActions();
|
|
599
|
+
this.setHTMLDocumentTitle(this.header?.title || this.title || this.toolbarTitle);
|
|
600
|
+
this.observeTitleDOMChanges();
|
|
601
|
+
}
|
|
602
|
+
onLeave() {
|
|
603
|
+
if (!this.isActive) return;
|
|
604
|
+
this.isActive = false;
|
|
605
|
+
this.leave.emit();
|
|
606
|
+
this.unobserveTitle();
|
|
607
|
+
this.unobserveActions();
|
|
608
|
+
this.unobserveTitleMutation?.();
|
|
609
|
+
if (this.tabBarBottomHidden && this.tabsComponent) this.tabsComponent.tabBarBottomHidden = false;
|
|
610
|
+
}
|
|
611
|
+
interceptBackButtonClicksSetup() {
|
|
612
|
+
if (this.backButtonOverride) this.backButton.onClick = (event) => {
|
|
613
|
+
event.preventDefault();
|
|
614
|
+
this.backButtonOverride.navigateBack(this.routerOutlet, this.navCtrl, this.defaultBackHref);
|
|
615
|
+
};
|
|
616
|
+
if (this.backButtonClick.observers.length === 0) this.backButtonClick.pipe(takeUntil(this.ngOnDestroy$)).subscribe(this.backButton.onClick.bind(this.backButton));
|
|
617
|
+
this.backButton.onClick = (event) => {
|
|
618
|
+
this.backButtonClick.emit(event);
|
|
619
|
+
};
|
|
620
|
+
}
|
|
621
|
+
patchIonLastFocused() {
|
|
622
|
+
const ionLastFocus = this.ionContentElement.nativeElement.querySelector("[ion-last-focus=\"true\"]");
|
|
623
|
+
setTimeout(() => {
|
|
624
|
+
if (ionLastFocus?.getAttribute("tabindex") !== "-1") return;
|
|
625
|
+
this.renderer.removeAttribute(ionLastFocus, "tabindex");
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
initializeStickyIntersectionObserver() {
|
|
629
|
+
if (this.stickyContentTemplate) {
|
|
630
|
+
if (!this.stickyContentIntersectionObserver) this.stickyContentIntersectionObserver = this.createStickyContentIntersectionObserver();
|
|
631
|
+
setTimeout(() => {
|
|
632
|
+
this.stickyContentIntersectionObserver.observe(this.stickyContentContainer.nativeElement);
|
|
633
|
+
});
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
initializeHeader() {
|
|
637
|
+
if (this.hasHeader === void 0 && !!this.header) {
|
|
638
|
+
this.hasHeader = true;
|
|
639
|
+
this.titleActionIconTemplate = this.header.titleActionIconTemplate;
|
|
640
|
+
if (this.header.titleClick.observed && this.hasInteractiveTitle === void 0) this.hasInteractiveTitle = true;
|
|
641
|
+
this.setHTMLDocumentTitle(this.header.title);
|
|
642
|
+
this.header.title$.pipe(takeUntil(this.ngOnDestroy$)).subscribe(() => {
|
|
643
|
+
this.setHTMLDocumentTitle(this.header.title);
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
initializeTitle() {
|
|
648
|
+
if (this.hasHeader && this.isObservingTitle && !this.header?.titleElement) this.isObservingTitle = false;
|
|
649
|
+
if (this.hasPageTitle) {
|
|
650
|
+
if (!this.isObservingTitle && !!this.header?.titleElement) this.observeTitle();
|
|
651
|
+
return;
|
|
652
|
+
}
|
|
653
|
+
this.hasPageTitle = this.title !== void 0 || !!this.customTitleTemplate || !!this.header?.title;
|
|
654
|
+
this.toolbarTitleVisible = !this.hasPageTitle;
|
|
655
|
+
this.hasPageSubtitle = this.subtitle !== void 0 || !!this.customSubtitleTemplate;
|
|
656
|
+
if (this.header?.title && !this.toolbarTitle) {
|
|
657
|
+
this.toolbarTitle = this.header.title;
|
|
658
|
+
this.header.title$.pipe(takeUntil(this.ngOnDestroy$)).subscribe((title) => {
|
|
659
|
+
this.toolbarTitle = title;
|
|
660
|
+
});
|
|
661
|
+
}
|
|
662
|
+
this.observeTitle();
|
|
663
|
+
const defaultTitleTemplate = this.customTitleTemplate || this.simpleTitleTemplate;
|
|
664
|
+
this.toolbarTitleTemplate = this.customToolbarTitleTemplate ? this.customToolbarTitleTemplate : typeof this.toolbarTitle === "string" ? this.simpleToolbarTitleTemplate : defaultTitleTemplate;
|
|
665
|
+
if (this.toolbarTitleClick.observed && this.hasInteractiveTitle === void 0) this.hasInteractiveTitle = true;
|
|
666
|
+
}
|
|
667
|
+
observeTitle() {
|
|
668
|
+
if (!this.hasPageTitle) return;
|
|
669
|
+
if (this.isObservingTitle) return;
|
|
670
|
+
this.isObservingTitle = true;
|
|
671
|
+
if (!this.titleIntersectionObserver) this.titleIntersectionObserver = new IntersectionObserver((entries) => {
|
|
672
|
+
const lastEntry = entries[entries.length - 1];
|
|
673
|
+
if (lastEntry) {
|
|
674
|
+
const showToolbarTitle = !lastEntry.isIntersecting;
|
|
675
|
+
if (showToolbarTitle !== this.toolbarTitleVisible) {
|
|
676
|
+
this.toolbarTitleVisible = showToolbarTitle;
|
|
677
|
+
this.changeDetectorRef.detectChanges();
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
}, { root: this.ionContentElement.nativeElement });
|
|
681
|
+
this.zone.runOutsideAngular(() => {
|
|
682
|
+
this.whenContentReady().then(() => {
|
|
683
|
+
const titleElementRef = this.pageTitle || this.header?.titleElement;
|
|
684
|
+
if (titleElementRef?.nativeElement) this.titleIntersectionObserver.observe(titleElementRef.nativeElement);
|
|
685
|
+
});
|
|
686
|
+
});
|
|
687
|
+
}
|
|
688
|
+
unobserveTitle() {
|
|
689
|
+
const titleElementRef = this.pageTitle || this.header?.titleElement;
|
|
690
|
+
if (titleElementRef) this.titleIntersectionObserver?.unobserve(titleElementRef.nativeElement);
|
|
691
|
+
this.isObservingTitle = false;
|
|
692
|
+
}
|
|
693
|
+
observeTitleDOMChanges() {
|
|
694
|
+
if (!getGlobalConfig()?.setHtmlDocTitle) return;
|
|
695
|
+
if (this.isDocTitleSet) return;
|
|
696
|
+
const titleArea = this.ionHeaderElement.nativeElement.querySelector("ion-toolbar ion-title .toolbar-title");
|
|
697
|
+
this.setHTMLDocumentTitle(titleArea.textContent);
|
|
698
|
+
this.unobserveTitleMutation = observeContent(titleArea, () => {
|
|
699
|
+
this.setHTMLDocumentTitle(titleArea.textContent);
|
|
700
|
+
});
|
|
701
|
+
}
|
|
702
|
+
setHTMLDocumentTitle(title) {
|
|
703
|
+
if (!getGlobalConfig()?.setHtmlDocTitle || !title || title.trim() === "") return;
|
|
704
|
+
this.htmlDocTitle.setTitle(title);
|
|
705
|
+
this.isDocTitleSet = true;
|
|
706
|
+
}
|
|
707
|
+
initializeActions() {
|
|
708
|
+
if (this.headerActionsTemplate === void 0 && !!this.header) this.headerActionsTemplate = this.header.actionsTemplate;
|
|
709
|
+
if (this.hasHeader && this.isObservingActions && !this.header?.actionsElement) this.isObservingActions = false;
|
|
710
|
+
this.observeActions();
|
|
711
|
+
this.customActions.forEach((pageAction) => {
|
|
712
|
+
if (pageAction.isFixed) this.fixedActionsTemplate = pageAction.template;
|
|
713
|
+
else if (pageAction.isSticky) this.stickyActionsTemplate = pageAction.template;
|
|
714
|
+
else this.pageActionsTemplate = pageAction.template;
|
|
715
|
+
});
|
|
716
|
+
}
|
|
717
|
+
observeActions() {
|
|
718
|
+
if (!this.header?.actionsElement) return;
|
|
719
|
+
if (this.isObservingActions) return;
|
|
720
|
+
this.isObservingActions = true;
|
|
721
|
+
if (!this.stickyActionsIntersectionObserver) this.stickyActionsIntersectionObserver = new IntersectionObserver((entries) => {
|
|
722
|
+
const lastEntry = entries[entries.length - 1];
|
|
723
|
+
if (lastEntry) {
|
|
724
|
+
const showToolbarActions = !lastEntry.isIntersecting;
|
|
725
|
+
if (showToolbarActions !== this.toolbarActionsVisible) {
|
|
726
|
+
this.toolbarActionsVisible = showToolbarActions;
|
|
727
|
+
this.changeDetectorRef.detectChanges();
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
}, { root: this.ionContentElement.nativeElement });
|
|
731
|
+
this.zone.runOutsideAngular(() => {
|
|
732
|
+
this.whenContentReady().then(() => {
|
|
733
|
+
if (this.header?.actionsElement?.nativeElement) this.stickyActionsIntersectionObserver.observe(this.header.actionsElement.nativeElement);
|
|
734
|
+
});
|
|
735
|
+
});
|
|
736
|
+
}
|
|
737
|
+
unobserveActions() {
|
|
738
|
+
if (this.header?.actionsElement) this.stickyActionsIntersectionObserver?.unobserve(this.header.actionsElement.nativeElement);
|
|
739
|
+
this.isObservingActions = false;
|
|
740
|
+
}
|
|
741
|
+
setActionButtonsWidth() {
|
|
742
|
+
if (!this.ionToolbarButtonsElement) return;
|
|
743
|
+
customElements.whenDefined(this.ionToolbarElement.nativeElement.localName).then(() => {
|
|
744
|
+
componentOnReady(this.ionToolbarElement.nativeElement, (toolbar) => {
|
|
745
|
+
let startButtonsWidth = 0;
|
|
746
|
+
let endButtonsWidth = 0;
|
|
747
|
+
this.ionToolbarButtonsElement.map((ionButtonsElementRef) => ionButtonsElementRef.nativeElement).forEach((ionButtonsElement) => {
|
|
748
|
+
const style = getComputedStyle(ionButtonsElement);
|
|
749
|
+
const margin = parseInt(style.marginLeft) + parseInt(style.marginRight);
|
|
750
|
+
if (ionButtonsElement.getAttribute("slot") === "start") startButtonsWidth += ionButtonsElement.offsetWidth + margin;
|
|
751
|
+
else endButtonsWidth += ionButtonsElement.offsetWidth + margin;
|
|
752
|
+
});
|
|
753
|
+
const actionButtonsMaxWidth = Math.max(startButtonsWidth, endButtonsWidth);
|
|
754
|
+
this.renderer.setStyle(toolbar, "--action-buttons-width", `${actionButtonsMaxWidth}px`, RendererStyleFlags2.DashCase);
|
|
755
|
+
});
|
|
756
|
+
});
|
|
757
|
+
}
|
|
758
|
+
initializeContent() {
|
|
759
|
+
this.customContent.forEach((content) => {
|
|
760
|
+
if (content.isFixed) this.fixedContentTemplate = content.template;
|
|
761
|
+
else this.customContentTemplate = content.template;
|
|
762
|
+
});
|
|
763
|
+
}
|
|
764
|
+
initializeStickyContent() {
|
|
765
|
+
this.stickyContentTemplate = this.stickyContentRef;
|
|
766
|
+
}
|
|
767
|
+
createStickyContentIntersectionObserver() {
|
|
768
|
+
const options = {
|
|
769
|
+
root: this.ionContentElement.nativeElement,
|
|
770
|
+
threshold: 1
|
|
771
|
+
};
|
|
772
|
+
const callback = (entries) => {
|
|
773
|
+
if (this.isStickyContentPinned !== !entries[0].isIntersecting) {
|
|
774
|
+
this.isStickyContentPinned = !this.isStickyContentPinned;
|
|
775
|
+
this.changeDetectorRef.detectChanges();
|
|
776
|
+
}
|
|
777
|
+
};
|
|
778
|
+
return new IntersectionObserver(callback, options);
|
|
779
|
+
}
|
|
780
|
+
getPathname(url) {
|
|
781
|
+
return url.split("?")[0];
|
|
782
|
+
}
|
|
783
|
+
_onKeyboardWillShow(info) {
|
|
784
|
+
if (info && info.keyboardHeight) this.ionContentElement.nativeElement.style.setProperty("--keyboard-offset", `${info.keyboardHeight}px`);
|
|
785
|
+
}
|
|
786
|
+
_onKeyboardWillHide() {
|
|
787
|
+
this.ionContentElement.nativeElement.style.setProperty("--keyboard-offset", "0px");
|
|
788
|
+
}
|
|
789
|
+
_onSelectedTabClick() {
|
|
790
|
+
if (this.content) this.content.scrollToTop(KirbyAnimation.Duration.LONG);
|
|
791
|
+
}
|
|
792
|
+
static {
|
|
793
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
794
|
+
minVersion: "12.0.0",
|
|
795
|
+
version: "22.2.2",
|
|
796
|
+
ngImport: i0,
|
|
797
|
+
type: PageComponent,
|
|
798
|
+
deps: [
|
|
799
|
+
{ token: i0.ElementRef },
|
|
800
|
+
{ token: i0.Injector },
|
|
801
|
+
{ token: i0.Renderer2 },
|
|
802
|
+
{ token: i2.Router },
|
|
803
|
+
{ token: i0.ChangeDetectorRef },
|
|
804
|
+
{ token: i0.NgZone },
|
|
805
|
+
{ token: i1.ModalNavigationService },
|
|
806
|
+
{ token: i3.ResizeObserverService },
|
|
807
|
+
{
|
|
808
|
+
token: i4.TabsComponent,
|
|
809
|
+
optional: true,
|
|
810
|
+
skipSelf: true
|
|
811
|
+
},
|
|
812
|
+
{
|
|
813
|
+
token: PAGE_BACK_BUTTON_OVERRIDE,
|
|
814
|
+
optional: true
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
token: i5.IonRouterOutlet,
|
|
818
|
+
optional: true
|
|
819
|
+
},
|
|
820
|
+
{
|
|
821
|
+
token: i5.NavController,
|
|
822
|
+
optional: true
|
|
823
|
+
},
|
|
824
|
+
{ token: i6.IonicElementPartHelper },
|
|
825
|
+
{ token: i3.TranslationService },
|
|
826
|
+
{ token: i7.Title }
|
|
827
|
+
],
|
|
828
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
829
|
+
});
|
|
830
|
+
}
|
|
831
|
+
static {
|
|
832
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
833
|
+
minVersion: "17.0.0",
|
|
834
|
+
version: "22.2.2",
|
|
835
|
+
type: PageComponent,
|
|
836
|
+
isStandalone: true,
|
|
837
|
+
selector: "kirby-page",
|
|
838
|
+
inputs: {
|
|
839
|
+
title: "title",
|
|
840
|
+
subtitle: "subtitle",
|
|
841
|
+
toolbarTitle: "toolbarTitle",
|
|
842
|
+
titleAlignment: "titleAlignment",
|
|
843
|
+
defaultBackHref: "defaultBackHref",
|
|
844
|
+
hideBackButton: "hideBackButton",
|
|
845
|
+
titleMaxLines: "titleMaxLines",
|
|
846
|
+
hasInteractiveTitle: "hasInteractiveTitle",
|
|
847
|
+
maxWidth: "maxWidth",
|
|
848
|
+
tabBarBottomHidden: "tabBarBottomHidden"
|
|
849
|
+
},
|
|
850
|
+
outputs: {
|
|
851
|
+
enter: "enter",
|
|
852
|
+
leave: "leave",
|
|
853
|
+
refresh: "refresh",
|
|
854
|
+
backButtonClick: "backButtonClick",
|
|
855
|
+
toolbarTitleClick: "toolbarTitleClick"
|
|
856
|
+
},
|
|
857
|
+
host: { listeners: {
|
|
858
|
+
"window:keyboardWillShow": "_onKeyboardWillShow($event)",
|
|
859
|
+
"window:keyboardWillHide": "_onKeyboardWillHide()",
|
|
860
|
+
"window:kirbySelectedTabClick": "_onSelectedTabClick()"
|
|
861
|
+
} },
|
|
862
|
+
providers: [IonicElementPartHelper],
|
|
863
|
+
queries: [
|
|
864
|
+
{
|
|
865
|
+
propertyName: "customToolbarTitleTemplate",
|
|
866
|
+
first: true,
|
|
867
|
+
predicate: PageToolbarTitleDirective,
|
|
868
|
+
descendants: true,
|
|
869
|
+
read: TemplateRef
|
|
870
|
+
},
|
|
871
|
+
{
|
|
872
|
+
propertyName: "customTitleTemplate",
|
|
873
|
+
first: true,
|
|
874
|
+
predicate: PageTitleDirective,
|
|
875
|
+
descendants: true,
|
|
876
|
+
read: TemplateRef
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
propertyName: "customSubtitleTemplate",
|
|
880
|
+
first: true,
|
|
881
|
+
predicate: PageSubtitleDirective,
|
|
882
|
+
descendants: true,
|
|
883
|
+
read: TemplateRef
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
propertyName: "stickyContentRef",
|
|
887
|
+
first: true,
|
|
888
|
+
predicate: PageStickyContentDirective,
|
|
889
|
+
descendants: true,
|
|
890
|
+
read: TemplateRef
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
propertyName: "header",
|
|
894
|
+
first: true,
|
|
895
|
+
predicate: HeaderComponent,
|
|
896
|
+
descendants: true
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
propertyName: "customActions",
|
|
900
|
+
predicate: PageActionsDirective
|
|
901
|
+
},
|
|
902
|
+
{
|
|
903
|
+
propertyName: "customContent",
|
|
904
|
+
predicate: PageContentDirective
|
|
905
|
+
}
|
|
906
|
+
],
|
|
907
|
+
viewQueries: [
|
|
908
|
+
{
|
|
909
|
+
propertyName: "content",
|
|
910
|
+
first: true,
|
|
911
|
+
predicate: IonContent,
|
|
912
|
+
descendants: true,
|
|
913
|
+
static: true
|
|
914
|
+
},
|
|
915
|
+
{
|
|
916
|
+
propertyName: "ionContentElement",
|
|
917
|
+
first: true,
|
|
918
|
+
predicate: IonContent,
|
|
919
|
+
descendants: true,
|
|
920
|
+
read: ElementRef,
|
|
921
|
+
static: true
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
propertyName: "ionHeaderElement",
|
|
925
|
+
first: true,
|
|
926
|
+
predicate: IonHeader,
|
|
927
|
+
descendants: true,
|
|
928
|
+
read: ElementRef,
|
|
929
|
+
static: true
|
|
930
|
+
},
|
|
931
|
+
{
|
|
932
|
+
propertyName: "ionFooterElement",
|
|
933
|
+
first: true,
|
|
934
|
+
predicate: IonFooter,
|
|
935
|
+
descendants: true,
|
|
936
|
+
read: ElementRef,
|
|
937
|
+
static: true
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
propertyName: "ionToolbarElement",
|
|
941
|
+
first: true,
|
|
942
|
+
predicate: IonToolbar,
|
|
943
|
+
descendants: true,
|
|
944
|
+
read: ElementRef,
|
|
945
|
+
static: true
|
|
946
|
+
},
|
|
947
|
+
{
|
|
948
|
+
propertyName: "backButton",
|
|
949
|
+
first: true,
|
|
950
|
+
predicate: IonBackButton,
|
|
951
|
+
descendants: true
|
|
952
|
+
},
|
|
953
|
+
{
|
|
954
|
+
propertyName: "pageTitle",
|
|
955
|
+
first: true,
|
|
956
|
+
predicate: ["pageTitle"],
|
|
957
|
+
descendants: true,
|
|
958
|
+
read: ElementRef
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
propertyName: "stickyContentContainer",
|
|
962
|
+
first: true,
|
|
963
|
+
predicate: ["stickyContentContainer"],
|
|
964
|
+
descendants: true,
|
|
965
|
+
read: ElementRef
|
|
966
|
+
},
|
|
967
|
+
{
|
|
968
|
+
propertyName: "simpleTitleTemplate",
|
|
969
|
+
first: true,
|
|
970
|
+
predicate: ["simpleTitleTemplate"],
|
|
971
|
+
descendants: true,
|
|
972
|
+
read: TemplateRef,
|
|
973
|
+
static: true
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
propertyName: "simpleToolbarTitleTemplate",
|
|
977
|
+
first: true,
|
|
978
|
+
predicate: ["simpleToolbarTitleTemplate"],
|
|
979
|
+
descendants: true,
|
|
980
|
+
read: TemplateRef,
|
|
981
|
+
static: true
|
|
982
|
+
},
|
|
983
|
+
{
|
|
984
|
+
propertyName: "ionToolbarButtonsElement",
|
|
985
|
+
predicate: IonButtons,
|
|
986
|
+
descendants: true,
|
|
987
|
+
read: ElementRef
|
|
988
|
+
}
|
|
989
|
+
],
|
|
990
|
+
usesOnChanges: true,
|
|
991
|
+
ngImport: i0,
|
|
992
|
+
template: "<ion-header role=\"presentation\">\n <ion-toolbar\n [class.content-scrolled]=\"isContentScrolled\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <ion-buttons slot=\"start\">\n <ion-back-button\n text=\"\"\n [defaultHref]=\"defaultBackHref\"\n icon=\"assets/kirby/icons/svg/arrow-back.svg\"\n [style.visibility]=\"hideBackButton ? 'hidden' : null\"\n [attr.aria-label]=\"translations.get('back')\"\n ></ion-back-button>\n </ion-buttons>\n <ion-title [class.slide-and-fade-in]=\"toolbarTitleVisible\">\n <div class=\"toolbar-title\">\n @if (!titleActionIconTemplate && !hasInteractiveTitle) {\n <h1 class=\"kirby-text-normal-bold\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </h1>\n }\n @if (!!titleActionIconTemplate || hasInteractiveTitle) {\n <span\n [class.clickable]=\"hasInteractiveTitle\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n <h1 class=\"kirby-text-normal-bold\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </h1>\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n </div>\n </ion-title>\n @if (!!headerActionsTemplate) {\n <ion-buttons class=\"hide\" slot=\"primary\" [class.fade-in]=\"toolbarActionsVisible\">\n <ng-container\n *ngTemplateOutlet=\"headerActionsTemplate; injector: toolbarActionGroupInjector\"\n ></ng-container>\n </ion-buttons>\n }\n @if (!!stickyActionsTemplate) {\n <ion-buttons class=\"legacy-actions\" slot=\"primary\">\n <ng-container *ngTemplateOutlet=\"stickyActionsTemplate\"></ng-container>\n </ion-buttons>\n }\n @if (!!fixedActionsTemplate) {\n <ion-buttons class=\"legacy-actions\" slot=\"secondary\">\n <ng-container *ngTemplateOutlet=\"fixedActionsTemplate\"></ng-container>\n </ion-buttons>\n }\n </ion-toolbar>\n</ion-header>\n\n<ion-content\n scrollEvents=\"true\"\n forceOverscroll=\"false\"\n [class]=\"getMaxWidthClasses()\"\n [class.has-header]=\"hasHeader\"\n>\n @if (refresh.observers.length > 0) {\n <ion-refresher (ionRefresh)=\"delegateRefreshEvent($event)\" slot=\"fixed\">\n <kirby-spinner></kirby-spinner>\n </ion-refresher>\n }\n\n <!-- Page header -->\n @if (hasPageTitle && !hasHeader) {\n <div class=\"page-header-container\">\n <div\n class=\"page-header\"\n [ngClass]=\"{\n 'text-center': titleAlignment === 'center',\n 'text-right': titleAlignment === 'right',\n }\"\n >\n <div #pageTitle class=\"page-title\" [class.has-actions]=\"!!pageActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"customTitleTemplate || defaultPageTitleTemplate\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"pageActionsTemplate || defaultPageActionsTemplate\"\n ></ng-container>\n </div>\n @if (hasPageSubtitle) {\n <div class=\"page-subtitle\">\n <ng-container\n *ngTemplateOutlet=\"customSubtitleTemplate || defaultPageSubtitleTemplate\"\n ></ng-container>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Header -->\n @if (hasHeader) {\n <div class=\"page-header-container\">\n <ng-content select=\"kirby-header\"></ng-content>\n </div>\n }\n\n <!-- Sticky content -->\n @if (stickyContentTemplate) {\n <div\n #stickyContentContainer\n class=\"sticky-content-container\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <div>\n <ng-container *ngTemplateOutlet=\"stickyContentTemplate\"></ng-container>\n </div>\n </div>\n }\n\n <!-- Content -->\n <div class=\"content-inner\">\n <ng-container\n *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\"\n ></ng-container>\n </div>\n\n @if (fixedContentTemplate) {\n <div slot=\"fixed\" class=\"fixed-content\">\n <div class=\"content-inner\">\n <ng-container *ngTemplateOutlet=\"fixedContentTemplate\"></ng-container>\n </div>\n </div>\n }\n</ion-content>\n\n<ion-footer>\n <ng-content select=\"kirby-page-footer\"></ng-content>\n</ion-footer>\n\n<ng-template #defaultPageTitleTemplate>\n <span [kirbyFitHeading]=\"fitHeadingConfig\" class=\"kirby-text-xlarge\">\n <ng-container *ngTemplateOutlet=\"simpleTitleTemplate\"></ng-container>\n </span>\n</ng-template>\n<ng-template #defaultPageSubtitleTemplate>\n <ng-container *ngTemplateOutlet=\"simpleSubtitleTemplate\"></ng-container>\n</ng-template>\n<ng-template #defaultPageActionsTemplate>\n <ng-content select=\"kirby-page-actions\"></ng-content>\n</ng-template>\n\n<ng-template #defaultContentTemplate>\n <ng-content select=\"kirby-page-content\"></ng-content>\n</ng-template>\n\n<ng-template #simpleTitleTemplate>{{ title }}</ng-template>\n<ng-template #simpleSubtitleTemplate>{{ subtitle }}</ng-template>\n<ng-template #simpleToolbarTitleTemplate>{{ toolbarTitle }}</ng-template>\n",
|
|
993
|
+
styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}ion-header,ion-toolbar{box-sizing:border-box;--background: var(--kirby-color-fill-base)}ion-title h1{font-size:min(var(--kirby-font-size-m),21.6px)}ion-toolbar{--border-width: 0 !important;--padding-start: var(--kirby-spacing-s);--padding-end: var(--kirby-spacing-s);--padding-top: 0;--padding-bottom: 0;--ion-toolbar-color: var(--kirby-color-content-base);--min-height: var(--kirby-spacing-xxxl)}@media(min-width:768px){ion-toolbar{--padding-start: var(--kirby-spacing-m);--padding-end: var(--kirby-spacing-m);--min-height: var(--kirby-spacing-xxxxxl)}}ion-toolbar:before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px}ion-toolbar:before,ion-toolbar::part(background){transition:background-color 50ms linear}ion-toolbar.content-scrolled{--background: var(--kirby-color-fill-base-hover)}ion-toolbar.content-scrolled:before,ion-toolbar.content-scrolled::part(background){transition-duration:var(--kirby-transition-duration-quick)}ion-toolbar.content-scrolled:not(.content-pinned):before{background-color:var(--kirby-color-border-base-silent)}ion-toolbar.content-pinned:before{transition:none}ion-toolbar ion-buttons[slot=start]{margin-right:var(--kirby-spacing-xxs)}ion-toolbar ion-buttons[slot=primary],ion-toolbar ion-buttons[slot=secondary]{margin-left:var(--kirby-spacing-xxs)}ion-toolbar ion-buttons[slot=secondary]{order:6}ion-toolbar ion-title{box-sizing:border-box;font-size:var(--kirby-font-size-n);font-weight:var(--kirby-font-weight-normal);padding-inline:calc(var(--action-buttons-width, var(--kirby-spacing-xl)var(--kirby-spacing-xxs)) + var(--padding-start))}ion-toolbar ion-title h1{margin-bottom:0}ion-toolbar ion-title.slide-and-fade-in .toolbar-title{scale:1;transform:translateY(0)}ion-toolbar ion-title .toolbar-title,ion-toolbar ion-title .toolbar-title>span.has-icon>span{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}ion-toolbar ion-title .toolbar-title{display:flex;align-items:center;justify-content:center;min-height:var(--kirby-spacing-xxxl);scale:0;transition-property:opacity,transform;transition-duration:.15s;transition-timing-function:var(--kirby-transition-easing-enter-exit);transform:translateY(10px)}ion-toolbar ion-title .toolbar-title span.clickable{cursor:pointer}ion-toolbar ion-title .toolbar-title span.has-icon{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;max-width:100%}ion-toolbar ion-title .toolbar-title ::ng-deep>*{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}.hide{visibility:hidden;opacity:0;transition:opacity .1s linear}.hide.fade-in{visibility:inherit;opacity:1}ion-back-button{--color: var(--kirby-color-content-raised);--color-hover: var(--kirby-color-content-raised-hover);--color-focused: var(--kirby-color-content-raised-hover);--background: var(--kirby-color-fill-raised);--background-hover: var(--kirby-color-fill-raised-hover);--background-hover-opacity: 1;--background-focused: var(--kirby-color-fill-raised-hover);--background-focused-opacity: 1;--icon-font-size: 24px;height:var(--kirby-spacing-xl);width:var(--kirby-spacing-xl);opacity:1}ion-back-button:active,ion-back-button.ion-activated{--background: var(--kirby-color-fill-raised-active);--color: var(--kirby-color-content-raised-active)}ion-back-button::part(icon){margin-inline:0}ion-back-button::part(native){opacity:1;border:1px solid var(--kirby-color-border-raised-quiet);border-radius:var(--kirby-border-radius-pill);overflow:hidden}@media(hover:hover){ion-back-button:hover::part(native){border-color:var(--kirby-color-border-raised-quiet-hover)}}ion-back-button:active::part(native),ion-back-button.ion-activated::part(native){border-color:var(--kirby-color-border-raised-quiet-active)}ion-back-button:focus-visible::part(native){transition:all 80ms linear 0ms;box-shadow:var(--kirby-focus-ring-md-inset)}.page-header-container{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto}.page-header{margin-left:var(--kirby-spacing-s);margin-top:var(--kirby-spacing-xxs);margin-bottom:var(--kirby-page-title-margin-bottom, var(--kirby-spacing-xl))}.page-header .page-title.has-actions{display:flex;justify-content:space-between;align-items:flex-start}.page-header .page-title h1,.page-header .page-title h2,.page-header .page-title h3,.page-header .page-title h4,.page-header .page-title h5,.page-header .page-title h6{margin:0}.page-header .page-subtitle{margin-top:var(--kirby-spacing-xxs)}.page-header.text-center{text-align:center;margin-left:0}.page-header.text-right{text-align:right}ion-content{--padding-top: var(--kirby-spacing-xs);--padding-start: var( --page-content-padding-start, calc(var(--kirby-spacing-s) + var(--ion-safe-area-left)) );--padding-end: var(--page-content-padding-end, var(--kirby-spacing-s));--background: var(--kirby-color-fill-base);--color: var(--kirby-color-content-base)}@media(min-width:768px){ion-content{--padding-start: var(--page-content-padding-start, var(--kirby-spacing-xxl));--padding-end: var(--page-content-padding-end, var(--kirby-spacing-xxl))}}ion-content.has-header{--padding-top: 0}ion-content.max-width-lg{--page-content-max-width: var(--kirby-page-content-max-width-lg)}ion-content.max-width-xl{--page-content-max-width: var(--kirby-page-content-max-width-xl)}ion-content.max-width-full{--page-content-max-width: var(--kirby-page-content-max-width-full)}ion-content::part(scroll){scrollbar-gutter:stable}ion-content .content-inner{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto;padding-bottom:var(--kirby-spacing-xl);transform:translateZ(0);will-change:transform}ion-content .fixed-content{width:100%;position:absolute;bottom:0;transform:initial}ion-content .fixed-content .content-inner{position:relative}.sticky-content-container{position:sticky;top:calc(-1 * var(--kirby-spacing-xs) - 1px);left:0;right:0;padding-top:1px;margin-block-end:var(--kirby-spacing-m);z-index:var(--kirby-z-index-sticky-content)}.sticky-content-container div{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto}.sticky-content-container:before,.sticky-content-container:after{content:\"\";position:absolute;left:calc(-1 * var(--padding-start));right:calc(-1 * var(--padding-end));bottom:0}.sticky-content-container:before{top:0;background-color:var(--background)}.sticky-content-container:after{height:1px}.sticky-content-container.content-pinned:before{background-color:var(--kirby-color-fill-base-hover)}.sticky-content-container.content-pinned:after{background-color:var(--kirby-color-border-base-silent)}\n"],
|
|
994
|
+
dependencies: [
|
|
995
|
+
{
|
|
996
|
+
kind: "component",
|
|
997
|
+
type: IonHeader,
|
|
998
|
+
selector: "ion-header",
|
|
999
|
+
inputs: [
|
|
1000
|
+
"collapse",
|
|
1001
|
+
"mode",
|
|
1002
|
+
"translucent"
|
|
1003
|
+
]
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
kind: "component",
|
|
1007
|
+
type: IonToolbar,
|
|
1008
|
+
selector: "ion-toolbar",
|
|
1009
|
+
inputs: ["color", "mode"]
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
kind: "component",
|
|
1013
|
+
type: IonButtons,
|
|
1014
|
+
selector: "ion-buttons",
|
|
1015
|
+
inputs: ["collapse"]
|
|
1016
|
+
},
|
|
1017
|
+
{
|
|
1018
|
+
kind: "component",
|
|
1019
|
+
type: IonBackButton,
|
|
1020
|
+
selector: "ion-back-button"
|
|
1021
|
+
},
|
|
1022
|
+
{
|
|
1023
|
+
kind: "component",
|
|
1024
|
+
type: IonTitle,
|
|
1025
|
+
selector: "ion-title",
|
|
1026
|
+
inputs: ["color", "size"]
|
|
1027
|
+
},
|
|
1028
|
+
{
|
|
1029
|
+
kind: "directive",
|
|
1030
|
+
type: NgTemplateOutlet,
|
|
1031
|
+
selector: "[ngTemplateOutlet]",
|
|
1032
|
+
inputs: [
|
|
1033
|
+
"ngTemplateOutletContext",
|
|
1034
|
+
"ngTemplateOutlet",
|
|
1035
|
+
"ngTemplateOutletInjector"
|
|
1036
|
+
]
|
|
1037
|
+
},
|
|
1038
|
+
{
|
|
1039
|
+
kind: "component",
|
|
1040
|
+
type: IonContent,
|
|
1041
|
+
selector: "ion-content",
|
|
1042
|
+
inputs: [
|
|
1043
|
+
"color",
|
|
1044
|
+
"fixedSlotPlacement",
|
|
1045
|
+
"forceOverscroll",
|
|
1046
|
+
"fullscreen",
|
|
1047
|
+
"scrollEvents",
|
|
1048
|
+
"scrollX",
|
|
1049
|
+
"scrollY"
|
|
1050
|
+
],
|
|
1051
|
+
outputs: [
|
|
1052
|
+
"ionScrollStart",
|
|
1053
|
+
"ionScroll",
|
|
1054
|
+
"ionScrollEnd"
|
|
1055
|
+
]
|
|
1056
|
+
},
|
|
1057
|
+
{
|
|
1058
|
+
kind: "component",
|
|
1059
|
+
type: IonRefresher,
|
|
1060
|
+
selector: "ion-refresher",
|
|
1061
|
+
inputs: [
|
|
1062
|
+
"closeDuration",
|
|
1063
|
+
"disabled",
|
|
1064
|
+
"mode",
|
|
1065
|
+
"pullFactor",
|
|
1066
|
+
"pullMax",
|
|
1067
|
+
"pullMin",
|
|
1068
|
+
"snapbackDuration"
|
|
1069
|
+
],
|
|
1070
|
+
outputs: [
|
|
1071
|
+
"ionRefresh",
|
|
1072
|
+
"ionPull",
|
|
1073
|
+
"ionStart",
|
|
1074
|
+
"ionPullStart",
|
|
1075
|
+
"ionPullEnd"
|
|
1076
|
+
]
|
|
1077
|
+
},
|
|
1078
|
+
{
|
|
1079
|
+
kind: "component",
|
|
1080
|
+
type: SpinnerComponent,
|
|
1081
|
+
selector: "kirby-spinner"
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
kind: "directive",
|
|
1085
|
+
type: NgClass,
|
|
1086
|
+
selector: "[ngClass]",
|
|
1087
|
+
inputs: ["class", "ngClass"]
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
kind: "component",
|
|
1091
|
+
type: IonFooter,
|
|
1092
|
+
selector: "ion-footer",
|
|
1093
|
+
inputs: [
|
|
1094
|
+
"collapse",
|
|
1095
|
+
"mode",
|
|
1096
|
+
"translucent"
|
|
1097
|
+
]
|
|
1098
|
+
},
|
|
1099
|
+
{
|
|
1100
|
+
kind: "directive",
|
|
1101
|
+
type: FitHeadingDirective,
|
|
1102
|
+
selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading],[kirbyFitHeading]",
|
|
1103
|
+
inputs: ["kirbyFitHeading"]
|
|
1104
|
+
}
|
|
1105
|
+
],
|
|
1106
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
1107
|
+
});
|
|
1108
|
+
}
|
|
1109
|
+
};
|
|
1110
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
1111
|
+
minVersion: "12.0.0",
|
|
1112
|
+
version: "22.2.2",
|
|
1113
|
+
ngImport: i0,
|
|
1114
|
+
type: PageComponent,
|
|
1115
|
+
decorators: [{
|
|
1116
|
+
type: Component,
|
|
1117
|
+
args: [{
|
|
1118
|
+
selector: "kirby-page",
|
|
1119
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1120
|
+
providers: [IonicElementPartHelper],
|
|
1121
|
+
imports: [
|
|
1122
|
+
IonHeader,
|
|
1123
|
+
IonToolbar,
|
|
1124
|
+
IonButtons,
|
|
1125
|
+
IonBackButton,
|
|
1126
|
+
IonTitle,
|
|
1127
|
+
NgTemplateOutlet,
|
|
1128
|
+
IonContent,
|
|
1129
|
+
IonRefresher,
|
|
1130
|
+
SpinnerComponent,
|
|
1131
|
+
NgClass,
|
|
1132
|
+
IonFooter,
|
|
1133
|
+
FitHeadingDirective
|
|
1134
|
+
],
|
|
1135
|
+
template: "<ion-header role=\"presentation\">\n <ion-toolbar\n [class.content-scrolled]=\"isContentScrolled\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <ion-buttons slot=\"start\">\n <ion-back-button\n text=\"\"\n [defaultHref]=\"defaultBackHref\"\n icon=\"assets/kirby/icons/svg/arrow-back.svg\"\n [style.visibility]=\"hideBackButton ? 'hidden' : null\"\n [attr.aria-label]=\"translations.get('back')\"\n ></ion-back-button>\n </ion-buttons>\n <ion-title [class.slide-and-fade-in]=\"toolbarTitleVisible\">\n <div class=\"toolbar-title\">\n @if (!titleActionIconTemplate && !hasInteractiveTitle) {\n <h1 class=\"kirby-text-normal-bold\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </h1>\n }\n @if (!!titleActionIconTemplate || hasInteractiveTitle) {\n <span\n [class.clickable]=\"hasInteractiveTitle\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n <h1 class=\"kirby-text-normal-bold\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </h1>\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n </div>\n </ion-title>\n @if (!!headerActionsTemplate) {\n <ion-buttons class=\"hide\" slot=\"primary\" [class.fade-in]=\"toolbarActionsVisible\">\n <ng-container\n *ngTemplateOutlet=\"headerActionsTemplate; injector: toolbarActionGroupInjector\"\n ></ng-container>\n </ion-buttons>\n }\n @if (!!stickyActionsTemplate) {\n <ion-buttons class=\"legacy-actions\" slot=\"primary\">\n <ng-container *ngTemplateOutlet=\"stickyActionsTemplate\"></ng-container>\n </ion-buttons>\n }\n @if (!!fixedActionsTemplate) {\n <ion-buttons class=\"legacy-actions\" slot=\"secondary\">\n <ng-container *ngTemplateOutlet=\"fixedActionsTemplate\"></ng-container>\n </ion-buttons>\n }\n </ion-toolbar>\n</ion-header>\n\n<ion-content\n scrollEvents=\"true\"\n forceOverscroll=\"false\"\n [class]=\"getMaxWidthClasses()\"\n [class.has-header]=\"hasHeader\"\n>\n @if (refresh.observers.length > 0) {\n <ion-refresher (ionRefresh)=\"delegateRefreshEvent($event)\" slot=\"fixed\">\n <kirby-spinner></kirby-spinner>\n </ion-refresher>\n }\n\n <!-- Page header -->\n @if (hasPageTitle && !hasHeader) {\n <div class=\"page-header-container\">\n <div\n class=\"page-header\"\n [ngClass]=\"{\n 'text-center': titleAlignment === 'center',\n 'text-right': titleAlignment === 'right',\n }\"\n >\n <div #pageTitle class=\"page-title\" [class.has-actions]=\"!!pageActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"customTitleTemplate || defaultPageTitleTemplate\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"pageActionsTemplate || defaultPageActionsTemplate\"\n ></ng-container>\n </div>\n @if (hasPageSubtitle) {\n <div class=\"page-subtitle\">\n <ng-container\n *ngTemplateOutlet=\"customSubtitleTemplate || defaultPageSubtitleTemplate\"\n ></ng-container>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- Header -->\n @if (hasHeader) {\n <div class=\"page-header-container\">\n <ng-content select=\"kirby-header\"></ng-content>\n </div>\n }\n\n <!-- Sticky content -->\n @if (stickyContentTemplate) {\n <div\n #stickyContentContainer\n class=\"sticky-content-container\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <div>\n <ng-container *ngTemplateOutlet=\"stickyContentTemplate\"></ng-container>\n </div>\n </div>\n }\n\n <!-- Content -->\n <div class=\"content-inner\">\n <ng-container\n *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\"\n ></ng-container>\n </div>\n\n @if (fixedContentTemplate) {\n <div slot=\"fixed\" class=\"fixed-content\">\n <div class=\"content-inner\">\n <ng-container *ngTemplateOutlet=\"fixedContentTemplate\"></ng-container>\n </div>\n </div>\n }\n</ion-content>\n\n<ion-footer>\n <ng-content select=\"kirby-page-footer\"></ng-content>\n</ion-footer>\n\n<ng-template #defaultPageTitleTemplate>\n <span [kirbyFitHeading]=\"fitHeadingConfig\" class=\"kirby-text-xlarge\">\n <ng-container *ngTemplateOutlet=\"simpleTitleTemplate\"></ng-container>\n </span>\n</ng-template>\n<ng-template #defaultPageSubtitleTemplate>\n <ng-container *ngTemplateOutlet=\"simpleSubtitleTemplate\"></ng-container>\n</ng-template>\n<ng-template #defaultPageActionsTemplate>\n <ng-content select=\"kirby-page-actions\"></ng-content>\n</ng-template>\n\n<ng-template #defaultContentTemplate>\n <ng-content select=\"kirby-page-content\"></ng-content>\n</ng-template>\n\n<ng-template #simpleTitleTemplate>{{ title }}</ng-template>\n<ng-template #simpleSubtitleTemplate>{{ subtitle }}</ng-template>\n<ng-template #simpleToolbarTitleTemplate>{{ toolbarTitle }}</ng-template>\n",
|
|
1136
|
+
styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}ion-header,ion-toolbar{box-sizing:border-box;--background: var(--kirby-color-fill-base)}ion-title h1{font-size:min(var(--kirby-font-size-m),21.6px)}ion-toolbar{--border-width: 0 !important;--padding-start: var(--kirby-spacing-s);--padding-end: var(--kirby-spacing-s);--padding-top: 0;--padding-bottom: 0;--ion-toolbar-color: var(--kirby-color-content-base);--min-height: var(--kirby-spacing-xxxl)}@media(min-width:768px){ion-toolbar{--padding-start: var(--kirby-spacing-m);--padding-end: var(--kirby-spacing-m);--min-height: var(--kirby-spacing-xxxxxl)}}ion-toolbar:before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px}ion-toolbar:before,ion-toolbar::part(background){transition:background-color 50ms linear}ion-toolbar.content-scrolled{--background: var(--kirby-color-fill-base-hover)}ion-toolbar.content-scrolled:before,ion-toolbar.content-scrolled::part(background){transition-duration:var(--kirby-transition-duration-quick)}ion-toolbar.content-scrolled:not(.content-pinned):before{background-color:var(--kirby-color-border-base-silent)}ion-toolbar.content-pinned:before{transition:none}ion-toolbar ion-buttons[slot=start]{margin-right:var(--kirby-spacing-xxs)}ion-toolbar ion-buttons[slot=primary],ion-toolbar ion-buttons[slot=secondary]{margin-left:var(--kirby-spacing-xxs)}ion-toolbar ion-buttons[slot=secondary]{order:6}ion-toolbar ion-title{box-sizing:border-box;font-size:var(--kirby-font-size-n);font-weight:var(--kirby-font-weight-normal);padding-inline:calc(var(--action-buttons-width, var(--kirby-spacing-xl)var(--kirby-spacing-xxs)) + var(--padding-start))}ion-toolbar ion-title h1{margin-bottom:0}ion-toolbar ion-title.slide-and-fade-in .toolbar-title{scale:1;transform:translateY(0)}ion-toolbar ion-title .toolbar-title,ion-toolbar ion-title .toolbar-title>span.has-icon>span{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}ion-toolbar ion-title .toolbar-title{display:flex;align-items:center;justify-content:center;min-height:var(--kirby-spacing-xxxl);scale:0;transition-property:opacity,transform;transition-duration:.15s;transition-timing-function:var(--kirby-transition-easing-enter-exit);transform:translateY(10px)}ion-toolbar ion-title .toolbar-title span.clickable{cursor:pointer}ion-toolbar ion-title .toolbar-title span.has-icon{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;max-width:100%}ion-toolbar ion-title .toolbar-title ::ng-deep>*{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}.hide{visibility:hidden;opacity:0;transition:opacity .1s linear}.hide.fade-in{visibility:inherit;opacity:1}ion-back-button{--color: var(--kirby-color-content-raised);--color-hover: var(--kirby-color-content-raised-hover);--color-focused: var(--kirby-color-content-raised-hover);--background: var(--kirby-color-fill-raised);--background-hover: var(--kirby-color-fill-raised-hover);--background-hover-opacity: 1;--background-focused: var(--kirby-color-fill-raised-hover);--background-focused-opacity: 1;--icon-font-size: 24px;height:var(--kirby-spacing-xl);width:var(--kirby-spacing-xl);opacity:1}ion-back-button:active,ion-back-button.ion-activated{--background: var(--kirby-color-fill-raised-active);--color: var(--kirby-color-content-raised-active)}ion-back-button::part(icon){margin-inline:0}ion-back-button::part(native){opacity:1;border:1px solid var(--kirby-color-border-raised-quiet);border-radius:var(--kirby-border-radius-pill);overflow:hidden}@media(hover:hover){ion-back-button:hover::part(native){border-color:var(--kirby-color-border-raised-quiet-hover)}}ion-back-button:active::part(native),ion-back-button.ion-activated::part(native){border-color:var(--kirby-color-border-raised-quiet-active)}ion-back-button:focus-visible::part(native){transition:all 80ms linear 0ms;box-shadow:var(--kirby-focus-ring-md-inset)}.page-header-container{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto}.page-header{margin-left:var(--kirby-spacing-s);margin-top:var(--kirby-spacing-xxs);margin-bottom:var(--kirby-page-title-margin-bottom, var(--kirby-spacing-xl))}.page-header .page-title.has-actions{display:flex;justify-content:space-between;align-items:flex-start}.page-header .page-title h1,.page-header .page-title h2,.page-header .page-title h3,.page-header .page-title h4,.page-header .page-title h5,.page-header .page-title h6{margin:0}.page-header .page-subtitle{margin-top:var(--kirby-spacing-xxs)}.page-header.text-center{text-align:center;margin-left:0}.page-header.text-right{text-align:right}ion-content{--padding-top: var(--kirby-spacing-xs);--padding-start: var( --page-content-padding-start, calc(var(--kirby-spacing-s) + var(--ion-safe-area-left)) );--padding-end: var(--page-content-padding-end, var(--kirby-spacing-s));--background: var(--kirby-color-fill-base);--color: var(--kirby-color-content-base)}@media(min-width:768px){ion-content{--padding-start: var(--page-content-padding-start, var(--kirby-spacing-xxl));--padding-end: var(--page-content-padding-end, var(--kirby-spacing-xxl))}}ion-content.has-header{--padding-top: 0}ion-content.max-width-lg{--page-content-max-width: var(--kirby-page-content-max-width-lg)}ion-content.max-width-xl{--page-content-max-width: var(--kirby-page-content-max-width-xl)}ion-content.max-width-full{--page-content-max-width: var(--kirby-page-content-max-width-full)}ion-content::part(scroll){scrollbar-gutter:stable}ion-content .content-inner{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto;padding-bottom:var(--kirby-spacing-xl);transform:translateZ(0);will-change:transform}ion-content .fixed-content{width:100%;position:absolute;bottom:0;transform:initial}ion-content .fixed-content .content-inner{position:relative}.sticky-content-container{position:sticky;top:calc(-1 * var(--kirby-spacing-xs) - 1px);left:0;right:0;padding-top:1px;margin-block-end:var(--kirby-spacing-m);z-index:var(--kirby-z-index-sticky-content)}.sticky-content-container div{max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto}.sticky-content-container:before,.sticky-content-container:after{content:\"\";position:absolute;left:calc(-1 * var(--padding-start));right:calc(-1 * var(--padding-end));bottom:0}.sticky-content-container:before{top:0;background-color:var(--background)}.sticky-content-container:after{height:1px}.sticky-content-container.content-pinned:before{background-color:var(--kirby-color-fill-base-hover)}.sticky-content-container.content-pinned:after{background-color:var(--kirby-color-border-base-silent)}\n"]
|
|
1137
|
+
}]
|
|
1138
|
+
}],
|
|
1139
|
+
ctorParameters: () => [
|
|
1140
|
+
{ type: i0.ElementRef },
|
|
1141
|
+
{ type: i0.Injector },
|
|
1142
|
+
{ type: i0.Renderer2 },
|
|
1143
|
+
{ type: i2.Router },
|
|
1144
|
+
{ type: i0.ChangeDetectorRef },
|
|
1145
|
+
{ type: i0.NgZone },
|
|
1146
|
+
{ type: i1.ModalNavigationService },
|
|
1147
|
+
{ type: i3.ResizeObserverService },
|
|
1148
|
+
{
|
|
1149
|
+
type: i4.TabsComponent,
|
|
1150
|
+
decorators: [{ type: Optional }, { type: SkipSelf }]
|
|
1151
|
+
},
|
|
1152
|
+
{
|
|
1153
|
+
type: void 0,
|
|
1154
|
+
decorators: [{ type: Optional }, {
|
|
1155
|
+
type: Inject,
|
|
1156
|
+
args: [PAGE_BACK_BUTTON_OVERRIDE]
|
|
1157
|
+
}]
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
type: i5.IonRouterOutlet,
|
|
1161
|
+
decorators: [{ type: Optional }]
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
type: i5.NavController,
|
|
1165
|
+
decorators: [{ type: Optional }]
|
|
1166
|
+
},
|
|
1167
|
+
{ type: i6.IonicElementPartHelper },
|
|
1168
|
+
{ type: i3.TranslationService },
|
|
1169
|
+
{ type: i7.Title }
|
|
1170
|
+
],
|
|
1171
|
+
propDecorators: {
|
|
1172
|
+
title: [{ type: Input }],
|
|
1173
|
+
subtitle: [{ type: Input }],
|
|
1174
|
+
toolbarTitle: [{ type: Input }],
|
|
1175
|
+
titleAlignment: [{ type: Input }],
|
|
1176
|
+
defaultBackHref: [{ type: Input }],
|
|
1177
|
+
hideBackButton: [{ type: Input }],
|
|
1178
|
+
titleMaxLines: [{ type: Input }],
|
|
1179
|
+
hasInteractiveTitle: [{ type: Input }],
|
|
1180
|
+
maxWidth: [{ type: Input }],
|
|
1181
|
+
tabBarBottomHidden: [{ type: Input }],
|
|
1182
|
+
enter: [{ type: Output }],
|
|
1183
|
+
leave: [{ type: Output }],
|
|
1184
|
+
refresh: [{ type: Output }],
|
|
1185
|
+
backButtonClick: [{ type: Output }],
|
|
1186
|
+
toolbarTitleClick: [{ type: Output }],
|
|
1187
|
+
content: [{
|
|
1188
|
+
type: ViewChild,
|
|
1189
|
+
args: [IonContent, { static: true }]
|
|
1190
|
+
}],
|
|
1191
|
+
ionContentElement: [{
|
|
1192
|
+
type: ViewChild,
|
|
1193
|
+
args: [IonContent, {
|
|
1194
|
+
static: true,
|
|
1195
|
+
read: ElementRef
|
|
1196
|
+
}]
|
|
1197
|
+
}],
|
|
1198
|
+
ionHeaderElement: [{
|
|
1199
|
+
type: ViewChild,
|
|
1200
|
+
args: [IonHeader, {
|
|
1201
|
+
static: true,
|
|
1202
|
+
read: ElementRef
|
|
1203
|
+
}]
|
|
1204
|
+
}],
|
|
1205
|
+
ionFooterElement: [{
|
|
1206
|
+
type: ViewChild,
|
|
1207
|
+
args: [IonFooter, {
|
|
1208
|
+
static: true,
|
|
1209
|
+
read: ElementRef
|
|
1210
|
+
}]
|
|
1211
|
+
}],
|
|
1212
|
+
ionToolbarElement: [{
|
|
1213
|
+
type: ViewChild,
|
|
1214
|
+
args: [IonToolbar, {
|
|
1215
|
+
static: true,
|
|
1216
|
+
read: ElementRef
|
|
1217
|
+
}]
|
|
1218
|
+
}],
|
|
1219
|
+
ionToolbarButtonsElement: [{
|
|
1220
|
+
type: ViewChildren,
|
|
1221
|
+
args: [IonButtons, { read: ElementRef }]
|
|
1222
|
+
}],
|
|
1223
|
+
backButton: [{
|
|
1224
|
+
type: ViewChild,
|
|
1225
|
+
args: [IonBackButton, { static: false }]
|
|
1226
|
+
}],
|
|
1227
|
+
pageTitle: [{
|
|
1228
|
+
type: ViewChild,
|
|
1229
|
+
args: ["pageTitle", {
|
|
1230
|
+
static: false,
|
|
1231
|
+
read: ElementRef
|
|
1232
|
+
}]
|
|
1233
|
+
}],
|
|
1234
|
+
stickyContentContainer: [{
|
|
1235
|
+
type: ViewChild,
|
|
1236
|
+
args: ["stickyContentContainer", {
|
|
1237
|
+
static: false,
|
|
1238
|
+
read: ElementRef
|
|
1239
|
+
}]
|
|
1240
|
+
}],
|
|
1241
|
+
simpleTitleTemplate: [{
|
|
1242
|
+
type: ViewChild,
|
|
1243
|
+
args: ["simpleTitleTemplate", {
|
|
1244
|
+
static: true,
|
|
1245
|
+
read: TemplateRef
|
|
1246
|
+
}]
|
|
1247
|
+
}],
|
|
1248
|
+
simpleToolbarTitleTemplate: [{
|
|
1249
|
+
type: ViewChild,
|
|
1250
|
+
args: ["simpleToolbarTitleTemplate", {
|
|
1251
|
+
static: true,
|
|
1252
|
+
read: TemplateRef
|
|
1253
|
+
}]
|
|
1254
|
+
}],
|
|
1255
|
+
customToolbarTitleTemplate: [{
|
|
1256
|
+
type: ContentChild,
|
|
1257
|
+
args: [PageToolbarTitleDirective, {
|
|
1258
|
+
static: false,
|
|
1259
|
+
read: TemplateRef
|
|
1260
|
+
}]
|
|
1261
|
+
}],
|
|
1262
|
+
customTitleTemplate: [{
|
|
1263
|
+
type: ContentChild,
|
|
1264
|
+
args: [PageTitleDirective, {
|
|
1265
|
+
static: false,
|
|
1266
|
+
read: TemplateRef
|
|
1267
|
+
}]
|
|
1268
|
+
}],
|
|
1269
|
+
customSubtitleTemplate: [{
|
|
1270
|
+
type: ContentChild,
|
|
1271
|
+
args: [PageSubtitleDirective, {
|
|
1272
|
+
static: false,
|
|
1273
|
+
read: TemplateRef
|
|
1274
|
+
}]
|
|
1275
|
+
}],
|
|
1276
|
+
customActions: [{
|
|
1277
|
+
type: ContentChildren,
|
|
1278
|
+
args: [PageActionsDirective]
|
|
1279
|
+
}],
|
|
1280
|
+
customContent: [{
|
|
1281
|
+
type: ContentChildren,
|
|
1282
|
+
args: [PageContentDirective]
|
|
1283
|
+
}],
|
|
1284
|
+
stickyContentRef: [{
|
|
1285
|
+
type: ContentChild,
|
|
1286
|
+
args: [PageStickyContentDirective, {
|
|
1287
|
+
static: false,
|
|
1288
|
+
read: TemplateRef
|
|
1289
|
+
}]
|
|
1290
|
+
}],
|
|
1291
|
+
header: [{
|
|
1292
|
+
type: ContentChild,
|
|
1293
|
+
args: [HeaderComponent]
|
|
1294
|
+
}],
|
|
1295
|
+
_onKeyboardWillShow: [{
|
|
1296
|
+
type: HostListener,
|
|
1297
|
+
args: ["window:keyboardWillShow", ["$event"]]
|
|
1298
|
+
}],
|
|
1299
|
+
_onKeyboardWillHide: [{
|
|
1300
|
+
type: HostListener,
|
|
1301
|
+
args: ["window:keyboardWillHide"]
|
|
1302
|
+
}],
|
|
1303
|
+
_onSelectedTabClick: [{
|
|
1304
|
+
type: HostListener,
|
|
1305
|
+
args: [`window:${selectedTabClickEvent}`]
|
|
1306
|
+
}]
|
|
1307
|
+
}
|
|
1308
|
+
});
|
|
1309
|
+
var PageFooterComponent = class PageFooterComponent {
|
|
1310
|
+
constructor(pageComponent, hostElement, renderer) {
|
|
1311
|
+
this.pageComponent = pageComponent;
|
|
1312
|
+
this.hostElement = hostElement;
|
|
1313
|
+
this.renderer = renderer;
|
|
1314
|
+
this.hasPadding = true;
|
|
1315
|
+
if (!pageComponent) throw new Error("Page footer must reside inside of a Kirby page");
|
|
1316
|
+
}
|
|
1317
|
+
close() {
|
|
1318
|
+
this.pageComponent.tabBarBottomHidden = false;
|
|
1319
|
+
this.renderer.removeChild(this.hostElement.nativeElement.parentElement, this.hostElement.nativeElement, true);
|
|
1320
|
+
}
|
|
1321
|
+
ngOnDestroy() {
|
|
1322
|
+
this.pageComponent.tabBarBottomHidden = false;
|
|
1323
|
+
}
|
|
1324
|
+
static {
|
|
1325
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
1326
|
+
minVersion: "12.0.0",
|
|
1327
|
+
version: "22.2.2",
|
|
1328
|
+
ngImport: i0,
|
|
1329
|
+
type: PageFooterComponent,
|
|
1330
|
+
deps: [
|
|
1331
|
+
{
|
|
1332
|
+
token: PageComponent,
|
|
1333
|
+
optional: true,
|
|
1334
|
+
skipSelf: true
|
|
1335
|
+
},
|
|
1336
|
+
{ token: i0.ElementRef },
|
|
1337
|
+
{ token: i0.Renderer2 }
|
|
1338
|
+
],
|
|
1339
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
1340
|
+
});
|
|
1341
|
+
}
|
|
1342
|
+
static {
|
|
1343
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
1344
|
+
minVersion: "14.0.0",
|
|
1345
|
+
version: "22.2.2",
|
|
1346
|
+
type: PageFooterComponent,
|
|
1347
|
+
isStandalone: true,
|
|
1348
|
+
selector: "kirby-page-footer",
|
|
1349
|
+
inputs: { hasPadding: "hasPadding" },
|
|
1350
|
+
ngImport: i0,
|
|
1351
|
+
template: "<div class=\"wrapper kirby-surface-raised\" [class.padding]=\"hasPadding\">\n <ng-content></ng-content>\n</div>\n",
|
|
1352
|
+
styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}ion-item-option.success{background-color:var(--kirby-color-fill-success);color:var(--kirby-color-content-success)}@media(hover:hover){ion-item-option.success:hover{background-color:var(--kirby-color-fill-success-hover);color:var(--kirby-color-content-success-hover)}}ion-item-option.success:active{background-color:var(--kirby-color-fill-success-active);color:var(--kirby-color-content-success-active)}ion-item-option.warning{background-color:var(--kirby-color-fill-warning);color:var(--kirby-color-content-warning)}@media(hover:hover){ion-item-option.warning:hover{background-color:var(--kirby-color-fill-warning-hover);color:var(--kirby-color-content-warning-hover)}}ion-item-option.warning:active{background-color:var(--kirby-color-fill-warning-active);color:var(--kirby-color-content-warning-active)}ion-item-option.danger{background-color:var(--kirby-color-fill-danger);color:var(--kirby-color-content-danger)}@media(hover:hover){ion-item-option.danger:hover{background-color:var(--kirby-color-fill-danger-hover);color:var(--kirby-color-content-danger-hover)}}ion-item-option.danger:active{background-color:var(--kirby-color-fill-danger-active);color:var(--kirby-color-content-danger-active)}:host{display:block;background-color:var(--kirby-color-fill-raised);--kirby-inputs-background-color: var(--kirby-dark-overlay);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-color-hover: var(--kirby-semi-dark);--kirby-inputs-elevation: none;--kirby-divider-color: var(--kirby-background-color)}:host .wrapper{position:relative;max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto;padding-bottom:var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom))}:host .wrapper.padding{padding:var(--kirby-spacing-xxs) var(--kirby-spacing-s);padding-bottom:calc(var(--kirby-spacing-xxs) + var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom)))}\n"],
|
|
1353
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
1354
|
+
});
|
|
1355
|
+
}
|
|
1356
|
+
};
|
|
1357
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
1358
|
+
minVersion: "12.0.0",
|
|
1359
|
+
version: "22.2.2",
|
|
1360
|
+
ngImport: i0,
|
|
1361
|
+
type: PageFooterComponent,
|
|
1362
|
+
decorators: [{
|
|
1363
|
+
type: Component,
|
|
1364
|
+
args: [{
|
|
1365
|
+
selector: "kirby-page-footer",
|
|
1366
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1367
|
+
template: "<div class=\"wrapper kirby-surface-raised\" [class.padding]=\"hasPadding\">\n <ng-content></ng-content>\n</div>\n",
|
|
1368
|
+
styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}ion-item-option.success{background-color:var(--kirby-color-fill-success);color:var(--kirby-color-content-success)}@media(hover:hover){ion-item-option.success:hover{background-color:var(--kirby-color-fill-success-hover);color:var(--kirby-color-content-success-hover)}}ion-item-option.success:active{background-color:var(--kirby-color-fill-success-active);color:var(--kirby-color-content-success-active)}ion-item-option.warning{background-color:var(--kirby-color-fill-warning);color:var(--kirby-color-content-warning)}@media(hover:hover){ion-item-option.warning:hover{background-color:var(--kirby-color-fill-warning-hover);color:var(--kirby-color-content-warning-hover)}}ion-item-option.warning:active{background-color:var(--kirby-color-fill-warning-active);color:var(--kirby-color-content-warning-active)}ion-item-option.danger{background-color:var(--kirby-color-fill-danger);color:var(--kirby-color-content-danger)}@media(hover:hover){ion-item-option.danger:hover{background-color:var(--kirby-color-fill-danger-hover);color:var(--kirby-color-content-danger-hover)}}ion-item-option.danger:active{background-color:var(--kirby-color-fill-danger-active);color:var(--kirby-color-content-danger-active)}:host{display:block;background-color:var(--kirby-color-fill-raised);--kirby-inputs-background-color: var(--kirby-dark-overlay);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-color-hover: var(--kirby-semi-dark);--kirby-inputs-elevation: none;--kirby-divider-color: var(--kirby-background-color)}:host .wrapper{position:relative;max-width:var(--page-content-max-width, var(--kirby-page-content-max-width-default));margin:0 auto;padding-bottom:var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom))}:host .wrapper.padding{padding:var(--kirby-spacing-xxs) var(--kirby-spacing-s);padding-bottom:calc(var(--kirby-spacing-xxs) + var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom)))}\n"]
|
|
1369
|
+
}]
|
|
1370
|
+
}],
|
|
1371
|
+
ctorParameters: () => [
|
|
1372
|
+
{
|
|
1373
|
+
type: PageComponent,
|
|
1374
|
+
decorators: [{ type: Optional }, { type: SkipSelf }]
|
|
1375
|
+
},
|
|
1376
|
+
{ type: i0.ElementRef },
|
|
1377
|
+
{ type: i0.Renderer2 }
|
|
1378
|
+
],
|
|
1379
|
+
propDecorators: { hasPadding: [{ type: Input }] }
|
|
1380
|
+
});
|
|
1381
|
+
var PageModule = class PageModule {
|
|
1382
|
+
static {
|
|
1383
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
1384
|
+
minVersion: "12.0.0",
|
|
1385
|
+
version: "22.2.2",
|
|
1386
|
+
ngImport: i0,
|
|
1387
|
+
type: PageModule,
|
|
1388
|
+
deps: [],
|
|
1389
|
+
target: i0.ɵɵFactoryTarget.NgModule
|
|
1390
|
+
});
|
|
1391
|
+
}
|
|
1392
|
+
static {
|
|
1393
|
+
this.ɵmod = i0.ɵɵngDeclareNgModule({
|
|
1394
|
+
minVersion: "14.0.0",
|
|
1395
|
+
version: "22.2.2",
|
|
1396
|
+
ngImport: i0,
|
|
1397
|
+
type: PageModule,
|
|
1398
|
+
imports: [
|
|
1399
|
+
CommonModule,
|
|
1400
|
+
FitHeadingDirective,
|
|
1401
|
+
SpinnerModule,
|
|
1402
|
+
HeaderModule,
|
|
1403
|
+
IonHeader,
|
|
1404
|
+
IonToolbar,
|
|
1405
|
+
IonButtons,
|
|
1406
|
+
IonBackButton,
|
|
1407
|
+
IonContent,
|
|
1408
|
+
IonTitle,
|
|
1409
|
+
IonRefresher,
|
|
1410
|
+
IonFooter,
|
|
1411
|
+
PageComponent,
|
|
1412
|
+
PageActionsComponent,
|
|
1413
|
+
PageActionsDirective,
|
|
1414
|
+
PageContentComponent,
|
|
1415
|
+
PageFooterComponent,
|
|
1416
|
+
PageContentDirective,
|
|
1417
|
+
PageProgressComponent,
|
|
1418
|
+
PageTitleComponent,
|
|
1419
|
+
PageTitleDirective,
|
|
1420
|
+
PageSubtitleDirective,
|
|
1421
|
+
PageToolbarTitleDirective,
|
|
1422
|
+
PageStickyContentDirective
|
|
1423
|
+
],
|
|
1424
|
+
exports: [
|
|
1425
|
+
PageComponent,
|
|
1426
|
+
PageActionsComponent,
|
|
1427
|
+
PageActionsDirective,
|
|
1428
|
+
PageContentComponent,
|
|
1429
|
+
PageFooterComponent,
|
|
1430
|
+
PageContentDirective,
|
|
1431
|
+
PageProgressComponent,
|
|
1432
|
+
PageTitleComponent,
|
|
1433
|
+
PageTitleDirective,
|
|
1434
|
+
PageSubtitleDirective,
|
|
1435
|
+
PageToolbarTitleDirective,
|
|
1436
|
+
FitHeadingDirective,
|
|
1437
|
+
PageStickyContentDirective
|
|
1438
|
+
]
|
|
1439
|
+
});
|
|
1440
|
+
}
|
|
1441
|
+
static {
|
|
1442
|
+
this.ɵinj = i0.ɵɵngDeclareInjector({
|
|
1443
|
+
minVersion: "12.0.0",
|
|
1444
|
+
version: "22.2.2",
|
|
1445
|
+
ngImport: i0,
|
|
1446
|
+
type: PageModule,
|
|
1447
|
+
imports: [
|
|
1448
|
+
CommonModule,
|
|
1449
|
+
SpinnerModule,
|
|
1450
|
+
HeaderModule,
|
|
1451
|
+
IonHeader,
|
|
1452
|
+
IonToolbar,
|
|
1453
|
+
IonButtons,
|
|
1454
|
+
IonBackButton,
|
|
1455
|
+
IonContent,
|
|
1456
|
+
IonTitle,
|
|
1457
|
+
IonRefresher,
|
|
1458
|
+
IonFooter,
|
|
1459
|
+
PageComponent
|
|
1460
|
+
]
|
|
1461
|
+
});
|
|
1462
|
+
}
|
|
1463
|
+
};
|
|
1464
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
1465
|
+
minVersion: "12.0.0",
|
|
1466
|
+
version: "22.2.2",
|
|
1467
|
+
ngImport: i0,
|
|
1468
|
+
type: PageModule,
|
|
1469
|
+
decorators: [{
|
|
1470
|
+
type: NgModule,
|
|
1471
|
+
args: [{
|
|
1472
|
+
imports: [
|
|
1473
|
+
CommonModule,
|
|
1474
|
+
FitHeadingDirective,
|
|
1475
|
+
SpinnerModule,
|
|
1476
|
+
HeaderModule,
|
|
1477
|
+
IonHeader,
|
|
1478
|
+
IonToolbar,
|
|
1479
|
+
IonButtons,
|
|
1480
|
+
IonBackButton,
|
|
1481
|
+
IonContent,
|
|
1482
|
+
IonTitle,
|
|
1483
|
+
IonRefresher,
|
|
1484
|
+
IonFooter,
|
|
1485
|
+
PageComponent,
|
|
1486
|
+
PageActionsComponent,
|
|
1487
|
+
PageActionsDirective,
|
|
1488
|
+
PageContentComponent,
|
|
1489
|
+
PageFooterComponent,
|
|
1490
|
+
PageContentDirective,
|
|
1491
|
+
PageProgressComponent,
|
|
1492
|
+
PageTitleComponent,
|
|
1493
|
+
PageTitleDirective,
|
|
1494
|
+
PageSubtitleDirective,
|
|
1495
|
+
PageToolbarTitleDirective,
|
|
1496
|
+
PageStickyContentDirective
|
|
1497
|
+
],
|
|
1498
|
+
exports: [
|
|
1499
|
+
PageComponent,
|
|
1500
|
+
PageActionsComponent,
|
|
1501
|
+
PageActionsDirective,
|
|
1502
|
+
PageContentComponent,
|
|
1503
|
+
PageFooterComponent,
|
|
1504
|
+
PageContentDirective,
|
|
1505
|
+
PageProgressComponent,
|
|
1506
|
+
PageTitleComponent,
|
|
1507
|
+
PageTitleDirective,
|
|
1508
|
+
PageSubtitleDirective,
|
|
1509
|
+
PageToolbarTitleDirective,
|
|
1510
|
+
FitHeadingDirective,
|
|
1511
|
+
PageStickyContentDirective
|
|
1512
|
+
]
|
|
1513
|
+
}]
|
|
1514
|
+
}]
|
|
1515
|
+
});
|
|
935
1516
|
export { PAGE_BACK_BUTTON_OVERRIDE, PageActionsComponent, PageActionsDirective, PageComponent, PageContentComponent, PageContentDirective, PageFooterComponent, PageModule, PageProgressComponent, PageStickyContentDirective, PageSubtitleDirective, PageTitleComponent, PageTitleDirective, PageToolbarTitleDirective };
|
|
936
|
-
|
|
1517
|
+
|
|
1518
|
+
//# sourceMappingURL=kirbydesign-designsystem-page.mjs.map
|