@onemrvapublic/design-system 21.2.0-develop.3 → 21.2.0-develop.4

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/README.md CHANGED
@@ -33,12 +33,12 @@ If you need access to our design system board, send us a message.
33
33
  @Bram Decuypere (NL / EN)
34
34
  ## Changelog
35
35
 
36
- ### 21.2.0-develop.3
36
+ ### 21.2.0-develop.4
37
37
 
38
- # [21.2.0-develop.3](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/compare/v21.2.0-develop.2...v21.2.0-develop.3) (2026-03-05)
38
+ # [21.2.0-develop.4](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/compare/v21.2.0-develop.3...v21.2.0-develop.4) (2026-03-05)
39
39
 
40
40
 
41
- ### Features
41
+ ### Bug Fixes
42
42
 
43
- * **onemrvaThemeProvider:** limit provider options to environmentProviders ([d90489f](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/commit/d90489f79fa9d5271512eef837db3bb5a626c052))
43
+ * **ds-version:** remove old script potentially overwriting ([4e88b99](https://rvaonem.ghe.com/AS-DESIGN-SYSTEM/core/commit/4e88b992f813535a1ff4c304b233dbb2eb106b2a))
44
44
 
@@ -2062,7 +2062,7 @@ function onemrvaDateLuxonYearMonthProvider() {
2062
2062
  }
2063
2063
 
2064
2064
  // Auto-generated — do not edit
2065
- const VERSION = '21.2.0-develop.2';
2065
+ const VERSION = '21.2.0-develop.3';
2066
2066
 
2067
2067
  function onemrvaThemeProvider() {
2068
2068
  return makeEnvironmentProviders([
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-shared.mjs","sources":["../../../../projects/onemrva/design-system/shared/src/lib/components/clipboard-icon/clipboard-icon.component.ts","../../../../projects/onemrva/design-system/shared/src/lib/components/clipboard-icon/clipboard-icon.component.html","../../../../projects/onemrva/design-system/shared/src/lib/constants/CDNUrlModeOptions.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/constants.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/date.format.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/cdn.ts","../../../../projects/onemrva/design-system/shared/src/lib/tokens/inject.token.ts","../../../../projects/onemrva/design-system/shared/src/lib/containers/WebComponentOverlayContainer.ts","../../../../projects/onemrva/design-system/shared/src/lib/decorators/HttpCacheDecorator.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/digit-only.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/color.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/mat-row-clickable.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/if-width-is.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/mask.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/clipboard.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/iconRight.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/date-format.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/readonly-directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/size.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/index.ts","../../../../projects/onemrva/design-system/shared/src/lib/helpers/translation-helper.ts","../../../../projects/onemrva/design-system/shared/src/lib/loaders/onemrva-translate-cdn-loader.ts","../../../../projects/onemrva/design-system/shared/src/lib/loaders/onemrva-translate-http-loader.ts","../../../../projects/onemrva/design-system/shared/src/lib/pipes/onemrva-bce.pipe.ts","../../../../projects/onemrva/design-system/shared/src/lib/pipes/onemrva-niss.pipe.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/country-lookup.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/cache.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/country-cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/mime-cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/osm.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/onemrva-error-handler.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/onemrva-missing-translation.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/validators/onemrva-validators.ts","../../../../projects/onemrva/design-system/shared/src/lib/validators/bank-account.validator.utils.ts","../../../../projects/onemrva/design-system/shared/src/lib/validators/phone-number.validator.utils.ts","../../../../projects/onemrva/design-system/shared/src/lib/shared.module.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/native.date.adapter.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/luxon.utils.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/luxon.date.adapter.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.native.year.month.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.native.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.luxon.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.luxon.year.month.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/version.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.theme.provider.ts","../../../../projects/onemrva/design-system/shared/index.ts","../../../../projects/onemrva/design-system/shared/onemrvapublic-design-system-shared.ts"],"sourcesContent":["import { Component, ElementRef, inject } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { Clipboard } from '@angular/cdk/clipboard';\n\n@Component({\n selector: 'lib-clipboard-icon',\n templateUrl: './clipboard-icon.component.html',\n styleUrls: ['./clipboard-icon.component.css'],\n standalone: true,\n imports: [MatIconModule, MatTooltipModule],\n})\nexport class ClipboardIconComponent {\n public _elementRef = inject(ElementRef);\n private clipboardService = inject(Clipboard);\n}\n","<mat-icon [matTooltip]=\"'TEST'\">content_copy</mat-icon>\n","export enum CDNUrlModeOptions {\n PROD = 'production',\n VAL = 'validation',\n}\n","export const CDN_URLS = {\n prod: 'https://cdn.services.rvaonem.fgov.be',\n val: 'https://cdn.servicesval.rvaonem.fgov.be',\n};\n\nexport const NISS_MASK = '000000/000-00';\n\nexport const LOOKUP_COUNTRY_URL =\n 'http://services/lookupwpptservice/rest/lookup/getLookups?class=be.fgov.onerva.lookup.wppt.persistence.model.common.Country';\n\nexport const ONEMRVA_THEME = 'onemrva-theme';\n\n// export const LOOKUP_POSTAL_CODE_URL =\n// 'https://services/lookupwpptservice/rest/lookup/getBelgianCommunityByPostalCode?postalCode=';\n","import { MatDateFormats } from '@angular/material/core';\n\nconst parseNativeDateFormats = [\n 'ddMMyyyy',\n 'dd/MM/yyyy',\n 'd/M/yyyy',\n 'dd/M/yyyy',\n 'd/MM/yyyy',\n 'd.M.yyyy',\n 'dd.M.yyyy',\n 'd.MM.yyyy',\n 'd/M/yy',\n 'dd/M/yy',\n 'd/MM/yy',\n 'd.M.yy',\n 'dd.M.yy',\n 'd.MM.yy',\n];\nconst parseNativeYearMonthFormats = [\n 'MMyyyy',\n 'M/yyyy',\n 'M/yy',\n 'MM/yyyy',\n 'MM/yy',\n 'M.yyyy',\n 'MM.yyyy',\n];\nconst parseLuxonYearMonthFormats = [\n 'LLyyyy',\n 'L/yyyy',\n 'L/yy',\n 'LL/yyyy',\n 'LL/yy',\n 'L.yyyy',\n 'LL.yyyy',\n];\nconst parseLuxonDateFormat = [\n 'ddLLyyyy',\n 'd/LL/yyyy',\n 'd/L/yyyy',\n 'dd/L/yyyy',\n 'd/LL/yyyy',\n 'd.L.yyyy',\n 'dd.L.yyyy',\n 'd.LL.yyyy',\n 'd/L/yy',\n 'dd/L/yy',\n 'd/LL/yy',\n 'd.L.yy',\n 'dd.L.yy',\n 'd.LL.yy',\n];\n\nexport const ONEMRVA_MAT_NATIVE_DATE_FORMAT: MatDateFormats = {\n parse: {\n dateInput: parseNativeDateFormats,\n timeInput: ['HH:mm'],\n },\n display: {\n dateInput: 'dd/MM/yyyy',\n monthYearLabel: 'LL / yyyy',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM yyyy',\n timeInput: 'HH:mm',\n timeOptionLabel: 'HH:mm',\n },\n};\n\nexport const ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT: MatDateFormats = {\n parse: {\n dateInput: parseNativeYearMonthFormats,\n timeInput: ['HH:mm'],\n },\n display: {\n dateInput: 'dd/MM/yyyy',\n monthYearLabel: 'LL / yyyy',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMM yyyy',\n timeInput: 'HH:mm',\n timeOptionLabel: 'HH:mm',\n },\n};\n\nexport const ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS: MatDateFormats = {\n parse: {\n dateInput: parseLuxonYearMonthFormats,\n timeInput: ['HH:mm'],\n },\n display: {\n dateInput: 'LL/yyyy',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DDD',\n monthYearA11yLabel: 'LLLL yyyy',\n timeInput: 'HH:mm',\n timeOptionLabel: 'HH:mm',\n },\n};\n\nexport const ONEMRVA_MAT_LUXON_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: parseLuxonDateFormat,\n timeInput: ['HH:mm'],\n },\n display: {\n dateInput: 'dd/LL/yyyy',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DDD',\n monthYearA11yLabel: 'LLL yyyy',\n timeInput: 'HH:mm',\n timeOptionLabel: 'HH:mm',\n },\n};\n","import { InjectionToken } from '@angular/core';\n\nexport const CDN_URL_MODE = new InjectionToken<string>(\n 'This is cdn url that will be used (val/prod)',\n);\n","import { InjectionToken } from '@angular/core';\nimport { LOOKUP_COUNTRY_URL, ONEMRVA_THEME } from '../constants';\n\nexport const LOOKUP_COUNTRY_SERVICE_URL = new InjectionToken<string>(\n 'LOOKUP_COUNTRY_SERVICE_URL',\n {\n providedIn: 'root',\n factory: () => LOOKUP_COUNTRY_URL,\n },\n);\n\nexport const ONEMRVA_THEME_CLASS = new InjectionToken<string>(\n 'ONEMRVA_THEME_CLASS',\n {\n providedIn: 'root',\n factory: () => ONEMRVA_THEME,\n },\n);\n","/**\n * @license\n * Copyright 2025 OneMRVA\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport { inject, Injectable, OnDestroy } from '@angular/core';\nimport { Platform, _isTestEnvironment } from '@angular/cdk/platform';\nimport { ONEMRVA_THEME_CLASS } from '../tokens/inject.token';\n\n/** Container inside which all overlays will render. */\n@Injectable({ providedIn: 'root' })\nexport class WebComponentOverlayContainer implements OnDestroy {\n protected _containerElement: HTMLElement | null = null;\n private _themeObserver: MutationObserver | null = null;\n\n private platform = inject(Platform);\n private _document = inject(DOCUMENT);\n private themeClass = inject(ONEMRVA_THEME_CLASS);\n\n ngOnDestroy() {\n this._containerElement?.remove();\n this._themeObserver?.disconnect();\n }\n\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement(): HTMLElement | null {\n if (this._containerElement === null) {\n this._createContainer();\n }\n\n return this._containerElement;\n }\n\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n protected _createContainer(): void {\n const containerClass = 'cdk-overlay-container';\n\n if (this.platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(\n `.${containerClass}[platform=\"server\"], ` +\n `.${containerClass}[platform=\"test\"]`,\n );\n\n oppositePlatformContainers.forEach(platform => {\n platform.remove();\n });\n }\n\n const containerwrap = this._document.createElement('div');\n containerwrap.classList.add(this.themeClass);\n\n const themeElements = this._document.querySelectorAll(\n `.${this.themeClass}`,\n );\n const existingThemeElement = Array.from(themeElements).find(\n el => el !== containerwrap,\n );\n\n if (existingThemeElement) {\n if (existingThemeElement.classList.contains('dark-theme')) {\n containerwrap.classList.add('dark-theme');\n } else if (existingThemeElement.classList.contains('light-theme')) {\n containerwrap.classList.add('light-theme');\n }\n }\n\n this._themeObserver = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'class'\n ) {\n const target = mutation.target as HTMLElement;\n if (\n target.classList.contains(this.themeClass) &&\n target !== containerwrap\n ) {\n containerwrap.classList.remove('dark-theme', 'light-theme');\n if (target.classList.contains('dark-theme')) {\n containerwrap.classList.add('dark-theme');\n } else if (target.classList.contains('light-theme')) {\n containerwrap.classList.add('light-theme');\n }\n }\n }\n });\n });\n\n if (existingThemeElement) {\n this._themeObserver.observe(existingThemeElement, {\n attributes: true,\n attributeFilter: ['class'],\n });\n }\n\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n } else if (!this.platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n\n containerwrap.appendChild(container);\n this._document.body.appendChild(containerwrap);\n this._containerElement = container;\n }\n}\n","import {\n filter,\n finalize,\n merge,\n NEVER,\n Observable,\n Subject,\n tap,\n shareReplay,\n startWith,\n switchMap,\n BehaviorSubject,\n take,\n catchError,\n} from 'rxjs';\n\ntype HttpRequestCacheMethod = (...args: any[]) => Observable<any>;\n\nexport class DefaultStorage implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n\nexport interface HttpCacheStorage {\n setItem(key: string, item: Observable<any>): void;\n getItem(key: string): Observable<null> | undefined;\n deleteItem(key: string): void;\n}\n\nexport interface HttpCacheOptions {\n refCount?: boolean;\n windowTime?: number;\n ttl?: number;\n storage?: HttpCacheStorage;\n refreshOn?: Observable<unknown> | Subject<unknown> | BehaviorSubject<unknown>;\n}\n\nexport class RequestTimes implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n\nexport const HttpRequestCache = <T extends Record<string, any>>(\n optionsHandler?: (obj: T, ...args: any[]) => HttpCacheOptions,\n) => {\n return (\n target: T,\n methodName: string,\n descriptor: TypedPropertyDescriptor<HttpRequestCacheMethod>,\n ): TypedPropertyDescriptor<HttpRequestCacheMethod> => {\n if (!(descriptor?.value instanceof Function)) {\n throw Error(\n `'@HttpRequestCache' can be applied only to the class method which returns an Observable`,\n );\n }\n\n const cacheKeyPrefix = `${target.constructor.name}_${methodName}`;\n const originalMethod = descriptor.value;\n const working: Record<string, boolean> = {};\n let subscribers = 0;\n\n descriptor.value = function (...args: any[]): Observable<any> {\n const options = optionsHandler?.call(this as T, this as T, ...args);\n\n if (!options?.storage && !(target as any)._____storage_____) {\n (target as any)._____storage_____ = new DefaultStorage();\n }\n\n if (options?.ttl && !(target as any)._____ttl_storage_____) {\n (target as any)._____ttl_storage_____ = new RequestTimes();\n }\n\n const storage = options?.storage ?? (target as any)._____storage_____;\n\n const key = `${cacheKeyPrefix}_${JSON.stringify(args)}`;\n\n let ttl: { requestTime: number; subject: Subject<void> } =\n undefined as any;\n\n if (options?.ttl) {\n ttl = (target as any)._____ttl_storage_____.getItem(key);\n\n if (!ttl) {\n ttl = {\n requestTime: Date.now(),\n subject: new Subject(),\n };\n } else if (ttl.requestTime + options.ttl <= Date.now()) {\n working[key] = true;\n ttl.requestTime = Date.now();\n ttl.subject.next();\n }\n\n (target as any)._____ttl_storage_____.setItem(key, ttl);\n }\n\n const refreshOn = merge(\n options?.refreshOn ?? (NEVER as Observable<unknown>),\n ttl?.subject ?? (NEVER as Observable<unknown>),\n );\n\n return storage.getItem(key).pipe(\n take(1),\n tap(value => {\n subscribers++;\n if (value === null) throw '';\n }),\n catchError(() => {\n const observable = refreshOn.pipe(\n startWith(true),\n switchMap(() => originalMethod.apply(this, [...args])),\n tap(() => {\n delete working[key];\n }),\n shareReplay({\n bufferSize: 1,\n refCount: options?.refCount ?? false,\n windowTime: options?.windowTime ?? Infinity,\n }),\n filter(() => {\n return !working[key];\n }),\n finalize(() => {\n subscribers--;\n if (subscribers === 0 && options?.refCount) {\n storage.deleteItem(key);\n (target as any)._____ttl_storage_____?.deleteItem(key);\n }\n }),\n );\n storage.setItem(key, observable);\n return observable;\n }),\n );\n\n // let observable = storage.getItem(key);\n //\n // if (!observable) {\n //\n // observable = refreshOn.pipe(\n // startWith(true),\n // switchMap(() => originalMethod.apply(this, [...args])),\n // tap(() => {\n // delete working[key];\n // }),\n // shareReplay({\n // bufferSize: 1,\n // refCount: options?.refCount ?? false,\n // windowTime: options?.windowTime ?? Infinity,\n // }),\n // filter(() => {\n // return !working[key];\n // }),\n // finalize(() => {\n // subscribers--;\n // if (subscribers === 0 && options?.refCount) {\n // storage.deleteItem(key);\n // (target as any)._____ttl_storage_____?.deleteItem(key);\n // }\n // })\n // );\n // storage.setItem(key, observable);\n // }\n\n // subscribers++;\n\n // return observable;\n };\n\n return descriptor;\n };\n};\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[digitOnly]',\n standalone: true,\n host: {\n '(keydown)': 'onKeyDown($event)',\n },\n})\nexport class DigitOnlyDirective {\n protected onKeyDown(event: KeyboardEvent): void {\n const allowedKey = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '.',\n ',',\n ' ',\n 'Backspace',\n 'Delete',\n 'Tab',\n '-',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n\n if (allowedKey.includes(event.key)) return;\n\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (event.ctrlKey && allowedCtrlShortcuts.includes(event.key)) return;\n\n event.preventDefault();\n }\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector:\n 'onemrva-mat-selectable-box[color],' +\n 'div[color],' +\n 'onemrva-mat-avatar[color],' +\n 'mat-card[color],' +\n 'mat-toolbar[color],' +\n 'onemrva-mat-spinner[color],' +\n 'onemrva-mat-notification[color],' +\n 'onemrva-mat-task-list[color],' +\n 'onemrva-mat-sticker[color],' +\n 'onemrva-mat-panel[color],' +\n 'onemrva-mat-task[color],' +\n 'onemrva-mat-choice-chip[color],' +\n 'mat-form-field[color],' +\n 'button[color],' +\n 'mat-icon[color],' +\n 'mat-chip[color],' +\n 'mat-chip-option[color]' +\n 'mat-hint[color],',\n standalone: true,\n host: {\n '[class.mat-primary]': 'isPrimary()',\n '[class.mat-accent]': 'isAccent()',\n '[class.mat-error]': 'isError()',\n '[class.mat-warn]': 'isWarn()',\n '[class.mat-success]': 'isSuccess()',\n '[class.mat-info]': 'isInfo()',\n '[class.mat-neutral]': 'isNeutral()',\n },\n})\nexport class OnemRvaColorDirective {\n readonly color = input<OnemrvaMatColor>('');\n\n protected readonly isPrimary = computed(\n () => this.color() === OnemrvaMatColor.PRIMARY,\n );\n protected readonly isAccent = computed(\n () => this.color() === OnemrvaMatColor.ACCENT,\n );\n protected readonly isError = computed(\n () => this.color() === OnemrvaMatColor.ERROR,\n );\n protected readonly isWarn = computed(\n () => this.color() === OnemrvaMatColor.WARN,\n );\n protected readonly isSuccess = computed(\n () => this.color() === OnemrvaMatColor.SUCCESS,\n );\n protected readonly isInfo = computed(\n () => this.color() === OnemrvaMatColor.INFO,\n );\n protected readonly isNeutral = computed(\n () => this.color() === OnemrvaMatColor.NEUTRAL,\n );\n}\n","import { Directive, input, output, computed } from '@angular/core';\nimport { OnemRvaColorDirective } from './color.directive';\n\n@Directive({\n selector: 'tr[matRowClickable]',\n standalone: true,\n host: {\n '[class.clickable]': '_isClickable()',\n '[class.onemrva-clickable-row]': 'true',\n '(click)': 'click()',\n },\n})\nexport class MatRowClickableDirective extends OnemRvaColorDirective {\n readonly matRowClickable = output<void>();\n\n readonly clickable = input(true);\n\n readonly _isClickable = computed(() => this.clickable());\n\n click() {\n if (!this.clickable()) return;\n this.matRowClickable.emit();\n }\n}\n","import {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\nimport {\n Directive,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n inject,\n input,\n} from '@angular/core';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: '[ifWidthIs]',\n standalone: true,\n})\nexport class IfWidthIsDirective implements OnInit {\n breakpointObserver = inject(BreakpointObserver);\n private _templateRef = inject<TemplateRef<any>>(TemplateRef);\n private _viewContainer = inject(ViewContainerRef);\n\n readonly ifWidthIs =\n input.required<(typeof Breakpoints)[keyof typeof Breakpoints][]>();\n\n ngOnInit() {\n this.breakpointObserver\n .observe([...this.ifWidthIs()])\n .subscribe((state: BreakpointState) => {\n this._viewContainer.clear();\n if (state.matches) {\n this._viewContainer.createEmbeddedView(this._templateRef);\n }\n });\n }\n}\n","import { Directive, ElementRef, inject, input } from '@angular/core';\n\nconst UNDO_STACK_MAX_LENGTH = 50;\n\n/**\n * 0: digits\n * A: letters (uppercase or lowercase) and digits\n * S: only letters (uppercase or lowercase)\n * U: only letters uppercase\n * L: only letters lowercase\n */\n\n@Directive({\n selector: '[onemrvamask]',\n standalone: true,\n host: {\n '(keydown)': 'onKeyDown($event)',\n '(input)': 'onInput($event)',\n },\n})\nexport class OnemrvaMaskDirective {\n private el = inject(ElementRef);\n\n readonly onemrvamask = input.required<string>();\n\n private inputStack: string[] = ['']; // Stack for undo/redo\n private stackIdx = 0; // Current index in undo/redo stack\n\n markForDelete = false;\n\n onKeyDown(event: KeyboardEvent) {\n // Allow functional keystrokes\n const e = event as KeyboardEvent;\n\n let specialKeys = [\n 'Tab',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n if (specialKeys.indexOf(e.key) >= 0) return;\n\n specialKeys = ['Backspace', 'Delete'];\n if (specialKeys.indexOf(e.key) >= 0) {\n this.markForDelete = true;\n return;\n }\n\n // Undo\n if (e.ctrlKey && 'z' === e.key && this.stackIdx > 0) {\n this.stackIdx--;\n this.el.nativeElement.value = this.inputStack[this.stackIdx];\n event.preventDefault();\n }\n\n // Redo\n if (\n e.ctrlKey &&\n 'u' === e.key &&\n this.stackIdx < this.inputStack.length - 1\n ) {\n this.stackIdx++;\n this.el.nativeElement.value = this.inputStack[this.stackIdx];\n event.preventDefault();\n }\n\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (e.ctrlKey && allowedCtrlShortcuts.indexOf(e.key) >= 0) return;\n }\n\n onInput(event: any) {\n const selectionStart = event.target?.selectionStart;\n\n /*\n * Step 1\n * This block lets a delete execution if the new value is compliant.\n * There are 2 deletion cases, after which the new value is not compliant\n * - dd/MX/yyyy: X is deleted, then the date becomes dd/M/yyyy\n * This case is resolved by step 2 and the date will become: dd/My/yyy\n * - dd/MMXyyyy: the last '/' is deleted, then the date becomes dd/MMyyyy\n * In this particular case, step 2 will automatically add the missing slash, so the date will remain dd/MM/yyyy\n * The issue is that the caret position will remain stuck where it was, so if the user keeps hitting the delete key, nothing will change at all. This is resolved in step 4 by moving the caret to the left\n */\n if (this.markForDelete) {\n const isCompliantAfterDeletion =\n [...this.el.nativeElement.value].findIndex((char, idx) => {\n const rule = this.onemrvamask()[idx];\n\n if (rule === null || rule === undefined) return true;\n\n if (isNaN(char) && char.toLowerCase() === char.toUpperCase())\n return char !== rule;\n\n return !isAllowed(rule, char);\n }) < 0;\n\n if (isCompliantAfterDeletion) {\n this.markForDelete = false;\n return;\n }\n }\n\n // Step 2\n const compliantValue = [...this.el.nativeElement.value]\n .filter(char => isAllowed('A', char)) // Necessary when several special char in a row\n .reduce((newValue, char) => {\n let idx = newValue.length;\n const rule = this.onemrvamask()[idx];\n\n if (rule === null || rule === undefined) return newValue;\n\n newValue = !isAllowed(rule, char) ? newValue : newValue + char;\n\n // Add all trailing special characters\n let nextRule = this.onemrvamask()[++idx];\n let i = 0;\n\n while (\n nextRule !== null &&\n nextRule !== undefined &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n i++;\n newValue += nextRule;\n nextRule = this.onemrvamask()[++idx];\n\n if (i > 50) break;\n }\n\n return newValue;\n }, '');\n\n this.el.nativeElement.value = compliantValue;\n\n // Step 3 - Find the new cursor position. If the last new character is just before special character, move the caret after\n let idx = selectionStart;\n let nextRule = this.onemrvamask()[idx];\n while (\n nextRule !== null &&\n nextRule !== undefined &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n idx++;\n nextRule = this.onemrvamask()[idx];\n if (\n nextRule !== null &&\n nextRule &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n /* empty */\n } else break;\n }\n\n // Step 4 - Update inputStack only when all characters are processed\n if (compliantValue !== this.inputStack[this.stackIdx]) {\n this.stackIdx++;\n\n const stack =\n this.stackIdx > UNDO_STACK_MAX_LENGTH - 1\n ? this.inputStack.slice(1)\n : this.inputStack.splice(0, this.stackIdx);\n this.stackIdx =\n this.stackIdx > UNDO_STACK_MAX_LENGTH - 1\n ? UNDO_STACK_MAX_LENGTH - 1\n : this.stackIdx;\n\n this.inputStack = [...stack, compliantValue];\n\n this.el.nativeElement.setSelectionRange(idx, idx);\n } else {\n if (this.markForDelete) {\n let i = idx - 1;\n /* Finds the last rule character before the special character.\n * e.g: (nnn)/nnnn\n * If the user tries to delete '/', the caret will move just before ')'\n */\n while (i > 0) {\n const previousRule = this.onemrvamask()[i - 1];\n if (['0', 'A', 'S', 'U', 'L'].indexOf(previousRule) < 0) {\n i--;\n } else break;\n }\n this.el.nativeElement.setSelectionRange(i, i);\n }\n }\n this.markForDelete = false;\n }\n}\n\nfunction isAllowed(rule: string, character: string) {\n switch (rule) {\n // Any digit\n case '0':\n if (character === ' ') return false;\n return !isNaN(+character);\n\n // A: letters (uppercase or lowercase) and digits\n case 'A':\n if (character === ' ') return false;\n return (\n !isNaN(+character) || character.toLowerCase() != character.toUpperCase()\n );\n\n // only letters (uppercase or lowercase)\n case 'S':\n return character.toLowerCase() != character.toUpperCase();\n\n // only uppercase letters\n case 'U':\n return (\n character.toLowerCase() != character.toUpperCase() &&\n character === character.toUpperCase()\n );\n\n // only lowercase letters\n case 'L':\n return (\n character.toLowerCase() != character.toUpperCase() &&\n character === character.toLowerCase()\n );\n }\n\n return false;\n}\n","import {\n AfterViewInit,\n ComponentRef,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n signal,\n ViewContainerRef,\n} from '@angular/core';\nimport { ClipboardIconComponent } from '../components/clipboard-icon/clipboard-icon.component';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: 'span[clipboard]',\n standalone: true,\n host: {\n '[class]': 'hostClass()',\n role: 'button',\n tabindex: '0',\n '[attr.aria-label]': '\"Copy to clipboard\"',\n },\n})\nexport class OnemRvaClipboardDirective implements AfterViewInit {\n private readonly elementRef = inject(ElementRef<HTMLSpanElement>);\n private readonly vcRef = inject(ViewContainerRef);\n private readonly destroyRef = inject(DestroyRef);\n\n readonly clipboard = input.required<string>();\n protected readonly hostClass = signal('');\n\n private iconRef: ComponentRef<ClipboardIconComponent> | null = null;\n\n constructor() {\n this.destroyRef.onDestroy(() => {\n this.iconRef?.destroy();\n this.iconRef = null;\n });\n }\n\n ngAfterViewInit(): void {\n this.initializeClipboardIcon();\n }\n\n private initializeClipboardIcon(): void {\n this.vcRef.clear();\n this.iconRef = this.vcRef.createComponent(ClipboardIconComponent);\n const iconElement = this.iconRef.location.nativeElement as HTMLElement;\n this.elementRef.nativeElement.appendChild(iconElement);\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'button[iconRight]',\n standalone: true,\n host: {\n class: 'onemrva-icon-right',\n },\n})\nexport class OnemRvaIconRightDirective {}\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[onemrvaDateFormat]',\n standalone: true,\n host: {\n '(paste)': 'onPaste($event)',\n '(cut)': 'onCut($event)',\n '(focus)': 'onFocus()',\n '(click)': 'onClick()',\n '(keydown)': 'onKeyDown($event)',\n '(blur)': 'onBlur()',\n },\n})\nexport class OnemrvaDateFormatDirective {\n private readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n private readonly template = '__/__/____';\n\n protected onPaste(event: ClipboardEvent): void {\n const input = this.el.nativeElement;\n const pasted = event.clipboardData?.getData('text/plain') || '';\n const digitsOnly = pasted.replace(/\\D/g, '');\n\n if (!digitsOnly) {\n event.preventDefault();\n return;\n }\n\n event.preventDefault();\n\n let pos = input.selectionStart ?? 0;\n const chars = input.value.split('');\n let digitIndex = 0;\n\n while (pos < this.template.length && digitIndex < digitsOnly.length) {\n if (this.template[pos] === '/') {\n pos++;\n continue;\n }\n chars[pos] = digitsOnly[digitIndex++];\n pos++;\n }\n\n input.value = chars.join('');\n this.emitInputEvent(input);\n this.setCaretToNextEditable(pos);\n }\n\n protected onCut(event: ClipboardEvent): void {\n const input = this.el.nativeElement;\n const start = input.selectionStart ?? 0;\n const end = input.selectionEnd ?? 0;\n const cutText = input.value.substring(start, end);\n\n const chars = input.value.split('');\n for (let i = start; i < end; i++) {\n if (this.template[i] !== '/') {\n chars[i] = '_';\n }\n }\n\n input.value = chars.join('');\n this.emitInputEvent(input);\n this.setCaretToNextEditable(start);\n event.preventDefault();\n\n if (event.clipboardData) {\n event.clipboardData.setData('text/plain', cutText.replace(/\\//g, ''));\n }\n }\n\n protected onFocus(): void {\n const input = this.el.nativeElement;\n if (!input.value || input.value === this.template) {\n input.value = this.template;\n }\n this.setCaretToNextEditable(0);\n }\n\n protected onClick(): void {\n const input = this.el.nativeElement;\n const selectionStart = input.selectionStart ?? 0;\n const selectionEnd = input.selectionEnd ?? 0;\n\n if (selectionStart === selectionEnd) {\n if (input.value === this.template) {\n this.setCaretToNextEditable(0);\n } else {\n this.setCaretToNextEditable(selectionStart);\n }\n }\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n const input = this.el.nativeElement;\n let pos = input.selectionStart ?? 0;\n\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (event.ctrlKey && allowedCtrlShortcuts.includes(event.key)) {\n if (event.key === 'x' && input.value === '') {\n input.value = this.template;\n this.emitInputEvent(input);\n }\n return;\n }\n\n if (['ArrowLeft', 'ArrowRight', 'Tab'].includes(event.key)) return;\n\n if (event.key === 'Backspace' || event.key === 'Delete') {\n event.preventDefault();\n const start = input.selectionStart ?? 0;\n const end = input.selectionEnd ?? start;\n\n if (end > start) {\n const chars = input.value.split('');\n for (let i = start; i < end; i++) {\n if (this.template[i] !== '/') {\n chars[i] = '_';\n }\n }\n input.value = chars.join('');\n this.emitInputEvent(input);\n this.setCaretToNextEditable(start);\n return;\n }\n\n let pos = start;\n\n if (event.key === 'Backspace' && pos > 0) {\n do {\n pos--;\n } while (this.template[pos] === '/' && pos > 0);\n\n this.replaceCharAt(input, pos, '_');\n this.emitInputEvent(input);\n this.setCaretToNextEditable(pos);\n return;\n }\n\n if (event.key === 'Delete' && pos < this.template.length) {\n while (this.template[pos] === '/' && pos < this.template.length) {\n pos++;\n }\n this.replaceCharAt(input, pos, '_');\n this.emitInputEvent(input);\n this.setCaretToNextEditable(pos);\n return;\n }\n }\n\n if (['/', '.', '-', ' '].includes(event.key)) {\n event.preventDefault();\n\n if (pos === 1 || pos === 4) {\n const currentVal = input.value.substring(pos - 1, pos);\n if (!currentVal.includes('_')) {\n this.replaceCharAt(input, pos - 1, '0');\n this.replaceCharAt(input, pos, currentVal);\n this.setCaretToNextEditable(pos + 2);\n return;\n }\n }\n return;\n }\n\n if (event.key === 'Backspace') {\n event.preventDefault();\n if (pos === 0) return;\n\n do {\n pos--;\n } while (this.template[pos] === '/' && pos > 0);\n\n this.replaceCharAt(input, pos, '_');\n this.setCaretToNextEditable(pos);\n this.emitInputEvent(input);\n return;\n }\n\n if (!/^\\d$/.test(event.key)) {\n event.preventDefault();\n return;\n }\n\n if (pos >= this.template.length) {\n event.preventDefault();\n return;\n }\n\n while (this.template[pos] === '/' && pos < this.template.length) {\n pos++;\n }\n\n this.replaceCharAt(input, pos, event.key);\n event.preventDefault();\n this.setCaretToNextEditable(pos + 1);\n this.emitInputEvent(input);\n }\n\n protected onBlur(): void {\n const input = this.el.nativeElement;\n if (input.value === this.template) {\n input.value = '';\n this.emitInputEvent(input); // lets MatDatepickerInput set the control to null\n }\n }\n\n private emitInputEvent(input: HTMLInputElement): void {\n input.dispatchEvent(new Event('input', { bubbles: true }));\n }\n\n private replaceCharAt(\n input: HTMLInputElement,\n index: number,\n char: string,\n ): void {\n const value = input.value.split('');\n value[index] = char;\n input.value = value.join('');\n }\n\n private setCaretToNextEditable(pos: number): void {\n const input = this.el.nativeElement;\n while (this.template[pos] === '/' && pos < this.template.length) {\n pos++;\n }\n input.setSelectionRange(pos, pos);\n }\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector:\n 'form[readonly], ' +\n 'mat-checkbox[readonly], ' +\n 'mat-radio-group[readonly], ' +\n 'mat-form-field[readonly], ' +\n 'onemrva-mat-input-phone[readonly],' +\n 'onemrva-mat-task-list[readonly],' +\n 'onemrva-mat-selectable-box[readonly],' +\n 'onemrva-mat-choice-chip[readonly],' +\n 'onemrva-mat-input-birthplace[readonly],' +\n 'onemrva-mat-input-country[readonly],' +\n 'onemrva-mat-input-enterprise-number[readonly]',\n standalone: true,\n host: {\n '[class.onemrva-readonly]': 'isReadOnly()',\n },\n})\nexport class OnemRvaReadonlyDirective {\n readonly = input(true);\n protected readonly isReadOnly = computed(() => this.readonly());\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { OnemrvaMatSize } from '@onemrvapublic/design-system/utils';\n\n@Directive({\n selector:\n 'mat-icon[size], onemrva-mat-skeleton[size], onemrva-mat-avatar[size], button[size]',\n standalone: true,\n host: {\n '[class.xsmall]': 'isXSmall()',\n '[class.small]': 'isSmall()',\n '[class.large]': 'isLarge()',\n '[class.xlarge]': 'isXLarge()',\n '[class.xxlarge]': 'isXXLarge()',\n },\n})\nexport class OnemRvaSizeDirective {\n readonly size = input<OnemrvaMatSize>('');\n\n protected readonly isXSmall = computed(\n () => this.size() === OnemrvaMatSize.XSMALL,\n );\n protected readonly isSmall = computed(\n () => this.size() === OnemrvaMatSize.SMALL,\n );\n protected readonly isLarge = computed(\n () => this.size() === OnemrvaMatSize.LARGE,\n );\n protected readonly isXLarge = computed(\n () => this.size() === OnemrvaMatSize.XLARGE,\n );\n protected readonly isXXLarge = computed(\n () => this.size() === OnemrvaMatSize.XXLARGE,\n );\n}\n","import { DigitOnlyDirective } from './digit-only.directive';\nimport { MatRowClickableDirective } from './mat-row-clickable.directive';\nimport { IfWidthIsDirective } from './if-width-is.directive';\nimport { OnemRvaColorDirective } from './color.directive';\nimport { OnemrvaMaskDirective } from './mask.directive';\nimport { OnemRvaClipboardDirective } from './clipboard.directive';\nimport { OnemRvaIconRightDirective } from './iconRight.directive';\nimport { OnemrvaDateFormatDirective } from './date-format.directive';\nimport { OnemRvaReadonlyDirective } from './readonly-directive';\n\nexport const directives: any[] = [\n DigitOnlyDirective,\n MatRowClickableDirective,\n OnemRvaClipboardDirective,\n OnemRvaIconRightDirective,\n IfWidthIsDirective,\n OnemRvaColorDirective,\n OnemrvaMaskDirective,\n OnemrvaDateFormatDirective,\n OnemRvaReadonlyDirective,\n];\n\nexport * from './digit-only.directive';\nexport * from './mat-row-clickable.directive';\nexport * from './if-width-is.directive';\nexport * from './color.directive';\nexport * from './mask.directive';\nexport * from './clipboard.directive';\nexport * from './iconRight.directive';\nexport * from './date-format.directive';\nexport * from './size.directive';\nexport * from './readonly-directive';\n","import { TranslateService } from '@ngx-translate/core';\n\n/**\n * Get language from local storage or browser.\n *\n * @param translateService\n * @param languages\n * @param default_language\n */\nexport function setTranslationLanguage(\n translateService: TranslateService,\n languages = ['en', 'fr', 'nl', 'de'],\n default_language = 'en',\n) {\n return async () => {\n translateService.onLangChange.subscribe(value => {\n localStorage.setItem('language', value.lang);\n });\n translateService.addLangs(languages);\n let language: string | null = localStorage.getItem('language');\n if (language === null || languages.indexOf(language) < 0) {\n // getting language from browser\n if (languages.indexOf(navigator.language) >= 0) {\n language = navigator.language;\n } else {\n // getting language from one of the browser's languages\n for (const lng of navigator.languages) {\n if (languages.indexOf(lng) >= 0) {\n language = lng;\n break;\n }\n }\n // getting default language\n if (language === null || languages.indexOf(language) < 0) {\n language = default_language;\n }\n }\n }\n await translateService.use(language).toPromise();\n };\n}\n\n/**\n * Get language from WO\n *\n * @param translateService\n * @param languages\n * @param default_language\n */\nexport function setTranslationLanguageFromWO(\n translateService: TranslateService,\n languages = ['fr', 'nl'],\n default_language = 'fr',\n) {\n return async () => {\n translateService.addLangs(languages);\n let language: string | null = localStorage.getItem(\n 'be_social_security_workenv_language',\n );\n if (language !== null) {\n language = language.toLowerCase();\n if (languages.indexOf(language) >= 0) {\n await translateService.use(language).toPromise();\n return;\n }\n }\n await translateService.use(default_language).toPromise();\n };\n}\n","import { Observable } from 'rxjs';\nimport { TranslateLoader } from '@ngx-translate/core';\nimport { OnemRvaCDNService } from '../services';\n\nexport class OnemrvaTranslateCDNLoader implements TranslateLoader {\n constructor(\n private cdn: OnemRvaCDNService,\n public projects: string[] = [],\n public prefix = '/i18n/',\n public suffix = '.json',\n ) {}\n\n /**\n * Gets the translations from the server\n */\n public getTranslation(lang: string): Observable<any> {\n return this.cdn.getTranslations(\n this.projects,\n lang,\n this.prefix,\n this.suffix,\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { TranslateLoader } from '@ngx-translate/core';\n\nexport class OnemrvaTranslateHttpLoader implements TranslateLoader {\n constructor(\n private http: HttpClient,\n public prefix = '/assets/i18n/',\n public suffix = '.json',\n public modules: string[] = [],\n ) {}\n\n /**\n * Gets the translations from the server\n */\n public getTranslation(lang: string): Observable<any> {\n const observables = [\n this.http\n .get(`${this.prefix}${lang}${this.suffix}`)\n .pipe(catchError(() => of(null))),\n ...this.modules.map(m => {\n this.http\n .get(`${this.prefix}${m}/${lang}${this.suffix}`)\n .pipe(catchError(() => of(null)));\n //console.log(`${this.prefix}${m}/${lang}${this.suffix}`);\n }),\n ];\n\n return forkJoin(observables).pipe(\n map(all => {\n return all.filter(v => !!v).reduce((s, c) => ({ ...s, ...c }), {});\n }),\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'onemrvaBce',\n standalone: true,\n})\nexport class OnemrvaBcePipe implements PipeTransform {\n transform(value: string): string {\n const strOut = value.trim().replace(/\\/|\\.|-/g, '');\n\n if (strOut.length !== 10) return '?01?.???.???';\n\n return `${strOut.substring(0, 4)}.${strOut.substring(\n 4,\n 7,\n )}.${strOut.substring(7, 10)}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'onemrvaNiss',\n standalone: true,\n})\nexport class OnemrvaNissPipe implements PipeTransform {\n transform(value: string): string {\n const strOut = value.trim().replace(/\\/|\\.|-/g, '');\n\n if (strOut.length !== 11) return '??01??/???-??';\n\n return `${strOut.substring(0, 6)}/${strOut.substring(\n 6,\n 9,\n )}-${strOut.substring(9, 11)}`;\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport {\n Observable,\n map,\n ReplaySubject,\n skip,\n distinctUntilChanged,\n} from 'rxjs';\nimport { OnemRvaCommonCountry } from '../interfaces';\nimport { LOOKUP_COUNTRY_SERVICE_URL } from '../tokens/inject.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CommonCountryLookupService {\n protected _countries$ = new ReplaySubject<OnemRvaCommonCountry[]>(1);\n protected _customersInitialized = false;\n\n public http = inject(HttpClient);\n private commonCountryServiceURL = inject(LOOKUP_COUNTRY_SERVICE_URL);\n\n public getCountries(refresh = false): Observable<OnemRvaCommonCountry[]> {\n if (refresh || !this._customersInitialized) {\n this._customersInitialized = true;\n this.http\n .get<OnemRvaCommonCountry[]>(this.commonCountryServiceURL)\n .subscribe(countries => {\n this._countries$.next(countries);\n });\n }\n\n return this._countries$.pipe(skip(+refresh), distinctUntilChanged());\n }\n\n public getCountryByCode(code: string | null) {\n return this._countries$.pipe(\n map(countries => {\n const country = countries.find(country => country.code === code);\n\n return country || null;\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpCacheStorage } from '../decorators/HttpCacheDecorator';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CacheService implements HttpCacheStorage {\n setItem(key: string, item: Observable<any>): void {\n //console.log(\"SET \" + key);\n item.subscribe(value => {\n localStorage.setItem(key, JSON.stringify(value));\n });\n }\n\n public getItem(key: string): Observable<any> {\n const r = localStorage.getItem(key);\n if (r === null) {\n return of(null);\n }\n return of(JSON.parse(r));\n }\n\n deleteItem(key: string): void {\n //console.log(\"DELETE \" + key);\n localStorage.removeItem(key);\n }\n}\n","import { Injectable, Renderer2, RendererFactory2, inject } from '@angular/core';\nimport { CDN_URL_MODE, CDN_URLS } from '../constants';\nimport { CDNUrlModeOptions } from '../constants';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map } from 'rxjs/operators';\nimport { HttpRequestCache } from '../decorators';\nimport { CacheService } from './cache.service';\nimport { forkJoin, Observable, of, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNService {\n private rendererFactory = inject(RendererFactory2);\n private cacheService = inject(CacheService);\n private http = inject(HttpClient);\n\n private readonly cdnUrl: string;\n public refresh$ = new Subject();\n private renderer: Renderer2;\n\n constructor() {\n const cdnUrlMode = inject<CDNUrlModeOptions>(CDN_URL_MODE, {\n optional: true,\n });\n\n this.renderer = this.rendererFactory.createRenderer(null, null);\n switch (cdnUrlMode) {\n case CDNUrlModeOptions.PROD:\n this.cdnUrl = CDN_URLS.prod;\n break;\n case CDNUrlModeOptions.VAL:\n this.cdnUrl = CDN_URLS.val;\n break;\n default:\n this.cdnUrl = CDN_URLS.prod;\n }\n const linkElement = this.renderer.createElement('link');\n\n // Set the attributes\n this.renderer.setAttribute(linkElement, 'rel', 'preconnect');\n this.renderer.setAttribute(linkElement, 'href', this.cdnUrl);\n\n // Append the <link> element to the <head>\n this.renderer.appendChild(document.head, linkElement);\n }\n\n public getUrl(path = '') {\n return this.cdnUrl + path;\n }\n\n public getImg(path = '') {\n return this.getUrl('/img/' + path);\n }\n\n public getOri(path = '') {\n return this.getImg('ori/' + path);\n }\n\n @HttpRequestCache<OnemRvaCDNService>(cdnService => ({\n refreshOn: cdnService.refresh$,\n storage: cdnService.cacheService,\n ttl: 3600000,\n }))\n public fetch(endpoint: string) {\n return this.http.get(this.cdnUrl + endpoint);\n }\n\n public fetchNoCache(endpoint: string) {\n return this.http.get(this.cdnUrl + endpoint);\n }\n\n public getTranslations(\n projects: string[],\n lang: string,\n prefix = '',\n suffix = '',\n ): Observable<any> {\n const observables = [\n this.http\n .get(\n `${this.cdnUrl}${prefix}design-system/design-system/${lang}${suffix}`,\n )\n .pipe(catchError(() => of({}))),\n ...projects.map(m => {\n return this.http\n .get(`${this.cdnUrl}${prefix}${m}/${lang}${suffix}`)\n .pipe(\n catchError(() => {\n return of({});\n }),\n );\n }),\n ];\n\n return forkJoin(observables).pipe(\n map(all => {\n return all.filter(v => !!v).reduce((s, c) => ({ ...s, ...c }), {});\n }),\n );\n }\n\n /**\n * Loads a CSS file dynamically into the document head.\n * @param href The URL of the CSS file.\n * @returns A promise that resolves when the CSS file is loaded.\n * //\n */\n loadCss(href: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const existingLink = document.querySelector(`link[href=\"${href}\"]`);\n if (existingLink) {\n resolve(); // CSS is already loaded\n return;\n }\n\n const link = this.renderer.createElement('link');\n this.renderer.setAttribute(link, 'rel', 'stylesheet');\n this.renderer.setAttribute(link, 'type', 'text/css');\n this.renderer.setAttribute(link, 'href', href);\n\n link.onload = () => resolve();\n link.onerror = () => reject(new Error(`Failed to load CSS: ${href}`));\n\n this.renderer.appendChild(document.head, link);\n });\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { map, startWith } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { combineLatestWith, from, Observable } from 'rxjs';\nimport { OnemRvaCDNService } from './cdn.service';\n\nexport interface OnemrvaMaterialCountry {\n code: string;\n name: string;\n dial_code: string;\n zone: string;\n pattern: string;\n placeholder: string;\n translations: {\n fr: string;\n nl: string;\n de: string;\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNCountryService {\n private cdnService = inject(OnemRvaCDNService);\n private translateService = inject(TranslateService);\n\n public getCountries(): Observable<OnemrvaMaterialCountry[]> {\n return this.cdnService.fetch('/json/countries.json').pipe(\n map(response => response as OnemrvaMaterialCountry[]), // ✅ Explicitly cast response\n combineLatestWith(\n from(this.translateService.onLangChange).pipe(\n startWith(this.translateService.currentLang ?? 'fr'),\n map(event => {\n return typeof event === 'string' ? event : event.lang;\n }), // ✅ Ensure it is always a string\n ),\n ),\n map(([response, currentLang]: [OnemrvaMaterialCountry[], string]) => {\n // ✅ Explicit type definition\n return response\n .map((country: OnemrvaMaterialCountry) => ({\n ...country,\n name: this.getTranslatedCountryName(country, currentLang),\n }))\n .sort((a, b) =>\n a.name.toLowerCase().localeCompare(b.name.toLowerCase()),\n );\n }),\n );\n }\n\n public getCountriesByZone(zone: string) {\n return this.getCountries().pipe(\n map(countries => {\n return countries.filter(country => country.zone === zone);\n }),\n );\n }\n\n public getTranslatedCountryName(\n country: OnemrvaMaterialCountry,\n languageCode: string = this.translateService.currentLang,\n ) {\n if (\n languageCode === 'fr' ||\n languageCode === 'nl' ||\n languageCode === 'de'\n ) {\n if (country.translations[languageCode] !== undefined)\n return country.translations[languageCode];\n }\n return country.name;\n }\n\n public findCountryFromCode(code: string) {\n return this.getCountries().pipe(\n map(countries => {\n return countries.find(\n (country: OnemrvaMaterialCountry) =>\n country.code.toLowerCase() === code?.toLowerCase(),\n );\n }),\n );\n }\n\n public findCountryFromVIESCode(code: any) {\n return this.getCountriesByZone('EU').pipe(\n map(countries => {\n return countries.find(\n (country: OnemrvaMaterialCountry) =>\n country.pattern.substring(0, 2) === code?.substring(0, 2),\n );\n }),\n );\n }\n\n public findCountryFromPrefix(number: string | null) {\n if (number === null) number = '';\n return this.getCountries().pipe(\n map(countries => {\n return countries.find((country: OnemrvaMaterialCountry) => {\n return (\n country.dial_code === number.substring(0, country.dial_code.length)\n );\n });\n }),\n );\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { OnemRvaCDNService } from './cdn.service';\nimport { catchError, map } from 'rxjs';\n\nexport interface MimeDefinition {\n extension: string;\n mimeType: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNMimeService {\n private cdnService = inject(OnemRvaCDNService);\n\n static mimetypeFile = '/json/mimetypes.json';\n\n public getMimesForExtension(extensions: string[]) {\n return this.cdnService.fetch(OnemRvaCDNMimeService.mimetypeFile).pipe(\n catchError(() => {\n return [];\n }),\n map(response => {\n return (response as MimeDefinition[])\n .filter(mime => {\n return extensions.includes(mime.extension);\n })\n .map(mime => {\n return mime.mimeType;\n });\n }),\n );\n }\n\n public getExtensionsForMime(mimTypes: string[]) {\n return this.cdnService.fetch(OnemRvaCDNMimeService.mimetypeFile).pipe(\n catchError(() => {\n return [];\n }),\n map(response => {\n return (response as MimeDefinition[])\n .filter(mime => {\n return mimTypes.includes(mime.mimeType);\n })\n .map(mime => {\n return mime.extension;\n });\n }),\n );\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nexport interface OSMAddress {\n house_number?: string;\n road?: string;\n village?: string;\n municipality?: string;\n county?: string;\n town?: string;\n state?: string;\n 'ISO3166-2-lvl6'?: string;\n postcode?: string;\n neighbourhood?: string;\n city_district?: string;\n city?: string;\n region?: string;\n suburb?: string;\n country?: string;\n country_code?: string;\n}\n\nexport interface OSMResult {\n place_id: number;\n licence: string;\n osm_type: string;\n osm_id: number;\n lat: string;\n lon: string;\n class: string;\n type: string;\n place_rank: number;\n importance: number;\n addresstype: string;\n name: string;\n display_name: string;\n address: OSMAddress;\n boundingbox: [string, string, string, string];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaOSMService {\n private http = inject(HttpClient);\n\n private nominatimUrl = 'https://nominatim.openstreetmap.org/search';\n\n searchAddress(\n query: string,\n countryCodes: string[] = ['be'],\n format = 'json',\n addressdetails = 1,\n limit = 10,\n ): Observable<OSMResult[]> {\n const params = new HttpParams()\n .set('q', query)\n .set('format', format)\n // .set('accept-language', 'fr') // TODO how do we manage multiple languages ??\n .set('countrycodes', countryCodes.join(','))\n .set('addressdetails', addressdetails)\n .set('limit', limit);\n\n return this.http.get<OSMResult[]>(this.nominatimUrl, { params });\n }\n}\n","import { ErrorHandler, Injectable } from '@angular/core';\n\n@Injectable()\nexport class OnemrvaErrorHandler implements ErrorHandler {\n handleError(error: any) {\n console.error(error);\n //alert(\"Error: \" + error.message);\n // this._snackBar.open(`Error: ${error.message}`, '', {\n // duration: 5000,\n // panelClass: 'mat-primary',\n // horizontalPosition: this.horizontalPosition,\n // verticalPosition: this.verticalPosition,\n // });\n }\n}\n","import {\n MissingTranslationHandler,\n MissingTranslationHandlerParams,\n} from '@ngx-translate/core';\n\nexport class OnemrvaMissingTranslationHandler implements MissingTranslationHandler {\n handle(params: MissingTranslationHandlerParams) {\n return `???${params.key}???`;\n }\n}\n","import { ValidationErrors } from '@angular/forms';\nimport { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class OnemrvaValidators {\n private static bceValidator(required = false, control: AbstractControl) {\n if (control.value === null || control.value.trim() === '') {\n return !required ? null : { bceNull: true };\n }\n\n const bceCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (bceCandidate.length !== 10)\n return { bceLengthError: { value: bceCandidate } };\n\n if (Number.isNaN(+bceCandidate)) return { bceNan: { value: bceCandidate } };\n\n return null;\n }\n\n static bce(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n return this.bceValidator(required, control);\n };\n }\n\n private static nissValidator(required = false, control: AbstractControl) {\n if (control.value === null || control.value.trim() === '') {\n return !required ? null : { nissNull: true };\n }\n\n const nissCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (nissCandidate.length !== 11) {\n return { nissLengthError: { value: nissCandidate } };\n }\n\n if (Number.isNaN(+nissCandidate)) {\n return { nissNan: { value: nissCandidate } };\n }\n\n // Niss day and year are actual values, the month can be different according to the logic below\n // [20-32] & [40-52] => foreigners & temporary NISS values\n // it is not necessary to check for the actual date to be valid\n\n const checksumValue = nissCandidate.substring(9);\n const nissNumbersToCheck = nissCandidate.substring(0, 9);\n const isValidChecksumYear1900 =\n 97 - (+nissNumbersToCheck % 97) === +checksumValue;\n const isValidChecksumYear2000 =\n 97 - (+`2${nissNumbersToCheck}` % 97) === +checksumValue;\n\n if (!isValidChecksumYear1900 && !isValidChecksumYear2000) {\n return { nissCheckDigitError: { value: nissCandidate } };\n }\n\n /*\n Below checks aren't really necessary but are here to exclude even more potential errors\n We could still improve this to include february days & 30 day months + the real potential ranges\n */\n const monthString = nissCandidate.substring(2, 4);\n const month = parseInt(monthString) - 1;\n const real_month = (parseInt(monthString) % 20) - 1;\n\n if (real_month > 11 || month > 51) {\n return { nissInvalidMonth: { value: nissCandidate } };\n }\n\n const day = +nissCandidate.substring(4, 6);\n if (day > 31) {\n return { nissInvalidDate: { value: nissCandidate } };\n }\n\n return null;\n }\n\n static niss(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n return this.nissValidator(required, control);\n };\n }\n\n static nissOrBce(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value === null || control.value.trim() === '')\n return !required ? null : { nissNull: true };\n\n const nissCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (control.value.length === 11) {\n return this.nissValidator(required, control);\n } else if (control.value.length === 10) {\n return this.bceValidator(required, control);\n }\n return { lengthError: { value: nissCandidate } };\n };\n }\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport {\n validateIBAN,\n electronicFormatIBAN,\n countrySpecs,\n ValidationErrorsIBAN,\n} from 'ibantools';\n\nexport const IBAN_SUPPORTED_COUNTRIES = Object.entries(countrySpecs)\n .filter(value => {\n return value[1].IBANRegistry;\n })\n .map(value => {\n return value[0];\n });\n\nexport const SEPA_ONLY_SUPPORTED_COUNTRIES = Object.entries(countrySpecs)\n .filter(value => {\n return value[1].SEPA;\n })\n .map(value => {\n return value[0];\n });\n\nconst internValidateIban = (iban = '') => {\n return validateIBAN(electronicFormatIBAN(iban) || undefined);\n};\n\nexport const bankAccountValidator = (allowEmptyCountry = true): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n console.log(control);\n let finalErrorCodes: number[] = [];\n if (typeof control.getRawValue() === 'string') {\n const regex = /^[a-zA-Z]{2}/;\n if (regex.test(control.getRawValue().substring(0, 2))) {\n const { valid: _valid, errorCodes } = internValidateIban(control.value);\n finalErrorCodes = errorCodes;\n } else if (!allowEmptyCountry) {\n finalErrorCodes.push(ValidationErrorsIBAN.NoIBANCountry);\n }\n } else {\n const countryCodeValue: string = control.value\n ? control.value['countryCode']\n : '';\n const bankNumber: string = control.value ? control.value['bban'] : '';\n\n if (countryCodeValue !== '') {\n const { valid: _valid, errorCodes } = internValidateIban(\n `${countryCodeValue}${bankNumber}`,\n );\n finalErrorCodes = errorCodes;\n } else if (!allowEmptyCountry) {\n //\n }\n }\n\n if (finalErrorCodes.length === 0) {\n return null;\n }\n\n const validationErrors: Record<string, { value: any }> = {};\n finalErrorCodes.forEach(errCode => {\n const key = ValidationErrorsIBAN[errCode];\n validationErrors[key] = { value: control.getRawValue() };\n });\n\n return validationErrors;\n };\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport parsePhoneNumber from 'libphonenumber-js';\n\nexport const phoneNumberValidator = (): ValidatorFn => {\n return (_control: AbstractControl): ValidationErrors | null => {\n const code: string = _control.get('countryCode')?.getRawValue() ?? '';\n\n let number: string = code + _control.getRawValue();\n\n if (number === '') {\n return null;\n }\n\n try {\n number = number.replace(code, '');\n const parsedNumber = parsePhoneNumber(number);\n\n if (parsedNumber?.isValid()) {\n return null;\n }\n } catch (e: any) {\n console.warn(e.message);\n return { phoneNumber: { value: 'input.phone.invalid' } };\n }\n return { phoneNumber: { value: 'input.phone.invalid' } };\n };\n};\n","import { NgModule } from '@angular/core';\nimport { directives } from './directives';\n\n@NgModule({\n imports: [...directives],\n exports: [...directives],\n})\nexport class OnemrvaSharedModule {}\n","import { Injectable, OnDestroy, inject } from '@angular/core';\nimport { NativeDateAdapter } from '@angular/material/core';\nimport { DateTime } from 'luxon';\n\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';\n\n@Injectable()\nexport class OnemrvaNativeDateAdapter\n extends NativeDateAdapter\n implements OnDestroy\n{\n private translateService = inject(TranslateService);\n\n private destroyNotifier$ = new Subject<void>();\n\n override localeChanges = new Subject<any>();\n\n constructor() {\n super();\n\n this.setLocale(this.translateService.currentLang);\n this.localeChanges.next(this);\n if (this.translateService !== undefined) {\n this.translateService.onLangChange\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(({ lang }) => {\n this.setLocale(lang);\n this.localeChanges.next(this);\n });\n }\n }\n\n override format(date: Date, formats: any): string {\n const dt = DateTime.fromJSDate(date);\n return dt.toFormat(formats);\n }\n\n override parse(value: any): Date | null {\n const formats = ONEMRVA_MAT_NATIVE_DATE_FORMAT;\n if (value && typeof value === 'string') {\n value = value.replace(/\\D/g, '/');\n }\n\n if (value === null || value === '') {\n return null;\n }\n\n const dt = DateTime.fromFormat(value, formats.display.dateInput, {\n locale: this.locale,\n });\n\n if (dt.isValid) {\n return dt.toJSDate();\n }\n\n for (const format of formats.parse.dateInput) {\n const parsed = DateTime.fromFormat(value, format, {\n locale: this.locale,\n });\n if (parsed.isValid) {\n return parsed.toJSDate();\n }\n }\n\n return this.invalid();\n }\n\n override getFirstDayOfWeek(): number {\n return 1;\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n}\n","import { CalendarSystem as LuxonCalendarSystem } from 'luxon';\nimport { InjectionToken } from '@angular/core';\n\n/** Configurable options for the `LuxonDateAdapter`. */\nexport interface MatLuxonDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n useUtc: boolean;\n\n /**\n * Sets the first day of week.\n * Changing this will change how Angular Material components like DatePicker shows start of week.\n */\n firstDayOfWeek: number;\n\n /**\n * Sets the output Calendar.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n defaultOutputCalendar: LuxonCalendarSystem;\n}\n\n/** InjectionToken for LuxonDateAdapter to configure options. */\nexport const MAT_LUXON_DATE_ADAPTER_OPTIONS =\n new InjectionToken<MatLuxonDateAdapterOptions>(\n 'MAT_LUXON_DATE_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY,\n },\n );\n\n/** @docs-private */\nexport function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): MatLuxonDateAdapterOptions {\n return {\n useUtc: false,\n firstDayOfWeek: 0,\n defaultOutputCalendar: 'gregory',\n };\n}\n\n/** Creates an array and fills it with values. */\nexport function luxonRange<T>(\n length: number,\n valueFunction: (index: number) => T,\n): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport { Injectable, inject } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport {\n DateTime as LuxonDateTime,\n Info as LuxonInfo,\n DateTimeOptions as LuxonDateTimeOptions,\n CalendarSystem as LuxonCalendarSystem,\n} from 'luxon';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n luxonRange,\n MAT_LUXON_DATE_ADAPTER_OPTIONS,\n MatLuxonDateAdapterOptions,\n} from './luxon.utils';\n\n/** Adapts Luxon Dates for use with Angular Material. */\n@Injectable()\nexport class OnemrvaLuxonDateAdapter extends DateAdapter<LuxonDateTime> {\n private translateService = inject(TranslateService);\n\n private _useUTC: boolean;\n private _firstDayOfWeek: number;\n private _defaultOutputCalendar: LuxonCalendarSystem;\n\n constructor() {\n super();\n\n const dateLocale = inject(MAT_DATE_LOCALE, { optional: true });\n const options = inject<MatLuxonDateAdapterOptions>(\n MAT_LUXON_DATE_ADAPTER_OPTIONS,\n {\n optional: true,\n },\n );\n\n this._useUTC = !!options?.useUtc;\n this._firstDayOfWeek = options?.firstDayOfWeek || 0;\n this._defaultOutputCalendar = options?.defaultOutputCalendar || 'gregory';\n this.setLocale(dateLocale || LuxonDateTime.local().locale);\n\n this.setLocale(this.translateService.currentLang);\n if (this.translateService !== undefined) {\n this.translateService.onLangChange\n .pipe(takeUntilDestroyed())\n .subscribe(({ lang }) => {\n this.setLocale(lang);\n });\n }\n }\n\n getYear(date: LuxonDateTime): number {\n return date.year;\n }\n\n getMonth(date: LuxonDateTime): number {\n // Luxon works with 1-indexed months whereas our code expects 0-indexed.\n return date.month - 1;\n }\n\n getDate(date: LuxonDateTime): number {\n return date.day;\n }\n\n getDayOfWeek(date: LuxonDateTime): number {\n return date.weekday;\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Adding outputCalendar option, because LuxonInfo doesn't get effected by LuxonSettings\n return LuxonInfo.months(style, {\n locale: this.locale,\n outputCalendar: this._defaultOutputCalendar,\n });\n }\n\n getDateNames(): string[] {\n // At the time of writing, Luxon doesn't offer similar\n // functionality so we have to fall back to the Intl API.\n const dtf = new Intl.DateTimeFormat(this.locale, {\n day: 'numeric',\n timeZone: 'utc',\n });\n\n // Format a UTC date in order to avoid DST issues.\n return luxonRange(31, i =>\n dtf.format(LuxonDateTime.utc(2017, 1, i + 1).toJSDate()),\n );\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Note that we shift the array once, because Luxon returns Monday as the\n // first day of the week, whereas our logic assumes that it's Sunday. See:\n // https://moment.github.io/luxon/api-docs/index.html#infoweekdays\n const days = LuxonInfo.weekdays(style, { locale: this.locale });\n days.unshift(days.pop()!);\n return days;\n }\n\n getYearName(date: LuxonDateTime): string {\n return date.toFormat('yyyy', this._getOptions());\n }\n\n getFirstDayOfWeek(): number {\n return this._firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: LuxonDateTime): number {\n return date.daysInMonth!;\n }\n\n clone(date: LuxonDateTime): LuxonDateTime {\n return LuxonDateTime.fromObject(date.toObject(), this._getOptions());\n }\n\n createDate(year: number, month: number, date: number): LuxonDateTime {\n const options = this._getOptions();\n\n if (month < 0 || month > 11) {\n throw Error(\n `Invalid month index \"${month}\". Month index has to be between 0 and 11.`,\n );\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n // Luxon uses 1-indexed months so we need to add one to the month.\n const result = this._useUTC\n ? LuxonDateTime.utc(year, month + 1, date, options)\n : LuxonDateTime.local(year, month + 1, date, options);\n\n if (!this.isValid(result)) {\n throw Error(`Invalid date \"${date}\". Reason: \"${result.invalidReason}\".`);\n }\n\n return result;\n }\n\n today(): LuxonDateTime {\n const options = this._getOptions();\n\n return this._useUTC\n ? LuxonDateTime.utc(options)\n : LuxonDateTime.local(options);\n }\n\n parse(value: any, parseFormat: string | string[]): LuxonDateTime | null {\n const options: LuxonDateTimeOptions = this._getOptions();\n\n if (typeof value == 'string' && value.length > 0) {\n // This is screwing things up as 062005 would become 05 0602\n // const iso8601Date = LuxonDateTime.fromISO(value, options);\n //\n // if (this.isValid(iso8601Date)) {\n // console.log(iso8601Date);\n // return iso8601Date;\n // }\n\n const formats = Array.isArray(parseFormat) ? parseFormat : [parseFormat];\n\n if (!parseFormat.length) {\n throw Error('Formats array must not be empty.');\n }\n\n for (const format of formats) {\n const fromFormat = LuxonDateTime.fromFormat(value, format, options);\n\n if (this.isValid(fromFormat)) {\n return fromFormat;\n }\n }\n return this.invalid();\n } else if (typeof value === 'number') {\n return LuxonDateTime.fromMillis(value, options);\n } else if (value instanceof Date) {\n return LuxonDateTime.fromJSDate(value, options);\n } else if (value instanceof LuxonDateTime) {\n return LuxonDateTime.fromMillis(value.toMillis(), options);\n }\n\n return null;\n }\n\n format(date: LuxonDateTime, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('LuxonDateAdapter: Cannot format invalid date.');\n }\n if (this._useUTC) {\n return date.setLocale(this.locale).setZone('utc').toFormat(displayFormat);\n } else {\n return date.setLocale(this.locale).toFormat(displayFormat);\n }\n }\n\n addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ years });\n }\n\n addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ months });\n }\n\n addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ days });\n }\n\n toIso8601(date: LuxonDateTime): string {\n return date.toISO()!;\n }\n\n /**\n * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty\n * string into null. Returns an invalid date for all other values.\n */\n override deserialize(value: any): LuxonDateTime | null {\n const options = this._getOptions();\n let date: LuxonDateTime | undefined;\n if (value instanceof Date) {\n date = LuxonDateTime.fromJSDate(value, options);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = LuxonDateTime.fromISO(value, options);\n }\n if (date && this.isValid(date)) {\n return date;\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return obj instanceof LuxonDateTime;\n }\n\n isValid(date: LuxonDateTime): boolean {\n return date.isValid;\n }\n\n invalid(): LuxonDateTime {\n return LuxonDateTime.invalid('Invalid Luxon DateTime object.');\n }\n\n override setTime(\n target: LuxonDateTime,\n hours: number,\n minutes: number,\n seconds: number,\n ): LuxonDateTime {\n //if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (hours < 0 || hours > 23) {\n throw Error(\n `Invalid hours \"${hours}\". Hours value must be between 0 and 23.`,\n );\n }\n\n if (minutes < 0 || minutes > 59) {\n throw Error(\n `Invalid minutes \"${minutes}\". Minutes value must be between 0 and 59.`,\n );\n }\n\n if (seconds < 0 || seconds > 59) {\n throw Error(\n `Invalid seconds \"${seconds}\". Seconds value must be between 0 and 59.`,\n );\n }\n //}\n\n return this.clone(target).set({\n hour: hours,\n minute: minutes,\n second: seconds,\n millisecond: 0,\n });\n }\n\n override getHours(date: LuxonDateTime): number {\n return date.hour;\n }\n\n override getMinutes(date: LuxonDateTime): number {\n return date.minute;\n }\n\n override getSeconds(date: LuxonDateTime): number {\n return date.second;\n }\n\n override parseTime(\n value: any,\n parseFormat: string | string[],\n ): LuxonDateTime | null {\n const result = this.parse(value, parseFormat);\n\n if ((!result || !this.isValid(result)) && typeof value === 'string') {\n // It seems like Luxon doesn't work well cross-browser for strings that have\n // additional characters around the time. Try parsing without those characters.\n return (\n this.parse(value.replace(/[^0-9:(AM|PM)]/gi, ''), parseFormat) || result\n );\n }\n\n return result;\n }\n\n override addSeconds(date: LuxonDateTime, amount: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ seconds: amount });\n }\n\n /** Gets the options that should be used when constructing a new `DateTime` object. */\n private _getOptions(): LuxonDateTimeOptions {\n return {\n zone: this._useUTC ? 'utc' : undefined,\n locale: this.locale,\n outputCalendar: this._defaultOutputCalendar,\n };\n }\n}\n","import { Provider } from '@angular/core';\nimport { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';\nimport { ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT } from '../constants';\nimport { OnemrvaNativeDateAdapter } from '../adapters';\n\nexport function onemrvaDateNativeYearMonthProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaNativeDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';\nimport { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';\nimport { OnemrvaNativeDateAdapter } from '../adapters';\n\nexport function onemrvaDateNativeProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_NATIVE_DATE_FORMAT,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaNativeDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { ONEMRVA_MAT_LUXON_DATE_FORMATS } from '../constants';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { OnemrvaLuxonDateAdapter } from '../adapters';\n\nexport function onemrvaDateLuxonProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_LUXON_DATE_FORMATS,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaLuxonDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS } from '../constants';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { OnemrvaLuxonDateAdapter } from '../adapters';\n\nexport function onemrvaDateLuxonYearMonthProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaLuxonDateAdapter,\n },\n ];\n}\n","// Auto-generated — do not edit\nexport const VERSION = '21.2.0-develop.2';\n","import { ErrorHandler, makeEnvironmentProviders } from '@angular/core';\nimport {\n MAT_FORM_FIELD_DEFAULT_OPTIONS,\n MatFormFieldDefaultOptions,\n} from '@angular/material/form-field';\nimport { OverlayContainer } from '@angular/cdk/overlay';\nimport { WebComponentOverlayContainer } from '../containers';\nimport { OnemrvaErrorHandler } from '../services';\n\nimport { inject, DOCUMENT } from '@angular/core';\nimport { provideAppInitializer } from '@angular/core';\nimport { VERSION } from '../version';\n\nexport function onemrvaThemeProvider() {\n return makeEnvironmentProviders([\n {\n provide: ErrorHandler,\n useClass: OnemrvaErrorHandler,\n },\n // {\n // provide: CDN_URL_MODE,\n // useValue: CDNUrlModeOptions.PROD,\n // },\n // {\n // provide: LOOKUP_COUNTRY_SERVICE_URL,\n // useValue: 'assets/mock/countries.json',\n // },\n provideAppInitializer(() => {\n const document = inject(DOCUMENT);\n const ATTRIBUTE_NAME = 'ds-version';\n const existing = document.body.getAttribute(ATTRIBUTE_NAME);\n const versions = existing ? existing.split(',').map(v => v.trim()) : [];\n\n if (!versions.includes(VERSION)) {\n versions.push(VERSION);\n document.body.setAttribute(ATTRIBUTE_NAME, versions.join(', '));\n }\n }),\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: {\n appearance: 'outline',\n floatLabel: 'always',\n subscriptSizing: 'dynamic',\n } as MatFormFieldDefaultOptions,\n },\n {\n provide: OverlayContainer,\n useClass: WebComponentOverlayContainer,\n },\n ]);\n}\n","/*\n * Public API Surface of shared\n */\n\nexport * from './src/lib/components';\nexport * from './src/lib/constants';\nexport * from './src/lib/containers';\nexport * from './src/lib/decorators';\nexport * from './src/lib/directives';\nexport * from './src/lib/helpers';\nexport * from './src/lib/loaders';\nexport * from './src/lib/interfaces';\nexport * from './src/lib/pipes';\nexport * from './src/lib/services';\nexport * from './src/lib/validators';\nexport * from './src/lib/shared.module';\nexport * from './src/lib/adapters';\nexport * from './src/lib/providers';\nexport * from './src/lib/tokens';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["catchError","map","startWith","i1.DigitOnlyDirective","i2.MatRowClickableDirective","i3.OnemRvaClipboardDirective","i4.OnemRvaIconRightDirective","i5.IfWidthIsDirective","i6.OnemRvaColorDirective","i7.OnemrvaMaskDirective","i8.OnemrvaDateFormatDirective","i9.OnemRvaReadonlyDirective","LuxonDateTime","LuxonInfo","DOCUMENT"],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-shared.mjs","sources":["../../../../projects/onemrva/design-system/shared/src/lib/components/clipboard-icon/clipboard-icon.component.ts","../../../../projects/onemrva/design-system/shared/src/lib/components/clipboard-icon/clipboard-icon.component.html","../../../../projects/onemrva/design-system/shared/src/lib/constants/CDNUrlModeOptions.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/constants.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/date.format.ts","../../../../projects/onemrva/design-system/shared/src/lib/constants/cdn.ts","../../../../projects/onemrva/design-system/shared/src/lib/tokens/inject.token.ts","../../../../projects/onemrva/design-system/shared/src/lib/containers/WebComponentOverlayContainer.ts","../../../../projects/onemrva/design-system/shared/src/lib/decorators/HttpCacheDecorator.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/digit-only.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/color.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/mat-row-clickable.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/if-width-is.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/mask.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/clipboard.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/iconRight.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/date-format.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/readonly-directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/size.directive.ts","../../../../projects/onemrva/design-system/shared/src/lib/directives/index.ts","../../../../projects/onemrva/design-system/shared/src/lib/helpers/translation-helper.ts","../../../../projects/onemrva/design-system/shared/src/lib/loaders/onemrva-translate-cdn-loader.ts","../../../../projects/onemrva/design-system/shared/src/lib/loaders/onemrva-translate-http-loader.ts","../../../../projects/onemrva/design-system/shared/src/lib/pipes/onemrva-bce.pipe.ts","../../../../projects/onemrva/design-system/shared/src/lib/pipes/onemrva-niss.pipe.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/country-lookup.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/cache.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/country-cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/mime-cdn.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/osm.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/onemrva-error-handler.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/services/onemrva-missing-translation.service.ts","../../../../projects/onemrva/design-system/shared/src/lib/validators/onemrva-validators.ts","../../../../projects/onemrva/design-system/shared/src/lib/validators/bank-account.validator.utils.ts","../../../../projects/onemrva/design-system/shared/src/lib/validators/phone-number.validator.utils.ts","../../../../projects/onemrva/design-system/shared/src/lib/shared.module.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/native.date.adapter.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/luxon.utils.ts","../../../../projects/onemrva/design-system/shared/src/lib/adapters/luxon.date.adapter.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.native.year.month.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.native.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.luxon.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.date.luxon.year.month.provider.ts","../../../../projects/onemrva/design-system/shared/src/lib/version.ts","../../../../projects/onemrva/design-system/shared/src/lib/providers/onemrva.theme.provider.ts","../../../../projects/onemrva/design-system/shared/index.ts","../../../../projects/onemrva/design-system/shared/onemrvapublic-design-system-shared.ts"],"sourcesContent":["import { Component, ElementRef, inject } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { Clipboard } from '@angular/cdk/clipboard';\n\n@Component({\n selector: 'lib-clipboard-icon',\n templateUrl: './clipboard-icon.component.html',\n styleUrls: ['./clipboard-icon.component.css'],\n standalone: true,\n imports: [MatIconModule, MatTooltipModule],\n})\nexport class ClipboardIconComponent {\n public _elementRef = inject(ElementRef);\n private clipboardService = inject(Clipboard);\n}\n","<mat-icon [matTooltip]=\"'TEST'\">content_copy</mat-icon>\n","export enum CDNUrlModeOptions {\n PROD = 'production',\n VAL = 'validation',\n}\n","export const CDN_URLS = {\n prod: 'https://cdn.services.rvaonem.fgov.be',\n val: 'https://cdn.servicesval.rvaonem.fgov.be',\n};\n\nexport const NISS_MASK = '000000/000-00';\n\nexport const LOOKUP_COUNTRY_URL =\n 'http://services/lookupwpptservice/rest/lookup/getLookups?class=be.fgov.onerva.lookup.wppt.persistence.model.common.Country';\n\nexport const ONEMRVA_THEME = 'onemrva-theme';\n\n// export const LOOKUP_POSTAL_CODE_URL =\n// 'https://services/lookupwpptservice/rest/lookup/getBelgianCommunityByPostalCode?postalCode=';\n","import { MatDateFormats } from '@angular/material/core';\n\nconst parseNativeDateFormats = [\n 'ddMMyyyy',\n 'dd/MM/yyyy',\n 'd/M/yyyy',\n 'dd/M/yyyy',\n 'd/MM/yyyy',\n 'd.M.yyyy',\n 'dd.M.yyyy',\n 'd.MM.yyyy',\n 'd/M/yy',\n 'dd/M/yy',\n 'd/MM/yy',\n 'd.M.yy',\n 'dd.M.yy',\n 'd.MM.yy',\n];\nconst parseNativeYearMonthFormats = [\n 'MMyyyy',\n 'M/yyyy',\n 'M/yy',\n 'MM/yyyy',\n 'MM/yy',\n 'M.yyyy',\n 'MM.yyyy',\n];\nconst parseLuxonYearMonthFormats = [\n 'LLyyyy',\n 'L/yyyy',\n 'L/yy',\n 'LL/yyyy',\n 'LL/yy',\n 'L.yyyy',\n 'LL.yyyy',\n];\nconst parseLuxonDateFormat = [\n 'ddLLyyyy',\n 'd/LL/yyyy',\n 'd/L/yyyy',\n 'dd/L/yyyy',\n 'd/LL/yyyy',\n 'd.L.yyyy',\n 'dd.L.yyyy',\n 'd.LL.yyyy',\n 'd/L/yy',\n 'dd/L/yy',\n 'd/LL/yy',\n 'd.L.yy',\n 'dd.L.yy',\n 'd.LL.yy',\n];\n\nexport const ONEMRVA_MAT_NATIVE_DATE_FORMAT: MatDateFormats = {\n parse: {\n dateInput: parseNativeDateFormats,\n timeInput: ['HH:mm'],\n },\n display: {\n dateInput: 'dd/MM/yyyy',\n monthYearLabel: 'LL / yyyy',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM yyyy',\n timeInput: 'HH:mm',\n timeOptionLabel: 'HH:mm',\n },\n};\n\nexport const ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT: MatDateFormats = {\n parse: {\n dateInput: parseNativeYearMonthFormats,\n timeInput: ['HH:mm'],\n },\n display: {\n dateInput: 'dd/MM/yyyy',\n monthYearLabel: 'LL / yyyy',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMM yyyy',\n timeInput: 'HH:mm',\n timeOptionLabel: 'HH:mm',\n },\n};\n\nexport const ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS: MatDateFormats = {\n parse: {\n dateInput: parseLuxonYearMonthFormats,\n timeInput: ['HH:mm'],\n },\n display: {\n dateInput: 'LL/yyyy',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DDD',\n monthYearA11yLabel: 'LLLL yyyy',\n timeInput: 'HH:mm',\n timeOptionLabel: 'HH:mm',\n },\n};\n\nexport const ONEMRVA_MAT_LUXON_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: parseLuxonDateFormat,\n timeInput: ['HH:mm'],\n },\n display: {\n dateInput: 'dd/LL/yyyy',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DDD',\n monthYearA11yLabel: 'LLL yyyy',\n timeInput: 'HH:mm',\n timeOptionLabel: 'HH:mm',\n },\n};\n","import { InjectionToken } from '@angular/core';\n\nexport const CDN_URL_MODE = new InjectionToken<string>(\n 'This is cdn url that will be used (val/prod)',\n);\n","import { InjectionToken } from '@angular/core';\nimport { LOOKUP_COUNTRY_URL, ONEMRVA_THEME } from '../constants';\n\nexport const LOOKUP_COUNTRY_SERVICE_URL = new InjectionToken<string>(\n 'LOOKUP_COUNTRY_SERVICE_URL',\n {\n providedIn: 'root',\n factory: () => LOOKUP_COUNTRY_URL,\n },\n);\n\nexport const ONEMRVA_THEME_CLASS = new InjectionToken<string>(\n 'ONEMRVA_THEME_CLASS',\n {\n providedIn: 'root',\n factory: () => ONEMRVA_THEME,\n },\n);\n","/**\n * @license\n * Copyright 2025 OneMRVA\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport { inject, Injectable, OnDestroy } from '@angular/core';\nimport { Platform, _isTestEnvironment } from '@angular/cdk/platform';\nimport { ONEMRVA_THEME_CLASS } from '../tokens/inject.token';\n\n/** Container inside which all overlays will render. */\n@Injectable({ providedIn: 'root' })\nexport class WebComponentOverlayContainer implements OnDestroy {\n protected _containerElement: HTMLElement | null = null;\n private _themeObserver: MutationObserver | null = null;\n\n private platform = inject(Platform);\n private _document = inject(DOCUMENT);\n private themeClass = inject(ONEMRVA_THEME_CLASS);\n\n ngOnDestroy() {\n this._containerElement?.remove();\n this._themeObserver?.disconnect();\n }\n\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement(): HTMLElement | null {\n if (this._containerElement === null) {\n this._createContainer();\n }\n\n return this._containerElement;\n }\n\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n protected _createContainer(): void {\n const containerClass = 'cdk-overlay-container';\n\n if (this.platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(\n `.${containerClass}[platform=\"server\"], ` +\n `.${containerClass}[platform=\"test\"]`,\n );\n\n oppositePlatformContainers.forEach(platform => {\n platform.remove();\n });\n }\n\n const containerwrap = this._document.createElement('div');\n containerwrap.classList.add(this.themeClass);\n\n const themeElements = this._document.querySelectorAll(\n `.${this.themeClass}`,\n );\n const existingThemeElement = Array.from(themeElements).find(\n el => el !== containerwrap,\n );\n\n if (existingThemeElement) {\n if (existingThemeElement.classList.contains('dark-theme')) {\n containerwrap.classList.add('dark-theme');\n } else if (existingThemeElement.classList.contains('light-theme')) {\n containerwrap.classList.add('light-theme');\n }\n }\n\n this._themeObserver = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'class'\n ) {\n const target = mutation.target as HTMLElement;\n if (\n target.classList.contains(this.themeClass) &&\n target !== containerwrap\n ) {\n containerwrap.classList.remove('dark-theme', 'light-theme');\n if (target.classList.contains('dark-theme')) {\n containerwrap.classList.add('dark-theme');\n } else if (target.classList.contains('light-theme')) {\n containerwrap.classList.add('light-theme');\n }\n }\n }\n });\n });\n\n if (existingThemeElement) {\n this._themeObserver.observe(existingThemeElement, {\n attributes: true,\n attributeFilter: ['class'],\n });\n }\n\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n } else if (!this.platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n\n containerwrap.appendChild(container);\n this._document.body.appendChild(containerwrap);\n this._containerElement = container;\n }\n}\n","import {\n filter,\n finalize,\n merge,\n NEVER,\n Observable,\n Subject,\n tap,\n shareReplay,\n startWith,\n switchMap,\n BehaviorSubject,\n take,\n catchError,\n} from 'rxjs';\n\ntype HttpRequestCacheMethod = (...args: any[]) => Observable<any>;\n\nexport class DefaultStorage implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n\nexport interface HttpCacheStorage {\n setItem(key: string, item: Observable<any>): void;\n getItem(key: string): Observable<null> | undefined;\n deleteItem(key: string): void;\n}\n\nexport interface HttpCacheOptions {\n refCount?: boolean;\n windowTime?: number;\n ttl?: number;\n storage?: HttpCacheStorage;\n refreshOn?: Observable<unknown> | Subject<unknown> | BehaviorSubject<unknown>;\n}\n\nexport class RequestTimes implements HttpCacheStorage {\n private storage = new Map<string, Observable<any>>();\n\n getItem(key: string): Observable<any> | undefined {\n return this.storage.get(key);\n }\n\n setItem(key: string, item: Observable<any>): void {\n this.storage.set(key, item);\n }\n\n deleteItem(key: string): void {\n this.storage.delete(key);\n }\n}\n\nexport const HttpRequestCache = <T extends Record<string, any>>(\n optionsHandler?: (obj: T, ...args: any[]) => HttpCacheOptions,\n) => {\n return (\n target: T,\n methodName: string,\n descriptor: TypedPropertyDescriptor<HttpRequestCacheMethod>,\n ): TypedPropertyDescriptor<HttpRequestCacheMethod> => {\n if (!(descriptor?.value instanceof Function)) {\n throw Error(\n `'@HttpRequestCache' can be applied only to the class method which returns an Observable`,\n );\n }\n\n const cacheKeyPrefix = `${target.constructor.name}_${methodName}`;\n const originalMethod = descriptor.value;\n const working: Record<string, boolean> = {};\n let subscribers = 0;\n\n descriptor.value = function (...args: any[]): Observable<any> {\n const options = optionsHandler?.call(this as T, this as T, ...args);\n\n if (!options?.storage && !(target as any)._____storage_____) {\n (target as any)._____storage_____ = new DefaultStorage();\n }\n\n if (options?.ttl && !(target as any)._____ttl_storage_____) {\n (target as any)._____ttl_storage_____ = new RequestTimes();\n }\n\n const storage = options?.storage ?? (target as any)._____storage_____;\n\n const key = `${cacheKeyPrefix}_${JSON.stringify(args)}`;\n\n let ttl: { requestTime: number; subject: Subject<void> } =\n undefined as any;\n\n if (options?.ttl) {\n ttl = (target as any)._____ttl_storage_____.getItem(key);\n\n if (!ttl) {\n ttl = {\n requestTime: Date.now(),\n subject: new Subject(),\n };\n } else if (ttl.requestTime + options.ttl <= Date.now()) {\n working[key] = true;\n ttl.requestTime = Date.now();\n ttl.subject.next();\n }\n\n (target as any)._____ttl_storage_____.setItem(key, ttl);\n }\n\n const refreshOn = merge(\n options?.refreshOn ?? (NEVER as Observable<unknown>),\n ttl?.subject ?? (NEVER as Observable<unknown>),\n );\n\n return storage.getItem(key).pipe(\n take(1),\n tap(value => {\n subscribers++;\n if (value === null) throw '';\n }),\n catchError(() => {\n const observable = refreshOn.pipe(\n startWith(true),\n switchMap(() => originalMethod.apply(this, [...args])),\n tap(() => {\n delete working[key];\n }),\n shareReplay({\n bufferSize: 1,\n refCount: options?.refCount ?? false,\n windowTime: options?.windowTime ?? Infinity,\n }),\n filter(() => {\n return !working[key];\n }),\n finalize(() => {\n subscribers--;\n if (subscribers === 0 && options?.refCount) {\n storage.deleteItem(key);\n (target as any)._____ttl_storage_____?.deleteItem(key);\n }\n }),\n );\n storage.setItem(key, observable);\n return observable;\n }),\n );\n\n // let observable = storage.getItem(key);\n //\n // if (!observable) {\n //\n // observable = refreshOn.pipe(\n // startWith(true),\n // switchMap(() => originalMethod.apply(this, [...args])),\n // tap(() => {\n // delete working[key];\n // }),\n // shareReplay({\n // bufferSize: 1,\n // refCount: options?.refCount ?? false,\n // windowTime: options?.windowTime ?? Infinity,\n // }),\n // filter(() => {\n // return !working[key];\n // }),\n // finalize(() => {\n // subscribers--;\n // if (subscribers === 0 && options?.refCount) {\n // storage.deleteItem(key);\n // (target as any)._____ttl_storage_____?.deleteItem(key);\n // }\n // })\n // );\n // storage.setItem(key, observable);\n // }\n\n // subscribers++;\n\n // return observable;\n };\n\n return descriptor;\n };\n};\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[digitOnly]',\n standalone: true,\n host: {\n '(keydown)': 'onKeyDown($event)',\n },\n})\nexport class DigitOnlyDirective {\n protected onKeyDown(event: KeyboardEvent): void {\n const allowedKey = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '.',\n ',',\n ' ',\n 'Backspace',\n 'Delete',\n 'Tab',\n '-',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n\n if (allowedKey.includes(event.key)) return;\n\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (event.ctrlKey && allowedCtrlShortcuts.includes(event.key)) return;\n\n event.preventDefault();\n }\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { OnemrvaMatColor } from '@onemrvapublic/design-system/utils';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector:\n 'onemrva-mat-selectable-box[color],' +\n 'div[color],' +\n 'onemrva-mat-avatar[color],' +\n 'mat-card[color],' +\n 'mat-toolbar[color],' +\n 'onemrva-mat-spinner[color],' +\n 'onemrva-mat-notification[color],' +\n 'onemrva-mat-task-list[color],' +\n 'onemrva-mat-sticker[color],' +\n 'onemrva-mat-panel[color],' +\n 'onemrva-mat-task[color],' +\n 'onemrva-mat-choice-chip[color],' +\n 'mat-form-field[color],' +\n 'button[color],' +\n 'mat-icon[color],' +\n 'mat-chip[color],' +\n 'mat-chip-option[color]' +\n 'mat-hint[color],',\n standalone: true,\n host: {\n '[class.mat-primary]': 'isPrimary()',\n '[class.mat-accent]': 'isAccent()',\n '[class.mat-error]': 'isError()',\n '[class.mat-warn]': 'isWarn()',\n '[class.mat-success]': 'isSuccess()',\n '[class.mat-info]': 'isInfo()',\n '[class.mat-neutral]': 'isNeutral()',\n },\n})\nexport class OnemRvaColorDirective {\n readonly color = input<OnemrvaMatColor>('');\n\n protected readonly isPrimary = computed(\n () => this.color() === OnemrvaMatColor.PRIMARY,\n );\n protected readonly isAccent = computed(\n () => this.color() === OnemrvaMatColor.ACCENT,\n );\n protected readonly isError = computed(\n () => this.color() === OnemrvaMatColor.ERROR,\n );\n protected readonly isWarn = computed(\n () => this.color() === OnemrvaMatColor.WARN,\n );\n protected readonly isSuccess = computed(\n () => this.color() === OnemrvaMatColor.SUCCESS,\n );\n protected readonly isInfo = computed(\n () => this.color() === OnemrvaMatColor.INFO,\n );\n protected readonly isNeutral = computed(\n () => this.color() === OnemrvaMatColor.NEUTRAL,\n );\n}\n","import { Directive, input, output, computed } from '@angular/core';\nimport { OnemRvaColorDirective } from './color.directive';\n\n@Directive({\n selector: 'tr[matRowClickable]',\n standalone: true,\n host: {\n '[class.clickable]': '_isClickable()',\n '[class.onemrva-clickable-row]': 'true',\n '(click)': 'click()',\n },\n})\nexport class MatRowClickableDirective extends OnemRvaColorDirective {\n readonly matRowClickable = output<void>();\n\n readonly clickable = input(true);\n\n readonly _isClickable = computed(() => this.clickable());\n\n click() {\n if (!this.clickable()) return;\n this.matRowClickable.emit();\n }\n}\n","import {\n BreakpointObserver,\n Breakpoints,\n BreakpointState,\n} from '@angular/cdk/layout';\nimport {\n Directive,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n inject,\n input,\n} from '@angular/core';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: '[ifWidthIs]',\n standalone: true,\n})\nexport class IfWidthIsDirective implements OnInit {\n breakpointObserver = inject(BreakpointObserver);\n private _templateRef = inject<TemplateRef<any>>(TemplateRef);\n private _viewContainer = inject(ViewContainerRef);\n\n readonly ifWidthIs =\n input.required<(typeof Breakpoints)[keyof typeof Breakpoints][]>();\n\n ngOnInit() {\n this.breakpointObserver\n .observe([...this.ifWidthIs()])\n .subscribe((state: BreakpointState) => {\n this._viewContainer.clear();\n if (state.matches) {\n this._viewContainer.createEmbeddedView(this._templateRef);\n }\n });\n }\n}\n","import { Directive, ElementRef, inject, input } from '@angular/core';\n\nconst UNDO_STACK_MAX_LENGTH = 50;\n\n/**\n * 0: digits\n * A: letters (uppercase or lowercase) and digits\n * S: only letters (uppercase or lowercase)\n * U: only letters uppercase\n * L: only letters lowercase\n */\n\n@Directive({\n selector: '[onemrvamask]',\n standalone: true,\n host: {\n '(keydown)': 'onKeyDown($event)',\n '(input)': 'onInput($event)',\n },\n})\nexport class OnemrvaMaskDirective {\n private el = inject(ElementRef);\n\n readonly onemrvamask = input.required<string>();\n\n private inputStack: string[] = ['']; // Stack for undo/redo\n private stackIdx = 0; // Current index in undo/redo stack\n\n markForDelete = false;\n\n onKeyDown(event: KeyboardEvent) {\n // Allow functional keystrokes\n const e = event as KeyboardEvent;\n\n let specialKeys = [\n 'Tab',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n if (specialKeys.indexOf(e.key) >= 0) return;\n\n specialKeys = ['Backspace', 'Delete'];\n if (specialKeys.indexOf(e.key) >= 0) {\n this.markForDelete = true;\n return;\n }\n\n // Undo\n if (e.ctrlKey && 'z' === e.key && this.stackIdx > 0) {\n this.stackIdx--;\n this.el.nativeElement.value = this.inputStack[this.stackIdx];\n event.preventDefault();\n }\n\n // Redo\n if (\n e.ctrlKey &&\n 'u' === e.key &&\n this.stackIdx < this.inputStack.length - 1\n ) {\n this.stackIdx++;\n this.el.nativeElement.value = this.inputStack[this.stackIdx];\n event.preventDefault();\n }\n\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (e.ctrlKey && allowedCtrlShortcuts.indexOf(e.key) >= 0) return;\n }\n\n onInput(event: any) {\n const selectionStart = event.target?.selectionStart;\n\n /*\n * Step 1\n * This block lets a delete execution if the new value is compliant.\n * There are 2 deletion cases, after which the new value is not compliant\n * - dd/MX/yyyy: X is deleted, then the date becomes dd/M/yyyy\n * This case is resolved by step 2 and the date will become: dd/My/yyy\n * - dd/MMXyyyy: the last '/' is deleted, then the date becomes dd/MMyyyy\n * In this particular case, step 2 will automatically add the missing slash, so the date will remain dd/MM/yyyy\n * The issue is that the caret position will remain stuck where it was, so if the user keeps hitting the delete key, nothing will change at all. This is resolved in step 4 by moving the caret to the left\n */\n if (this.markForDelete) {\n const isCompliantAfterDeletion =\n [...this.el.nativeElement.value].findIndex((char, idx) => {\n const rule = this.onemrvamask()[idx];\n\n if (rule === null || rule === undefined) return true;\n\n if (isNaN(char) && char.toLowerCase() === char.toUpperCase())\n return char !== rule;\n\n return !isAllowed(rule, char);\n }) < 0;\n\n if (isCompliantAfterDeletion) {\n this.markForDelete = false;\n return;\n }\n }\n\n // Step 2\n const compliantValue = [...this.el.nativeElement.value]\n .filter(char => isAllowed('A', char)) // Necessary when several special char in a row\n .reduce((newValue, char) => {\n let idx = newValue.length;\n const rule = this.onemrvamask()[idx];\n\n if (rule === null || rule === undefined) return newValue;\n\n newValue = !isAllowed(rule, char) ? newValue : newValue + char;\n\n // Add all trailing special characters\n let nextRule = this.onemrvamask()[++idx];\n let i = 0;\n\n while (\n nextRule !== null &&\n nextRule !== undefined &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n i++;\n newValue += nextRule;\n nextRule = this.onemrvamask()[++idx];\n\n if (i > 50) break;\n }\n\n return newValue;\n }, '');\n\n this.el.nativeElement.value = compliantValue;\n\n // Step 3 - Find the new cursor position. If the last new character is just before special character, move the caret after\n let idx = selectionStart;\n let nextRule = this.onemrvamask()[idx];\n while (\n nextRule !== null &&\n nextRule !== undefined &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n idx++;\n nextRule = this.onemrvamask()[idx];\n if (\n nextRule !== null &&\n nextRule &&\n ['0', 'A', 'S', 'U', 'L'].indexOf(nextRule) < 0\n ) {\n /* empty */\n } else break;\n }\n\n // Step 4 - Update inputStack only when all characters are processed\n if (compliantValue !== this.inputStack[this.stackIdx]) {\n this.stackIdx++;\n\n const stack =\n this.stackIdx > UNDO_STACK_MAX_LENGTH - 1\n ? this.inputStack.slice(1)\n : this.inputStack.splice(0, this.stackIdx);\n this.stackIdx =\n this.stackIdx > UNDO_STACK_MAX_LENGTH - 1\n ? UNDO_STACK_MAX_LENGTH - 1\n : this.stackIdx;\n\n this.inputStack = [...stack, compliantValue];\n\n this.el.nativeElement.setSelectionRange(idx, idx);\n } else {\n if (this.markForDelete) {\n let i = idx - 1;\n /* Finds the last rule character before the special character.\n * e.g: (nnn)/nnnn\n * If the user tries to delete '/', the caret will move just before ')'\n */\n while (i > 0) {\n const previousRule = this.onemrvamask()[i - 1];\n if (['0', 'A', 'S', 'U', 'L'].indexOf(previousRule) < 0) {\n i--;\n } else break;\n }\n this.el.nativeElement.setSelectionRange(i, i);\n }\n }\n this.markForDelete = false;\n }\n}\n\nfunction isAllowed(rule: string, character: string) {\n switch (rule) {\n // Any digit\n case '0':\n if (character === ' ') return false;\n return !isNaN(+character);\n\n // A: letters (uppercase or lowercase) and digits\n case 'A':\n if (character === ' ') return false;\n return (\n !isNaN(+character) || character.toLowerCase() != character.toUpperCase()\n );\n\n // only letters (uppercase or lowercase)\n case 'S':\n return character.toLowerCase() != character.toUpperCase();\n\n // only uppercase letters\n case 'U':\n return (\n character.toLowerCase() != character.toUpperCase() &&\n character === character.toUpperCase()\n );\n\n // only lowercase letters\n case 'L':\n return (\n character.toLowerCase() != character.toUpperCase() &&\n character === character.toLowerCase()\n );\n }\n\n return false;\n}\n","import {\n AfterViewInit,\n ComponentRef,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n signal,\n ViewContainerRef,\n} from '@angular/core';\nimport { ClipboardIconComponent } from '../components/clipboard-icon/clipboard-icon.component';\n\n/**\n * Conditionally adds component to the tree if screen width matches at least one size in input\n */\n@Directive({\n selector: 'span[clipboard]',\n standalone: true,\n host: {\n '[class]': 'hostClass()',\n role: 'button',\n tabindex: '0',\n '[attr.aria-label]': '\"Copy to clipboard\"',\n },\n})\nexport class OnemRvaClipboardDirective implements AfterViewInit {\n private readonly elementRef = inject(ElementRef<HTMLSpanElement>);\n private readonly vcRef = inject(ViewContainerRef);\n private readonly destroyRef = inject(DestroyRef);\n\n readonly clipboard = input.required<string>();\n protected readonly hostClass = signal('');\n\n private iconRef: ComponentRef<ClipboardIconComponent> | null = null;\n\n constructor() {\n this.destroyRef.onDestroy(() => {\n this.iconRef?.destroy();\n this.iconRef = null;\n });\n }\n\n ngAfterViewInit(): void {\n this.initializeClipboardIcon();\n }\n\n private initializeClipboardIcon(): void {\n this.vcRef.clear();\n this.iconRef = this.vcRef.createComponent(ClipboardIconComponent);\n const iconElement = this.iconRef.location.nativeElement as HTMLElement;\n this.elementRef.nativeElement.appendChild(iconElement);\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'button[iconRight]',\n standalone: true,\n host: {\n class: 'onemrva-icon-right',\n },\n})\nexport class OnemRvaIconRightDirective {}\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[onemrvaDateFormat]',\n standalone: true,\n host: {\n '(paste)': 'onPaste($event)',\n '(cut)': 'onCut($event)',\n '(focus)': 'onFocus()',\n '(click)': 'onClick()',\n '(keydown)': 'onKeyDown($event)',\n '(blur)': 'onBlur()',\n },\n})\nexport class OnemrvaDateFormatDirective {\n private readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n private readonly template = '__/__/____';\n\n protected onPaste(event: ClipboardEvent): void {\n const input = this.el.nativeElement;\n const pasted = event.clipboardData?.getData('text/plain') || '';\n const digitsOnly = pasted.replace(/\\D/g, '');\n\n if (!digitsOnly) {\n event.preventDefault();\n return;\n }\n\n event.preventDefault();\n\n let pos = input.selectionStart ?? 0;\n const chars = input.value.split('');\n let digitIndex = 0;\n\n while (pos < this.template.length && digitIndex < digitsOnly.length) {\n if (this.template[pos] === '/') {\n pos++;\n continue;\n }\n chars[pos] = digitsOnly[digitIndex++];\n pos++;\n }\n\n input.value = chars.join('');\n this.emitInputEvent(input);\n this.setCaretToNextEditable(pos);\n }\n\n protected onCut(event: ClipboardEvent): void {\n const input = this.el.nativeElement;\n const start = input.selectionStart ?? 0;\n const end = input.selectionEnd ?? 0;\n const cutText = input.value.substring(start, end);\n\n const chars = input.value.split('');\n for (let i = start; i < end; i++) {\n if (this.template[i] !== '/') {\n chars[i] = '_';\n }\n }\n\n input.value = chars.join('');\n this.emitInputEvent(input);\n this.setCaretToNextEditable(start);\n event.preventDefault();\n\n if (event.clipboardData) {\n event.clipboardData.setData('text/plain', cutText.replace(/\\//g, ''));\n }\n }\n\n protected onFocus(): void {\n const input = this.el.nativeElement;\n if (!input.value || input.value === this.template) {\n input.value = this.template;\n }\n this.setCaretToNextEditable(0);\n }\n\n protected onClick(): void {\n const input = this.el.nativeElement;\n const selectionStart = input.selectionStart ?? 0;\n const selectionEnd = input.selectionEnd ?? 0;\n\n if (selectionStart === selectionEnd) {\n if (input.value === this.template) {\n this.setCaretToNextEditable(0);\n } else {\n this.setCaretToNextEditable(selectionStart);\n }\n }\n }\n\n protected onKeyDown(event: KeyboardEvent): void {\n const input = this.el.nativeElement;\n let pos = input.selectionStart ?? 0;\n\n const allowedCtrlShortcuts = ['a', 'c', 'x', 'v'];\n if (event.ctrlKey && allowedCtrlShortcuts.includes(event.key)) {\n if (event.key === 'x' && input.value === '') {\n input.value = this.template;\n this.emitInputEvent(input);\n }\n return;\n }\n\n if (['ArrowLeft', 'ArrowRight', 'Tab'].includes(event.key)) return;\n\n if (event.key === 'Backspace' || event.key === 'Delete') {\n event.preventDefault();\n const start = input.selectionStart ?? 0;\n const end = input.selectionEnd ?? start;\n\n if (end > start) {\n const chars = input.value.split('');\n for (let i = start; i < end; i++) {\n if (this.template[i] !== '/') {\n chars[i] = '_';\n }\n }\n input.value = chars.join('');\n this.emitInputEvent(input);\n this.setCaretToNextEditable(start);\n return;\n }\n\n let pos = start;\n\n if (event.key === 'Backspace' && pos > 0) {\n do {\n pos--;\n } while (this.template[pos] === '/' && pos > 0);\n\n this.replaceCharAt(input, pos, '_');\n this.emitInputEvent(input);\n this.setCaretToNextEditable(pos);\n return;\n }\n\n if (event.key === 'Delete' && pos < this.template.length) {\n while (this.template[pos] === '/' && pos < this.template.length) {\n pos++;\n }\n this.replaceCharAt(input, pos, '_');\n this.emitInputEvent(input);\n this.setCaretToNextEditable(pos);\n return;\n }\n }\n\n if (['/', '.', '-', ' '].includes(event.key)) {\n event.preventDefault();\n\n if (pos === 1 || pos === 4) {\n const currentVal = input.value.substring(pos - 1, pos);\n if (!currentVal.includes('_')) {\n this.replaceCharAt(input, pos - 1, '0');\n this.replaceCharAt(input, pos, currentVal);\n this.setCaretToNextEditable(pos + 2);\n return;\n }\n }\n return;\n }\n\n if (event.key === 'Backspace') {\n event.preventDefault();\n if (pos === 0) return;\n\n do {\n pos--;\n } while (this.template[pos] === '/' && pos > 0);\n\n this.replaceCharAt(input, pos, '_');\n this.setCaretToNextEditable(pos);\n this.emitInputEvent(input);\n return;\n }\n\n if (!/^\\d$/.test(event.key)) {\n event.preventDefault();\n return;\n }\n\n if (pos >= this.template.length) {\n event.preventDefault();\n return;\n }\n\n while (this.template[pos] === '/' && pos < this.template.length) {\n pos++;\n }\n\n this.replaceCharAt(input, pos, event.key);\n event.preventDefault();\n this.setCaretToNextEditable(pos + 1);\n this.emitInputEvent(input);\n }\n\n protected onBlur(): void {\n const input = this.el.nativeElement;\n if (input.value === this.template) {\n input.value = '';\n this.emitInputEvent(input); // lets MatDatepickerInput set the control to null\n }\n }\n\n private emitInputEvent(input: HTMLInputElement): void {\n input.dispatchEvent(new Event('input', { bubbles: true }));\n }\n\n private replaceCharAt(\n input: HTMLInputElement,\n index: number,\n char: string,\n ): void {\n const value = input.value.split('');\n value[index] = char;\n input.value = value.join('');\n }\n\n private setCaretToNextEditable(pos: number): void {\n const input = this.el.nativeElement;\n while (this.template[pos] === '/' && pos < this.template.length) {\n pos++;\n }\n input.setSelectionRange(pos, pos);\n }\n}\n","import { computed, Directive, input } from '@angular/core';\n\n@Directive({\n selector:\n 'form[readonly], ' +\n 'mat-checkbox[readonly], ' +\n 'mat-radio-group[readonly], ' +\n 'mat-form-field[readonly], ' +\n 'onemrva-mat-input-phone[readonly],' +\n 'onemrva-mat-task-list[readonly],' +\n 'onemrva-mat-selectable-box[readonly],' +\n 'onemrva-mat-choice-chip[readonly],' +\n 'onemrva-mat-input-birthplace[readonly],' +\n 'onemrva-mat-input-country[readonly],' +\n 'onemrva-mat-input-enterprise-number[readonly]',\n standalone: true,\n host: {\n '[class.onemrva-readonly]': 'isReadOnly()',\n },\n})\nexport class OnemRvaReadonlyDirective {\n readonly = input(true);\n protected readonly isReadOnly = computed(() => this.readonly());\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { OnemrvaMatSize } from '@onemrvapublic/design-system/utils';\n\n@Directive({\n selector:\n 'mat-icon[size], onemrva-mat-skeleton[size], onemrva-mat-avatar[size], button[size]',\n standalone: true,\n host: {\n '[class.xsmall]': 'isXSmall()',\n '[class.small]': 'isSmall()',\n '[class.large]': 'isLarge()',\n '[class.xlarge]': 'isXLarge()',\n '[class.xxlarge]': 'isXXLarge()',\n },\n})\nexport class OnemRvaSizeDirective {\n readonly size = input<OnemrvaMatSize>('');\n\n protected readonly isXSmall = computed(\n () => this.size() === OnemrvaMatSize.XSMALL,\n );\n protected readonly isSmall = computed(\n () => this.size() === OnemrvaMatSize.SMALL,\n );\n protected readonly isLarge = computed(\n () => this.size() === OnemrvaMatSize.LARGE,\n );\n protected readonly isXLarge = computed(\n () => this.size() === OnemrvaMatSize.XLARGE,\n );\n protected readonly isXXLarge = computed(\n () => this.size() === OnemrvaMatSize.XXLARGE,\n );\n}\n","import { DigitOnlyDirective } from './digit-only.directive';\nimport { MatRowClickableDirective } from './mat-row-clickable.directive';\nimport { IfWidthIsDirective } from './if-width-is.directive';\nimport { OnemRvaColorDirective } from './color.directive';\nimport { OnemrvaMaskDirective } from './mask.directive';\nimport { OnemRvaClipboardDirective } from './clipboard.directive';\nimport { OnemRvaIconRightDirective } from './iconRight.directive';\nimport { OnemrvaDateFormatDirective } from './date-format.directive';\nimport { OnemRvaReadonlyDirective } from './readonly-directive';\n\nexport const directives: any[] = [\n DigitOnlyDirective,\n MatRowClickableDirective,\n OnemRvaClipboardDirective,\n OnemRvaIconRightDirective,\n IfWidthIsDirective,\n OnemRvaColorDirective,\n OnemrvaMaskDirective,\n OnemrvaDateFormatDirective,\n OnemRvaReadonlyDirective,\n];\n\nexport * from './digit-only.directive';\nexport * from './mat-row-clickable.directive';\nexport * from './if-width-is.directive';\nexport * from './color.directive';\nexport * from './mask.directive';\nexport * from './clipboard.directive';\nexport * from './iconRight.directive';\nexport * from './date-format.directive';\nexport * from './size.directive';\nexport * from './readonly-directive';\n","import { TranslateService } from '@ngx-translate/core';\n\n/**\n * Get language from local storage or browser.\n *\n * @param translateService\n * @param languages\n * @param default_language\n */\nexport function setTranslationLanguage(\n translateService: TranslateService,\n languages = ['en', 'fr', 'nl', 'de'],\n default_language = 'en',\n) {\n return async () => {\n translateService.onLangChange.subscribe(value => {\n localStorage.setItem('language', value.lang);\n });\n translateService.addLangs(languages);\n let language: string | null = localStorage.getItem('language');\n if (language === null || languages.indexOf(language) < 0) {\n // getting language from browser\n if (languages.indexOf(navigator.language) >= 0) {\n language = navigator.language;\n } else {\n // getting language from one of the browser's languages\n for (const lng of navigator.languages) {\n if (languages.indexOf(lng) >= 0) {\n language = lng;\n break;\n }\n }\n // getting default language\n if (language === null || languages.indexOf(language) < 0) {\n language = default_language;\n }\n }\n }\n await translateService.use(language).toPromise();\n };\n}\n\n/**\n * Get language from WO\n *\n * @param translateService\n * @param languages\n * @param default_language\n */\nexport function setTranslationLanguageFromWO(\n translateService: TranslateService,\n languages = ['fr', 'nl'],\n default_language = 'fr',\n) {\n return async () => {\n translateService.addLangs(languages);\n let language: string | null = localStorage.getItem(\n 'be_social_security_workenv_language',\n );\n if (language !== null) {\n language = language.toLowerCase();\n if (languages.indexOf(language) >= 0) {\n await translateService.use(language).toPromise();\n return;\n }\n }\n await translateService.use(default_language).toPromise();\n };\n}\n","import { Observable } from 'rxjs';\nimport { TranslateLoader } from '@ngx-translate/core';\nimport { OnemRvaCDNService } from '../services';\n\nexport class OnemrvaTranslateCDNLoader implements TranslateLoader {\n constructor(\n private cdn: OnemRvaCDNService,\n public projects: string[] = [],\n public prefix = '/i18n/',\n public suffix = '.json',\n ) {}\n\n /**\n * Gets the translations from the server\n */\n public getTranslation(lang: string): Observable<any> {\n return this.cdn.getTranslations(\n this.projects,\n lang,\n this.prefix,\n this.suffix,\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { TranslateLoader } from '@ngx-translate/core';\n\nexport class OnemrvaTranslateHttpLoader implements TranslateLoader {\n constructor(\n private http: HttpClient,\n public prefix = '/assets/i18n/',\n public suffix = '.json',\n public modules: string[] = [],\n ) {}\n\n /**\n * Gets the translations from the server\n */\n public getTranslation(lang: string): Observable<any> {\n const observables = [\n this.http\n .get(`${this.prefix}${lang}${this.suffix}`)\n .pipe(catchError(() => of(null))),\n ...this.modules.map(m => {\n this.http\n .get(`${this.prefix}${m}/${lang}${this.suffix}`)\n .pipe(catchError(() => of(null)));\n //console.log(`${this.prefix}${m}/${lang}${this.suffix}`);\n }),\n ];\n\n return forkJoin(observables).pipe(\n map(all => {\n return all.filter(v => !!v).reduce((s, c) => ({ ...s, ...c }), {});\n }),\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'onemrvaBce',\n standalone: true,\n})\nexport class OnemrvaBcePipe implements PipeTransform {\n transform(value: string): string {\n const strOut = value.trim().replace(/\\/|\\.|-/g, '');\n\n if (strOut.length !== 10) return '?01?.???.???';\n\n return `${strOut.substring(0, 4)}.${strOut.substring(\n 4,\n 7,\n )}.${strOut.substring(7, 10)}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'onemrvaNiss',\n standalone: true,\n})\nexport class OnemrvaNissPipe implements PipeTransform {\n transform(value: string): string {\n const strOut = value.trim().replace(/\\/|\\.|-/g, '');\n\n if (strOut.length !== 11) return '??01??/???-??';\n\n return `${strOut.substring(0, 6)}/${strOut.substring(\n 6,\n 9,\n )}-${strOut.substring(9, 11)}`;\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport {\n Observable,\n map,\n ReplaySubject,\n skip,\n distinctUntilChanged,\n} from 'rxjs';\nimport { OnemRvaCommonCountry } from '../interfaces';\nimport { LOOKUP_COUNTRY_SERVICE_URL } from '../tokens/inject.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CommonCountryLookupService {\n protected _countries$ = new ReplaySubject<OnemRvaCommonCountry[]>(1);\n protected _customersInitialized = false;\n\n public http = inject(HttpClient);\n private commonCountryServiceURL = inject(LOOKUP_COUNTRY_SERVICE_URL);\n\n public getCountries(refresh = false): Observable<OnemRvaCommonCountry[]> {\n if (refresh || !this._customersInitialized) {\n this._customersInitialized = true;\n this.http\n .get<OnemRvaCommonCountry[]>(this.commonCountryServiceURL)\n .subscribe(countries => {\n this._countries$.next(countries);\n });\n }\n\n return this._countries$.pipe(skip(+refresh), distinctUntilChanged());\n }\n\n public getCountryByCode(code: string | null) {\n return this._countries$.pipe(\n map(countries => {\n const country = countries.find(country => country.code === code);\n\n return country || null;\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpCacheStorage } from '../decorators/HttpCacheDecorator';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CacheService implements HttpCacheStorage {\n setItem(key: string, item: Observable<any>): void {\n //console.log(\"SET \" + key);\n item.subscribe(value => {\n localStorage.setItem(key, JSON.stringify(value));\n });\n }\n\n public getItem(key: string): Observable<any> {\n const r = localStorage.getItem(key);\n if (r === null) {\n return of(null);\n }\n return of(JSON.parse(r));\n }\n\n deleteItem(key: string): void {\n //console.log(\"DELETE \" + key);\n localStorage.removeItem(key);\n }\n}\n","import { Injectable, Renderer2, RendererFactory2, inject } from '@angular/core';\nimport { CDN_URL_MODE, CDN_URLS } from '../constants';\nimport { CDNUrlModeOptions } from '../constants';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map } from 'rxjs/operators';\nimport { HttpRequestCache } from '../decorators';\nimport { CacheService } from './cache.service';\nimport { forkJoin, Observable, of, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNService {\n private rendererFactory = inject(RendererFactory2);\n private cacheService = inject(CacheService);\n private http = inject(HttpClient);\n\n private readonly cdnUrl: string;\n public refresh$ = new Subject();\n private renderer: Renderer2;\n\n constructor() {\n const cdnUrlMode = inject<CDNUrlModeOptions>(CDN_URL_MODE, {\n optional: true,\n });\n\n this.renderer = this.rendererFactory.createRenderer(null, null);\n switch (cdnUrlMode) {\n case CDNUrlModeOptions.PROD:\n this.cdnUrl = CDN_URLS.prod;\n break;\n case CDNUrlModeOptions.VAL:\n this.cdnUrl = CDN_URLS.val;\n break;\n default:\n this.cdnUrl = CDN_URLS.prod;\n }\n const linkElement = this.renderer.createElement('link');\n\n // Set the attributes\n this.renderer.setAttribute(linkElement, 'rel', 'preconnect');\n this.renderer.setAttribute(linkElement, 'href', this.cdnUrl);\n\n // Append the <link> element to the <head>\n this.renderer.appendChild(document.head, linkElement);\n }\n\n public getUrl(path = '') {\n return this.cdnUrl + path;\n }\n\n public getImg(path = '') {\n return this.getUrl('/img/' + path);\n }\n\n public getOri(path = '') {\n return this.getImg('ori/' + path);\n }\n\n @HttpRequestCache<OnemRvaCDNService>(cdnService => ({\n refreshOn: cdnService.refresh$,\n storage: cdnService.cacheService,\n ttl: 3600000,\n }))\n public fetch(endpoint: string) {\n return this.http.get(this.cdnUrl + endpoint);\n }\n\n public fetchNoCache(endpoint: string) {\n return this.http.get(this.cdnUrl + endpoint);\n }\n\n public getTranslations(\n projects: string[],\n lang: string,\n prefix = '',\n suffix = '',\n ): Observable<any> {\n const observables = [\n this.http\n .get(\n `${this.cdnUrl}${prefix}design-system/design-system/${lang}${suffix}`,\n )\n .pipe(catchError(() => of({}))),\n ...projects.map(m => {\n return this.http\n .get(`${this.cdnUrl}${prefix}${m}/${lang}${suffix}`)\n .pipe(\n catchError(() => {\n return of({});\n }),\n );\n }),\n ];\n\n return forkJoin(observables).pipe(\n map(all => {\n return all.filter(v => !!v).reduce((s, c) => ({ ...s, ...c }), {});\n }),\n );\n }\n\n /**\n * Loads a CSS file dynamically into the document head.\n * @param href The URL of the CSS file.\n * @returns A promise that resolves when the CSS file is loaded.\n * //\n */\n loadCss(href: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const existingLink = document.querySelector(`link[href=\"${href}\"]`);\n if (existingLink) {\n resolve(); // CSS is already loaded\n return;\n }\n\n const link = this.renderer.createElement('link');\n this.renderer.setAttribute(link, 'rel', 'stylesheet');\n this.renderer.setAttribute(link, 'type', 'text/css');\n this.renderer.setAttribute(link, 'href', href);\n\n link.onload = () => resolve();\n link.onerror = () => reject(new Error(`Failed to load CSS: ${href}`));\n\n this.renderer.appendChild(document.head, link);\n });\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { map, startWith } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { combineLatestWith, from, Observable } from 'rxjs';\nimport { OnemRvaCDNService } from './cdn.service';\n\nexport interface OnemrvaMaterialCountry {\n code: string;\n name: string;\n dial_code: string;\n zone: string;\n pattern: string;\n placeholder: string;\n translations: {\n fr: string;\n nl: string;\n de: string;\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNCountryService {\n private cdnService = inject(OnemRvaCDNService);\n private translateService = inject(TranslateService);\n\n public getCountries(): Observable<OnemrvaMaterialCountry[]> {\n return this.cdnService.fetch('/json/countries.json').pipe(\n map(response => response as OnemrvaMaterialCountry[]), // ✅ Explicitly cast response\n combineLatestWith(\n from(this.translateService.onLangChange).pipe(\n startWith(this.translateService.currentLang ?? 'fr'),\n map(event => {\n return typeof event === 'string' ? event : event.lang;\n }), // ✅ Ensure it is always a string\n ),\n ),\n map(([response, currentLang]: [OnemrvaMaterialCountry[], string]) => {\n // ✅ Explicit type definition\n return response\n .map((country: OnemrvaMaterialCountry) => ({\n ...country,\n name: this.getTranslatedCountryName(country, currentLang),\n }))\n .sort((a, b) =>\n a.name.toLowerCase().localeCompare(b.name.toLowerCase()),\n );\n }),\n );\n }\n\n public getCountriesByZone(zone: string) {\n return this.getCountries().pipe(\n map(countries => {\n return countries.filter(country => country.zone === zone);\n }),\n );\n }\n\n public getTranslatedCountryName(\n country: OnemrvaMaterialCountry,\n languageCode: string = this.translateService.currentLang,\n ) {\n if (\n languageCode === 'fr' ||\n languageCode === 'nl' ||\n languageCode === 'de'\n ) {\n if (country.translations[languageCode] !== undefined)\n return country.translations[languageCode];\n }\n return country.name;\n }\n\n public findCountryFromCode(code: string) {\n return this.getCountries().pipe(\n map(countries => {\n return countries.find(\n (country: OnemrvaMaterialCountry) =>\n country.code.toLowerCase() === code?.toLowerCase(),\n );\n }),\n );\n }\n\n public findCountryFromVIESCode(code: any) {\n return this.getCountriesByZone('EU').pipe(\n map(countries => {\n return countries.find(\n (country: OnemrvaMaterialCountry) =>\n country.pattern.substring(0, 2) === code?.substring(0, 2),\n );\n }),\n );\n }\n\n public findCountryFromPrefix(number: string | null) {\n if (number === null) number = '';\n return this.getCountries().pipe(\n map(countries => {\n return countries.find((country: OnemrvaMaterialCountry) => {\n return (\n country.dial_code === number.substring(0, country.dial_code.length)\n );\n });\n }),\n );\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { OnemRvaCDNService } from './cdn.service';\nimport { catchError, map } from 'rxjs';\n\nexport interface MimeDefinition {\n extension: string;\n mimeType: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaCDNMimeService {\n private cdnService = inject(OnemRvaCDNService);\n\n static mimetypeFile = '/json/mimetypes.json';\n\n public getMimesForExtension(extensions: string[]) {\n return this.cdnService.fetch(OnemRvaCDNMimeService.mimetypeFile).pipe(\n catchError(() => {\n return [];\n }),\n map(response => {\n return (response as MimeDefinition[])\n .filter(mime => {\n return extensions.includes(mime.extension);\n })\n .map(mime => {\n return mime.mimeType;\n });\n }),\n );\n }\n\n public getExtensionsForMime(mimTypes: string[]) {\n return this.cdnService.fetch(OnemRvaCDNMimeService.mimetypeFile).pipe(\n catchError(() => {\n return [];\n }),\n map(response => {\n return (response as MimeDefinition[])\n .filter(mime => {\n return mimTypes.includes(mime.mimeType);\n })\n .map(mime => {\n return mime.extension;\n });\n }),\n );\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nexport interface OSMAddress {\n house_number?: string;\n road?: string;\n village?: string;\n municipality?: string;\n county?: string;\n town?: string;\n state?: string;\n 'ISO3166-2-lvl6'?: string;\n postcode?: string;\n neighbourhood?: string;\n city_district?: string;\n city?: string;\n region?: string;\n suburb?: string;\n country?: string;\n country_code?: string;\n}\n\nexport interface OSMResult {\n place_id: number;\n licence: string;\n osm_type: string;\n osm_id: number;\n lat: string;\n lon: string;\n class: string;\n type: string;\n place_rank: number;\n importance: number;\n addresstype: string;\n name: string;\n display_name: string;\n address: OSMAddress;\n boundingbox: [string, string, string, string];\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OnemRvaOSMService {\n private http = inject(HttpClient);\n\n private nominatimUrl = 'https://nominatim.openstreetmap.org/search';\n\n searchAddress(\n query: string,\n countryCodes: string[] = ['be'],\n format = 'json',\n addressdetails = 1,\n limit = 10,\n ): Observable<OSMResult[]> {\n const params = new HttpParams()\n .set('q', query)\n .set('format', format)\n // .set('accept-language', 'fr') // TODO how do we manage multiple languages ??\n .set('countrycodes', countryCodes.join(','))\n .set('addressdetails', addressdetails)\n .set('limit', limit);\n\n return this.http.get<OSMResult[]>(this.nominatimUrl, { params });\n }\n}\n","import { ErrorHandler, Injectable } from '@angular/core';\n\n@Injectable()\nexport class OnemrvaErrorHandler implements ErrorHandler {\n handleError(error: any) {\n console.error(error);\n //alert(\"Error: \" + error.message);\n // this._snackBar.open(`Error: ${error.message}`, '', {\n // duration: 5000,\n // panelClass: 'mat-primary',\n // horizontalPosition: this.horizontalPosition,\n // verticalPosition: this.verticalPosition,\n // });\n }\n}\n","import {\n MissingTranslationHandler,\n MissingTranslationHandlerParams,\n} from '@ngx-translate/core';\n\nexport class OnemrvaMissingTranslationHandler implements MissingTranslationHandler {\n handle(params: MissingTranslationHandlerParams) {\n return `???${params.key}???`;\n }\n}\n","import { ValidationErrors } from '@angular/forms';\nimport { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class OnemrvaValidators {\n private static bceValidator(required = false, control: AbstractControl) {\n if (control.value === null || control.value.trim() === '') {\n return !required ? null : { bceNull: true };\n }\n\n const bceCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (bceCandidate.length !== 10)\n return { bceLengthError: { value: bceCandidate } };\n\n if (Number.isNaN(+bceCandidate)) return { bceNan: { value: bceCandidate } };\n\n return null;\n }\n\n static bce(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n return this.bceValidator(required, control);\n };\n }\n\n private static nissValidator(required = false, control: AbstractControl) {\n if (control.value === null || control.value.trim() === '') {\n return !required ? null : { nissNull: true };\n }\n\n const nissCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (nissCandidate.length !== 11) {\n return { nissLengthError: { value: nissCandidate } };\n }\n\n if (Number.isNaN(+nissCandidate)) {\n return { nissNan: { value: nissCandidate } };\n }\n\n // Niss day and year are actual values, the month can be different according to the logic below\n // [20-32] & [40-52] => foreigners & temporary NISS values\n // it is not necessary to check for the actual date to be valid\n\n const checksumValue = nissCandidate.substring(9);\n const nissNumbersToCheck = nissCandidate.substring(0, 9);\n const isValidChecksumYear1900 =\n 97 - (+nissNumbersToCheck % 97) === +checksumValue;\n const isValidChecksumYear2000 =\n 97 - (+`2${nissNumbersToCheck}` % 97) === +checksumValue;\n\n if (!isValidChecksumYear1900 && !isValidChecksumYear2000) {\n return { nissCheckDigitError: { value: nissCandidate } };\n }\n\n /*\n Below checks aren't really necessary but are here to exclude even more potential errors\n We could still improve this to include february days & 30 day months + the real potential ranges\n */\n const monthString = nissCandidate.substring(2, 4);\n const month = parseInt(monthString) - 1;\n const real_month = (parseInt(monthString) % 20) - 1;\n\n if (real_month > 11 || month > 51) {\n return { nissInvalidMonth: { value: nissCandidate } };\n }\n\n const day = +nissCandidate.substring(4, 6);\n if (day > 31) {\n return { nissInvalidDate: { value: nissCandidate } };\n }\n\n return null;\n }\n\n static niss(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n return this.nissValidator(required, control);\n };\n }\n\n static nissOrBce(required = false): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value === null || control.value.trim() === '')\n return !required ? null : { nissNull: true };\n\n const nissCandidate = control.value.trim().replace(/\\/|\\.|-/g, '');\n\n if (control.value.length === 11) {\n return this.nissValidator(required, control);\n } else if (control.value.length === 10) {\n return this.bceValidator(required, control);\n }\n return { lengthError: { value: nissCandidate } };\n };\n }\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport {\n validateIBAN,\n electronicFormatIBAN,\n countrySpecs,\n ValidationErrorsIBAN,\n} from 'ibantools';\n\nexport const IBAN_SUPPORTED_COUNTRIES = Object.entries(countrySpecs)\n .filter(value => {\n return value[1].IBANRegistry;\n })\n .map(value => {\n return value[0];\n });\n\nexport const SEPA_ONLY_SUPPORTED_COUNTRIES = Object.entries(countrySpecs)\n .filter(value => {\n return value[1].SEPA;\n })\n .map(value => {\n return value[0];\n });\n\nconst internValidateIban = (iban = '') => {\n return validateIBAN(electronicFormatIBAN(iban) || undefined);\n};\n\nexport const bankAccountValidator = (allowEmptyCountry = true): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n console.log(control);\n let finalErrorCodes: number[] = [];\n if (typeof control.getRawValue() === 'string') {\n const regex = /^[a-zA-Z]{2}/;\n if (regex.test(control.getRawValue().substring(0, 2))) {\n const { valid: _valid, errorCodes } = internValidateIban(control.value);\n finalErrorCodes = errorCodes;\n } else if (!allowEmptyCountry) {\n finalErrorCodes.push(ValidationErrorsIBAN.NoIBANCountry);\n }\n } else {\n const countryCodeValue: string = control.value\n ? control.value['countryCode']\n : '';\n const bankNumber: string = control.value ? control.value['bban'] : '';\n\n if (countryCodeValue !== '') {\n const { valid: _valid, errorCodes } = internValidateIban(\n `${countryCodeValue}${bankNumber}`,\n );\n finalErrorCodes = errorCodes;\n } else if (!allowEmptyCountry) {\n //\n }\n }\n\n if (finalErrorCodes.length === 0) {\n return null;\n }\n\n const validationErrors: Record<string, { value: any }> = {};\n finalErrorCodes.forEach(errCode => {\n const key = ValidationErrorsIBAN[errCode];\n validationErrors[key] = { value: control.getRawValue() };\n });\n\n return validationErrors;\n };\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport parsePhoneNumber from 'libphonenumber-js';\n\nexport const phoneNumberValidator = (): ValidatorFn => {\n return (_control: AbstractControl): ValidationErrors | null => {\n const code: string = _control.get('countryCode')?.getRawValue() ?? '';\n\n let number: string = code + _control.getRawValue();\n\n if (number === '') {\n return null;\n }\n\n try {\n number = number.replace(code, '');\n const parsedNumber = parsePhoneNumber(number);\n\n if (parsedNumber?.isValid()) {\n return null;\n }\n } catch (e: any) {\n console.warn(e.message);\n return { phoneNumber: { value: 'input.phone.invalid' } };\n }\n return { phoneNumber: { value: 'input.phone.invalid' } };\n };\n};\n","import { NgModule } from '@angular/core';\nimport { directives } from './directives';\n\n@NgModule({\n imports: [...directives],\n exports: [...directives],\n})\nexport class OnemrvaSharedModule {}\n","import { Injectable, OnDestroy, inject } from '@angular/core';\nimport { NativeDateAdapter } from '@angular/material/core';\nimport { DateTime } from 'luxon';\n\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';\n\n@Injectable()\nexport class OnemrvaNativeDateAdapter\n extends NativeDateAdapter\n implements OnDestroy\n{\n private translateService = inject(TranslateService);\n\n private destroyNotifier$ = new Subject<void>();\n\n override localeChanges = new Subject<any>();\n\n constructor() {\n super();\n\n this.setLocale(this.translateService.currentLang);\n this.localeChanges.next(this);\n if (this.translateService !== undefined) {\n this.translateService.onLangChange\n .pipe(takeUntil(this.destroyNotifier$))\n .subscribe(({ lang }) => {\n this.setLocale(lang);\n this.localeChanges.next(this);\n });\n }\n }\n\n override format(date: Date, formats: any): string {\n const dt = DateTime.fromJSDate(date);\n return dt.toFormat(formats);\n }\n\n override parse(value: any): Date | null {\n const formats = ONEMRVA_MAT_NATIVE_DATE_FORMAT;\n if (value && typeof value === 'string') {\n value = value.replace(/\\D/g, '/');\n }\n\n if (value === null || value === '') {\n return null;\n }\n\n const dt = DateTime.fromFormat(value, formats.display.dateInput, {\n locale: this.locale,\n });\n\n if (dt.isValid) {\n return dt.toJSDate();\n }\n\n for (const format of formats.parse.dateInput) {\n const parsed = DateTime.fromFormat(value, format, {\n locale: this.locale,\n });\n if (parsed.isValid) {\n return parsed.toJSDate();\n }\n }\n\n return this.invalid();\n }\n\n override getFirstDayOfWeek(): number {\n return 1;\n }\n\n ngOnDestroy() {\n this.destroyNotifier$.next();\n this.destroyNotifier$.complete();\n }\n}\n","import { CalendarSystem as LuxonCalendarSystem } from 'luxon';\nimport { InjectionToken } from '@angular/core';\n\n/** Configurable options for the `LuxonDateAdapter`. */\nexport interface MatLuxonDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n useUtc: boolean;\n\n /**\n * Sets the first day of week.\n * Changing this will change how Angular Material components like DatePicker shows start of week.\n */\n firstDayOfWeek: number;\n\n /**\n * Sets the output Calendar.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n defaultOutputCalendar: LuxonCalendarSystem;\n}\n\n/** InjectionToken for LuxonDateAdapter to configure options. */\nexport const MAT_LUXON_DATE_ADAPTER_OPTIONS =\n new InjectionToken<MatLuxonDateAdapterOptions>(\n 'MAT_LUXON_DATE_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY,\n },\n );\n\n/** @docs-private */\nexport function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): MatLuxonDateAdapterOptions {\n return {\n useUtc: false,\n firstDayOfWeek: 0,\n defaultOutputCalendar: 'gregory',\n };\n}\n\n/** Creates an array and fills it with values. */\nexport function luxonRange<T>(\n length: number,\n valueFunction: (index: number) => T,\n): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport { Injectable, inject } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport {\n DateTime as LuxonDateTime,\n Info as LuxonInfo,\n DateTimeOptions as LuxonDateTimeOptions,\n CalendarSystem as LuxonCalendarSystem,\n} from 'luxon';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n luxonRange,\n MAT_LUXON_DATE_ADAPTER_OPTIONS,\n MatLuxonDateAdapterOptions,\n} from './luxon.utils';\n\n/** Adapts Luxon Dates for use with Angular Material. */\n@Injectable()\nexport class OnemrvaLuxonDateAdapter extends DateAdapter<LuxonDateTime> {\n private translateService = inject(TranslateService);\n\n private _useUTC: boolean;\n private _firstDayOfWeek: number;\n private _defaultOutputCalendar: LuxonCalendarSystem;\n\n constructor() {\n super();\n\n const dateLocale = inject(MAT_DATE_LOCALE, { optional: true });\n const options = inject<MatLuxonDateAdapterOptions>(\n MAT_LUXON_DATE_ADAPTER_OPTIONS,\n {\n optional: true,\n },\n );\n\n this._useUTC = !!options?.useUtc;\n this._firstDayOfWeek = options?.firstDayOfWeek || 0;\n this._defaultOutputCalendar = options?.defaultOutputCalendar || 'gregory';\n this.setLocale(dateLocale || LuxonDateTime.local().locale);\n\n this.setLocale(this.translateService.currentLang);\n if (this.translateService !== undefined) {\n this.translateService.onLangChange\n .pipe(takeUntilDestroyed())\n .subscribe(({ lang }) => {\n this.setLocale(lang);\n });\n }\n }\n\n getYear(date: LuxonDateTime): number {\n return date.year;\n }\n\n getMonth(date: LuxonDateTime): number {\n // Luxon works with 1-indexed months whereas our code expects 0-indexed.\n return date.month - 1;\n }\n\n getDate(date: LuxonDateTime): number {\n return date.day;\n }\n\n getDayOfWeek(date: LuxonDateTime): number {\n return date.weekday;\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Adding outputCalendar option, because LuxonInfo doesn't get effected by LuxonSettings\n return LuxonInfo.months(style, {\n locale: this.locale,\n outputCalendar: this._defaultOutputCalendar,\n });\n }\n\n getDateNames(): string[] {\n // At the time of writing, Luxon doesn't offer similar\n // functionality so we have to fall back to the Intl API.\n const dtf = new Intl.DateTimeFormat(this.locale, {\n day: 'numeric',\n timeZone: 'utc',\n });\n\n // Format a UTC date in order to avoid DST issues.\n return luxonRange(31, i =>\n dtf.format(LuxonDateTime.utc(2017, 1, i + 1).toJSDate()),\n );\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Note that we shift the array once, because Luxon returns Monday as the\n // first day of the week, whereas our logic assumes that it's Sunday. See:\n // https://moment.github.io/luxon/api-docs/index.html#infoweekdays\n const days = LuxonInfo.weekdays(style, { locale: this.locale });\n days.unshift(days.pop()!);\n return days;\n }\n\n getYearName(date: LuxonDateTime): string {\n return date.toFormat('yyyy', this._getOptions());\n }\n\n getFirstDayOfWeek(): number {\n return this._firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: LuxonDateTime): number {\n return date.daysInMonth!;\n }\n\n clone(date: LuxonDateTime): LuxonDateTime {\n return LuxonDateTime.fromObject(date.toObject(), this._getOptions());\n }\n\n createDate(year: number, month: number, date: number): LuxonDateTime {\n const options = this._getOptions();\n\n if (month < 0 || month > 11) {\n throw Error(\n `Invalid month index \"${month}\". Month index has to be between 0 and 11.`,\n );\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n // Luxon uses 1-indexed months so we need to add one to the month.\n const result = this._useUTC\n ? LuxonDateTime.utc(year, month + 1, date, options)\n : LuxonDateTime.local(year, month + 1, date, options);\n\n if (!this.isValid(result)) {\n throw Error(`Invalid date \"${date}\". Reason: \"${result.invalidReason}\".`);\n }\n\n return result;\n }\n\n today(): LuxonDateTime {\n const options = this._getOptions();\n\n return this._useUTC\n ? LuxonDateTime.utc(options)\n : LuxonDateTime.local(options);\n }\n\n parse(value: any, parseFormat: string | string[]): LuxonDateTime | null {\n const options: LuxonDateTimeOptions = this._getOptions();\n\n if (typeof value == 'string' && value.length > 0) {\n // This is screwing things up as 062005 would become 05 0602\n // const iso8601Date = LuxonDateTime.fromISO(value, options);\n //\n // if (this.isValid(iso8601Date)) {\n // console.log(iso8601Date);\n // return iso8601Date;\n // }\n\n const formats = Array.isArray(parseFormat) ? parseFormat : [parseFormat];\n\n if (!parseFormat.length) {\n throw Error('Formats array must not be empty.');\n }\n\n for (const format of formats) {\n const fromFormat = LuxonDateTime.fromFormat(value, format, options);\n\n if (this.isValid(fromFormat)) {\n return fromFormat;\n }\n }\n return this.invalid();\n } else if (typeof value === 'number') {\n return LuxonDateTime.fromMillis(value, options);\n } else if (value instanceof Date) {\n return LuxonDateTime.fromJSDate(value, options);\n } else if (value instanceof LuxonDateTime) {\n return LuxonDateTime.fromMillis(value.toMillis(), options);\n }\n\n return null;\n }\n\n format(date: LuxonDateTime, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('LuxonDateAdapter: Cannot format invalid date.');\n }\n if (this._useUTC) {\n return date.setLocale(this.locale).setZone('utc').toFormat(displayFormat);\n } else {\n return date.setLocale(this.locale).toFormat(displayFormat);\n }\n }\n\n addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ years });\n }\n\n addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ months });\n }\n\n addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ days });\n }\n\n toIso8601(date: LuxonDateTime): string {\n return date.toISO()!;\n }\n\n /**\n * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty\n * string into null. Returns an invalid date for all other values.\n */\n override deserialize(value: any): LuxonDateTime | null {\n const options = this._getOptions();\n let date: LuxonDateTime | undefined;\n if (value instanceof Date) {\n date = LuxonDateTime.fromJSDate(value, options);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = LuxonDateTime.fromISO(value, options);\n }\n if (date && this.isValid(date)) {\n return date;\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return obj instanceof LuxonDateTime;\n }\n\n isValid(date: LuxonDateTime): boolean {\n return date.isValid;\n }\n\n invalid(): LuxonDateTime {\n return LuxonDateTime.invalid('Invalid Luxon DateTime object.');\n }\n\n override setTime(\n target: LuxonDateTime,\n hours: number,\n minutes: number,\n seconds: number,\n ): LuxonDateTime {\n //if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (hours < 0 || hours > 23) {\n throw Error(\n `Invalid hours \"${hours}\". Hours value must be between 0 and 23.`,\n );\n }\n\n if (minutes < 0 || minutes > 59) {\n throw Error(\n `Invalid minutes \"${minutes}\". Minutes value must be between 0 and 59.`,\n );\n }\n\n if (seconds < 0 || seconds > 59) {\n throw Error(\n `Invalid seconds \"${seconds}\". Seconds value must be between 0 and 59.`,\n );\n }\n //}\n\n return this.clone(target).set({\n hour: hours,\n minute: minutes,\n second: seconds,\n millisecond: 0,\n });\n }\n\n override getHours(date: LuxonDateTime): number {\n return date.hour;\n }\n\n override getMinutes(date: LuxonDateTime): number {\n return date.minute;\n }\n\n override getSeconds(date: LuxonDateTime): number {\n return date.second;\n }\n\n override parseTime(\n value: any,\n parseFormat: string | string[],\n ): LuxonDateTime | null {\n const result = this.parse(value, parseFormat);\n\n if ((!result || !this.isValid(result)) && typeof value === 'string') {\n // It seems like Luxon doesn't work well cross-browser for strings that have\n // additional characters around the time. Try parsing without those characters.\n return (\n this.parse(value.replace(/[^0-9:(AM|PM)]/gi, ''), parseFormat) || result\n );\n }\n\n return result;\n }\n\n override addSeconds(date: LuxonDateTime, amount: number): LuxonDateTime {\n return date.reconfigure(this._getOptions()).plus({ seconds: amount });\n }\n\n /** Gets the options that should be used when constructing a new `DateTime` object. */\n private _getOptions(): LuxonDateTimeOptions {\n return {\n zone: this._useUTC ? 'utc' : undefined,\n locale: this.locale,\n outputCalendar: this._defaultOutputCalendar,\n };\n }\n}\n","import { Provider } from '@angular/core';\nimport { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';\nimport { ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT } from '../constants';\nimport { OnemrvaNativeDateAdapter } from '../adapters';\n\nexport function onemrvaDateNativeYearMonthProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaNativeDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';\nimport { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';\nimport { OnemrvaNativeDateAdapter } from '../adapters';\n\nexport function onemrvaDateNativeProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_NATIVE_DATE_FORMAT,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaNativeDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { ONEMRVA_MAT_LUXON_DATE_FORMATS } from '../constants';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { OnemrvaLuxonDateAdapter } from '../adapters';\n\nexport function onemrvaDateLuxonProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_LUXON_DATE_FORMATS,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaLuxonDateAdapter,\n },\n ];\n}\n","import { Provider } from '@angular/core';\nimport { ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS } from '../constants';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { OnemrvaLuxonDateAdapter } from '../adapters';\n\nexport function onemrvaDateLuxonYearMonthProvider(): Provider[] {\n return [\n {\n provide: MAT_DATE_FORMATS,\n useValue: ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS,\n },\n {\n provide: DateAdapter,\n useClass: OnemrvaLuxonDateAdapter,\n },\n ];\n}\n","// Auto-generated — do not edit\nexport const VERSION = '21.2.0-develop.3';\n","import { ErrorHandler, makeEnvironmentProviders } from '@angular/core';\nimport {\n MAT_FORM_FIELD_DEFAULT_OPTIONS,\n MatFormFieldDefaultOptions,\n} from '@angular/material/form-field';\nimport { OverlayContainer } from '@angular/cdk/overlay';\nimport { WebComponentOverlayContainer } from '../containers';\nimport { OnemrvaErrorHandler } from '../services';\n\nimport { inject, DOCUMENT } from '@angular/core';\nimport { provideAppInitializer } from '@angular/core';\nimport { VERSION } from '../version';\n\nexport function onemrvaThemeProvider() {\n return makeEnvironmentProviders([\n {\n provide: ErrorHandler,\n useClass: OnemrvaErrorHandler,\n },\n // {\n // provide: CDN_URL_MODE,\n // useValue: CDNUrlModeOptions.PROD,\n // },\n // {\n // provide: LOOKUP_COUNTRY_SERVICE_URL,\n // useValue: 'assets/mock/countries.json',\n // },\n provideAppInitializer(() => {\n const document = inject(DOCUMENT);\n const ATTRIBUTE_NAME = 'ds-version';\n const existing = document.body.getAttribute(ATTRIBUTE_NAME);\n const versions = existing ? existing.split(',').map(v => v.trim()) : [];\n\n if (!versions.includes(VERSION)) {\n versions.push(VERSION);\n document.body.setAttribute(ATTRIBUTE_NAME, versions.join(', '));\n }\n }),\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: {\n appearance: 'outline',\n floatLabel: 'always',\n subscriptSizing: 'dynamic',\n } as MatFormFieldDefaultOptions,\n },\n {\n provide: OverlayContainer,\n useClass: WebComponentOverlayContainer,\n },\n ]);\n}\n","/*\n * Public API Surface of shared\n */\n\nexport * from './src/lib/components';\nexport * from './src/lib/constants';\nexport * from './src/lib/containers';\nexport * from './src/lib/decorators';\nexport * from './src/lib/directives';\nexport * from './src/lib/helpers';\nexport * from './src/lib/loaders';\nexport * from './src/lib/interfaces';\nexport * from './src/lib/pipes';\nexport * from './src/lib/services';\nexport * from './src/lib/validators';\nexport * from './src/lib/shared.module';\nexport * from './src/lib/adapters';\nexport * from './src/lib/providers';\nexport * from './src/lib/tokens';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["catchError","map","startWith","i1.DigitOnlyDirective","i2.MatRowClickableDirective","i3.OnemRvaClipboardDirective","i4.OnemRvaIconRightDirective","i5.IfWidthIsDirective","i6.OnemRvaColorDirective","i7.OnemrvaMaskDirective","i8.OnemrvaDateFormatDirective","i9.OnemRvaReadonlyDirective","LuxonDateTime","LuxonInfo","DOCUMENT"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // Auto-generated — do not edit
2
- const VERSION = '21.2.0-develop.2';
2
+ const VERSION = '21.2.0-develop.3';
3
3
 
4
4
  const ɵɵtsModuleIndicatorApiExtractorWorkaround = true;
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system.mjs","sources":["../../../../projects/onemrva/design-system/version.ts","../../../../projects/onemrva/design-system/index.ts","../../../../projects/onemrva/design-system/onemrvapublic-design-system.ts"],"sourcesContent":["// Auto-generated — do not edit\nexport const VERSION = '21.2.0-develop.2';\n","export { VERSION } from './version';\n\nexport const ɵɵtsModuleIndicatorApiExtractorWorkaround = true;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AACO,MAAM,OAAO,GAAG;;ACChB,MAAM,yCAAyC,GAAG;;ACFzD;;AAEG;;;;"}
1
+ {"version":3,"file":"onemrvapublic-design-system.mjs","sources":["../../../../projects/onemrva/design-system/version.ts","../../../../projects/onemrva/design-system/index.ts","../../../../projects/onemrva/design-system/onemrvapublic-design-system.ts"],"sourcesContent":["// Auto-generated — do not edit\nexport const VERSION = '21.2.0-develop.3';\n","export { VERSION } from './version';\n\nexport const ɵɵtsModuleIndicatorApiExtractorWorkaround = true;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AACO,MAAM,OAAO,GAAG;;ACChB,MAAM,yCAAyC,GAAG;;ACFzD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onemrvapublic/design-system",
3
- "version": "21.2.0-develop.3",
3
+ "version": "21.2.0-develop.4",
4
4
  "description": "Design System Onem/Rva without theme included",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,4 +1,4 @@
1
- declare const VERSION = "21.2.0-develop.2";
1
+ declare const VERSION = "21.2.0-develop.3";
2
2
 
3
3
  declare const ɵɵtsModuleIndicatorApiExtractorWorkaround = true;
4
4