@bravobit/bb-foundation 0.23.0 → 0.23.3
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/esm2020/auth/lib/auth.interceptor.mjs +3 -3
- package/esm2020/auth/lib/auth.module.mjs +4 -4
- package/esm2020/auth/lib/auth.service.mjs +3 -3
- package/esm2020/auth/lib/directives/authenticated.directive.mjs +3 -3
- package/esm2020/auth/lib/directives/permission.directive.mjs +3 -3
- package/esm2020/auth/lib/guards/anonymous.guard.mjs +3 -3
- package/esm2020/auth/lib/guards/authenticated.guard.mjs +3 -3
- package/esm2020/auth/lib/guards/permission.guard.mjs +3 -3
- package/esm2020/auth/lib/permissions/permissions.service.mjs +3 -3
- package/esm2020/collections/lib/collections.module.mjs +4 -4
- package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
- package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
- package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
- package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +3 -3
- package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +3 -3
- package/esm2020/controls/lib/checkbox/checkbox.module.mjs +4 -4
- package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +3 -3
- package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +3 -3
- package/esm2020/controls/lib/control-error/control-error.module.mjs +4 -4
- package/esm2020/controls/lib/controls.module.mjs +4 -4
- package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +3 -3
- package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +3 -3
- package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +3 -3
- package/esm2020/controls/lib/form-control/form-control.module.mjs +4 -4
- package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
- package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
- package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
- package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +3 -3
- package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +3 -3
- package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
- package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
- package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +4 -4
- package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
- package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
- package/esm2020/dialog/lib/dialog.module.mjs +4 -4
- package/esm2020/dialog/lib/dialog.service.mjs +3 -3
- package/esm2020/elements/lib/avatar/avatar.component.mjs +3 -3
- package/esm2020/elements/lib/button/button.component.mjs +6 -6
- package/esm2020/elements/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2020/elements/lib/date-picker/date-picker.component.mjs +3 -3
- package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
- package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
- package/esm2020/elements/lib/directives/form-submitter.directive.mjs +3 -3
- package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
- package/esm2020/elements/lib/dropdown/dropdown.component.mjs +7 -7
- package/esm2020/elements/lib/elements.module.mjs +4 -4
- package/esm2020/elements/lib/file-picker/file-picker.component.mjs +3 -3
- package/esm2020/elements/lib/form-control/form-control.component.mjs +3 -3
- package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
- package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
- package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
- package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
- package/esm2020/elements/lib/pipes/file-image.pipe.mjs +3 -3
- package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
- package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
- package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
- package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
- package/esm2020/http/lib/http.module.mjs +5 -5
- package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
- package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
- package/esm2020/lib/core/services/clipboard.service.mjs +4 -4
- package/esm2020/lib/core/services/exif.service.mjs +3 -3
- package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
- package/esm2020/lib/core/services/image-converter.service.mjs +3 -3
- package/esm2020/lib/core/services/languages.service.mjs +3 -3
- package/esm2020/lib/core/services/network.service.mjs +4 -4
- package/esm2020/lib/core/services/patch.service.mjs +4 -4
- package/esm2020/localize/lib/localize.module.mjs +7 -6
- package/esm2020/localize/lib/localize.pipe.mjs +9 -11
- package/esm2020/localize/lib/localize.service.mjs +14 -10
- package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
- package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
- package/esm2020/masking/lib/directives/currency-mask.directive.mjs +3 -3
- package/esm2020/masking/lib/directives/date-mask.directive.mjs +3 -3
- package/esm2020/masking/lib/directives/input-mask.directive.mjs +3 -3
- package/esm2020/masking/lib/masking.module.mjs +4 -4
- package/esm2020/masking/lib/masking.service.mjs +3 -3
- package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
- package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +3 -3
- package/esm2020/notifications/lib/notifications.module.mjs +4 -4
- package/esm2020/notifications/lib/notifications.service.mjs +3 -3
- package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
- package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +4 -4
- package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
- package/esm2020/storage/lib/storage.service.mjs +3 -3
- package/esm2020/table/lib/components/table/table.component.mjs +9 -9
- package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
- package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
- package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +3 -3
- package/esm2020/table/lib/table.module.mjs +4 -4
- package/esm2020/theming/lib/theming.directive.mjs +3 -3
- package/esm2020/theming/lib/theming.module.mjs +4 -4
- package/esm2020/utils/lib/directives/autosize.directive.mjs +3 -3
- package/esm2020/utils/lib/directives/focus-trap.directive.mjs +3 -3
- package/esm2020/utils/lib/directives/focus.directive.mjs +3 -3
- package/esm2020/utils/lib/directives/template.directive.mjs +3 -3
- package/esm2020/utils/lib/utils.module.mjs +4 -4
- package/fesm2015/bravobit-bb-foundation-auth.mjs +28 -28
- package/fesm2015/bravobit-bb-foundation-collections.mjs +22 -22
- package/fesm2015/bravobit-bb-foundation-controls.mjs +37 -37
- package/fesm2015/bravobit-bb-foundation-dashboard.mjs +25 -25
- package/fesm2015/bravobit-bb-foundation-dialog.mjs +31 -31
- package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-elements.mjs +76 -76
- package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-http.mjs +10 -10
- package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-localize.mjs +38 -35
- package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-masking.mjs +16 -16
- package/fesm2015/bravobit-bb-foundation-notifications.mjs +13 -13
- package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +10 -10
- package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-storage.mjs +3 -3
- package/fesm2015/bravobit-bb-foundation-table.mjs +22 -22
- package/fesm2015/bravobit-bb-foundation-theming.mjs +7 -7
- package/fesm2015/bravobit-bb-foundation-utils.mjs +16 -16
- package/fesm2015/bravobit-bb-foundation.mjs +21 -21
- package/fesm2015/bravobit-bb-foundation.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-auth.mjs +28 -28
- package/fesm2020/bravobit-bb-foundation-collections.mjs +22 -22
- package/fesm2020/bravobit-bb-foundation-controls.mjs +37 -37
- package/fesm2020/bravobit-bb-foundation-dashboard.mjs +25 -25
- package/fesm2020/bravobit-bb-foundation-dialog.mjs +31 -31
- package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-elements.mjs +76 -76
- package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-http.mjs +10 -10
- package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-localize.mjs +33 -31
- package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-masking.mjs +16 -16
- package/fesm2020/bravobit-bb-foundation-notifications.mjs +13 -13
- package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +10 -10
- package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-storage.mjs +3 -3
- package/fesm2020/bravobit-bb-foundation-table.mjs +22 -22
- package/fesm2020/bravobit-bb-foundation-theming.mjs +7 -7
- package/fesm2020/bravobit-bb-foundation-utils.mjs +16 -16
- package/fesm2020/bravobit-bb-foundation.mjs +21 -21
- package/fesm2020/bravobit-bb-foundation.mjs.map +1 -1
- package/localize/lib/localize.module.d.ts +1 -1
- package/localize/lib/localize.pipe.d.ts +3 -3
- package/localize/lib/localize.service.d.ts +4 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravobit-bb-foundation-localize.mjs","sources":["../../../projects/bb-foundation/localize/src/lib/interfaces/config.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/interfaces/functions.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/interfaces/transforms.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/functions/lowercase.function.ts","../../../projects/bb-foundation/localize/src/lib/functions/uppercase.function.ts","../../../projects/bb-foundation/localize/src/lib/functions/date.function.ts","../../../projects/bb-foundation/localize/src/lib/localizations/english.localization.ts","../../../projects/bb-foundation/localize/src/lib/localizations/dutch.localization.ts","../../../projects/bb-foundation/localize/src/lib/handlers/missing.handler.ts","../../../projects/bb-foundation/localize/src/lib/dictionary/dictionary.data.ts","../../../projects/bb-foundation/localize/src/lib/dictionary/dictionary.context.ts","../../../projects/bb-foundation/localize/src/lib/dictionary/dictionary.class.ts","../../../projects/bb-foundation/localize/src/lib/transforms/abstract.transform.ts","../../../projects/bb-foundation/localize/src/lib/transforms/interpolate.transform.ts","../../../projects/bb-foundation/localize/src/lib/transforms/reference.transform.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-template.directive.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-string/localize-string.component.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-string/localize-string.component.html","../../../projects/bb-foundation/localize/src/lib/localize.service.ts","../../../projects/bb-foundation/localize/src/lib/localize.pipe.ts","../../../projects/bb-foundation/localize/src/lib/localize.module.ts","../../../projects/bb-foundation/localize/src/bravobit-bb-foundation-localize.ts"],"sourcesContent":["import {LocalizeDictionaryData} from '../dictionary/dictionary.data';\n\n//\n// The configuration that can be passed when\n// the user initializes the localize module.\n//\n\nexport class LocalizeConfig {\n languages: LocalizeConfigLanguage[];\n mode?: 'automatic' | 'manual';\n storageToken?: string;\n substitutions?: {\n references?: [leftSubstitution: string, rightSubstitution: string];\n interpolation?: [leftSubstitution: string, rightSubstitution: string];\n };\n}\n\nexport interface LocalizeConfigLanguage {\n id: string;\n locale: string;\n supported: string[];\n data: () => LocalizeDictionaryData | Promise<LocalizeDictionaryData>;\n}\n","import {InjectionToken} from '@angular/core';\n\n//\n// This is the interface that handles the localize functions.\n// every localize function needs to conform to this interface.\n// The interface allows the user to transform a token into\n// another value.\n//\n\nexport interface LocalizeFunction {\n\n keyword(): string;\n\n transform(value: string, locale?: string): string;\n\n}\n\n//\n// This is the interface that handles the map\n// of all the localize functions.\n//\n\nexport interface LocalizeFunctionMap {\n [keyword: string]: LocalizeFunction;\n}\n\n//\n// This is the injection token that will be injected\n// into the service so that the all localize functions\n// can retrieved and used.\n//\n\nexport const LOCALIZE_FUNCTION\n : InjectionToken<LocalizeFunction[]>\n = new InjectionToken('localize_function');\n","import {LocalizeTransform} from '../transforms/abstract.transform';\nimport {InjectionToken} from '@angular/core';\n\nexport const LOCALIZE_TRANSFORM\n : InjectionToken<LocalizeTransform[]>\n = new InjectionToken('localize_transform');\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\n\n//\n// This function transform the value\n// to a lowercase variant of the value.\n//\n\nexport class LocalizeLowercaseFunction implements LocalizeFunction {\n\n keyword() {\n return 'lowercase';\n }\n\n transform(value: string) {\n return (value ?? '').toLowerCase();\n }\n\n}\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\n\n//\n// This function transform the value\n// to a uppercase variant of the value.\n//\n\nexport class LocalizeUppercaseFunction implements LocalizeFunction {\n\n keyword() {\n return 'uppercase';\n }\n\n transform(value: string) {\n return (value ?? '').toUpperCase();\n }\n\n}\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\nimport {formatDate} from '@angular/common';\n\n//\n// This function transform the value\n// to a localized date.\n//\n\nexport class LocalizeDateFunction implements LocalizeFunction {\n\n keyword() {\n return 'date';\n }\n\n transform(value: string, locale?: string) {\n const date = new Date(value);\n\n if (date.toString() === 'Invalid Date') {\n return '?';\n }\n\n return formatDate(date, 'longDate', locale);\n }\n\n}\n","export const extraEnglishDictionary = {\n 'form-control-errors': {\n 'unknown': 'The field has an unknown error.',\n 'required': 'This field is required.',\n 'pattern': 'Invalid format.',\n 'email': 'The field does not match a valid email address.',\n 'emailTaken': 'The e-mail is already taken.',\n 'passwordMatch': 'The passwords don\\'t match.',\n 'confirm': 'The field does not match.',\n 'fullNumber': 'The field should be a full number.',\n 'min': 'Minimum amount should be {{min}}.',\n 'max': 'Maximum amount should be {{max}}.',\n 'invalidFileType': 'The file type is not allowed.',\n 'maxFileSize': 'The file has exceed the maximum amount of {{maxSize}}.',\n 'minDate': 'The first accepted date is {{date|date}}.',\n 'maxDate': 'The last accepted date is {{date|date}}.',\n 'invalidDate': 'The field contains an invalid date.',\n 'minlength': 'Expected a minimum of {{requiredLength}} characters but got {{actualLength}} characters.',\n 'maxlength': 'Expected a maximum of {{requiredLength}} characters but got {{actualLength}} characters.'\n },\n 'tables': {\n 'search': 'Search...',\n 'loading': 'Loading...',\n 'empty': 'There is nothing to find here.',\n 'page': 'page',\n 'error_datasource': 'No data source was provided.',\n 'error_unauthorized': 'You need to be authenticated to view this data.',\n 'error_forbidden': 'You do not have access to view this data.',\n 'error_not_found': 'The data was not found.',\n 'error_server': 'A server error occurred while fetching data from the server.',\n 'error_down': 'It looks like the server is down.',\n 'error_unknown': 'A unknown error occurred.'\n },\n 'file-picker': {\n 'choose': 'Choose file',\n 'remove': 'Remove file',\n 'drop': 'or drag and drop file here'\n },\n 'times': {\n 'tomorrow_at': 'Tomorrow at {{date}}',\n 'today_at': 'Today at {{date}}',\n 'yesterday_at': 'Yesterday at {{date}}'\n }\n};\n","export const extraDutchDictionary = {\n 'form-control-errors': {\n 'unknown': 'Het veld heeft een onbekende fout.',\n 'required': 'Dit veld is verplicht.',\n 'pattern': 'Ongeldig formaat.',\n 'email': 'Het veld komt niet overeen met een geldig e-mailadres.',\n 'emailTaken': 'Het e-mailadres is al bezet.',\n 'passwordMatch': 'De wachtwoorden komen niet overeen.',\n 'confirm': 'Het veld komt niet overeen.',\n 'fullNumber': 'Het veld moet een volledig getal zijn.',\n 'min': 'Minimum hoeveelheid moet {{min}} zijn.',\n 'max': 'Maximum hoeveelheid moet {{max}} zijn.',\n 'invalidFileType': 'Het type bestand is niet toegestaan.',\n 'maxFileSize': 'Het bestand heeft de maximum hoeveelheid van {{maxSize}} overschreden.',\n 'minDate': 'De eerst mogelijke datum is {{date|date}}.',\n 'maxDate': 'De laatst mogelijke datum is {{date|date}}.',\n 'invalidDate': 'Het veld bevat een ongeldige datum.',\n 'minlength': 'Verwachtte minimaal {{requiredLength}} tekens, maar kreeg {{actualLength}} tekens.',\n 'maxlength': 'Verwachtte maximaal {{requiredLength}} tekens, maar kreeg {{actualLength}} tekens.'\n },\n 'tables': {\n 'search': 'Zoeken...',\n 'loading': 'Aan het laden...',\n 'empty': 'Er is hier niets te vinden.',\n 'page': 'pagina',\n 'error_datasource': 'Er is geen gegevensbron verstrekt.',\n 'error_unauthorized': 'U moet ingelogd zijn om deze gegevens te bekijken.',\n 'error_forbidden': 'U hebt geen toegang om deze gegevens te bekijken.',\n 'error_not_found': 'De gegevens zijn niet gevonden.',\n 'error_server': 'Er is een serverfout opgetreden bij het ophalen van gegevens van de server.',\n 'error_down': 'Het lijkt erop dat de server down is.',\n 'error_unknown': 'Er is een onbekende fout opgetreden bij het ophalen van gegevens van de server.'\n },\n 'file-picker': {\n 'choose': 'Kies bestand',\n 'remove': 'Verwijder bestand',\n 'drop': 'of sleep het bestand hiernaartoe'\n },\n 'times': {\n 'tomorrow_at': 'Morgen om {{date}}',\n 'today_at': 'Vandaag om {{date}}',\n 'yesterday_at': 'Gisteren om {{date}}'\n }\n};\n","import {LocalizeHandlerProtocol} from '../interfaces/handlers.interfaces';\nimport {LocalizeParams} from '../interfaces/options.interfaces';\n\nexport class LocalizeMissingHandler implements LocalizeHandlerProtocol {\n\n handle(params: LocalizeParams) {\n // Log to the console when the token was not found\n // if the user did not mark it as optional.\n if (!params?.optional) {\n this.log(`The token with name: \"${params?.token}\" was not found.`);\n }\n\n // Return the default token back.\n return params?.token ?? null;\n }\n\n private log = (message: string) => console?.warn?.(message);\n\n}\n","export type LocalizeDictionaryDataValues = { [key: string]: string | LocalizeDictionaryDataValues };\n\nexport class LocalizeDictionaryData {\n\n constructor(public data: LocalizeDictionaryDataValues) {\n }\n\n}\n","export class LocalizeDictionaryContext {\n\n regexp: RegExp = /^.*$/;\n\n pattern(regexp: RegExp) {\n this.regexp = regexp;\n return this;\n }\n\n matches(value: string | string[]) {\n const formatted = this.formatValue(value);\n const regex = (formatted ?? '')\n .replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n .replace(/\\\\\\*/g, '.*');\n return this.pattern(new RegExp(`^${regex}$`));\n }\n\n group(value: string | string[]) {\n const formatted = this.formatValue(value);\n return this.matches([formatted, '*']);\n }\n\n private formatValue(value: string | string[]) {\n return Array.isArray(value)\n ? value.filter(item => !!item).join('.')\n : value;\n }\n\n}\n","import {LocalizeDictionaryDataValues} from './dictionary.data';\nimport {LocalizeDictionaryContext} from './dictionary.context';\nimport {Localize} from '../localize.service';\n\ndeclare let ngDevMode;\n\nexport class LocalizeDictionary {\n\n private readonly _data: Record<string, string> = this.formatData(this._dataValues);\n\n constructor(private _id: string,\n private _locale: string,\n private _supported: string[],\n private _dataValues: LocalizeDictionaryDataValues,\n private _localize: Localize) {\n }\n\n get id() {\n return this._id ?? null;\n }\n\n get locale() {\n return this._locale ?? null;\n }\n\n get supported() {\n return this._supported ?? [];\n }\n\n get(token: string | string[]) {\n const key = Array.isArray(token) ? token.join('.') : token;\n return this._data?.[key] ?? null;\n }\n\n has(token: string | string[]) {\n return !!this.get(token);\n }\n\n all() {\n return this.some(context => context);\n }\n\n some(callback: (context: LocalizeDictionaryContext) => LocalizeDictionaryContext) {\n const defaultContext = new LocalizeDictionaryContext();\n const context = !!callback ? callback(defaultContext) : defaultContext;\n\n return Object.keys(this._data ?? {})\n .filter(key => context.regexp.test(key))\n .reduce((previous, current) => ([\n ...previous,\n {token: current, value: this.get(current)}\n ]), <{ token: string, value: string }[]>[]);\n }\n\n async compare(to: string | string[]) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode)) {\n const dictionaryIds = (Array.isArray(to) ? to : [to]);\n const dictionaries: LocalizeDictionary[] = [];\n for (const dictionaryId of dictionaryIds) {\n console.log(`Making sure dictionary \"${dictionaryId}\" is loaded.`);\n const dictionary = await this._localize.load(dictionaryId);\n dictionaries.push(dictionary);\n }\n\n const warnings = [];\n\n const items = this.all();\n for (const item of items) {\n for (const dictionary of dictionaries) {\n if (!dictionary.has(item?.token)) {\n warnings.push({dictionary: dictionary?.id, value: item?.token});\n }\n }\n }\n\n for (const dictionary of dictionaries) {\n const items = dictionary.all();\n for (const item of items) {\n if (!this.has(item?.token)) {\n warnings.push({dictionary: this.id, value: item?.token});\n }\n }\n }\n\n const compareDictionaryIds = dictionaries.map(dictionary => dictionary?.id).join(', ');\n console.log(`Comparing currency dictionary [${this.id}] with [${compareDictionaryIds}]...`);\n for (const warning of warnings) {\n console?.warn?.(`Dictionary \"${warning.dictionary}\" is missing token \"${warning.value}\"`);\n }\n console?.warn?.(`Total of ${warnings.length} warning(s) found.`);\n }\n }\n\n count() {\n return Object.keys(this._data ?? {}).length;\n }\n\n private formatData(data: LocalizeDictionaryDataValues, scope: string | null = null) {\n return Object.keys(data ?? {}).reduce((previous, current) => {\n const value = data?.[current];\n if (typeof value === 'object' && value !== null) {\n const reformatted = this.formatData(value, current);\n return {...previous, ...reformatted};\n }\n\n const token = [scope, current].filter(item => !!item).join('.');\n if (previous[token] && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n console?.warn?.(`Duplicate key \"${token}\" was found, please verify your translation files.`);\n }\n\n return {...previous, [token]: value};\n }, <Record<string, string>>{});\n }\n\n}\n","import {LocalizeParams} from '../interfaces/options.interfaces';\nimport {Localize} from '../localize.service';\n\nexport abstract class LocalizeTransform {\n\n abstract execute(value: string, data: LocalizeParams['data'], localize: Localize): string;\n\n protected getMatches(value: string, substitutions: [string, string]) {\n // Validate our value exists, else return zero matches.\n if (value === undefined || value === null) {\n return [];\n }\n\n // Get the matching substitutions.\n const {start, end} = this.getSubstitutions(substitutions);\n\n // Compose a regex that will find the matches.\n const regex = new RegExp(`${start}([^${end}]+)${end}`, 'g');\n\n // Execute the regex to find matches.\n let match = regex.exec(value);\n const matches: { match: string, token: string }[] = [];\n\n while (match !== null) {\n matches.push({match: match[0], token: match[1]});\n match = regex.exec(value);\n }\n\n // Return the processed value.\n return matches.filter(item => !!item);\n }\n\n protected getSubstitutions(value: [string, string]) {\n // Escape both substitutions so that they can be used.\n const escape = /[.*+?^${}()|[\\]\\\\]/g;\n const start = value[0].replace(escape, '\\\\$&');\n const end = value[1].replace(escape, '\\\\$&');\n\n // Return the substitutions.\n return {start, end};\n }\n\n}\n","import {LOCALIZE_FUNCTION, LocalizeFunction, LocalizeFunctionMap} from '../interfaces/functions.interfaces';\nimport {LocalizeParams} from '../interfaces/options.interfaces';\nimport {LocalizeConfig} from '../interfaces/config.interfaces';\nimport {LocalizeTransform} from './abstract.transform';\nimport {Inject, Optional} from '@angular/core';\nimport {Localize} from '../localize.service';\n\nexport class LocalizeInterpolateTransform extends LocalizeTransform {\n\n readonly substitutions = this.config?.substitutions?.references ?? ['{{', '}}'];\n readonly functionsMap: LocalizeFunctionMap = (this.functions ?? []).reduce((previous, current) => {\n previous[current?.keyword()] = current;\n return previous;\n }, {});\n\n constructor(@Optional() protected config: LocalizeConfig,\n @Optional() @Inject(LOCALIZE_FUNCTION) protected functions?: LocalizeFunction[]) {\n super();\n }\n\n override execute(value: string, data: LocalizeParams['data'], localize: Localize) {\n const matches = this.getMatches(value, this.substitutions);\n\n // Replace all matches with the translated value.\n return matches.reduce((previous, current) => {\n // Try to parse the token.\n const interpolatedToken = this.parseInterpolationToken(current?.token, data, localize);\n\n // Replace the match with the translated token.\n return previous.replace(current?.match, interpolatedToken);\n }, value);\n }\n\n protected parseInterpolationToken(value: string, data: LocalizeParams['data'], localize: Localize) {\n // Get the token and the methods by splitting\n // on the pipe symbol.\n const [token, ...methods] = (value ?? '').split('|').map(item => item.trim());\n\n // Get the value for the token from\n // the interpolation data.\n const interpolationValue = data?.[token] ?? 'null';\n\n // Loop through all the middleware methods and try to\n // conform the string to the given parameters.\n return methods.reduce((string, middlewareName) => {\n // Try to retrieve the middleware from the collection.\n const middleware = this.functionsMap?.[middlewareName];\n\n // If the middleware is missing return an error\n // so that the user knows it was not found.\n if (!middleware) {\n return string;\n }\n\n // Execute the middleware function with the string.\n return middleware.transform(string, localize?.current?.locale);\n }, `${interpolationValue}`);\n }\n\n}\n","import {LocalizeParams} from '../interfaces/options.interfaces';\nimport {LocalizeConfig} from '../interfaces/config.interfaces';\nimport {LocalizeTransform} from './abstract.transform';\nimport {Localize} from '../localize.service';\nimport {Optional} from '@angular/core';\n\nexport class LocalizeReferenceTransform extends LocalizeTransform {\n\n readonly substitutions = this.config?.substitutions?.references ?? ['#(', ')'];\n\n constructor(@Optional() protected config: LocalizeConfig) {\n super();\n }\n\n override execute(value: string, _: LocalizeParams['data'], localize: Localize) {\n const matches = this.getMatches(value, this.substitutions);\n\n // Replace all matches with the translated value.\n return matches.reduce((previous, current) => {\n // Try to translate the token.\n const translatedToken = localize.translate(current?.token);\n\n // Replace the match with the translated token.\n return previous.replace(current?.match, translatedToken);\n }, value);\n }\n\n}\n","import {Directive, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[bbLocalizeTemplate]'\n})\nexport class BbLocalizeTemplate {\n\n // Inputs.\n @Input('bbLocalizeTemplate') name: string | null = null;\n\n constructor(public templateRef: TemplateRef<any>) {\n }\n\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {BbLocalizeTemplate} from '../localize-template.directive';\nimport {startWith} from 'rxjs/operators';\nimport {Subscription} from 'rxjs';\n\n@Component({\n selector: 'bb-localize-string, [bb-localize-string]',\n templateUrl: './localize-string.component.html',\n styleUrls: ['./localize-string.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-localize-string'\n }\n})\nexport class BbLocalizeString implements AfterViewInit, OnDestroy {\n\n // Content children.\n @ContentChildren(BbLocalizeTemplate) items?: QueryList<BbLocalizeTemplate>;\n\n // Inputs.\n @Input() substitutions: [string, string] = ['[', ']'];\n\n // Data.\n components: (string | TemplateRef<any>)[] = [];\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n // State.\n private _value: string | null = null;\n\n @Input()\n set value(value: string | null) {\n this._value = value;\n this.revalidate();\n }\n\n get value() {\n return this._value;\n }\n\n constructor(private _changeDetection: ChangeDetectorRef) {\n }\n\n ngAfterViewInit() {\n this.observeItemChanges();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n private observeItemChanges() {\n const subscription = this.items.changes.pipe(\n startWith(0)\n ).subscribe(() => this.revalidate());\n\n this._subscription.add(subscription);\n }\n\n private revalidate() {\n const items = this.items?.toArray() ?? [];\n if (items.length <= 0) {\n return;\n }\n\n this.setComponents(items);\n }\n\n private setComponents(items: BbLocalizeTemplate[]) {\n const [start, end] = this.substitutions;\n\n const templates = items.reduce((previous, current) => {\n const template = current?.templateRef ?? null;\n const name = current?.name ?? null;\n if (!template || !name) {\n return previous;\n }\n\n return {...previous, [`${start}${name}${end}`]: template};\n }, {});\n\n this.components = this.getStringComponents(this._value)\n .map(component => templates?.[component] ?? component ?? null)\n .filter(item => !!item);\n\n this._changeDetection.detectChanges();\n }\n\n private getStringComponents(value: string) {\n const [start, end] = this.getSubstitutions();\n const regex = new RegExp(`(${start}[a-zA-Z]+${end})`, 'g');\n return value.split(regex);\n }\n\n private getSubstitutions() {\n const [start, end] = this.substitutions;\n const escape = /[.*+?^${}()|[\\]\\\\]/g;\n\n return [\n start.replace(escape, '\\\\$&'),\n end.replace(escape, '\\\\$&')\n ];\n }\n\n}\n","<ng-container *ngFor=\"let component of components\">\n <ng-template [bbTemplate]=\"component\">{{ component }}</ng-template>\n</ng-container>\n","import {LocalizeConfig, LocalizeConfigLanguage} from './interfaces/config.interfaces';\nimport {LOCALIZE_TRANSFORM} from './interfaces/transforms.interfaces';\nimport {LocalizeDictionaryData} from './dictionary/dictionary.data';\nimport {LocalizeTransform} from './transforms/abstract.transform';\nimport {LocalizeMissingHandler} from './handlers/missing.handler';\nimport {LocalizeDictionary} from './dictionary/dictionary.class';\nimport {LocalizeParams} from './interfaces/options.interfaces';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {Languages, WINDOW} from '@bravobit/bb-foundation';\nimport {Storage} from '@bravobit/bb-foundation/storage';\nimport {DOCUMENT} from '@angular/common';\n\n@Injectable()\nexport class Localize {\n\n // Readonly data.\n private readonly _storageToken: string = this._config?.storageToken ?? 'bb-language-dictionary-id';\n private readonly _availableLanguages: LocalizeConfigLanguage[] = this?._config?.languages ?? [];\n private readonly _bestMatchingLanguage: LocalizeConfigLanguage = this.retrieveBestMatchingLanguage();\n\n private readonly _loadedDictionaries: Map<string, LocalizeDictionary> = new Map<string, LocalizeDictionary>();\n\n // Current dictionary.\n private _current: LocalizeDictionary | null = null;\n\n constructor(private _storage: Storage,\n private _languages: Languages,\n private _missingHandler: LocalizeMissingHandler,\n @Optional() private _config?: LocalizeConfig,\n @Optional() @Inject(WINDOW) private _window?: Window,\n @Optional() @Inject(DOCUMENT) private _document?: Document,\n @Optional() @Inject(LOCALIZE_TRANSFORM) private _transforms?: LocalizeTransform[]) {\n this.renderDocumentLanguage();\n }\n\n get languages() {\n return this._availableLanguages ?? [];\n }\n\n get current() {\n return this._current;\n }\n\n async load(id: string) {\n if (id === null || id === undefined) {\n throw new Error(`Cannot load language with id: \"${id}\".`);\n }\n\n if (this._loadedDictionaries.has(id)) {\n return this._loadedDictionaries.get(id);\n }\n\n const language = this.languages?.find(language => language?.id === id);\n if (!language || !language?.data) {\n console?.warn?.(`No language was found with id: \"${id}\"; Defaulting to first available language.`);\n const languageId = this.languages?.[0]?.id ?? null;\n return this.load(languageId);\n }\n\n const dictionaryDataValues = await language?.data?.();\n const dictionary = this.createDictionary(dictionaryDataValues, language);\n this._loadedDictionaries.set(id, dictionary);\n return dictionary;\n }\n\n async switch(id: string, options?: { cache?: boolean, reload?: boolean }) {\n this._current = await this.load(id);\n\n const cache = options?.cache ?? true;\n if (cache) {\n this._storage.cookie.set<string>(this._storageToken, this._current?.id, {});\n }\n\n const reload = options?.reload ?? false;\n if (reload) {\n this._window?.location?.reload?.();\n }\n\n return this._current;\n }\n\n select(id: string) {\n if (!this._loadedDictionaries.has(id)) {\n throw new Error(`Dictionary with id: \"${id}\" not loaded; Load dictionary first before using .select(:id).`);\n }\n return this._loadedDictionaries.get(id);\n }\n\n initialize() {\n return async () => this.switch(this._bestMatchingLanguage?.id, {reload: false, cache: false});\n }\n\n clear() {\n this._storage.cookie.remove(this._storageToken);\n }\n\n transform(value: string, data: LocalizeParams['data'] = {}) {\n return (this._transforms ?? []).reduce((previous, current) => {\n return current.execute(previous, data, this);\n }, value);\n }\n\n translate(tokenOrParams: string | LocalizeParams) {\n // 1. Convert to the params.\n const params = this.convertToParams(tokenOrParams);\n\n // 2. Try to find the translation in the dictionary.\n const dictionary = this.getDictionary(params?.dictionary);\n const searchResult = !!dictionary ? dictionary.get(params?.token) : null;\n\n // 3. Verify the translation was found.\n if (!searchResult) {\n return this._missingHandler.handle(params);\n }\n\n return this.transform(searchResult, params?.data);\n }\n\n private retrieveBestMatchingLanguage() {\n return this.getLanguageFromStorage()\n ?? this.getBestBrowserMatchLanguage()\n ?? this._availableLanguages?.[0];\n }\n\n private getLanguageFromStorage() {\n // Get id from the storage.\n const id = this._storage.cookie.get<string>(this._storageToken);\n\n // Return the language based on the storage id.\n return this._availableLanguages.find(item => item?.id === id);\n }\n\n private getBestBrowserMatchLanguage() {\n // Loop through all browser languages and return the\n // best matching language.\n return this._languages.all.map(({code, region}) => {\n const languageCode = [code, region].filter(data => !!data).join('-');\n\n return this._availableLanguages.find(item => item?.supported?.includes(languageCode));\n }).filter(item => !!item).find((_, index) => index === 0);\n }\n\n private createDictionary(data: LocalizeDictionaryData, language: LocalizeConfigLanguage) {\n return new LocalizeDictionary(language?.id, language?.locale, language?.supported, data?.data, this);\n }\n\n private getDictionary(id: string | null) {\n if (id === null || id === undefined) {\n return this._current;\n }\n return this.select(id);\n }\n\n private renderDocumentLanguage() {\n const element = this._document?.documentElement;\n if (!element) {\n return;\n }\n\n element.lang = this._bestMatchingLanguage?.supported?.[0] ?? this._bestMatchingLanguage?.locale;\n }\n\n private convertToParams = (tokenOrParams: string | LocalizeParams) => {\n if (typeof tokenOrParams !== 'string') {\n // Destruct the params from the object.\n const {token, optional, dictionary, data} = tokenOrParams;\n\n // Make sure all parameters are valid\n // by type safe adding them.\n return {token: token, optional: optional ?? false, dictionary: dictionary ?? null, data: data ?? {}};\n }\n\n // If the parameter is a string fill in the blanks.\n return {token: tokenOrParams, optional: false, dictionary: null, data: {}};\n };\n\n}\n","import {LocalizeOptions, LocalizeParams} from './interfaces/options.interfaces';\nimport {Optional, Pipe, PipeTransform} from '@angular/core';\nimport {Localize} from './localize.service';\n\n@Pipe({\n name: 'bbLocalize'\n})\nexport class BbLocalize implements PipeTransform {\n\n constructor(@Optional() private _localize: Localize) {\n }\n\n transform(tokenOrParams: string | LocalizeParams, args?: LocalizeOptions) {\n // Validate that the localize service exists in the pipe.\n if (!this._localize) {\n return tokenOrParams;\n }\n\n // Combine the params with the options\n // to form the localize params.\n const params = this.combineParamsWithOptions(tokenOrParams, args);\n\n // Try to localize the value.\n return this._localize.translate(params);\n }\n\n private combineParamsWithOptions(tokenOrParams: string | LocalizeParams, args?: LocalizeOptions) {\n // Gather the extras.\n const extras = args ?? {};\n\n // Loop through all the keys to find the set options.\n const options = Object.keys(extras).reduce((previous, current) => {\n if (typeof extras[current] === 'undefined') {\n return previous;\n }\n\n previous[current] = extras[current];\n return previous;\n }, {});\n\n // Convert the string token to a params object.\n const params = typeof tokenOrParams === 'string'\n ? {token: tokenOrParams, optional: false, data: {}, dictionary: null}\n : tokenOrParams;\n\n // Return the combined params and options.\n return {...params, ...options};\n }\n\n}\n","import {APP_INITIALIZER, LOCALE_ID, ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbLocalizeString} from './views/localize-string/localize-string.component';\nimport {LocalizeInterpolateTransform} from './transforms/interpolate.transform';\nimport {LocalizeReferenceTransform} from './transforms/reference.transform';\nimport {LocalizeLowercaseFunction} from './functions/lowercase.function';\nimport {LocalizeUppercaseFunction} from './functions/uppercase.function';\nimport {BbLocalizeTemplate} from './views/localize-template.directive';\nimport {LOCALIZE_TRANSFORM} from './interfaces/transforms.interfaces';\nimport {LOCALIZE_FUNCTION} from './interfaces/functions.interfaces';\nimport {LocalizeMissingHandler} from './handlers/missing.handler';\nimport {LocalizeDateFunction} from './functions/date.function';\nimport {LocalizeConfig} from './interfaces/config.interfaces';\nimport {UtilsModule} from '@bravobit/bb-foundation/utils';\nimport {CommonModule} from '@angular/common';\nimport {Localize} from './localize.service';\nimport {BbLocalize} from './localize.pipe';\n\n@NgModule({\n imports: [CommonModule, UtilsModule],\n declarations: [\n BbLocalize,\n BbLocalizeString,\n BbLocalizeTemplate\n ],\n exports: [\n BbLocalize,\n BbLocalizeString,\n BbLocalizeTemplate\n ]\n})\nexport class LocalizeModule {\n\n static forRoot(config: LocalizeConfig): ModuleWithProviders<LocalizeModule> {\n if (config?.languages?.length <= 0) {\n throw new Error('One or more languages should be supplied.');\n }\n\n return {\n ngModule: LocalizeModule,\n providers: [\n // Angular providers.\n ...(config?.mode === 'automatic' ? [\n {provide: APP_INITIALIZER, deps: [Localize], useFactory: initializeLocale, multi: true},\n {provide: LOCALE_ID, deps: [Localize], useFactory: getLocale}\n ] : []),\n // Config provider.\n {provide: LocalizeConfig, useValue: config},\n // Function providers.\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeLowercaseFunction, multi: true},\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeUppercaseFunction, multi: true},\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeDateFunction, multi: true},\n // Transform providers.\n {provide: LOCALIZE_TRANSFORM, useClass: LocalizeReferenceTransform, deps: [LocalizeConfig], multi: true},\n {provide: LOCALIZE_TRANSFORM, useClass: LocalizeInterpolateTransform, deps: [LocalizeConfig, LOCALIZE_FUNCTION], multi: true},\n // Handler providers.\n {provide: LocalizeMissingHandler, useClass: LocalizeMissingHandler},\n // Service providers.\n Localize\n ]\n };\n }\n\n}\n\nexport function initializeLocale(localize: Localize) {\n return localize.initialize();\n}\n\nexport function getLocale(localize: Localize) {\n return localize?.current?.locale ?? null;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3.LocalizeMissingHandler","i4.LocalizeConfig","i1.Localize"],"mappings":";;;;;;;;;;;;;AAEA;AACA;AACA;AACA;MAEa,cAAc,CAAA;AAQ1B;;ACWD;AACA;AACA;AACA;AACA;MAEa,iBAAiB,GAExB,IAAI,cAAc,CAAC,mBAAmB;;MC/B/B,kBAAkB,GAEzB,IAAI,cAAc,CAAC,oBAAoB;;ACH7C;AACA;AACA;AACA;MAEa,yBAAyB,CAAA;IAElC,OAAO,GAAA;AACH,QAAA,OAAO,WAAW,CAAC;KACtB;AAED,IAAA,SAAS,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,CAAC,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,EAAE,EAAE,WAAW,EAAE,CAAC;KACtC;AAEJ;;ACfD;AACA;AACA;AACA;MAEa,yBAAyB,CAAA;IAElC,OAAO,GAAA;AACH,QAAA,OAAO,WAAW,CAAC;KACtB;AAED,IAAA,SAAS,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,CAAC,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,EAAE,EAAE,WAAW,EAAE,CAAC;KACtC;AAEJ;;ACdD;AACA;AACA;AACA;MAEa,oBAAoB,CAAA;IAE7B,OAAO,GAAA;AACH,QAAA,OAAO,MAAM,CAAC;KACjB;IAED,SAAS,CAAC,KAAa,EAAE,MAAe,EAAA;AACpC,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAE7B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,cAAc,EAAE;AACpC,YAAA,OAAO,GAAG,CAAC;AACd,SAAA;QAED,OAAO,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;KAC/C;AAEJ;;ACxBY,MAAA,sBAAsB,GAAG;AAClC,IAAA,qBAAqB,EAAE;AACnB,QAAA,SAAS,EAAE,iCAAiC;AAC5C,QAAA,UAAU,EAAE,yBAAyB;AACrC,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,OAAO,EAAE,iDAAiD;AAC1D,QAAA,YAAY,EAAE,8BAA8B;AAC5C,QAAA,eAAe,EAAE,6BAA6B;AAC9C,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,YAAY,EAAE,oCAAoC;AAClD,QAAA,KAAK,EAAE,mCAAmC;AAC1C,QAAA,KAAK,EAAE,mCAAmC;AAC1C,QAAA,iBAAiB,EAAE,+BAA+B;AAClD,QAAA,aAAa,EAAE,wDAAwD;AACvE,QAAA,SAAS,EAAE,2CAA2C;AACtD,QAAA,SAAS,EAAE,0CAA0C;AACrD,QAAA,aAAa,EAAE,qCAAqC;AACpD,QAAA,WAAW,EAAE,0FAA0F;AACvG,QAAA,WAAW,EAAE,0FAA0F;AAC1G,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,OAAO,EAAE,gCAAgC;AACzC,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,kBAAkB,EAAE,8BAA8B;AAClD,QAAA,oBAAoB,EAAE,iDAAiD;AACvE,QAAA,iBAAiB,EAAE,2CAA2C;AAC9D,QAAA,iBAAiB,EAAE,yBAAyB;AAC5C,QAAA,cAAc,EAAE,8DAA8D;AAC9E,QAAA,YAAY,EAAE,mCAAmC;AACjD,QAAA,eAAe,EAAE,2BAA2B;AAC/C,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,MAAM,EAAE,4BAA4B;AACvC,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,aAAa,EAAE,sBAAsB;AACrC,QAAA,UAAU,EAAE,mBAAmB;AAC/B,QAAA,cAAc,EAAE,uBAAuB;AAC1C,KAAA;;;AC1CQ,MAAA,oBAAoB,GAAG;AAChC,IAAA,qBAAqB,EAAE;AACnB,QAAA,SAAS,EAAE,oCAAoC;AAC/C,QAAA,UAAU,EAAE,wBAAwB;AACpC,QAAA,SAAS,EAAE,mBAAmB;AAC9B,QAAA,OAAO,EAAE,wDAAwD;AACjE,QAAA,YAAY,EAAE,8BAA8B;AAC5C,QAAA,eAAe,EAAE,qCAAqC;AACtD,QAAA,SAAS,EAAE,6BAA6B;AACxC,QAAA,YAAY,EAAE,wCAAwC;AACtD,QAAA,KAAK,EAAE,wCAAwC;AAC/C,QAAA,KAAK,EAAE,wCAAwC;AAC/C,QAAA,iBAAiB,EAAE,sCAAsC;AACzD,QAAA,aAAa,EAAE,wEAAwE;AACvF,QAAA,SAAS,EAAE,4CAA4C;AACvD,QAAA,SAAS,EAAE,6CAA6C;AACxD,QAAA,aAAa,EAAE,qCAAqC;AACpD,QAAA,WAAW,EAAE,oFAAoF;AACjG,QAAA,WAAW,EAAE,oFAAoF;AACpG,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,SAAS,EAAE,kBAAkB;AAC7B,QAAA,OAAO,EAAE,6BAA6B;AACtC,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,kBAAkB,EAAE,oCAAoC;AACxD,QAAA,oBAAoB,EAAE,oDAAoD;AAC1E,QAAA,iBAAiB,EAAE,mDAAmD;AACtE,QAAA,iBAAiB,EAAE,iCAAiC;AACpD,QAAA,cAAc,EAAE,6EAA6E;AAC7F,QAAA,YAAY,EAAE,uCAAuC;AACrD,QAAA,eAAe,EAAE,iFAAiF;AACrG,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,QAAQ,EAAE,mBAAmB;AAC7B,QAAA,MAAM,EAAE,kCAAkC;AAC7C,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,aAAa,EAAE,oBAAoB;AACnC,QAAA,UAAU,EAAE,qBAAqB;AACjC,QAAA,cAAc,EAAE,sBAAsB;AACzC,KAAA;;;MCvCQ,sBAAsB,CAAA;AAAnC,IAAA,WAAA,GAAA;QAaY,IAAA,CAAA,GAAG,GAAG,CAAC,OAAe,KAAK,EAAA,IAAA,EAAA,CAAA,CAAA,OAAA,CAAA,EAAA,GAAA,OAAO,aAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,IAAI,wDAAG,OAAO,CAAC,CAAA,EAAA,CAAC;KAE/D;AAbG,IAAA,MAAM,CAAC,MAAsB,EAAA;;;;QAGzB,IAAI,EAAC,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,EAAE;AACnB,YAAA,IAAI,CAAC,GAAG,CAAC,CAAA,sBAAA,EAAyB,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,KAAK,CAAA,gBAAA,CAAkB,CAAC,CAAC;AACtE,SAAA;;QAGD,OAAO,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;KAChC;AAIJ;;MChBY,sBAAsB,CAAA;AAE/B,IAAA,WAAA,CAAmB,IAAkC,EAAA;AAAlC,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA8B;KACpD;AAEJ;;MCPY,yBAAyB,CAAA;AAAtC,IAAA,WAAA,GAAA;AAEI,QAAA,IAAM,CAAA,MAAA,GAAW,MAAM,CAAC;KA0B3B;AAxBG,IAAA,OAAO,CAAC,MAAc,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,OAAO,CAAC,KAAwB,EAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,CAAC,SAAS,KAAA,IAAA,IAAT,SAAS,KAAT,KAAA,CAAA,GAAA,SAAS,GAAI,EAAE;AACzB,aAAA,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC;AAC3C,aAAA,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC5B,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC,CAAC;KACjD;AAED,IAAA,KAAK,CAAC,KAAwB,EAAA;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;KACzC;AAEO,IAAA,WAAW,CAAC,KAAwB,EAAA;AACxC,QAAA,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACvB,cAAE,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;cACtC,KAAK,CAAC;KACf;AAEJ;;MCtBY,kBAAkB,CAAA;IAI3B,WAAoB,CAAA,GAAW,EACX,OAAe,EACf,UAAoB,EACpB,WAAyC,EACzC,SAAmB,EAAA;AAJnB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAQ;AACX,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAU;AACpB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAA8B;AACzC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;QANtB,IAAK,CAAA,KAAA,GAA2B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAOlF;AAED,IAAA,IAAI,EAAE,GAAA;;AACF,QAAA,OAAO,MAAA,IAAI,CAAC,GAAG,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC;KAC3B;AAED,IAAA,IAAI,MAAM,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC;KAC/B;AAED,IAAA,IAAI,SAAS,GAAA;;AACT,QAAA,OAAO,MAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;KAChC;AAED,IAAA,GAAG,CAAC,KAAwB,EAAA;;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3D,OAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,0CAAG,GAAG,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;KACpC;AAED,IAAA,GAAG,CAAC,KAAwB,EAAA;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAC5B;IAED,GAAG,GAAA;QACC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,CAAC,QAA2E,EAAA;;AAC5E,QAAA,MAAM,cAAc,GAAG,IAAI,yBAAyB,EAAE,CAAC;AACvD,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;QAEvE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;AAC/B,aAAA,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,MAAM;AAC5B,YAAA,GAAG,QAAQ;AACX,YAAA,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAC;SAC7C,CAAC,EAAsC,EAAE,CAAC,CAAC;KACnD;AAEK,IAAA,OAAO,CAAC,EAAqB,EAAA;;;YAC/B,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,GAAG;gBACjD,MAAM,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtD,MAAM,YAAY,GAAyB,EAAE,CAAC;AAC9C,gBAAA,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;AACtC,oBAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,YAAY,CAAA,YAAA,CAAc,CAAC,CAAC;oBACnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC3D,oBAAA,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACjC,iBAAA;gBAED,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,gBAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACtB,oBAAA,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE;AACnC,wBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,KAAK,CAAC,EAAE;4BAC9B,QAAQ,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,UAAU,KAAA,IAAA,IAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,EAAE,EAAE,KAAK,EAAE,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,KAAK,EAAC,CAAC,CAAC;AACnE,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AAED,gBAAA,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE;AACnC,oBAAA,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;AAC/B,oBAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACtB,wBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,KAAK,CAAC,EAAE;4BACxB,QAAQ,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,KAAK,EAAC,CAAC,CAAC;AAC5D,yBAAA;AACJ,qBAAA;AACJ,iBAAA;gBAED,MAAM,oBAAoB,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,CAAkC,+BAAA,EAAA,IAAI,CAAC,EAAE,CAAW,QAAA,EAAA,oBAAoB,CAAM,IAAA,CAAA,CAAC,CAAC;AAC5F,gBAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AAC5B,oBAAA,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAA,CAAA,YAAA,EAAe,OAAO,CAAC,UAAU,CAAuB,oBAAA,EAAA,OAAO,CAAC,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC;AAC7F,iBAAA;AACD,gBAAA,CAAA,EAAA,GAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,IAAI,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAA,CAAA,SAAA,EAAY,QAAQ,CAAC,MAAM,CAAA,kBAAA,CAAoB,CAAC,CAAC;AACpE,aAAA;;AACJ,KAAA;IAED,KAAK,GAAA;;AACD,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC,CAAC,MAAM,CAAC;KAC/C;AAEO,IAAA,UAAU,CAAC,IAAkC,EAAE,KAAA,GAAuB,IAAI,EAAA;QAC9E,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,KAAJ,IAAA,IAAA,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAI;;YACxD,MAAM,KAAK,GAAG,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAG,OAAO,CAAC,CAAC;YAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;gBAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACpD,OAAW,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAK,EAAA,WAAW,CAAE,CAAA;AACxC,aAAA;YAED,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChE,YAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;AACpE,gBAAA,CAAA,EAAA,GAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAG,CAAkB,eAAA,EAAA,KAAK,CAAoD,kDAAA,CAAA,CAAC,CAAC;AAChG,aAAA;AAED,YAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAW,QAAQ,CAAE,EAAA,EAAA,CAAC,KAAK,GAAG,KAAK,EAAE,CAAA,CAAA;SACxC,EAA0B,EAAE,CAAC,CAAC;KAClC;AAEJ;;MC/GqB,iBAAiB,CAAA;IAIzB,UAAU,CAAC,KAAa,EAAE,aAA+B,EAAA;;AAE/D,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;AACvC,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;;AAGD,QAAA,MAAM,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;;AAG1D,QAAA,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,CAAG,EAAA,KAAK,CAAM,GAAA,EAAA,GAAG,MAAM,GAAG,CAAA,CAAE,EAAE,GAAG,CAAC,CAAC;;QAG5D,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAuC,EAAE,CAAC;QAEvD,OAAO,KAAK,KAAK,IAAI,EAAE;AACnB,YAAA,OAAO,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;AACjD,YAAA,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAA;;AAGD,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;KACzC;AAES,IAAA,gBAAgB,CAAC,KAAuB,EAAA;;QAE9C,MAAM,MAAM,GAAG,qBAAqB,CAAC;AACrC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/C,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;AAG7C,QAAA,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC;KACvB;AAEJ;;ACnCM,IAAM,4BAA4B,GAAlC,MAAM,qCAAqC,iBAAiB,CAAA;IAQ/D,WAAkC,CAAA,MAAsB,EACK,SAA8B,EAAA;;AACvF,QAAA,KAAK,EAAE,CAAC;AAFsB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;AACK,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAqB;AAPlF,QAAA,IAAA,CAAA,aAAa,GAAG,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,0CAAE,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvE,QAAA,IAAA,CAAA,YAAY,GAAwB,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAI;AAC7F,YAAA,QAAQ,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;AACvC,YAAA,OAAO,QAAQ,CAAC;SACnB,EAAE,EAAE,CAAC,CAAC;KAKN;AAEQ,IAAA,OAAO,CAAC,KAAa,EAAE,IAA4B,EAAE,QAAkB,EAAA;AAC5E,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;;QAG3D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAI;;AAExC,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;;AAGvF,YAAA,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;SAC9D,EAAE,KAAK,CAAC,CAAC;KACb;AAES,IAAA,uBAAuB,CAAC,KAAa,EAAE,IAA4B,EAAE,QAAkB,EAAA;;;;AAG7F,QAAA,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;;;AAI9E,QAAA,MAAM,kBAAkB,GAAG,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAG,KAAK,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,MAAM,CAAC;;;QAInD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,cAAc,KAAI;;;YAE7C,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAG,cAAc,CAAC,CAAC;;;YAIvD,IAAI,CAAC,UAAU,EAAE;AACb,gBAAA,OAAO,MAAM,CAAC;AACjB,aAAA;;AAGD,YAAA,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA,EAAA,GAAA,QAAQ,KAAR,IAAA,IAAA,QAAQ,uBAAR,QAAQ,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,CAAC;AACnE,SAAC,EAAE,CAAA,EAAG,kBAAkB,CAAA,CAAE,CAAC,CAAC;KAC/B;EAEJ;AApDY,4BAA4B,GAAA,UAAA,CAAA;AAQxB,IAAA,OAAA,CAAA,CAAA,EAAA,QAAQ,EAAE,CAAA;AACV,IAAA,OAAA,CAAA,CAAA,EAAA,QAAQ,EAAE,CAAA;AAAE,IAAA,OAAA,CAAA,CAAA,EAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;CATzC,EAAA,4BAA4B,CAoDxC;;ACrDM,IAAM,0BAA0B,GAAhC,MAAM,mCAAmC,iBAAiB,CAAA;AAI7D,IAAA,WAAA,CAAkC,MAAsB,EAAA;;AACpD,QAAA,KAAK,EAAE,CAAC;AADsB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;AAF/C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,0CAAE,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KAI9E;AAEQ,IAAA,OAAO,CAAC,KAAa,EAAE,CAAyB,EAAE,QAAkB,EAAA;AACzE,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;;QAG3D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAI;;AAExC,YAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK,CAAC,CAAC;;AAG3D,YAAA,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK,EAAE,eAAe,CAAC,CAAC;SAC5D,EAAE,KAAK,CAAC,CAAC;KACb;EAEJ;AArBY,0BAA0B,GAAA,UAAA,CAAA;AAItB,IAAA,OAAA,CAAA,CAAA,EAAA,QAAQ,EAAE,CAAA;CAJd,EAAA,0BAA0B,CAqBtC;;MCtBY,kBAAkB,CAAA;AAK3B,IAAA,WAAA,CAAmB,WAA6B,EAAA;AAA7B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;;AAFnB,QAAA,IAAI,CAAA,IAAA,GAAkB,IAAI,CAAC;KAGvD;;+GANQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,oBAAA,EAAA,MAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;iBACnC,CAAA;kGAIgC,IAAI,EAAA,CAAA;sBAAhC,KAAK;uBAAC,oBAAoB,CAAA;;;MCmBlB,gBAAgB,CAAA;AA2BzB,IAAA,WAAA,CAAoB,gBAAmC,EAAA;AAAnC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAmB;;QArB9C,IAAA,CAAA,aAAa,GAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;;AAGtD,QAAA,IAAU,CAAA,UAAA,GAAkC,EAAE,CAAC;;AAGvC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;;AAGnC,QAAA,IAAM,CAAA,MAAA,GAAkB,IAAI,CAAC;KAapC;IAXD,IACI,KAAK,CAAC,KAAoB,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;AAED,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;IAKD,eAAe,GAAA;QACX,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;;AACP,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;KACrC;IAEO,kBAAkB,GAAA;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CACxC,SAAS,CAAC,CAAC,CAAC,CACf,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAErC,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KACxC;IAEO,UAAU,GAAA;;AACd,QAAA,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;AAC1C,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YACnB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC7B;AAEO,IAAA,aAAa,CAAC,KAA2B,EAAA;QAC7C,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAExC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAI;;AACjD,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;AAC9C,YAAA,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;AACnC,YAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE;AACpB,gBAAA,OAAO,QAAQ,CAAC;AACnB,aAAA;AAED,YAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAW,QAAQ,CAAA,EAAA,EAAE,CAAC,CAAA,EAAG,KAAK,CAAA,EAAG,IAAI,CAAA,EAAG,GAAG,CAAA,CAAE,GAAG,QAAQ,EAAE,CAAA,CAAA;SAC7D,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;aAClD,GAAG,CAAC,SAAS,kBAAI,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAG,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,SAAS,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAA,EAAA,CAAC;aAC7D,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAE5B,QAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;KACzC;AAEO,IAAA,mBAAmB,CAAC,KAAa,EAAA;QACrC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC7C,QAAA,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,SAAA,EAAY,GAAG,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC,CAAC;AAC3D,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC7B;IAEO,gBAAgB,GAAA;QACpB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,MAAM,GAAG,qBAAqB,CAAC;QAErC,OAAO;AACH,YAAA,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;AAC7B,YAAA,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;SAC9B,CAAC;KACL;;6GAzFQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iGAAhB,gBAAgB,EAAA,QAAA,EAAA,0CAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAGR,kBAAkB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BvC,qJAGA,EAAA,MAAA,EAAA,CAAA,uCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDwBa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAX5B,SAAS;+BACI,0CAA0C,EAAA,eAAA,EAGnC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAChB,mBAAA,EAAA,KAAK,EACpB,IAAA,EAAA;AACF,wBAAA,OAAO,EAAE,oBAAoB;qBAChC,EAAA,QAAA,EAAA,qJAAA,EAAA,MAAA,EAAA,CAAA,uCAAA,CAAA,EAAA,CAAA;wGAKoC,KAAK,EAAA,CAAA;sBAAzC,eAAe;uBAAC,kBAAkB,CAAA;gBAG1B,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAYF,KAAK,EAAA,CAAA;sBADR,KAAK;;;ME/BG,QAAQ,CAAA;AAYjB,IAAA,WAAA,CAAoB,QAAiB,EACjB,UAAqB,EACrB,eAAuC,EAC3B,OAAwB,EACR,OAAgB,EACd,SAAoB,EACV,WAAiC,EAAA;;AANzE,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;AACjB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;AACrB,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAwB;AAC3B,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AACR,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;AACd,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACV,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAsB;;AAf5E,QAAA,IAAa,CAAA,aAAA,GAAW,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,2BAA2B,CAAC;AAClF,QAAA,IAAmB,CAAA,mBAAA,GAA6B,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;AAC/E,QAAA,IAAA,CAAA,qBAAqB,GAA2B,IAAI,CAAC,4BAA4B,EAAE,CAAC;AAEpF,QAAA,IAAA,CAAA,mBAAmB,GAAoC,IAAI,GAAG,EAA8B,CAAC;;AAGtG,QAAA,IAAQ,CAAA,QAAA,GAA8B,IAAI,CAAC;AA2I3C,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,aAAsC,KAAI;AACjE,YAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;;gBAEnC,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,GAAG,aAAa,CAAC;;;AAI1D,gBAAA,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,KAAA,CAAA,GAAA,QAAQ,GAAI,KAAK,EAAE,UAAU,EAAE,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,UAAU,GAAI,IAAI,EAAE,IAAI,EAAE,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,IAAI,GAAI,EAAE,EAAC,CAAC;AACxG,aAAA;;AAGD,YAAA,OAAO,EAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC;AAC/E,SAAC,CAAC;QA9IE,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;AAED,IAAA,IAAI,SAAS,GAAA;;AACT,QAAA,OAAO,MAAA,IAAI,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;KACzC;AAED,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAEK,IAAA,IAAI,CAAC,EAAU,EAAA;;;AACjB,YAAA,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE;AACjC,gBAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,EAAE,CAAA,EAAA,CAAI,CAAC,CAAC;AAC7D,aAAA;YAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3C,aAAA;YAED,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC,QAAQ,IAAI,CAAA,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,EAAE,MAAK,EAAE,CAAC,CAAC;AACvE,YAAA,IAAI,CAAC,QAAQ,IAAI,EAAC,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,IAAI,CAAA,EAAE;AAC9B,gBAAA,CAAA,EAAA,GAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAG,CAAmC,gCAAA,EAAA,EAAE,CAA4C,0CAAA,CAAA,CAAC,CAAC;AACnG,gBAAA,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAG,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC;AACnD,gBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,aAAA;AAED,YAAA,MAAM,oBAAoB,GAAG,OAAM,MAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,CAAI,CAAA,CAAC;YACtD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YACzE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AAC7C,YAAA,OAAO,UAAU,CAAC;;AACrB,KAAA;IAEK,MAAM,CAAC,EAAU,EAAE,OAA+C,EAAA;;;YACpE,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEpC,YAAA,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;AACrC,YAAA,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAS,IAAI,CAAC,aAAa,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/E,aAAA;AAED,YAAA,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,KAAK,CAAC;AACxC,YAAA,IAAI,MAAM,EAAE;gBACR,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAI,CAAC;AACtC,aAAA;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC;;AACxB,KAAA;AAED,IAAA,MAAM,CAAC,EAAU,EAAA;QACb,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACnC,YAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,CAAA,8DAAA,CAAgE,CAAC,CAAC;AAC/G,SAAA;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAC3C;IAED,UAAU,GAAA;QACN,OAAO,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,IAAI,CAAC,MAAM,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,EAAE,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA,EAAA,CAAA,CAAC;KACjG;IAED,KAAK,GAAA;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACnD;AAED,IAAA,SAAS,CAAC,KAAa,EAAE,IAAA,GAA+B,EAAE,EAAA;;AACtD,QAAA,OAAO,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAI;YACzD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAChD,EAAE,KAAK,CAAC,CAAC;KACb;AAED,IAAA,SAAS,CAAC,aAAsC,EAAA;;QAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;;AAGnD,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,KAAK,CAAC,GAAG,IAAI,CAAC;;QAGzE,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9C,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,IAAI,CAAC,CAAC;KACrD;IAEO,4BAA4B,GAAA;;AAChC,QAAA,OAAO,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,sBAAsB,EAAE,mCAC7B,IAAI,CAAC,2BAA2B,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAClC,MAAA,IAAI,CAAC,mBAAmB,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,CAAC,CAAC,CAAC;KACxC;IAEO,sBAAsB,GAAA;;AAE1B,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAS,IAAI,CAAC,aAAa,CAAC,CAAC;;QAGhE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,EAAE,MAAK,EAAE,CAAC,CAAC;KACjE;IAEO,2BAA2B,GAAA;;;AAG/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,KAAI;YAC9C,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAErE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAA,IAAA,EAAA,CAAA,CAAA,OAAA,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,YAAY,CAAC,CAAA,EAAA,CAAC,CAAC;SACzF,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;KAC7D;IAEO,gBAAgB,CAAC,IAA4B,EAAE,QAAgC,EAAA;AACnF,QAAA,OAAO,IAAI,kBAAkB,CAAC,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,EAAE,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,MAAM,EAAE,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,SAAS,EAAE,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KACxG;AAEO,IAAA,aAAa,CAAC,EAAiB,EAAA;AACnC,QAAA,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE;YACjC,OAAO,IAAI,CAAC,QAAQ,CAAC;AACxB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC1B;IAEO,sBAAsB,GAAA;;QAC1B,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,eAAe,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO;AACV,SAAA;QAED,OAAO,CAAC,IAAI,GAAG,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,CAAC,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,qBAAqB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC;KACnG;;AAnJQ,QAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAQ,EAgBe,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,MAAM,EACN,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,QAAQ,6BACR,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;yGAlBzC,QAAQ,EAAA,CAAA,CAAA;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBADpB,UAAU;;;8BAgBM,QAAQ;kCACqC,MAAM,EAAA,UAAA,EAAA,CAAA;8BAAnD,QAAQ;;8BAAI,MAAM;+BAAC,MAAM,CAAA;kCACwB,QAAQ,EAAA,UAAA,EAAA,CAAA;8BAAzD,QAAQ;;8BAAI,MAAM;+BAAC,QAAQ,CAAA;;8BAC3B,QAAQ;;8BAAI,MAAM;+BAAC,kBAAkB,CAAA;;;;MCxBzC,UAAU,CAAA;AAEnB,IAAA,WAAA,CAAgC,SAAmB,EAAA;AAAnB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;KAClD;IAED,SAAS,CAAC,aAAsC,EAAE,IAAsB,EAAA;;AAEpE,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,OAAO,aAAa,CAAC;AACxB,SAAA;;;QAID,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;;QAGlE,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KAC3C;IAEO,wBAAwB,CAAC,aAAsC,EAAE,IAAsB,EAAA;;QAE3F,MAAM,MAAM,GAAG,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,IAAI,GAAI,EAAE,CAAC;;AAG1B,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAI;AAC7D,YAAA,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;AACxC,gBAAA,OAAO,QAAQ,CAAC;AACnB,aAAA;YAED,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,YAAA,OAAO,QAAQ,CAAC;SACnB,EAAE,EAAE,CAAC,CAAC;;AAGP,QAAA,MAAM,MAAM,GAAG,OAAO,aAAa,KAAK,QAAQ;AAC5C,cAAE,EAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAC;cACnE,aAAa,CAAC;;QAGpB,OAAW,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAK,EAAA,OAAO,CAAE,CAAA;KAClC;;uGAxCQ,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAAV,UAAU,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;iBACrB,CAAA;;;8BAGgB,QAAQ;;;;MCqBZ,cAAc,CAAA;IAEvB,OAAO,OAAO,CAAC,MAAsB,EAAA;;AACjC,QAAA,IAAI,CAAA,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,CAAC,EAAE;AAChC,YAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;AAChE,SAAA;QAED,OAAO;AACH,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,SAAS,EAAE;;AAEP,gBAAA,IAAI,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,IAAI,MAAK,WAAW,GAAG;AAC/B,oBAAA,EAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAC;AACvF,oBAAA,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,SAAS,EAAC;iBAChE,GAAG,EAAE,CAAC;;AAEP,gBAAA,EAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAC;;gBAE3C,EAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,KAAK,EAAE,IAAI,EAAC;gBAC9E,EAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,KAAK,EAAE,IAAI,EAAC;gBAC9E,EAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAC;;AAEzE,gBAAA,EAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAC;AACxG,gBAAA,EAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAC;;AAE7H,gBAAA,EAAC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,sBAAsB,EAAC;;gBAEnE,QAAQ;AACX,aAAA;SACJ,CAAC;KACL;;2GA9BQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAVnB,UAAU;QACV,gBAAgB;AAChB,QAAA,kBAAkB,CAJZ,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,aAO/B,UAAU;QACV,gBAAgB;QAChB,kBAAkB,CAAA,EAAA,CAAA,CAAA;4GAGb,cAAc,EAAA,OAAA,EAAA,CAZb,YAAY,EAAE,WAAW,CAAA,EAAA,CAAA,CAAA;2FAY1B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAb1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;AACpC,oBAAA,YAAY,EAAE;wBACV,UAAU;wBACV,gBAAgB;wBAChB,kBAAkB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,UAAU;wBACV,gBAAgB;wBAChB,kBAAkB;AACrB,qBAAA;iBACJ,CAAA;;AAmCK,SAAU,gBAAgB,CAAC,QAAkB,EAAA;AAC/C,IAAA,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAC;AACjC,CAAC;AAEK,SAAU,SAAS,CAAC,QAAkB,EAAA;;AACxC,IAAA,OAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC;AAC7C;;ACtEA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"bravobit-bb-foundation-localize.mjs","sources":["../../../projects/bb-foundation/localize/src/lib/interfaces/config.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/interfaces/functions.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/interfaces/transforms.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/functions/lowercase.function.ts","../../../projects/bb-foundation/localize/src/lib/functions/uppercase.function.ts","../../../projects/bb-foundation/localize/src/lib/functions/date.function.ts","../../../projects/bb-foundation/localize/src/lib/localizations/english.localization.ts","../../../projects/bb-foundation/localize/src/lib/localizations/dutch.localization.ts","../../../projects/bb-foundation/localize/src/lib/handlers/missing.handler.ts","../../../projects/bb-foundation/localize/src/lib/dictionary/dictionary.data.ts","../../../projects/bb-foundation/localize/src/lib/dictionary/dictionary.context.ts","../../../projects/bb-foundation/localize/src/lib/dictionary/dictionary.class.ts","../../../projects/bb-foundation/localize/src/lib/transforms/abstract.transform.ts","../../../projects/bb-foundation/localize/src/lib/transforms/interpolate.transform.ts","../../../projects/bb-foundation/localize/src/lib/transforms/reference.transform.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-template.directive.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-string/localize-string.component.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-string/localize-string.component.html","../../../projects/bb-foundation/localize/src/lib/localize.service.ts","../../../projects/bb-foundation/localize/src/lib/localize.pipe.ts","../../../projects/bb-foundation/localize/src/lib/localize.module.ts","../../../projects/bb-foundation/localize/src/bravobit-bb-foundation-localize.ts"],"sourcesContent":["import {LocalizeDictionaryData} from '../dictionary/dictionary.data';\n\n//\n// The configuration that can be passed when\n// the user initializes the localize module.\n//\n\nexport class LocalizeConfig {\n languages: LocalizeConfigLanguage[];\n mode?: 'automatic' | 'manual';\n storageToken?: string;\n substitutions?: {\n references?: [leftSubstitution: string, rightSubstitution: string];\n interpolation?: [leftSubstitution: string, rightSubstitution: string];\n };\n}\n\nexport interface LocalizeConfigLanguage {\n id: string;\n locale: string;\n supported: string[];\n data: () => LocalizeDictionaryData | Promise<LocalizeDictionaryData>;\n}\n","import {InjectionToken} from '@angular/core';\n\n//\n// This is the interface that handles the localize functions.\n// every localize function needs to conform to this interface.\n// The interface allows the user to transform a token into\n// another value.\n//\n\nexport interface LocalizeFunction {\n\n keyword(): string;\n\n transform(value: string, locale?: string): string;\n\n}\n\n//\n// This is the interface that handles the map\n// of all the localize functions.\n//\n\nexport interface LocalizeFunctionMap {\n [keyword: string]: LocalizeFunction;\n}\n\n//\n// This is the injection token that will be injected\n// into the service so that the all localize functions\n// can retrieved and used.\n//\n\nexport const LOCALIZE_FUNCTION\n : InjectionToken<LocalizeFunction[]>\n = new InjectionToken('localize_function');\n","import {LocalizeTransform} from '../transforms/abstract.transform';\nimport {InjectionToken} from '@angular/core';\n\nexport const LOCALIZE_TRANSFORM\n : InjectionToken<LocalizeTransform[]>\n = new InjectionToken('localize_transform');\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\n\n//\n// This function transform the value\n// to a lowercase variant of the value.\n//\n\nexport class LocalizeLowercaseFunction implements LocalizeFunction {\n\n keyword() {\n return 'lowercase';\n }\n\n transform(value: string) {\n return (value ?? '').toLowerCase();\n }\n\n}\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\n\n//\n// This function transform the value\n// to a uppercase variant of the value.\n//\n\nexport class LocalizeUppercaseFunction implements LocalizeFunction {\n\n keyword() {\n return 'uppercase';\n }\n\n transform(value: string) {\n return (value ?? '').toUpperCase();\n }\n\n}\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\nimport {formatDate} from '@angular/common';\n\n//\n// This function transform the value\n// to a localized date.\n//\n\nexport class LocalizeDateFunction implements LocalizeFunction {\n\n keyword() {\n return 'date';\n }\n\n transform(value: string, locale?: string) {\n const date = new Date(value);\n\n if (date.toString() === 'Invalid Date') {\n return '?';\n }\n\n return formatDate(date, 'longDate', locale);\n }\n\n}\n","export const extraEnglishDictionary = {\n 'form-control-errors': {\n 'unknown': 'The field has an unknown error.',\n 'required': 'This field is required.',\n 'pattern': 'Invalid format.',\n 'email': 'The field does not match a valid email address.',\n 'emailTaken': 'The e-mail is already taken.',\n 'passwordMatch': 'The passwords don\\'t match.',\n 'confirm': 'The field does not match.',\n 'fullNumber': 'The field should be a full number.',\n 'min': 'Minimum amount should be {{min}}.',\n 'max': 'Maximum amount should be {{max}}.',\n 'invalidFileType': 'The file type is not allowed.',\n 'maxFileSize': 'The file has exceed the maximum amount of {{maxSize}}.',\n 'minDate': 'The first accepted date is {{date|date}}.',\n 'maxDate': 'The last accepted date is {{date|date}}.',\n 'invalidDate': 'The field contains an invalid date.',\n 'minlength': 'Expected a minimum of {{requiredLength}} characters but got {{actualLength}} characters.',\n 'maxlength': 'Expected a maximum of {{requiredLength}} characters but got {{actualLength}} characters.'\n },\n 'tables': {\n 'search': 'Search...',\n 'loading': 'Loading...',\n 'empty': 'There is nothing to find here.',\n 'page': 'page',\n 'error_datasource': 'No data source was provided.',\n 'error_unauthorized': 'You need to be authenticated to view this data.',\n 'error_forbidden': 'You do not have access to view this data.',\n 'error_not_found': 'The data was not found.',\n 'error_server': 'A server error occurred while fetching data from the server.',\n 'error_down': 'It looks like the server is down.',\n 'error_unknown': 'A unknown error occurred.'\n },\n 'file-picker': {\n 'choose': 'Choose file',\n 'remove': 'Remove file',\n 'drop': 'or drag and drop file here'\n },\n 'times': {\n 'tomorrow_at': 'Tomorrow at {{date}}',\n 'today_at': 'Today at {{date}}',\n 'yesterday_at': 'Yesterday at {{date}}'\n }\n};\n","export const extraDutchDictionary = {\n 'form-control-errors': {\n 'unknown': 'Het veld heeft een onbekende fout.',\n 'required': 'Dit veld is verplicht.',\n 'pattern': 'Ongeldig formaat.',\n 'email': 'Het veld komt niet overeen met een geldig e-mailadres.',\n 'emailTaken': 'Het e-mailadres is al bezet.',\n 'passwordMatch': 'De wachtwoorden komen niet overeen.',\n 'confirm': 'Het veld komt niet overeen.',\n 'fullNumber': 'Het veld moet een volledig getal zijn.',\n 'min': 'Minimum hoeveelheid moet {{min}} zijn.',\n 'max': 'Maximum hoeveelheid moet {{max}} zijn.',\n 'invalidFileType': 'Het type bestand is niet toegestaan.',\n 'maxFileSize': 'Het bestand heeft de maximum hoeveelheid van {{maxSize}} overschreden.',\n 'minDate': 'De eerst mogelijke datum is {{date|date}}.',\n 'maxDate': 'De laatst mogelijke datum is {{date|date}}.',\n 'invalidDate': 'Het veld bevat een ongeldige datum.',\n 'minlength': 'Verwachtte minimaal {{requiredLength}} tekens, maar kreeg {{actualLength}} tekens.',\n 'maxlength': 'Verwachtte maximaal {{requiredLength}} tekens, maar kreeg {{actualLength}} tekens.'\n },\n 'tables': {\n 'search': 'Zoeken...',\n 'loading': 'Aan het laden...',\n 'empty': 'Er is hier niets te vinden.',\n 'page': 'pagina',\n 'error_datasource': 'Er is geen gegevensbron verstrekt.',\n 'error_unauthorized': 'U moet ingelogd zijn om deze gegevens te bekijken.',\n 'error_forbidden': 'U hebt geen toegang om deze gegevens te bekijken.',\n 'error_not_found': 'De gegevens zijn niet gevonden.',\n 'error_server': 'Er is een serverfout opgetreden bij het ophalen van gegevens van de server.',\n 'error_down': 'Het lijkt erop dat de server down is.',\n 'error_unknown': 'Er is een onbekende fout opgetreden bij het ophalen van gegevens van de server.'\n },\n 'file-picker': {\n 'choose': 'Kies bestand',\n 'remove': 'Verwijder bestand',\n 'drop': 'of sleep het bestand hiernaartoe'\n },\n 'times': {\n 'tomorrow_at': 'Morgen om {{date}}',\n 'today_at': 'Vandaag om {{date}}',\n 'yesterday_at': 'Gisteren om {{date}}'\n }\n};\n","import {LocalizeHandlerProtocol} from '../interfaces/handlers.interfaces';\nimport {LocalizeParams} from '../interfaces/options.interfaces';\n\nexport class LocalizeMissingHandler implements LocalizeHandlerProtocol {\n\n handle(params: LocalizeParams) {\n // Log to the console when the token was not found\n // if the user did not mark it as optional.\n if (!params?.optional) {\n this.log(`The token with name: \"${params?.token}\" was not found.`);\n }\n\n // Return the default token back.\n return params?.token ?? null;\n }\n\n private log = (message: string) => console?.warn?.(message);\n\n}\n","export type LocalizeDictionaryDataValues = { [key: string]: string | LocalizeDictionaryDataValues };\n\nexport class LocalizeDictionaryData {\n\n constructor(public data: LocalizeDictionaryDataValues) {\n }\n\n}\n","export class LocalizeDictionaryContext {\n\n regexp: RegExp = /^.*$/;\n\n pattern(regexp: RegExp) {\n this.regexp = regexp;\n return this;\n }\n\n matches(value: string | string[]) {\n const formatted = this.formatValue(value);\n const regex = (formatted ?? '')\n .replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n .replace(/\\\\\\*/g, '.*');\n return this.pattern(new RegExp(`^${regex}$`));\n }\n\n group(value: string | string[]) {\n const formatted = this.formatValue(value);\n return this.matches([formatted, '*']);\n }\n\n private formatValue(value: string | string[]) {\n return Array.isArray(value)\n ? value.filter(item => !!item).join('.')\n : value;\n }\n\n}\n","import {LocalizeDictionaryDataValues} from './dictionary.data';\nimport {LocalizeDictionaryContext} from './dictionary.context';\nimport {Localize} from '../localize.service';\n\ndeclare let ngDevMode;\n\nexport class LocalizeDictionary {\n\n private readonly _data: Record<string, string> = this.formatData(this._dataValues);\n\n constructor(private _id: string,\n private _locale: string,\n private _supported: string[],\n private _dataValues: LocalizeDictionaryDataValues,\n private _localize: Localize) {\n }\n\n get id() {\n return this._id ?? null;\n }\n\n get locale() {\n return this._locale ?? null;\n }\n\n get supported() {\n return this._supported ?? [];\n }\n\n get(token: string | string[]) {\n const key = Array.isArray(token) ? token.join('.') : token;\n return this._data?.[key] ?? null;\n }\n\n has(token: string | string[]) {\n return !!this.get(token);\n }\n\n all() {\n return this.some(context => context);\n }\n\n some(callback: (context: LocalizeDictionaryContext) => LocalizeDictionaryContext) {\n const defaultContext = new LocalizeDictionaryContext();\n const context = !!callback ? callback(defaultContext) : defaultContext;\n\n return Object.keys(this._data ?? {})\n .filter(key => context.regexp.test(key))\n .reduce((previous, current) => ([\n ...previous,\n {token: current, value: this.get(current)}\n ]), <{ token: string, value: string }[]>[]);\n }\n\n async compare(to: string | string[]) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode)) {\n const dictionaryIds = (Array.isArray(to) ? to : [to]);\n const dictionaries: LocalizeDictionary[] = [];\n for (const dictionaryId of dictionaryIds) {\n console.log(`Making sure dictionary \"${dictionaryId}\" is loaded.`);\n const dictionary = await this._localize.load(dictionaryId);\n dictionaries.push(dictionary);\n }\n\n const warnings = [];\n\n const items = this.all();\n for (const item of items) {\n for (const dictionary of dictionaries) {\n if (!dictionary.has(item?.token)) {\n warnings.push({dictionary: dictionary?.id, value: item?.token});\n }\n }\n }\n\n for (const dictionary of dictionaries) {\n const items = dictionary.all();\n for (const item of items) {\n if (!this.has(item?.token)) {\n warnings.push({dictionary: this.id, value: item?.token});\n }\n }\n }\n\n const compareDictionaryIds = dictionaries.map(dictionary => dictionary?.id).join(', ');\n console.log(`Comparing currency dictionary [${this.id}] with [${compareDictionaryIds}]...`);\n for (const warning of warnings) {\n console?.warn?.(`Dictionary \"${warning.dictionary}\" is missing token \"${warning.value}\"`);\n }\n console?.warn?.(`Total of ${warnings.length} warning(s) found.`);\n }\n }\n\n count() {\n return Object.keys(this._data ?? {}).length;\n }\n\n private formatData(data: LocalizeDictionaryDataValues, scope: string | null = null) {\n return Object.keys(data ?? {}).reduce((previous, current) => {\n const value = data?.[current];\n if (typeof value === 'object' && value !== null) {\n const reformatted = this.formatData(value, current);\n return {...previous, ...reformatted};\n }\n\n const token = [scope, current].filter(item => !!item).join('.');\n if (previous[token] && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n console?.warn?.(`Duplicate key \"${token}\" was found, please verify your translation files.`);\n }\n\n return {...previous, [token]: value};\n }, <Record<string, string>>{});\n }\n\n}\n","import {LocalizeParams} from '../interfaces/options.interfaces';\nimport {Localize} from '../localize.service';\n\nexport abstract class LocalizeTransform {\n\n abstract execute(value: string, data: LocalizeParams['data'], localize: Localize): string;\n\n protected getMatches(value: string, substitutions: [string, string]) {\n // Validate our value exists, else return zero matches.\n if (value === undefined || value === null) {\n return [];\n }\n\n // Get the matching substitutions.\n const {start, end} = this.getSubstitutions(substitutions);\n\n // Compose a regex that will find the matches.\n const regex = new RegExp(`${start}([^${end}]+)${end}`, 'g');\n\n // Execute the regex to find matches.\n let match = regex.exec(value);\n const matches: { match: string, token: string }[] = [];\n\n while (match !== null) {\n matches.push({match: match[0], token: match[1]});\n match = regex.exec(value);\n }\n\n // Return the processed value.\n return matches.filter(item => !!item);\n }\n\n protected getSubstitutions(value: [string, string]) {\n // Escape both substitutions so that they can be used.\n const escape = /[.*+?^${}()|[\\]\\\\]/g;\n const start = value[0].replace(escape, '\\\\$&');\n const end = value[1].replace(escape, '\\\\$&');\n\n // Return the substitutions.\n return {start, end};\n }\n\n}\n","import {LOCALIZE_FUNCTION, LocalizeFunction, LocalizeFunctionMap} from '../interfaces/functions.interfaces';\nimport {LocalizeParams} from '../interfaces/options.interfaces';\nimport {LocalizeConfig} from '../interfaces/config.interfaces';\nimport {LocalizeTransform} from './abstract.transform';\nimport {Inject, Optional} from '@angular/core';\nimport {Localize} from '../localize.service';\n\nexport class LocalizeInterpolateTransform extends LocalizeTransform {\n\n readonly substitutions = this.config?.substitutions?.references ?? ['{{', '}}'];\n readonly functionsMap: LocalizeFunctionMap = (this.functions ?? []).reduce((previous, current) => {\n previous[current?.keyword()] = current;\n return previous;\n }, {});\n\n constructor(@Optional() protected config: LocalizeConfig,\n @Optional() @Inject(LOCALIZE_FUNCTION) protected functions?: LocalizeFunction[]) {\n super();\n }\n\n override execute(value: string, data: LocalizeParams['data'], localize: Localize) {\n const matches = this.getMatches(value, this.substitutions);\n\n // Replace all matches with the translated value.\n return matches.reduce((previous, current) => {\n // Try to parse the token.\n const interpolatedToken = this.parseInterpolationToken(current?.token, data, localize);\n\n // Replace the match with the translated token.\n return previous.replace(current?.match, interpolatedToken);\n }, value);\n }\n\n protected parseInterpolationToken(value: string, data: LocalizeParams['data'], localize: Localize) {\n // Get the token and the methods by splitting\n // on the pipe symbol.\n const [token, ...methods] = (value ?? '').split('|').map(item => item.trim());\n\n // Get the value for the token from\n // the interpolation data.\n const interpolationValue = data?.[token] ?? 'null';\n\n // Loop through all the middleware methods and try to\n // conform the string to the given parameters.\n return methods.reduce((string, middlewareName) => {\n // Try to retrieve the middleware from the collection.\n const middleware = this.functionsMap?.[middlewareName];\n\n // If the middleware is missing return an error\n // so that the user knows it was not found.\n if (!middleware) {\n return string;\n }\n\n // Execute the middleware function with the string.\n return middleware.transform(string, localize?.current?.locale);\n }, `${interpolationValue}`);\n }\n\n}\n","import {LocalizeParams} from '../interfaces/options.interfaces';\nimport {LocalizeConfig} from '../interfaces/config.interfaces';\nimport {LocalizeTransform} from './abstract.transform';\nimport {Localize} from '../localize.service';\nimport {Optional} from '@angular/core';\n\nexport class LocalizeReferenceTransform extends LocalizeTransform {\n\n readonly substitutions = this.config?.substitutions?.references ?? ['#(', ')'];\n\n constructor(@Optional() protected config: LocalizeConfig) {\n super();\n }\n\n override execute(value: string, _: LocalizeParams['data'], localize: Localize) {\n const matches = this.getMatches(value, this.substitutions);\n\n // Replace all matches with the translated value.\n return matches.reduce((previous, current) => {\n // Try to translate the token.\n const translatedToken = localize.translate(current?.token);\n\n // Replace the match with the translated token.\n return previous.replace(current?.match, translatedToken);\n }, value);\n }\n\n}\n","import {Directive, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[bbLocalizeTemplate]'\n})\nexport class BbLocalizeTemplate {\n\n // Inputs.\n @Input('bbLocalizeTemplate') name: string | null = null;\n\n constructor(public templateRef: TemplateRef<any>) {\n }\n\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {BbLocalizeTemplate} from '../localize-template.directive';\nimport {startWith} from 'rxjs/operators';\nimport {Subscription} from 'rxjs';\n\n@Component({\n selector: 'bb-localize-string, [bb-localize-string]',\n templateUrl: './localize-string.component.html',\n styleUrls: ['./localize-string.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-localize-string'\n }\n})\nexport class BbLocalizeString implements AfterViewInit, OnDestroy {\n\n // Content children.\n @ContentChildren(BbLocalizeTemplate) items?: QueryList<BbLocalizeTemplate>;\n\n // Inputs.\n @Input() substitutions: [string, string] = ['[', ']'];\n\n // Data.\n components: (string | TemplateRef<any>)[] = [];\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n // State.\n private _value: string | null = null;\n\n @Input()\n set value(value: string | null) {\n this._value = value;\n this.revalidate();\n }\n\n get value() {\n return this._value;\n }\n\n constructor(private _changeDetection: ChangeDetectorRef) {\n }\n\n ngAfterViewInit() {\n this.observeItemChanges();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n private observeItemChanges() {\n const subscription = this.items.changes.pipe(\n startWith(0)\n ).subscribe(() => this.revalidate());\n\n this._subscription.add(subscription);\n }\n\n private revalidate() {\n const items = this.items?.toArray() ?? [];\n if (items.length <= 0) {\n return;\n }\n\n this.setComponents(items);\n }\n\n private setComponents(items: BbLocalizeTemplate[]) {\n const [start, end] = this.substitutions;\n\n const templates = items.reduce((previous, current) => {\n const template = current?.templateRef ?? null;\n const name = current?.name ?? null;\n if (!template || !name) {\n return previous;\n }\n\n return {...previous, [`${start}${name}${end}`]: template};\n }, {});\n\n this.components = this.getStringComponents(this._value)\n .map(component => templates?.[component] ?? component ?? null)\n .filter(item => !!item);\n\n this._changeDetection.detectChanges();\n }\n\n private getStringComponents(value: string) {\n const [start, end] = this.getSubstitutions();\n const regex = new RegExp(`(${start}[a-zA-Z]+${end})`, 'g');\n return value.split(regex);\n }\n\n private getSubstitutions() {\n const [start, end] = this.substitutions;\n const escape = /[.*+?^${}()|[\\]\\\\]/g;\n\n return [\n start.replace(escape, '\\\\$&'),\n end.replace(escape, '\\\\$&')\n ];\n }\n\n}\n","<ng-container *ngFor=\"let component of components\">\n <ng-template [bbTemplate]=\"component\">{{ component }}</ng-template>\n</ng-container>\n","import {LocalizeConfig, LocalizeConfigLanguage} from './interfaces/config.interfaces';\nimport {LOCALIZE_TRANSFORM} from './interfaces/transforms.interfaces';\nimport {LocalizeDictionaryData} from './dictionary/dictionary.data';\nimport {LocalizeTransform} from './transforms/abstract.transform';\nimport {LocalizeMissingHandler} from './handlers/missing.handler';\nimport {LocalizeDictionary} from './dictionary/dictionary.class';\nimport {LocalizeParams} from './interfaces/options.interfaces';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {Languages, WINDOW} from '@bravobit/bb-foundation';\nimport {Storage} from '@bravobit/bb-foundation/storage';\nimport {DOCUMENT} from '@angular/common';\nimport {BehaviorSubject} from 'rxjs';\n\n@Injectable()\nexport class Localize {\n\n // Readonly data.\n private readonly _storageToken: string = this._config?.storageToken ?? 'bb-language-dictionary-id';\n private readonly _availableLanguages: LocalizeConfigLanguage[] = this?._config?.languages ?? [];\n private readonly _bestMatchingLanguage: LocalizeConfigLanguage = this.retrieveBestMatchingLanguage();\n\n private readonly _loadedDictionaries: Map<string, LocalizeDictionary> = new Map<string, LocalizeDictionary>();\n\n // Current dictionary.\n private _current$ = new BehaviorSubject<LocalizeDictionary | null>(null);\n\n // State changes.\n dictionaryChanges$ = this._current$.asObservable();\n\n constructor(private _storage: Storage,\n private _languages: Languages,\n private _missingHandler: LocalizeMissingHandler,\n @Optional() private _config?: LocalizeConfig,\n @Optional() @Inject(WINDOW) private _window?: Window,\n @Optional() @Inject(DOCUMENT) private _document?: Document,\n @Optional() @Inject(LOCALIZE_TRANSFORM) private _transforms?: LocalizeTransform[]) {\n this.renderDocumentLanguage();\n }\n\n get languages() {\n return this._availableLanguages ?? [];\n }\n\n get current() {\n return this._current$.getValue();\n }\n\n async load(id: string) {\n if (id === null || id === undefined) {\n throw new Error(`Cannot load language with id: \"${id}\".`);\n }\n\n if (this._loadedDictionaries.has(id)) {\n return this._loadedDictionaries.get(id);\n }\n\n const language = this.languages?.find(language => language?.id === id);\n if (!language || !language?.data) {\n console?.warn?.(`No language was found with id: \"${id}\"; Defaulting to first available language.`);\n const languageId = this.languages?.[0]?.id ?? null;\n return this.load(languageId);\n }\n\n const dictionaryDataValues = await language?.data?.();\n const dictionary = this.createDictionary(dictionaryDataValues, language);\n this._loadedDictionaries.set(id, dictionary);\n return dictionary;\n }\n\n async switch(id: string, options?: { cache?: boolean, reload?: boolean }) {\n const dictionary = await this.load(id);\n this._current$.next(dictionary);\n\n const cache = options?.cache ?? true;\n if (cache) {\n this._storage.cookie.set<string>(this._storageToken, dictionary?.id, {});\n }\n\n const reload = options?.reload ?? false;\n if (reload) {\n this._window?.location?.reload?.();\n }\n\n return dictionary;\n }\n\n select(id: string) {\n if (!this._loadedDictionaries.has(id)) {\n throw new Error(`Dictionary with id: \"${id}\" not loaded; Load dictionary first before using .select(:id).`);\n }\n return this._loadedDictionaries.get(id);\n }\n\n initialize() {\n return async () => this.switch(this._bestMatchingLanguage?.id, {reload: false, cache: false});\n }\n\n clear() {\n this._storage.cookie.remove(this._storageToken);\n }\n\n transform(value: string, data: LocalizeParams['data'] = {}) {\n return (this._transforms ?? []).reduce((previous, current) => {\n return current.execute(previous, data, this);\n }, value);\n }\n\n translate(tokenOrParams: string | LocalizeParams) {\n // 1. Convert to the params.\n const params = this.convertToParams(tokenOrParams);\n\n // 2. Try to find the translation in the dictionary.\n const dictionary = this.getDictionary(params?.dictionary);\n const searchResult = !!dictionary ? dictionary.get(params?.token) : null;\n\n // 3. Verify the translation was found.\n if (!searchResult) {\n return this._missingHandler.handle(params);\n }\n\n return this.transform(searchResult, params?.data);\n }\n\n private retrieveBestMatchingLanguage() {\n return this.getLanguageFromStorage()\n ?? this.getBestBrowserMatchLanguage()\n ?? this._availableLanguages?.[0];\n }\n\n private getLanguageFromStorage() {\n // Get id from the storage.\n const id = this._storage.cookie.get<string>(this._storageToken);\n\n // Return the language based on the storage id.\n return this._availableLanguages.find(item => item?.id === id);\n }\n\n private getBestBrowserMatchLanguage() {\n // Loop through all browser languages and return the\n // best matching language.\n return this._languages.all.map(({code, region}) => {\n const languageCode = [code, region].filter(data => !!data).join('-');\n\n return this._availableLanguages.find(item => item?.supported?.includes(languageCode));\n }).filter(item => !!item).find((_, index) => index === 0);\n }\n\n private createDictionary(data: LocalizeDictionaryData, language: LocalizeConfigLanguage) {\n return new LocalizeDictionary(language?.id, language?.locale, language?.supported, data?.data, this);\n }\n\n private getDictionary(id: string | null) {\n if (id === null || id === undefined) {\n return this.current;\n }\n return this.select(id);\n }\n\n private renderDocumentLanguage() {\n const element = this._document?.documentElement;\n if (!element) {\n return;\n }\n\n element.lang = this._bestMatchingLanguage?.supported?.[0] ?? this._bestMatchingLanguage?.locale;\n }\n\n private convertToParams = (tokenOrParams: string | LocalizeParams) => {\n if (typeof tokenOrParams !== 'string') {\n // Destruct the params from the object.\n const {token, optional, dictionary, data} = tokenOrParams;\n\n // Make sure all parameters are valid\n // by type safe adding them.\n return {token: token, optional: optional ?? false, dictionary: dictionary ?? null, data: data ?? {}};\n }\n\n // If the parameter is a string fill in the blanks.\n return {token: tokenOrParams, optional: false, dictionary: null, data: {}};\n };\n\n}\n","import {LocalizeOptions, LocalizeParams} from './interfaces/options.interfaces';\nimport {Optional, Pipe, PipeTransform} from '@angular/core';\nimport {Localize} from './localize.service';\n\n@Pipe({\n name: 'bbLocalize'\n})\nexport class BbLocalize implements PipeTransform {\n\n constructor(@Optional() private _localize?: Localize) {\n }\n\n transform(tokenOrParams: string | LocalizeParams, args?: LocalizeOptions) {\n // Combine the params with the options to form the localize params.\n const params = this.combineParamsWithOptions(tokenOrParams, args);\n\n // Validate that the localize service exists in the pipe.\n if (!this._localize) {\n return params?.token ?? null;\n }\n\n // Try to localize the value.\n return this._localize.translate(params);\n }\n\n private combineParamsWithOptions(tokenOrParams: string | LocalizeParams, args?: LocalizeOptions) {\n // Gather the extras.\n const extras = args ?? {};\n\n // Loop through all the keys to find the set options.\n const options = Object.keys(extras).reduce((previous, current) => {\n if (typeof extras?.[current] === 'undefined') {\n return previous;\n }\n\n return {...previous, [current]: extras?.[current]};\n }, {});\n\n // Convert the string token to a params object.\n const params = typeof tokenOrParams === 'string'\n ? {token: tokenOrParams, optional: false, data: {}, dictionary: null}\n : tokenOrParams;\n\n // Return the combined params and options.\n return {...params, ...options};\n }\n\n}\n","import {APP_INITIALIZER, LOCALE_ID, ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbLocalizeString} from './views/localize-string/localize-string.component';\nimport {LocalizeInterpolateTransform} from './transforms/interpolate.transform';\nimport {LocalizeReferenceTransform} from './transforms/reference.transform';\nimport {LocalizeLowercaseFunction} from './functions/lowercase.function';\nimport {LocalizeUppercaseFunction} from './functions/uppercase.function';\nimport {BbLocalizeTemplate} from './views/localize-template.directive';\nimport {LOCALIZE_TRANSFORM} from './interfaces/transforms.interfaces';\nimport {LOCALIZE_FUNCTION} from './interfaces/functions.interfaces';\nimport {LocalizeMissingHandler} from './handlers/missing.handler';\nimport {LocalizeDateFunction} from './functions/date.function';\nimport {LocalizeConfig} from './interfaces/config.interfaces';\nimport {UtilsModule} from '@bravobit/bb-foundation/utils';\nimport {CommonModule} from '@angular/common';\nimport {Localize} from './localize.service';\nimport {BbLocalize} from './localize.pipe';\n\n@NgModule({\n imports: [CommonModule, UtilsModule],\n declarations: [\n BbLocalize,\n BbLocalizeString,\n BbLocalizeTemplate\n ],\n exports: [\n BbLocalize,\n BbLocalizeString,\n BbLocalizeTemplate\n ]\n})\nexport class LocalizeModule {\n\n static forRoot(config: LocalizeConfig): ModuleWithProviders<LocalizeModule> {\n if (config?.languages?.length <= 0) {\n throw new Error('One or more languages should be supplied.');\n }\n\n const mode = config?.mode ?? 'automatic';\n return {\n ngModule: LocalizeModule,\n providers: [\n // Angular providers.\n ...(mode === 'automatic' ? [\n {provide: APP_INITIALIZER, deps: [Localize], useFactory: initializeLocale, multi: true},\n {provide: LOCALE_ID, deps: [Localize], useFactory: getLocale}\n ] : []),\n // Config provider.\n {provide: LocalizeConfig, useValue: config},\n // Function providers.\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeLowercaseFunction, multi: true},\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeUppercaseFunction, multi: true},\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeDateFunction, multi: true},\n // Transform providers.\n {provide: LOCALIZE_TRANSFORM, useClass: LocalizeReferenceTransform, deps: [LocalizeConfig], multi: true},\n {provide: LOCALIZE_TRANSFORM, useClass: LocalizeInterpolateTransform, deps: [LocalizeConfig, LOCALIZE_FUNCTION], multi: true},\n // Handler providers.\n {provide: LocalizeMissingHandler, useClass: LocalizeMissingHandler},\n // Service providers.\n Localize\n ]\n };\n }\n\n}\n\nexport function initializeLocale(localize: Localize) {\n return localize.initialize();\n}\n\nexport function getLocale(localize: Localize) {\n return localize?.current?.locale ?? null;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3.LocalizeMissingHandler","i4.LocalizeConfig","i1.Localize"],"mappings":"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"}
|
|
@@ -107,9 +107,9 @@ class BbInputMask {
|
|
|
107
107
|
this.inputMaskPlugin = null;
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
BbInputMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
111
|
-
BbInputMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
110
|
+
BbInputMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BbInputMask, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
111
|
+
BbInputMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.1", type: BbInputMask, selector: "input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]", inputs: { mask: ["bbInputMask", "mask"] }, host: { listeners: { "input": "onInput($event.target.value)", "blur": "onTouched($event.target.value)" } }, ngImport: i0 });
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BbInputMask, decorators: [{
|
|
113
113
|
type: Directive,
|
|
114
114
|
args: [{
|
|
115
115
|
selector: 'input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]'
|
|
@@ -220,9 +220,9 @@ class Masking {
|
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
-
Masking.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
224
|
-
Masking.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
223
|
+
Masking.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: Masking, deps: [{ token: i1$1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
224
|
+
Masking.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: Masking, providedIn: 'root' });
|
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: Masking, decorators: [{
|
|
226
226
|
type: Injectable,
|
|
227
227
|
args: [{
|
|
228
228
|
providedIn: 'root'
|
|
@@ -248,9 +248,9 @@ class BbCurrencyMask {
|
|
|
248
248
|
this._inputMask.mask = this._masking.currency(currencyCode, options);
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
|
-
BbCurrencyMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
252
|
-
BbCurrencyMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
251
|
+
BbCurrencyMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BbCurrencyMask, deps: [{ token: Masking }, { token: BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
252
|
+
BbCurrencyMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.1", type: BbCurrencyMask, selector: "input[bbCurrencyMask]", inputs: { currencyCode: ["bbCurrencyMask", "currencyCode"], options: ["bbCurrencyMaskOptions", "options"] }, usesOnChanges: true, ngImport: i0 });
|
|
253
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BbCurrencyMask, decorators: [{
|
|
254
254
|
type: Directive,
|
|
255
255
|
args: [{
|
|
256
256
|
selector: 'input[bbCurrencyMask]'
|
|
@@ -282,9 +282,9 @@ class BbDateMask {
|
|
|
282
282
|
this._inputMask.mask = this._masking.date(format, separator);
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
|
-
BbDateMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
286
|
-
BbDateMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
285
|
+
BbDateMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BbDateMask, deps: [{ token: Masking }, { token: BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
286
|
+
BbDateMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.1", type: BbDateMask, selector: "input[bbDateMask]", inputs: { format: ["bbDateMask", "format"], separator: ["bbDateMaskSeparator", "separator"] }, usesOnChanges: true, ngImport: i0 });
|
|
287
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BbDateMask, decorators: [{
|
|
288
288
|
type: Directive,
|
|
289
289
|
args: [{
|
|
290
290
|
selector: 'input[bbDateMask]'
|
|
@@ -303,14 +303,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
303
303
|
|
|
304
304
|
class MaskingModule {
|
|
305
305
|
}
|
|
306
|
-
MaskingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
307
|
-
MaskingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
306
|
+
MaskingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: MaskingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
307
|
+
MaskingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: MaskingModule, declarations: [BbInputMask,
|
|
308
308
|
BbCurrencyMask,
|
|
309
309
|
BbDateMask], exports: [BbInputMask,
|
|
310
310
|
BbCurrencyMask,
|
|
311
311
|
BbDateMask] });
|
|
312
|
-
MaskingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
313
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
312
|
+
MaskingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: MaskingModule });
|
|
313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: MaskingModule, decorators: [{
|
|
314
314
|
type: NgModule,
|
|
315
315
|
args: [{
|
|
316
316
|
declarations: [
|
|
@@ -132,9 +132,9 @@ class BbNotificationsItem {
|
|
|
132
132
|
this._zone.runOutsideAngular(() => this._timer = this.setTimeout(this.instance, this._speed));
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
-
BbNotificationsItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
136
|
-
BbNotificationsItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
135
|
+
BbNotificationsItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
136
|
+
BbNotificationsItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: BbNotificationsItem, selector: "bb-notifications-item", inputs: { notification: "notification", dismissButtonText: "dismissButtonText" }, host: { attributes: { "role": "alert" }, properties: { "class": "this.getClass" } }, viewQueries: [{ propertyName: "progressElementRef", first: true, predicate: ["progress"], descendants: true }], ngImport: i0, template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n <svg *ngIf=\"notification?.timeout > 0\"\n class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n <ng-container *ngIf=\"isContentString; else templateContent\"\n [ngSwitch]=\"notification?.localize\">\n <ng-container *ngSwitchCase=\"true\">\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ notification?.content }}\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n<div *ngIf=\"notification?.actions?.length > 0 || notification?.dismiss\"\n class=\"notification-actions\">\n <button *ngFor=\"let action of notification?.actions\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n [class.destructive]=\"action?.type === 'cancel'\"\n class=\"notification-actions-button\">\n <span [ngSwitch]=\"notification?.localize\"\n class=\"notification-actions-button-highlight\">\n <ng-container *ngSwitchCase=\"true\">\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ action?.title }}\n </ng-container>\n </span>\n </button>\n <button *ngIf=\"notification?.dismiss\"\n (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span class=\"notification-actions-button-highlight\">\n {{ notification?.dismissText || dismissButtonText }}\n </span>\n </button>\n</div>\n\n<!--\n The outlet for the notification content template ref.\n-->\n<ng-template #templateContent>\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n</ng-template>\n", styles: [".bb-notifications-item{display:flex;border-radius:4px;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{padding:20px;display:flex;align-items:center}.notification-icon-wrapper{width:40px;height:40px;display:flex;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:10px;fill:currentColor}.notification-content{flex:1;font-size:14px;line-height:1.5;font-weight:500;margin-left:20px;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 20px;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-size:14px;font-weight:500;padding:12px 2px;text-align:center;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{padding:4px 12px;border-radius:12px;display:inline-flex;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{top:0;left:0;right:0;bottom:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i2$1.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BbNotificationsItem, decorators: [{
|
|
138
138
|
type: Component,
|
|
139
139
|
args: [{ selector: 'bb-notifications-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
|
|
140
140
|
'role': 'alert'
|
|
@@ -177,9 +177,9 @@ class BbNotificationsList {
|
|
|
177
177
|
return { vertical: y !== null && y !== void 0 ? y : null, horizontal: x !== null && x !== void 0 ? x : null };
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
-
BbNotificationsList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
181
|
-
BbNotificationsList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
180
|
+
BbNotificationsList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BbNotificationsList, deps: [{ token: NotificationsData }], target: i0.ɵɵFactoryTarget.Component });
|
|
181
|
+
BbNotificationsList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: BbNotificationsList, selector: "bb-notifications-list", host: { attributes: { "role": "list" }, properties: { "style.justify-content": "this.horizontalPosition", "style.align-items": "this.verticalPosition" }, classAttribute: "bb-notifications-list" }, ngImport: i0, template: "<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n<div *ngIf=\"data?.data | async as notifications\"\n [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n <div *ngFor=\"let notification of notifications; trackBy: trackByFn\"\n class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n</div>\n", styles: [".bb-notifications-list{top:0;left:0;right:0;bottom:0;z-index:1100;padding:10px;display:flex;position:fixed;pointer-events:none}.notifications-list-wrapper{width:100%;display:block;max-width:400px;position:relative}.notifications-item-wrapper{padding:0;margin:0 0 10px;pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BbNotificationsList, decorators: [{
|
|
183
183
|
type: Component,
|
|
184
184
|
args: [{ selector: 'bb-notifications-list', animations: [notificationAnimation], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
|
|
185
185
|
'class': 'bb-notifications-list',
|
|
@@ -315,9 +315,9 @@ class Notifications {
|
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
|
-
Notifications.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
319
|
-
Notifications.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
320
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
318
|
+
Notifications.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: Notifications, deps: [{ token: i1.Platform }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }, { token: i2$1.Localize, optional: true }, { token: NotificationsConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
319
|
+
Notifications.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: Notifications });
|
|
320
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: Notifications, decorators: [{
|
|
321
321
|
type: Injectable
|
|
322
322
|
}], ctorParameters: function () {
|
|
323
323
|
return [{ type: i1.Platform }, { type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }, { type: i2$1.Localize, decorators: [{
|
|
@@ -338,10 +338,10 @@ class NotificationsModule {
|
|
|
338
338
|
};
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
|
-
NotificationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
342
|
-
NotificationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
343
|
-
NotificationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
344
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
341
|
+
NotificationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
342
|
+
NotificationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: NotificationsModule, declarations: [BbNotificationsList, BbNotificationsItem], imports: [CommonModule, LocalizeModule] });
|
|
343
|
+
NotificationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NotificationsModule, imports: [CommonModule, LocalizeModule] });
|
|
344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NotificationsModule, decorators: [{
|
|
345
345
|
type: NgModule,
|
|
346
346
|
args: [{
|
|
347
347
|
imports: [CommonModule, LocalizeModule],
|
|
@@ -74,9 +74,9 @@ class RecaptchaLoader {
|
|
|
74
74
|
.join('&');
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
RecaptchaLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
78
|
-
RecaptchaLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
77
|
+
RecaptchaLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: RecaptchaLoader, deps: [{ token: i1.Platform }, { token: i0.RendererFactory2 }, { token: LOCALE_ID, optional: true }, { token: DOCUMENT, optional: true }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
78
|
+
RecaptchaLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: RecaptchaLoader });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: RecaptchaLoader, decorators: [{
|
|
80
80
|
type: Injectable
|
|
81
81
|
}], ctorParameters: function () {
|
|
82
82
|
return [{ type: i1.Platform }, { type: i0.RendererFactory2 }, { type: undefined, decorators: [{
|
|
@@ -228,15 +228,15 @@ class RecaptchaComponent extends BbRecaptchaMixinBase {
|
|
|
228
228
|
this.badge = (_j = this.badge) !== null && _j !== void 0 ? _j : (_k = this._config) === null || _k === void 0 ? void 0 : _k.badge;
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
|
-
RecaptchaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
232
|
-
RecaptchaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
231
|
+
RecaptchaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: RecaptchaLoader }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
232
|
+
RecaptchaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: RecaptchaComponent, selector: "bb-recaptcha", inputs: { grouped: "grouped", id: "id", siteKey: "siteKey", tabIndex: "tabIndex", type: "type", size: "size", theme: "theme", badge: "badge", errorMode: "errorMode" }, outputs: { resolved: "resolved", error: "error" }, host: { properties: { "class.grouped": "grouped", "attr.id": "this.id" }, classAttribute: "bb-recaptcha" }, providers: [
|
|
233
233
|
{
|
|
234
234
|
provide: NG_VALUE_ACCESSOR,
|
|
235
235
|
useExisting: forwardRef(() => RecaptchaComponent),
|
|
236
236
|
multi: true
|
|
237
237
|
}
|
|
238
238
|
], exportAs: ["bbRecaptcha"], usesInheritance: true, ngImport: i0, template: "", styles: [".bb-recaptcha{display:block}.bb-recaptcha.grouped{margin-bottom:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
239
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
239
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: RecaptchaComponent, decorators: [{
|
|
240
240
|
type: Component,
|
|
241
241
|
args: [{ selector: 'bb-recaptcha', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'bbRecaptcha', providers: [
|
|
242
242
|
{
|
|
@@ -291,10 +291,10 @@ class RecaptchaModule {
|
|
|
291
291
|
};
|
|
292
292
|
}
|
|
293
293
|
}
|
|
294
|
-
RecaptchaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
295
|
-
RecaptchaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
296
|
-
RecaptchaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
297
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
294
|
+
RecaptchaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: RecaptchaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
295
|
+
RecaptchaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: RecaptchaModule, declarations: [RecaptchaComponent], exports: [RecaptchaComponent] });
|
|
296
|
+
RecaptchaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: RecaptchaModule });
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: RecaptchaModule, decorators: [{
|
|
298
298
|
type: NgModule,
|
|
299
299
|
args: [{
|
|
300
300
|
declarations: [RecaptchaComponent],
|