import * as i0 from '@angular/core';
import { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
import * as i2 from '@softpak/frontend-components-ng';
import { SpfModule } from '@softpak/frontend-components-ng';
import * as i1$1 from '@angular/common';
import { CommonModule } from '@angular/common';
import * as i1 from '@angular/forms';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { SpaAppChannelTypeEnum } from '@softpak/ng-components/spa-app-configuration';

class SpaChannelIndicatorComponent {
    constructor() {
        this.spaChange = new EventEmitter();
    }
    onChange() {
        this.spaChange.emit();
    }
}
SpaChannelIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
SpaChannelIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SpaChannelIndicatorComponent, selector: "spa-channel-indicator", inputs: { channel: "channel", channelType: "channelType", txtChange: "txtChange" }, outputs: { spaChange: "spaChange" }, ngImport: i0, template: `<div class="bg-white p-3 rounded flex gap-3 items-center text-black">
    <div class="grow">
      <div class="text-lg font-bold">{{ channel?.brand }}</div>
      <div class="text-base text-gray-600">{{ channelType }}</div>
    </div>
    <spn-button (click)="onChange()" [spfType]="'button'">{{ txtChange }}</spn-button>
  </div>`, isInline: true, dependencies: [{ kind: "component", type: i2.SpnButton, selector: "spn-button", inputs: ["spfClass", "spfClassObject", "spfDisabled", "spfForm", "spfFullHeight", "spfFullWidth", "spfSeverity", "spfSize", "spfTabIndex", "spfType"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelIndicatorComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'spa-channel-indicator',
                    template: `<div class="bg-white p-3 rounded flex gap-3 items-center text-black">
    <div class="grow">
      <div class="text-lg font-bold">{{ channel?.brand }}</div>
      <div class="text-base text-gray-600">{{ channelType }}</div>
    </div>
    <spn-button (click)="onChange()" [spfType]="'button'">{{ txtChange }}</spn-button>
  </div>`,
                }]
        }], ctorParameters: function () { return []; }, propDecorators: { channel: [{
                type: Input
            }], channelType: [{
                type: Input
            }], txtChange: [{
                type: Input
            }], spaChange: [{
                type: Output
            }] } });

class SpaChannelIndicatorModule {
}
SpaChannelIndicatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelIndicatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
SpaChannelIndicatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelIndicatorModule, declarations: [SpaChannelIndicatorComponent], imports: [CommonModule,
        SpfModule], exports: [SpaChannelIndicatorComponent] });
SpaChannelIndicatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelIndicatorModule, imports: [CommonModule,
        SpfModule] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelIndicatorModule, decorators: [{
            type: NgModule,
            args: [{
                    declarations: [
                        SpaChannelIndicatorComponent,
                    ],
                    imports: [
                        CommonModule,
                        SpfModule,
                    ],
                    exports: [
                        SpaChannelIndicatorComponent,
                    ],
                }]
        }] });

class SpaChannelSelectionComponent {
    constructor() {
        this.options = [];
    }
}
SpaChannelSelectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelSelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
SpaChannelSelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SpaChannelSelectionComponent, selector: "spa-channel-selection", inputs: { control: "control", options: "options", txtChannel: "txtChannel" }, ngImport: i0, template: `<spn-input [formControl]="control" [spfLabel]="txtChannel"
      [spfType]="'radio'" [spfSuggestions]="options"></spn-input>
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.SpnInput, selector: "spn-input", inputs: ["spfAutofocus", "spfCapitalize", "spfCompact", "spfE2E", "spfInputMode", "spfLabel", "spfMax", "spfMin", "spfName", "spfPattern", "spfReadonly", "spfRequired", "spfSelectDay", "spfSelectMonth", "spfShowEdit", "spfShowHelp", "spfShowSearch", "spfShowValidationMessages", "spfStep", "spfSuggestions", "spfType", "spfValidators", "value"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "spf-input, spn-input" }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelSelectionComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'spa-channel-selection',
                    template: `<spn-input [formControl]="control" [spfLabel]="txtChannel"
      [spfType]="'radio'" [spfSuggestions]="options"></spn-input>
  `,
                }]
        }], ctorParameters: function () { return []; }, propDecorators: { control: [{
                type: Input
            }], options: [{
                type: Input
            }], txtChannel: [{
                type: Input
            }] } });

class SpaChannelSelectionModule {
}
SpaChannelSelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelSelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
SpaChannelSelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelSelectionModule, declarations: [SpaChannelSelectionComponent], imports: [CommonModule,
        FormsModule,
        ReactiveFormsModule,
        SpfModule], exports: [SpaChannelSelectionComponent] });
SpaChannelSelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelSelectionModule, imports: [CommonModule,
        FormsModule,
        ReactiveFormsModule,
        SpfModule] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaChannelSelectionModule, decorators: [{
            type: NgModule,
            args: [{
                    declarations: [
                        SpaChannelSelectionComponent,
                    ],
                    imports: [
                        CommonModule,
                        FormsModule,
                        ReactiveFormsModule,
                        SpfModule,
                    ],
                    exports: [
                        SpaChannelSelectionComponent,
                    ],
                }]
        }] });

class SpaCompanySelectionComponent {
    constructor() {
        this.options = [];
    }
}
SpaCompanySelectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaCompanySelectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
SpaCompanySelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SpaCompanySelectionComponent, selector: "spa-company-selection", inputs: { control: "control", options: "options", txtChannel: "txtChannel", txtCompany: "txtCompany" }, ngImport: i0, template: `<spf-form-section [spfTitle]="txtChannel" [spfIndex]="2">
  <div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
    <spn-input [formControl]="control" [spfLabel]="txtCompany"
      [spfType]="'radio'" [spfSuggestions]="options"></spn-input>
  </div>
