@kirbydesign/extensions-angular 6.0.0-dev-d045bb2 → 6.0.0-dev-286cdc0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-extensions-angular-image-banner.mjs","names":[],"sources":["../../image-banner/src/image-banner-height.directive.ts","../../image-banner/src/image-banner.component.ts","../../image-banner/src/image-banner.component.html"],"sourcesContent":["import { Directive, ElementRef, inject, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { ResizeObserverService } from '@kirbydesign/designsystem/shared';\n\n/**\n * @Description Temporary directive to ensure correct scroll position behavior on Safari.\n *\n * When navigating between stacked pages, scroll position is not correctly restored on Safari,\n * when the nested kirby-card element uses containment and the host element does not have an explicit height.\n */\n@Directive({\n selector: `[kirbyImageBannerResize]`,\n})\nexport class ImageBannerHeightDirective implements OnInit, OnDestroy {\n private currentHeight: number = 0;\n private host = inject(ElementRef);\n private resizeObserverService = inject(ResizeObserverService);\n private renderer = inject(Renderer2);\n\n ngOnInit() {\n this.resizeObserverService.observe(this.host, (entry) => this.setCardHeightOnHost(entry));\n }\n\n ngOnDestroy() {\n this.resizeObserverService.unobserve(this.host);\n }\n\n private setCardHeightOnHost(entry: ResizeObserverEntry) {\n const hostElement = entry.target as HTMLElement;\n const card = hostElement.querySelector('kirby-card');\n const cardHeight = card?.getBoundingClientRect().height;\n\n if (!hostElement || !cardHeight) return;\n if (cardHeight === this.currentHeight) return;\n\n this.currentHeight = cardHeight;\n this.renderer.setStyle(hostElement, 'min-height', `${cardHeight}px`);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\nimport { IconComponent } from '@kirbydesign/designsystem/icon';\nimport { ThemeColorDirective, TranslationService } from '@kirbydesign/designsystem/shared';\nimport { CardComponent } from '@kirbydesign/designsystem/card';\nimport { ImageBannerHeightDirective } from './image-banner-height.directive';\n\n@Component({\n selector: 'kirby-x-image-banner',\n imports: [CardComponent, ButtonComponent, IconComponent, ThemeColorDirective],\n hostDirectives: [ImageBannerHeightDirective],\n templateUrl: './image-banner.component.html',\n styleUrl: './image-banner.component.scss',\n changeDetection: ChangeDetectionStrategy.Eager,\n})\nexport class ImageBannerComponent {\n /**\n * The title placed inside the image banners header.\n */\n @Input() title: string | undefined;\n\n /**\n * The image shown on the banner, and used for the background blur effect.\n */\n @Input() imagePath: string | undefined;\n\n /**\n * The body text placed below the title.\n */\n @Input() bodyText: string | undefined;\n\n /**\n * Whether the button should be shown in narrow view or not.\n */\n @HostBinding('class.show-button-in-narrow-view')\n @Input()\n showButtonInNarrowView: boolean = false;\n\n /**\n * The text of the button in the content area of the image banner. If left empty, will default to 'Read more' (or equivalent translation for [supported locales](https://cookbook.kirby.design/#/home/localization)).\n */\n @Input() actionButtonText: string | undefined = this.translations.get('readMore');\n\n /**\n * When an external link is supplied the entire banner will be an anchor-tag and navigate when activated.\n */\n @Input() externalLink: string | undefined;\n\n /**\n * The blur-effect used for the background.\n */\n @HostBinding('class')\n @Input()\n backgroundBlur: 'dark' | 'light' | 'none' = 'dark';\n\n /**\n * Emitted every time the banner is activated. The entire banner is interactive, and will be activated by click and keyboard interaction.\n */\n @Output() bannerClick = new EventEmitter<Event>();\n\n /**\n * If subscribed to, a dismiss button will be shown. Emitted every time the dismiss button is activated by click and keyboard interaction.\n */\n @Output() dismissClick = new EventEmitter<Event>();\n\n /**\n * If the input imagePath results in an error, it will be reflected in this output.\n */\n @Output()\n imageError = new EventEmitter<ErrorEvent>();\n\n constructor(public translations: TranslationService) {}\n\n public bannerClicked(event: Event) {\n const eventTarget = event.target as HTMLElement;\n const dismissButtonClicked = eventTarget.closest('.dismiss');\n if (dismissButtonClicked) return;\n this.bannerClick.emit(event);\n }\n\n public dismissClicked(event: Event) {\n this.dismissClick.emit(event);\n }\n\n public onImageError($event: ErrorEvent) {\n this.imageError.emit($event);\n }\n}\n","<kirby-card [themeColor]=\"backgroundBlur === 'none' ? 'white' : backgroundBlur\">\n <div class=\"blur-image-wrapper\">\n <img class=\"blur-image\" [src]=\"imagePath\" alt=\"\" />\n </div>\n\n <div class=\"main-content-wrapper\">\n <div class=\"main-content-image-wrapper\">\n <img class=\"main-content-image\" [src]=\"imagePath\" alt=\"\" (error)=\"onImageError($event)\" />\n </div>\n\n <div class=\"main-content\">\n <div class=\"text-content-layout\">\n <div class=\"main-content-header\">\n @if (title) {\n <p class=\"kirby-text-normal-bold\">\n {{ title }}\n </p>\n } @else {\n <div class=\"title kirby-text-normal-bold\">\n <ng-content select=\"[title]\"></ng-content>\n </div>\n }\n </div>\n\n <div class=\"main-content-body\">\n <p class=\"main-content-body-text kirby-text-small\">\n @if (bodyText) {\n {{ bodyText }}\n } @else {\n <ng-content select=\"[bodyText]\"></ng-content>\n }\n </p>\n </div>\n </div>\n @if (externalLink) {\n <!-- Only one of below anchors is displayed at a time -\n we want different behavior on varying screen widths -->\n <a\n kirby-button\n class=\"breakout wide-view-action\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n [href]=\"externalLink\"\n target=\"_blank\"\n size=\"sm\"\n >\n {{ actionButtonText }}\n <kirby-icon name=\"link\"></kirby-icon>\n </a>\n\n <a\n kirby-button\n class=\"breakout narrow-view-action\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n [href]=\"externalLink\"\n [noDecoration]=\"true\"\n [showIconOnly]=\"true\"\n target=\"_blank\"\n size=\"sm\"\n >\n {{ actionButtonText }}\n <kirby-icon name=\"link\"></kirby-icon>\n </a>\n }\n\n @if (!externalLink) {\n <!-- Only one of below buttons is displayed at a time -\n we want different behavior on varying screen widths -->\n <button\n kirby-button\n class=\"breakout wide-view-action\"\n size=\"sm\"\n (click)=\"bannerClicked($event)\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n >\n {{ actionButtonText }}\n </button>\n\n <button\n kirby-button\n class=\"breakout narrow-view-action\"\n size=\"sm\"\n (click)=\"bannerClicked($event)\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n [noDecoration]=\"true\"\n [showIconOnly]=\"true\"\n >\n <span class=\"kirby-visually-hidden\">\n {{ actionButtonText }}\n </span>\n </button>\n }\n </div>\n </div>\n\n @if (dismissClick.observed) {\n <button\n kirby-button\n size=\"xs\"\n (click)=\"dismissClicked($event)\"\n [attentionLevel]=\"backgroundBlur === 'none' ? '3' : '2'\"\n [showIconOnly]=\"true\"\n [attr.aria-label]=\"translations.get('close') + ' ' + title\"\n class=\"dismiss\"\n >\n <kirby-icon name=\"close\"></kirby-icon>\n </button>\n }\n</kirby-card>\n"],"mappings":";;;;;;;AAYA,IAAa,6BAAb,MAAa,2BAA0B;CAHvC,cAAA;EAIU,KAAA,gBAAwB;EACxB,KAAA,OAAO,OAAO,UAAU;EACxB,KAAA,wBAAwB,OAAO,qBAAqB;EACpD,KAAA,WAAW,OAAO,SAAS;CAqBpC;CAnBC,WAAQ;EACN,KAAK,sBAAsB,QAAQ,KAAK,OAAO,UAAU,KAAK,oBAAoB,KAAK,CAAC;CAC1F;CAEA,cAAW;EACT,KAAK,sBAAsB,UAAU,KAAK,IAAI;CAChD;CAEQ,oBAAoB,OAA0B;EACpD,MAAM,cAAc,MAAM;EAE1B,MAAM,aADO,YAAY,cAAc,YACpB,CAAA,EAAM,sBAAqB,CAAE,CAAC;EAEjD,IAAI,CAAC,eAAe,CAAC,YAAY;EACjC,IAAI,eAAe,KAAK,eAAe;EAEvC,KAAK,gBAAgB;EACrB,KAAK,SAAS,SAAS,aAAa,cAAc,GAAG,WAAU,GAAI;CACrE;CAxBW;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAA0B,MAAA,CAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAA1B;EAAA,KAAA,OAAA,GAAA,qBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,MAAA;GAA0B,cAAA;GAAA,UAAA;GAAA,UAAA;EAAA,CAAA;CAAA;;AAA1B,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAA0B,YAAA,CAAA;EAHtC,MAAA;EAAU,MAAA,CAAA,EACT,UAAU,2BACX,CAAA;;;ACWD,IAAa,uBAAb,MAAa,qBAAoB;CAwD/B,YAAmB,cAAgC;EAAhC,KAAA,eAAA;EAnCnB,KAAA,yBAAkC;EAKzB,KAAA,mBAAuC,KAAK,aAAa,IAAI,UAAU;EAYhF,KAAA,iBAA4C;EAKlC,KAAA,cAAc,IAAI,aAAY;EAK9B,KAAA,eAAe,IAAI,aAAY;EAMzC,KAAA,aAAa,IAAI,aAAY;CAEyB;CAE/C,cAAc,OAAY;EAG/B,IAFoB,MAAM,OACe,QAAQ,UAC7C,GAAsB;EAC1B,KAAK,YAAY,KAAK,KAAK;CAC7B;CAEO,eAAe,OAAY;EAChC,KAAK,aAAa,KAAK,KAAK;CAC9B;CAEO,aAAa,QAAkB;EACpC,KAAK,WAAW,KAAK,MAAM;CAC7B;CAvEW;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAAoB,MAAA,CAAA,EAAA,OAAA,GAAA,mBAAA,CAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAApB;EAAA,KAAA,OAAA,GAAA,qBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,MAAA;GAAoB,cAAA;GAAA,UAAA;GAAA,QAAA;IAAA,OAAA;IAAA,WAAA;IAAA,UAAA;IAAA,wBAAA;IAAA,kBAAA;IAAA,cAAA;IAAA,gBAAA;GAAA;GAAA,SAAA;IAAA,aAAA;IAAA,cAAA;IAAA,YAAA;GAAA;GAAA,MAAA,EAAA,YAAA;IAAA,oCAAA;IAAA,SAAA;GAAA,EAAA;GAAA,gBAAA,CAAA,EAAA,WAAA,2BAAA,CAAA;GAAA,UAAA;GAAA,UCtBjC;GA4GA,QAAA,CAAA,4yKAAA;GAAA,cAAA;IAAA;KAAA,MAAA;KAAA,MD5FY;KAAa,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAE;KAAe,UAAA;KAAA,QAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;KAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAE;KAAa,UAAA;KAAA,QAAA,CAAA,QAAA,MAAA;IAAA;IAAA;KAAA,MAAA;KAAA,MAAE;KAAmB,UAAA;KAAA,QAAA,CAAA,YAAA;IAAA;GAAA;GAAA,iBAAA,GAAA,wBAAA;EAAA,CAAA;CAAA;;AAMjE,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAoB,YAAA,CAAA;EARhC,MAAA;EACW,MAAA,CAAA;GAAA,UAAA;GAAsB,SACvB;IAAC;IAAe;IAAiB;IAAe;GAAmB;GAAC,gBAC7D,CAAC,0BAA0B;GAAC,iBAG3B,wBAAwB;GAAK,UAAA;GAAA,QAAA,CAAA,4yKAAA;EAAA,CAAA;;;;EAM7C,OAAA,CAAA,EAAA,MAAA,MAAA,CAAA;EAKA,WAAA,CAAA,EAAA,MAAA,MAAA,CAAA;EAKA,UAAA,CAAA,EAAA,MAAA,MAAA,CAAA;;GAKA,MAAA;GAAY,MAAA,CAAA,kCAAkC;EAC9C,GAAA,EAAA,MAAA,MAAA,CAAA;EAMA,kBAAA,CAAA,EAAA,MAAA,MAAA,CAAA;EAKA,cAAA,CAAA,EAAA,MAAA,MAAA,CAAA;;GAKA,MAAA;GAAY,MAAA,CAAA,OAAO;EACnB,GAAA,EAAA,MAAA,MAAA,CAAA;EAMA,aAAA,CAAA,EAAA,MAAA,OAAA,CAAA;EAKA,cAAA,CAAA,EAAA,MAAA,OAAA,CAAA;EAKA,YAAA,CAAA,EAAA,MAAA,OAAA,CAAA"}
1
+ {"version":3,"file":"kirbydesign-extensions-angular-image-banner.mjs","names":[],"sources":["../../image-banner/src/image-banner-height.directive.ts","../../image-banner/src/image-banner.component.ts","../../image-banner/src/image-banner.component.html"],"sourcesContent":["import { Directive, ElementRef, inject, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { ResizeObserverService } from '@kirbydesign/designsystem/shared';\n\n/**\n * @Description Temporary directive to ensure correct scroll position behavior on Safari.\n *\n * When navigating between stacked pages, scroll position is not correctly restored on Safari,\n * when the nested kirby-card element uses containment and the host element does not have an explicit height.\n */\n@Directive({\n selector: `[kirbyImageBannerResize]`,\n})\nexport class ImageBannerHeightDirective implements OnInit, OnDestroy {\n private currentHeight: number = 0;\n private host = inject(ElementRef);\n private resizeObserverService = inject(ResizeObserverService);\n private renderer = inject(Renderer2);\n\n ngOnInit() {\n this.resizeObserverService.observe(this.host, (entry) => this.setCardHeightOnHost(entry));\n }\n\n ngOnDestroy() {\n this.resizeObserverService.unobserve(this.host);\n }\n\n private setCardHeightOnHost(entry: ResizeObserverEntry) {\n const hostElement = entry.target as HTMLElement;\n const card = hostElement.querySelector('kirby-card');\n const cardHeight = card?.getBoundingClientRect().height;\n\n if (!hostElement || !cardHeight) return;\n if (cardHeight === this.currentHeight) return;\n\n this.currentHeight = cardHeight;\n this.renderer.setStyle(hostElement, 'min-height', `${cardHeight}px`);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\nimport { IconComponent } from '@kirbydesign/designsystem/icon';\nimport { ThemeColorDirective, TranslationService } from '@kirbydesign/designsystem/shared';\nimport { CardComponent } from '@kirbydesign/designsystem/card';\nimport { ImageBannerHeightDirective } from './image-banner-height.directive';\n\n@Component({\n selector: 'kirby-x-image-banner',\n imports: [CardComponent, ButtonComponent, IconComponent, ThemeColorDirective],\n hostDirectives: [ImageBannerHeightDirective],\n templateUrl: './image-banner.component.html',\n styleUrl: './image-banner.component.scss',\n changeDetection: ChangeDetectionStrategy.Eager,\n})\nexport class ImageBannerComponent {\n /**\n * The title placed inside the image banners header.\n */\n @Input() title: string | undefined;\n\n /**\n * The image shown on the banner, and used for the background blur effect.\n */\n @Input() imagePath: string | undefined;\n\n /**\n * The body text placed below the title.\n */\n @Input() bodyText: string | undefined;\n\n /**\n * Whether the button should be shown in narrow view or not.\n */\n @HostBinding('class.show-button-in-narrow-view')\n @Input()\n showButtonInNarrowView: boolean = false;\n\n /**\n * The text of the button in the content area of the image banner. If left empty, will default to 'Read more' (or equivalent translation for [supported locales](https://cookbook.kirby.design/#/home/localization)).\n */\n @Input() actionButtonText: string | undefined = this.translations.get('readMore');\n\n /**\n * When an external link is supplied the entire banner will be an anchor-tag and navigate when activated.\n */\n @Input() externalLink: string | undefined;\n\n /**\n * The blur-effect used for the background.\n */\n @HostBinding('class')\n @Input()\n backgroundBlur: 'dark' | 'light' | 'none' = 'dark';\n\n /**\n * Emitted every time the banner is activated. The entire banner is interactive, and will be activated by click and keyboard interaction.\n */\n @Output() bannerClick = new EventEmitter<Event>();\n\n /**\n * If subscribed to, a dismiss button will be shown. Emitted every time the dismiss button is activated by click and keyboard interaction.\n */\n @Output() dismissClick = new EventEmitter<Event>();\n\n /**\n * If the input imagePath results in an error, it will be reflected in this output.\n */\n @Output()\n imageError = new EventEmitter<ErrorEvent>();\n\n constructor(public translations: TranslationService) {}\n\n public bannerClicked(event: Event) {\n const eventTarget = event.target as HTMLElement;\n const dismissButtonClicked = eventTarget.closest('.dismiss');\n if (dismissButtonClicked) return;\n this.bannerClick.emit(event);\n }\n\n public dismissClicked(event: Event) {\n this.dismissClick.emit(event);\n }\n\n public onImageError($event: ErrorEvent) {\n this.imageError.emit($event);\n }\n}\n","<kirby-card [variant]=\"backgroundBlur === 'dark' ? 'brand' : 'raised'\">\n <div class=\"blur-image-wrapper\">\n <img class=\"blur-image\" [src]=\"imagePath\" alt=\"\" />\n </div>\n\n <div class=\"main-content-wrapper\">\n <div class=\"main-content-image-wrapper\">\n <img class=\"main-content-image\" [src]=\"imagePath\" alt=\"\" (error)=\"onImageError($event)\" />\n </div>\n\n <div class=\"main-content\">\n <div class=\"text-content-layout\">\n <div class=\"main-content-header\">\n @if (title) {\n <p class=\"kirby-text-normal-bold\">\n {{ title }}\n </p>\n } @else {\n <div class=\"title kirby-text-normal-bold\">\n <ng-content select=\"[title]\"></ng-content>\n </div>\n }\n </div>\n\n <div class=\"main-content-body\">\n <p class=\"main-content-body-text kirby-text-small\">\n @if (bodyText) {\n {{ bodyText }}\n } @else {\n <ng-content select=\"[bodyText]\"></ng-content>\n }\n </p>\n </div>\n </div>\n @if (externalLink) {\n <!-- Only one of below anchors is displayed at a time -\n we want different behavior on varying screen widths -->\n <a\n kirby-button\n class=\"breakout wide-view-action\"\n [attentionLevel]=\"'2'\"\n [href]=\"externalLink\"\n target=\"_blank\"\n size=\"sm\"\n >\n {{ actionButtonText }}\n <kirby-icon name=\"link\"></kirby-icon>\n </a>\n\n <a\n kirby-button\n class=\"breakout narrow-view-action\"\n [attentionLevel]=\"'2'\"\n [href]=\"externalLink\"\n [noDecoration]=\"true\"\n [showIconOnly]=\"true\"\n target=\"_blank\"\n size=\"sm\"\n >\n {{ actionButtonText }}\n <kirby-icon name=\"link\"></kirby-icon>\n </a>\n }\n\n @if (!externalLink) {\n <!-- Only one of below buttons is displayed at a time -\n we want different behavior on varying screen widths -->\n <button\n kirby-button\n class=\"breakout wide-view-action\"\n size=\"sm\"\n (click)=\"bannerClicked($event)\"\n [attentionLevel]=\"'2'\"\n >\n {{ actionButtonText }}\n </button>\n\n <button\n kirby-button\n class=\"breakout narrow-view-action\"\n size=\"sm\"\n (click)=\"bannerClicked($event)\"\n [attentionLevel]=\"'2'\"\n [noDecoration]=\"true\"\n [showIconOnly]=\"true\"\n >\n <span class=\"kirby-visually-hidden\">\n {{ actionButtonText }}\n </span>\n </button>\n }\n </div>\n </div>\n\n @if (dismissClick.observed) {\n <button\n kirby-button\n size=\"xs\"\n (click)=\"dismissClicked($event)\"\n [noDecoration]=\"true\"\n [showIconOnly]=\"true\"\n [attr.aria-label]=\"translations.get('close') + ' ' + title\"\n class=\"dismiss\"\n >\n <kirby-icon name=\"close\"></kirby-icon>\n </button>\n }\n</kirby-card>\n"],"mappings":"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"}
@@ -96,7 +96,7 @@ var DateOnlyPipe = class DateOnlyPipe extends AbstractTimezoneCompensatingPipe {
96
96
  static {
97
97
  this.ɵfac = i0.ɵɵngDeclareFactory({
98
98
  minVersion: "12.0.0",
99
- version: "22.2.2",
99
+ version: "22.2.3",
100
100
  ngImport: i0,
101
101
  type: DateOnlyPipe,
102
102
  deps: null,
@@ -106,7 +106,7 @@ var DateOnlyPipe = class DateOnlyPipe extends AbstractTimezoneCompensatingPipe {
106
106
  static {
107
107
  this.ɵpipe = i0.ɵɵngDeclarePipe({
108
108
  minVersion: "14.0.0",
109
- version: "22.2.2",
109
+ version: "22.2.3",
110
110
  ngImport: i0,
111
111
  type: DateOnlyPipe,
112
112
  isStandalone: true,
@@ -116,7 +116,7 @@ var DateOnlyPipe = class DateOnlyPipe extends AbstractTimezoneCompensatingPipe {
116
116
  };
117
117
  i0.ɵɵngDeclareClassMetadata({
118
118
  minVersion: "12.0.0",
119
- version: "22.2.2",
119
+ version: "22.2.3",
120
120
  ngImport: i0,
121
121
  type: DateOnlyPipe,
122
122
  decorators: [{
@@ -141,7 +141,7 @@ var TimeOnlyPipe = class TimeOnlyPipe extends AbstractTimezoneCompensatingPipe {
141
141
  static {
142
142
  this.ɵfac = i0.ɵɵngDeclareFactory({
143
143
  minVersion: "12.0.0",
144
- version: "22.2.2",
144
+ version: "22.2.3",
145
145
  ngImport: i0,
146
146
  type: TimeOnlyPipe,
147
147
  deps: null,
@@ -151,7 +151,7 @@ var TimeOnlyPipe = class TimeOnlyPipe extends AbstractTimezoneCompensatingPipe {
151
151
  static {
152
152
  this.ɵpipe = i0.ɵɵngDeclarePipe({
153
153
  minVersion: "14.0.0",
154
- version: "22.2.2",
154
+ version: "22.2.3",
155
155
  ngImport: i0,
156
156
  type: TimeOnlyPipe,
157
157
  isStandalone: true,
@@ -161,7 +161,7 @@ var TimeOnlyPipe = class TimeOnlyPipe extends AbstractTimezoneCompensatingPipe {
161
161
  };
162
162
  i0.ɵɵngDeclareClassMetadata({
163
163
  minVersion: "12.0.0",
164
- version: "22.2.2",
164
+ version: "22.2.3",
165
165
  ngImport: i0,
166
166
  type: TimeOnlyPipe,
167
167
  decorators: [{
@@ -186,7 +186,7 @@ var TimeOrDatePipe = class TimeOrDatePipe extends AbstractTimezoneCompensatingPi
186
186
  static {
187
187
  this.ɵfac = i0.ɵɵngDeclareFactory({
188
188
  minVersion: "12.0.0",
189
- version: "22.2.2",
189
+ version: "22.2.3",
190
190
  ngImport: i0,
191
191
  type: TimeOrDatePipe,
192
192
  deps: null,
@@ -196,7 +196,7 @@ var TimeOrDatePipe = class TimeOrDatePipe extends AbstractTimezoneCompensatingPi
196
196
  static {
197
197
  this.ɵpipe = i0.ɵɵngDeclarePipe({
198
198
  minVersion: "14.0.0",
199
- version: "22.2.2",
199
+ version: "22.2.3",
200
200
  ngImport: i0,
201
201
  type: TimeOrDatePipe,
202
202
  isStandalone: true,
@@ -206,7 +206,7 @@ var TimeOrDatePipe = class TimeOrDatePipe extends AbstractTimezoneCompensatingPi
206
206
  };
207
207
  i0.ɵɵngDeclareClassMetadata({
208
208
  minVersion: "12.0.0",
209
- version: "22.2.2",
209
+ version: "22.2.3",
210
210
  ngImport: i0,
211
211
  type: TimeOrDatePipe,
212
212
  decorators: [{
@@ -228,7 +228,7 @@ var FormatNumberService = class FormatNumberService {
228
228
  static {
229
229
  this.ɵfac = i0.ɵɵngDeclareFactory({
230
230
  minVersion: "12.0.0",
231
- version: "22.2.2",
231
+ version: "22.2.3",
232
232
  ngImport: i0,
233
233
  type: FormatNumberService,
234
234
  deps: [{ token: LOCALE_ID }],
@@ -238,7 +238,7 @@ var FormatNumberService = class FormatNumberService {
238
238
  static {
239
239
  this.ɵprov = i0.ɵɵngDeclareInjectable({
240
240
  minVersion: "12.0.0",
241
- version: "22.2.2",
241
+ version: "22.2.3",
242
242
  ngImport: i0,
243
243
  type: FormatNumberService,
244
244
  providedIn: "root"
@@ -247,7 +247,7 @@ var FormatNumberService = class FormatNumberService {
247
247
  };
248
248
  i0.ɵɵngDeclareClassMetadata({
249
249
  minVersion: "12.0.0",
250
- version: "22.2.2",
250
+ version: "22.2.3",
251
251
  ngImport: i0,
252
252
  type: FormatNumberService,
253
253
  decorators: [{
@@ -272,7 +272,7 @@ var FormatNumberPipe = class FormatNumberPipe {
272
272
  static {
273
273
  this.ɵfac = i0.ɵɵngDeclareFactory({
274
274
  minVersion: "12.0.0",
275
- version: "22.2.2",
275
+ version: "22.2.3",
276
276
  ngImport: i0,
277
277
  type: FormatNumberPipe,
278
278
  deps: [{ token: FormatNumberService }],
@@ -282,7 +282,7 @@ var FormatNumberPipe = class FormatNumberPipe {
282
282
  static {
283
283
  this.ɵpipe = i0.ɵɵngDeclarePipe({
284
284
  minVersion: "14.0.0",
285
- version: "22.2.2",
285
+ version: "22.2.3",
286
286
  ngImport: i0,
287
287
  type: FormatNumberPipe,
288
288
  isStandalone: true,
@@ -292,7 +292,7 @@ var FormatNumberPipe = class FormatNumberPipe {
292
292
  };
293
293
  i0.ɵɵngDeclareClassMetadata({
294
294
  minVersion: "12.0.0",
295
- version: "22.2.2",
295
+ version: "22.2.3",
296
296
  ngImport: i0,
297
297
  type: FormatNumberPipe,
298
298
  decorators: [{
@@ -348,7 +348,7 @@ var AmountService = class AmountService {
348
348
  static {
349
349
  this.ɵfac = i0.ɵɵngDeclareFactory({
350
350
  minVersion: "12.0.0",
351
- version: "22.2.2",
351
+ version: "22.2.3",
352
352
  ngImport: i0,
353
353
  type: AmountService,
354
354
  deps: [],
@@ -358,7 +358,7 @@ var AmountService = class AmountService {
358
358
  static {
359
359
  this.ɵprov = i0.ɵɵngDeclareInjectable({
360
360
  minVersion: "12.0.0",
361
- version: "22.2.2",
361
+ version: "22.2.3",
362
362
  ngImport: i0,
363
363
  type: AmountService,
364
364
  providedIn: "root"
@@ -367,7 +367,7 @@ var AmountService = class AmountService {
367
367
  };
368
368
  i0.ɵɵngDeclareClassMetadata({
369
369
  minVersion: "12.0.0",
370
- version: "22.2.2",
370
+ version: "22.2.3",
371
371
  ngImport: i0,
372
372
  type: AmountService,
373
373
  decorators: [{
@@ -385,7 +385,7 @@ var AmountPipe = class AmountPipe {
385
385
  static {
386
386
  this.ɵfac = i0.ɵɵngDeclareFactory({
387
387
  minVersion: "12.0.0",
388
- version: "22.2.2",
388
+ version: "22.2.3",
389
389
  ngImport: i0,
390
390
  type: AmountPipe,
391
391
  deps: [{ token: AmountService }],
@@ -395,7 +395,7 @@ var AmountPipe = class AmountPipe {
395
395
  static {
396
396
  this.ɵpipe = i0.ɵɵngDeclarePipe({
397
397
  minVersion: "14.0.0",
398
- version: "22.2.2",
398
+ version: "22.2.3",
399
399
  ngImport: i0,
400
400
  type: AmountPipe,
401
401
  isStandalone: true,
@@ -405,7 +405,7 @@ var AmountPipe = class AmountPipe {
405
405
  };
406
406
  i0.ɵɵngDeclareClassMetadata({
407
407
  minVersion: "12.0.0",
408
- version: "22.2.2",
408
+ version: "22.2.3",
409
409
  ngImport: i0,
410
410
  type: AmountPipe,
411
411
  decorators: [{
@@ -427,7 +427,7 @@ var AccountNumberPipe = class AccountNumberPipe {
427
427
  static {
428
428
  this.ɵfac = i0.ɵɵngDeclareFactory({
429
429
  minVersion: "12.0.0",
430
- version: "22.2.2",
430
+ version: "22.2.3",
431
431
  ngImport: i0,
432
432
  type: AccountNumberPipe,
433
433
  deps: [],
@@ -437,7 +437,7 @@ var AccountNumberPipe = class AccountNumberPipe {
437
437
  static {
438
438
  this.ɵpipe = i0.ɵɵngDeclarePipe({
439
439
  minVersion: "14.0.0",
440
- version: "22.2.2",
440
+ version: "22.2.3",
441
441
  ngImport: i0,
442
442
  type: AccountNumberPipe,
443
443
  isStandalone: true,
@@ -447,7 +447,7 @@ var AccountNumberPipe = class AccountNumberPipe {
447
447
  };
448
448
  i0.ɵɵngDeclareClassMetadata({
449
449
  minVersion: "12.0.0",
450
- version: "22.2.2",
450
+ version: "22.2.3",
451
451
  ngImport: i0,
452
452
  type: AccountNumberPipe,
453
453
  decorators: [{
@@ -478,7 +478,7 @@ var PhoneNumberService = class PhoneNumberService {
478
478
  static {
479
479
  this.ɵfac = i0.ɵɵngDeclareFactory({
480
480
  minVersion: "12.0.0",
481
- version: "22.2.2",
481
+ version: "22.2.3",
482
482
  ngImport: i0,
483
483
  type: PhoneNumberService,
484
484
  deps: [],
@@ -488,7 +488,7 @@ var PhoneNumberService = class PhoneNumberService {
488
488
  static {
489
489
  this.ɵprov = i0.ɵɵngDeclareInjectable({
490
490
  minVersion: "12.0.0",
491
- version: "22.2.2",
491
+ version: "22.2.3",
492
492
  ngImport: i0,
493
493
  type: PhoneNumberService,
494
494
  providedIn: "root"
@@ -497,7 +497,7 @@ var PhoneNumberService = class PhoneNumberService {
497
497
  };
498
498
  i0.ɵɵngDeclareClassMetadata({
499
499
  minVersion: "12.0.0",
500
- version: "22.2.2",
500
+ version: "22.2.3",
501
501
  ngImport: i0,
502
502
  type: PhoneNumberService,
503
503
  decorators: [{
@@ -515,7 +515,7 @@ var PhoneNumberPipe = class PhoneNumberPipe {
515
515
  static {
516
516
  this.ɵfac = i0.ɵɵngDeclareFactory({
517
517
  minVersion: "12.0.0",
518
- version: "22.2.2",
518
+ version: "22.2.3",
519
519
  ngImport: i0,
520
520
  type: PhoneNumberPipe,
521
521
  deps: [{ token: PhoneNumberService }],
@@ -525,7 +525,7 @@ var PhoneNumberPipe = class PhoneNumberPipe {
525
525
  static {
526
526
  this.ɵpipe = i0.ɵɵngDeclarePipe({
527
527
  minVersion: "14.0.0",
528
- version: "22.2.2",
528
+ version: "22.2.3",
529
529
  ngImport: i0,
530
530
  type: PhoneNumberPipe,
531
531
  isStandalone: true,
@@ -535,7 +535,7 @@ var PhoneNumberPipe = class PhoneNumberPipe {
535
535
  };
536
536
  i0.ɵɵngDeclareClassMetadata({
537
537
  minVersion: "12.0.0",
538
- version: "22.2.2",
538
+ version: "22.2.3",
539
539
  ngImport: i0,
540
540
  type: PhoneNumberPipe,
541
541
  decorators: [{