theme-lib
Version:
This is a simple example Angular Library published to npm.
77 lines • 9.77 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
* @license
* Copyright Akveo. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
import { NgModule } from '@angular/core';
import { CommonModule, DOCUMENT } from '@angular/common';
import { NB_BUILT_IN_JS_THEMES, NB_MEDIA_BREAKPOINTS, NB_THEME_OPTIONS, NB_JS_THEMES, NB_DOCUMENT, NB_WINDOW, } from './theme.options';
import { NbThemeService } from './services/theme.service';
import { NbSpinnerService } from './services/spinner.service';
import { BUILT_IN_THEMES, NbJSThemesRegistry } from './services/js-themes-registry.service';
import { DEFAULT_MEDIA_BREAKPOINTS, NbMediaBreakpointsService, } from './services/breakpoints.service';
import { NbLayoutDirectionService, NbLayoutDirection, NB_LAYOUT_DIRECTION } from './services/direction.service';
import { NbLayoutScrollService } from './services/scroll.service';
import { NbLayoutRulerService } from './services/ruler.service';
import { NbOverlayModule } from './components/cdk';
/**
* @return {?}
*/
export function nbWindowFactory() {
return window;
}
export class NbThemeModule {
// TODO: check the options (throw exception?)
/*
* Main Theme Module
*
* @param nbThemeOptions {NbThemeOptions} Main theme options
* @param nbJSThemes {NbJSThemeOptions[]} List of JS Themes, will be merged with default themes
* @param nbMediaBreakpoints {NbMediaBreakpoint} Available media breakpoints
* @param layoutDirection {NbLayoutDirection} Layout direction
*
* @returns {ModuleWithProviders}
*/
/**
* @param {?=} nbThemeOptions
* @param {?=} nbJSThemes
* @param {?=} nbMediaBreakpoints
* @param {?=} layoutDirection
* @return {?}
*/
static forRoot(nbThemeOptions = { name: 'default' }, nbJSThemes, nbMediaBreakpoints, layoutDirection) {
return (/** @type {?} */ ({
ngModule: NbThemeModule,
providers: [
{ provide: NB_THEME_OPTIONS, useValue: nbThemeOptions || {} },
{ provide: NB_BUILT_IN_JS_THEMES, useValue: BUILT_IN_THEMES },
{ provide: NB_JS_THEMES, useValue: nbJSThemes || [] },
{ provide: NB_MEDIA_BREAKPOINTS, useValue: nbMediaBreakpoints || DEFAULT_MEDIA_BREAKPOINTS },
{ provide: NB_WINDOW, useFactory: nbWindowFactory },
{ provide: NB_DOCUMENT, useExisting: DOCUMENT },
NbJSThemesRegistry,
NbThemeService,
NbMediaBreakpointsService,
NbSpinnerService,
{ provide: NB_LAYOUT_DIRECTION, useValue: layoutDirection || NbLayoutDirection.LTR },
NbLayoutDirectionService,
NbLayoutScrollService,
NbLayoutRulerService,
...NbOverlayModule.forRoot().providers,
],
}));
}
}
NbThemeModule.decorators = [
{ type: NgModule, args: [{
imports: [
CommonModule,
],
exports: [],
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGhlbWUtbGliLyIsInNvdXJjZXMiOlsibGliL3RoZW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFNQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBRXBCLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUYsT0FBTyxFQUNMLHlCQUF5QixFQUV6Qix5QkFBeUIsR0FDMUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFFbkQsTUFBTSxVQUFVLGVBQWU7SUFDN0IsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQVNELE1BQU0sT0FBTyxhQUFhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBYXhCLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUNwRCxVQUErQixFQUMvQixrQkFBd0MsRUFDeEMsZUFBbUM7UUFFaEQsT0FBTyxtQkFBc0I7WUFDM0IsUUFBUSxFQUFFLGFBQWE7WUFDdkIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxjQUFjLElBQUksRUFBRSxFQUFFO2dCQUM3RCxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFO2dCQUM3RCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFVBQVUsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JELEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsSUFBSSx5QkFBeUIsRUFBRTtnQkFDNUYsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUU7Z0JBQ25ELEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFO2dCQUMvQyxrQkFBa0I7Z0JBQ2xCLGNBQWM7Z0JBQ2QseUJBQXlCO2dCQUN6QixnQkFBZ0I7Z0JBQ2hCLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxlQUFlLElBQUksaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUNwRix3QkFBd0I7Z0JBQ3hCLHFCQUFxQjtnQkFDckIsb0JBQW9CO2dCQUNwQixHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTO2FBQ3ZDO1NBQ0YsRUFBQSxDQUFDO0lBQ0osQ0FBQzs7O1lBN0NGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxPQUFPLEVBQUUsRUFDUjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IEFrdmVvLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHtcclxuICBOQl9CVUlMVF9JTl9KU19USEVNRVMsXHJcbiAgTkJfTUVESUFfQlJFQUtQT0lOVFMsXHJcbiAgTmJUaGVtZU9wdGlvbnMsXHJcbiAgTkJfVEhFTUVfT1BUSU9OUyxcclxuICBOQl9KU19USEVNRVMsXHJcbiAgTkJfRE9DVU1FTlQsXHJcbiAgTkJfV0lORE9XLFxyXG59IGZyb20gJy4vdGhlbWUub3B0aW9ucyc7XHJcbmltcG9ydCB7IE5iVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmJTcGlubmVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc3Bpbm5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmJKU1RoZW1lT3B0aW9ucyB9IGZyb20gJy4vc2VydmljZXMvanMtdGhlbWVzL3RoZW1lLm9wdGlvbnMnO1xyXG5pbXBvcnQgeyBCVUlMVF9JTl9USEVNRVMsIE5iSlNUaGVtZXNSZWdpc3RyeSB9IGZyb20gJy4vc2VydmljZXMvanMtdGhlbWVzLXJlZ2lzdHJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIERFRkFVTFRfTUVESUFfQlJFQUtQT0lOVFMsXHJcbiAgTmJNZWRpYUJyZWFrcG9pbnQsXHJcbiAgTmJNZWRpYUJyZWFrcG9pbnRzU2VydmljZSxcclxufSBmcm9tICcuL3NlcnZpY2VzL2JyZWFrcG9pbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYkxheW91dERpcmVjdGlvblNlcnZpY2UsIE5iTGF5b3V0RGlyZWN0aW9uLCBOQl9MQVlPVVRfRElSRUNUSU9OIH0gZnJvbSAnLi9zZXJ2aWNlcy9kaXJlY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE5iTGF5b3V0U2Nyb2xsU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2Nyb2xsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYkxheW91dFJ1bGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcnVsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IE5iT3ZlcmxheU1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jZGsnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG5iV2luZG93RmFjdG9yeSgpIHtcclxuICByZXR1cm4gd2luZG93O1xyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmJUaGVtZU1vZHVsZSB7XHJcblxyXG4gIC8vIFRPRE86IGNoZWNrIHRoZSBvcHRpb25zICh0aHJvdyBleGNlcHRpb24/KVxyXG4gIC8qXHJcbiAgICogTWFpbiBUaGVtZSBNb2R1bGVcclxuICAgKlxyXG4gICAqIEBwYXJhbSBuYlRoZW1lT3B0aW9ucyB7TmJUaGVtZU9wdGlvbnN9IE1haW4gdGhlbWUgb3B0aW9uc1xyXG4gICAqIEBwYXJhbSBuYkpTVGhlbWVzIHtOYkpTVGhlbWVPcHRpb25zW119IExpc3Qgb2YgSlMgVGhlbWVzLCB3aWxsIGJlIG1lcmdlZCB3aXRoIGRlZmF1bHQgdGhlbWVzXHJcbiAgICogQHBhcmFtIG5iTWVkaWFCcmVha3BvaW50cyB7TmJNZWRpYUJyZWFrcG9pbnR9IEF2YWlsYWJsZSBtZWRpYSBicmVha3BvaW50c1xyXG4gICAqIEBwYXJhbSBsYXlvdXREaXJlY3Rpb24ge05iTGF5b3V0RGlyZWN0aW9ufSBMYXlvdXQgZGlyZWN0aW9uXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7TW9kdWxlV2l0aFByb3ZpZGVyc31cclxuICAgKi9cclxuICBzdGF0aWMgZm9yUm9vdChuYlRoZW1lT3B0aW9uczogTmJUaGVtZU9wdGlvbnMgPSB7IG5hbWU6ICdkZWZhdWx0JyB9LFxyXG4gICAgICAgICAgICAgICAgIG5iSlNUaGVtZXM/OiBOYkpTVGhlbWVPcHRpb25zW10sXHJcbiAgICAgICAgICAgICAgICAgbmJNZWRpYUJyZWFrcG9pbnRzPzogTmJNZWRpYUJyZWFrcG9pbnRbXSxcclxuICAgICAgICAgICAgICAgICBsYXlvdXREaXJlY3Rpb24/OiBOYkxheW91dERpcmVjdGlvbik6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xyXG5cclxuICAgIHJldHVybiA8TW9kdWxlV2l0aFByb3ZpZGVycz4ge1xyXG4gICAgICBuZ01vZHVsZTogTmJUaGVtZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBOQl9USEVNRV9PUFRJT05TLCB1c2VWYWx1ZTogbmJUaGVtZU9wdGlvbnMgfHwge30gfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE5CX0JVSUxUX0lOX0pTX1RIRU1FUywgdXNlVmFsdWU6IEJVSUxUX0lOX1RIRU1FUyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTkJfSlNfVEhFTUVTLCB1c2VWYWx1ZTogbmJKU1RoZW1lcyB8fCBbXSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTkJfTUVESUFfQlJFQUtQT0lOVFMsIHVzZVZhbHVlOiBuYk1lZGlhQnJlYWtwb2ludHMgfHwgREVGQVVMVF9NRURJQV9CUkVBS1BPSU5UUyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTkJfV0lORE9XLCB1c2VGYWN0b3J5OiBuYldpbmRvd0ZhY3RvcnkgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE5CX0RPQ1VNRU5ULCB1c2VFeGlzdGluZzogRE9DVU1FTlQgfSxcclxuICAgICAgICBOYkpTVGhlbWVzUmVnaXN0cnksXHJcbiAgICAgICAgTmJUaGVtZVNlcnZpY2UsXHJcbiAgICAgICAgTmJNZWRpYUJyZWFrcG9pbnRzU2VydmljZSxcclxuICAgICAgICBOYlNwaW5uZXJTZXJ2aWNlLFxyXG4gICAgICAgIHsgcHJvdmlkZTogTkJfTEFZT1VUX0RJUkVDVElPTiwgdXNlVmFsdWU6IGxheW91dERpcmVjdGlvbiB8fCBOYkxheW91dERpcmVjdGlvbi5MVFIgfSxcclxuICAgICAgICBOYkxheW91dERpcmVjdGlvblNlcnZpY2UsXHJcbiAgICAgICAgTmJMYXlvdXRTY3JvbGxTZXJ2aWNlLFxyXG4gICAgICAgIE5iTGF5b3V0UnVsZXJTZXJ2aWNlLFxyXG4gICAgICAgIC4uLk5iT3ZlcmxheU1vZHVsZS5mb3JSb290KCkucHJvdmlkZXJzLFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19