</spf-form-section>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.SpfFormSection, selector: "spf-form-section", inputs: ["spfIndex", "spfIndexSecondary", "spfTitle"] }, { kind: "component", type: i2.SpnInput, selector: "spn-input", inputs: ["spfAutofocus", "spfCapitalize", "spfCompact", "spfE2E", "spfInputMode", "spfLabel", "spfMax", "spfMin", "spfName", "spfPattern", "spfReadonly", "spfRequired", "spfSelectDay", "spfSelectMonth", "spfShowEdit", "spfShowHelp", "spfShowSearch", "spfShowValidationMessages", "spfStep", "spfSuggestions", "spfType", "spfValidators", "value"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "spf-input, spn-input" }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaCompanySelectionComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'spa-company-selection',
                    template: `<spf-form-section [spfTitle]="txtChannel" [spfIndex]="2">
  <div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
    <spn-input [formControl]="control" [spfLabel]="txtCompany"
      [spfType]="'radio'" [spfSuggestions]="options"></spn-input>
  </div>
</spf-form-section>`,
                }]
        }], ctorParameters: function () { return []; }, propDecorators: { control: [{
                type: Input
            }], options: [{
                type: Input
            }], txtChannel: [{
                type: Input
            }], txtCompany: [{
                type: Input
            }] } });

class SpaCompanySelectionModule {
}
SpaCompanySelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaCompanySelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
SpaCompanySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SpaCompanySelectionModule, declarations: [SpaCompanySelectionComponent], imports: [CommonModule,
        FormsModule,
        ReactiveFormsModule,
        SpfModule], exports: [SpaCompanySelectionComponent] });
SpaCompanySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaCompanySelectionModule, imports: [CommonModule,
        FormsModule,
        ReactiveFormsModule,
        SpfModule] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaCompanySelectionModule, decorators: [{
            type: NgModule,
            args: [{
                    declarations: [
                        SpaCompanySelectionComponent,
                    ],
                    imports: [
                        CommonModule,
                        FormsModule,
                        ReactiveFormsModule,
                        SpfModule,
                    ],
                    exports: [
                        SpaCompanySelectionComponent,
                    ],
                }]
        }] });

class SpaWelcomeComponent {
    constructor() {
        this.channels = [];
        this.spaSelected = new EventEmitter();
    }
    get filteredChannels() { var _a, _b; return (_b = ((_a = this.channels) !== null && _a !== void 0 ? _a : [])) === null || _b === void 0 ? void 0 : _b.filter(channel => channel.channelTypes.includes(SpaAppChannelTypeEnum.production)); }
    onSelectChannel(channel) {
        this.spaSelected.emit(channel);
    }
}
SpaWelcomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaWelcomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
SpaWelcomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SpaWelcomeComponent, selector: "spa-welcome", inputs: { channels: "channels" }, outputs: { spaSelected: "spaSelected" }, ngImport: i0, template: `<div class="flex flex-col gap-3">
    <spn-button [spfFullWidth]="true" *ngFor="let channel of filteredChannels" (click)="onSelectChannel(channel)">
      {{ channel.brand }}
    </spn-button>
  </div>`, isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SpnButton, selector: "spn-button", inputs: ["spfClass", "spfClassObject", "spfDisabled", "spfForm", "spfFullHeight", "spfFullWidth", "spfSeverity", "spfSize", "spfTabIndex", "spfType"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaWelcomeComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'spa-welcome',
                    template: `<div class="flex flex-col gap-3">
    <spn-button [spfFullWidth]="true" *ngFor="let channel of filteredChannels" (click)="onSelectChannel(channel)">
      {{ channel.brand }}
    </spn-button>
  </div>`,
                }]
        }], ctorParameters: function () { return []; }, propDecorators: { channels: [{
                type: Input
            }], spaSelected: [{
                type: Output
            }] } });

class SpaWelcomeModule {
}
SpaWelcomeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaWelcomeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
SpaWelcomeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SpaWelcomeModule, declarations: [SpaWelcomeComponent], imports: [CommonModule,
        SpfModule], exports: [SpaWelcomeComponent] });
SpaWelcomeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaWelcomeModule, imports: [CommonModule,
        SpfModule] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SpaWelcomeModule, decorators: [{
            type: NgModule,
            args: [{
                    declarations: [
                        SpaWelcomeComponent,
                    ],
                    imports: [
                        CommonModule,
                        SpfModule,
                    ],
                    exports: [
                        SpaWelcomeComponent,
                    ],
                }]
        }] });

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

export { SpaChannelIndicatorComponent, SpaChannelIndicatorModule, SpaChannelSelectionComponent, SpaChannelSelectionModule, SpaCompanySelectionComponent, SpaCompanySelectionModule, SpaWelcomeComponent, SpaWelcomeModule };
//# sourceMappingURL=softpak-ng-components-spa-channel-selection.mjs.map
