@bravobit/bb-foundation 0.55.1 → 0.55.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.
Files changed (40) hide show
  1. package/dialog/index.d.ts +5 -7
  2. package/elements/index.d.ts +33 -42
  3. package/fesm2022/bravobit-bb-foundation-auth.mjs +22 -22
  4. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  5. package/fesm2022/bravobit-bb-foundation-collections.mjs +45 -45
  6. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  7. package/fesm2022/bravobit-bb-foundation-combobox.mjs +16 -16
  8. package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
  9. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +25 -25
  10. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  11. package/fesm2022/bravobit-bb-foundation-dialog.mjs +43 -53
  12. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  13. package/fesm2022/bravobit-bb-foundation-elements.mjs +188 -292
  14. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  15. package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
  16. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  17. package/fesm2022/bravobit-bb-foundation-localize.mjs +16 -16
  18. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  19. package/fesm2022/bravobit-bb-foundation-masking.mjs +16 -16
  20. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  21. package/fesm2022/bravobit-bb-foundation-notifications.mjs +13 -13
  22. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  23. package/fesm2022/bravobit-bb-foundation-permissions.mjs +10 -10
  24. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  25. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +10 -10
  26. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  27. package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  28. package/fesm2022/bravobit-bb-foundation-select.mjs +43 -25
  29. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
  30. package/fesm2022/bravobit-bb-foundation-storage.mjs +3 -3
  31. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  32. package/fesm2022/bravobit-bb-foundation-table.mjs +23 -23
  33. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  34. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +10 -10
  35. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  36. package/fesm2022/bravobit-bb-foundation-utils.mjs +16 -16
  37. package/fesm2022/bravobit-bb-foundation.mjs +21 -21
  38. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  39. package/package.json +27 -27
  40. package/select/index.d.ts +9 -2
@@ -108,10 +108,10 @@ class BaseUrlInterceptor {
108
108
  }
109
109
  return null;
110
110
  }
111
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BaseUrlInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
112
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BaseUrlInterceptor });
111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BaseUrlInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
112
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BaseUrlInterceptor });
113
113
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BaseUrlInterceptor, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BaseUrlInterceptor, decorators: [{
115
115
  type: Injectable
116
116
  }] });
117
117
 
@@ -132,10 +132,10 @@ class ErrorInterceptor {
132
132
  return throwError(() => error);
133
133
  }));
134
134
  }
135
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: ErrorInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
136
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: ErrorInterceptor });
135
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ErrorInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
136
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ErrorInterceptor });
137
137
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: ErrorInterceptor, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ErrorInterceptor, decorators: [{
139
139
  type: Injectable
140
140
  }] });
141
141
 
@@ -167,11 +167,11 @@ class HttpModule {
167
167
  ]
168
168
  };
169
169
  }
