@kirbydesign/extensions-angular 1.2.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/kirbydesign-extensions-angular-image-banner.mjs +64 -13
- package/fesm2022/kirbydesign-extensions-angular-image-banner.mjs.map +1 -1
- package/fesm2022/kirbydesign-extensions-angular-localization.mjs +419 -0
- package/fesm2022/kirbydesign-extensions-angular-localization.mjs.map +1 -0
- package/fesm2022/kirbydesign-extensions-angular-skeleton-loader.mjs +42 -0
- package/fesm2022/kirbydesign-extensions-angular-skeleton-loader.mjs.map +1 -0
- package/image-banner/image-banner-height.directive.d.ts +19 -0
- package/image-banner/image-banner.component.d.ts +10 -1
- package/image-banner/index.d.ts +1 -0
- package/localization/account-number/account-number-service-formatter.d.ts +2 -0
- package/localization/account-number/account-number.model.d.ts +4 -0
- package/localization/account-number/account-number.pipe.d.ts +16 -0
- package/localization/account-number/index.d.ts +3 -0
- package/localization/amount/amount-service-formatter.d.ts +32 -0
- package/localization/amount/amount.model.d.ts +14 -0
- package/localization/amount/amount.pipe.d.ts +31 -0
- package/localization/amount/amount.service.d.ts +18 -0
- package/localization/amount/index.d.ts +4 -0
- package/localization/date-time/abstract-timezone-compensating.pipe.d.ts +13 -0
- package/localization/date-time/date-formats.d.ts +8 -0
- package/localization/date-time/date-only/date-only.pipe.d.ts +11 -0
- package/localization/date-time/index.d.ts +4 -0
- package/localization/date-time/time-only/time-only.pipe.d.ts +18 -0
- package/localization/date-time/time-or-date/time-or-date.pipe.d.ts +16 -0
- package/localization/di-tokens.d.ts +28 -0
- package/localization/index.d.ts +6 -0
- package/localization/number/format-number.pipe.d.ts +10 -0
- package/localization/number/format-number.service.d.ts +8 -0
- package/localization/number/index.d.ts +2 -0
- package/localization/phone-number/index.d.ts +3 -0
- package/localization/phone-number/phone-number.d.ts +4 -0
- package/localization/phone-number/phone-number.pipe.d.ts +18 -0
- package/localization/phone-number/phone-number.service.d.ts +10 -0
- package/package.json +17 -13
- package/skeleton-loader/index.d.ts +1 -0
- package/skeleton-loader/skeleton-loader.component.d.ts +14 -0
- package/esm2022/image-banner/image-banner.component.mjs +0 -62
- package/esm2022/image-banner/index.mjs +0 -2
- package/esm2022/image-banner/kirbydesign-extensions-angular-image-banner.mjs +0 -5
- package/esm2022/index.mjs +0 -5
- package/esm2022/kirbydesign-extensions-angular.mjs +0 -5
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Amount } from './amount.model';
|
|
2
|
+
export declare function formatAmount(amount: Amount, locale: string, nativeCurrency: string, amountServiceConfiguration?: AmountServiceConfiguration): string;
|
|
3
|
+
export declare function deriveCurrencyCode(config: AmountServiceConfiguration, amount: Amount, nativeCurrency: string): string;
|
|
4
|
+
export declare function deriveConfiguration(configuration?: AmountServiceConfiguration): AmountServiceConfiguration;
|
|
5
|
+
export type ShowCurrencyCode = '' | 'alwaysShowCurrency' | 'showForeignCurrency';
|
|
6
|
+
export type CurrencyCodePosition = '' | 'prefix' | 'postfix';
|
|
7
|
+
export interface AmountServiceConfiguration {
|
|
8
|
+
/**
|
|
9
|
+
* - '' - don't output CurrencyCode
|
|
10
|
+
* - 'alwaysShowCurrency' - always shows CurrencyCode, regardless of presentation currency
|
|
11
|
+
* - 'showForeignCurrency' - only show CurrencyCode if it differs from the presentation currency
|
|
12
|
+
*/
|
|
13
|
+
showCurrencyCode?: ShowCurrencyCode;
|
|
14
|
+
/**
|
|
15
|
+
* The position of the currency code in the formatted amount
|
|
16
|
+
* - 'postfix' - output CurrencyCode after the formatted amount, eg. 1.234,56 EUR
|
|
17
|
+
* - 'prefix' - output CurrencyCode before the formatted amount, eg. DKK 1.234,56
|
|
18
|
+
*/
|
|
19
|
+
currencyCodePosition?: CurrencyCodePosition;
|
|
20
|
+
/**
|
|
21
|
+
* A string that represents the format of the number. Learn more about the format here: https://angular.io/api/common/DecimalPipe#parameters
|
|
22
|
+
*/
|
|
23
|
+
digitsInfo?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Remove the minus sign from the formatted amount and trim any leading or trailing whitespace.
|
|
26
|
+
*/
|
|
27
|
+
stripSign?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* The string to return if the amount is empty
|
|
30
|
+
*/
|
|
31
|
+
returnValueOnEmptyAmount?: string;
|
|
32
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { Amount } from './amount.model';
|
|
3
|
+
import { AmountService } from './amount.service';
|
|
4
|
+
import { AmountServiceConfiguration } from './amount-service-formatter';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Configuration object for the amount-pipe. The configuration object can be used to control
|
|
8
|
+
* the formatting of the amount, and can be passed as an argument to the amount-pipe when used on an {@link Amount}.
|
|
9
|
+
* - `showCurrencyCode`: Controls whether the currency code should be displayed or not.
|
|
10
|
+
* - `''`: Don't output currency code
|
|
11
|
+
* - `alwaysShowCurrency`: Always show currency code, regardless of presentation currency
|
|
12
|
+
* - `showForeignCurrency`: Only show currency code if it differs from the presentation currency
|
|
13
|
+
* - `digitsInfo`: A string that represents the format of the number. Learn more about the format here: https://angular.io/api/common/DecimalPipe#parameters
|
|
14
|
+
* - `stripSign`: Controls whether the minus sign should be stripped from a negative amount.
|
|
15
|
+
* - `currencyCodePosition`: Controls the position of the currency code in the formatted amount.
|
|
16
|
+
* - `postfix`: Output currency code after the formatted amount, e.g. 1.234,56 EUR
|
|
17
|
+
* - `prefix`: Output currency code before the formatted amount, e.g. DKK 1.234,56
|
|
18
|
+
*/
|
|
19
|
+
export declare class AmountPipe implements PipeTransform {
|
|
20
|
+
private amountService;
|
|
21
|
+
constructor(amountService: AmountService);
|
|
22
|
+
/**
|
|
23
|
+
* Applies the transformation logic, by taking the `amount`-argument, and a configuration object - {@link AmountServiceConfiguration} (or a number of arguments, for backwards compatibility).
|
|
24
|
+
*
|
|
25
|
+
* @param amount the {@link Amount} to configure
|
|
26
|
+
* @param amountServiceConfiguration
|
|
27
|
+
*/
|
|
28
|
+
transform(amount: Amount, amountServiceConfiguration?: AmountServiceConfiguration): string;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AmountPipe, never>;
|
|
30
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<AmountPipe, "amount", true>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Amount } from './amount.model';
|
|
2
|
+
import { AmountServiceConfiguration } from './amount-service-formatter';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class AmountService {
|
|
5
|
+
private config;
|
|
6
|
+
private locale;
|
|
7
|
+
/**
|
|
8
|
+
* Applies the transformation logic, by taking the `amount`-argument, and a configuration object - {@link AmountServiceConfiguration}
|
|
9
|
+
*
|
|
10
|
+
* The number is always formatted according to Angular LOCALE_ID
|
|
11
|
+
*
|
|
12
|
+
* @param amount the {@link Amount} to configure
|
|
13
|
+
* @param amountServiceConfiguration
|
|
14
|
+
*/
|
|
15
|
+
formatAmount(amount: Amount, amountServiceConfiguration?: AmountServiceConfiguration): string;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AmountService, never>;
|
|
17
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AmountService>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Abstract implementation of pipe that should format dates, and compensate for time-zone offset.
|
|
4
|
+
*
|
|
5
|
+
* This class provides tools for formatting dates (and timestamps) in a time zone
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class AbstractTimezoneCompensatingPipe implements PipeTransform {
|
|
8
|
+
private config;
|
|
9
|
+
private locale;
|
|
10
|
+
abstract transform(value: unknown, ...args: unknown[]): unknown;
|
|
11
|
+
protected format(time: number | Date | string, formatPattern: string): string;
|
|
12
|
+
private getIntlOptions;
|
|
13
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class DateFormats {
|
|
2
|
+
static readonly SHORT_DATE_FORMAT = "dd.MM.yyyy";
|
|
3
|
+
static readonly MEDIUM_DATE_FORMAT = "d. MMMM y";
|
|
4
|
+
static readonly MEDIUM_LETTER_DATE_FORMAT = "dd. MMM yyyy";
|
|
5
|
+
static readonly SHORT_TIME_FORMAT = "HH:mm";
|
|
6
|
+
static readonly MEDIUM_TIME_FORMAT = "HH:mm:ss";
|
|
7
|
+
static readonly SHORT_DATE_MEDIUM_TIME_FORMAT: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { AbstractTimezoneCompensatingPipe } from '../abstract-timezone-compensating.pipe';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Formats a given timestamp as a date.
|
|
6
|
+
*/
|
|
7
|
+
export declare class DateOnlyPipe extends AbstractTimezoneCompensatingPipe implements PipeTransform {
|
|
8
|
+
transform(input: number | Date | string): string;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DateOnlyPipe, never>;
|
|
10
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<DateOnlyPipe, "dateOnly", true>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { AbstractTimezoneCompensatingPipe } from '../abstract-timezone-compensating.pipe';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export type TimeOnlyFormat = 'short' | 'medium';
|
|
5
|
+
/**
|
|
6
|
+
* Formats a given timestamp as a time.
|
|
7
|
+
*
|
|
8
|
+
* Timestamps can be formatted as 2 variants:
|
|
9
|
+
* - 'short' being 'HH:mm' (hours and minutes)
|
|
10
|
+
* - 'medium' being 'HH:mm:ss' (as above, but with seconds appended)
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export declare class TimeOnlyPipe extends AbstractTimezoneCompensatingPipe implements PipeTransform {
|
|
14
|
+
transform(input: number | Date | string, format?: TimeOnlyFormat): string;
|
|
15
|
+
private getFormat;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TimeOnlyPipe, never>;
|
|
17
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TimeOnlyPipe, "timeOnly", true>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { AbstractTimezoneCompensatingPipe } from '../abstract-timezone-compensating.pipe';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Formats a given timestamp so that:
|
|
6
|
+
* - If timestamp is of "today", it's formatted as time with hours and minutes (eg. 23:56)
|
|
7
|
+
* - If timestamp is different from "today", it's formatted as date with "day of month", month and year (eg. 28.02.2020)
|
|
8
|
+
*
|
|
9
|
+
* All formatting and parsing is expect to be handled in "Europe/Copenhagen" time zone and with
|
|
10
|
+
* the locale provided by `LOCALE_ID`.
|
|
11
|
+
*/
|
|
12
|
+
export declare class TimeOrDatePipe extends AbstractTimezoneCompensatingPipe implements PipeTransform {
|
|
13
|
+
transform(time: number | Date | string, showSeconds?: boolean, formatMonth?: 'month-as-digits' | 'month-as-letters'): string;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TimeOrDatePipe, never>;
|
|
15
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TimeOrDatePipe, "timeOrDate", true>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export declare const KIRBY_EXTENSIONS_LOCALIZATION_TOKEN: InjectionToken<KirbyExtensionsLocalizationToken>;
|
|
3
|
+
export declare function provideKirbyExtensionsLocalizationToken(factory: () => KirbyExtensionsLocalizationToken): {
|
|
4
|
+
provide: InjectionToken<KirbyExtensionsLocalizationToken>;
|
|
5
|
+
useFactory: () => KirbyExtensionsLocalizationToken;
|
|
6
|
+
};
|
|
7
|
+
interface KirbyExtensionsLocalizationToken {
|
|
8
|
+
/**
|
|
9
|
+
* @example 'DKK | kr. | EUR'
|
|
10
|
+
*/
|
|
11
|
+
nativeCurrency: string;
|
|
12
|
+
/**
|
|
13
|
+
* Default language for the application. Used to determine if the phone number country code should be shown, if not specified as input, based on the locale.
|
|
14
|
+
* @example 'da'
|
|
15
|
+
*/
|
|
16
|
+
defaultLang: string;
|
|
17
|
+
/**
|
|
18
|
+
* Default phone country code
|
|
19
|
+
* @example '+45'
|
|
20
|
+
*/
|
|
21
|
+
countryCode: string;
|
|
22
|
+
/**
|
|
23
|
+
* Default timezone for the application
|
|
24
|
+
* @example 'Europe/Copenhagen'
|
|
25
|
+
*/
|
|
26
|
+
timeZone: string;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { TimeOrDatePipe, DateOnlyPipe, TimeOnlyPipe, DateFormats, TimeOnlyFormat, } from './date-time';
|
|
2
|
+
export { FormatNumberPipe, FormatNumberService } from './number';
|
|
3
|
+
export { AmountPipe, Amount, AmountServiceConfiguration, AmountService, formatAmount, } from './amount';
|
|
4
|
+
export { AccountNumberPipe, AccountNumber, formatAccountNumber } from './account-number';
|
|
5
|
+
export { PhoneNumberPipe, PhoneNumber, PhoneNumberService } from './phone-number';
|
|
6
|
+
export { KIRBY_EXTENSIONS_LOCALIZATION_TOKEN, provideKirbyExtensionsLocalizationToken, } from './di-tokens';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { FormatNumberService } from './format-number.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class FormatNumberPipe implements PipeTransform {
|
|
5
|
+
private formatNumberService;
|
|
6
|
+
constructor(formatNumberService: FormatNumberService);
|
|
7
|
+
transform(value: number, digitsInfo?: string): string;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormatNumberPipe, never>;
|
|
9
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<FormatNumberPipe, "formatNumber", true>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class FormatNumberService {
|
|
3
|
+
private localeId;
|
|
4
|
+
constructor(localeId: string);
|
|
5
|
+
formatNumber(value: number, digitsInfo: string): string;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormatNumberService, never>;
|
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FormatNumberService>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { PhoneNumber } from './phone-number';
|
|
3
|
+
import { PhoneNumberService } from './phone-number.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class PhoneNumberPipe implements PipeTransform {
|
|
6
|
+
private phoneNumberService;
|
|
7
|
+
constructor(phoneNumberService: PhoneNumberService);
|
|
8
|
+
/**
|
|
9
|
+
* Transforms a phone number, chunked up with spaces between the chunks and the country code in front, if desired.
|
|
10
|
+
*
|
|
11
|
+
* @param phoneNumber A PhoneNumber or a string representation of a phone number
|
|
12
|
+
* @param chunk The chunk size used to split up the phone number with spaces
|
|
13
|
+
* @param showCountryCode Show the country code in front of the phone number. If a string representation is supplied, the KIRBY_EXTENSIONS_LOCALIZATION_TOKEN.countryCode is used.
|
|
14
|
+
*/
|
|
15
|
+
transform(phoneNumber: PhoneNumber | string, chunk?: number, showCountryCode?: boolean): string | undefined;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PhoneNumberPipe, never>;
|
|
17
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<PhoneNumberPipe, "phoneNumber", true>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PhoneNumber } from './phone-number';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class PhoneNumberService {
|
|
4
|
+
private config;
|
|
5
|
+
private locale;
|
|
6
|
+
private static chunkUpPhoneNumber;
|
|
7
|
+
formatPhoneNumber(phoneNumber: PhoneNumber | string, chunk?: number, showCountryCode?: boolean): string | undefined;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PhoneNumberService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PhoneNumberService>;
|
|
10
|
+
}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kirbydesign/extensions-angular",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^18.0.0",
|
|
6
|
-
"@angular/compiler": "^18.0.0",
|
|
7
|
-
"@angular/core": "^18.0.0",
|
|
8
|
-
"@angular/forms": "^18.0.0",
|
|
9
|
-
"@angular/platform-browser": "^18.0.0",
|
|
10
|
-
"@angular/platform-browser-dynamic": "^18.0.0",
|
|
11
|
-
"@angular/router": "^18.0.0",
|
|
5
|
+
"@angular/common": "^18.0.0 || ^19.0.0",
|
|
6
|
+
"@angular/compiler": "^18.0.0 || ^19.0.0",
|
|
7
|
+
"@angular/core": "^18.0.0 || ^19.0.0",
|
|
8
|
+
"@angular/forms": "^18.0.0 || ^19.0.0",
|
|
9
|
+
"@angular/platform-browser": "^18.0.0 || ^19.0.0",
|
|
10
|
+
"@angular/platform-browser-dynamic": "^18.0.0 || ^19.0.0",
|
|
11
|
+
"@angular/router": "^18.0.0 || ^19.0.0",
|
|
12
12
|
"@kirbydesign/designsystem": "^10.0.0",
|
|
13
13
|
"rxjs": "~7.8.0",
|
|
14
|
-
"zone.js": "
|
|
14
|
+
"zone.js": "^0.14.3 || ~0.15.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"tslib": "^2.3.0"
|
|
@@ -25,15 +25,19 @@
|
|
|
25
25
|
},
|
|
26
26
|
".": {
|
|
27
27
|
"types": "./index.d.ts",
|
|
28
|
-
"esm2022": "./esm2022/kirbydesign-extensions-angular.mjs",
|
|
29
|
-
"esm": "./esm2022/kirbydesign-extensions-angular.mjs",
|
|
30
28
|
"default": "./fesm2022/kirbydesign-extensions-angular.mjs"
|
|
31
29
|
},
|
|
30
|
+
"./localization": {
|
|
31
|
+
"types": "./localization/index.d.ts",
|
|
32
|
+
"default": "./fesm2022/kirbydesign-extensions-angular-localization.mjs"
|
|
33
|
+
},
|
|
32
34
|
"./image-banner": {
|
|
33
35
|
"types": "./image-banner/index.d.ts",
|
|
34
|
-
"esm2022": "./esm2022/image-banner/kirbydesign-extensions-angular-image-banner.mjs",
|
|
35
|
-
"esm": "./esm2022/image-banner/kirbydesign-extensions-angular-image-banner.mjs",
|
|
36
36
|
"default": "./fesm2022/kirbydesign-extensions-angular-image-banner.mjs"
|
|
37
|
+
},
|
|
38
|
+
"./skeleton-loader": {
|
|
39
|
+
"types": "./skeleton-loader/index.d.ts",
|
|
40
|
+
"default": "./fesm2022/kirbydesign-extensions-angular-skeleton-loader.mjs"
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
43
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SkeletonLoaderComponent } from './skeleton-loader.component';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class SkeletonLoaderComponent {
|
|
3
|
+
/**
|
|
4
|
+
* The theme for the skeleton loader to use for gradient color. Theme is automatically set when used inside a themed kirby-card.
|
|
5
|
+
*/
|
|
6
|
+
theme: 'light' | 'dark';
|
|
7
|
+
/**
|
|
8
|
+
* The shape of the skeleton loader.
|
|
9
|
+
*/
|
|
10
|
+
shape: 'rectangle' | 'circle' | 'pill';
|
|
11
|
+
get _cssClass(): ("light" | "dark" | "rectangle" | "circle" | "pill")[];
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkeletonLoaderComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkeletonLoaderComponent, "kirby-x-skeleton-loader", never, { "theme": { "alias": "theme"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; }, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { CommonModule, NgClass } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
3
|
-
import { CardModule } from '@kirbydesign/designsystem/card';
|
|
4
|
-
import { ButtonComponent } from '@kirbydesign/designsystem/button';
|
|
5
|
-
import { IconModule } from '@kirbydesign/designsystem/icon';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@kirbydesign/designsystem/card";
|
|
8
|
-
import * as i2 from "@kirbydesign/designsystem/shared";
|
|
9
|
-
import * as i3 from "@kirbydesign/designsystem/icon";
|
|
10
|
-
import * as i4 from "@angular/common";
|
|
11
|
-
export class ImageBannerComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
/**
|
|
14
|
-
* The blur-effect used for the background.
|
|
15
|
-
*/
|
|
16
|
-
this.backgroundBlur = 'dark';
|
|
17
|
-
/**
|
|
18
|
-
* Emitted every time the banner is activated. The entire banner is interactive, and will be activated by click and keyboard interaction.
|
|
19
|
-
*/
|
|
20
|
-
this.bannerClick = new EventEmitter();
|
|
21
|
-
/**
|
|
22
|
-
* If subscribed to, a dismiss button will be shown. Emitted every time the dismiss button is activated by click and keyboard interaction.
|
|
23
|
-
*/
|
|
24
|
-
this.dismissClick = new EventEmitter();
|
|
25
|
-
}
|
|
26
|
-
bannerClicked(event) {
|
|
27
|
-
const eventTarget = event.target;
|
|
28
|
-
const dismissButtonClicked = eventTarget.closest('.dismiss');
|
|
29
|
-
if (dismissButtonClicked)
|
|
30
|
-
return;
|
|
31
|
-
this.bannerClick.emit(event);
|
|
32
|
-
}
|
|
33
|
-
dismissClicked(event) {
|
|
34
|
-
this.dismissClick.emit(event);
|
|
35
|
-
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ImageBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: ImageBannerComponent, isStandalone: true, selector: "kirby-x-image-banner", inputs: { title: "title", imagePath: "imagePath", bodyText: "bodyText", actionButtonText: "actionButtonText", externalLink: "externalLink", backgroundBlur: "backgroundBlur" }, outputs: { bannerClick: "bannerClick", dismissClick: "dismissClick" }, host: { properties: { "class": "this.backgroundBlur" } }, ngImport: i0, template: "<kirby-card *ngIf=\"externalLink\" [themeColor]=\"backgroundBlur === 'none' ? 'white' : 'dark'\">\n <ng-container *ngTemplateOutlet=\"sharedCardContent\"></ng-container>\n</kirby-card>\n\n<kirby-card\n *ngIf=\"!externalLink\"\n [themeColor]=\"backgroundBlur === 'none' ? 'white' : 'dark'\"\n (click)=\"bannerClicked($event)\"\n>\n <ng-container *ngTemplateOutlet=\"sharedCardContent\"></ng-container>\n</kirby-card>\n\n<ng-template #sharedCardContent>\n <div class=\"blur-image-wrapper\">\n <img class=\"blur-image\" [src]=\"imagePath\" alt=\"\" />\n </div>\n\n <!-- When an external link is supplied, this anchor tag expands and fills the entire banner so users can click anywhere or focus the banner -->\n <a *ngIf=\"externalLink\" class=\"main-content-anchor\" [href]=\"externalLink\" target=\"_blank\"></a>\n\n <div class=\"main-content-wrapper\">\n <div class=\"main-content-image-wrapper\">\n <img class=\"main-content-image\" [src]=\"imagePath\" alt=\"\" />\n </div>\n\n <div class=\"main-content\">\n <div class=\"main-content-header\">\n <p class=\"kirby-text-normal-bold header-text\">\n @if (title) {\n {{ title }}\n } @else {\n <ng-content select=\"[title]\"></ng-content>\n }\n </p>\n </div>\n\n <div class=\"main-content-body\">\n <div class=\"main-content-body-text\">\n <span class=\"kirby-text-small body-text\">\n @if (bodyText) {\n {{ bodyText }}\n } @else {\n <ng-content select=\"[bodyText]\"></ng-content>\n }\n </span>\n </div>\n\n <ng-container *ngIf=\"externalLink\">\n <!-- On large screens we also show a button-like anchor tag in addition to the entire banner anchor -->\n <a\n kirby-button\n class=\"main-content-body-action-text\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n [showIconOnly]=\"!actionButtonText\"\n [href]=\"externalLink\"\n target=\"_blank\"\n size=\"sm\"\n >\n {{ actionButtonText }}\n <kirby-icon name=\"link\"></kirby-icon>\n </a>\n\n <div class=\"main-content-body-action-link\">\n <kirby-icon name=\"link\"></kirby-icon>\n </div>\n </ng-container>\n\n <button\n class=\"main-content-body-action-text\"\n kirby-button\n *ngIf=\"actionButtonText && !externalLink\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n size=\"sm\"\n >\n {{ actionButtonText }}\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"dismiss\" *ngIf=\"dismissClick.observed\">\n <button\n kirby-button\n (click)=\"dismissClicked($event)\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n [showIconOnly]=\"true\"\n size=\"xs\"\n >\n <kirby-icon name=\"close\"></kirby-icon>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block;container-name:banner;container-type:inline-size}:host(.none) .blur-image{display:none}@container banner (width < 600px){:host(.none) .dismiss{--kirby-inputs-background-color: var(--kirby-white);--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)}}:host(.none) .main-content-body-action-link{color:var(--kirby-semi-dark)}:host(.dark) .blur-image{filter:blur(60px) brightness(.8)}:host(.light) .blur-image{filter:blur(60px) brightness(1.3)}.blur-image-wrapper{position:absolute;inset:-180px;z-index:-1}.blur-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.main-content-wrapper{width:100%;padding:8px;box-sizing:border-box;display:flex;flex-direction:column}@container banner (width >= 600px){.main-content-wrapper{gap:16px;flex-direction:initial}}.main-content-image-wrapper{display:flex;overflow:hidden;border-radius:8px}@container banner (width >= 600px){.main-content-image-wrapper{flex:1}}.main-content{display:flex;min-height:var(--kirby-x-image-banner-min-height, 84px);box-sizing:border-box;flex-direction:column;padding:12px 0 8px 8px;overflow:hidden}.main-content .main-content-header{padding-inline-end:8px}@container banner (width >= 600px){.main-content .main-content-header{padding-inline-end:40px}}.main-content:has(.main-content-body-action-link) .main-content-header{padding-inline-end:40px}.main-content:has(.header-text:empty):has(.body-text:empty){padding-block-start:0}.main-content:has(.body-text:empty):has(.header-text:empty){padding-block-end:0}@container banner (width >= 600px){.main-content{flex:1;gap:12px;padding:8px 8px 8px 0}}.main-content-anchor{position:absolute;inset:0}.main-content-header p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-bottom:0}.main-content-image{width:100%;height:132px;object-fit:cover;object-position:center}@container banner (width >= 600px){.main-content-image{height:164px}}.main-content-body{display:flex;justify-content:space-between;gap:16px;height:100%}@container banner (width >= 600px){.main-content-body{flex-direction:column;max-width:324px}}@container banner (width >= 600px){.main-content-body .main-content-body-action-link{display:none}}.main-content-body-text{display:block;overflow:hidden;max-height:40px;padding-inline-end:8px}@container banner (width >= 600px){.main-content-body-text{padding-inline-end:48px;max-height:64px}}.main-content-body-action-text{display:none}@container banner (width >= 600px){.main-content-body-action-text{align-self:start;display:inline-flex;margin:0}}.dismiss{position:absolute;top:16px;right:16px;height:fit-content}.dismiss button{margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CardModule }, { kind: "component", type: i1.CardComponent, selector: "kirby-card", inputs: ["title", "subtitle", "backgroundImageUrl", "hasPadding", "sizes", "variant"] }, { kind: "directive", type: i1.CardAsButtonDirective, selector: "kirby-card[click]" }, { kind: "directive", type: i2.ThemeColorDirective, selector: "kirby-avatar[themeColor], kirby-card[themeColor], kirby-icon[themeColor], kirby-progress-circle-ring[themeColor], kirby-modal-footer[themeColor], kirby-empty-state[themeColor]", inputs: ["themeColor"] }, { kind: "component", type: ButtonComponent, selector: "button[kirby-button],Button[kirby-button],a[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i3.IconComponent, selector: "kirby-icon", inputs: ["size", "name"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ImageBannerComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{ selector: 'kirby-x-image-banner', standalone: true, imports: [CardModule, ButtonComponent, IconModule, NgClass, CommonModule], template: "<kirby-card *ngIf=\"externalLink\" [themeColor]=\"backgroundBlur === 'none' ? 'white' : 'dark'\">\n <ng-container *ngTemplateOutlet=\"sharedCardContent\"></ng-container>\n</kirby-card>\n\n<kirby-card\n *ngIf=\"!externalLink\"\n [themeColor]=\"backgroundBlur === 'none' ? 'white' : 'dark'\"\n (click)=\"bannerClicked($event)\"\n>\n <ng-container *ngTemplateOutlet=\"sharedCardContent\"></ng-container>\n</kirby-card>\n\n<ng-template #sharedCardContent>\n <div class=\"blur-image-wrapper\">\n <img class=\"blur-image\" [src]=\"imagePath\" alt=\"\" />\n </div>\n\n <!-- When an external link is supplied, this anchor tag expands and fills the entire banner so users can click anywhere or focus the banner -->\n <a *ngIf=\"externalLink\" class=\"main-content-anchor\" [href]=\"externalLink\" target=\"_blank\"></a>\n\n <div class=\"main-content-wrapper\">\n <div class=\"main-content-image-wrapper\">\n <img class=\"main-content-image\" [src]=\"imagePath\" alt=\"\" />\n </div>\n\n <div class=\"main-content\">\n <div class=\"main-content-header\">\n <p class=\"kirby-text-normal-bold header-text\">\n @if (title) {\n {{ title }}\n } @else {\n <ng-content select=\"[title]\"></ng-content>\n }\n </p>\n </div>\n\n <div class=\"main-content-body\">\n <div class=\"main-content-body-text\">\n <span class=\"kirby-text-small body-text\">\n @if (bodyText) {\n {{ bodyText }}\n } @else {\n <ng-content select=\"[bodyText]\"></ng-content>\n }\n </span>\n </div>\n\n <ng-container *ngIf=\"externalLink\">\n <!-- On large screens we also show a button-like anchor tag in addition to the entire banner anchor -->\n <a\n kirby-button\n class=\"main-content-body-action-text\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n [showIconOnly]=\"!actionButtonText\"\n [href]=\"externalLink\"\n target=\"_blank\"\n size=\"sm\"\n >\n {{ actionButtonText }}\n <kirby-icon name=\"link\"></kirby-icon>\n </a>\n\n <div class=\"main-content-body-action-link\">\n <kirby-icon name=\"link\"></kirby-icon>\n </div>\n </ng-container>\n\n <button\n class=\"main-content-body-action-text\"\n kirby-button\n *ngIf=\"actionButtonText && !externalLink\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n size=\"sm\"\n >\n {{ actionButtonText }}\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"dismiss\" *ngIf=\"dismissClick.observed\">\n <button\n kirby-button\n (click)=\"dismissClicked($event)\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n [showIconOnly]=\"true\"\n size=\"xs\"\n >\n <kirby-icon name=\"close\"></kirby-icon>\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:block;container-name:banner;container-type:inline-size}:host(.none) .blur-image{display:none}@container banner (width < 600px){:host(.none) .dismiss{--kirby-inputs-background-color: var(--kirby-white);--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)}}:host(.none) .main-content-body-action-link{color:var(--kirby-semi-dark)}:host(.dark) .blur-image{filter:blur(60px) brightness(.8)}:host(.light) .blur-image{filter:blur(60px) brightness(1.3)}.blur-image-wrapper{position:absolute;inset:-180px;z-index:-1}.blur-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.main-content-wrapper{width:100%;padding:8px;box-sizing:border-box;display:flex;flex-direction:column}@container banner (width >= 600px){.main-content-wrapper{gap:16px;flex-direction:initial}}.main-content-image-wrapper{display:flex;overflow:hidden;border-radius:8px}@container banner (width >= 600px){.main-content-image-wrapper{flex:1}}.main-content{display:flex;min-height:var(--kirby-x-image-banner-min-height, 84px);box-sizing:border-box;flex-direction:column;padding:12px 0 8px 8px;overflow:hidden}.main-content .main-content-header{padding-inline-end:8px}@container banner (width >= 600px){.main-content .main-content-header{padding-inline-end:40px}}.main-content:has(.main-content-body-action-link) .main-content-header{padding-inline-end:40px}.main-content:has(.header-text:empty):has(.body-text:empty){padding-block-start:0}.main-content:has(.body-text:empty):has(.header-text:empty){padding-block-end:0}@container banner (width >= 600px){.main-content{flex:1;gap:12px;padding:8px 8px 8px 0}}.main-content-anchor{position:absolute;inset:0}.main-content-header p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-bottom:0}.main-content-image{width:100%;height:132px;object-fit:cover;object-position:center}@container banner (width >= 600px){.main-content-image{height:164px}}.main-content-body{display:flex;justify-content:space-between;gap:16px;height:100%}@container banner (width >= 600px){.main-content-body{flex-direction:column;max-width:324px}}@container banner (width >= 600px){.main-content-body .main-content-body-action-link{display:none}}.main-content-body-text{display:block;overflow:hidden;max-height:40px;padding-inline-end:8px}@container banner (width >= 600px){.main-content-body-text{padding-inline-end:48px;max-height:64px}}.main-content-body-action-text{display:none}@container banner (width >= 600px){.main-content-body-action-text{align-self:start;display:inline-flex;margin:0}}.dismiss{position:absolute;top:16px;right:16px;height:fit-content}.dismiss button{margin:0}\n"] }]
|
|
42
|
-
}], propDecorators: { title: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], imagePath: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], bodyText: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], actionButtonText: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}], externalLink: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}], backgroundBlur: [{
|
|
53
|
-
type: HostBinding,
|
|
54
|
-
args: ['class']
|
|
55
|
-
}, {
|
|
56
|
-
type: Input
|
|
57
|
-
}], bannerClick: [{
|
|
58
|
-
type: Output
|
|
59
|
-
}], dismissClick: [{
|
|
60
|
-
type: Output
|
|
61
|
-
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ltYWdlLWJhbm5lci9zcmMvaW1hZ2UtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2ltYWdlLWJhbm5lci9zcmMvaW1hZ2UtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7OztBQVM1RCxNQUFNLE9BQU8sb0JBQW9CO0lBUGpDO1FBaUNFOztXQUVHO1FBR0gsbUJBQWMsR0FBOEIsTUFBTSxDQUFDO1FBRW5EOztXQUVHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBRWxEOztXQUVHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO0tBWXBEO0lBVlEsYUFBYSxDQUFDLEtBQVk7UUFDL0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDaEQsTUFBTSxvQkFBb0IsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdELElBQUksb0JBQW9CO1lBQUUsT0FBTztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQVk7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0FwRFUsb0JBQW9CO21HQUFwQixvQkFBb0IsaVlDYmpDLDZnR0E0RkEsMHZGRG5GWSxVQUFVLHlsQkFBRSxlQUFlLCtNQUFFLFVBQVUsK0hBQVcsWUFBWTs7NEZBSTdELG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQzs4QkFRaEUsS0FBSztzQkFBYixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFPTixjQUFjO3NCQUZiLFdBQVc7dUJBQUMsT0FBTzs7c0JBQ25CLEtBQUs7Z0JBTUksV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FyZE1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vY2FyZCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2lyYnkteC1pbWFnZS1iYW5uZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ2FyZE1vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBJY29uTW9kdWxlLCBOZ0NsYXNzLCBDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ltYWdlLWJhbm5lci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlQmFubmVyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBwbGFjZWQgaW5zaWRlIHRoZSBpbWFnZSBiYW5uZXJzIGhlYWRlci5cbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpbWFnZSBzaG93biBvbiB0aGUgYmFubmVyLCBhbmQgdXNlZCBmb3IgdGhlIGJhY2tncm91bmQgYmx1ciBlZmZlY3QuXG4gICAqL1xuICBASW5wdXQoKSBpbWFnZVBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGJvZHkgdGV4dCBwbGFjZWQgYmVsb3cgdGhlIHRpdGxlLlxuICAgKi9cbiAgQElucHV0KCkgYm9keVRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHRleHQgb2YgdGhlIGJ1dHRvbiBpbiB0aGUgY29udGVudCBhcmVhIG9mIHRoZSBpbWFnZSBiYW5uZXIuXG4gICAqL1xuICBASW5wdXQoKSBhY3Rpb25CdXR0b25UZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZW4gYW4gZXh0ZXJuYWwgbGluayBpcyBzdXBwbGllZCB0aGUgZW50aXJlIGJhbm5lciB3aWxsIGJlIGFuIGFuY2hvci10YWcgYW5kIG5hdmlnYXRlIHdoZW4gYWN0aXZhdGVkLlxuICAgKi9cbiAgQElucHV0KCkgZXh0ZXJuYWxMaW5rOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBibHVyLWVmZmVjdCB1c2VkIGZvciB0aGUgYmFja2dyb3VuZC5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBASW5wdXQoKVxuICBiYWNrZ3JvdW5kQmx1cjogJ2RhcmsnIHwgJ2xpZ2h0JyB8ICdub25lJyA9ICdkYXJrJztcblxuICAvKipcbiAgICogRW1pdHRlZCBldmVyeSB0aW1lIHRoZSBiYW5uZXIgaXMgYWN0aXZhdGVkLiBUaGUgZW50aXJlIGJhbm5lciBpcyBpbnRlcmFjdGl2ZSwgYW5kIHdpbGwgYmUgYWN0aXZhdGVkIGJ5IGNsaWNrIGFuZCBrZXlib2FyZCBpbnRlcmFjdGlvbi5cbiAgICovXG4gIEBPdXRwdXQoKSBiYW5uZXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIElmIHN1YnNjcmliZWQgdG8sIGEgZGlzbWlzcyBidXR0b24gd2lsbCBiZSBzaG93bi4gRW1pdHRlZCBldmVyeSB0aW1lIHRoZSBkaXNtaXNzIGJ1dHRvbiBpcyBhY3RpdmF0ZWQgYnkgY2xpY2sgYW5kIGtleWJvYXJkIGludGVyYWN0aW9uLlxuICAgKi9cbiAgQE91dHB1dCgpIGRpc21pc3NDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgcHVibGljIGJhbm5lckNsaWNrZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgZGlzbWlzc0J1dHRvbkNsaWNrZWQgPSBldmVudFRhcmdldC5jbG9zZXN0KCcuZGlzbWlzcycpO1xuICAgIGlmIChkaXNtaXNzQnV0dG9uQ2xpY2tlZCkgcmV0dXJuO1xuICAgIHRoaXMuYmFubmVyQ2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgZGlzbWlzc0NsaWNrZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5kaXNtaXNzQ2xpY2suZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxraXJieS1jYXJkICpuZ0lmPVwiZXh0ZXJuYWxMaW5rXCIgW3RoZW1lQ29sb3JdPVwiYmFja2dyb3VuZEJsdXIgPT09ICdub25lJyA/ICd3aGl0ZScgOiAnZGFyaydcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNoYXJlZENhcmRDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG48L2tpcmJ5LWNhcmQ+XG5cbjxraXJieS1jYXJkXG4gICpuZ0lmPVwiIWV4dGVybmFsTGlua1wiXG4gIFt0aGVtZUNvbG9yXT1cImJhY2tncm91bmRCbHVyID09PSAnbm9uZScgPyAnd2hpdGUnIDogJ2RhcmsnXCJcbiAgKGNsaWNrKT1cImJhbm5lckNsaWNrZWQoJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaGFyZWRDYXJkQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9raXJieS1jYXJkPlxuXG48bmctdGVtcGxhdGUgI3NoYXJlZENhcmRDb250ZW50PlxuICA8ZGl2IGNsYXNzPVwiYmx1ci1pbWFnZS13cmFwcGVyXCI+XG4gICAgPGltZyBjbGFzcz1cImJsdXItaW1hZ2VcIiBbc3JjXT1cImltYWdlUGF0aFwiIGFsdD1cIlwiIC8+XG4gIDwvZGl2PlxuXG4gIDwhLS0gV2hlbiBhbiBleHRlcm5hbCBsaW5rIGlzIHN1cHBsaWVkLCB0aGlzIGFuY2hvciB0YWcgZXhwYW5kcyBhbmQgZmlsbHMgdGhlIGVudGlyZSBiYW5uZXIgc28gdXNlcnMgY2FuIGNsaWNrIGFueXdoZXJlIG9yIGZvY3VzIHRoZSBiYW5uZXIgLS0+XG4gIDxhICpuZ0lmPVwiZXh0ZXJuYWxMaW5rXCIgY2xhc3M9XCJtYWluLWNvbnRlbnQtYW5jaG9yXCIgW2hyZWZdPVwiZXh0ZXJuYWxMaW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCI+PC9hPlxuXG4gIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQtaW1hZ2Utd3JhcHBlclwiPlxuICAgICAgPGltZyBjbGFzcz1cIm1haW4tY29udGVudC1pbWFnZVwiIFtzcmNdPVwiaW1hZ2VQYXRoXCIgYWx0PVwiXCIgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQtaGVhZGVyXCI+XG4gICAgICAgIDxwIGNsYXNzPVwia2lyYnktdGV4dC1ub3JtYWwtYm9sZCBoZWFkZXItdGV4dFwiPlxuICAgICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgIHt7IHRpdGxlIH19XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQtYm9keVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50LWJvZHktdGV4dFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwia2lyYnktdGV4dC1zbWFsbCBib2R5LXRleHRcIj5cbiAgICAgICAgICAgIEBpZiAoYm9keVRleHQpIHtcbiAgICAgICAgICAgICAge3sgYm9keVRleHQgfX1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYm9keVRleHRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4dGVybmFsTGlua1wiPlxuICAgICAgICAgIDwhLS0gT24gbGFyZ2Ugc2NyZWVucyB3ZSBhbHNvIHNob3cgYSBidXR0b24tbGlrZSBhbmNob3IgdGFnIGluIGFkZGl0aW9uIHRvIHRoZSBlbnRpcmUgYmFubmVyIGFuY2hvciAtLT5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAga2lyYnktYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tY29udGVudC1ib2R5LWFjdGlvbi10ZXh0XCJcbiAgICAgICAgICAgIFthdHRlbnRpb25MZXZlbF09XCJiYWNrZ3JvdW5kQmx1ciA9PT0gJ25vbmUnID8gJzMnIDogJzInXCJcbiAgICAgICAgICAgIFtzaG93SWNvbk9ubHldPVwiIWFjdGlvbkJ1dHRvblRleHRcIlxuICAgICAgICAgICAgW2hyZWZdPVwiZXh0ZXJuYWxMaW5rXCJcbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGFjdGlvbkJ1dHRvblRleHQgfX1cbiAgICAgICAgICAgIDxraXJieS1pY29uIG5hbWU9XCJsaW5rXCI+PC9raXJieS1pY29uPlxuICAgICAgICAgIDwvYT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQtYm9keS1hY3Rpb24tbGlua1wiPlxuICAgICAgICAgICAgPGtpcmJ5LWljb24gbmFtZT1cImxpbmtcIj48L2tpcmJ5LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cIm1haW4tY29udGVudC1ib2R5LWFjdGlvbi10ZXh0XCJcbiAgICAgICAgICBraXJieS1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImFjdGlvbkJ1dHRvblRleHQgJiYgIWV4dGVybmFsTGlua1wiXG4gICAgICAgICAgW2F0dGVudGlvbkxldmVsXT1cImJhY2tncm91bmRCbHVyID09PSAnbm9uZScgPyAnMycgOiAnMidcIlxuICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBhY3Rpb25CdXR0b25UZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkaXNtaXNzXCIgKm5nSWY9XCJkaXNtaXNzQ2xpY2sub2JzZXJ2ZWRcIj5cbiAgICA8YnV0dG9uXG4gICAgICBraXJieS1idXR0b25cbiAgICAgIChjbGljayk9XCJkaXNtaXNzQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgIFthdHRlbnRpb25MZXZlbF09XCJiYWNrZ3JvdW5kQmx1ciA9PT0gJ25vbmUnID8gJzMnIDogJzInXCJcbiAgICAgIFtzaG93SWNvbk9ubHldPVwidHJ1ZVwiXG4gICAgICBzaXplPVwieHNcIlxuICAgID5cbiAgICAgIDxraXJieS1pY29uIG5hbWU9XCJjbG9zZVwiPjwva2lyYnktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { ImageBannerComponent } from './image-banner.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9pbWFnZS1iYW5uZXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSW1hZ2VCYW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLWJhbm5lci5jb21wb25lbnQnO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnlkZXNpZ24tZXh0ZW5zaW9ucy1hbmd1bGFyLWltYWdlLWJhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ltYWdlLWJhbm5lci9zcmMva2lyYnlkZXNpZ24tZXh0ZW5zaW9ucy1hbmd1bGFyLWltYWdlLWJhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm2022/index.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
// All components should be imported through their individual entry-points.
|
|
2
|
-
// This file and empty export is needed to satisfy ng_packagr.
|
|
3
|
-
// This workaround is inspired by Material Design https://github.com/angular/components/blob/main/src/material/index.ts
|
|
4
|
-
export default {};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFDNUUsOERBQThEO0FBQzlELHVIQUF1SDtBQUN2SCxlQUFlLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICBBbGwgY29tcG9uZW50cyBzaG91bGQgYmUgaW1wb3J0ZWQgdGhyb3VnaCB0aGVpciBpbmRpdmlkdWFsIGVudHJ5LXBvaW50cy5cbi8vIFRoaXMgZmlsZSBhbmQgZW1wdHkgZXhwb3J0IGlzIG5lZWRlZCB0byBzYXRpc2Z5IG5nX3BhY2thZ3IuXG4vLyBUaGlzIHdvcmthcm91bmQgaXMgaW5zcGlyZWQgYnkgTWF0ZXJpYWwgRGVzaWduIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9tYXRlcmlhbC9pbmRleC50c1xuZXhwb3J0IGRlZmF1bHQge307XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnlkZXNpZ24tZXh0ZW5zaW9ucy1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4va2lyYnlkZXNpZ24tZXh0ZW5zaW9ucy1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|