@softpak/components 0.0.0-beta.202 → 0.0.0-beta.203

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,37 +1,107 @@
1
1
  import { CommonModule, NgIf } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
2
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
5
5
  import { SpxButtonComponent } from '@softpak/components/spx-button';
6
6
  import { SpxFormSectionComponent } from '@softpak/components/spx-form-section';
7
+ import { SpxFormViewComponent } from '@softpak/components/spx-form-view';
8
+ import { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';
7
9
  import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
10
+ import { spxValidatorRequired } from '@softpak/components/spx-validation';
8
11
  import * as i0 from "@angular/core";
9
12
  import * as i1 from "@angular/forms";
13
+ export const sectionWelcome = 'welcome';
14
+ export const ctrlChannel = 'channel';
15
+ export const ctrlChannelType = 'channelType';
10
16
  export class SpxWelcomeComponent {
11
- // get filteredChannelTypes (): SpxValuePair<string>[] { return (this.channels ?? [])?.map(c => ({ description: c.brand, value: c.channelTypes. })); }
17
+ get ctrlChannel() { return this.formGroup.get(ctrlChannel); }
18
+ get ctrlChannelType() { return this.formGroup.get(ctrlChannelType); }
12
19
  get filteredCompanies() { return (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.backendCompanyCode })); }
13
20
  constructor() {
14
21
  this.channels = [];
15
- this.inputTypeRadio = SpxInputTypeEnum.radio;
22
+ this.channelTypes = [];
23
+ this.submit = new EventEmitter();
24
+ this.severitySuccess = SpxSeverityEnum.success;
25
+ this.suggestions = {
26
+ [ctrlChannelType]: [],
27
+ [ctrlChannel]: [],
28
+ };
29
+ this.subscriptions = {};
30
+ this.sections = [
31
+ {
32
+ key: sectionWelcome,
33
+ showTitle: () => false,
34
+ fields: [
35
+ {
36
+ key: ctrlChannel,
37
+ type: () => SpxInputTypeEnum.radio,
38
+ label: () => this.txtCompany,
39
+ readonly: () => true,
40
+ validators: () => [spxValidatorRequired()],
41
+ },
42
+ {
43
+ key: ctrlChannelType,
44
+ type: () => SpxInputTypeEnum.radio,
45
+ label: () => this.txtChannel,
46
+ capitalize: () => true,
47
+ readonly: () => true,
48
+ show: () => valuePairToValue(this.ctrlChannel.value),
49
+ validators: () => [spxValidatorRequired()],
50
+ },
51
+ ]
52
+ }
53
+ ];
54
+ }
55
+ ngOnChanges(changes) {
56
+ this.suggestions[ctrlChannel] = this.filteredCompanies;
57
+ }
58
+ ngOnDestroy() {
59
+ }
60
+ ngOnInit() {
61
+ this.subscriptions.channel = this.ctrlChannel.valueChanges.subscribe(valuePair => {
62
+ const channel = this.channels?.find(c => c.brand === valuePairToValue(valuePair));
63
+ this.suggestions[ctrlChannelType] = !channel ? [] : channel?.channelTypes?.map(ct => ({
64
+ description: ct,
65
+ value: ct
66
+ }));
67
+ });
68
+ }
69
+ onSubmit() {
70
+ this.submit.emit({
71
+ channel: this.ctrlChannel.value,
72
+ channelType: this.ctrlChannelType.value,
73
+ });
16
74
  }
17
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxWelcomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxWelcomeComponent, isStandalone: true, selector: "spx-welcome", inputs: { channels: "channels", channelControl: "channelControl", companyControl: "companyControl", txtChannel: "txtChannel", txtCompany: "txtCompany" }, ngImport: i0, template: `<spx-form-section [spxTitle]="txtChannel" [spxIndex]="2">
19
- <div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
20
- <spx-input [formControl]="companyControl" [spxLabel]="txtCompany"
21
- [spxType]="inputTypeRadio" [spxSuggestions]="filteredCompanies"></spx-input>
22
- </div>
23
- </spx-form-section>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormSectionComponent, selector: "spx-form-section", inputs: ["spxIndex", "spxIndexSecondary", "spxTitle", "spxShowTitle"] }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxCompact", "spxShowClear", "spxShowSearch", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }] }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxWelcomeComponent, isStandalone: true, selector: "spx-welcome", inputs: { channels: "channels", channelTypes: "channelTypes", formGroup: "formGroup", txtChannel: "txtChannel", txtCompany: "txtCompany" }, outputs: { submit: "submit" }, usesOnChanges: true, ngImport: i0, template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
77
+ <spx-form-view
78
+ [spxFormGroup]="formGroup"
79
+ [spxSections]="sections"
80
+ [spxSuggestions]="suggestions">
81
+ </spx-form-view>
82
+ <spx-button
83
+ [spxFullWidth]="true"
84
+ [spxSeverity]="severitySuccess">
85
+ Save
86
+ </spx-button>
87
+ </form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxSections", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
24
88
  }
25
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxWelcomeComponent, decorators: [{
26
90
  type: Component,
27
91
  args: [{
28
92
  selector: 'spx-welcome',
29
- template: `<spx-form-section [spxTitle]="txtChannel" [spxIndex]="2">
30
- <div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
31
- <spx-input [formControl]="companyControl" [spxLabel]="txtCompany"
32
- [spxType]="inputTypeRadio" [spxSuggestions]="filteredCompanies"></spx-input>
33
- </div>
34
- </spx-form-section>`,
93
+ template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
94
+ <spx-form-view
95
+ [spxFormGroup]="formGroup"
96
+ [spxSections]="sections"
97
+ [spxSuggestions]="suggestions">
98
+ </spx-form-view>
99
+ <spx-button
100
+ [spxFullWidth]="true"
101
+ [spxSeverity]="severitySuccess">
102
+ Save
103
+ </spx-button>
104
+ </form>`,
35
105
  standalone: true,
