@softpak/components 19.24.0 → 19.25.0-beta.1
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.
- package/README.md +24 -24
- package/fesm2022/softpak-components-spx-404-page.mjs +2 -2
- package/fesm2022/softpak-components-spx-404-page.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-alert.mjs +2 -2
- package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-app-configuration.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-app-expiry.mjs +2 -2
- package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-button.mjs +2 -2
- package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-capitalize.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-card.mjs +8 -8
- package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-change-details.mjs +10 -8
- package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-channel-selection.mjs +52 -52
- package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-check-digit.mjs +2 -2
- package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-confirm.mjs +4 -4
- package/fesm2022/softpak-components-spx-confirm.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-section.mjs +2 -2
- package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-view.mjs +4 -4
- package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-helpers.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-inputs.mjs +20 -20
- package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-navigation.mjs +6 -6
- package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-number-check.mjs +2 -2
- package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-pagination.mjs +2 -2
- package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-patch.mjs +2 -2
- package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-pipes.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-progress-bar.mjs +2 -2
- package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-spinner.mjs +2 -2
- package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-stock-info.mjs +2 -2
- package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-storage.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-suggestion.mjs +2 -2
- package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-tabs.mjs +19 -7
- package/fesm2022/softpak-components-spx-tabs.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-toaster.mjs +2 -2
- package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-toggle.mjs +2 -2
- package/fesm2022/softpak-components-spx-toggle.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-translate.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-update.mjs +196 -50
- package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-validation.mjs +2 -2
- package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
- package/package.json +13 -10
- package/spx-tabs/public-api.d.ts +2 -0
- package/spx-tabs/src/spx-tabs.component.d.ts +2 -1
- package/spx-update/public-api.d.ts +6 -1
- package/spx-update/store/spx-update-check-v2/spx-update-check.actions.d.ts +28 -0
- package/spx-update/store/spx-update-check-v2/spx-update-check.effects.d.ts +14 -0
- package/spx-update/store/spx-update-check-v2/spx-update-check.initial.d.ts +2 -0
- package/spx-update/store/spx-update-check-v2/spx-update-check.reducer.d.ts +10 -0
- package/spx-update/store/spx-update-check-v2/spx-update-check.state.d.ts +5 -0
- package/spx-update/store/spx-update-pending/spx-update-pending.actions.d.ts +1 -1
|
@@ -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';\r\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\r\n\r\nexport const spxValidatorRequired = () => (control: AbstractControl): ValidationErrors | null => {\r\n if (\r\n control &&\r\n valuePairToValue(control.value) === undefined ||\r\n valuePairToValue(control.value) === null ||\r\n valuePairToValue(control.value) === '' ||\r\n valuePairToValue(control.value) === 0\r\n ) {\r\n return { required: true };\r\n }\r\n return null;\r\n};\r\n","import { AbstractControl } from '@angular/forms';\r\nimport { spxValidatorRequired } from './required.validator';\r\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\r\n\r\nexport const spxValidatorMax = (max: number) => (control: AbstractControl): { max: { max: number; actual: number } } | null => {\r\n if (!spxValidatorRequired()(control)) {\r\n const value = parseInt(valuePairToValue(control.value).toString(), 10);\r\n if (!isNaN(value) && value > max) {\r\n return {\r\n max: {\r\n max,\r\n actual: value\r\n }\r\n };\r\n }\r\n }\r\n return null;\r\n};\r\n","import { AbstractControl } from '@angular/forms';\r\nimport { spxValidatorRequired } from './required.validator';\r\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\r\n\r\nexport const spxValidatorMaxLength = (maximumLength: number, sanitizer?: (input: string) => string) => (control: AbstractControl): { maxlength: { requiredLength: number; actualLength: number } } | null => {\r\n if (!spxValidatorRequired()(control)) {\r\n let value = valuePairToValue(control.value);\r\n if (sanitizer) {\r\n value = sanitizer(value.toString());\r\n }\r\n if (value.toString().length > maximumLength) {\r\n return {\r\n maxlength: {\r\n requiredLength: maximumLength,\r\n actualLength: value.toString().length\r\n }\r\n };\r\n }\r\n }\r\n return null;\r\n};\r\n","import { AbstractControl } from '@angular/forms';\r\nimport { spxValidatorRequired } from './required.validator';\r\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\r\n\r\nexport const spxValidatorMin = (min: number) => (control: AbstractControl): { min: { min: number; actual: number } } | null => {\r\n if (!spxValidatorRequired()(control)) {\r\n const value = parseInt(valuePairToValue(control.value).toString(), 10);\r\n\r\n if (!isNaN(value) && value < min) {\r\n return {\r\n min: {\r\n min,\r\n actual: value\r\n }\r\n };\r\n }\r\n }\r\n return null;\r\n};\r\n","import { AbstractControl } from '@angular/forms';\r\nimport { spxValidatorRequired } from './required.validator';\r\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\r\n\r\nexport const spxValidatorMinLength = (minimumLength: number, sanitizer?: (input: string) => string) => (control: AbstractControl): { minlength: { requiredLength: number; actualLength: number } } | null => {\r\n if (!spxValidatorRequired()(control)) {\r\n let value = valuePairToValue(control.value);\r\n if (sanitizer) {\r\n value = sanitizer(value.toString());\r\n }\r\n if (value.toString().length < minimumLength) {\r\n return {\r\n minlength: {\r\n requiredLength: minimumLength,\r\n actualLength: value.toString().length\r\n }\r\n };\r\n }\r\n }\r\n return null;\r\n};\r\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\r\nimport { spxValidatorRequired } from './required.validator';\r\n\r\nexport const spxValidatorPattern = (matcher: RegExp) => (control: AbstractControl): ValidationErrors | null => {\r\n if (!spxValidatorRequired()(control)) {\r\n const matches = valuePairToValue(control.value).toString().match(matcher);\r\n if (matches === null || matches.length === 0) {\r\n return { pattern: true };\r\n }\r\n }\r\n return null;\r\n};\r\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\r\n\r\nimport { DateTime } from 'luxon';\r\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\r\nimport { spxValidatorRequired } from './required.validator';\r\n\r\nexport const spxValidatorYearAndMonth = (future?: boolean) => (control: AbstractControl): ValidationErrors | null => {\r\n if (!spxValidatorRequired()(control)) {\r\n const val = valuePairToValue(control.value);\r\n if (val.toUpperCase() !== 'ACEP') {\r\n const date = DateTime.fromISO(val);\r\n const year = date.year;\r\n const month = date.month;\r\n if (val.length < 6) {\r\n return {\r\n minlength: {\r\n requiredLength: 6,\r\n actualLength: val.length\r\n }\r\n };\r\n }\r\n if (month < 1 || month > 12) {\r\n return { month: true };\r\n }\r\n if (future) {\r\n if (year > 2050 || year < DateTime.now().year) {\r\n return { yearFuture: true };\r\n }\r\n if (DateTime.now().set({ year: year, month: DateTime.now().month - 1 }).startOf('month') < DateTime.now()) {\r\n return { past: true };\r\n }\r\n } else {\r\n if (year < 1971 || year > DateTime.now().year) {\r\n return { year: true };\r\n }\r\n if (DateTime.now().set({ year: year, month: DateTime.now().month - 1 }).startOf('month') > DateTime.now()) {\r\n return { future: true };\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n};\r\n","\r\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\r\nimport { AbstractControl, FormsModule, ValidationErrors } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'spx-validate-control',\r\n templateUrl: './spx-validate-control.component.html',\r\n imports: [\r\n FormsModule,\r\n ],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpxValidateControlComponent {\r\n readonly control = input.required<AbstractControl>();\r\n readonly label = input<string | unknown>();\r\n readonly submitTried = input<boolean>();\r\n readonly errors = input.required<ValidationErrors | null>();\r\n readonly touched = input.required<boolean>();\r\n\r\n maxLength = computed(() => {\r\n return this.errors() && this.errors()!['maxlength'];\r\n });\r\n\r\n maxLengthRequiredLength = computed(() => {\r\n return this.maxLength() && this.errors() && this.errors()!['maxlength']['requiredLength'];\r\n });\r\n\r\n minLength = computed(() => {\r\n return this.errors() && this.errors()!['minlength'];\r\n });\r\n\r\n minLengthRequiredLength = computed(() => {\r\n return this.minLength() && this.errors() && this.errors()!['minlength']['requiredLength'];\r\n });\r\n\r\n max = computed(() => {\r\n return this.errors() && this.errors()!['max'];\r\n });\r\n\r\n maxRequiredMax = computed(() => {\r\n return this.max() && this.errors() && this.errors()!['max']['max'];\r\n });\r\n\r\n min = computed(() => {\r\n return this.errors() && this.errors()!['min'];\r\n });\r\n\r\n minRequiredMin = computed(() => {\r\n return this.min() && this.errors() && this.errors()!['min']['min'];\r\n });\r\n\r\n pattern = computed(() => {\r\n return this.errors() && this.errors()!['pattern'];\r\n });\r\n\r\n required = computed(() => {\r\n return this.errors() && this.errors()!['required'];\r\n });\r\n\r\n year = computed(() => {\r\n return this.errors() && this.errors()!['year'];\r\n });\r\n\r\n yearFuture = computed(() => {\r\n return this.errors() && this.errors()!['yearFuture'];\r\n });\r\n\r\n month = computed(() => {\r\n return this.errors() && this.errors()!['month'];\r\n });\r\n\r\n future = computed(() => {\r\n return this.errors() && this.errors()!['future'];\r\n });\r\n\r\n past = computed(() => {\r\n return this.errors() && this.errors()!['past'];\r\n });\r\n}\r\n","@if (control() && errors() && (touched() || submitTried())) {\r\n @if (maxLength()) {\r\n <div>'{{ label() }}' is too long, the maximum length is {{ maxLengthRequiredLength() }}.</div>\r\n }\r\n @if (minLength()) {\r\n <div>'{{ label() }}' is too short, the minimum length is {{ minLengthRequiredLength() }}.</div>\r\n }\r\n @if (max()) {\r\n <div>The value of '{{ label() }}' is too high, the maximum is {{ maxRequiredMax() }}.</div>\r\n }\r\n @if (min()) {\r\n <div>The value of '{{ label() }}' is too low, the minimum is {{ minRequiredMin() }}.</div>\r\n }\r\n @if (pattern()) {\r\n <div>The pattern of '{{ label() }}' not valid.</div>\r\n }\r\n @if (required()) {\r\n <div>'{{ label() }}' is required.</div>\r\n }\r\n @if (year()) {\r\n <div>Please choose a year between 1991 and the current year.</div>\r\n }\r\n @if (yearFuture()) {\r\n <div>Please choose a year between the current year and 2050.</div>\r\n }\r\n @if (month()) {\r\n <div>Please choose a valid month (a value between 01 and 12).</div>\r\n }\r\n @if (future()) {\r\n <div>The selected date may not be in the future.</div>\r\n }\r\n @if (past()) {\r\n <div>The selected date may not be in the past.</div>\r\n }\r\n}\r\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, ValidationErrors } 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 readonly errors = input.required<ValidationErrors | null>();\n readonly touched = input.required<boolean>();\n\n maxLength = computed(() => {\n return this.errors() && this.errors()!['maxlength'];\n });\n\n maxLengthRequiredLength = computed(() => {\n return this.maxLength() && this.errors() && this.errors()!['maxlength']['requiredLength'];\n });\n\n minLength = computed(() => {\n return this.errors() && this.errors()!['minlength'];\n });\n\n minLengthRequiredLength = computed(() => {\n return this.minLength() && this.errors() && this.errors()!['minlength']['requiredLength'];\n });\n\n max = computed(() => {\n return this.errors() && this.errors()!['max'];\n });\n\n maxRequiredMax = computed(() => {\n return this.max() && this.errors() && this.errors()!['max']['max'];\n });\n\n min = computed(() => {\n return this.errors() && this.errors()!['min'];\n });\n\n minRequiredMin = computed(() => {\n return this.min() && this.errors() && this.errors()!['min']['min'];\n });\n\n pattern = computed(() => {\n return this.errors() && this.errors()!['pattern'];\n });\n\n required = computed(() => {\n return this.errors() && this.errors()!['required'];\n });\n\n year = computed(() => {\n return this.errors() && this.errors()!['year'];\n });\n\n yearFuture = computed(() => {\n return this.errors() && this.errors()!['yearFuture'];\n });\n\n month = computed(() => {\n return this.errors() && this.errors()!['month'];\n });\n\n future = computed(() => {\n return this.errors() && this.errors()!['future'];\n });\n\n past = computed(() => {\n return this.errors() && this.errors()!['past'];\n });\n}\n","@if (control() && errors() && (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","/**\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,13 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softpak/components",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.25.0-beta.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "19.x.x",
|
|
7
7
|
"@angular/core": "19.x.x",
|
|
8
8
|
"@capacitor/app": "6.x.x || 7.x.x",
|
|
9
9
|
"@capacitor/device": "6.x.x || 7.x.x",
|
|
10
|
-
"@capacitor/live-updates": "0.3.x || 0.4.x",
|
|
11
10
|
"@fortawesome/free-solid-svg-icons": "6.x.x",
|
|
12
11
|
"@ionic/angular": "8.x.x",
|
|
13
12
|
"@ngrx/effects": "19.x.x",
|
|
@@ -15,6 +14,10 @@
|
|
|
15
14
|
"@ngx-translate/core": "16.x.x",
|
|
16
15
|
"@sentry/angular": "9.x.x"
|
|
17
16
|
},
|
|
17
|
+
"optionalDependencies": {
|
|
18
|
+
"@capacitor/live-updates": "0.3.x || 0.4.x",
|
|
19
|
+
"@capawesome/capacitor-live-update": "7.2.x"
|
|
20
|
+
},
|
|
18
21
|
"dependencies": {
|
|
19
22
|
"tslib": "^2.3.0"
|
|
20
23
|
},
|
|
@@ -37,22 +40,22 @@
|
|
|
37
40
|
"types": "./spx-alert/index.d.ts",
|
|
38
41
|
"default": "./fesm2022/softpak-components-spx-alert.mjs"
|
|
39
42
|
},
|
|
40
|
-
"./spx-app-configuration": {
|
|
41
|
-
"types": "./spx-app-configuration/index.d.ts",
|
|
42
|
-
"default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
|
|
43
|
-
},
|
|
44
|
-
"./spx-app-expiry": {
|
|
45
|
-
"types": "./spx-app-expiry/index.d.ts",
|
|
46
|
-
"default": "./fesm2022/softpak-components-spx-app-expiry.mjs"
|
|
47
|
-
},
|
|
48
43
|
"./spx-button": {
|
|
49
44
|
"types": "./spx-button/index.d.ts",
|
|
50
45
|
"default": "./fesm2022/softpak-components-spx-button.mjs"
|
|
51
46
|
},
|
|
47
|
+
"./spx-app-configuration": {
|
|
48
|
+
"types": "./spx-app-configuration/index.d.ts",
|
|
49
|
+
"default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
|
|
50
|
+
},
|
|
52
51
|
"./spx-capitalize": {
|
|
53
52
|
"types": "./spx-capitalize/index.d.ts",
|
|
54
53
|
"default": "./fesm2022/softpak-components-spx-capitalize.mjs"
|
|
55
54
|
},
|
|
55
|
+
"./spx-app-expiry": {
|
|
56
|
+
"types": "./spx-app-expiry/index.d.ts",
|
|
57
|
+
"default": "./fesm2022/softpak-components-spx-app-expiry.mjs"
|
|
58
|
+
},
|
|
56
59
|
"./spx-card": {
|
|
57
60
|
"types": "./spx-card/index.d.ts",
|
|
58
61
|
"default": "./fesm2022/softpak-components-spx-card.mjs"
|
package/spx-tabs/public-api.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare class SpxTabsComponent implements OnInit {
|
|
|
6
6
|
private readonly store;
|
|
7
7
|
navItems: import("@angular/core").WritableSignal<SpxNavigationItemI[]>;
|
|
8
8
|
showShortcuts: import("@angular/core").WritableSignal<boolean>;
|
|
9
|
+
optionalNavItemBool: import("@angular/core").InputSignal<boolean>;
|
|
9
10
|
private subscription;
|
|
10
11
|
constructor(store: Store);
|
|
11
12
|
ngOnInit(): void;
|
|
@@ -13,5 +14,5 @@ export declare class SpxTabsComponent implements OnInit {
|
|
|
13
14
|
private listenToCtrlState;
|
|
14
15
|
private listenToMenuState;
|
|
15
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpxTabsComponent, never>;
|
|
16
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpxTabsComponent, "spx-tabs", never, {}, {}, never, never, true, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpxTabsComponent, "spx-tabs", never, { "optionalNavItemBool": { "alias": "optionalNavItemBool"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
17
18
|
}
|
|
@@ -5,7 +5,12 @@ export * as spxUpdateCheckActions from './store/spx-update-check/spx-update-chec
|
|
|
5
5
|
export * as spxUpdateCheckEffects from './store/spx-update-check/spx-update-check.effects';
|
|
6
6
|
export * as spxUpdateCheckInitial from './store/spx-update-check/spx-update-check.initial';
|
|
7
7
|
export * as spxUpdateCheckReducer from './store/spx-update-check/spx-update-check.reducer';
|
|
8
|
-
export * as spxUpdateCheckState from './store/spx-update-check/spx-update-check.state';
|
|
8
|
+
export * as spxUpdateCheckState from './store/spx-update-check-v2/spx-update-check.state';
|
|
9
|
+
export * as spxUpdateCheckV2Actions from './store/spx-update-check-v2/spx-update-check.actions';
|
|
10
|
+
export * as spxUpdateCheckV2Effects from './store/spx-update-check-v2/spx-update-check.effects';
|
|
11
|
+
export * as spxUpdateCheckV2Initial from './store/spx-update-check-v2/spx-update-check.initial';
|
|
12
|
+
export * as spxUpdateCheckV2Reducer from './store/spx-update-check-v2/spx-update-check.reducer';
|
|
13
|
+
export * as spxUpdateCheckV2State from './store/spx-update-check/spx-update-check.state';
|
|
9
14
|
export * as spxUpdatePendingActions from './store/spx-update-pending/spx-update-pending.actions';
|
|
10
15
|
export * as spxUpdatePendingEffects from './store/spx-update-pending/spx-update-pending.effects';
|
|
11
16
|
export * as spxUpdatePendingInitial from './store/spx-update-pending/spx-update-pending.initial';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare const anUpdateIsReady: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] An update is ready", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] An update is ready">>;
|
|
2
|
+
export declare const clearError: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] Clear error", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Clear error">>;
|
|
3
|
+
export declare const checkFailed: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] Error happened", (props: {
|
|
4
|
+
startUpdateAgainAfterTimeout?: boolean;
|
|
5
|
+
}) => {
|
|
6
|
+
startUpdateAgainAfterTimeout?: boolean;
|
|
7
|
+
} & import("@ngrx/store").Action<"[SPX / Update Check V2] Error happened">>;
|
|
8
|
+
export declare const initialize: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] Initialize", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Initialize">>;
|
|
9
|
+
export declare const noUpdateWasFound: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] No update was found", (props: {
|
|
10
|
+
startUpdateAgainAfterTimeout?: boolean;
|
|
11
|
+
}) => {
|
|
12
|
+
startUpdateAgainAfterTimeout?: boolean;
|
|
13
|
+
} & import("@ngrx/store").Action<"[SPX / Update Check V2] No update was found">>;
|
|
14
|
+
export declare const notAvailableOnWeb: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] Not available on web", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Not available on web">>;
|
|
15
|
+
export declare const runCheck: import("@ngrx/store").ActionCreator<"[SPX / Update Check V2] Run", (props: {
|
|
16
|
+
forceWaitForUpdate?: boolean;
|
|
17
|
+
}) => {
|
|
18
|
+
forceWaitForUpdate?: boolean;
|
|
19
|
+
} & import("@ngrx/store").Action<"[SPX / Update Check V2] Run">>;
|
|
20
|
+
declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] An update is ready">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Clear error">) | ({
|
|
21
|
+
startUpdateAgainAfterTimeout?: boolean;
|
|
22
|
+
} & import("@ngrx/store").Action<"[SPX / Update Check V2] Error happened">) | ({
|
|
23
|
+
startUpdateAgainAfterTimeout?: boolean;
|
|
24
|
+
} & import("@ngrx/store").Action<"[SPX / Update Check V2] No update was found">) | ({
|
|
25
|
+
forceWaitForUpdate?: boolean;
|
|
26
|
+
} & import("@ngrx/store").Action<"[SPX / Update Check V2] Run">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Not available on web">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Check V2] Initialize">);
|
|
27
|
+
export type Actions = typeof all;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Actions } from '@ngrx/effects';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class Effects {
|
|
5
|
+
private readonly actions$;
|
|
6
|
+
afterInitialize$: Observable<any>;
|
|
7
|
+
onRun$: Observable<any>;
|
|
8
|
+
constructor(actions$: Actions);
|
|
9
|
+
whenAndUpdateIsReady$: Observable<any>;
|
|
10
|
+
whenCheckHasFailed$: Observable<any>;
|
|
11
|
+
whenNoUpdateWasFound$: Observable<any>;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Effects, never>;
|
|
13
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<Effects>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StateI } from './spx-update-check.state';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
name: "spxUpdateCheck";
|
|
4
|
+
reducer: import("@ngrx/store").ActionReducer<StateI, import("@ngrx/store").Action<string>>;
|
|
5
|
+
selectSpxUpdateCheckState: import("@ngrx/store").MemoizedSelector<Record<string, any>, StateI, (featureState: StateI) => StateI>;
|
|
6
|
+
selectForceWaitForUpdate: import("@ngrx/store").MemoizedSelector<Record<string, any>, boolean, (featureState: StateI) => boolean>;
|
|
7
|
+
selectLastCheck: import("@ngrx/store").MemoizedSelector<Record<string, any>, string | null, (featureState: StateI) => string | null>;
|
|
8
|
+
selectShowError: import("@ngrx/store").MemoizedSelector<Record<string, any>, boolean, (featureState: StateI) => boolean>;
|
|
9
|
+
};
|
|
10
|
+
export default _default;
|
|
@@ -3,6 +3,6 @@ export declare const hasBeenDownloaded: import("@ngrx/store").ActionCreator<"[SP
|
|
|
3
3
|
export declare const hasBeenInstalled: import("@ngrx/store").ActionCreator<"[SPX / Update Pending] Has been installed", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Has been installed">>;
|
|
4
4
|
export declare const postpone: import("@ngrx/store").ActionCreator<"[SPX / Update Pending] Postpone", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Postpone">>;
|
|
5
5
|
export declare const postponeExpired: import("@ngrx/store").ActionCreator<"[SPX / Update Pending] Postpone expired", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Postpone expired">>;
|
|
6
|
-
declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending]
|
|
6
|
+
declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Has been downloaded">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Accept update">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Has been installed">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Postpone">) | (Record<string, unknown> & import("@ngrx/store").Action<"[SPX / Update Pending] Postpone expired">);
|
|
7
7
|
export type Actions = typeof all;
|
|
8
8
|
export {};
|