@softpak/components 19.16.1 → 19.17.0-beta.2

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 (67) hide show
  1. package/fesm2022/softpak-components-spx-alert.mjs +7 -6
  2. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  3. package/fesm2022/softpak-components-spx-app-expiry.mjs +23 -91
  4. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  5. package/fesm2022/softpak-components-spx-button.mjs +8 -22
  6. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  7. package/fesm2022/softpak-components-spx-card.mjs +17 -88
  8. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  9. package/fesm2022/softpak-components-spx-change-details.mjs +50 -70
  10. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  11. package/fesm2022/softpak-components-spx-check-digit.mjs +23 -27
  12. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  13. package/fesm2022/softpak-components-spx-confirm.mjs.map +1 -1
  14. package/fesm2022/softpak-components-spx-form-section.mjs +8 -33
  15. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  16. package/fesm2022/softpak-components-spx-form-view.mjs +39 -53
  17. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  18. package/fesm2022/softpak-components-spx-inputs.mjs +15 -6
  19. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  20. package/fesm2022/softpak-components-spx-navigation.mjs +34 -89
  21. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  22. package/fesm2022/softpak-components-spx-number-check.mjs +91 -198
  23. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  24. package/fesm2022/softpak-components-spx-pagination.mjs +12 -21
  25. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
  26. package/fesm2022/softpak-components-spx-patch.mjs +8 -39
  27. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  28. package/fesm2022/softpak-components-spx-progress-bar.mjs +8 -22
  29. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  30. package/fesm2022/softpak-components-spx-spinner.mjs +15 -160
  31. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  32. package/fesm2022/softpak-components-spx-stock-info.mjs +71 -128
  33. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  34. package/fesm2022/softpak-components-spx-toaster.mjs +35 -162
  35. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  36. package/fesm2022/softpak-components-spx-update.mjs +3 -3
  37. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  38. package/fesm2022/softpak-components-spx-validation.mjs +68 -54
  39. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  40. package/package.json +12 -12
  41. package/spx-alert/spx-alert.component.d.ts +1 -1
  42. package/spx-app-expiry/spx-app-expiry.component.d.ts +14 -14
  43. package/spx-button/spx-button.component.d.ts +0 -3
  44. package/spx-card/spx-card-item/spx-card-item.component.d.ts +0 -1
  45. package/spx-card/spx-card.component.d.ts +8 -9
  46. package/spx-change-details/spx-change-details.component.d.ts +22 -23
  47. package/spx-check-digit/spx-check-digit.component.d.ts +9 -9
  48. package/spx-form-section/spx-form-section.component.d.ts +5 -5
  49. package/spx-form-view/spx-autocomplete-search.component.d.ts +15 -16
  50. package/spx-form-view/spx-form-view.component.d.ts +1 -1
  51. package/spx-inputs/spx-input-text/spx-input-text.component.d.ts +4 -1
  52. package/spx-inputs/spx-input.component.d.ts +1 -0
  53. package/spx-navigation/public-api.d.ts +2 -2
  54. package/spx-navigation/spx-home-tile/spx-home-tile.component.d.ts +11 -0
  55. package/spx-navigation/{spx-home-tiles.component.d.ts → spx-home-tile/spx-home-tiles.component.d.ts} +2 -2
  56. package/spx-navigation/spx-navigation.component.d.ts +11 -8
  57. package/spx-number-check/spx-number-check.component.d.ts +26 -32
  58. package/spx-pagination/spx-pagination.component.d.ts +9 -10
  59. package/spx-patch/spx-patch.component.d.ts +4 -4
  60. package/spx-progress-bar/spx-progress-bar.component.d.ts +3 -3
  61. package/spx-spinner/spx-spinner.component.d.ts +3 -3
  62. package/spx-stock-info/spx-stock-info.component.d.ts +48 -49
  63. package/spx-toaster/src/spx-toaster-message.interface.d.ts +5 -1
  64. package/spx-toaster/src/spx-toaster.component.d.ts +6 -14
  65. package/spx-validation/spx-validate-control.component.d.ts +19 -19
  66. package/tailwind.css +1 -1
  67. package/spx-navigation/spx-home-tile.component.d.ts +0 -11
@@ -1,7 +1,7 @@
1
1
  import { valuePairToValue } from '@softpak/components/spx-helpers';
2
2
  import { DateTime } from 'luxon';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, Input } from '@angular/core';
4
+ import { input, computed, Component, ChangeDetectionStrategy } from '@angular/core';
5
5
  import { FormsModule } from '@angular/forms';
6
6
 