36
106
  imports: [
37
107
  CommonModule,
@@ -39,19 +109,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
39
109
  ReactiveFormsModule,
40
110
  SpxButtonComponent,
41
111
  SpxFormSectionComponent,
112
+ SpxFormViewComponent,
42
113
  SpxInputComponent,
43
114
  NgIf,
44
115
  ]
45
116
  }]
46
117
  }], ctorParameters: () => [], propDecorators: { channels: [{
47
118
  type: Input
48
- }], channelControl: [{
119
+ }], channelTypes: [{
49
120
  type: Input
50
- }], companyControl: [{
121
+ }], formGroup: [{
51
122
  type: Input
52
123
  }], txtChannel: [{
53
124
  type: Input
54
125
  }], txtCompany: [{
55
126
  type: Input
127
+ }], submit: [{
128
+ type: Output
56
129
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXdlbGNvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1jaGFubmVsLXNlbGVjdGlvbi9zcmMvc3B4LXdlbGNvbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBZSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFnQixNQUFNLGdDQUFnQyxDQUFDOzs7QUFxQm5HLE1BQU0sT0FBTyxtQkFBbUI7SUFROUIsc0pBQXNKO0lBQ3RKLElBQUksaUJBQWlCLEtBQThCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhPO1FBVlMsYUFBUSxHQUFzQixFQUFFLENBQUM7UUFLMUMsbUJBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFNcEMsQ0FBQzs4R0FaTSxtQkFBbUI7a0dBQW5CLG1CQUFtQixpT0FqQnBCOzs7OztvQkFLUSwyREFHaEIsWUFBWSw4QkFDWixXQUFXLHNJQUNYLG1CQUFtQixrTkFFbkIsdUJBQXVCLG9JQUN2QixpQkFBaUI7OzJGQUlSLG1CQUFtQjtrQkFuQi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7b0JBS1E7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsSUFBSTtxQkFDTDtpQkFDRjt3REFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNweEFwcENoYW5uZWxJLCBTcHhBcHBDaGFubmVsVHlwZUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1hcHAtY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4Rm9ybVNlY3Rpb25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXNlY3Rpb24nO1xuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0sIFNweFZhbHVlUGFpciB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC13ZWxjb21lJyxcbiAgdGVtcGxhdGU6IGA8c3B4LWZvcm0tc2VjdGlvbiBbc3B4VGl0bGVdPVwidHh0Q2hhbm5lbFwiIFtzcHhJbmRleF09XCIyXCI+XG4gIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0yIHhsOmdyaWQtY29scy0zIGdhcC0zXCI+XG4gICAgPHNweC1pbnB1dCBbZm9ybUNvbnRyb2xdPVwiY29tcGFueUNvbnRyb2xcIiBbc3B4TGFiZWxdPVwidHh0Q29tcGFueVwiXG4gICAgICBbc3B4VHlwZV09XCJpbnB1dFR5cGVSYWRpb1wiIFtzcHhTdWdnZXN0aW9uc109XCJmaWx0ZXJlZENvbXBhbmllc1wiPjwvc3B4LWlucHV0PlxuICA8L2Rpdj5cbjwvc3B4LWZvcm0tc2VjdGlvbj5gLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICAgIFNweEZvcm1TZWN0aW9uQ29tcG9uZW50LFxuICAgIFNweElucHV0Q29tcG9uZW50LFxuICAgIE5nSWYsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3B4V2VsY29tZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNoYW5uZWxzPzogU3B4QXBwQ2hhbm5lbElbXSA9IFtdO1xuICBASW5wdXQoKSBjaGFubmVsQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSBjb21wYW55Q29udHJvbCE6IEZvcm1Db250cm9sO1xuICBASW5wdXQoKSB0eHRDaGFubmVsITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRDb21wYW55ITogc3RyaW5nO1xuICBpbnB1dFR5cGVSYWRpbyA9IFNweElucHV0VHlwZUVudW0ucmFkaW87XG5cbiAgLy8gZ2V0IGZpbHRlcmVkQ2hhbm5lbFR5cGVzICgpOiBTcHhWYWx1ZVBhaXI8c3RyaW5nPltdIHsgcmV0dXJuICh0aGlzLmNoYW5uZWxzID8/IFtdKT8ubWFwKGMgPT4gKHsgZGVzY3JpcHRpb246IGMuYnJhbmQsIHZhbHVlOiBjLmNoYW5uZWxUeXBlcy4gfSkpOyB9XG4gIGdldCBmaWx0ZXJlZENvbXBhbmllcyAoKTogU3B4VmFsdWVQYWlyPHN0cmluZz5bXSB7IHJldHVybiAodGhpcy5jaGFubmVscyA/PyBbXSk/LmZpbHRlcihjaGFubmVsID0+IGNoYW5uZWwuY2hhbm5lbFR5cGVzLmluY2x1ZGVzKFNweEFwcENoYW5uZWxUeXBlRW51bS5wcm9kdWN0aW9uKSkubWFwKGMgPT4gKHsgZGVzY3JpcHRpb246IGMuYnJhbmQsIHZhbHVlOiBjLmJhY2tlbmRDb21wYW55Q29kZSB9KSk7IH1cblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7IH1cbn1cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXdlbGNvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1jaGFubmVsLXNlbGVjdGlvbi9zcmMvc3B4LXdlbGNvbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUEwQixXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFtQixvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUcxRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQztBQWdDN0MsTUFBTSxPQUFPLG1CQUFtQjtJQWU5QixJQUFJLFdBQVcsS0FBa0IsT0FBTyxJQUFJLENB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QUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3BGLFdBQVcsRUFBRSxFQUFFO2dCQUNmLEtBQUssRUFBRSxFQUFFO2FBQ1YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLO1lBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0ExRVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsdVFBeEJwQjs7Ozs7Ozs7Ozs7VUFXRiwyREFHTixZQUFZLDhCQUNaLFdBQVcsbVNBQ1gsbUJBQW1CLGdMQUNuQixrQkFBa0IscU9BRWxCLG9CQUFvQjs7MkZBS1gsbUJBQW1CO2tCQTFCL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFOzs7Ozs7Ozs7OztVQVdGO29CQUNSLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQixJQUFJO3FCQUNMO2lCQUNGO3dEQUVVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3B4QXBwQ2hhbm5lbEksIFNweEFwcENoYW5uZWxUeXBlRW51bSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWFwcC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XG5pbXBvcnQgeyBTcHhGb3JtU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tc2VjdGlvbic7XG5pbXBvcnQgeyBTcHhGb3JtU2VjdGlvbkksIFNweEZvcm1WaWV3Q29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3JztcbmltcG9ydCB7IFNweFNldmVyaXR5RW51bSwgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0sIFNweFZhbHVlUGFpciB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cyc7XG5pbXBvcnQgeyBzcHhWYWxpZGF0b3JSZXF1aXJlZCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBzZWN0aW9uV2VsY29tZSA9ICd3ZWxjb21lJztcbmV4cG9ydCBjb25zdCBjdHJsQ2hhbm5lbCA9ICdjaGFubmVsJztcbmV4cG9ydCBjb25zdCBjdHJsQ2hhbm5lbFR5cGUgPSAnY2hhbm5lbFR5cGUnO1xuZXhwb3J0IGludGVyZmFjZSBTcHhXZWxjb21lVmFsdWVJIHtcbiAgW2N0cmxDaGFubmVsXT86IFNweFZhbHVlUGFpcjxzdHJpbmc+O1xuICBbY3RybENoYW5uZWxUeXBlXTogU3B4VmFsdWVQYWlyPHN0cmluZz47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC13ZWxjb21lJyxcbiAgdGVtcGxhdGU6IGA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibWF4LXctbGcgbXgtYXV0byBmbGV4IGZsZXgtY29sIGdhcC0zXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgICA8c3B4LWZvcm0tdmlld1xuICAgICAgW3NweEZvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgW3NweFNlY3Rpb25zXT1cInNlY3Rpb25zXCJcbiAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJzdWdnZXN0aW9uc1wiPlxuICAgIDwvc3B4LWZvcm0tdmlldz5cbiAgICA8c3B4LWJ1dHRvblxuICAgICAgW3NweEZ1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICAgIFtzcHhTZXZlcml0eV09XCJzZXZlcml0eVN1Y2Nlc3NcIj5cbiAgICAgIFNhdmVcbiAgICA8L3NweC1idXR0b24+XG4gIDwvZm9ybT5gLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICAgIFNweEZvcm1TZWN0aW9uQ29tcG9uZW50LFxuICAgIFNweEZvcm1WaWV3Q29tcG9uZW50LFxuICAgIFNweElucHV0Q29tcG9uZW50LFxuICAgIE5nSWYsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3B4V2VsY29tZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBjaGFubmVscz86IFNweEFwcENoYW5uZWxJW10gPSBbXTtcbiAgQElucHV0KCkgY2hhbm5lbFR5cGVzPzogU3B4QXBwQ2hhbm5lbFR5cGVFbnVtW10gPSBbXTtcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSB0eHRDaGFubmVsITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRDb21wYW55ITogc3RyaW5nO1xuICBAT3V0cHV0KCkgc3VibWl0OiBFdmVudEVtaXR0ZXI8U3B4V2VsY29tZVZhbHVlST4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFdlbGNvbWVWYWx1ZUk+KCk7XG4gIHNldmVyaXR5U3VjY2VzcyA9IFNweFNldmVyaXR5RW51bS5zdWNjZXNzO1xuICBzdWdnZXN0aW9uczoge1xuICAgIFtjdHJsQ2hhbm5lbFR5cGVdPzogU3B4VmFsdWVQYWlyPHN0cmluZz5bXTtcbiAgICBbY3RybENoYW5uZWxdPzogU3B4VmFsdWVQYWlyPHN0cmluZz5bXTtcbiAgfSA9IHtcbiAgICBbY3RybENoYW5uZWxUeXBlXTogW10sXG4gICAgW2N0cmxDaGFubmVsXTogW10sXG4gIH07XG4gIGdldCBjdHJsQ2hhbm5lbCgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENoYW5uZWwpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsQ2hhbm5lbFR5cGUoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDaGFubmVsVHlwZSkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiB7XG4gICAgY2hhbm5lbD86IFN1YnNjcmlwdGlvblxuICB9ID0ge307XG5cbiAgc2VjdGlvbnM6IFNweEZvcm1TZWN0aW9uSVtdID0gW1xuICAgIHtcbiAgICAgIGtleTogc2VjdGlvbldlbGNvbWUsXG4gICAgICBzaG93VGl0bGU6ICgpID0+IGZhbHNlLFxuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IGN0cmxDaGFubmVsLFxuICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0ucmFkaW8sXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0Q29tcGFueSxcbiAgICAgICAgICByZWFkb25seTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IGN0cmxDaGFubmVsVHlwZSxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvLFxuICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnR4dENoYW5uZWwsXG4gICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICByZWFkb25seTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICBzaG93OiAoKSA9PiB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybENoYW5uZWwudmFsdWUpLFxuICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9XG4gIF07XG4gIFxuICBnZXQgZmlsdGVyZWRDb21wYW5pZXMoKTogU3B4VmFsdWVQYWlyPHN0cmluZz5bXSB7IHJldHVybiAodGhpcy5jaGFubmVscyA/PyBbXSk/LmZpbHRlcihjaGFubmVsID0+IGNoYW5uZWwuY2hhbm5lbFR5cGVzLmluY2x1ZGVzKFNweEFwcENoYW5uZWxUeXBlRW51bS5wcm9kdWN0aW9uKSkubWFwKGMgPT4gKHsgZGVzY3JpcHRpb246IGMuYnJhbmQsIHZhbHVlOiBjLmJhY2tlbmRDb21wYW55Q29kZSB9KSk7IH1cblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5zdWdnZXN0aW9uc1tjdHJsQ2hhbm5lbF0gPSB0aGlzLmZpbHRlcmVkQ29tcGFuaWVzO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuY2hhbm5lbCA9IHRoaXMuY3RybENoYW5uZWwudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZVBhaXIgPT4ge1xuICAgICAgY29uc3QgY2hhbm5lbCA9IHRoaXMuY2hhbm5lbHM/LmZpbmQoYyA9PiBjLmJyYW5kID09PSB2YWx1ZVBhaXJUb1ZhbHVlKHZhbHVlUGFpcikpO1xuICAgICAgdGhpcy5zdWdnZXN0aW9uc1tjdHJsQ2hhbm5lbFR5cGVdID0gIWNoYW5uZWwgPyBbXSA6IGNoYW5uZWw/LmNoYW5uZWxUeXBlcz8ubWFwKGN0ID0+ICh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBjdCxcbiAgICAgICAgdmFsdWU6IGN0XG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdC5lbWl0KHtcbiAgICAgIGNoYW5uZWw6IHRoaXMuY3RybENoYW5uZWwudmFsdWUsXG4gICAgICBjaGFubmVsVHlwZTogdGhpcy5jdHJsQ2hhbm5lbFR5cGUudmFsdWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -7,6 +7,9 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
7
7
  import { SpxInputTypeEnum, SpxInputComponent } from '@softpak/components/spx-inputs';
8
8
  import { SpxFormSectionComponent } from '@softpak/components/spx-form-section';
9
9
  import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
10
+ import { SpxFormViewComponent } from '@softpak/components/spx-form-view';
11
+ import { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';
12
+ import { spxValidatorRequired } from '@softpak/components/spx-validation';
10
13
 
11
14
  class SpxChannelIndicatorComponent {
12
15
  constructor() {
@@ -127,31 +130,98 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
127
130
  type: Input
128
131
  }] } });
129
132
 
133
+ const sectionWelcome = 'welcome';
134
+ const ctrlChannel = 'channel';
135
+ const ctrlChannelType = 'channelType';
130
136
  class SpxWelcomeComponent {
131
- // get filteredChannelTypes (): SpxValuePair<string>[] { return (this.channels ?? [])?.map(c => ({ description: c.brand, value: c.channelTypes. })); }
137
+ get ctrlChannel() { return this.formGroup.get(ctrlChannel); }
138
+ get ctrlChannelType() { return this.formGroup.get(ctrlChannelType); }
132
139
  get filteredCompanies() { return (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.backendCompanyCode })); }
