@ui5/theming-ngx 0.4.9-rc.2 → 0.5.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -101,10 +101,10 @@ class Ui5ThemingService {
101
101
  this._destroyed$.next();
102
102
  this._destroyed$.complete();
103
103
  }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: Ui5ThemingService, deps: [{ token: UI5_THEMING_CONFIGURATION, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
105
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: Ui5ThemingService }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: Ui5ThemingService, deps: [{ token: UI5_THEMING_CONFIGURATION, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
105
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: Ui5ThemingService }); }
106
106
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: Ui5ThemingService, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: Ui5ThemingService, decorators: [{
108
108
  type: Injectable
109
109
  }], ctorParameters: () => [{ type: undefined, decorators: [{
110
110
  type: Optional
@@ -132,11 +132,11 @@ class Ui5ThemingModule {
132
132
  ],
133
133
  };
134
134
  }
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: Ui5ThemingModule, deps: [{ token: Ui5ThemingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
136
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: Ui5ThemingModule }); }
137
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: Ui5ThemingModule }); }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: Ui5ThemingModule, deps: [{ token: Ui5ThemingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
136
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.3", ngImport: i0, type: Ui5ThemingModule }); }
137
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: Ui5ThemingModule }); }
138
138
  }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: Ui5ThemingModule, decorators: [{
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: Ui5ThemingModule, decorators: [{
140
140
  type: NgModule,
141
141
  args: [{
142
142
  exports: [],
@@ -1 +1 @@
1
- {"version":3,"file":"ui5-theming-ngx.mjs","sources":["../../../../libs/ui5-angular-theming/src/ui5-theming.models.ts","../../../../libs/ui5-angular-theming/src/ui5-theming.service.ts","../../../../libs/ui5-angular-theming/src/ui5-theming.module.ts","../../../../libs/ui5-angular-theming/src/ui5-theming-ngx.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\nexport interface ThemingConfig {\n defaultTheme: string;\n}\nexport const UI5_THEMING_CONFIGURATION = new InjectionToken<ThemingConfig>(\n 'Ui5 global theming configuration.'\n);\n\nexport interface Ui5ThemingProvider {\n name: string;\n getAvailableThemes(): string[] | Observable<string[]>;\n supportsTheme(themeName: string): boolean | Observable<boolean>;\n setTheme(themeName: string): Observable<boolean>;\n}\n\nexport interface Ui5ThemingConsumer extends Omit<Ui5ThemingProvider, 'name'> {\n registerProvider(provider: Ui5ThemingProvider): void;\n unregisterProvider(provider: Ui5ThemingProvider): void;\n}\n","import {Inject, Injectable, isDevMode, OnDestroy, Optional} from '@angular/core';\nimport {\n BehaviorSubject,\n combineLatest,\n map,\n Observable,\n Subject,\n switchMap,\n takeUntil,\n tap,\n of, delay,\n} from 'rxjs';\nimport {\n ThemingConfig,\n UI5_THEMING_CONFIGURATION,\n Ui5ThemingProvider,\n Ui5ThemingConsumer,\n} from './ui5-theming.models';\n\n@Injectable()\nexport class Ui5ThemingService implements Ui5ThemingConsumer, OnDestroy {\n private readonly _providers$ = new BehaviorSubject<Ui5ThemingProvider[]>([]);\n private _currentTheme$ = new BehaviorSubject<[string, string]>([\n this._config?.defaultTheme || 'sap_fiori_3',\n this._config?.defaultTheme || 'sap_fiori_3',\n ]);\n\n private _themeChanged$ = new Subject<string>();\n\n private _destroyed$ = new Subject<void>();\n\n constructor(\n @Optional() @Inject(UI5_THEMING_CONFIGURATION) private readonly _config: ThemingConfig\n ) {\n combineLatest([\n this._providers$,\n this._currentTheme$.pipe(delay(100)) // Delay so that the providers are registered. @todo: Find a better solution\n ])\n .pipe(\n switchMap(([providers, [previousTheme, newTheme]]) => {\n return combineLatest(\n providers.map(\n (provider): Observable<[Ui5ThemingProvider, boolean]> => {\n const isSupported = provider.supportsTheme(newTheme);\n if (typeof isSupported === 'boolean') {\n return of([provider, isSupported]);\n }\n return isSupported.pipe(\n map((supported) => [provider, supported])\n );\n }\n )\n ).pipe(\n switchMap((providers) => {\n const unsupportedProviders = providers.filter(\n ([, supported]) => !supported\n );\n if (unsupportedProviders.length) {\n if (isDevMode()) {\n console.warn(\n `The following providers do not support the theme \"${newTheme}\":`,\n unsupportedProviders.map(([provider]) => provider.name)\n );\n }\n }\n return combineLatest(\n providers.map(([provider]) => provider.setTheme(newTheme))\n );\n }),\n map((providerResponses) => {\n if (providerResponses.every(Boolean)) {\n return newTheme;\n }\n return previousTheme;\n })\n );\n }),\n tap((theme) => {\n this._themeChanged$.next(theme);\n }),\n takeUntil(this._destroyed$)\n )\n .subscribe();\n }\n\n supportsTheme(themeName: string): Observable<boolean> {\n return this.getAvailableThemes().pipe(\n map((themes) => themes.includes(themeName))\n );\n }\n\n getAvailableThemes(): Observable<string[]> {\n return this._providers$.pipe(\n switchMap((providers) => {\n return combineLatest(\n providers.map((provider) => {\n const availableThemes = provider.getAvailableThemes();\n if (Array.isArray(availableThemes)) {\n return of(availableThemes);\n }\n return availableThemes;\n })\n ).pipe(\n map((providerResponses: Array<string[]>) => {\n const uniques = providerResponses.reduce((acc, curr) => {\n curr.forEach((theme) => acc.add(theme));\n return acc;\n }, new Set<string>());\n return [...uniques.values()];\n })\n );\n })\n );\n }\n\n /** Registers theming provider for further usage. */\n registerProvider(provider: Ui5ThemingProvider): void {\n const providers = this._providers$.value;\n providers.push(provider);\n this._providers$.next(providers);\n }\n\n /** Unregisters previously registered theming provider. */\n unregisterProvider(provider: Ui5ThemingProvider): void {\n const providers = this._providers$.value;\n const index = providers.indexOf(provider);\n if (index !== -1) {\n providers.splice(index, 1);\n this._providers$.next(providers);\n }\n }\n\n /** Sets the theme to the providers */\n setTheme(theme: string): Observable<boolean> {\n return new Observable<boolean>((subscriber) => {\n const finalizer$ = new Subject<void>();\n this._themeChanged$\n .pipe(takeUntil(finalizer$))\n .subscribe((changedTheme) => {\n if (changedTheme === theme) {\n finalizer$.next();\n finalizer$.complete();\n }\n subscriber.next(changedTheme === theme);\n subscriber.complete();\n });\n this._currentTheme$.next([this._currentTheme$.value[1], theme]);\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._destroyed$.next();\n this._destroyed$.complete();\n }\n}\n","import {\n NgModule,\n ModuleWithProviders,\n Optional,\n isDevMode,\n} from '@angular/core';\nimport { Ui5ThemingService } from './ui5-theming.service';\nimport { ThemingConfig, UI5_THEMING_CONFIGURATION } from './ui5-theming.models';\n\n@NgModule({\n exports: [],\n declarations: [],\n})\nexport class Ui5ThemingModule {\n constructor(@Optional() public theming: Ui5ThemingService) {\n if (!this.theming && isDevMode()) {\n console.error(\n 'Could not find Ui5ThemingService. Make sure you called .forRoot() for Ui5ThemingModule'\n );\n }\n }\n static forRoot(config: ThemingConfig): ModuleWithProviders<Ui5ThemingModule> {\n return {\n ngModule: Ui5ThemingModule,\n providers: [\n Ui5ThemingService,\n {\n provide: UI5_THEMING_CONFIGURATION,\n useValue: config,\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.Ui5ThemingService"],"mappings":"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"}
1
+ {"version":3,"file":"ui5-theming-ngx.mjs","sources":["../tmp-esm2022/ui5-theming.models.js","../tmp-esm2022/ui5-theming.service.js","../tmp-esm2022/ui5-theming.module.js","../tmp-esm2022/ui5-theming-ngx.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const UI5_THEMING_CONFIGURATION = new InjectionToken('Ui5 global theming configuration.');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWk1LXRoZW1pbmcubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aTUtYW5ndWxhci10aGVtaW5nL3NyYy91aTUtdGhlbWluZy5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FDekQsbUNBQW1DLENBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuZXhwb3J0IGludGVyZmFjZSBUaGVtaW5nQ29uZmlnIHtcbiAgZGVmYXVsdFRoZW1lOiBzdHJpbmc7XG59XG5leHBvcnQgY29uc3QgVUk1X1RIRU1JTkdfQ09ORklHVVJBVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUaGVtaW5nQ29uZmlnPihcbiAgJ1VpNSBnbG9iYWwgdGhlbWluZyBjb25maWd1cmF0aW9uLidcbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVWk1VGhlbWluZ1Byb3ZpZGVyIHtcbiAgbmFtZTogc3RyaW5nO1xuICBnZXRBdmFpbGFibGVUaGVtZXMoKTogc3RyaW5nW10gfCBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgc3VwcG9ydHNUaGVtZSh0aGVtZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzZXRUaGVtZSh0aGVtZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVWk1VGhlbWluZ0NvbnN1bWVyIGV4dGVuZHMgT21pdDxVaTVUaGVtaW5nUHJvdmlkZXIsICduYW1lJz4ge1xuICByZWdpc3RlclByb3ZpZGVyKHByb3ZpZGVyOiBVaTVUaGVtaW5nUHJvdmlkZXIpOiB2b2lkO1xuICB1bnJlZ2lzdGVyUHJvdmlkZXIocHJvdmlkZXI6IFVpNVRoZW1pbmdQcm92aWRlcik6IHZvaWQ7XG59XG4iXX0=","import { Inject, Injectable, isDevMode, Optional } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable, Subject, switchMap, takeUntil, tap, of, delay, } from 'rxjs';\nimport { UI5_THEMING_CONFIGURATION, } from './ui5-theming.models';\nimport * as i0 from \"@angular/core\";\nexport class Ui5ThemingService {\n constructor(_config) {\n this._config = _config;\n this._providers$ = new BehaviorSubject([]);\n this._currentTheme$ = new BehaviorSubject([\n this._config?.defaultTheme || 'sap_fiori_3',\n this._config?.defaultTheme || 'sap_fiori_3',\n ]);\n this._themeChanged$ = new Subject();\n this._destroyed$ = new Subject();\n combineLatest([\n this._providers$,\n this._currentTheme$.pipe(delay(100)) // Delay so that the providers are registered. @todo: Find a better solution\n ])\n .pipe(switchMap(([providers, [previousTheme, newTheme]]) => {\n return combineLatest(providers.map((provider) => {\n const isSupported = provider.supportsTheme(newTheme);\n if (typeof isSupported === 'boolean') {\n return of([provider, isSupported]);\n }\n return isSupported.pipe(map((supported) => [provider, supported]));\n })).pipe(switchMap((providers) => {\n const unsupportedProviders = providers.filter(([, supported]) => !supported);\n if (unsupportedProviders.length) {\n if (isDevMode()) {\n console.warn(`The following providers do not support the theme \"${newTheme}\":`, unsupportedProviders.map(([provider]) => provider.name));\n }\n }\n return combineLatest(providers.map(([provider]) => provider.setTheme(newTheme)));\n }), map((providerResponses) => {\n if (providerResponses.every(Boolean)) {\n return newTheme;\n }\n return previousTheme;\n }));\n }), tap((theme) => {\n this._themeChanged$.next(theme);\n }), takeUntil(this._destroyed$))\n .subscribe();\n }\n supportsTheme(themeName) {\n return this.getAvailableThemes().pipe(map((themes) => themes.includes(themeName)));\n }\n getAvailableThemes() {\n return this._providers$.pipe(switchMap((providers) => {\n return combineLatest(providers.map((provider) => {\n const availableThemes = provider.getAvailableThemes();\n if (Array.isArray(availableThemes)) {\n return of(availableThemes);\n }\n return availableThemes;\n })).pipe(map((providerResponses) => {\n const uniques = providerResponses.reduce((acc, curr) => {\n curr.forEach((theme) => acc.add(theme));\n return acc;\n }, new Set());\n return [...uniques.values()];\n }));\n }));\n }\n /** Registers theming provider for further usage. */\n registerProvider(provider) {\n const providers = this._providers$.value;\n providers.push(provider);\n this._providers$.next(providers);\n }\n /** Unregisters previously registered theming provider. */\n unregisterProvider(provider) {\n const providers = this._providers$.value;\n const index = providers.indexOf(provider);\n if (index !== -1) {\n providers.splice(index, 1);\n this._providers$.next(providers);\n }\n }\n /** Sets the theme to the providers */\n setTheme(theme) {\n return new Observable((subscriber) => {\n const finalizer$ = new Subject();\n this._themeChanged$\n .pipe(takeUntil(finalizer$))\n .subscribe((changedTheme) => {\n if (changedTheme === theme) {\n finalizer$.next();\n finalizer$.complete();\n }\n subscriber.next(changedTheme === theme);\n subscriber.complete();\n });\n this._currentTheme$.next([this._currentTheme$.value[1], theme]);\n });\n }\n /** @hidden */\n ngOnDestroy() {\n this._destroyed$.next();\n this._destroyed$.complete();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: Ui5ThemingService, deps: [{ token: UI5_THEMING_CONFIGURATION, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: Ui5ThemingService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: Ui5ThemingService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [UI5_THEMING_CONFIGURATION]\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWk1LXRoZW1pbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWk1LWFuZ3VsYXItdGhlbWluZy9zcmMvdWk1LXRoZW1pbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFDSCxVQUFVLEVBQ1YsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxFQUNILEVBQUUsRUFBRSxLQUFLLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBRUwseUJBQXlCLEdBRzFCLE1BQU0sc0JBQXNCLENBQUM7O0FBRzlCLE1BQU0sT0FBTyxpQkFBaUI7SUFXNUIsWUFDa0UsT0FBc0I7UUFBdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQVh2RSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUF1QixFQUFFLENBQUMsQ0FBQztRQUNyRSxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFtQjtZQUM3RCxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksSUFBSSxhQUFhO1lBQzNDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxJQUFJLGFBQWE7U0FDNUMsQ0FBQyxDQUFDO1FBRUssbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRXZDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUt4QyxhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsV0FBVztZQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyw0RUFBNEU7U0FDbEgsQ0FBQzthQUNDLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLGFB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SUFBSSxVQUFVLENBQVUsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxjQUFjO2lCQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUMzQixTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxZQUFZLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQzNCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDbEIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4QixDQUFDO2dCQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0F0SVUsaUJBQWlCLGtCQVlOLHlCQUF5QjtrSEFacEMsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFhTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBpc0Rldk1vZGUsIE9uRGVzdHJveSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG4gIG9mLCBkZWxheSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBUaGVtaW5nQ29uZmlnLFxuICBVSTVfVEhFTUlOR19DT05GSUdVUkFUSU9OLFxuICBVaTVUaGVtaW5nUHJvdmlkZXIsXG4gIFVpNVRoZW1pbmdDb25zdW1lcixcbn0gZnJvbSAnLi91aTUtdGhlbWluZy5tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVWk1VGhlbWluZ1NlcnZpY2UgaW1wbGVtZW50cyBVaTVUaGVtaW5nQ29uc3VtZXIsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Byb3ZpZGVycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVpNVRoZW1pbmdQcm92aWRlcltdPihbXSk7XG4gIHByaXZhdGUgX2N1cnJlbnRUaGVtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFtzdHJpbmcsIHN0cmluZ10+KFtcbiAgICB0aGlzLl9jb25maWc/LmRlZmF1bHRUaGVtZSB8fCAnc2FwX2Zpb3JpXzMnLFxuICAgIHRoaXMuX2NvbmZpZz8uZGVmYXVsdFRoZW1lIHx8ICdzYXBfZmlvcmlfMycsXG4gIF0pO1xuXG4gIHByaXZhdGUgX3RoZW1lQ2hhbmdlZCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChVSTVfVEhFTUlOR19DT05GSUdVUkFUSU9OKSBwcml2YXRlIHJlYWRvbmx5IF9jb25maWc6IFRoZW1pbmdDb25maWdcbiAgKSB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLl9wcm92aWRlcnMkLFxuICAgICAgdGhpcy5fY3VycmVudFRoZW1lJC5waXBlKGRlbGF5KDEwMCkpIC8vIERlbGF5IHNvIHRoYXQgdGhlIHByb3ZpZGVycyBhcmUgcmVnaXN0ZXJlZC4gQHRvZG86IEZpbmQgYSBiZXR0ZXIgc29sdXRpb25cbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoW3Byb3ZpZGVycywgW3ByZXZpb3VzVGhlbWUsIG5ld1RoZW1lXV0pID0+IHtcbiAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgIHByb3ZpZGVycy5tYXAoXG4gICAgICAgICAgICAgIChwcm92aWRlcik6IE9ic2VydmFibGU8W1VpNVRoZW1pbmdQcm92aWRlciwgYm9vbGVhbl0+ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1N1cHBvcnRlZCA9IHByb3ZpZGVyLnN1cHBvcnRzVGhlbWUobmV3VGhlbWUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaXNTdXBwb3J0ZWQgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKFtwcm92aWRlciwgaXNTdXBwb3J0ZWRdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzU3VwcG9ydGVkLnBpcGUoXG4gICAgICAgICAgICAgICAgICBtYXAoKHN1cHBvcnRlZCkgPT4gW3Byb3ZpZGVyLCBzdXBwb3J0ZWRdKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHByb3ZpZGVycykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB1bnN1cHBvcnRlZFByb3ZpZGVycyA9IHByb3ZpZGVycy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgKFssIHN1cHBvcnRlZF0pID0+ICFzdXBwb3J0ZWRcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKHVuc3VwcG9ydGVkUHJvdmlkZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICBgVGhlIGZvbGxvd2luZyBwcm92aWRlcnMgZG8gbm90IHN1cHBvcnQgdGhlIHRoZW1lIFwiJHtuZXdUaGVtZX1cIjpgLFxuICAgICAgICAgICAgICAgICAgICB1bnN1cHBvcnRlZFByb3ZpZGVycy5tYXAoKFtwcm92aWRlcl0pID0+IHByb3ZpZGVyLm5hbWUpXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgICAgICBwcm92aWRlcnMubWFwKChbcHJvdmlkZXJdKSA9PiBwcm92aWRlci5zZXRUaGVtZShuZXdUaGVtZSkpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgocHJvdmlkZXJSZXNwb25zZXMpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHByb3ZpZGVyUmVzcG9uc2VzLmV2ZXJ5KEJvb2xlYW4pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ld1RoZW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBwcmV2aW91c1RoZW1lO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCh0aGVtZSkgPT4ge1xuICAgICAgICAgIHRoaXMuX3RoZW1lQ2hhbmdlZCQubmV4dCh0aGVtZSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHN1cHBvcnRzVGhlbWUodGhlbWVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRBdmFpbGFibGVUaGVtZXMoKS5waXBlKFxuICAgICAgbWFwKCh0aGVtZXMpID0+IHRoZW1lcy5pbmNsdWRlcyh0aGVtZU5hbWUpKVxuICAgICk7XG4gIH1cblxuICBnZXRBdmFpbGFibGVUaGVtZXMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9wcm92aWRlcnMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHByb3ZpZGVycykgPT4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChcbiAgICAgICAgICBwcm92aWRlcnMubWFwKChwcm92aWRlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXZhaWxhYmxlVGhlbWVzID0gcHJvdmlkZXIuZ2V0QXZhaWxhYmxlVGhlbWVzKCk7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhdmFpbGFibGVUaGVtZXMpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihhdmFpbGFibGVUaGVtZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGF2YWlsYWJsZVRoZW1lcztcbiAgICAgICAgICB9KVxuICAgICAgICApLnBpcGUoXG4gICAgICAgICAgbWFwKChwcm92aWRlclJlc3BvbnNlczogQXJyYXk8c3RyaW5nW10+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bmlxdWVzID0gcHJvdmlkZXJSZXNwb25zZXMucmVkdWNlKChhY2MsIGN1cnIpID0+IHtcbiAgICAgICAgICAgICAgY3Vyci5mb3JFYWNoKCh0aGVtZSkgPT4gYWNjLmFkZCh0aGVtZSkpO1xuICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSwgbmV3IFNldDxzdHJpbmc+KCkpO1xuICAgICAgICAgICAgcmV0dXJuIFsuLi51bmlxdWVzLnZhbHVlcygpXTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqIFJlZ2lzdGVycyB0aGVtaW5nIHByb3ZpZGVyIGZvciBmdXJ0aGVyIHVzYWdlLiAqL1xuICByZWdpc3RlclByb3ZpZGVyKHByb3ZpZGVyOiBVaTVUaGVtaW5nUHJvdmlkZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcm92aWRlcnMgPSB0aGlzLl9wcm92aWRlcnMkLnZhbHVlO1xuICAgIHByb3ZpZGVycy5wdXNoKHByb3ZpZGVyKTtcbiAgICB0aGlzLl9wcm92aWRlcnMkLm5leHQocHJvdmlkZXJzKTtcbiAgfVxuXG4gIC8qKiBVbnJlZ2lzdGVycyBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgdGhlbWluZyBwcm92aWRlci4gKi9cbiAgdW5yZWdpc3RlclByb3ZpZGVyKHByb3ZpZGVyOiBVaTVUaGVtaW5nUHJvdmlkZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcm92aWRlcnMgPSB0aGlzLl9wcm92aWRlcnMkLnZhbHVlO1xuICAgIGNvbnN0IGluZGV4ID0gcHJvdmlkZXJzLmluZGV4T2YocHJvdmlkZXIpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHByb3ZpZGVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgdGhpcy5fcHJvdmlkZXJzJC5uZXh0KHByb3ZpZGVycyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNldHMgdGhlIHRoZW1lIHRvIHRoZSBwcm92aWRlcnMgKi9cbiAgc2V0VGhlbWUodGhlbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgY29uc3QgZmluYWxpemVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgICB0aGlzLl90aGVtZUNoYW5nZWQkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChmaW5hbGl6ZXIkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlZFRoZW1lKSA9PiB7XG4gICAgICAgICAgaWYgKGNoYW5nZWRUaGVtZSA9PT0gdGhlbWUpIHtcbiAgICAgICAgICAgIGZpbmFsaXplciQubmV4dCgpO1xuICAgICAgICAgICAgZmluYWxpemVyJC5jb21wbGV0ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoY2hhbmdlZFRoZW1lID09PSB0aGVtZSk7XG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMuX2N1cnJlbnRUaGVtZSQubmV4dChbdGhpcy5fY3VycmVudFRoZW1lJC52YWx1ZVsxXSwgdGhlbWVdKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaGlkZGVuICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19","import { NgModule, Optional, isDevMode, } from '@angular/core';\nimport { Ui5ThemingService } from './ui5-theming.service';\nimport { UI5_THEMING_CONFIGURATION } from './ui5-theming.models';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./ui5-theming.service\";\nexport class Ui5ThemingModule {\n constructor(theming) {\n this.theming = theming;\n if (!this.theming && isDevMode()) {\n console.error('Could not find Ui5ThemingService. Make sure you called .forRoot() for Ui5ThemingModule');\n }\n }\n static forRoot(config) {\n return {\n ngModule: Ui5ThemingModule,\n providers: [\n Ui5ThemingService,\n {\n provide: UI5_THEMING_CONFIGURATION,\n useValue: config,\n },\n ],\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: Ui5ThemingModule, deps: [{ token: i1.Ui5ThemingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.3\", ngImport: i0, type: Ui5ThemingModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: Ui5ThemingModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: Ui5ThemingModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [],\n declarations: [],\n }]\n }], ctorParameters: () => [{ type: i1.Ui5ThemingService, decorators: [{\n type: Optional\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWk1LXRoZW1pbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aTUtYW5ndWxhci10aGVtaW5nL3NyYy91aTUtdGhlbWluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsRUFFUixRQUFRLEVBQ1IsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBaUIseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTWhGLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBK0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNqQyxPQUFPLENBQUMsS0FBSyxDQUNYLHdGQUF3RixDQUN6RixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQXFCO1FBQ2xDLE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDVCxpQkFBaUI7Z0JBQ2pCO29CQUNFLE9BQU8sRUFBRSx5QkFBeUI7b0JBQ2xDLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBbkJVLGdCQUFnQjsrR0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCOzswQkFFYyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmdNb2R1bGUsXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gIE9wdGlvbmFsLFxuICBpc0Rldk1vZGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVWk1VGhlbWluZ1NlcnZpY2UgfSBmcm9tICcuL3VpNS10aGVtaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhlbWluZ0NvbmZpZywgVUk1X1RIRU1JTkdfQ09ORklHVVJBVElPTiB9IGZyb20gJy4vdWk1LXRoZW1pbmcubW9kZWxzJztcblxuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFVpNVRoZW1pbmdNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgdGhlbWluZzogVWk1VGhlbWluZ1NlcnZpY2UpIHtcbiAgICBpZiAoIXRoaXMudGhlbWluZyAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIFVpNVRoZW1pbmdTZXJ2aWNlLiBNYWtlIHN1cmUgeW91IGNhbGxlZCAuZm9yUm9vdCgpIGZvciBVaTVUaGVtaW5nTW9kdWxlJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBUaGVtaW5nQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxVaTVUaGVtaW5nTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBVaTVUaGVtaW5nTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFVpNVRoZW1pbmdTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogVUk1X1RIRU1JTkdfQ09ORklHVVJBVElPTixcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWk1LXRoZW1pbmctbmd4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aTUtYW5ndWxhci10aGVtaW5nL3NyYy91aTUtdGhlbWluZy1uZ3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1.Ui5ThemingService"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,3 +1,51 @@
1
- export { Ui5ThemingModule } from './ui5-theming.module';
2
- export { Ui5ThemingService } from './ui5-theming.service';
3
- export * from './ui5-theming.models';
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, OnDestroy, ModuleWithProviders } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+
5
+ interface ThemingConfig {
6
+ defaultTheme: string;
7
+ }
8
+ declare const UI5_THEMING_CONFIGURATION: InjectionToken<ThemingConfig>;
9
+ interface Ui5ThemingProvider {
10
+ name: string;
11
+ getAvailableThemes(): string[] | Observable<string[]>;
12
+ supportsTheme(themeName: string): boolean | Observable<boolean>;
13
+ setTheme(themeName: string): Observable<boolean>;
14
+ }
15
+ interface Ui5ThemingConsumer extends Omit<Ui5ThemingProvider, 'name'> {
16
+ registerProvider(provider: Ui5ThemingProvider): void;
17
+ unregisterProvider(provider: Ui5ThemingProvider): void;
18
+ }
19
+
20
+ declare class Ui5ThemingService implements Ui5ThemingConsumer, OnDestroy {
21
+ private readonly _config;
22
+ private readonly _providers$;
23
+ private _currentTheme$;
24
+ private _themeChanged$;
25
+ private _destroyed$;
26
+ constructor(_config: ThemingConfig);
27
+ supportsTheme(themeName: string): Observable<boolean>;
28
+ getAvailableThemes(): Observable<string[]>;
29
+ /** Registers theming provider for further usage. */
30
+ registerProvider(provider: Ui5ThemingProvider): void;
31
+ /** Unregisters previously registered theming provider. */
32
+ unregisterProvider(provider: Ui5ThemingProvider): void;
33
+ /** Sets the theme to the providers */
34
+ setTheme(theme: string): Observable<boolean>;
35
+ /** @hidden */
36
+ ngOnDestroy(): void;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<Ui5ThemingService, [{ optional: true; }]>;
38
+ static ɵprov: i0.ɵɵInjectableDeclaration<Ui5ThemingService>;
39
+ }
40
+
41
+ declare class Ui5ThemingModule {
42
+ theming: Ui5ThemingService;
43
+ constructor(theming: Ui5ThemingService);
44
+ static forRoot(config: ThemingConfig): ModuleWithProviders<Ui5ThemingModule>;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<Ui5ThemingModule, [{ optional: true; }]>;
46
+ static ɵmod: i0.ɵɵNgModuleDeclaration<Ui5ThemingModule, never, never, never>;
47
+ static ɵinj: i0.ɵɵInjectorDeclaration<Ui5ThemingModule>;
48
+ }
49
+
50
+ export { UI5_THEMING_CONFIGURATION, Ui5ThemingModule, Ui5ThemingService };
51
+ export type { ThemingConfig, Ui5ThemingConsumer, Ui5ThemingProvider };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ui5/theming-ngx",
3
- "version": "0.4.9-rc.2",
3
+ "version": "0.5.0-rc.0",
4
4
  "license": "Apache-2.0",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "repository": {
Binary file
Binary file
@@ -1,16 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- export interface ThemingConfig {
4
- defaultTheme: string;
5
- }
6
- export declare const UI5_THEMING_CONFIGURATION: InjectionToken<ThemingConfig>;
7
- export interface Ui5ThemingProvider {
8
- name: string;
9
- getAvailableThemes(): string[] | Observable<string[]>;
10
- supportsTheme(themeName: string): boolean | Observable<boolean>;
11
- setTheme(themeName: string): Observable<boolean>;
12
- }
13
- export interface Ui5ThemingConsumer extends Omit<Ui5ThemingProvider, 'name'> {
14
- registerProvider(provider: Ui5ThemingProvider): void;
15
- unregisterProvider(provider: Ui5ThemingProvider): void;
16
- }
@@ -1,12 +0,0 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- import { Ui5ThemingService } from './ui5-theming.service';
3
- import { ThemingConfig } from './ui5-theming.models';
4
- import * as i0 from "@angular/core";
5
- export declare class Ui5ThemingModule {
6
- theming: Ui5ThemingService;
7
- constructor(theming: Ui5ThemingService);
8
- static forRoot(config: ThemingConfig): ModuleWithProviders<Ui5ThemingModule>;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<Ui5ThemingModule, [{ optional: true; }]>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<Ui5ThemingModule, never, never, never>;
11
- static ɵinj: i0.ɵɵInjectorDeclaration<Ui5ThemingModule>;
12
- }
@@ -1,24 +0,0 @@
1
- import { OnDestroy } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { ThemingConfig, Ui5ThemingProvider, Ui5ThemingConsumer } from './ui5-theming.models';
4
- import * as i0 from "@angular/core";
5
- export declare class Ui5ThemingService implements Ui5ThemingConsumer, OnDestroy {
6
- private readonly _config;
7
- private readonly _providers$;
8
- private _currentTheme$;
9
- private _themeChanged$;
10
- private _destroyed$;
11
- constructor(_config: ThemingConfig);
12
- supportsTheme(themeName: string): Observable<boolean>;
13
- getAvailableThemes(): Observable<string[]>;
14
- /** Registers theming provider for further usage. */
15
- registerProvider(provider: Ui5ThemingProvider): void;
16
- /** Unregisters previously registered theming provider. */
17
- unregisterProvider(provider: Ui5ThemingProvider): void;
18
- /** Sets the theme to the providers */
19
- setTheme(theme: string): Observable<boolean>;
20
- /** @hidden */
21
- ngOnDestroy(): void;
22
- static ɵfac: i0.ɵɵFactoryDeclaration<Ui5ThemingService, [{ optional: true; }]>;
23
- static ɵprov: i0.ɵɵInjectableDeclaration<Ui5ThemingService>;
24
- }