@softpak/components 0.0.0-beta.2 → 0.0.0-beta.200

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.
Files changed (109) hide show
  1. package/esm2022/spx-alert/spx-alert.component.mjs +9 -4
  2. package/esm2022/spx-button/spx-button.component.mjs +61 -38
  3. package/esm2022/spx-change-details/public-api.mjs +2 -0
  4. package/esm2022/spx-change-details/softpak-components-spx-change-details.mjs +5 -0
  5. package/esm2022/spx-change-details/spx-change-details-value.interface.mjs +2 -0
  6. package/esm2022/spx-change-details/spx-change-details.component.mjs +199 -0
  7. package/esm2022/spx-channel-selection/src/spx-channel-selection.component.mjs +6 -5
  8. package/esm2022/spx-channel-selection/src/spx-company-selection.component.mjs +6 -5
  9. package/esm2022/spx-check-digit/spx-check-digit.component.mjs +17 -8
  10. package/esm2022/spx-form-section/spx-form-section.component.mjs +11 -11
  11. package/esm2022/spx-form-view/public-api.mjs +4 -0
  12. package/esm2022/spx-form-view/softpak-components-spx-form-view.mjs +5 -0
  13. package/esm2022/spx-form-view/spx-autocomplete-search.component.mjs +119 -0
  14. package/esm2022/spx-form-view/spx-form-field.interface.mjs +2 -0
  15. package/esm2022/spx-form-view/spx-form-section.interface.mjs +2 -0
  16. package/esm2022/spx-form-view/spx-form-view.component.mjs +268 -0
  17. package/esm2022/spx-inputs/public-api.mjs +2 -1
  18. package/esm2022/spx-inputs/spx-dropdown.component.mjs +94 -0
  19. package/esm2022/spx-inputs/spx-input-box.component.mjs +87 -60
  20. package/esm2022/spx-inputs/spx-input-date.component.mjs +1 -1
  21. package/esm2022/spx-inputs/spx-input-float.component.mjs +10 -5
  22. package/esm2022/spx-inputs/spx-input-number.component.mjs +10 -5
  23. package/esm2022/spx-inputs/spx-input-radio.component.mjs +93 -27
  24. package/esm2022/spx-inputs/spx-input-text.component.mjs +32 -33
  25. package/esm2022/spx-inputs/spx-input-type.enum.mjs +16 -0
  26. package/esm2022/spx-inputs/spx-input.component.mjs +56 -19
  27. package/esm2022/spx-navigation/spx-home-tile.component.mjs +47 -12
  28. package/esm2022/spx-navigation/spx-home-tiles.component.mjs +3 -5
  29. package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +1 -1
  30. package/esm2022/spx-navigation/spx-navigation.component.mjs +11 -5
  31. package/esm2022/spx-number-check/public-api.mjs +2 -0
  32. package/esm2022/spx-number-check/softpak-components-spx-number-check.mjs +5 -0
  33. package/esm2022/spx-number-check/spx-number-check.component.mjs +259 -0
  34. package/esm2022/spx-progress-bar/spx-progress-bar.component.mjs +3 -3
  35. package/esm2022/spx-spinner/spx-spinner.component.mjs +5 -5
  36. package/esm2022/spx-suggestion/spx-suggestion.component.mjs +28 -10
  37. package/esm2022/spx-toaster/src/spx-toaster.component.mjs +33 -21
  38. package/esm2022/spx-update/src/spx-update-info.component.mjs +1 -1
  39. package/esm2022/spx-validation/public-api.mjs +1 -2
  40. package/esm2022/spx-validation/spx-validate-control.component.mjs +8 -3
  41. package/fesm2022/softpak-components-spx-alert.mjs +8 -3
  42. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  43. package/fesm2022/softpak-components-spx-button.mjs +60 -37
  44. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  45. package/fesm2022/softpak-components-spx-change-details.mjs +206 -0
  46. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -0
  47. package/fesm2022/softpak-components-spx-channel-selection.mjs +9 -7
  48. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  49. package/fesm2022/softpak-components-spx-check-digit.mjs +16 -7
  50. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  51. package/fesm2022/softpak-components-spx-form-section.mjs +10 -10
  52. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  53. package/fesm2022/softpak-components-spx-form-view.mjs +385 -0
  54. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -0
  55. package/fesm2022/softpak-components-spx-inputs.mjs +382 -140
  56. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  57. package/fesm2022/softpak-components-spx-navigation.mjs +57 -19
  58. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  59. package/fesm2022/softpak-components-spx-number-check.mjs +266 -0
  60. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -0
  61. package/fesm2022/softpak-components-spx-progress-bar.mjs +2 -2
  62. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  63. package/fesm2022/softpak-components-spx-spinner.mjs +4 -4
  64. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  65. package/fesm2022/softpak-components-spx-suggestion.mjs +27 -9
  66. package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
  67. package/fesm2022/softpak-components-spx-toaster.mjs +32 -20
  68. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  69. package/fesm2022/softpak-components-spx-update.mjs +1 -1
  70. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  71. package/fesm2022/softpak-components-spx-validation.mjs +8 -28
  72. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  73. package/package.json +34 -15
  74. package/spx-button/spx-button.component.d.ts +8 -2
  75. package/spx-change-details/index.d.ts +5 -0
  76. package/spx-change-details/public-api.d.ts +1 -0
  77. package/spx-change-details/spx-change-details-value.interface.d.ts +7 -0
  78. package/spx-change-details/spx-change-details.component.d.ts +63 -0
  79. package/spx-channel-selection/src/spx-channel-selection.component.d.ts +2 -1
  80. package/spx-channel-selection/src/spx-company-selection.component.d.ts +2 -1
  81. package/spx-check-digit/spx-check-digit.component.d.ts +5 -0
  82. package/spx-form-view/index.d.ts +5 -0
  83. package/spx-form-view/public-api.d.ts +3 -0
  84. package/spx-form-view/spx-autocomplete-search.component.d.ts +43 -0
  85. package/spx-form-view/spx-form-field.interface.d.ts +18 -0
  86. package/spx-form-view/spx-form-section.interface.d.ts +9 -0
  87. package/spx-form-view/spx-form-view.component.d.ts +48 -0
  88. package/spx-inputs/public-api.d.ts +1 -0
  89. package/spx-inputs/spx-dropdown.component.d.ts +18 -0
  90. package/spx-inputs/spx-input-box.component.d.ts +15 -8
  91. package/spx-inputs/spx-input-float.component.d.ts +3 -2
  92. package/spx-inputs/spx-input-number.component.d.ts +3 -2
  93. package/spx-inputs/spx-input-radio.component.d.ts +13 -5
  94. package/spx-inputs/spx-input-text.component.d.ts +3 -2
  95. package/spx-inputs/spx-input-type.enum.d.ts +14 -0
  96. package/spx-inputs/spx-input.component.d.ts +13 -5
  97. package/spx-navigation/spx-home-tile.component.d.ts +6 -1
  98. package/spx-navigation/spx-navigation-item.interface.d.ts +2 -0
  99. package/spx-navigation/spx-navigation.component.d.ts +4 -1
  100. package/spx-number-check/index.d.ts +5 -0
  101. package/spx-number-check/public-api.d.ts +1 -0
  102. package/spx-number-check/spx-number-check.component.d.ts +48 -0
  103. package/spx-suggestion/spx-suggestion.component.d.ts +3 -1
  104. package/spx-toaster/src/spx-toaster.component.d.ts +1 -1
  105. package/spx-validation/public-api.d.ts +0 -1
  106. package/spx-validation/spx-validate-control.component.d.ts +1 -1
  107. package/tailwind.css +1 -1
  108. package/esm2022/spx-validation/spx-validation.module.mjs +0 -28
  109. package/spx-validation/spx-validation.module.d.ts +0 -9