133
140
  constructor() {
134
141
  this.channels = [];
135
- this.inputTypeRadio = SpxInputTypeEnum.radio;
142
+ this.channelTypes = [];
143
+ this.submit = new EventEmitter();
144
+ this.severitySuccess = SpxSeverityEnum.success;
145
+ this.suggestions = {
146
+ [ctrlChannelType]: [],
147
+ [ctrlChannel]: [],
148
+ };
149
+ this.subscriptions = {};
150
+ this.sections = [
151
+ {
152
+ key: sectionWelcome,
153
+ showTitle: () => false,
154
+ fields: [
155
+ {
156
+ key: ctrlChannel,
157
+ type: () => SpxInputTypeEnum.radio,
158
+ label: () => this.txtCompany,
159
+ readonly: () => true,
160
+ validators: () => [spxValidatorRequired()],
161
+ },
162
+ {
163
+ key: ctrlChannelType,
164
+ type: () => SpxInputTypeEnum.radio,
165
+ label: () => this.txtChannel,
166
+ capitalize: () => true,
167
+ readonly: () => true,
168
+ show: () => valuePairToValue(this.ctrlChannel.value),
169
+ validators: () => [spxValidatorRequired()],
170
+ },
171
+ ]
172
+ }
173
+ ];
174
+ }
175
+ ngOnChanges(changes) {
176
+ this.suggestions[ctrlChannel] = this.filteredCompanies;
177
+ }
178
+ ngOnDestroy() {
179
+ }
180
+ ngOnInit() {
181
+ this.subscriptions.channel = this.ctrlChannel.valueChanges.subscribe(valuePair => {
182
+ const channel = this.channels?.find(c => c.brand === valuePairToValue(valuePair));
183
+ this.suggestions[ctrlChannelType] = !channel ? [] : channel?.channelTypes?.map(ct => ({
184
+ description: ct,
185
+ value: ct
186
+ }));
187
+ });
188
+ }
189
+ onSubmit() {
190
+ this.submit.emit({
191
+ channel: this.ctrlChannel.value,
192
+ channelType: this.ctrlChannelType.value,
193
+ });
136
194
  }
