import * as i0 from '@angular/core';
import { Injectable, NgModule } from '@angular/core';
import { gettext, hookTab } from '@c8y/ngx-components';
import { BrandingTabFactory, BRANDING_EDIT_CHILD_ROUTES, SharedBrandingModule } from '@c8y/ngx-components/branding/shared';
import { gettext as gettext$1 } from '@c8y/ngx-components/gettext';

const extraCssTabLabel = gettext('Custom CSS');
class ExtraCssBrandingEditorTabFactory extends BrandingTabFactory {
    getTabsForVersion(name) {
        return [
            {
                path: this.getPathForBranding(name, 'css'),
                label: extraCssTabLabel,
                icon: 'c8y-css',
                priority: 300
            }
        ];
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ExtraCssBrandingEditorTabFactory, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
    static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ExtraCssBrandingEditorTabFactory, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ExtraCssBrandingEditorTabFactory, decorators: [{
            type: Injectable,
            args: [{ providedIn: 'root' }]
        }] });

BRANDING_EDIT_CHILD_ROUTES.push({
    path: 'css',
    data: {
        attributeToEdit: 'extraCss',
        language: 'css',
        tabName: extraCssTabLabel,
        infoText: gettext$1('This feature requires knowledge of CSS and HTML. Changes made here take precedence over built-in styles. Future platform updates may affect custom CSS functionality.')
    },
    loadComponent: () => import('@c8y/ngx-components/branding/plain-branding-editor/lazy').then(m => m.AdvancedEditBrandingComponent)
});
class ExtraCssBrandingEditorModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ExtraCssBrandingEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: ExtraCssBrandingEditorModule, imports: [SharedBrandingModule] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ExtraCssBrandingEditorModule, providers: [hookTab(ExtraCssBrandingEditorTabFactory)], imports: [SharedBrandingModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ExtraCssBrandingEditorModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [SharedBrandingModule],
                    providers: [hookTab(ExtraCssBrandingEditorTabFactory)]
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { ExtraCssBrandingEditorModule };
//# sourceMappingURL=c8y-ngx-components-branding-extra-css-branding-editor.mjs.map