7
7
  const spxValidatorRequired = () => (control) => {
@@ -131,66 +131,80 @@ const spxValidatorYearAndMonth = (future) => (control) => {
131
131
  };
132
132
 
133
133
  class SpxValidateControlComponent {
134
- get maxLength() {
135
- return this.control.errors && this.control.errors['maxlength'];
136
- }
137
- get maxLengthRequiredLength() {
138
- return this.maxLength && this.control.errors && this.control.errors['maxlength']['requiredLength'];
139
- }
140
- get minLength() {
141
- return this.control.errors && this.control.errors['minlength'];
142
- }
143
- get minLengthRequiredLength() {
144
- return this.minLength && this.control.errors && this.control.errors['minlength']['requiredLength'];
145
- }
146
- get max() {
147
- return this.control.errors && this.control.errors['max'];
148
- }
149
- get maxRequiredMax() {
150
- return this.max && this.control.errors && this.control.errors['max']['max'];
151
- }
152
- get min() {
153
- return this.control.errors && this.control.errors['min'];
154
- }
155
- get minRequiredMin() {
156
- return this.min && this.control.errors && this.control.errors['min']['min'];
157
- }
158
- get pattern() {
159
- return this.control.errors && this.control.errors['pattern'];
160
- }
161
- get required() {
162
- return this.control.errors && this.control.errors['required'];
163
- }
164
- get year() {
165
- return this.control.errors && this.control.errors['year'];
166
- }
167
- get yearFuture() {
168
- return this.control.errors && this.control.errors['yearFuture'];
169
- }
170
- get month() {
171
- return this.control.errors && this.control.errors['month'];
172
- }
173
- get future() {
174
- return this.control.errors && this.control.errors['future'];
175
- }
176
- get past() {
177
- return this.control.errors && this.control.errors['past'];
134
+ constructor() {
135
+ this.control = input.required();
136
+ this.label = input();
137
+ this.submitTried = input();
138
+ this.maxLength = computed(() => {
139
+ const control = this.control();
140
+ return control.errors && control.errors['maxlength'];
141
+ });
142
+ this.maxLengthRequiredLength = computed(() => {
143
+ const control = this.control();
144
+ return this.maxLength() && control.errors && control.errors['maxlength']['requiredLength'];
145
+ });
146
+ this.minLength = computed(() => {
147
+ const control = this.control();
148
+ return control.errors && control.errors['minlength'];
149
+ });
150
+ this.minLengthRequiredLength = computed(() => {
151
+ const control = this.control();
152
+ return this.minLength() && control.errors && control.errors['minlength']['requiredLength'];
153
+ });
154
+ this.max = computed(() => {
155
+ const control = this.control();
156
+ return control.errors && control.errors['max'];
157
+ });
158
+ this.maxRequiredMax = computed(() => {
159
+ const control = this.control();
160
+ return this.max() && control.errors && control.errors['max']['max'];
161
+ });
162
+ this.min = computed(() => {
163
+ const control = this.control();
164
+ return control.errors && control.errors['min'];
165
+ });
166
+ this.minRequiredMin = computed(() => {
167
+ const control = this.control();
168
+ return this.min() && control.errors && control.errors['min']['min'];
169
+ });
170
+ this.pattern = computed(() => {
171
+ const control = this.control();
172
+ return control.errors && control.errors['pattern'];
173
+ });
174
+ this.required = computed(() => {
175
+ const control = this.control();
176
+ return control.errors && control.errors['required'];
177
+ });
178
+ this.year = computed(() => {
179
+ const control = this.control();
180
+ return control.errors && control.errors['year'];
181
+ });
182
+ this.yearFuture = computed(() => {
183
+ const control = this.control();
184
+ return control.errors && control.errors['yearFuture'];
185
+ });
186
+ this.month = computed(() => {
187
+ const control = this.control();
188
+ return control.errors && control.errors['month'];
189
+ });
190
+ this.future = computed(() => {
191
+ const control = this.control();
192
+ return control.errors && control.errors['future'];
193
+ });
194
+ this.past = computed(() => {
195
+ const control = this.control();
196
+ return control.errors && control.errors['past'];
197
+ });
178
198
  }
179
199
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxValidateControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
180
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxValidateControlComponent, isStandalone: true, selector: "spx-validate-control", inputs: { control: "control", label: "label", submitTried: "submitTried" }, ngImport: i0, template: "@if (control && control.errors && (control.touched || submitTried)) {\n @if (maxLength) {\n <div>'{{ label }}' is too long, the maximum length is {{ maxLengthRequiredLength }}.</div>\n }\n @if (minLength) {\n <div>'{{ label }}' is too short, the minimum length is {{ minLengthRequiredLength }}.</div>\n }\n @if (max) {\n <div>The value of '{{ label }}' is too high, the maximum is {{ maxRequiredMax }}.</div>\n }\n @if (min) {\n <div>The value of '{{ label }}' is too low, the minimum is {{ minRequiredMin }}.</div>\n }\n @if (pattern) {\n <div>The pattern of '{{ label }}' not valid.</div>\n }\n @if (required) {\n <div>'{{ label }}' is required.</div>\n }\n @if (year) {\n <div>Please choose a year between 1991 and the current year.</div>\n }\n @if (yearFuture) {\n <div>Please choose a year between the current year and 2050.</div>\n }\n @if (month) {\n <div>Please choose a valid month (a value between 01 and 12).</div>\n }\n @if (future) {\n <div>The selected date may not be in the future.</div>\n }\n @if (past) {\n <div>The selected date may not be in the past.</div>\n }\n}", dependencies: [{ kind: "ngmodule", type: FormsModule }] }); }
200
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxValidateControlComponent, isStandalone: true, selector: "spx-validate-control", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, submitTried: { classPropertyName: "submitTried", publicName: "submitTried", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (control() && control().errors && (control().touched || submitTried())) {\n @if (maxLength()) {\n <div>'{{ label() }}' is too long, the maximum length is {{ maxLengthRequiredLength() }}.</div>\n }\n @if (minLength()) {\n <div>'{{ label() }}' is too short, the minimum length is {{ minLengthRequiredLength() }}.</div>\n }\n @if (max()) {\n <div>The value of '{{ label() }}' is too high, the maximum is {{ maxRequiredMax() }}.</div>\n }\n @if (min()) {\n <div>The value of '{{ label() }}' is too low, the minimum is {{ minRequiredMin() }}.</div>\n }\n @if (pattern()) {\n <div>The pattern of '{{ label() }}' not valid.</div>\n }\n @if (required()) {\n <div>'{{ label() }}' is required.</div>\n }\n @if (year()) {\n <div>Please choose a year between 1991 and the current year.</div>\n }\n @if (yearFuture()) {\n <div>Please choose a year between the current year and 2050.</div>\n }\n @if (month()) {\n <div>Please choose a valid month (a value between 01 and 12).</div>\n }\n @if (future()) {\n <div>The selected date may not be in the future.</div>\n }\n @if (past()) {\n <div>The selected date may not be in the past.</div>\n }\n}", dependencies: [{ kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
181
201
  }
182
202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxValidateControlComponent, decorators: [{
183
203
  type: Component,
184
204
  args: [{ selector: 'spx-validate-control', imports: [
185
205
  FormsModule
186
- ], template: "@if (control && control.errors && (control.touched || submitTried)) {\n @if (maxLength) {\n <div>'{{ label }}' is too long, the maximum length is {{ maxLengthRequiredLength }}.</div>\n }\n @if (minLength) {\n <div>'{{ label }}' is too short, the minimum length is {{ minLengthRequiredLength }}.</div>\n }\n @if (max) {\n <div>The value of '{{ label }}' is too high, the maximum is {{ maxRequiredMax }}.</div>\n }\n @if (min) {\n <div>The value of '{{ label }}' is too low, the minimum is {{ minRequiredMin }}.</div>\n }\n @if (pattern) {\n <div>The pattern of '{{ label }}' not valid.</div>\n }\n @if (required) {\n <div>'{{ label }}' is required.</div>\n }\n @if (year) {\n <div>Please choose a year between 1991 and the current year.</div>\n }\n @if (yearFuture) {\n <div>Please choose a year between the current year and 2050.</div>\n }\n @if (month) {\n <div>Please choose a valid month (a value between 01 and 12).</div>\n }\n @if (future) {\n <div>The selected date may not be in the future.</div>\n }\n @if (past) {\n <div>The selected date may not be in the past.</div>\n }\n}" }]
187
- }], propDecorators: { control: [{
188
- type: Input
189
- }], label: [{
190
- type: Input
191
- }], submitTried: [{
192
- type: Input
193
- }] } });
206
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control() && control().errors && (control().touched || submitTried())) {\n @if (maxLength()) {\n <div>'{{ label() }}' is too long, the maximum length is {{ maxLengthRequiredLength() }}.</div>\n }\n @if (minLength()) {\n <div>'{{ label() }}' is too short, the minimum length is {{ minLengthRequiredLength() }}.</div>\n }\n @if (max()) {\n <div>The value of '{{ label() }}' is too high, the maximum is {{ maxRequiredMax() }}.</div>\n }\n @if (min()) {\n <div>The value of '{{ label() }}' is too low, the minimum is {{ minRequiredMin() }}.</div>\n }\n @if (pattern()) {\n <div>The pattern of '{{ label() }}' not valid.</div>\n }\n @if (required()) {\n <div>'{{ label() }}' is required.</div>\n }\n @if (year()) {\n <div>Please choose a year between 1991 and the current year.</div>\n }\n @if (yearFuture()) {\n <div>Please choose a year between the current year and 2050.</div>\n }\n @if (month()) {\n <div>Please choose a valid month (a value between 01 and 12).</div>\n }\n @if (future()) {\n <div>The selected date may not be in the future.</div>\n }\n @if (past()) {\n <div>The selected date may not be in the past.</div>\n }\n}" }]
207
+ }] });
194
208
 