137
195
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxWelcomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
138
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxWelcomeComponent, isStandalone: true, selector: "spx-welcome", inputs: { channels: "channels", channelControl: "channelControl", companyControl: "companyControl", txtChannel: "txtChannel", txtCompany: "txtCompany" }, ngImport: i0, template: `<spx-form-section [spxTitle]="txtChannel" [spxIndex]="2">
139
- <div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
140
- <spx-input [formControl]="companyControl" [spxLabel]="txtCompany"
141
- [spxType]="inputTypeRadio" [spxSuggestions]="filteredCompanies"></spx-input>
142
- </div>
143
- </spx-form-section>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormSectionComponent, selector: "spx-form-section", inputs: ["spxIndex", "spxIndexSecondary", "spxTitle", "spxShowTitle"] }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxCompact", "spxShowClear", "spxShowSearch", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }] }); }
196
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxWelcomeComponent, isStandalone: true, selector: "spx-welcome", inputs: { channels: "channels", channelTypes: "channelTypes", formGroup: "formGroup", txtChannel: "txtChannel", txtCompany: "txtCompany" }, outputs: { submit: "submit" }, usesOnChanges: true, ngImport: i0, template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
197
+ <spx-form-view
198
+ [spxFormGroup]="formGroup"
199
+ [spxSections]="sections"
200
+ [spxSuggestions]="suggestions">
201
+ </spx-form-view>
202
+ <spx-button
203
+ [spxFullWidth]="true"
204
+ [spxSeverity]="severitySuccess">
205
+ Save
206
+ </spx-button>
207
+ </form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxSections", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
144
208
  }
145
209
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxWelcomeComponent, decorators: [{
146
210
  type: Component,
147
211
  args: [{
148
212
  selector: 'spx-welcome',
149
- template: `<spx-form-section [spxTitle]="txtChannel" [spxIndex]="2">
150
- <div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
151
- <spx-input [formControl]="companyControl" [spxLabel]="txtCompany"
152
- [spxType]="inputTypeRadio" [spxSuggestions]="filteredCompanies"></spx-input>
153
- </div>
154
- </spx-form-section>`,
213
+ template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
214
+ <spx-form-view
215
+ [spxFormGroup]="formGroup"
216
+ [spxSections]="sections"
217
+ [spxSuggestions]="suggestions">
218
+ </spx-form-view>
219
+ <spx-button
220
+ [spxFullWidth]="true"
221
+ [spxSeverity]="severitySuccess">
222
+ Save
223
+ </spx-button>
224
+ </form>`,
155
225
  standalone: true,
