{"version":3,"file":"sowatech-shared-layout.mjs","sources":["../../../projects/shared/layout/layout-group/layout-group-content.component.ts","../../../projects/shared/layout/layout-group/row-base.directive.ts","../../../projects/shared/layout/layout-group/layout-group-section.component.ts","../../../projects/shared/layout/layout-group/layout-group-item.component.ts","../../../projects/shared/layout/layout-group/layout-group-row.component.ts","../../../projects/shared/layout/layout-title/layout-title.component.ts","../../../projects/shared/layout/layout-title/layout-title.component.html","../../../projects/shared/layout/layout-info-text/layout-info-text.component.ts","../../../projects/shared/layout/layout-info-icon/layout-info-icon.component.ts","../../../projects/shared/layout/layout-info-icon/layout-info-icon.component.html","../../../projects/shared/layout/layout-group/layout-group.component.ts","../../../projects/shared/layout/layout-group/layout-group.component.html","../../../projects/shared/layout/layout-group/link-value.directive.ts","../../../projects/shared/layout/layout.module.ts","../../../projects/shared/layout/sowatech-shared-layout.ts"],"sourcesContent":["import { AfterViewInit, Component, Directive, ElementRef, OnDestroy, TemplateRef, computed, contentChild, inject, input, signal } from '@angular/core';\r\n\r\n@Directive()\r\nexport class Content implements AfterViewInit, OnDestroy {\r\n    private readonly selfContainedContentTags = new Set(['IMG', 'SVG', 'VIDEO', 'AUDIO', 'IFRAME', 'CANVAS', 'INPUT', 'TEXTAREA', 'SELECT']);\r\n    private readonly element = inject(ElementRef);\r\n    private readonly mutationObserver = new MutationObserver(() => this.text.set(this.element.nativeElement.innerText.trim()));\r\n\r\n    public readonly tooltip = input<string>('');\r\n    public readonly infoText = input<string>();\r\n    public readonly infoIcon = input<string>();\r\n    private readonly text = signal('');\r\n    private readonly template = contentChild<TemplateRef<unknown>>('content');\r\n\r\n    private readonly link = computed(() => this.linkProvider.getLink(this.text()));\r\n    public readonly context = computed(() => ({ tooltip: this.tooltip(), infoText: this.infoText(), infoIcon: this.infoIcon(), text: this.text(), link: this.link(), template: this.template() }));\r\n    public readonly hasContent = computed(() => {\r\n        const hasTextContent = this.text() !== '';\r\n        const hasTemplateContent = !!this.template();\r\n        return hasTextContent || hasTemplateContent;\r\n    });\r\n\r\n    public linkProvider: LinkProvider = new DefaultLinkProvider();\r\n\r\n    ngAfterViewInit(): void {\r\n        this.text.set(this.element.nativeElement.innerText.trim());\r\n        this.mutationObserver.observe(this.element.nativeElement, { subtree: true, characterData: true, childList: true });\r\n    }\r\n\r\n    ngOnDestroy(): void {\r\n        this.mutationObserver.disconnect();\r\n    }\r\n}\r\n\r\n@Component({\r\n    selector: 'ly-group-title',\r\n    template: '<ng-content></ng-content>',\r\n    standalone: false\r\n})\r\nexport class LayoutGroupTitleComponent extends Content {\r\n}\r\n\r\n@Component({\r\n    selector: 'ly-group-section-title',\r\n    template: '<ng-content></ng-content>',\r\n    standalone: false\r\n})\r\nexport class LayoutGroupSectionTitleComponent extends Content {\r\n}\r\n\r\n@Component({\r\n    selector: 'ly-group-label',\r\n    template: '<ng-content></ng-content>',\r\n    standalone: false\r\n})\r\nexport class LayoutGroupLabelComponent extends Content {\r\n}\r\n\r\n@Component({\r\n    selector: 'ly-group-value',\r\n    template: '<ng-content></ng-content>',\r\n    standalone: false\r\n})\r\nexport class LayoutGroupValueComponent extends Content {\r\n}\r\n\r\nexport interface LinkProvider {\r\n    getLink(text: string): string | null;\r\n}\r\n\r\nclass DefaultLinkProvider implements LinkProvider {\r\n    public getLink(): string | null {\r\n        return null;\r\n    }\r\n}\r\n","import { computed, Directive, Signal, TemplateRef } from '@angular/core';\r\n\r\nimport { Content } from './layout-group-content.component';\r\n\r\n@Directive()\r\nexport abstract class RowBase {\r\n    public abstract get labels(): Signal<readonly Content[]>;\r\n    public abstract get values(): Signal<readonly Content[]>;\r\n    public abstract get buttonGroups(): Signal<readonly TemplateRef<unknown>[]>;\r\n    public abstract get showValuesInSameRow(): Signal<boolean>;\r\n\r\n    public readonly labelTooltips = computed(() => this.labels().map(l => l.tooltip()).join('\\n'));\r\n    public readonly valueTooltips = computed(() => this.values().map(l => l.tooltip()).join('\\n'));\r\n    public readonly buttonContext = computed(() => ({ buttonGroups: this.buttonGroups() }));\r\n}\r\n","import { Component, computed, contentChild, contentChildren, input, TemplateRef } from '@angular/core';\r\n\r\nimport { LayoutGroupSectionTitleComponent } from './layout-group-content.component';\r\nimport { RowBase } from './row-base.directive';\r\n\r\n@Component({\r\n    selector: 'ly-group-section',\r\n    template: '',\r\n    standalone: false\r\n})\r\nexport class LayoutGroupSectionComponent {\r\n    public readonly rows = contentChildren(RowBase);\r\n    public readonly rowsWithContent = computed(() =>\r\n        this.rows().filter( r =>\r\n            r.values().some((value) =>\r\n                value.hasContent()\r\n            )\r\n        )\r\n    );\r\n    public readonly hasRowsWithContent = computed(() => this.rowsWithContent().length > 0);\r\n    public readonly title = contentChild(LayoutGroupSectionTitleComponent);\r\n    public readonly buttonGroups = contentChildren<TemplateRef<unknown>>('buttons');\r\n    public readonly heading = input<string>();\r\n\r\n    public readonly hasTitleElements = computed(() => {\r\n        const hasTitle = !!this.title();\r\n        const hadHeading = !!this.heading();\r\n        const hasButtons = this.buttonGroups().length > 0;\r\n        return hasTitle || hadHeading || hasButtons;\r\n    });\r\n\r\n    public readonly buttonContext = computed(() => ({ buttonGroups: this.buttonGroups() }));\r\n}\r\n","import { Component, contentChildren, signal, TemplateRef } from '@angular/core';\r\n\r\nimport { LayoutGroupLabelComponent, LayoutGroupValueComponent } from './layout-group-content.component';\r\nimport { RowBase } from './row-base.directive';\r\n\r\n@Component({\r\n    selector: 'ly-group-item',\r\n    template: '',\r\n    providers: [{ provide: RowBase, useExisting: LayoutGroupItemComponent }],\r\n    standalone: false\r\n})\r\nexport class LayoutGroupItemComponent extends RowBase {\r\n    public readonly labels = contentChildren(LayoutGroupLabelComponent);\r\n    public readonly values = contentChildren(LayoutGroupValueComponent);\r\n    public readonly buttonGroups = contentChildren<TemplateRef<unknown>>('buttons');\r\n    public readonly showValuesInSameRow = signal(false);\r\n}\r\n","import { Component, computed, contentChildren, input, signal } from '@angular/core';\r\n\r\nimport { LayoutGroupItemComponent } from './layout-group-item.component';\r\nimport { RowBase } from './row-base.directive';\r\n\r\n\r\n@Component({\r\n    selector: 'ly-group-row',\r\n    template: '',\r\n    providers: [{ provide: RowBase, useExisting: LayoutGroupRowComponent }],\r\n    standalone: false\r\n})\r\nexport class LayoutGroupRowComponent extends RowBase {\r\n    private readonly internalItems = contentChildren(LayoutGroupItemComponent);\r\n    public readonly labels = computed(() => this.internalItems().flatMap(item => item.labels().map(label => label)));\r\n    public readonly values = computed(() => this.internalItems().flatMap(item => item.values().map(value => value)));\r\n    public readonly buttonGroups = computed(() => this.internalItems().flatMap(item => item.buttonGroups().map(button => button)));\r\n    public readonly showValuesInSameRow = signal(true);\r\n    public readonly labelSeperator = input(', ');\r\n    public readonly valueSeperator = input(', ');\r\n}\r\n","import { Component, computed, inject, input } from '@angular/core';\r\nimport { LoggerService } from '@sowatech/shared/logger';\r\nimport { HeaderType, LayoutTitleDefaultConfig } from '@sowatech/shared/shared-config';\r\n\r\n@Component({\r\n    selector: 'ly-title',\r\n    templateUrl: './layout-title.component.html',\r\n    standalone: false\r\n})\r\nexport class LayoutTitleComponent {\r\n    private readonly config = inject(LayoutTitleDefaultConfig);\r\n    private readonly logger = inject(LoggerService);\r\n\r\n    protected readonly  HeaderType = HeaderType;\r\n\r\n    /**\r\n     * h-Tags wurden durch ly-title ersetzt. Diese Klasse soll sicherstellen, dass die Textgrößen unverändert bleiben\r\n    */\r\n    public readonly sizeClass = input<LayoutTitleSize>();\r\n\r\n    public readonly customClass = input<string>();\r\n\r\n    protected readonly cssClasses = computed(() => {\r\n        let classes = this.customClass() ? this.customClass() + ' ' : '';\r\n        classes += this.sizeClass() ? this.sizeClass() : '';\r\n        return classes;\r\n    });\r\n\r\n    public readonly context = input.required<string>();\r\n\r\n    protected readonly header = computed(() => {\r\n        const header = this.config.contexts[this.context()];\r\n        if (header !== undefined && header !== null)\r\n            return header;\r\n        else{\r\n            this.logger.error('LayoutTitleComponent.context: Unknown context ' + this.context());\r\n            return undefined;\r\n        }\r\n    });\r\n}\r\n\r\nexport type LayoutTitleSize = 'title-size-1' | 'title-size-2' | 'title-size-3' | 'title-size-4' | 'title-size-5' | 'title-size-6';\r\n","\r\n@switch (header()) {\r\n  @case (HeaderType.h1) {\r\n    <h1 [class]=\"cssClasses()\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></h1>\r\n  }\r\n  @case (HeaderType.h2) {\r\n    <h2 [class]=\"cssClasses()\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></h2>\r\n  }\r\n  @case (HeaderType.h3) {\r\n    <h3 [class]=\"cssClasses()\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></h3>\r\n  }\r\n  @case (HeaderType.h4) {\r\n    <h4 [class]=\"cssClasses()\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></h4>\r\n  }\r\n  @case (HeaderType.h5) {\r\n    <h5 [class]=\"cssClasses()\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></h5>\r\n  }\r\n  @case (HeaderType.h6) {\r\n    <h6 [class]=\"cssClasses()\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></h6>\r\n  }\r\n}\r\n\r\n<ng-template #content><ng-content></ng-content></ng-template>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'ly-info-text',\r\n    template: '<small><ng-content></ng-content></small>',\r\n    standalone: false\r\n})\r\nexport class LayoutInfoTextComponent { }\r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'ly-info-icon',\r\n    templateUrl: './layout-info-icon.component.html',\r\n    styleUrl: './layout-info-icon.component.scss',\r\n    standalone: false\r\n})\r\nexport class LayoutInfoIconComponent { }\r\n\r\n","<ng-template #popTemplate>\r\n    <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<i class=\" info-icon fa fa-info-circle text-info\" [popover]=\"popTemplate\" [outsideClick]=\"true\" container=\"body\"\r\n   containerClass=\"text-info-popover\"></i>\r\n","import {\r\n    booleanAttribute,\r\n    Component,\r\n    computed,\r\n    contentChild,\r\n    contentChildren,\r\n    input,\r\n    TemplateRef,\r\n} from '@angular/core';\r\n\r\nimport { LayoutGroupTitleComponent } from './layout-group-content.component';\r\nimport { LayoutGroupSectionComponent } from './layout-group-section.component';\r\nimport { RowBase } from './row-base.directive';\r\n\r\n@Component({\r\n    selector: 'ly-group',\r\n    templateUrl: './layout-group.component.html',\r\n    styleUrls: ['./layout-group.component.scss'],\r\n    standalone: false,\r\n})\r\nexport class LayoutGroupComponent {\r\n\r\n    protected readonly title = contentChild(LayoutGroupTitleComponent);\r\n    protected readonly buttonGroups =\r\n        contentChildren<TemplateRef<unknown>>('buttons');\r\n    protected readonly rows = contentChildren(RowBase);\r\n    protected readonly filteredRows = computed(() => this.hideEmptyElements() ? this.getRowsWithoutEmptyValues(this.rows()) : this.rows());\r\n\r\n    protected readonly sections = contentChildren(LayoutGroupSectionComponent);\r\n    protected readonly filteredSections = computed(() => this.hideEmptyElements() ? this.sections().filter(s => s.hasRowsWithContent()) : this.sections());\r\n\r\n    public readonly orientation = input<LayoutGroupOrientation>('horizontal');\r\n    public readonly hideEmptyElements = input(false, { transform: booleanAttribute });\r\n\r\n    protected readonly hasTitleElements = computed(() => {\r\n        const hasTitle = !!this.title();\r\n        const hasButtons = this.buttonGroups().length > 0;\r\n        return hasTitle || hasButtons;\r\n    });\r\n\r\n    protected readonly buttonContext = computed(() => ({\r\n        buttonGroups: this.buttonGroups(),\r\n    }));\r\n\r\n    private getRowsWithoutEmptyValues(rows: readonly RowBase[]) {\r\n        return rows.filter( r=> r.values().some((value) => value.hasContent()));\r\n    }\r\n}\r\n\r\nexport type LayoutGroupOrientation = 'horizontal' | 'vertical';\r\n","@if (hasTitleElements()) {\r\n  <ly-title context=\"layout-group\" sizeClass=\"title-size-4\">\r\n    @if (title()) {\r\n      <ng-container [ngTemplateOutlet]=\"contentTemplate\" [ngTemplateOutletContext]=\"title().context()\"></ng-container>\r\n    }\r\n    <ng-container [ngTemplateOutlet]=\"buttonTemplate\" [ngTemplateOutletContext]=\"buttonContext()\"></ng-container>\r\n  </ly-title>\r\n}\r\n\r\n@if (sections.length === 0) {\r\n  <dl [ngClass]=\"{ 'dl-horizontal': orientation() === 'horizontal' }\"\r\n    [sneat-class]=\"orientation() === 'horizontal' ? 'sneat-dl-horizontal' : ''\">\r\n    @for (row of filteredRows(); track row) {\r\n      <ng-container [ngTemplateOutlet]=\"rowTemplate\"\r\n      [ngTemplateOutletContext]=\"{ row }\"></ng-container>\r\n    }\r\n  </dl>\r\n}\r\n\r\n@for (section of filteredSections(); track section) {\r\n  @if (section.hasTitleElements()) {\r\n    <ly-title context=\"layout-group-section\" sizeClass=\"title-size-5\">\r\n      @if (section.heading) {\r\n        {{ section.heading() }}\r\n      }\r\n      @if (section.title()) {\r\n        <ng-container [ngTemplateOutlet]=\"contentTemplate\"\r\n        [ngTemplateOutletContext]=\"section.title().context()\"></ng-container>\r\n      }\r\n      <ng-container [ngTemplateOutlet]=\"buttonTemplate\"\r\n      [ngTemplateOutletContext]=\"section.buttonContext()\"></ng-container>\r\n    </ly-title>\r\n  }\r\n  <dl [ngClass]=\"{ 'dl-horizontal': orientation() === 'horizontal' }\"\r\n    [sneat-class]=\"orientation() === 'horizontal' ? 'sneat-dl-horizontal' : ''\">\r\n    @let sectionRows = hideEmptyElements() ? section.rowsWithContent() : section.rows();\r\n    @for (row of sectionRows; track row) {\r\n      <ng-container [ngTemplateOutlet]=\"rowTemplate\"\r\n      [ngTemplateOutletContext]=\"{ row }\"></ng-container>\r\n    }\r\n  </dl>\r\n}\r\n\r\n<ng-template #rowTemplate let-row=\"row\">\r\n  <dt [title]=\"row.labelTooltips()\">\r\n    @for (label of row.labels(); track label; let first = $first) {\r\n      @if (!first && label.hasContent()) {\r\n        {{ row.labelSeperator() }}\r\n      }\r\n      <ng-container [ngTemplateOutlet]=\"contentTemplate\"\r\n      [ngTemplateOutletContext]=\"label.context()\"></ng-container>\r\n    }\r\n  </dt>\r\n\r\n  @if (row.showValuesInSameRow()) {\r\n    <dd [title]=\"row.valueTooltips()\">\r\n      <ng-container [ngTemplateOutlet]=\"buttonTemplate\"\r\n      [ngTemplateOutletContext]=\"row.buttonContext()\"></ng-container>\r\n      @for (value of row.values(); track value; let first = $first) {\r\n        @if (!first && value.hasContent()) {\r\n          {{ row.valueSeperator() }}\r\n        }\r\n        <ng-container [ngTemplateOutlet]=\"contentTemplate\"\r\n        [ngTemplateOutletContext]=\"value.context()\"></ng-container>\r\n      }\r\n    </dd>\r\n  }\r\n  @if (!row.showValuesInSameRow()) {\r\n    @for (value of row.values(); track value; let first = $first) {\r\n      <dd [title]=\"value.tooltip()\">\r\n        @if (first) {\r\n          <ng-container [ngTemplateOutlet]=\"buttonTemplate\"\r\n          [ngTemplateOutletContext]=\"row.buttonContext()\"></ng-container>\r\n        }\r\n        <ng-container [ngTemplateOutlet]=\"contentTemplate\"\r\n        [ngTemplateOutletContext]=\"value.context()\"></ng-container>\r\n      </dd>\r\n    }\r\n  }\r\n</ng-template>\r\n\r\n<ng-template #contentTemplate let-text=\"text\" let-template=\"template\" let-link=\"link\" let-infoText=\"infoText\"\r\n  let-infoIcon=\"infoIcon\">\r\n  @if (template) {\r\n    <ng-container *ngTemplateOutlet=\"template\"></ng-container>\r\n  } @else {\r\n    @if (!link) {\r\n      {{ text }}\r\n    }\r\n    @if (link) {\r\n      <a [href]=\"link\">{{ text }}</a>\r\n    }\r\n  }\r\n\r\n  @if (infoText) {\r\n    <p>\r\n      <ly-info-text>{{ infoText }}</ly-info-text>\r\n    </p>\r\n  }\r\n\r\n  @if (infoIcon) {\r\n    <ly-info-icon>{{ infoIcon }}</ly-info-icon>\r\n  }\r\n</ng-template>\r\n\r\n<ng-template #buttonTemplate let-buttonGroups=\"buttonGroups\">\r\n  @if (buttonGroups?.length > 0) {\r\n    <div class=\"button-container\">\r\n      @for (buttonGroup of buttonGroups; track buttonGroup) {\r\n        <ng-container *ngTemplateOutlet=\"buttonGroup\"></ng-container>\r\n      }\r\n    </div>\r\n  }\r\n</ng-template>\r\n","import { Directive, Input, inject } from '@angular/core';\r\n\r\nimport { LayoutGroupValueComponent, LinkProvider } from './layout-group-content.component';\r\n\r\n@Directive()\r\nabstract class LayoutGroupLinkValueBaseDirective implements LinkProvider {\r\n    private host = inject(LayoutGroupValueComponent);\r\n\r\n    constructor() {\r\n        this.host.linkProvider = this;\r\n    }\r\n\r\n    public abstract getLink(text: string): string | null;\r\n}\r\n\r\n@Directive({\r\n    selector: 'ly-group-value[url]',\r\n    standalone: false\r\n})\r\nexport class LayoutGroupUrlValueDirective extends LayoutGroupLinkValueBaseDirective {\r\n    @Input() public url: string | null = null;\r\n\r\n    public getLink(text: string): string {\r\n        const link = this.url ? this.url : text;\r\n        if (!link.startsWith('http'))\r\n            return `http://${link}`;\r\n        return link;\r\n    }\r\n}\r\n\r\n@Directive({\r\n    selector: 'ly-group-value[tel]',\r\n    standalone: false\r\n})\r\nexport class LayoutGroupTelValueDirective extends LayoutGroupLinkValueBaseDirective {\r\n    public getLink(text: string): string {\r\n        return `tel:${text}`;\r\n    }\r\n}\r\n\r\n@Directive({\r\n    selector: 'ly-group-value[email]',\r\n    standalone: false\r\n})\r\nexport class LayoutGroupMailValueDirective extends LayoutGroupLinkValueBaseDirective {\r\n    public getLink(text: string): string {\r\n        return `mailto:${text}`;\r\n    }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SwitchTemplateModule } from '@sowatech/shared/template';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\n\r\nimport { LayoutGroupLabelComponent, LayoutGroupSectionTitleComponent, LayoutGroupTitleComponent, LayoutGroupValueComponent } from './layout-group/layout-group-content.component';\r\nimport { LayoutGroupItemComponent } from './layout-group/layout-group-item.component';\r\nimport { LayoutGroupRowComponent } from './layout-group/layout-group-row.component';\r\nimport { LayoutGroupSectionComponent } from './layout-group/layout-group-section.component';\r\nimport { LayoutGroupComponent } from './layout-group/layout-group.component';\r\nimport { LayoutGroupMailValueDirective, LayoutGroupTelValueDirective, LayoutGroupUrlValueDirective } from './layout-group/link-value.directive';\r\nimport { LayoutInfoIconComponent } from './layout-info-icon/layout-info-icon.component';\r\nimport { LayoutInfoTextComponent } from './layout-info-text/layout-info-text.component';\r\nimport { LayoutTitleComponent } from './layout-title/layout-title.component';\r\n\r\n@NgModule({\r\n    imports: [\r\n        CommonModule,\r\n        SwitchTemplateModule,\r\n        PopoverModule,\r\n    ],\r\n    declarations: [\r\n        LayoutGroupComponent,\r\n        LayoutGroupRowComponent,\r\n        LayoutGroupLabelComponent,\r\n        LayoutGroupValueComponent,\r\n        LayoutGroupItemComponent,\r\n        LayoutGroupTitleComponent,\r\n        LayoutGroupUrlValueDirective,\r\n        LayoutGroupTelValueDirective,\r\n        LayoutGroupMailValueDirective,\r\n        LayoutTitleComponent,\r\n        LayoutGroupSectionComponent,\r\n        LayoutGroupSectionTitleComponent,\r\n        LayoutInfoTextComponent,\r\n        LayoutInfoIconComponent,\r\n    ],\r\n    exports: [\r\n        LayoutGroupComponent,\r\n        LayoutGroupRowComponent,\r\n        LayoutGroupLabelComponent,\r\n        LayoutGroupValueComponent,\r\n        LayoutGroupItemComponent,\r\n        LayoutGroupTitleComponent,\r\n        LayoutGroupUrlValueDirective,\r\n        LayoutGroupTelValueDirective,\r\n        LayoutGroupMailValueDirective,\r\n        LayoutTitleComponent,\r\n        LayoutGroupSectionComponent,\r\n        LayoutGroupSectionTitleComponent,\r\n        LayoutInfoTextComponent,\r\n        LayoutInfoIconComponent,\r\n    ],\r\n    providers: []\r\n})\r\nexport class LayoutModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3.LayoutTitleComponent","i4.LayoutInfoTextComponent","i5.LayoutInfoIconComponent"],"mappings":"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"}