{"version":3,"file":"sowatech-shared-template.mjs","sources":["../../../projects/shared/template/css-class.directive.ts","../../../projects/shared/template/if-template.directive.ts","../../../projects/shared/template/switch-template.component.ts","../../../projects/shared/template/switch-template.component.html","../../../projects/shared/template/switch-template.module.ts","../../../projects/shared/template/sowatech-shared-template.ts"],"sourcesContent":["import { Directive, HostBinding, inject, Input } from '@angular/core';\r\nimport { SharedConfigService, TemplateKey } from '@sowatech/shared/shared-config';\r\n\r\n@Directive()\r\nabstract class CssClassDirective {\r\n    private config = inject(SharedConfigService);\r\n    protected abstract templateKey: TemplateKey;\r\n\r\n    public setClass(value: string) {\r\n        if (this.config.templateKey === this.templateKey)\r\n            this.class = value;\r\n    }\r\n\r\n    @HostBinding('class')\r\n    protected class;\r\n}\r\n\r\n@Directive({\r\n    selector: '[inspinia-class]',\r\n    standalone: false\r\n})\r\nexport class InspiniaCssClassDirective extends CssClassDirective {\r\n    protected templateKey: TemplateKey = 'inspinia';\r\n    @Input('inspinia-class')\r\n    public set inspiniaClass(value: string) {\r\n        this.setClass(value);\r\n    }\r\n}\r\n\r\n@Directive({\r\n    selector: '[sneat-class]',\r\n    standalone: false\r\n})\r\nexport class SneatCssClassDirective extends CssClassDirective {\r\n    protected templateKey: TemplateKey = 'sneat';\r\n    @Input('sneat-class')\r\n    public set sneatClass(value: string) {\r\n        this.setClass(value);\r\n    }\r\n}\r\n","import { Directive, Input, TemplateRef, ViewContainerRef, inject } from '@angular/core';\r\nimport { SharedConfigService, TemplateKey } from '@sowatech/shared/shared-config';\r\n\r\n@Directive()\r\nabstract class IfTemplateDirective {\r\n    private readonly templateRef = inject(TemplateRef);\r\n    private readonly viewContainer = inject(ViewContainerRef);\r\n    private readonly config = inject(SharedConfigService);\r\n    protected abstract templateKey: TemplateKey;\r\n    private showIfTemplateMatches = true;\r\n\r\n    protected setView(value: boolean) {\r\n        this.showIfTemplateMatches = value;\r\n        if (this.canShowTemplate)\r\n            this.viewContainer.createEmbeddedView(this.templateRef);\r\n        else\r\n            this.viewContainer.clear();\r\n    }\r\n\r\n    private get canShowTemplate(): boolean {\r\n        const templateMatches = this.config.templateKey === this.templateKey;\r\n        return (templateMatches && this.showIfTemplateMatches) || (!templateMatches && !this.showIfTemplateMatches);\r\n    }\r\n}\r\n\r\n@Directive({\r\n    selector: '[ifInspinia]',\r\n    standalone: false\r\n})\r\nexport class IfInspiniaDirective extends IfTemplateDirective {\r\n    protected templateKey: TemplateKey = 'inspinia';\r\n    @Input() public set ifInspinia(value: boolean) {\r\n        this.setView(value);\r\n    }\r\n}\r\n\r\n@Directive({\r\n    selector: '[ifSneat]',\r\n    standalone: false\r\n})\r\nexport class IfSneatDirective extends IfTemplateDirective {\r\n    protected templateKey: TemplateKey = 'sneat';\r\n    @Input() public set ifSneat(value: boolean) {\r\n        this.setView(value);\r\n    }\r\n}\r\n","import { Component, Input, TemplateRef } from '@angular/core';\r\nimport { SharedConfigService } from '@sowatech/shared/shared-config';\r\n\r\n@Component({\r\n    selector: 'switch-template',\r\n    templateUrl: './switch-template.component.html',\r\n    standalone: false\r\n})\r\nexport class SwitchTemplateComponent {\r\n    constructor(private config: SharedConfigService) { }\r\n\r\n    public get templateKey() { return this.config.templateKey; }\r\n\r\n    @Input()\r\n    public sneat?: TemplateRef<void>;\r\n    @Input()\r\n    public inspinia?: TemplateRef<void>;\r\n    @Input()\r\n    public default: TemplateRef<void>;\r\n}\r\n","\r\n@switch (templateKey) {\r\n  @case ('inspinia') {\r\n    <ng-container *ngTemplateOutlet=\"inspinia ?? default\"></ng-container>\r\n  }\r\n  @case ('sneat') {\r\n    <ng-container *ngTemplateOutlet=\"sneat ?? default\"></ng-container>\r\n  }\r\n  @default {\r\n    <ng-container *ngTemplateOutlet=\"default\"></ng-container>\r\n  }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { InspiniaCssClassDirective, SneatCssClassDirective } from './css-class.directive';\r\nimport { IfInspiniaDirective, IfSneatDirective } from './if-template.directive';\r\nimport { SwitchTemplateComponent } from './switch-template.component';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule,\r\n    ],\r\n    declarations: [SwitchTemplateComponent, InspiniaCssClassDirective, SneatCssClassDirective, IfInspiniaDirective, IfSneatDirective],\r\n    exports: [SwitchTemplateComponent, InspiniaCssClassDirective, SneatCssClassDirective, IfInspiniaDirective, IfSneatDirective]\r\n})\r\nexport class SwitchTemplateModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}