156
226
  imports: [
157
227
  CommonModule,
@@ -159,25 +229,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
159
229
  ReactiveFormsModule,
160
230
  SpxButtonComponent,
161
231
  SpxFormSectionComponent,
232
+ SpxFormViewComponent,
162
233
  SpxInputComponent,
163
234
  NgIf,
164
235
  ]
165
236
  }]
166
237
  }], ctorParameters: () => [], propDecorators: { channels: [{
167
238
  type: Input
168
- }], channelControl: [{
239
+ }], channelTypes: [{
169
240
  type: Input
170
- }], companyControl: [{
241
+ }], formGroup: [{
171
242
  type: Input
172
243
  }], txtChannel: [{
173
244
  type: Input
174
245
  }], txtCompany: [{
175
246
  type: Input
247
+ }], submit: [{
248
+ type: Output
176
249
  }] } });
177
250
 
178
251
  /**
179
252
  * Generated bundle index. Do not edit.
180
253
  */
181
254
 
182
- export { SpxChannelIndicatorComponent, SpxChannelSelectionComponent, SpxCompanySelectionComponent, SpxWelcomeComponent };
255
+ export { SpxChannelIndicatorComponent, SpxChannelSelectionComponent, SpxCompanySelectionComponent, SpxWelcomeComponent, ctrlChannel, ctrlChannelType, sectionWelcome };
183
256
  //# sourceMappingURL=softpak-components-spx-channel-selection.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-channel-selection.mjs","sources":["../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-indicator.component.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-selection.component.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-company-selection.component.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-welcome.component.ts","../../../../projects/softpak/components/spx-channel-selection/softpak-components-spx-channel-selection.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\n\n@Component({\n selector: 'spx-channel-indicator',\n template: `<div class=\"bg-white p-3 rounded flex gap-3 items-center text-black\">\n <div class=\"grow\">\n <div class=\"text-lg font-bold\">{{ channel?.brand }}</div>\n <div class=\"text-base text-gray-600\">{{ channelType }}</div>\n </div>\n <spx-button (click)=\"onChange()\" [spxType]=\"'button'\">{{ txtChange }}</spx-button>\n </div>`,\n standalone: true,\n imports: [\n SpxButtonComponent,\n ],\n})\nexport class SpxChannelIndicatorComponent {\n @Input() channel?: SpxAppChannelI;\n @Input() channelType?: SpxAppChannelTypeEnum;\n @Input() txtChange!: string;\n @Output() spxChange: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n ) { }\n\n onChange() {\n this.spxChange.emit();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\n\n@Component({\n selector: 'spx-channel-selection',\n template: `\n <spx-input [formControl]=\"control\" [spxLabel]=\"txtChannel\"\n [spxType]=\"inputTypeRadio\" [spxSuggestions]=\"options\"></spx-input>\n `,\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxInputComponent,\n ]\n})\nexport class SpxChannelSelectionComponent {\n @Input() control!: FormControl;\n @Input() options: SpxValuePair<string>[] = [];\n @Input() txtChannel!: string;\n inputTypeRadio = SpxInputTypeEnum.radio;\n\n constructor(\n ) { }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxFormSectionComponent } from '@softpak/components/spx-form-section';\nimport { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\n\n\n@Component({\n selector: 'spx-company-selection',\n template: `<spx-form-section [spxTitle]=\"txtChannel\" [spxIndex]=\"2\">\n <div class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3\">\n <spx-input [formControl]=\"control\" [spxLabel]=\"txtCompany\"\n [spxType]=\"inputTypeRadio\" [spxSuggestions]=\"options\"></spx-input>\n </div>\n</spx-form-section>`,\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxInputComponent,\n SpxFormSectionComponent,\n ]\n})\nexport class SpxCompanySelectionComponent {\n @Input() control!: FormControl;\n @Input() options: SpxValuePair<string>[] = [];\n @Input() txtChannel!: string;\n @Input() txtCompany!: string;\n inputTypeRadio = SpxInputTypeEnum.radio;\n\n constructor(\n ) { }\n}\n","import { CommonModule, NgIf } from '@angular/common';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxFormSectionComponent } from '@softpak/components/spx-form-section';\nimport { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\n\n@Component({\n selector: 'spx-welcome',\n template: `<spx-form-section [spxTitle]=\"txtChannel\" [spxIndex]=\"2\">\n <div class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3\">\n <spx-input [formControl]=\"companyControl\" [spxLabel]=\"txtCompany\"\n [spxType]=\"inputTypeRadio\" [spxSuggestions]=\"filteredCompanies\"></spx-input>\n </div>\n</spx-form-section>`,\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxButtonComponent,\n SpxFormSectionComponent,\n SpxInputComponent,\n NgIf,\n ]\n})\nexport class SpxWelcomeComponent {\n @Input() channels?: SpxAppChannelI[] = [];\n @Input() channelControl!: FormControl;\n @Input() companyControl!: FormControl;\n @Input() txtChannel!: string;\n @Input() txtCompany!: string;\n inputTypeRadio = SpxInputTypeEnum.radio;\n\n // get filteredChannelTypes (): SpxValuePair<string>[] { return (this.channels ?? [])?.map(c => ({ description: c.brand, value: c.channelTypes. })); }\n get filteredCompanies (): SpxValuePair<string>[] { return (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.backendCompanyCode })); }\n\n constructor(\n ) { }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-channel-selection.mjs","sources":["../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-indicator.component.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-selection.component.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-company-selection.component.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-welcome.component.ts","../../../../projects/softpak/components/spx-channel-selection/softpak-components-spx-channel-selection.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\n\n@Component({\n selector: 'spx-channel-indicator',\n template: `<div class=\"bg-white p-3 rounded flex gap-3 items-center text-black\">\n <div class=\"grow\">\n <div class=\"text-lg font-bold\">{{ channel?.brand }}</div>\n <div class=\"text-base text-gray-600\">{{ channelType }}</div>\n </div>\n <spx-button (click)=\"onChange()\" [spxType]=\"'button'\">{{ txtChange }}</spx-button>\n </div>`,\n standalone: true,\n imports: [\n SpxButtonComponent,\n ],\n})\nexport class SpxChannelIndicatorComponent {\n @Input() channel?: SpxAppChannelI;\n @Input() channelType?: SpxAppChannelTypeEnum;\n @Input() txtChange!: string;\n @Output() spxChange: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n ) { }\n\n onChange() {\n this.spxChange.emit();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\n\n@Component({\n selector: 'spx-channel-selection',\n template: `\n <spx-input [formControl]=\"control\" [spxLabel]=\"txtChannel\"\n [spxType]=\"inputTypeRadio\" [spxSuggestions]=\"options\"></spx-input>\n `,\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxInputComponent,\n ]\n})\nexport class SpxChannelSelectionComponent {\n @Input() control!: FormControl;\n @Input() options: SpxValuePair<string>[] = [];\n @Input() txtChannel!: string;\n inputTypeRadio = SpxInputTypeEnum.radio;\n\n constructor(\n ) { }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxFormSectionComponent } from '@softpak/components/spx-form-section';\nimport { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\n\n\n@Component({\n selector: 'spx-company-selection',\n template: `<spx-form-section [spxTitle]=\"txtChannel\" [spxIndex]=\"2\">\n <div class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3\">\n <spx-input [formControl]=\"control\" [spxLabel]=\"txtCompany\"\n [spxType]=\"inputTypeRadio\" [spxSuggestions]=\"options\"></spx-input>\n </div>\n</spx-form-section>`,\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxInputComponent,\n SpxFormSectionComponent,\n ]\n})\nexport class SpxCompanySelectionComponent {\n @Input() control!: FormControl;\n @Input() options: SpxValuePair<string>[] = [];\n @Input() txtChannel!: string;\n @Input() txtCompany!: string;\n inputTypeRadio = SpxInputTypeEnum.radio;\n\n constructor(\n ) { }\n}\n","import { CommonModule, NgIf } from '@angular/common';\nimport { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges, OnInit, OnDestroy } from '@angular/core';\nimport { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxFormSectionComponent } from '@softpak/components/spx-form-section';\nimport { SpxFormSectionI, SpxFormViewComponent } from '@softpak/components/spx-form-view';\nimport { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';\nimport { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\nimport { spxValidatorRequired } from '@softpak/components/spx-validation';\nimport { Subscription } from 'rxjs';\n\nexport const sectionWelcome = 'welcome';\nexport const ctrlChannel = 'channel';\nexport const ctrlChannelType = 'channelType';\nexport interface SpxWelcomeValueI {\n [ctrlChannel]?: SpxValuePair<string>;\n [ctrlChannelType]: SpxValuePair<string>;\n}\n\n@Component({\n selector: 'spx-welcome',\n template: `<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxSections]=\"sections\"\n [spxSuggestions]=\"suggestions\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n </form>`,\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxButtonComponent,\n SpxFormSectionComponent,\n SpxFormViewComponent,\n SpxInputComponent,\n NgIf,\n ]\n})\nexport class SpxWelcomeComponent implements OnChanges, OnInit, OnDestroy {\n @Input() channels?: SpxAppChannelI[] = [];\n @Input() channelTypes?: SpxAppChannelTypeEnum[] = [];\n @Input() formGroup!: FormGroup;\n @Input() txtChannel!: string;\n @Input() txtCompany!: string;\n @Output() submit: EventEmitter<SpxWelcomeValueI> = new EventEmitter<SpxWelcomeValueI>();\n severitySuccess = SpxSeverityEnum.success;\n suggestions: {\n [ctrlChannelType]?: SpxValuePair<string>[];\n [ctrlChannel]?: SpxValuePair<string>[];\n } = {\n [ctrlChannelType]: [],\n [ctrlChannel]: [],\n };\n get ctrlChannel(): FormControl { return this.formGroup.get(ctrlChannel) as FormControl; }\n get ctrlChannelType(): FormControl { return this.formGroup.get(ctrlChannelType) as FormControl; }\n private subscriptions: {\n channel?: Subscription\n } = {};\n\n sections: SpxFormSectionI[] = [\n {\n key: sectionWelcome,\n showTitle: () => false,\n fields: [\n {\n key: ctrlChannel,\n type: () => SpxInputTypeEnum.radio,\n label: () => this.txtCompany,\n readonly: () => true,\n validators: () => [spxValidatorRequired()],\n },\n {\n key: ctrlChannelType,\n type: () => SpxInputTypeEnum.radio,\n label: () => this.txtChannel,\n capitalize: () => true,\n readonly: () => true,\n show: () => valuePairToValue(this.ctrlChannel.value),\n validators: () => [spxValidatorRequired()],\n },\n ]\n }\n ];\n \n get filteredCompanies(): SpxValuePair<string>[] { return (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.backendCompanyCode })); }\n\n constructor(\n ) { }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.suggestions[ctrlChannel] = this.filteredCompanies;\n }\n\n ngOnDestroy(): void {\n \n }\n\n ngOnInit(): void {\n this.subscriptions.channel = this.ctrlChannel.valueChanges.subscribe(valuePair => {\n const channel = this.channels?.find(c => c.brand === valuePairToValue(valuePair));\n this.suggestions[ctrlChannelType] = !channel ? [] : channel?.channelTypes?.map(ct => ({\n description: ct,\n value: ct\n }));\n });\n }\n\n onSubmit(): void {\n this.submit.emit({\n channel: this.ctrlChannel.value,\n channelType: this.ctrlChannelType.value,\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;MAkBa,4BAA4B,CAAA;AAMvC,IAAA,WAAA,GAAA;AAFU,QAAA,IAAA,CAAA,SAAS,GAAuB,IAAI,YAAY,EAAQ,CAAC;KAG9D;IAEL,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB;8GAXU,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAZ7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;AAMH,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAGL,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,SAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGT,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAdxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA;;;;;;AAMH,QAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACP,kBAAkB;AACnB,qBAAA;AACF,iBAAA,CAAA;wDAEU,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACI,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;MCHI,4BAA4B,CAAA;AAMvC,IAAA,WAAA,GAAA;QAJS,IAAO,CAAA,OAAA,GAA2B,EAAE,CAAC;AAE9C,QAAA,IAAA,CAAA,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC;KAGnC;8GAPM,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAZ7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;AAGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAGC,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EACX,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,kNACnB,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,OAAA,EAAA,eAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGR,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAdxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA;;;AAGT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,iBAAiB;AAClB,qBAAA;AACF,iBAAA,CAAA;wDAEU,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MCEK,4BAA4B,CAAA;AAOvC,IAAA,WAAA,GAAA;QALS,IAAO,CAAA,OAAA,GAA2B,EAAE,CAAC;AAG9C,QAAA,IAAA,CAAA,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC;KAGnC;8GARM,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAf7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;oBAKQ,EAGhB,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8BACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,EACnB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,khBACjB,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGd,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAjBxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA;;;;;AAKQ,mBAAA,CAAA;AAClB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,iBAAiB;wBACjB,uBAAuB;AACxB,qBAAA;AACF,iBAAA,CAAA;wDAEU,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;AChBD,MAAM,cAAc,GAAG,UAAU;AACjC,MAAM,WAAW,GAAG,UAAU;AAC9B,MAAM,eAAe,GAAG,cAAc;MAgChC,mBAAmB,CAAA;AAe9B,IAAA,IAAI,WAAW,GAAA,EAAkB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAgB,CAAC,EAAE;AACzF,IAAA,IAAI,eAAe,GAAA,EAAkB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAgB,CAAC,EAAE;IA8BjG,IAAI,iBAAiB,GAA6B,EAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE;AAEvO,IAAA,WAAA,GAAA;QA/CS,IAAQ,CAAA,QAAA,GAAsB,EAAE,CAAC;QACjC,IAAY,CAAA,YAAA,GAA6B,EAAE,CAAC;AAI3C,QAAA,IAAA,CAAA,MAAM,GAAmC,IAAI,YAAY,EAAoB,CAAC;AACxF,QAAA,IAAA,CAAA,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC;AAC1C,QAAA,IAAA,CAAA,WAAW,GAGP;YACF,CAAC,eAAe,GAAG,EAAE;YACrB,CAAC,WAAW,GAAG,EAAE;SAClB,CAAC;QAGM,IAAa,CAAA,aAAA,GAEjB,EAAE,CAAC;AAEP,QAAA,IAAA,CAAA,QAAQ,GAAsB;AAC5B,YAAA;AACE,gBAAA,GAAG,EAAE,cAAc;AACnB,gBAAA,SAAS,EAAE,MAAM,KAAK;AACtB,gBAAA,MAAM,EAAE;AACN,oBAAA;AACE,wBAAA,GAAG,EAAE,WAAW;AAChB,wBAAA,IAAI,EAAE,MAAM,gBAAgB,CAAC,KAAK;AAClC,wBAAA,KAAK,EAAE,MAAM,IAAI,CAAC,UAAU;AAC5B,wBAAA,QAAQ,EAAE,MAAM,IAAI;AACpB,wBAAA,UAAU,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC;AAC3C,qBAAA;AACD,oBAAA;AACE,wBAAA,GAAG,EAAE,eAAe;AACpB,wBAAA,IAAI,EAAE,MAAM,gBAAgB,CAAC,KAAK;AAClC,wBAAA,KAAK,EAAE,MAAM,IAAI,CAAC,UAAU;AAC5B,wBAAA,UAAU,EAAE,MAAM,IAAI;AACtB,wBAAA,QAAQ,EAAE,MAAM,IAAI;wBACpB,IAAI,EAAE,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AACpD,wBAAA,UAAU,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC;AAC3C,qBAAA;AACF,iBAAA;AACF,aAAA;SACF,CAAC;KAKG;AAEL,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;KACxD;IAED,WAAW,GAAA;KAEV;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,IAAG;YAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,KAAK;AACpF,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,KAAK,EAAE,EAAE;AACV,aAAA,CAAC,CAAC,CAAC;AACN,SAAC,CAAC,CAAC;KACJ;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,YAAA,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;AAC/B,YAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;AACxC,SAAA,CAAC,CAAC;KACJ;8GA1EU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAxBpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;UAWF,EAGN,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8BACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,EACnB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,qOAElB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBA1B/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;AAWF,SAAA,CAAA;AACR,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,kBAAkB;wBAClB,uBAAuB;wBACvB,oBAAoB;wBACpB,iBAAiB;wBACjB,IAAI;AACL,qBAAA;AACF,iBAAA,CAAA;wDAEU,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACI,MAAM,EAAA,CAAA;sBAAf,MAAM;;;ACpDT;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softpak/components",