@@ -49,7 +49,7 @@ export class SpxUpdateInfoComponent {
49
49
  <spx-input [formControl]="ctrlAppStoreVersion" [spxLabel]="txtAppStoreVersion | capitalize"
50
50
  [spxReadonly]="true"></spx-input>
51
51
  </div>
52
- </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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxCompact", "spxShowClear", "spxShowSearch", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }] }); }
52
+ </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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { 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"] }] }); }
53
53
  }
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxUpdateInfoComponent, decorators: [{
55
55
  type: Component,
@@ -6,5 +6,4 @@ export * from './pattern.validator';
6
6
  export * from './required.validator';
7
7
  export * from './year-and-month.validator';
8
8
  export * from './spx-validate-control.component';
9
- export * from './spx-validation.module';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXgudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbWF4bGVuZ3RoLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL21pbi52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9taW5sZW5ndGgudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0dGVybi52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi95ZWFyLWFuZC1tb250aC52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9zcHgtdmFsaWRhdGUtY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcHgtdmFsaWRhdGlvbi5tb2R1bGUnO1xuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWF4LnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL21heGxlbmd0aC52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9taW4udmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbWlubGVuZ3RoLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3BhdHRlcm4udmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWlyZWQudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4veWVhci1hbmQtbW9udGgudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc3B4LXZhbGlkYXRlLWNvbnRyb2wuY29tcG9uZW50JztcbiJdfQ==
@@ -1,4 +1,6 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { Component, Input } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
2
4
  import * as i0 from "@angular/core";
3
5
  import * as i1 from "@angular/common";
4
6
  export class SpxValidateControlComponent {
@@ -48,11 +50,14 @@ export class SpxValidateControlComponent {
48
50
  return this.control.errors && this.control.errors['past'];
49
51
  }
50
52
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxValidateControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxValidateControlComponent, selector: "spx-validate-control", inputs: { control: "control", label: "label", submitTried: "submitTried" }, ngImport: i0, template: "<ng-container *ngIf=\"control && control.errors && (control.touched || submitTried)\">\n <div *ngIf=\"maxLength\">'{{ label }}' is too long, the maximum length is {{ maxLengthRequiredLength }}.</div>\n <div *ngIf=\"minLength\">'{{ label }}' is too short, the minimum length is {{ minLengthRequiredLength }}.</div>\n <div *ngIf=\"max\">The value of '{{ label }}' is too high, the maximum is {{ maxRequiredMax }}.</div>\n <div *ngIf=\"min\">The value of '{{ label }}' is too low, the minimum is {{ minRequiredMin }}.</div>\n <div *ngIf=\"pattern\">The pattern of '{{ label }}' not valid.</div>\n <div *ngIf=\"required\">'{{ label }}' is required.</div>\n <div *ngIf=\"year\">Please choose a year between 1991 and the current year.</div>\n <div *ngIf=\"yearFuture\">Please choose a year between the current year and 2050.</div>\n <div *ngIf=\"month\">Please choose a valid month (a value between 01 and 12).</div>\n <div *ngIf=\"future\">The selected date may not be in the future.</div>\n <div *ngIf=\"past\">The selected date may not be in the past.</div>\n</ng-container>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxValidateControlComponent, isStandalone: true, selector: "spx-validate-control", inputs: { control: "control", label: "label", submitTried: "submitTried" }, ngImport: i0, template: "<ng-container *ngIf=\"control && control.errors && (control.touched || submitTried)\">\n <div *ngIf=\"maxLength\">'{{ label }}' is too long, the maximum length is {{ maxLengthRequiredLength }}.</div>\n <div *ngIf=\"minLength\">'{{ label }}' is too short, the minimum length is {{ minLengthRequiredLength }}.</div>\n <div *ngIf=\"max\">The value of '{{ label }}' is too high, the maximum is {{ maxRequiredMax }}.</div>\n <div *ngIf=\"min\">The value of '{{ label }}' is too low, the minimum is {{ minRequiredMin }}.</div>\n <div *ngIf=\"pattern\">The pattern of '{{ label }}' not valid.</div>\n <div *ngIf=\"required\">'{{ label }}' is required.</div>\n <div *ngIf=\"year\">Please choose a year between 1991 and the current year.</div>\n <div *ngIf=\"yearFuture\">Please choose a year between the current year and 2050.</div>\n <div *ngIf=\"month\">Please choose a valid month (a value between 01 and 12).</div>\n <div *ngIf=\"future\">The selected date may not be in the future.</div>\n <div *ngIf=\"past\">The selected date may not be in the past.</div>\n</ng-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] }); }
52
54
  }
53
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxValidateControlComponent, decorators: [{
54
56
  type: Component,
55
- args: [{ selector: 'spx-validate-control', template: "<ng-container *ngIf=\"control && control.errors && (control.touched || submitTried)\">\n <div *ngIf=\"maxLength\">'{{ label }}' is too long, the maximum length is {{ maxLengthRequiredLength }}.</div>\n <div *ngIf=\"minLength\">'{{ label }}' is too short, the minimum length is {{ minLengthRequiredLength }}.</div>\n <div *ngIf=\"max\">The value of '{{ label }}' is too high, the maximum is {{ maxRequiredMax }}.</div>\n <div *ngIf=\"min\">The value of '{{ label }}' is too low, the minimum is {{ minRequiredMin }}.</div>\n <div *ngIf=\"pattern\">The pattern of '{{ label }}' not valid.</div>\n <div *ngIf=\"required\">'{{ label }}' is required.</div>\n <div *ngIf=\"year\">Please choose a year between 1991 and the current year.</div>\n <div *ngIf=\"yearFuture\">Please choose a year between the current year and 2050.</div>\n <div *ngIf=\"month\">Please choose a valid month (a value between 01 and 12).</div>\n <div *ngIf=\"future\">The selected date may not be in the future.</div>\n <div *ngIf=\"past\">The selected date may not be in the past.</div>\n</ng-container>" }]
57
+ args: [{ selector: 'spx-validate-control', imports: [
58
+ CommonModule,
59
+ FormsModule,
60
+ ], standalone: true, template: "<ng-container *ngIf=\"control && control.errors && (control.touched || submitTried)\">\n <div *ngIf=\"maxLength\">'{{ label }}' is too long, the maximum length is {{ maxLengthRequiredLength }}.</div>\n <div *ngIf=\"minLength\">'{{ label }}' is too short, the minimum length is {{ minLengthRequiredLength }}.</div>\n <div *ngIf=\"max\">The value of '{{ label }}' is too high, the maximum is {{ maxRequiredMax }}.</div>\n <div *ngIf=\"min\">The value of '{{ label }}' is too low, the minimum is {{ minRequiredMin }}.</div>\n <div *ngIf=\"pattern\">The pattern of '{{ label }}' not valid.</div>\n <div *ngIf=\"required\">'{{ label }}' is required.</div>\n <div *ngIf=\"year\">Please choose a year between 1991 and the current year.</div>\n <div *ngIf=\"yearFuture\">Please choose a year between the current year and 2050.</div>\n <div *ngIf=\"month\">Please choose a valid month (a value between 01 and 12).</div>\n <div *ngIf=\"future\">The selected date may not be in the future.</div>\n <div *ngIf=\"past\">The selected date may not be in the past.</div>\n</ng-container>" }]
56
61
  }], propDecorators: { control: [{
57
62
  type: Input
58
63
  }], label: [{
@@ -60,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
60
65
  }], submitTried: [{
61
66
  type: Input
62
67
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXZhbGlkYXRlLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uL3NweC12YWxpZGF0ZS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbi9zcHgtdmFsaWRhdGUtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTywyQkFBMkI7SUFLdEMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7OEdBL0RVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHdJQ1B4Qyw0akNBWWU7OzJGRExGLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSxzQkFBc0I7OEJBSXZCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LXZhbGlkYXRlLWNvbnRyb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3B4LXZhbGlkYXRlLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhWYWxpZGF0ZUNvbnRyb2xDb21wb25lbnQge1xuICBASW5wdXQoKSBjb250cm9sITogQWJzdHJhY3RDb250cm9sO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nIHwgdW5rbm93bjtcbiAgQElucHV0KCkgc3VibWl0VHJpZWQhOiBib29sZWFuO1xuXG4gIGdldCBtYXhMZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ107XG4gIH1cblxuICBnZXQgbWF4TGVuZ3RoUmVxdWlyZWRMZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMubWF4TGVuZ3RoICYmIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ11bJ3JlcXVpcmVkTGVuZ3RoJ107XG4gIH1cblxuICBnZXQgbWluTGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21pbmxlbmd0aCddO1xuICB9XG5cbiAgZ2V0IG1pbkxlbmd0aFJlcXVpcmVkTGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLm1pbkxlbmd0aCAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21pbmxlbmd0aCddWydyZXF1aXJlZExlbmd0aCddO1xuICB9XG5cbiAgZ2V0IG1heCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydtYXgnXTtcbiAgfVxuXG4gIGdldCBtYXhSZXF1aXJlZE1heCgpIHtcbiAgICByZXR1cm4gdGhpcy5tYXggJiYgdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydtYXgnXVsnbWF4J107XG4gIH1cblxuICBnZXQgbWluKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21pbiddO1xuICB9XG5cbiAgZ2V0IG1pblJlcXVpcmVkTWluKCkge1xuICAgIHJldHVybiB0aGlzLm1pbiAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21pbiddWydtaW4nXTtcbiAgfVxuXG4gIGdldCBwYXR0ZXJuKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ3BhdHRlcm4nXTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydyZXF1aXJlZCddO1xuICB9XG5cbiAgZ2V0IHllYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1sneWVhciddO1xuICB9XG5cbiAgZ2V0IHllYXJGdXR1cmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1sneWVhckZ1dHVyZSddO1xuICB9XG5cbiAgZ2V0IG1vbnRoKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21vbnRoJ107XG4gIH1cblxuICBnZXQgZnV0dXJlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ2Z1dHVyZSddO1xuICB9XG5cbiAgZ2V0IHBhc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1sncGFzdCddO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbCAmJiBjb250cm9sLmVycm9ycyAmJiAoY29udHJvbC50b3VjaGVkIHx8IHN1Ym1pdFRyaWVkKVwiPlxuICA8ZGl2ICpuZ0lmPVwibWF4TGVuZ3RoXCI+J3t7IGxhYmVsIH19JyBpcyB0b28gbG9uZywgdGhlIG1heGltdW0gbGVuZ3RoIGlzIHt7IG1heExlbmd0aFJlcXVpcmVkTGVuZ3RoIH19LjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwibWluTGVuZ3RoXCI+J3t7IGxhYmVsIH19JyBpcyB0b28gc2hvcnQsIHRoZSBtaW5pbXVtIGxlbmd0aCBpcyB7eyBtaW5MZW5ndGhSZXF1aXJlZExlbmd0aCB9fS48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm1heFwiPlRoZSB2YWx1ZSBvZiAne3sgbGFiZWwgfX0nIGlzIHRvbyBoaWdoLCB0aGUgbWF4aW11bSBpcyB7eyBtYXhSZXF1aXJlZE1heCB9fS48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm1pblwiPlRoZSB2YWx1ZSBvZiAne3sgbGFiZWwgfX0nIGlzIHRvbyBsb3csIHRoZSBtaW5pbXVtIGlzIHt7IG1pblJlcXVpcmVkTWluIH19LjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwicGF0dGVyblwiPlRoZSBwYXR0ZXJuIG9mICd7eyBsYWJlbCB9fScgbm90IHZhbGlkLjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwicmVxdWlyZWRcIj4ne3sgbGFiZWwgfX0nIGlzIHJlcXVpcmVkLjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwieWVhclwiPlBsZWFzZSBjaG9vc2UgYSB5ZWFyIGJldHdlZW4gMTk5MSBhbmQgdGhlIGN1cnJlbnQgeWVhci48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInllYXJGdXR1cmVcIj5QbGVhc2UgY2hvb3NlIGEgeWVhciBiZXR3ZWVuIHRoZSBjdXJyZW50IHllYXIgYW5kIDIwNTAuPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJtb250aFwiPlBsZWFzZSBjaG9vc2UgYSB2YWxpZCBtb250aCAoYSB2YWx1ZSBiZXR3ZWVuIDAxIGFuZCAxMikuPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJmdXR1cmVcIj5UaGUgc2VsZWN0ZWQgZGF0ZSBtYXkgbm90IGJlIGluIHRoZSBmdXR1cmUuPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJwYXN0XCI+VGhlIHNlbGVjdGVkIGRhdGUgbWF5IG5vdCBiZSBpbiB0aGUgcGFzdC48L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXZhbGlkYXRlLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uL3NweC12YWxpZGF0ZS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbi9zcHgtdmFsaWRhdGUtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFtQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBVzlELE1BQU0sT0FBTywyQkFBMkI7SUFLdEMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7OEdBL0RVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDRKQ2J4Qyw0akNBWWUsMkNESlgsWUFBWSxrSUFDWixXQUFXOzsyRkFJRiwyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0Usc0JBQXNCLFdBRXZCO3dCQUNQLFlBQVk7d0JBQ1osV0FBVztxQkFDWixjQUNXLElBQUk7OEJBR1AsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC12YWxpZGF0ZS1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NweC12YWxpZGF0ZS1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU3B4VmFsaWRhdGVDb250cm9sQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29udHJvbCE6IEFic3RyYWN0Q29udHJvbDtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVua25vd247XG4gIEBJbnB1dCgpIHN1Ym1pdFRyaWVkITogYm9vbGVhbjtcblxuICBnZXQgbWF4TGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21heGxlbmd0aCddO1xuICB9XG5cbiAgZ2V0IG1heExlbmd0aFJlcXVpcmVkTGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLm1heExlbmd0aCAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21heGxlbmd0aCddWydyZXF1aXJlZExlbmd0aCddO1xuICB9XG5cbiAgZ2V0IG1pbkxlbmd0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydtaW5sZW5ndGgnXTtcbiAgfVxuXG4gIGdldCBtaW5MZW5ndGhSZXF1aXJlZExlbmd0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5taW5MZW5ndGggJiYgdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydtaW5sZW5ndGgnXVsncmVxdWlyZWRMZW5ndGgnXTtcbiAgfVxuXG4gIGdldCBtYXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1snbWF4J107XG4gIH1cblxuICBnZXQgbWF4UmVxdWlyZWRNYXgoKSB7XG4gICAgcmV0dXJuIHRoaXMubWF4ICYmIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1snbWF4J11bJ21heCddO1xuICB9XG5cbiAgZ2V0IG1pbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydtaW4nXTtcbiAgfVxuXG4gIGdldCBtaW5SZXF1aXJlZE1pbigpIHtcbiAgICByZXR1cm4gdGhpcy5taW4gJiYgdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydtaW4nXVsnbWluJ107XG4gIH1cblxuICBnZXQgcGF0dGVybigpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydwYXR0ZXJuJ107XG4gIH1cblxuICBnZXQgcmVxdWlyZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1sncmVxdWlyZWQnXTtcbiAgfVxuXG4gIGdldCB5ZWFyKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ3llYXInXTtcbiAgfVxuXG4gIGdldCB5ZWFyRnV0dXJlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ3llYXJGdXR1cmUnXTtcbiAgfVxuXG4gIGdldCBtb250aCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydtb250aCddO1xuICB9XG5cbiAgZ2V0IGZ1dHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydmdXR1cmUnXTtcbiAgfVxuXG4gIGdldCBwYXN0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ3Bhc3QnXTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wgJiYgY29udHJvbC5lcnJvcnMgJiYgKGNvbnRyb2wudG91Y2hlZCB8fCBzdWJtaXRUcmllZClcIj5cbiAgPGRpdiAqbmdJZj1cIm1heExlbmd0aFwiPid7eyBsYWJlbCB9fScgaXMgdG9vIGxvbmcsIHRoZSBtYXhpbXVtIGxlbmd0aCBpcyB7eyBtYXhMZW5ndGhSZXF1aXJlZExlbmd0aCB9fS48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm1pbkxlbmd0aFwiPid7eyBsYWJlbCB9fScgaXMgdG9vIHNob3J0LCB0aGUgbWluaW11bSBsZW5ndGggaXMge3sgbWluTGVuZ3RoUmVxdWlyZWRMZW5ndGggfX0uPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJtYXhcIj5UaGUgdmFsdWUgb2YgJ3t7IGxhYmVsIH19JyBpcyB0b28gaGlnaCwgdGhlIG1heGltdW0gaXMge3sgbWF4UmVxdWlyZWRNYXggfX0uPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJtaW5cIj5UaGUgdmFsdWUgb2YgJ3t7IGxhYmVsIH19JyBpcyB0b28gbG93LCB0aGUgbWluaW11bSBpcyB7eyBtaW5SZXF1aXJlZE1pbiB9fS48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInBhdHRlcm5cIj5UaGUgcGF0dGVybiBvZiAne3sgbGFiZWwgfX0nIG5vdCB2YWxpZC48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInJlcXVpcmVkXCI+J3t7IGxhYmVsIH19JyBpcyByZXF1aXJlZC48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInllYXJcIj5QbGVhc2UgY2hvb3NlIGEgeWVhciBiZXR3ZWVuIDE5OTEgYW5kIHRoZSBjdXJyZW50IHllYXIuPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJ5ZWFyRnV0dXJlXCI+UGxlYXNlIGNob29zZSBhIHllYXIgYmV0d2VlbiB0aGUgY3VycmVudCB5ZWFyIGFuZCAyMDUwLjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwibW9udGhcIj5QbGVhc2UgY2hvb3NlIGEgdmFsaWQgbW9udGggKGEgdmFsdWUgYmV0d2VlbiAwMSBhbmQgMTIpLjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZnV0dXJlXCI+VGhlIHNlbGVjdGVkIGRhdGUgbWF5IG5vdCBiZSBpbiB0aGUgZnV0dXJlLjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwicGFzdFwiPlRoZSBzZWxlY3RlZCBkYXRlIG1heSBub3QgYmUgaW4gdGhlIHBhc3QuPC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -4,7 +4,10 @@ import * as i0 from '@angular/core';
4
4
  import { EventEmitter, Component, Output, Input } from '@angular/core';
5
5
  import * as i2 from '@fortawesome/angular-fontawesome';
6
6
  import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
7
- import { faCheck, faCircleInfo, faTriangleExclamation, faTimes } from '@fortawesome/free-solid-svg-icons';
7
+ import { faCheck } from '@fortawesome/free-solid-svg-icons/faCheck';
8
+ import { faCircleInfo } from '@fortawesome/free-solid-svg-icons/faCircleInfo';
9
+ import { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';
10
+ import { faTriangleExclamation } from '@fortawesome/free-solid-svg-icons/faTriangleExclamation';
8
11
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
9
12
 
10
13
  class SpxAlertComponent {
@@ -86,7 +89,8 @@ class SpxAlertComponent {
86
89
  [class.over:border-lime-600]="this.spxCloseable && this.isSeveritySuccess"
87
90
  [class.focus:ring-amber-600]="this.spxCloseable && this.isSeverityWarning"
88
91
  [class.hover:bg-amber-200]="this.spxCloseable && this.isSeverityWarning"
89
- [class.over:border-amber-600]="this.spxCloseable && this.isSeverityWarning">
92
+ [class.over:border-amber-600]="this.spxCloseable && this.isSeverityWarning"
93
+ (click)="onClose()">
90
94
  <fa-icon
91
95
  *ngIf="this.isSeverityInfo"
92
96
  [icon]="faCircleInfo" class="block text-xl text-cyan-600"></fa-icon>
@@ -147,7 +151,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
147
151
  [class.over:border-lime-600]="this.spxCloseable && this.isSeveritySuccess"
148
152
  [class.focus:ring-amber-600]="this.spxCloseable && this.isSeverityWarning"
149
153
  [class.hover:bg-amber-200]="this.spxCloseable && this.isSeverityWarning"
150
- [class.over:border-amber-600]="this.spxCloseable && this.isSeverityWarning">
154
+ [class.over:border-amber-600]="this.spxCloseable && this.isSeverityWarning"
155
+ (click)="onClose()">
151
156
  <fa-icon
152
157
  *ngIf="this.isSeverityInfo"
153
158
  [icon]="faCircleInfo" class="block text-xl text-cyan-600"></fa-icon>
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-alert.mjs","sources":["../../../../projects/softpak/components/spx-alert/spx-alert.component.ts","../../../../projects/softpak/components/spx-alert/spx-alert.interface.ts","../../../../projects/softpak/components/spx-alert/softpak-components-spx-alert.ts"],"sourcesContent":["import { CommonModule, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faCheck, faCircleInfo, faTimes, faTriangleExclamation } from '@fortawesome/free-solid-svg-icons';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\n\n@Component({\n selector: 'spx-alert',\n standalone: true,\n imports: [\n CommonModule,\n FontAwesomeModule,\n NgIf,\n ],\n template: `\n <div class=\"flex items-center gap-3 border-t-4 rounded px-4 py-3 shadow-md\"\n [class.cursor-pointer]=\"this.spxCloseable\"\n [class.bg-red-100]=\"this.isSeverityError\"\n [class.border-red-500]=\"this.isSeverityError\"\n [class.text-red-900]=\"this.isSeverityError\"\n [class.bg-cyan-100]=\"this.isSeverityInfo\"\n [class.border-cyan-500]=\"this.isSeverityInfo\"\n [class.text-cyan-900]=\"this.isSeverityInfo\"\n [class.bg-lime-100]=\"this.isSeveritySuccess\"\n [class.border-lime-500]=\"this.isSeveritySuccess\"\n [class.text-lime-900]=\"this.isSeveritySuccess\"\n [class.bg-amber-100]=\"this.isSeverityWarning\"\n [class.border-amber-500]=\"this.isSeverityWarning\"\n [class.text-amber-900]=\"this.isSeverityWarning\"\n [class.focus:ring-red-600]=\"this.spxCloseable && this.isSeverityError\"\n [class.hover:bg-red-200]=\"this.spxCloseable && this.isSeverityError\"\n [class.over:border-red-600]=\"this.spxCloseable && this.isSeverityError\"\n [class.focus:ring-cyan-600]=\"this.spxCloseable && this.isSeverityInfo\"\n [class.hover:bg-cyan-200]=\"this.spxCloseable && this.isSeverityInfo\"\n [class.over:border-cyan-600]=\"this.spxCloseable && this.isSeverityInfo\"\n [class.focus:ring-lime-600]=\"this.spxCloseable && this.isSeveritySuccess\"\n [class.hover:bg-lime-200]=\"this.spxCloseable && this.isSeveritySuccess\"\n [class.over:border-lime-600]=\"this.spxCloseable && this.isSeveritySuccess\"\n [class.focus:ring-amber-600]=\"this.spxCloseable && this.isSeverityWarning\"\n [class.hover:bg-amber-200]=\"this.spxCloseable && this.isSeverityWarning\"\n [class.over:border-amber-600]=\"this.spxCloseable && this.isSeverityWarning\">\n <fa-icon\n *ngIf=\"this.isSeverityInfo\"\n [icon]=\"faCircleInfo\" class=\"block text-xl text-cyan-600\"></fa-icon>\n <fa-icon\n *ngIf=\"this.isSeverityError\"\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-red-600\"></fa-icon>\n <fa-icon\n *ngIf=\"this.isSeveritySuccess\"\n [icon]=\"faCheck\" class=\"block text-xl text-lime-600\"></fa-icon>\n <fa-icon\n *ngIf=\"this.isSeverityWarning\"\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-amber-600\"></fa-icon>\n <div class=\"grow\">\n <p *ngIf=\"this.spxTitle && !this.spxHideTitle\" class=\"font-bold\">{{this.spxTitle}}</p>\n <p class=\"text-sm\">\n <ng-content></ng-content>\n </p>\n </div>\n <fa-icon\n *ngIf=\"this.spxCloseable\"\n [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\n </div>\n `,\n})\nexport class SpxAlertComponent {\n _autoCloseTimeout: any;\n @Output() spxClose: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxAutoclose?: number;\n @Input() spxCloseable? = false;\n @Input() spxHideTitle = false;\n @Input() spxTitle?: string;\n @Input() spxMarginTop = false;\n @Input() spxSeverity?: SpxSeverityEnum;\n @Input() tick = {};\n\n get isSeverityError() { return this.spxSeverity === SpxSeverityEnum.error; }\n get isSeverityInfo() { return this.spxSeverity === SpxSeverityEnum.info; }\n get isSeveritySuccess() { return this.spxSeverity === SpxSeverityEnum.success; }\n get isSeverityWarning() { return this.spxSeverity === SpxSeverityEnum.warning; }\n faCheck = faCheck;\n faCircleInfo = faCircleInfo;\n faTriangleExclamation = faTriangleExclamation;\n faTimes = faTimes;\n\n componentDidLoad() {\n if (this.spxAutoclose) {\n this.prepareAutoClose();\n }\n if (!this.spxTitle) {\n this._assignDefaultTitle();\n }\n }\n\n private prepareAutoClose(): void {\n this._autoCloseTimeout = setTimeout(() => {\n this.onClose();\n this._autoCloseTimeout = null;\n this.tick = {};\n }, this.spxAutoclose);\n }\n\n private _assignDefaultTitle(): void {\n switch (this.spxSeverity) {\n case SpxSeverityEnum.error:\n this.spxTitle = 'Error';\n break;\n case SpxSeverityEnum.info:\n this.spxTitle = 'Info';\n break;\n case SpxSeverityEnum.success:\n this.spxTitle = 'Notification';\n break;\n case SpxSeverityEnum.warning:\n this.spxTitle = 'Warning';\n break;\n }\n }\n\n onClose() {\n if (this.spxCloseable) {\n this.spxClose.emit();\n }\n }\n}\n","import { SpxSeverityEnum } from \"@softpak/components/spx-helpers\";\n\nexport class SpxAlertI {\n closeable?: boolean;\n id?: number;\n message?: string;\n severity?: SpxSeverityEnum;\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-alert.mjs","sources":["../../../../projects/softpak/components/spx-alert/spx-alert.component.ts","../../../../projects/softpak/components/spx-alert/spx-alert.interface.ts","../../../../projects/softpak/components/spx-alert/softpak-components-spx-alert.ts"],"sourcesContent":["import { CommonModule, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faCheck } from '@fortawesome/free-solid-svg-icons/faCheck';\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons/faCircleInfo';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';\nimport { faTriangleExclamation } from '@fortawesome/free-solid-svg-icons/faTriangleExclamation';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\n\n@Component({\n selector: 'spx-alert',\n standalone: true,\n imports: [\n CommonModule,\n FontAwesomeModule,\n NgIf,\n ],\n template: `\n <div class=\"flex items-center gap-3 border-t-4 rounded px-4 py-3 shadow-md\"\n [class.cursor-pointer]=\"this.spxCloseable\"\n [class.bg-red-100]=\"this.isSeverityError\"\n [class.border-red-500]=\"this.isSeverityError\"\n [class.text-red-900]=\"this.isSeverityError\"\n [class.bg-cyan-100]=\"this.isSeverityInfo\"\n [class.border-cyan-500]=\"this.isSeverityInfo\"\n [class.text-cyan-900]=\"this.isSeverityInfo\"\n [class.bg-lime-100]=\"this.isSeveritySuccess\"\n [class.border-lime-500]=\"this.isSeveritySuccess\"\n [class.text-lime-900]=\"this.isSeveritySuccess\"\n [class.bg-amber-100]=\"this.isSeverityWarning\"\n [class.border-amber-500]=\"this.isSeverityWarning\"\n [class.text-amber-900]=\"this.isSeverityWarning\"\n [class.focus:ring-red-600]=\"this.spxCloseable && this.isSeverityError\"\n [class.hover:bg-red-200]=\"this.spxCloseable && this.isSeverityError\"\n [class.over:border-red-600]=\"this.spxCloseable && this.isSeverityError\"\n [class.focus:ring-cyan-600]=\"this.spxCloseable && this.isSeverityInfo\"\n [class.hover:bg-cyan-200]=\"this.spxCloseable && this.isSeverityInfo\"\n [class.over:border-cyan-600]=\"this.spxCloseable && this.isSeverityInfo\"\n [class.focus:ring-lime-600]=\"this.spxCloseable && this.isSeveritySuccess\"\n [class.hover:bg-lime-200]=\"this.spxCloseable && this.isSeveritySuccess\"\n [class.over:border-lime-600]=\"this.spxCloseable && this.isSeveritySuccess\"\n [class.focus:ring-amber-600]=\"this.spxCloseable && this.isSeverityWarning\"\n [class.hover:bg-amber-200]=\"this.spxCloseable && this.isSeverityWarning\"\n [class.over:border-amber-600]=\"this.spxCloseable && this.isSeverityWarning\"\n (click)=\"onClose()\">\n <fa-icon\n *ngIf=\"this.isSeverityInfo\"\n [icon]=\"faCircleInfo\" class=\"block text-xl text-cyan-600\"></fa-icon>\n <fa-icon\n *ngIf=\"this.isSeverityError\"\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-red-600\"></fa-icon>\n <fa-icon\n *ngIf=\"this.isSeveritySuccess\"\n [icon]=\"faCheck\" class=\"block text-xl text-lime-600\"></fa-icon>\n <fa-icon\n *ngIf=\"this.isSeverityWarning\"\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-amber-600\"></fa-icon>\n <div class=\"grow\">\n <p *ngIf=\"this.spxTitle && !this.spxHideTitle\" class=\"font-bold\">{{this.spxTitle}}</p>\n <p class=\"text-sm\">\n <ng-content></ng-content>\n </p>\n </div>\n <fa-icon\n *ngIf=\"this.spxCloseable\"\n [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\n </div>\n `,\n})\nexport class SpxAlertComponent {\n _autoCloseTimeout: any;\n @Output() spxClose: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxAutoclose?: number;\n @Input() spxCloseable? = false;\n @Input() spxHideTitle = false;\n @Input() spxTitle?: string;\n @Input() spxMarginTop = false;\n @Input() spxSeverity?: SpxSeverityEnum;\n @Input() tick = {};\n\n get isSeverityError() { return this.spxSeverity === SpxSeverityEnum.error; }\n get isSeverityInfo() { return this.spxSeverity === SpxSeverityEnum.info; }\n get isSeveritySuccess() { return this.spxSeverity === SpxSeverityEnum.success; }\n get isSeverityWarning() { return this.spxSeverity === SpxSeverityEnum.warning; }\n faCheck = faCheck;\n faCircleInfo = faCircleInfo;\n faTriangleExclamation = faTriangleExclamation;\n faTimes = faTimes;\n\n componentDidLoad() {\n if (this.spxAutoclose) {\n this.prepareAutoClose();\n }\n if (!this.spxTitle) {\n this._assignDefaultTitle();\n }\n }\n\n private prepareAutoClose(): void {\n this._autoCloseTimeout = setTimeout(() => {\n this.onClose();\n this._autoCloseTimeout = null;\n this.tick = {};\n }, this.spxAutoclose);\n }\n\n private _assignDefaultTitle(): void {\n switch (this.spxSeverity) {\n case SpxSeverityEnum.error:\n this.spxTitle = 'Error';\n break;\n case SpxSeverityEnum.info:\n this.spxTitle = 'Info';\n break;\n case SpxSeverityEnum.success:\n this.spxTitle = 'Notification';\n break;\n case SpxSeverityEnum.warning:\n this.spxTitle = 'Warning';\n break;\n }\n }\n\n onClose() {\n if (this.spxCloseable) {\n this.spxClose.emit();\n }\n }\n}\n","import { SpxSeverityEnum } from \"@softpak/components/spx-helpers\";\n\nexport class SpxAlertI {\n closeable?: boolean;\n id?: number;\n message?: string;\n severity?: SpxSeverityEnum;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { NgClass } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, HostBinding, Input, Output } from '@angular/core';
3
+ import { EventEmitter, Component, HostBinding, Input, Output, ViewChild } from '@angular/core';
3
4
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
4
5
 
5
6
  class SpxButtonComponent {
@@ -21,73 +22,92 @@ class SpxButtonComponent {
21
22
  get hostClassBlock() { return this.spxFullWidth; }
22
23
  get hostClassHFull() { return this.spxFullHeight; }
23
24
  get hostClassWFull() { return this.spxFullWidth; }
25
+ get severityError() { return this.spxSeverity === SpxSeverityEnum.error; }
26
+ get severityInfo() { return this.spxSeverity === SpxSeverityEnum.info; }
27
+ get severitySuccess() { return this.spxSeverity === SpxSeverityEnum.success; }
28
+ get severityWarning() { return this.spxSeverity === SpxSeverityEnum.warning; }
29
+ spxSetFocus() {
30
+ console.log(this.buttonRef);
31
+ this.buttonRef?.nativeElement?.focus();
32
+ }
24
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxButtonComponent, isStandalone: true, selector: "spx-button", inputs: { spxDisabled: "spxDisabled", spxClass: "spxClass", spxClassObject: "spxClassObject", spxForm: "spxForm", spxFullHeight: "spxFullHeight", spxFullWidth: "spxFullWidth", spxSeverity: "spxSeverity", spxSize: "spxSize", spxTabIndex: "spxTabIndex", spxType: "spxType" }, outputs: { spxClick: "spxClick" }, host: { properties: { "class.block": "this.hostClassBlock", "class.h-full": "this.hostClassHFull", "class.w-full": "this.hostClassWFull" } }, ngImport: i0, template: `
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxButtonComponent, isStandalone: true, selector: "spx-button", inputs: { spxDisabled: "spxDisabled", spxClass: "spxClass", spxClassObject: "spxClassObject", spxForm: "spxForm", spxFullHeight: "spxFullHeight", spxFullWidth: "spxFullWidth", spxSeverity: "spxSeverity", spxSize: "spxSize", spxTabIndex: "spxTabIndex", spxType: "spxType" }, outputs: { spxClick: "spxClick" }, host: { properties: { "class.block": "this.hostClassBlock", "class.h-full": "this.hostClassHFull", "class.w-full": "this.hostClassWFull" } }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["buttonRef"], descendants: true, static: true }], ngImport: i0, template: `
26
35
  <button
27
- class="border border-transparent font-medium px-4 py-2 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 text-sm"
36
+ #buttonRef
37
+ class="border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2"
28
38
  [class.h-full]="this.spxFullHeight"
29
39
  [class.w-full]="this.spxFullWidth"
30
- [class.bg-blue-600]="!this.spxSeverity || this.spxSeverity === 'info'"
31
- [class.focus:ring-blue-500]="!this.spxSeverity || this.spxSeverity === 'info'"
32
- [class.hover:bg-blue-800]="!this.spxSeverity || this.spxSeverity === 'info'"
33
- [class.bg-red-600]="!this.spxSeverity || this.spxSeverity === 'error'"
34
- [class.focus:ring-red-500]="!this.spxSeverity || this.spxSeverity === 'error'"
35
- [class.hover:bg-red-800]="!this.spxSeverity || this.spxSeverity === 'error'"
36
- [class.bg-lime-600]="!this.spxSeverity || this.spxSeverity === 'success'"
37
- [class.focus:ring-lime-500]="!this.spxSeverity || this.spxSeverity === 'success'"
38
- [class.hover:bg-lime-800]="!this.spxSeverity || this.spxSeverity === 'success'"
39
- [class.bg-amber-600]="!this.spxSeverity || this.spxSeverity === 'warning'"
40
- [class.focus:ring-amber-500]="!this.spxSeverity || this.spxSeverity === 'warning'"
41
- [class.hover:bg-amber-800]="!this.spxSeverity || this.spxSeverity === 'warning'"
40
+ [class.bg-blue-600]="!this.spxSeverity || this.severityInfo"
41
+ [class.focus:ring-blue-500]="!this.spxSeverity || this.severityInfo"
42
+ [class.hover:bg-blue-800]="!this.spxSeverity || this.severityInfo"
43
+ [class.bg-red-600]="this.severityError"
44
+ [class.focus:ring-red-500]="this.severityError"
45
+ [class.hover:bg-red-800]="this.severityError"
46
+ [class.bg-lime-600]="this.severitySuccess"
47
+ [class.focus:ring-lime-500]="this.severitySuccess"
48
+ [class.hover:bg-lime-800]="this.severitySuccess"
49
+ [class.bg-amber-600]="this.severityWarning"
50
+ [class.focus:ring-amber-500]="this.severityWarning"
51
+ [class.hover:bg-amber-800]="this.severityWarning"
52
+ [class.py-2]="!this.spxSize || this.spxSize === 'lg'"
53
+ [class.py-4]="!this.spxSize || this.spxSize === 'xl'"
42
54
  [class.text-xl]="this.spxSize === 'xl'"
43
55
  [class.text-lg]="this.spxSize === 'lg'"
44
56
  [class.cursor-pointer]="!this.spxDisabled"
45
57
  [class.cursor-not-allowed]="this.spxDisabled"
46
58
  [class.opacity-50]="this.spxDisabled"
47
59
  [class.focus:ring-0]="this.spxDisabled"
48
- [class.hover:bg-red-600]="this.spxDisabled && this.spxSeverity === 'error'"
49
- [class.hover:bg-blue-600]="this.spxDisabled && this.spxSeverity === 'info'"
50
- [class.hover:bg-lime-600]="this.spxDisabled && this.spxSeverity === 'success'"
51
- [class.hover:bg-amber-600]="this.spxDisabled && this.spxSeverity === 'warning'"
60
+ [class.hover:bg-red-600]="this.spxDisabled && this.severityError"
61
+ [class.hover:bg-blue-600]="this.spxDisabled && this.severityInfo"
62
+ [class.hover:bg-lime-600]="this.spxDisabled && this.severitySuccess"
63
+ [class.hover:bg-amber-600]="this.spxDisabled && this.severityWarning"
64
+ [ngClass]="this.spxClass ? this.spxClass : undefined"
52
65
  [attr.disabled]="this.spxDisabled ? this.spxDisabled : undefined"
53
66
  [attr.form]="this.spxForm ? this.spxForm : undefined"
54
67
  [attr.tabindex]="this.spxTabIndex ? this.spxTabIndex : undefined"
55
68
  [attr.type]="this.spxType ? this.spxType : undefined"
56
69
  (click)="this.handleClick()"
57
- part="button"><ng-content></ng-content></button>`, isInline: true }); }
70
+ part="button"><ng-content></ng-content></button>`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
58
71
  }
59
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxButtonComponent, decorators: [{
60
73
  type: Component,
61
74
  args: [{
62
75
  selector: 'spx-button',
63
76
  standalone: true,
77
+ imports: [
78
+ NgClass,
79
+ ],
64
80
  template: `
65
81
  <button
66
- class="border border-transparent font-medium px-4 py-2 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 text-sm"
82
+ #buttonRef
83
+ class="border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2"
67
84
  [class.h-full]="this.spxFullHeight"
68
85
  [class.w-full]="this.spxFullWidth"
69
- [class.bg-blue-600]="!this.spxSeverity || this.spxSeverity === 'info'"
70
- [class.focus:ring-blue-500]="!this.spxSeverity || this.spxSeverity === 'info'"
71
- [class.hover:bg-blue-800]="!this.spxSeverity || this.spxSeverity === 'info'"
72
- [class.bg-red-600]="!this.spxSeverity || this.spxSeverity === 'error'"
73
- [class.focus:ring-red-500]="!this.spxSeverity || this.spxSeverity === 'error'"
74
- [class.hover:bg-red-800]="!this.spxSeverity || this.spxSeverity === 'error'"
75
- [class.bg-lime-600]="!this.spxSeverity || this.spxSeverity === 'success'"
76
- [class.focus:ring-lime-500]="!this.spxSeverity || this.spxSeverity === 'success'"
77
- [class.hover:bg-lime-800]="!this.spxSeverity || this.spxSeverity === 'success'"
78
- [class.bg-amber-600]="!this.spxSeverity || this.spxSeverity === 'warning'"
79
- [class.focus:ring-amber-500]="!this.spxSeverity || this.spxSeverity === 'warning'"
80
- [class.hover:bg-amber-800]="!this.spxSeverity || this.spxSeverity === 'warning'"
86
+ [class.bg-blue-600]="!this.spxSeverity || this.severityInfo"
87
+ [class.focus:ring-blue-500]="!this.spxSeverity || this.severityInfo"
88
+ [class.hover:bg-blue-800]="!this.spxSeverity || this.severityInfo"
89
+ [class.bg-red-600]="this.severityError"
90
+ [class.focus:ring-red-500]="this.severityError"
91
+ [class.hover:bg-red-800]="this.severityError"
92
+ [class.bg-lime-600]="this.severitySuccess"
93
+ [class.focus:ring-lime-500]="this.severitySuccess"
94
+ [class.hover:bg-lime-800]="this.severitySuccess"
95
+ [class.bg-amber-600]="this.severityWarning"
96
+ [class.focus:ring-amber-500]="this.severityWarning"
97
+ [class.hover:bg-amber-800]="this.severityWarning"
98
+ [class.py-2]="!this.spxSize || this.spxSize === 'lg'"
99
+ [class.py-4]="!this.spxSize || this.spxSize === 'xl'"
81
100
  [class.text-xl]="this.spxSize === 'xl'"
82
101
  [class.text-lg]="this.spxSize === 'lg'"
83
102
  [class.cursor-pointer]="!this.spxDisabled"
84
103
  [class.cursor-not-allowed]="this.spxDisabled"
85
104
  [class.opacity-50]="this.spxDisabled"
86
105
  [class.focus:ring-0]="this.spxDisabled"
87
- [class.hover:bg-red-600]="this.spxDisabled && this.spxSeverity === 'error'"
88
- [class.hover:bg-blue-600]="this.spxDisabled && this.spxSeverity === 'info'"
89
- [class.hover:bg-lime-600]="this.spxDisabled && this.spxSeverity === 'success'"
90
- [class.hover:bg-amber-600]="this.spxDisabled && this.spxSeverity === 'warning'"
106
+ [class.hover:bg-red-600]="this.spxDisabled && this.severityError"
107
+ [class.hover:bg-blue-600]="this.spxDisabled && this.severityInfo"
108
+ [class.hover:bg-lime-600]="this.spxDisabled && this.severitySuccess"
109
+ [class.hover:bg-amber-600]="this.spxDisabled && this.severityWarning"
110
+ [ngClass]="this.spxClass ? this.spxClass : undefined"
91
111
  [attr.disabled]="this.spxDisabled ? this.spxDisabled : undefined"
92
112
  [attr.form]="this.spxForm ? this.spxForm : undefined"
93
113
  [attr.tabindex]="this.spxTabIndex ? this.spxTabIndex : undefined"
@@ -126,6 +146,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
126
146
  type: Input
127
147
  }], spxClick: [{
128
148
  type: Output
149
+ }], buttonRef: [{
150
+ type: ViewChild,
151
+ args: ['buttonRef', { static: true }]
129
152
  }] } });
130
153
 
131
154
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-button.mjs","sources":["../../../../projects/softpak/components/spx-button/spx-button.component.ts","../../../../projects/softpak/components/spx-button/softpak-components-spx-button.ts"],"sourcesContent":["import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\n\n@Component({\n selector: 'spx-button',\n standalone: true,\n template: `\n <button\n class=\"border border-transparent font-medium px-4 py-2 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 text-sm\"\n [class.h-full]=\"this.spxFullHeight\"\n [class.w-full]=\"this.spxFullWidth\"\n [class.bg-blue-600]=\"!this.spxSeverity || this.spxSeverity === 'info'\"\n [class.focus:ring-blue-500]=\"!this.spxSeverity || this.spxSeverity === 'info'\"\n [class.hover:bg-blue-800]=\"!this.spxSeverity || this.spxSeverity === 'info'\"\n [class.bg-red-600]=\"!this.spxSeverity || this.spxSeverity === 'error'\"\n [class.focus:ring-red-500]=\"!this.spxSeverity || this.spxSeverity === 'error'\"\n [class.hover:bg-red-800]=\"!this.spxSeverity || this.spxSeverity === 'error'\"\n [class.bg-lime-600]=\"!this.spxSeverity || this.spxSeverity === 'success'\"\n [class.focus:ring-lime-500]=\"!this.spxSeverity || this.spxSeverity === 'success'\"\n [class.hover:bg-lime-800]=\"!this.spxSeverity || this.spxSeverity === 'success'\"\n [class.bg-amber-600]=\"!this.spxSeverity || this.spxSeverity === 'warning'\"\n [class.focus:ring-amber-500]=\"!this.spxSeverity || this.spxSeverity === 'warning'\"\n [class.hover:bg-amber-800]=\"!this.spxSeverity || this.spxSeverity === 'warning'\"\n [class.text-xl]=\"this.spxSize === 'xl'\"\n [class.text-lg]=\"this.spxSize === 'lg'\"\n [class.cursor-pointer]=\"!this.spxDisabled\"\n [class.cursor-not-allowed]=\"this.spxDisabled\"\n [class.opacity-50]=\"this.spxDisabled\"\n [class.focus:ring-0]=\"this.spxDisabled\"\n [class.hover:bg-red-600]=\"this.spxDisabled && this.spxSeverity === 'error'\"\n [class.hover:bg-blue-600]=\"this.spxDisabled && this.spxSeverity === 'info'\"\n [class.hover:bg-lime-600]=\"this.spxDisabled && this.spxSeverity === 'success'\"\n [class.hover:bg-amber-600]=\"this.spxDisabled && this.spxSeverity === 'warning'\"\n [attr.disabled]=\"this.spxDisabled ? this.spxDisabled : undefined\"\n [attr.form]=\"this.spxForm ? this.spxForm : undefined\"\n [attr.tabindex]=\"this.spxTabIndex ? this.spxTabIndex : undefined\"\n [attr.type]=\"this.spxType ? this.spxType : undefined\"\n (click)=\"this.handleClick()\"\n part=\"button\"><ng-content></ng-content></button>`,\n})\nexport class SpxButtonComponent {\n @HostBinding('class.block') get hostClassBlock() { return this.spxFullWidth; }\n @HostBinding('class.h-full') get hostClassHFull() { return this.spxFullHeight; }\n @HostBinding('class.w-full') get hostClassWFull() { return this.spxFullWidth; }\n @Input() spxDisabled = false;\n @Input() spxClass?: string;\n @Input() spxClassObject?: object;\n @Input() spxForm?: string;\n @Input() spxFullHeight?: boolean;\n @Input() spxFullWidth?: boolean;\n @Input() spxSeverity: SpxSeverityEnum = SpxSeverityEnum.info;\n @Input() spxSize: 'lg' | 'xl' = 'lg';\n @Input() spxTabIndex?: number;\n @Input() spxType: 'button' | 'submit' = 'submit';\n @Output() spxClick: EventEmitter<void> = new EventEmitter<void>();\n\n hasShadowDom = (el: HTMLElement) => {\n return !!el.shadowRoot && !!(el as any).attachShadow;\n };\n handleClick = () => {\n if (!this.spxDisabled) {\n this.spxClick.emit();\n }\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-button.mjs","sources":["../../../../projects/softpak/components/spx-button/spx-button.component.ts","../../../../projects/softpak/components/spx-button/softpak-components-spx-button.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\n\n@Component({\n selector: 'spx-button',\n standalone: true,\n imports: [\n NgClass,\n ],\n template: `\n <button\n #buttonRef\n class=\"border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2\"\n [class.h-full]=\"this.spxFullHeight\"\n [class.w-full]=\"this.spxFullWidth\"\n [class.bg-blue-600]=\"!this.spxSeverity || this.severityInfo\"\n [class.focus:ring-blue-500]=\"!this.spxSeverity || this.severityInfo\"\n [class.hover:bg-blue-800]=\"!this.spxSeverity || this.severityInfo\"\n [class.bg-red-600]=\"this.severityError\"\n [class.focus:ring-red-500]=\"this.severityError\"\n [class.hover:bg-red-800]=\"this.severityError\"\n [class.bg-lime-600]=\"this.severitySuccess\"\n [class.focus:ring-lime-500]=\"this.severitySuccess\"\n [class.hover:bg-lime-800]=\"this.severitySuccess\"\n [class.bg-amber-600]=\"this.severityWarning\"\n [class.focus:ring-amber-500]=\"this.severityWarning\"\n [class.hover:bg-amber-800]=\"this.severityWarning\"\n [class.py-2]=\"!this.spxSize || this.spxSize === 'lg'\"\n [class.py-4]=\"!this.spxSize || this.spxSize === 'xl'\"\n [class.text-xl]=\"this.spxSize === 'xl'\"\n [class.text-lg]=\"this.spxSize === 'lg'\"\n [class.cursor-pointer]=\"!this.spxDisabled\"\n [class.cursor-not-allowed]=\"this.spxDisabled\"\n [class.opacity-50]=\"this.spxDisabled\"\n [class.focus:ring-0]=\"this.spxDisabled\"\n [class.hover:bg-red-600]=\"this.spxDisabled && this.severityError\"\n [class.hover:bg-blue-600]=\"this.spxDisabled && this.severityInfo\"\n [class.hover:bg-lime-600]=\"this.spxDisabled && this.severitySuccess\"\n [class.hover:bg-amber-600]=\"this.spxDisabled && this.severityWarning\"\n [ngClass]=\"this.spxClass ? this.spxClass : undefined\"\n [attr.disabled]=\"this.spxDisabled ? this.spxDisabled : undefined\"\n [attr.form]=\"this.spxForm ? this.spxForm : undefined\"\n [attr.tabindex]=\"this.spxTabIndex ? this.spxTabIndex : undefined\"\n [attr.type]=\"this.spxType ? this.spxType : undefined\"\n (click)=\"this.handleClick()\"\n part=\"button\"><ng-content></ng-content></button>`,\n})\nexport class SpxButtonComponent {\n @HostBinding('class.block') get hostClassBlock() { return this.spxFullWidth; }\n @HostBinding('class.h-full') get hostClassHFull() { return this.spxFullHeight; }\n @HostBinding('class.w-full') get hostClassWFull() { return this.spxFullWidth; }\n @Input() spxDisabled = false;\n @Input() spxClass?: string;\n @Input() spxClassObject?: object;\n @Input() spxForm?: string;\n @Input() spxFullHeight?: boolean;\n @Input() spxFullWidth?: boolean;\n @Input() spxSeverity?: SpxSeverityEnum = SpxSeverityEnum.info;\n @Input() spxSize: 'lg' | 'xl' = 'lg';\n @Input() spxTabIndex?: number;\n @Input() spxType: 'button' | 'submit' = 'submit';\n @Output() spxClick: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild('buttonRef', { static: true }) buttonRef?: ElementRef<HTMLInputElement>;\n\n get severityError() { return this.spxSeverity === SpxSeverityEnum.error; }\n get severityInfo() { return this.spxSeverity === SpxSeverityEnum.info; }\n get severitySuccess() { return this.spxSeverity === SpxSeverityEnum.success; }\n get severityWarning() { return this.spxSeverity === SpxSeverityEnum.warning; }\n\n hasShadowDom = (el: HTMLElement) => {\n return !!el.shadowRoot && !!(el as any).attachShadow;\n };\n handleClick = () => {\n if (!this.spxDisabled) {\n this.spxClick.emit();\n }\n }\n\n spxSetFocus(): void {\n console.log(this.buttonRef);\n this.buttonRef?.nativeElement?.focus();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,206 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { spxValidatorRequired, SpxValidateControlComponent } from '@softpak/components/spx-validation';
6
+ import { CommonModule } from '@angular/common';
7
+ import { SpxInputTypeEnum, SpxInputComponent } from '@softpak/components/spx-inputs';
8
+ import { SpxFormViewComponent } from '@softpak/components/spx-form-view';
9
+ import { SpxButtonComponent } from '@softpak/components/spx-button';
10
+ import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
11
+
12
+ const sectionChangeDetails = 'changeDetails';
13
+ const ctrlContainerNumber = 'containerNumber';
14
+ const ctrlContainerPrefix = 'containerPrefix';
15
+ const ctrlContainerSeqNr = 'containerSeqNr';
16
+ const ctrlContainerType = 'containerType';
17
+ const ctrlCustomer = 'customer';
18
+ const ctrlTonsTested = 'tonsTested';
19
+ const ctrlLicensePlate = 'licensePlate';
20
+ const ctrlCategory = 'category';
21
+ class SpxChangeDetailsComponent {
22
+ get ctrlCategory() { return this.formGroup.get(ctrlCategory); }
23
+ get ctrlCustomer() { return this.formGroup.get(ctrlCustomer); }
24
+ get ctrlContainerType() { return this.formGroup.get(ctrlContainerType); }
25
+ get ctrlLicensePlate() { return this.formGroup.get(ctrlLicensePlate); }
26
+ get ctrlTonsTested() { return this.formGroup.get(ctrlTonsTested); }
27
+ constructor(formBuilder) {
28
+ this.formBuilder = formBuilder;
29
+ this.showCategory = false;
30
+ this.suggestions = {};
31
+ this.spxBlurCategory = new EventEmitter();
32
+ this.spxBlurContainerType = new EventEmitter();
33
+ this.spxSearchCategory = new EventEmitter();
34
+ this.spxSearchContainerType = new EventEmitter();
35
+ this.spxSearchTonsTested = new EventEmitter();
36
+ this.submit = new EventEmitter();
37
+ this.inputTypeAutocomplete = SpxInputTypeEnum.autocomplete;
38
+ this.inputTypeRadio = SpxInputTypeEnum.radio;
39
+ this.inputTypeText = SpxInputTypeEnum.text;
40
+ this.severitySuccess = SpxSeverityEnum.success;
41
+ this.sections = [
42
+ {
43
+ key: sectionChangeDetails,
44
+ showTitle: () => false,
45
+ fields: [
46
+ {
47
+ key: ctrlContainerNumber,
48
+ type: () => SpxInputTypeEnum.text,
49
+ label: () => this.txtContainerNumber,
50
+ readonly: () => true,
51
+ validators: () => [spxValidatorRequired()],
52
+ },
53
+ {
54
+ key: ctrlContainerPrefix,
55
+ type: () => SpxInputTypeEnum.text,
56
+ label: () => this.txtContainerPrefix,
57
+ capitalize: () => true,
58
+ readonly: () => true,
59
+ validators: () => [spxValidatorRequired()],
60
+ },
61
+ {
62
+ key: ctrlContainerSeqNr,
63
+ type: () => SpxInputTypeEnum.hidden,
64
+ validators: () => [spxValidatorRequired()],
65
+ },
66
+ {
67
+ key: ctrlCustomer,
68
+ type: () => SpxInputTypeEnum.text,
69
+ capitalize: () => true,
70
+ readonly: () => true,
71
+ label: () => this.txtCustomer,
72
+ validators: () => [spxValidatorRequired()],
73
+ },
74
+ {
75
+ key: ctrlContainerType,
76
+ type: () => SpxInputTypeEnum.autocomplete,
77
+ label: () => this.txtContainerType,
78
+ capitalize: () => true,
79
+ validators: () => [spxValidatorRequired()],
80
+ },
81
+ {
82
+ key: ctrlTonsTested,
83
+ type: () => SpxInputTypeEnum.radio,
84
+ label: () => this.txtTonsTested,
85
+ show: () => this.suggestions?.[ctrlTonsTested] && this.suggestions?.[ctrlTonsTested].length && this.suggestions?.[ctrlTonsTested].length > 0,
86
+ validators: () => this.suggestions?.[ctrlTonsTested] && this.suggestions?.[ctrlTonsTested].length && this.suggestions?.[ctrlTonsTested].length > 0 ? [spxValidatorRequired()] : [],
87
+ },
88
+ {
89
+ key: ctrlLicensePlate,
90
+ type: () => SpxInputTypeEnum.text,
91
+ label: () => this.txtLicensePlate,
92
+ capitalize: () => true,
93
+ },
94
+ {
95
+ key: ctrlCategory,
96
+ type: () => SpxInputTypeEnum.autocomplete,
97
+ label: () => this.txtCategory,
98
+ capitalize: () => true,
99
+ show: () => this.showCategory,
100
+ validators: () => this.showCategory ? [spxValidatorRequired()] : [],
101
+ }
102
+ ]
103
+ }
104
+ ];
105
+ }
106
+ createForm() {
107
+ return SpxFormViewComponent.createForm(this.formBuilder, this.sections);
108
+ }
109
+ ngOnInit() {
110
+ this.listenToContainerType();
111
+ }
112
+ ngOnDestroy() {
113
+ if (this.subContainerType) {
114
+ this.subContainerType.unsubscribe();
115
+ }
116
+ }
117
+ getRawValidators(formControl) {
118
+ return formControl._rawValidators;
119
+ }
120
+ onBlur(data) {
121
+ if (data.field.key === ctrlCategory) {
122
+ this.spxBlurCategory.emit(data.valuePair);
123
+ }
124
+ if (data.field.key === ctrlContainerType) {
125
+ this.spxBlurContainerType.emit(data.valuePair);
126
+ }
127
+ }
128
+ onSearch(data) {
129
+ if (data.field.key === ctrlCategory) {
130
+ this.spxSearchCategory.emit(data.valuePair);
131
+ }
132
+ if (data.field.key === ctrlContainerType) {
133
+ this.spxSearchContainerType.emit(data.valuePair);
134
+ }
135
+ if (data.field.key === ctrlTonsTested) {
136
+ this.spxSearchTonsTested.emit(data.valuePair);
137
+ }
138
+ }
139
+ onSubmit() {
140
+ this.submit.emit({
141
+ category: this.ctrlCategory.value,
142
+ containerType: this.ctrlContainerType.value,
143
+ licensePlate: this.ctrlLicensePlate.value,
144
+ tonsTested: this.ctrlTonsTested.value,
145
+ });
146
+ }
147
+ listenToContainerType() {
148
+ this.subContainerType = this.ctrlContainerType.valueChanges.subscribe(valuePair => {
149
+ this.ctrlTonsTested.setValue({ value: null });
150
+ this.spxSearchTonsTested.emit(valuePair);
151
+ });
152
+ }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxChangeDetailsComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxChangeDetailsComponent, isStandalone: true, selector: "spx-change-details", inputs: { formGroup: "formGroup", showCategory: "showCategory", suggestions: "suggestions", txtCategory: "txtCategory", txtContainerNumber: "txtContainerNumber", txtContainerPrefix: "txtContainerPrefix", txtContainerType: "txtContainerType", txtCustomer: "txtCustomer", txtLicensePlate: "txtLicensePlate", txtTonsTested: "txtTonsTested" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerType: "spxBlurContainerType", spxSearchCategory: "spxSearchCategory", spxSearchContainerType: "spxSearchContainerType", spxSearchTonsTested: "spxSearchTonsTested", submit: "submit" }, ngImport: i0, 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 (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n</form>", 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"] }] }); }
155
+ }
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxChangeDetailsComponent, decorators: [{
157
+ type: Component,
158
+ args: [{ selector: 'spx-change-details', standalone: true, imports: [
159
+ CommonModule,
160
+ FormsModule,
161
+ ReactiveFormsModule,
162
+ SpxButtonComponent,
163
+ SpxFormViewComponent,
164
+ SpxInputComponent,
165
+ SpxValidateControlComponent,
166
+ ], 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 (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n</form>" }]
167
+ }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
168
+ type: Input
169
+ }], showCategory: [{
170
+ type: Input
171
+ }], suggestions: [{
172
+ type: Input
173
+ }], txtCategory: [{
174
+ type: Input
175
+ }], txtContainerNumber: [{
176
+ type: Input
177
+ }], txtContainerPrefix: [{
178
+ type: Input
179
+ }], txtContainerType: [{
180
+ type: Input
181
+ }], txtCustomer: [{
182
+ type: Input
183
+ }], txtLicensePlate: [{
184
+ type: Input
185
+ }], txtTonsTested: [{
186
+ type: Input
187
+ }], spxBlurCategory: [{
188
+ type: Output
189
+ }], spxBlurContainerType: [{
190
+ type: Output
191
+ }], spxSearchCategory: [{
192
+ type: Output
193
+ }], spxSearchContainerType: [{
194
+ type: Output
195
+ }], spxSearchTonsTested: [{
196
+ type: Output
197
+ }], submit: [{
198
+ type: Output
199
+ }] } });
200
+
201
+ /**
202
+ * Generated bundle index. Do not edit.
203
+ */
204
+
205
+ export { SpxChangeDetailsComponent, ctrlCategory, ctrlContainerNumber, ctrlContainerPrefix, ctrlContainerSeqNr, ctrlContainerType, ctrlCustomer, ctrlLicensePlate, ctrlTonsTested, sectionChangeDetails };
206
+ //# sourceMappingURL=softpak-components-spx-change-details.mjs.map