195
209
  /**
196
210
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-validation.mjs","sources":["../../../../projects/softpak/components/spx-validation/required.validator.ts","../../../../projects/softpak/components/spx-validation/max.validator.ts","../../../../projects/softpak/components/spx-validation/maxlength.validator.ts","../../../../projects/softpak/components/spx-validation/min.validator.ts","../../../../projects/softpak/components/spx-validation/minlength.validator.ts","../../../../projects/softpak/components/spx-validation/pattern.validator.ts","../../../../projects/softpak/components/spx-validation/year-and-month.validator.ts","../../../../projects/softpak/components/spx-validation/spx-validate-control.component.ts","../../../../projects/softpak/components/spx-validation/spx-validate-control.component.html","../../../../projects/softpak/components/spx-validation/softpak-components-spx-validation.ts"],"sourcesContent":["import { AbstractControl, ValidationErrors } from '@angular/forms';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\nexport const spxValidatorRequired = () => (control: AbstractControl): ValidationErrors | null => {\n if (\n control &&\n valuePairToValue(control.value) === undefined ||\n valuePairToValue(control.value) === null ||\n valuePairToValue(control.value) === '' ||\n valuePairToValue(control.value) === 0\n ) {\n return { required: true };\n }\n return null;\n};\n","import { AbstractControl } from '@angular/forms';\nimport { spxValidatorRequired } from './required.validator';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\nexport const spxValidatorMax = (max: number) => (control: AbstractControl): { max: { max: number; actual: number } } | null => {\n if (!spxValidatorRequired()(control)) {\n const value = parseInt(valuePairToValue(control.value).toString(), 10);\n if (!isNaN(value) && value > max) {\n return {\n max: {\n max,\n actual: value\n }\n };\n }\n }\n return null;\n};\n","import { AbstractControl } from '@angular/forms';\nimport { spxValidatorRequired } from './required.validator';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\nexport const spxValidatorMaxLength = (maximumLength: number, sanitizer?: (input: string) => string) => (control: AbstractControl): { maxlength: { requiredLength: number; actualLength: number } } | null => {\n if (!spxValidatorRequired()(control)) {\n let value = valuePairToValue(control.value);\n if (sanitizer) {\n value = sanitizer(value.toString());\n }\n if (value.toString().length > maximumLength) {\n return {\n maxlength: {\n requiredLength: maximumLength,\n actualLength: value.toString().length\n }\n };\n }\n }\n return null;\n};\n","import { AbstractControl } from '@angular/forms';\nimport { spxValidatorRequired } from './required.validator';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\nexport const spxValidatorMin = (min: number) => (control: AbstractControl): { min: { min: number; actual: number } } | null => {\n if (!spxValidatorRequired()(control)) {\n const value = parseInt(valuePairToValue(control.value).toString(), 10);\n\n if (!isNaN(value) && value < min) {\n return {\n min: {\n min,\n actual: value\n }\n };\n }\n }\n return null;\n};\n","import { AbstractControl } from '@angular/forms';\nimport { spxValidatorRequired } from './required.validator';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\nexport const spxValidatorMinLength = (minimumLength: number, sanitizer?: (input: string) => string) => (control: AbstractControl): { minlength: { requiredLength: number; actualLength: number } } | null => {\n if (!spxValidatorRequired()(control)) {\n let value = valuePairToValue(control.value);\n if (sanitizer) {\n value = sanitizer(value.toString());\n }\n if (value.toString().length < minimumLength) {\n return {\n minlength: {\n requiredLength: minimumLength,\n actualLength: value.toString().length\n }\n };\n }\n }\n return null;\n};\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\nimport { spxValidatorRequired } from './required.validator';\n\nexport const spxValidatorPattern = (matcher: RegExp) => (control: AbstractControl): ValidationErrors | null => {\n if (!spxValidatorRequired()(control)) {\n const matches = valuePairToValue(control.value).toString().match(matcher);\n if (matches === null || matches.length === 0) {\n return { pattern: true };\n }\n }\n return null;\n};\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\n\nimport { DateTime } from 'luxon';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\nimport { spxValidatorRequired } from './required.validator';\n\nexport const spxValidatorYearAndMonth = (future?: boolean) => (control: AbstractControl): ValidationErrors | null => {\n if (!spxValidatorRequired()(control)) {\n const val = valuePairToValue(control.value);\n if (val.toUpperCase() !== 'ACEP') {\n const date = DateTime.fromISO(val);\n const year = date.year;\n const month = date.month;\n if (val.length < 6) {\n return {\n minlength: {\n requiredLength: 6,\n actualLength: val.length\n }\n };\n }\n if (month < 1 || month > 12) {\n return { month: true };\n }\n if (future) {\n if (year > 2050 || year < DateTime.now().year) {\n return { yearFuture: true };\n }\n if (DateTime.now().set({ year: year, month: DateTime.now().month - 1 }).startOf('month') < DateTime.now()) {\n return { past: true };\n }\n } else {\n if (year < 1971 || year > DateTime.now().year) {\n return { year: true };\n }\n if (DateTime.now().set({ year: year, month: DateTime.now().month - 1 }).startOf('month') > DateTime.now()) {\n return { future: true };\n }\n }\n }\n }\n return null;\n};\n","\nimport { Component, Input } from '@angular/core';\nimport { AbstractControl, FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'spx-validate-control',\n templateUrl: './spx-validate-control.component.html',\n imports: [\n FormsModule\n ]\n})\nexport class SpxValidateControlComponent {\n @Input() control!: AbstractControl;\n @Input() label: string | unknown;\n @Input() submitTried!: boolean;\n\n get maxLength() {\n return this.control.errors && this.control.errors['maxlength'];\n }\n\n get maxLengthRequiredLength() {\n return this.maxLength && this.control.errors && this.control.errors['maxlength']['requiredLength'];\n }\n\n get minLength() {\n return this.control.errors && this.control.errors['minlength'];\n }\n\n get minLengthRequiredLength() {\n return this.minLength && this.control.errors && this.control.errors['minlength']['requiredLength'];\n }\n\n get max() {\n return this.control.errors && this.control.errors['max'];\n }\n\n get maxRequiredMax() {\n return this.max && this.control.errors && this.control.errors['max']['max'];\n }\n\n get min() {\n return this.control.errors && this.control.errors['min'];\n }\n\n get minRequiredMin() {\n return this.min && this.control.errors && this.control.errors['min']['min'];\n }\n\n get pattern() {\n return this.control.errors && this.control.errors['pattern'];\n }\n\n get required() {\n return this.control.errors && this.control.errors['required'];\n }\n\n get year() {\n return this.control.errors && this.control.errors['year'];\n }\n\n get yearFuture() {\n return this.control.errors && this.control.errors['yearFuture'];\n }\n\n get month() {\n return this.control.errors && this.control.errors['month'];\n }\n\n get future() {\n return this.control.errors && this.control.errors['future'];\n }\n\n get past() {\n return this.control.errors && this.control.errors['past'];\n }\n}\n","@if (control && control.errors && (control.touched || submitTried)) {\n @if (maxLength) {\n <div>'{{ label }}' is too long, the maximum length is {{ maxLengthRequiredLength }}.</div>\n }\n @if (minLength) {\n <div>'{{ label }}' is too short, the minimum length is {{ minLengthRequiredLength }}.</div>\n }\n @if (max) {\n <div>The value of '{{ label }}' is too high, the maximum is {{ maxRequiredMax }}.</div>\n }\n @if (min) {\n <div>The value of '{{ label }}' is too low, the minimum is {{ minRequiredMin }}.</div>\n }\n @if (pattern) {\n <div>The pattern of '{{ label }}' not valid.</div>\n }\n @if (required) {\n <div>'{{ label }}' is required.</div>\n }\n @if (year) {\n <div>Please choose a year between 1991 and the current year.</div>\n }\n @if (yearFuture) {\n <div>Please choose a year between the current year and 2050.</div>\n }\n @if (month) {\n <div>Please choose a valid month (a value between 01 and 12).</div>\n }\n @if (future) {\n <div>The selected date may not be in the future.</div>\n }\n @if (past) {\n <div>The selected date may not be in the past.</div>\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-validation.mjs","sources":["../../../../projects/softpak/components/spx-validation/required.validator.ts","../../../../projects/softpak/components/spx-validation/max.validator.ts","../../../../projects/softpak/components/spx-validation/maxlength.validator.ts","../../../../projects/softpak/components/spx-validation/min.validator.ts","../../../../projects/softpak/components/spx-validation/minlength.validator.ts","../../../../projects/softpak/components/spx-validation/pattern.validator.ts","../../../../projects/softpak/components/spx-validation/year-and-month.validator.ts","../../../../projects/softpak/components/spx-validation/spx-validate-control.component.ts","../../../../projects/softpak/components/spx-validation/spx-validate-control.component.html","../../../../projects/softpak/components/spx-validation/softpak-components-spx-validation.ts"],"sourcesContent":["import { AbstractControl, ValidationErrors } from '@angular/forms';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\nexport const spxValidatorRequired = () => (control: AbstractControl): ValidationErrors | null => {\n if (\n control &&\n valuePairToValue(control.value) === undefined ||\n valuePairToValue(control.value) === null ||\n valuePairToValue(control.value) === '' ||\n valuePairToValue(control.value) === 0\n ) {\n return { required: true };\n }\n return null;\n};\n","import { AbstractControl } from '@angular/forms';\nimport { spxValidatorRequired } from './required.validator';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\nexport const spxValidatorMax = (max: number) => (control: AbstractControl): { max: { max: number; actual: number } } | null => {\n if (!spxValidatorRequired()(control)) {\n const value = parseInt(valuePairToValue(control.value).toString(), 10);\n if (!isNaN(value) && value > max) {\n return {\n max: {\n max,\n actual: value\n }\n };\n }\n }\n return null;\n};\n","import { AbstractControl } from '@angular/forms';\nimport { spxValidatorRequired } from './required.validator';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\nexport const spxValidatorMaxLength = (maximumLength: number, sanitizer?: (input: string) => string) => (control: AbstractControl): { maxlength: { requiredLength: number; actualLength: number } } | null => {\n if (!spxValidatorRequired()(control)) {\n let value = valuePairToValue(control.value);\n if (sanitizer) {\n value = sanitizer(value.toString());\n }\n if (value.toString().length > maximumLength) {\n return {\n maxlength: {\n requiredLength: maximumLength,\n actualLength: value.toString().length\n }\n };\n }\n }\n return null;\n};\n","import { AbstractControl } from '@angular/forms';\nimport { spxValidatorRequired } from './required.validator';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\nexport const spxValidatorMin = (min: number) => (control: AbstractControl): { min: { min: number; actual: number } } | null => {\n if (!spxValidatorRequired()(control)) {\n const value = parseInt(valuePairToValue(control.value).toString(), 10);\n\n if (!isNaN(value) && value < min) {\n return {\n min: {\n min,\n actual: value\n }\n };\n }\n }\n return null;\n};\n","import { AbstractControl } from '@angular/forms';\nimport { spxValidatorRequired } from './required.validator';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\nexport const spxValidatorMinLength = (minimumLength: number, sanitizer?: (input: string) => string) => (control: AbstractControl): { minlength: { requiredLength: number; actualLength: number } } | null => {\n if (!spxValidatorRequired()(control)) {\n let value = valuePairToValue(control.value);\n if (sanitizer) {\n value = sanitizer(value.toString());\n }\n if (value.toString().length < minimumLength) {\n return {\n minlength: {\n requiredLength: minimumLength,\n actualLength: value.toString().length\n }\n };\n }\n }\n return null;\n};\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\nimport { spxValidatorRequired } from './required.validator';\n\nexport const spxValidatorPattern = (matcher: RegExp) => (control: AbstractControl): ValidationErrors | null => {\n if (!spxValidatorRequired()(control)) {\n const matches = valuePairToValue(control.value).toString().match(matcher);\n if (matches === null || matches.length === 0) {\n return { pattern: true };\n }\n }\n return null;\n};\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\n\nimport { DateTime } from 'luxon';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\nimport { spxValidatorRequired } from './required.validator';\n\nexport const spxValidatorYearAndMonth = (future?: boolean) => (control: AbstractControl): ValidationErrors | null => {\n if (!spxValidatorRequired()(control)) {\n const val = valuePairToValue(control.value);\n if (val.toUpperCase() !== 'ACEP') {\n const date = DateTime.fromISO(val);\n const year = date.year;\n const month = date.month;\n if (val.length < 6) {\n return {\n minlength: {\n requiredLength: 6,\n actualLength: val.length\n }\n };\n }\n if (month < 1 || month > 12) {\n return { month: true };\n }\n if (future) {\n if (year > 2050 || year < DateTime.now().year) {\n return { yearFuture: true };\n }\n if (DateTime.now().set({ year: year, month: DateTime.now().month - 1 }).startOf('month') < DateTime.now()) {\n return { past: true };\n }\n } else {\n if (year < 1971 || year > DateTime.now().year) {\n return { year: true };\n }\n if (DateTime.now().set({ year: year, month: DateTime.now().month - 1 }).startOf('month') > DateTime.now()) {\n return { future: true };\n }\n }\n }\n }\n return null;\n};\n","\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { AbstractControl, FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'spx-validate-control',\n templateUrl: './spx-validate-control.component.html',\n imports: [\n FormsModule\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SpxValidateControlComponent {\n readonly control = input.required<AbstractControl>();\n readonly label = input<string | unknown>();\n readonly submitTried = input<boolean>();\n\n maxLength = computed(() => {\n const control = this.control();\n return control.errors && control.errors['maxlength'];\n });\n\n maxLengthRequiredLength = computed(() => {\n const control = this.control();\n return this.maxLength() && control.errors && control.errors['maxlength']['requiredLength'];\n });\n\n minLength = computed(() => {\n const control = this.control();\n return control.errors && control.errors['minlength'];\n });\n\n minLengthRequiredLength = computed(() => {\n const control = this.control();\n return this.minLength() && control.errors && control.errors['minlength']['requiredLength'];\n });\n\n max = computed(() => {\n const control = this.control();\n return control.errors && control.errors['max'];\n });\n\n maxRequiredMax = computed(() => {\n const control = this.control();\n return this.max() && control.errors && control.errors['max']['max'];\n });\n\n min = computed(() => {\n const control = this.control();\n return control.errors && control.errors['min'];\n });\n\n minRequiredMin = computed(() => {\n const control = this.control();\n return this.min() && control.errors && control.errors['min']['min'];\n });\n\n pattern = computed(() => {\n const control = this.control();\n return control.errors && control.errors['pattern'];\n });\n\n required = computed(() => {\n const control = this.control();\n return control.errors && control.errors['required'];\n });\n\n year = computed(() => {\n const control = this.control();\n return control.errors && control.errors['year'];\n });\n\n yearFuture = computed(() => {\n const control = this.control();\n return control.errors && control.errors['yearFuture'];\n });\n\n month = computed(() => {\n const control = this.control();\n return control.errors && control.errors['month'];\n });\n\n future = computed(() => {\n const control = this.control();\n return control.errors && control.errors['future'];\n });\n\n past = computed(() => {\n const control = this.control();\n return control.errors && control.errors['past'];\n });\n}\n","@if (control() && control().errors && (control().touched || submitTried())) {\n @if (maxLength()) {\n <div>'{{ label() }}' is too long, the maximum length is {{ maxLengthRequiredLength() }}.</div>\n }\n @if (minLength()) {\n <div>'{{ label() }}' is too short, the minimum length is {{ minLengthRequiredLength() }}.</div>\n }\n @if (max()) {\n <div>The value of '{{ label() }}' is too high, the maximum is {{ maxRequiredMax() }}.</div>\n }\n @if (min()) {\n <div>The value of '{{ label() }}' is too low, the minimum is {{ minRequiredMin() }}.</div>\n }\n @if (pattern()) {\n <div>The pattern of '{{ label() }}' not valid.</div>\n }\n @if (required()) {\n <div>'{{ label() }}' is required.</div>\n }\n @if (year()) {\n <div>Please choose a year between 1991 and the current year.</div>\n }\n @if (yearFuture()) {\n <div>Please choose a year between the current year and 2050.</div>\n }\n @if (month()) {\n <div>Please choose a valid month (a value between 01 and 12).</div>\n }\n @if (future()) {\n <div>The selected date may not be in the future.</div>\n }\n @if (past()) {\n <div>The selected date may not be in the past.</div>\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softpak/components",
3
- "version": "19.16.1",
3
+ "version": "19.17.0-beta.2",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "19.x.x",
@@ -33,10 +33,6 @@
33
33
  "types": "./spx-alert/index.d.ts",
34
34
  "default": "./fesm2022/softpak-components-spx-alert.mjs"
35
35
  },
36
- "./spx-app-configuration": {
37
- "types": "./spx-app-configuration/index.d.ts",
38
- "default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
39
- },
40
36
  "./spx-app-expiry": {
41
37
  "types": "./spx-app-expiry/index.d.ts",
42
38
  "default": "./fesm2022/softpak-components-spx-app-expiry.mjs"
@@ -45,26 +41,30 @@
45
41
  "types": "./spx-button/index.d.ts",
46
42
  "default": "./fesm2022/softpak-components-spx-button.mjs"
47
43
  },
44
+ "./spx-app-configuration": {
45
+ "types": "./spx-app-configuration/index.d.ts",
46
+ "default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
47
+ },
48
48
  "./spx-capitalize": {
49
49
  "types": "./spx-capitalize/index.d.ts",
50
50
  "default": "./fesm2022/softpak-components-spx-capitalize.mjs"
51
51
  },
52
- "./spx-card": {
53
- "types": "./spx-card/index.d.ts",
54
- "default": "./fesm2022/softpak-components-spx-card.mjs"
55
- },
56
52
  "./spx-change-details": {
57
53
  "types": "./spx-change-details/index.d.ts",
58
54
  "default": "./fesm2022/softpak-components-spx-change-details.mjs"
59
55
  },
60
- "./spx-check-digit": {
61
- "types": "./spx-check-digit/index.d.ts",
62
- "default": "./fesm2022/softpak-components-spx-check-digit.mjs"
56
+ "./spx-card": {
57
+ "types": "./spx-card/index.d.ts",
58
+ "default": "./fesm2022/softpak-components-spx-card.mjs"
63
59
  },
64
60
  "./spx-channel-selection": {
65
61
  "types": "./spx-channel-selection/index.d.ts",
66
62
  "default": "./fesm2022/softpak-components-spx-channel-selection.mjs"
67
63
  },
64
+ "./spx-check-digit": {
65
+ "types": "./spx-check-digit/index.d.ts",
66
+ "default": "./fesm2022/softpak-components-spx-check-digit.mjs"
67
+ },
68
68
  "./spx-confirm": {
69
69
  "types": "./spx-confirm/index.d.ts",
70
70
  "default": "./fesm2022/softpak-components-spx-confirm.mjs"
@@ -1,7 +1,7 @@
1
1
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class SpxAlertComponent {
4
- _autoCloseTimeout: any;
4
+ _autoCloseTimeout: import("@angular/core").WritableSignal<NodeJS.Timeout | null>;
5
5
  spxClose: import("@angular/core").OutputEmitterRef<void>;
6
6
  readonly spxAutoclose: import("@angular/core").InputSignal<number | undefined>;
7
7
  readonly spxCloseable: import("@angular/core").InputSignal<boolean | undefined>;
@@ -2,20 +2,20 @@ import { OnChanges } from '@angular/core';
2
2
  import { SpxAppExpiryI } from './spx-app-expiry.interface';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SpxAppExpiryComponent implements OnChanges {
5
- txtContactHelpdeskOrSoftpak: string;
6
- txtExpired: string;
7
- txtLastReminder: string;
8
- txtPleaseOpenTheAppStore: string;
9
- txtPleaseUpdate: string;
10
- txtThisVersionWillExpireSoon: string;
11
- txtUpdateAvailable: string;
12
- txtUpdateTheAppToTheLatestVersion: string;
13
- spxExpiry: SpxAppExpiryI;
14
- spxVersion: string;
15
- warning: boolean;
16
- finalWarning: boolean;
17
- expired: boolean;
5
+ readonly txtContactHelpdeskOrSoftpak: import("@angular/core").InputSignal<string>;
6
+ readonly txtExpired: import("@angular/core").InputSignal<string>;
7
+ readonly txtLastReminder: import("@angular/core").InputSignal<string>;
8
+ readonly txtPleaseOpenTheAppStore: import("@angular/core").InputSignal<string>;
9
+ readonly txtPleaseUpdate: import("@angular/core").InputSignal<string>;
10
+ readonly txtThisVersionWillExpireSoon: import("@angular/core").InputSignal<string>;
11
+ readonly txtUpdateAvailable: import("@angular/core").InputSignal<string>;
12
+ readonly txtUpdateTheAppToTheLatestVersion: import("@angular/core").InputSignal<string>;
13
+ readonly spxExpiry: import("@angular/core").InputSignal<SpxAppExpiryI>;
14
+ readonly spxVersion: import("@angular/core").InputSignal<string>;
15
+ warning: import("@angular/core").WritableSignal<boolean>;
16
+ finalWarning: import("@angular/core").WritableSignal<boolean>;
17
+ expired: import("@angular/core").WritableSignal<boolean>;
18
18
  ngOnChanges(): void;
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxAppExpiryComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxAppExpiryComponent, "spx-app-expiry", never, { "txtContactHelpdeskOrSoftpak": { "alias": "txtContactHelpdeskOrSoftpak"; "required": false; }; "txtExpired": { "alias": "txtExpired"; "required": false; }; "txtLastReminder": { "alias": "txtLastReminder"; "required": false; }; "txtPleaseOpenTheAppStore": { "alias": "txtPleaseOpenTheAppStore"; "required": false; }; "txtPleaseUpdate": { "alias": "txtPleaseUpdate"; "required": false; }; "txtThisVersionWillExpireSoon": { "alias": "txtThisVersionWillExpireSoon"; "required": false; }; "txtUpdateAvailable": { "alias": "txtUpdateAvailable"; "required": false; }; "txtUpdateTheAppToTheLatestVersion": { "alias": "txtUpdateTheAppToTheLatestVersion"; "required": false; }; "spxExpiry": { "alias": "spxExpiry"; "required": false; }; "spxVersion": { "alias": "spxVersion"; "required": false; }; }, {}, never, never, true, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxAppExpiryComponent, "spx-app-expiry", never, { "txtContactHelpdeskOrSoftpak": { "alias": "txtContactHelpdeskOrSoftpak"; "required": true; "isSignal": true; }; "txtExpired": { "alias": "txtExpired"; "required": true; "isSignal": true; }; "txtLastReminder": { "alias": "txtLastReminder"; "required": true; "isSignal": true; }; "txtPleaseOpenTheAppStore": { "alias": "txtPleaseOpenTheAppStore"; "required": true; "isSignal": true; }; "txtPleaseUpdate": { "alias": "txtPleaseUpdate"; "required": true; "isSignal": true; }; "txtThisVersionWillExpireSoon": { "alias": "txtThisVersionWillExpireSoon"; "required": true; "isSignal": true; }; "txtUpdateAvailable": { "alias": "txtUpdateAvailable"; "required": true; "isSignal": true; }; "txtUpdateTheAppToTheLatestVersion": { "alias": "txtUpdateTheAppToTheLatestVersion"; "required": true; "isSignal": true; }; "spxExpiry": { "alias": "spxExpiry"; "required": true; "isSignal": true; }; "spxVersion": { "alias": "spxVersion"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
21
21
  }
@@ -2,9 +2,6 @@ import { ElementRef } from '@angular/core';
2
2
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SpxButtonComponent {
5
- get hostClassBlock(): boolean | undefined;
6
- get hostClassHFull(): boolean | undefined;
7
- get hostClassWFull(): boolean | undefined;
8
5
  readonly spxDisabled: import("@angular/core").InputSignal<boolean>;
9
6
  readonly spxClass: import("@angular/core").InputSignal<string | undefined>;
10
7
  readonly spxClassObject: import("@angular/core").InputSignal<object | undefined>;
@@ -2,7 +2,6 @@ import { IconProp } from '@fortawesome/angular-fontawesome/types';
2
2
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SpxCardItemComponent {
5
- hFull: boolean;
6
5
  readonly icon: import("@angular/core").InputSignal<IconProp | undefined>;
7
6
  readonly iconOnly: import("@angular/core").InputSignal<boolean>;
8
7
  readonly spxLabel: import("@angular/core").InputSignal<string>;
@@ -1,16 +1,15 @@
1
- import { EventEmitter } from '@angular/core';
2
1
  import * as i0 from "@angular/core";
3
2
  export declare class SpxCardComponent {
4
- clickable: boolean;
5
- hasContent: boolean;
6
- onDetailPage: boolean;
7
- text: string;
8
- unit?: string;
9
- tableView: boolean;
10
- clicked: EventEmitter<void>;
3
+ readonly clickable: import("@angular/core").InputSignal<boolean>;
4
+ readonly hasContent: import("@angular/core").InputSignal<boolean>;
5
+ readonly onDetailPage: import("@angular/core").InputSignal<boolean>;
6
+ readonly text: import("@angular/core").InputSignal<string | undefined>;
7
+ readonly unit: import("@angular/core").InputSignal<string | undefined>;
8
+ readonly tableView: import("@angular/core").InputSignal<boolean>;
9
+ clicked: import("@angular/core").OutputEmitterRef<void>;
11
10
  constructor();
12
11
  displayValue(val: string | number): string | number;
13
12
  onClick(): void;
14
13
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxCardComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxCardComponent, "spx-card", never, { "clickable": { "alias": "clickable"; "required": false; }; "hasContent": { "alias": "hasContent"; "required": false; }; "onDetailPage": { "alias": "onDetailPage"; "required": false; }; "text": { "alias": "text"; "required": false; }; "unit": { "alias": "unit"; "required": false; }; "tableView": { "alias": "tableView"; "required": false; }; }, { "clicked": "clicked"; }, never, ["[card-header]", "[card-content-top]", "[card-content]", "[card-content-bottom]", "[card-lines]"], true, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxCardComponent, "spx-card", never, { "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "hasContent": { "alias": "hasContent"; "required": false; "isSignal": true; }; "onDetailPage": { "alias": "onDetailPage"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "tableView": { "alias": "tableView"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, ["[card-header]", "[card-content-top]", "[card-content]", "[card-content-bottom]", "[card-lines]"], true, never>;
16
15
  }
@@ -1,4 +1,3 @@
1
- import { EventEmitter } from '@angular/core';
2
1
  import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
2
  import { SpxChangeDetailsValueI } from './spx-change-details-value.interface';
4
3
  import { SpxFormI, SpxFormFieldI } from '@softpak/components/spx-form-view';
@@ -15,28 +14,28 @@ export declare const ctrlCategory = "category";
15
14
  export declare const ctrlUseCategories = "useCategories";
16
15
  export declare class SpxChangeDetailsComponent {
17
16
  readonly formBuilder: FormBuilder;
18
- formGroup: FormGroup;
19
- suggestions: any;
20
- textCategory: string;
21
- textContainerNumber: string;
22
- textContainerType: string;
23
- textCustomer: string;
24
- textLicensePlate: string;
25
- textSave: string;
26
- textTonsTested: string;
27
- spxBlurCategory: EventEmitter<SpxValuePair<string>>;
28
- spxBlurContainerType: EventEmitter<SpxValuePair<string>>;
29
- spxSearchCategory: EventEmitter<SpxValuePair<string>>;
30
- spxSearchContainerType: EventEmitter<SpxValuePair<string>>;
31
- spxSearchTonsTested: EventEmitter<SpxValuePair<string>>;
32
- submit: EventEmitter<SpxChangeDetailsValueI>;
17
+ readonly formGroup: import("@angular/core").InputSignal<FormGroup<any>>;
18
+ readonly suggestions: import("@angular/core").InputSignal<any>;
19
+ readonly textCategory: import("@angular/core").InputSignal<string>;
20
+ readonly textContainerNumber: import("@angular/core").InputSignal<string>;
21
+ readonly textContainerType: import("@angular/core").InputSignal<string>;
22
+ readonly textCustomer: import("@angular/core").InputSignal<string>;
23
+ readonly textLicensePlate: import("@angular/core").InputSignal<string>;
24
+ readonly textSave: import("@angular/core").InputSignal<string>;
25
+ readonly textTonsTested: import("@angular/core").InputSignal<string>;
26
+ spxBlurCategory: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
27
+ spxBlurContainerType: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
28
+ spxSearchCategory: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
29
+ spxSearchContainerType: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
30
+ spxSearchTonsTested: import("@angular/core").OutputEmitterRef<SpxValuePair<string>>;
31
+ submit: import("@angular/core").OutputEmitterRef<SpxChangeDetailsValueI>;
33
32
  form: SpxFormI;
34
- get ctrlCategory(): FormControl;
35
- get ctrlCustomer(): FormControl;
36
- get ctrlContainerType(): FormControl;
37
- get ctrlLicensePlate(): FormControl;
38
- get ctrlTonsTested(): FormControl;
39
- get ctrlUseCategories(): FormControl;
33
+ readonly ctrlCategory: import("@angular/core").Signal<FormControl<any>>;
34
+ readonly ctrlCustomer: import("@angular/core").Signal<FormControl<any>>;
35
+ readonly ctrlContainerType: import("@angular/core").Signal<FormControl<any>>;
36
+ readonly ctrlLicensePlate: import("@angular/core").Signal<FormControl<any>>;
37
+ readonly ctrlTonsTested: import("@angular/core").Signal<FormControl<any>>;
38
+ readonly ctrlUseCategories: import("@angular/core").Signal<FormControl<any>>;
40
39
  private subContainerType?;
41
40
  constructor(formBuilder: FormBuilder);
42
41
  createForm(): FormGroup;
@@ -54,5 +53,5 @@ export declare class SpxChangeDetailsComponent {
54
53
  onSubmit(): void;
55
54
  private listenToContainerType;
56
55
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxChangeDetailsComponent, never>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxChangeDetailsComponent, "spx-change-details", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "textCategory": { "alias": "textCategory"; "required": false; }; "textContainerNumber": { "alias": "textContainerNumber"; "required": false; }; "textContainerType": { "alias": "textContainerType"; "required": false; }; "textCustomer": { "alias": "textCustomer"; "required": false; }; "textLicensePlate": { "alias": "textLicensePlate"; "required": false; }; "textSave": { "alias": "textSave"; "required": false; }; "textTonsTested": { "alias": "textTonsTested"; "required": false; }; }, { "spxBlurCategory": "spxBlurCategory"; "spxBlurContainerType": "spxBlurContainerType"; "spxSearchCategory": "spxSearchCategory"; "spxSearchContainerType": "spxSearchContainerType"; "spxSearchTonsTested": "spxSearchTonsTested"; "submit": "submit"; }, never, never, true, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxChangeDetailsComponent, "spx-change-details", never, { "formGroup": { "alias": "formGroup"; "required": true; "isSignal": true; }; "suggestions": { "alias": "suggestions"; "required": false; "isSignal": true; }; "textCategory": { "alias": "textCategory"; "required": true; "isSignal": true; }; "textContainerNumber": { "alias": "textContainerNumber"; "required": true; "isSignal": true; }; "textContainerType": { "alias": "textContainerType"; "required": true; "isSignal": true; }; "textCustomer": { "alias": "textCustomer"; "required": true; "isSignal": true; }; "textLicensePlate": { "alias": "textLicensePlate"; "required": true; "isSignal": true; }; "textSave": { "alias": "textSave"; "required": true; "isSignal": true; }; "textTonsTested": { "alias": "textTonsTested"; "required": true; "isSignal": true; }; }, { "spxBlurCategory": "spxBlurCategory"; "spxBlurContainerType": "spxBlurContainerType"; "spxSearchCategory": "spxSearchCategory"; "spxSearchContainerType": "spxSearchContainerType"; "spxSearchTonsTested": "spxSearchTonsTested"; "submit": "submit"; }, never, never, true, never>;
58
57
  }
@@ -3,16 +3,16 @@ import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inp
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SpxCheckDigitComponent {
5
5
  private readonly formBuilder;
6
- txtCheckDigit: string;
7
- txtContainer: string;
8
- txtPrefix: string;
9
- ctrlContainerNumberRef?: SpxInputComponent;
6
+ readonly txtCheckDigit: import("@angular/core").InputSignal<string>;
7
+ readonly txtContainer: import("@angular/core").InputSignal<string>;
8
+ readonly txtPrefix: import("@angular/core").InputSignal<string>;
9
+ ctrlContainerNumberRef: import("@angular/core").Signal<SpxInputComponent | undefined>;
10
10
  inputTypeOverlayNumber: SpxInputTypeEnum;
11
11
  inputTypeText: SpxInputTypeEnum;
12
- formGroup: FormGroup;
13
- get ctrlCheckDigit(): FormControl;
14
- get ctrlContainerNumber(): FormControl;
15
- get ctrlContainerPrefix(): FormControl;
12
+ formGroup: import("@angular/core").WritableSignal<FormGroup<any> | null>;
13
+ ctrlCheckDigit: import("@angular/core").Signal<FormControl<any>>;
14
+ ctrlContainerNumber: import("@angular/core").Signal<FormControl<any>>;
15
+ ctrlContainerPrefix: import("@angular/core").Signal<FormControl<any>>;
16
16
  private inputChanges?;
17
17
  constructor(formBuilder: FormBuilder);
18
18
  ngOnInit(): void;
@@ -20,5 +20,5 @@ export declare class SpxCheckDigitComponent {
20
20
  ngOnDestroy(): void;
21
21
  getRawValidators(formControl: FormControl): any;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxCheckDigitComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxCheckDigitComponent, "spx-check-digit", never, { "txtCheckDigit": { "alias": "txtCheckDigit"; "required": false; }; "txtContainer": { "alias": "txtContainer"; "required": false; }; "txtPrefix": { "alias": "txtPrefix"; "required": false; }; }, {}, never, never, true, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxCheckDigitComponent, "spx-check-digit", never, { "txtCheckDigit": { "alias": "txtCheckDigit"; "required": true; "isSignal": true; }; "txtContainer": { "alias": "txtContainer"; "required": true; "isSignal": true; }; "txtPrefix": { "alias": "txtPrefix"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
24
24
  }
@@ -1,9 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class SpxFormSectionComponent {
3
- spxIndex?: number;
4
- spxIndexSecondary?: number;
5
- spxTitle?: string;
6
- spxShowTitle: boolean;
3
+ readonly spxIndex: import("@angular/core").InputSignal<number | undefined>;
4
+ readonly spxIndexSecondary: import("@angular/core").InputSignal<number | undefined>;
5
+ readonly spxTitle: import("@angular/core").InputSignal<string | undefined>;
6
+ readonly spxShowTitle: import("@angular/core").InputSignal<boolean>;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxFormSectionComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxFormSectionComponent, "spx-form-section", never, { "spxIndex": { "alias": "spxIndex"; "required": false; }; "spxIndexSecondary": { "alias": "spxIndexSecondary"; "required": false; }; "spxTitle": { "alias": "spxTitle"; "required": false; }; "spxShowTitle": { "alias": "spxShowTitle"; "required": false; }; }, {}, never, ["*"], true, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxFormSectionComponent, "spx-form-section", never, { "spxIndex": { "alias": "spxIndex"; "required": false; "isSignal": true; }; "spxIndexSecondary": { "alias": "spxIndexSecondary"; "required": false; "isSignal": true; }; "spxTitle": { "alias": "spxTitle"; "required": false; "isSignal": true; }; "spxShowTitle": { "alias": "spxShowTitle"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
9
9
  }
@@ -1,4 +1,4 @@
1
- import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
3
  import { SpxFormFieldI } from './spx-form-field.interface';
4
4
  import { SpxFormSectionI } from './spx-form-section.interface';
@@ -10,24 +10,23 @@ export declare const ctrlQuery = "query";
10
10
  export declare const ctrlOptions = "options";
11
11
  export declare class SpxAutocompleteSearchComponent implements OnInit, OnDestroy {
12
12
  readonly formBuilder: FormBuilder;
13
- formGroup: FormGroup;
14
- spxSuggestions: SpxValuePair<any>[];
15
- spxField: SpxFormFieldI;
16
- txtOptions: string;
17
- txtQuery: string;
18
- txtSubmit: string;
19
- spxValuePair: SpxValuePair<any>;
20
- spxCancel: EventEmitter<void>;
21
- spxSearch: EventEmitter<SpxValuePair<any>>;
22
- spxSubmit: EventEmitter<SpxValuePair<any>>;
13
+ formGroup: import("@angular/core").WritableSignal<FormGroup<any> | null>;
14
+ readonly spxSuggestions: import("@angular/core").InputSignal<SpxValuePair<any>[]>;
15
+ readonly spxField: import("@angular/core").InputSignal<SpxFormFieldI>;
16
+ readonly txtOptions: import("@angular/core").InputSignal<string>;
17
+ readonly txtQuery: import("@angular/core").InputSignal<string>;
18
+ readonly txtSubmit: import("@angular/core").InputSignal<string>;
19
+ readonly spxValuePair: import("@angular/core").InputSignal<SpxValuePair<any>>;
20
+ spxCancel: import("@angular/core").OutputEmitterRef<void>;
21
+ spxSearch: import("@angular/core").OutputEmitterRef<SpxValuePair<any>>;
22
+ spxSubmit: import("@angular/core").OutputEmitterRef<SpxValuePair<any>>;
23
23
  inputTypeRadio: SpxInputTypeEnum;
24
24
  inputTypeText: SpxInputTypeEnum;
25
25
  SpxSeverity: typeof SpxSeverityEnum;
26
26
  sections: SpxFormSectionI[];
27
- get ctrlQuery(): FormControl;
28
- get ctrlOptions(): FormControl;
29
- private subSelection?;
30
- private subQuery?;
27
+ readonly ctrlQuery: import("@angular/core").Signal<FormControl<any>>;
28
+ readonly ctrlOptions: import("@angular/core").Signal<FormControl<any>>;
29
+ private subscriptions;
31
30
  constructor(formBuilder: FormBuilder);
32
31
  ngOnInit(): void;
33
32
  ngOnDestroy(): void;
@@ -38,5 +37,5 @@ export declare class SpxAutocompleteSearchComponent implements OnInit, OnDestroy
38
37
  private listenToQuery;
39
38
  private listenToSelection;
40
39
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxAutocompleteSearchComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<SpxAutocompleteSearchComponent, "spx-autocomplete-search", never, { "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; "spxField": { "alias": "spxField"; "required": false; }; "txtOptions": { "alias": "txtOptions"; "required": false; }; "txtQuery": { "alias": "txtQuery"; "required": false; }; "txtSubmit": { "alias": "txtSubmit"; "required": false; }; "spxValuePair": { "alias": "spxValuePair"; "required": false; }; }, { "spxCancel": "spxCancel"; "spxSearch": "spxSearch"; "spxSubmit": "spxSubmit"; }, never, never, true, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxAutocompleteSearchComponent, "spx-autocomplete-search", never, { "spxSuggestions": { "alias": "spxSuggestions"; "required": false; "isSignal": true; }; "spxField": { "alias": "spxField"; "required": true; "isSignal": true; }; "txtOptions": { "alias": "txtOptions"; "required": true; "isSignal": true; }; "txtQuery": { "alias": "txtQuery"; "required": true; "isSignal": true; }; "txtSubmit": { "alias": "txtSubmit"; "required": true; "isSignal": true; }; "spxValuePair": { "alias": "spxValuePair"; "required": true; "isSignal": true; }; }, { "spxCancel": "spxCancel"; "spxSearch": "spxSearch"; "spxSubmit": "spxSubmit"; }, never, never, true, never>;
42
41
  }
@@ -22,7 +22,7 @@ export declare class SpxFormViewComponent {
22
22
  valuePair: SpxValuePair<any>;
23
23
  }>;
24
24
  spxInputs: import("@angular/core").Signal<readonly ElementRef<any>[]>;
25
- autocompleteField?: SpxFormFieldI;
25
+ autoCompleteField: import("@angular/core").WritableSignal<SpxFormFieldI | null>;
26
26
  typeAutocomplete: SpxInputTypeEnum;
27
27
  typeButton: SpxInputTypeEnum;
28
28
  typeFloat: SpxInputTypeEnum;