3
- "version": "0.0.0-beta.202",
3
+ "version": "0.0.0-beta.203",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "17.x.x || 18.x.x",
@@ -30,18 +30,6 @@
30
30
  "esm": "./esm2022/spx-alert/softpak-components-spx-alert.mjs",
31
31
  "default": "./fesm2022/softpak-components-spx-alert.mjs"
32
32
  },
33
- "./spx-app-configuration": {
34
- "types": "./spx-app-configuration/index.d.ts",
35
- "esm2022": "./esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs",
36
- "esm": "./esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs",
37
- "default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
38
- },
39
- "./spx-capitalize": {
40
- "types": "./spx-capitalize/index.d.ts",
41
- "esm2022": "./esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs",
42
- "esm": "./esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs",
43
- "default": "./fesm2022/softpak-components-spx-capitalize.mjs"
44
- },
45
33
  "./spx-button": {
46
34
  "types": "./spx-button/index.d.ts",
47
35
  "esm2022": "./esm2022/spx-button/softpak-components-spx-button.mjs",
@@ -54,6 +42,18 @@
54
42
  "esm": "./esm2022/spx-change-details/softpak-components-spx-change-details.mjs",
55
43
  "default": "./fesm2022/softpak-components-spx-change-details.mjs"
56
44
  },