170
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: HttpModule, deps: [{ token: HttpModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
171
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.3", ngImport: i0, type: HttpModule });
172
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: HttpModule });
170
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: HttpModule, deps: [{ token: HttpModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
171
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.4", ngImport: i0, type: HttpModule });
172
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: HttpModule });
173
173
  }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: HttpModule, decorators: [{
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: HttpModule, decorators: [{
175
175
  type: NgModule
176
176
  }], ctorParameters: () => [{ type: HttpModule, decorators: [{
177
177
  type: Optional
@@ -1 +1 @@
1
- {"version":3,"file":"bravobit-bb-foundation-http.mjs","sources":["../../../projects/bb-foundation/http/src/lib/http.interfaces.ts","../../../projects/bb-foundation/http/src/lib/classes/http.config.ts","../../../projects/bb-foundation/http/src/lib/classes/http.error.ts","../../../projects/bb-foundation/http/src/lib/interceptors/base-url.interceptor.ts","../../../projects/bb-foundation/http/src/lib/interceptors/error.interceptor.ts","../../../projects/bb-foundation/http/src/lib/http.config.ts","../../../projects/bb-foundation/http/src/lib/http.module.ts","../../../projects/bb-foundation/http/src/bravobit-bb-foundation-http.ts"],"sourcesContent":["import {HttpConfig} from './classes/http.config';\nimport {InjectionToken} from '@angular/core';\n\nexport interface HttpConfigData {\n url: HttpConfigUrl;\n alias?: {\n prefix?: string;\n standard?: string;\n };\n disableErrorParsing?: boolean;\n}\n\nexport type HttpConfigPlatformUrl = string | { browser: string, server: string };\nexport type HttpConfigAlias = { alias: string, url: HttpConfigPlatformUrl };\nexport type HttpConfigUrl = HttpConfigPlatformUrl | HttpConfigAlias[];\n\nexport const HTTP_CONFIG = new InjectionToken<HttpConfig>('http config');\nexport const HTTP_CONFIG_DATA = new InjectionToken<HttpConfigData>('http config data');\n","import {HttpConfigAlias, HttpConfigData, HttpConfigUrl} from '../http.interfaces';\n\ndeclare let ngDevMode;\n\nexport class HttpConfig {\n\n readonly aliases: HttpConfigAlias[];\n readonly prefix: string;\n readonly defaultAlias: string;\n readonly disableErrorParsing: boolean;\n\n constructor(data: HttpConfigData) {\n // Get the data from the config.\n this.prefix = data?.alias?.prefix ?? '$';\n this.disableErrorParsing = data?.disableErrorParsing ?? false;\n\n // Parse the aliases.\n const standardAlias = data?.alias?.standard ?? 'api';\n this.aliases = this.parseAliases(data?.url, standardAlias);\n\n // Get the default alias.\n const firstAvailableAlias = this.aliases?.[0]?.alias ?? null;\n this.defaultAlias = `${this.prefix}${firstAvailableAlias}`;\n }\n\n private parseAliases = (value: HttpConfigUrl, standardAlias: string) => {\n if (!Array.isArray(value)) {\n value = [{alias: standardAlias, url: value}];\n }\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const stringRegex = /^[a-zA-Z]+$/;\n for (const item of value) {\n if (!!item?.alias && !stringRegex.test(item?.alias)) {\n console?.warn?.(`[HttpModule]: Invalid HTTP-alias in HttpConfig named \"${item?.alias}\"; only latin characters should be used.`);\n }\n }\n }\n\n return value;\n };\n\n}\n","import {HttpErrorResponse} from '@angular/common/http';\n\nexport class HttpError extends HttpErrorResponse {\n\n constructor(error: HttpErrorResponse) {\n super(error);\n }\n\n get<T = any>(token: string, delimiter: string = '.') {\n const error = this.error ?? {};\n return (token ?? '')\n .split(delimiter)\n .reduce((previous, current) => previous?.[current] ? previous?.[current] : null, error) as T;\n }\n\n has(token: string, delimiter: string = '.') {\n return !!this.get(token, delimiter);\n }\n\n includes<T = any>(token: string, value: T) {\n const array = this.get<T[]>(token);\n return (array ?? []).includes(value);\n }\n\n}\n","import {HTTP_CONFIG, HttpConfigAlias, HttpConfigPlatformUrl} from '../http.interfaces';\nimport {HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {HttpConfig} from '../classes/http.config';\nimport {isPlatformServer} from '@angular/common';\n\ndeclare let ngDevMode;\n\n@Injectable()\nexport class BaseUrlInterceptor implements HttpInterceptor {\n\n // Dependencies.\n private readonly _config: HttpConfig = inject(HTTP_CONFIG);\n private readonly _platformId: Object = inject(PLATFORM_ID);\n\n // Aliases.\n private readonly _aliases: HttpConfigAlias[] = this._config?.aliases;\n private readonly _prefix: string = this._config?.prefix;\n private readonly _extractRegex: RegExp = new RegExp(`\\\\${this._prefix}[a-zA-Z]+`);\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler) {\n const url = this.getUrlBasedOnAlias(request.url);\n const modified = request.clone({url});\n\n return next.handle(modified);\n }\n\n private getUrlBasedOnAlias(url: string) {\n const matches = this._extractRegex.exec(url);\n if (!matches) {\n return url;\n }\n\n return matches.reduce((previous, current) => {\n const alias = this.getAlias(current);\n const stringAlias = this.convertUrlToString(alias?.url);\n if (!stringAlias) {\n return previous;\n }\n\n return previous.replace(current, stringAlias);\n }, url);\n }\n\n private convertUrlToString(url: HttpConfigPlatformUrl) {\n if (typeof url === 'string') {\n return url;\n }\n\n return isPlatformServer(this._platformId)\n ? url?.server ?? url?.browser ?? null\n : url?.browser ?? null;\n }\n\n private getAlias(value: string) {\n const alias = value.replace(this._prefix, '');\n const fetched = this._aliases?.find(item => item.alias === alias) ?? null;\n if (fetched) {\n return fetched;\n }\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const available = this._aliases\n .map(item => `\\$${item?.alias}`)\n .join(', ');\n console?.warn?.(`[HttpModule]: Used an invalid HTTP-alias named \"${value}\", skipped parsing; Available aliases is one of (${available}).`);\n }\n\n return null;\n }\n\n}\n","import {HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {HttpConfig} from '../classes/http.config';\nimport {inject, Injectable} from '@angular/core';\nimport {HttpError} from '../classes/http.error';\nimport {HTTP_CONFIG} from '../http.interfaces';\nimport {catchError} from 'rxjs/operators';\nimport {throwError} from 'rxjs';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n\n // Dependencies.\n private readonly _config: HttpConfig = inject(HTTP_CONFIG);\n\n // State.\n private readonly _disabled = this._config?.disableErrorParsing ?? false;\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler) {\n return next.handle(request).pipe(\n catchError(error => {\n // If we have a matching http error response\n // re-map it with our custom class (if not disabled).\n if (!this._disabled && error instanceof HttpErrorResponse) {\n const parsed = new HttpError(error);\n return throwError(() => parsed);\n }\n\n // We did not match anything, just re-trow the error.\n return throwError(() => error);\n })\n );\n }\n\n}\n","import {HTTP_CONFIG, HTTP_CONFIG_DATA, HttpConfigData} from './http.interfaces';\nimport {EnvironmentProviders, makeEnvironmentProviders} from '@angular/core';\nimport {BaseUrlInterceptor} from './interceptors/base-url.interceptor';\nimport {ErrorInterceptor} from './interceptors/error.interceptor';\nimport {HTTP_INTERCEPTORS} from '@angular/common/http';\nimport {HttpConfig} from './classes/http.config';\n\nexport function provideHttpConfig(config: HttpConfigData): EnvironmentProviders {\n return makeEnvironmentProviders([\n {provide: HTTP_CONFIG_DATA, useValue: config},\n {provide: HTTP_CONFIG, useFactory: createHttpConfig, deps: [HTTP_CONFIG_DATA]},\n {provide: HTTP_INTERCEPTORS, useClass: BaseUrlInterceptor, multi: true},\n {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true}\n ]);\n}\n\nexport function createHttpConfig(data: HttpConfigData) {\n return new HttpConfig(data);\n}\n","import {ModuleWithProviders, NgModule, Optional, SkipSelf} from '@angular/core';\nimport {HttpConfigData} from './http.interfaces';\nimport {provideHttpConfig} from './http.config';\n\n@NgModule()\nexport class HttpModule {\n\n constructor(@Optional() @SkipSelf() private _parent?: HttpModule) {\n if (this._parent) {\n throw new Error('HttpModule is already loaded; Import it in the core module only.');\n }\n }\n\n static forRoot(config: HttpConfigData): ModuleWithProviders<HttpModule> {\n return {\n ngModule: HttpModule,\n providers: [\n provideHttpConfig(config)\n ]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravobit-bb-foundation-http.mjs","sources":["../../../projects/bb-foundation/http/src/lib/http.interfaces.ts","../../../projects/bb-foundation/http/src/lib/classes/http.config.ts","../../../projects/bb-foundation/http/src/lib/classes/http.error.ts","../../../projects/bb-foundation/http/src/lib/interceptors/base-url.interceptor.ts","../../../projects/bb-foundation/http/src/lib/interceptors/error.interceptor.ts","../../../projects/bb-foundation/http/src/lib/http.config.ts","../../../projects/bb-foundation/http/src/lib/http.module.ts","../../../projects/bb-foundation/http/src/bravobit-bb-foundation-http.ts"],"sourcesContent":["import {HttpConfig} from './classes/http.config';\nimport {InjectionToken} from '@angular/core';\n\nexport interface HttpConfigData {\n url: HttpConfigUrl;\n alias?: {\n prefix?: string;\n standard?: string;\n };\n disableErrorParsing?: boolean;\n}\n\nexport type HttpConfigPlatformUrl = string | { browser: string, server: string };\nexport type HttpConfigAlias = { alias: string, url: HttpConfigPlatformUrl };\nexport type HttpConfigUrl = HttpConfigPlatformUrl | HttpConfigAlias[];\n\nexport const HTTP_CONFIG = new InjectionToken<HttpConfig>('http config');\nexport const HTTP_CONFIG_DATA = new InjectionToken<HttpConfigData>('http config data');\n","import {HttpConfigAlias, HttpConfigData, HttpConfigUrl} from '../http.interfaces';\n\ndeclare let ngDevMode;\n\nexport class HttpConfig {\n\n readonly aliases: HttpConfigAlias[];\n readonly prefix: string;\n readonly defaultAlias: string;\n readonly disableErrorParsing: boolean;\n\n constructor(data: HttpConfigData) {\n // Get the data from the config.\n this.prefix = data?.alias?.prefix ?? '$';\n this.disableErrorParsing = data?.disableErrorParsing ?? false;\n\n // Parse the aliases.\n const standardAlias = data?.alias?.standard ?? 'api';\n this.aliases = this.parseAliases(data?.url, standardAlias);\n\n // Get the default alias.\n const firstAvailableAlias = this.aliases?.[0]?.alias ?? null;\n this.defaultAlias = `${this.prefix}${firstAvailableAlias}`;\n }\n\n private parseAliases = (value: HttpConfigUrl, standardAlias: string) => {\n if (!Array.isArray(value)) {\n value = [{alias: standardAlias, url: value}];\n }\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const stringRegex = /^[a-zA-Z]+$/;\n for (const item of value) {\n if (!!item?.alias && !stringRegex.test(item?.alias)) {\n console?.warn?.(`[HttpModule]: Invalid HTTP-alias in HttpConfig named \"${item?.alias}\"; only latin characters should be used.`);\n }\n }\n }\n\n return value;\n };\n\n}\n","import {HttpErrorResponse} from '@angular/common/http';\n\nexport class HttpError extends HttpErrorResponse {\n\n constructor(error: HttpErrorResponse) {\n super(error);\n }\n\n get<T = any>(token: string, delimiter: string = '.') {\n const error = this.error ?? {};\n return (token ?? '')\n .split(delimiter)\n .reduce((previous, current) => previous?.[current] ? previous?.[current] : null, error) as T;\n }\n\n has(token: string, delimiter: string = '.') {\n return !!this.get(token, delimiter);\n }\n\n includes<T = any>(token: string, value: T) {\n const array = this.get<T[]>(token);\n return (array ?? []).includes(value);\n }\n\n}\n","import {HTTP_CONFIG, HttpConfigAlias, HttpConfigPlatformUrl} from '../http.interfaces';\nimport {HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {HttpConfig} from '../classes/http.config';\nimport {isPlatformServer} from '@angular/common';\n\ndeclare let ngDevMode;\n\n@Injectable()\nexport class BaseUrlInterceptor implements HttpInterceptor {\n\n // Dependencies.\n private readonly _config: HttpConfig = inject(HTTP_CONFIG);\n private readonly _platformId: Object = inject(PLATFORM_ID);\n\n // Aliases.\n private readonly _aliases: HttpConfigAlias[] = this._config?.aliases;\n private readonly _prefix: string = this._config?.prefix;\n private readonly _extractRegex: RegExp = new RegExp(`\\\\${this._prefix}[a-zA-Z]+`);\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler) {\n const url = this.getUrlBasedOnAlias(request.url);\n const modified = request.clone({url});\n\n return next.handle(modified);\n }\n\n private getUrlBasedOnAlias(url: string) {\n const matches = this._extractRegex.exec(url);\n if (!matches) {\n return url;\n }\n\n return matches.reduce((previous, current) => {\n const alias = this.getAlias(current);\n const stringAlias = this.convertUrlToString(alias?.url);\n if (!stringAlias) {\n return previous;\n }\n\n return previous.replace(current, stringAlias);\n }, url);\n }\n\n private convertUrlToString(url: HttpConfigPlatformUrl) {\n if (typeof url === 'string') {\n return url;\n }\n\n return isPlatformServer(this._platformId)\n ? url?.server ?? url?.browser ?? null\n : url?.browser ?? null;\n }\n\n private getAlias(value: string) {\n const alias = value.replace(this._prefix, '');\n const fetched = this._aliases?.find(item => item.alias === alias) ?? null;\n if (fetched) {\n return fetched;\n }\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const available = this._aliases\n .map(item => `\\$${item?.alias}`)\n .join(', ');\n console?.warn?.(`[HttpModule]: Used an invalid HTTP-alias named \"${value}\", skipped parsing; Available aliases is one of (${available}).`);\n }\n\n return null;\n }\n\n}\n","import {HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {HttpConfig} from '../classes/http.config';\nimport {inject, Injectable} from '@angular/core';\nimport {HttpError} from '../classes/http.error';\nimport {HTTP_CONFIG} from '../http.interfaces';\nimport {catchError} from 'rxjs/operators';\nimport {throwError} from 'rxjs';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n\n // Dependencies.\n private readonly _config: HttpConfig = inject(HTTP_CONFIG);\n\n // State.\n private readonly _disabled = this._config?.disableErrorParsing ?? false;\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler) {\n return next.handle(request).pipe(\n catchError(error => {\n // If we have a matching http error response\n // re-map it with our custom class (if not disabled).\n if (!this._disabled && error instanceof HttpErrorResponse) {\n const parsed = new HttpError(error);\n return throwError(() => parsed);\n }\n\n // We did not match anything, just re-trow the error.\n return throwError(() => error);\n })\n );\n }\n\n}\n","import {HTTP_CONFIG, HTTP_CONFIG_DATA, HttpConfigData} from './http.interfaces';\nimport {EnvironmentProviders, makeEnvironmentProviders} from '@angular/core';\nimport {BaseUrlInterceptor} from './interceptors/base-url.interceptor';\nimport {ErrorInterceptor} from './interceptors/error.interceptor';\nimport {HTTP_INTERCEPTORS} from '@angular/common/http';\nimport {HttpConfig} from './classes/http.config';\n\nexport function provideHttpConfig(config: HttpConfigData): EnvironmentProviders {\n return makeEnvironmentProviders([\n {provide: HTTP_CONFIG_DATA, useValue: config},\n {provide: HTTP_CONFIG, useFactory: createHttpConfig, deps: [HTTP_CONFIG_DATA]},\n {provide: HTTP_INTERCEPTORS, useClass: BaseUrlInterceptor, multi: true},\n {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true}\n ]);\n}\n\nexport function createHttpConfig(data: HttpConfigData) {\n return new HttpConfig(data);\n}\n","import {ModuleWithProviders, NgModule, Optional, SkipSelf} from '@angular/core';\nimport {HttpConfigData} from './http.interfaces';\nimport {provideHttpConfig} from './http.config';\n\n@NgModule()\nexport class HttpModule {\n\n constructor(@Optional() @SkipSelf() private _parent?: HttpModule) {\n if (this._parent) {\n throw new Error('HttpModule is already loaded; Import it in the core module only.');\n }\n }\n\n static forRoot(config: HttpConfigData): ModuleWithProviders<HttpModule> {\n return {\n ngModule: HttpModule,\n providers: [\n provideHttpConfig(config)\n ]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -683,10 +683,10 @@ class Localize {
683
683
  // If the parameter is a string fill in the blanks.
684
684
  return { token: tokenOrParams, optional: false, dictionary: null, data: {} };
685
685
  };
686
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: Localize, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
687
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: Localize, providedIn: 'root' });
686
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: Localize, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
687
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: Localize, providedIn: 'root' });
688
688
  }
689
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: Localize, decorators: [{
689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: Localize, decorators: [{
690
690
  type: Injectable,
691
691
  args: [{
692
692
  providedIn: 'root'
@@ -818,10 +818,10 @@ class BbLocalizeTemplate {
818
818
  constructor(templateRef) {
819
819
  this.templateRef = templateRef;
820
820
  }
821
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbLocalizeTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
822
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.3", type: BbLocalizeTemplate, isStandalone: true, selector: "ng-template[bbLocalizeTemplate]", inputs: { name: ["bbLocalizeTemplate", "name"] }, ngImport: i0 });
821
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BbLocalizeTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
822
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: BbLocalizeTemplate, isStandalone: true, selector: "ng-template[bbLocalizeTemplate]", inputs: { name: ["bbLocalizeTemplate", "name"] }, ngImport: i0 });
823
823
  }
824
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbLocalizeTemplate, decorators: [{
824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BbLocalizeTemplate, decorators: [{
825
825
  type: Directive,
826
826
  args: [{
827
827
  selector: 'ng-template[bbLocalizeTemplate]'
@@ -898,10 +898,10 @@ class BbLocalizeString {
898
898
  end.replace(escape, '\\$&')
899
899
  ];
900
900
  }
901
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbLocalizeString, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
902
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: BbLocalizeString, isStandalone: true, selector: "[bb-localize-string]", inputs: { substitutions: "substitutions", value: ["bb-localize-string", "value"] }, host: { classAttribute: "bb-localize-string" }, queries: [{ propertyName: "items", predicate: BbLocalizeTemplate }], ngImport: i0, template: "@for (component of components; track component) {\n <ng-template [bbTemplate]=\"component\">{{ component }}</ng-template>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
901
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BbLocalizeString, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
902
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: BbLocalizeString, isStandalone: true, selector: "[bb-localize-string]", inputs: { substitutions: "substitutions", value: ["bb-localize-string", "value"] }, host: { classAttribute: "bb-localize-string" }, queries: [{ propertyName: "items", predicate: BbLocalizeTemplate }], ngImport: i0, template: "@for (component of components; track component) {\n <ng-template [bbTemplate]=\"component\">{{ component }}</ng-template>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
903
903
  }
904
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbLocalizeString, decorators: [{
904
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BbLocalizeString, decorators: [{
905
905
  type: Component,
906
906
  args: [{ selector: '[bb-localize-string]', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'bb-localize-string' }, encapsulation: ViewEncapsulation.None, imports: [BbTemplate], template: "@for (component of components; track component) {\n <ng-template [bbTemplate]=\"component\">{{ component }}</ng-template>\n}\n" }]
907
907
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { items: [{
@@ -946,10 +946,10 @@ class BbLocalize {
946
946
  // Return the combined params and options.
947
947
  return { ...params, ...options };
948
948
  }
949
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbLocalize, deps: [{ token: Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
950
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.3", ngImport: i0, type: BbLocalize, isStandalone: true, name: "bbLocalize" });
949
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BbLocalize, deps: [{ token: Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
950
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.4", ngImport: i0, type: BbLocalize, isStandalone: true, name: "bbLocalize" });
951
951
  }
952
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbLocalize, decorators: [{
952
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BbLocalize, decorators: [{
953
953
  type: Pipe,
954
954
  args: [{
955
955
  name: 'bbLocalize'
@@ -997,15 +997,15 @@ class LocalizeModule {
997
997
  ]
998
998
  };
999
999
  }
1000
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: LocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1001
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.3", ngImport: i0, type: LocalizeModule, imports: [BbLocalize,
1000
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: LocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1001
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.4", ngImport: i0, type: LocalizeModule, imports: [BbLocalize,
1002
1002
  BbLocalizeString,
1003
1003
  BbLocalizeTemplate], exports: [BbLocalize,
1004
1004
  BbLocalizeString,
1005
1005
  BbLocalizeTemplate] });
1006
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: LocalizeModule });
1006
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: LocalizeModule });
1007
1007
  }
1008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: LocalizeModule, decorators: [{
1008
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: LocalizeModule, decorators: [{
1009
1009
  type: NgModule,
1010
1010
  args: [{
1011
1011
  imports: [