45
+ "./spx-app-configuration": {
46
+ "types": "./spx-app-configuration/index.d.ts",
47
+ "esm2022": "./esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs",
48
+ "esm": "./esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs",
49
+ "default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
50
+ },
51
+ "./spx-capitalize": {
52
+ "types": "./spx-capitalize/index.d.ts",
53
+ "esm2022": "./esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs",
54
+ "esm": "./esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs",
55
+ "default": "./fesm2022/softpak-components-spx-capitalize.mjs"
56
+ },
57
57
  "./spx-channel-selection": {
58
58
  "types": "./spx-channel-selection/index.d.ts",
59
59
  "esm2022": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
@@ -1,16 +1,39 @@
1
- import { FormControl } from '@angular/forms';
2
- import { SpxAppChannelI } from '@softpak/components/spx-app-configuration';
3
- import { SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';
1
+ import { EventEmitter, OnChanges, SimpleChanges, OnInit, OnDestroy } from '@angular/core';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
+ import { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
4
+ import { SpxFormSectionI } from '@softpak/components/spx-form-view';
5
+ import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
6
+ import { SpxValuePair } from '@softpak/components/spx-inputs';
4
7
  import * as i0 from "@angular/core";
5
- export declare class SpxWelcomeComponent {
8
+ export declare const sectionWelcome = "welcome";
9
+ export declare const ctrlChannel = "channel";
10
+ export declare const ctrlChannelType = "channelType";
11
+ export interface SpxWelcomeValueI {
12
+ [ctrlChannel]?: SpxValuePair<string>;
13
+ [ctrlChannelType]: SpxValuePair<string>;
14
+ }
15
+ export declare class SpxWelcomeComponent implements OnChanges, OnInit, OnDestroy {
6
16
  channels?: SpxAppChannelI[];
7
- channelControl: FormControl;
8
- companyControl: FormControl;
17
+ channelTypes?: SpxAppChannelTypeEnum[];
18
+ formGroup: FormGroup;
9
19
  txtChannel: string;
10
20
  txtCompany: string;
11
- inputTypeRadio: SpxInputTypeEnum;
21
+ submit: EventEmitter<SpxWelcomeValueI>;
22
+ severitySuccess: SpxSeverityEnum;
23
+ suggestions: {
24
+ [ctrlChannelType]?: SpxValuePair<string>[];
25
+ [ctrlChannel]?: SpxValuePair<string>[];
26
+ };
27
+ get ctrlChannel(): FormControl;
28
+ get ctrlChannelType(): FormControl;
29
+ private subscriptions;
30
+ sections: SpxFormSectionI[];
12
31
  get filteredCompanies(): SpxValuePair<string>[];
13
32
  constructor();
33
+ ngOnChanges(changes: SimpleChanges): void;
34
+ ngOnDestroy(): void;
35
+ ngOnInit(): void;
36
+ onSubmit(): void;
14
37
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxWelcomeComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxWelcomeComponent, "spx-welcome", never, { "channels": { "alias": "channels"; "required": false; }; "channelControl": { "alias": "channelControl"; "required": false; }; "companyControl": { "alias": "companyControl"; "required": false; }; "txtChannel": { "alias": "txtChannel"; "required": false; }; "txtCompany": { "alias": "txtCompany"; "required": false; }; }, {}, never, never, true, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxWelcomeComponent, "spx-welcome", never, { "channels": { "alias": "channels"; "required": false; }; "channelTypes": { "alias": "channelTypes"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "txtChannel": { "alias": "txtChannel"; "required": false; }; "txtCompany": { "alias": "txtCompany"; "required": false; }; }, { "submit": "submit"; }, never, never, true, never>;
16
39
  }