@softpak/components 20.1.0 → 20.2.0
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 +4 -4
- package/fesm2022/softpak-components-spx-404-page.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-alert.mjs +4 -4
- 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 +4 -4
- package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-button.mjs +4 -4
- package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-capitalize.mjs +3 -3
- package/fesm2022/softpak-components-spx-capitalize.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-card.mjs +16 -16
- package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-change-details.mjs +4 -4
- package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-channel-selection.mjs +64 -238
- package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-check-digit.mjs +4 -4
- package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-confirm.mjs +11 -11
- package/fesm2022/softpak-components-spx-confirm.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-section.mjs +4 -4
- package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-view.mjs +8 -8
- 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 +44 -44
- package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-navigation.mjs +12 -12
- package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-number-check.mjs +4 -4
- package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-pagination.mjs +4 -4
- package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-patch.mjs +4 -4
- package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-pipes.mjs +3 -3
- package/fesm2022/softpak-components-spx-pipes.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-progress-bar.mjs +4 -4
- package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-spinner.mjs +4 -4
- package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-stock-info.mjs +4 -4
- package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-storage.mjs +1 -0
- package/fesm2022/softpak-components-spx-storage.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-suggestion.mjs +4 -4
- package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-tabs.mjs +4 -4
- package/fesm2022/softpak-components-spx-tabs.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-toaster.mjs +4 -4
- package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-toggle.mjs +4 -4
- 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 +14 -14
- package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-validation-messages.mjs +4 -4
- package/fesm2022/softpak-components-spx-validation-messages.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-validation.mjs +4 -4
- package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-welcome.mjs +135 -0
- package/fesm2022/softpak-components-spx-welcome.mjs.map +1 -0
- package/package.json +39 -35
- package/spx-app-configuration/index.d.ts +7 -2
- package/spx-channel-selection/index.d.ts +22 -81
- package/spx-storage/index.d.ts +1 -0
- package/spx-welcome/index.d.ts +37 -0
|
@@ -13,12 +13,12 @@ class SpxHomeTilesComponent {
|
|
|
13
13
|
constructor() {
|
|
14
14
|
this.spxCols = input(2);
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxHomeTilesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: SpxHomeTilesComponent, isStandalone: true, selector: "spx-home-tiles", inputs: { spxCols: { classPropertyName: "spxCols", publicName: "spxCols", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"mx-auto max-w-lg grid gap-3\"\r\n [class.grid-cols-1]=\"this.spxCols() === 1\"\r\n [class.grid-cols-2]=\"this.spxCols() === 2\"><ng-content></ng-content></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxHomeTilesComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'spx-home-tiles', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mx-auto max-w-lg grid gap-3\"\n [class.grid-cols-1]=\"this.spxCols() === 1\"\n [class.grid-cols-2]=\"this.spxCols() === 2\"><ng-content></ng-content></div>" }]
|
|
21
|
+
args: [{ selector: 'spx-home-tiles', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mx-auto max-w-lg grid gap-3\"\r\n [class.grid-cols-1]=\"this.spxCols() === 1\"\r\n [class.grid-cols-2]=\"this.spxCols() === 2\"><ng-content></ng-content></div>" }]
|
|
22
22
|
}] });
|
|
23
23
|
|
|
24
24
|
class SpxHomeTileComponent {
|
|
@@ -32,14 +32,14 @@ class SpxHomeTileComponent {
|
|
|
32
32
|
setFocus() {
|
|
33
33
|
this.buttonRef()?.nativeElement.focus();
|
|
34
34
|
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxHomeTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: SpxHomeTileComponent, isStandalone: true, selector: "spx-home-tile", inputs: { spxAutofocus: { classPropertyName: "spxAutofocus", publicName: "spxAutofocus", isSignal: true, isRequired: false, transformFunction: null }, spxClass: { classPropertyName: "spxClass", publicName: "spxClass", isSignal: true, isRequired: false, transformFunction: null }, spxSubtitle: { classPropertyName: "spxSubtitle", publicName: "spxSubtitle", isSignal: true, isRequired: false, transformFunction: null }, spxTitle: { classPropertyName: "spxTitle", publicName: "spxTitle", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["button"], descendants: true, isSignal: true }], ngImport: i0, template: "<button #button\r\n class=\"border border-transparent flex flex-col w-full px-4 py-2 relative rounded text-center focus:outline-none focus:ring-2 focus:ring-offset-2\"\r\n type=\"button\"\r\n part=\"button\"\r\n [attr.autofocus]=\"this.spxAutofocus() ? this.spxAutofocus() : undefined\"\r\n [class.bg-blue-600]=\"!this.spxClass()\"\r\n [class.focus:ring-blue-500]=\"!this.spxClass()\"\r\n [class.hover:bg-blue-800]=\"!this.spxClass()\"\r\n [class.text-white]=\"!this.spxClass()\"\r\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\">\r\n <div class=\"flex gap-5 items-center\">\r\n <div class=\"fal my-2 self-center text-xl w-5\"><ng-content></ng-content></div>\r\n <div class=\"grow flex flex-col text-left\">\r\n <div class=\"text-lg font-bold text-ellipsis overflow-hidden\">{{ this.spxTitle() }}</div>\r\n @if (this.spxSubtitle()) {\r\n <div class=\"text-sm opacity-70 text-ellipsis overflow-hidden\">{{ this.spxSubtitle() }}</div>\r\n }\r\n </div>\r\n </div>\r\n </button>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxHomeTileComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
40
|
args: [{ selector: 'spx-home-tile', imports: [
|
|
41
41
|
NgClass
|
|
42
|
-
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button #button\n class=\"border border-transparent flex flex-col w-full px-4 py-2 relative rounded text-center focus:outline-none focus:ring-2 focus:ring-offset-2\"\n type=\"button\"\n part=\"button\"\n [attr.autofocus]=\"this.spxAutofocus() ? this.spxAutofocus() : undefined\"\n [class.bg-blue-600]=\"!this.spxClass()\"\n [class.focus:ring-blue-500]=\"!this.spxClass()\"\n [class.hover:bg-blue-800]=\"!this.spxClass()\"\n [class.text-white]=\"!this.spxClass()\"\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\">\n <div class=\"flex gap-5 items-center\">\n <div class=\"fal my-2 self-center text-xl w-5\"><ng-content></ng-content></div>\n <div class=\"grow flex flex-col text-left\">\n <div class=\"text-lg font-bold text-ellipsis overflow-hidden\">{{ this.spxTitle() }}</div>\n @if (this.spxSubtitle()) {\n <div class=\"text-sm opacity-70 text-ellipsis overflow-hidden\">{{ this.spxSubtitle() }}</div>\n }\n </div>\n </div>\n </button>" }]
|
|
42
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button #button\r\n class=\"border border-transparent flex flex-col w-full px-4 py-2 relative rounded text-center focus:outline-none focus:ring-2 focus:ring-offset-2\"\r\n type=\"button\"\r\n part=\"button\"\r\n [attr.autofocus]=\"this.spxAutofocus() ? this.spxAutofocus() : undefined\"\r\n [class.bg-blue-600]=\"!this.spxClass()\"\r\n [class.focus:ring-blue-500]=\"!this.spxClass()\"\r\n [class.hover:bg-blue-800]=\"!this.spxClass()\"\r\n [class.text-white]=\"!this.spxClass()\"\r\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\">\r\n <div class=\"flex gap-5 items-center\">\r\n <div class=\"fal my-2 self-center text-xl w-5\"><ng-content></ng-content></div>\r\n <div class=\"grow flex flex-col text-left\">\r\n <div class=\"text-lg font-bold text-ellipsis overflow-hidden\">{{ this.spxTitle() }}</div>\r\n @if (this.spxSubtitle()) {\r\n <div class=\"text-sm opacity-70 text-ellipsis overflow-hidden\">{{ this.spxSubtitle() }}</div>\r\n }\r\n </div>\r\n </div>\r\n </button>" }]
|
|
43
43
|
}] });
|
|
44
44
|
|
|
45
45
|
const addPages = createAction('[SPX / Navigation] Add items', props());
|
|
@@ -120,10 +120,10 @@ class SpxNavigationComponent {
|
|
|
120
120
|
onNavigate(link) {
|
|
121
121
|
this.spxClick.emit(link);
|
|
122
122
|
}
|
|
123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
|
124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.
|
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxNavigationComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: SpxNavigationComponent, isStandalone: true, selector: "spx-navigation", inputs: { spxOverwriteNavItems: { classPropertyName: "spxOverwriteNavItems", publicName: "spxOverwriteNavItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { spxClick: "spxClick" }, viewQueries: [{ propertyName: "tiles", predicate: ["tiles"], descendants: true, isSignal: true }], ngImport: i0, template: "<spx-home-tiles [spxCols]=\"1\">\r\n @if (spxOverwriteNavItems() && spxOverwriteNavItems()?.length) {\r\n @for (item of spxOverwriteNavItems(); track item; let i = $index) {\r\n <spx-home-tile #tiles (click)=\"item.onClick ? item.onClick() : (item.routerLink ? onNavigate(item.routerLink) : null)\"\r\n [spxAutofocus]=\"i === 0\"\r\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\r\n [spxTitle]=\"item.title | translate | capitalize\"\r\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\r\n <fa-icon [icon]=\"item.icon\"></fa-icon>\r\n </spx-home-tile>\r\n }\r\n }\r\n @else {\r\n @for (item of navItems(); track item; let i = $index) {\r\n <spx-home-tile #tiles (click)=\"item.onClick ? item.onClick() : (item.routerLink ? onNavigate(item.routerLink) : null)\"\r\n [spxAutofocus]=\"i === 0\"\r\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\r\n [spxTitle]=\"item.title | translate | capitalize\"\r\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\r\n <fa-icon [icon]=\"item.icon\"></fa-icon>\r\n </spx-home-tile>\r\n }\r\n }\r\n</spx-home-tiles>\r\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxHomeTilesComponent, selector: "spx-home-tiles", inputs: ["spxCols"] }, { kind: "component", type: SpxHomeTileComponent, selector: "spx-home-tile", inputs: ["spxAutofocus", "spxClass", "spxSubtitle", "spxTitle"] }] }); }
|
|
125
125
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxNavigationComponent, decorators: [{
|
|
127
127
|
type: Component,
|
|
128
128
|
args: [{ selector: 'spx-navigation', imports: [
|
|
129
129
|
TranslateModule,
|
|
@@ -131,7 +131,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.1", ngImpor
|
|
|
131
131
|
SpxCapitalizePipe,
|
|
132
132
|
SpxHomeTilesComponent,
|
|
133
133
|
SpxHomeTileComponent
|
|
134
|
-
], template: "<spx-home-tiles [spxCols]=\"1\">\n @if (spxOverwriteNavItems() && spxOverwriteNavItems()?.length) {\n @for (item of spxOverwriteNavItems(); track item; let i = $index) {\n <spx-home-tile #tiles (click)=\"item.onClick ? item.onClick() : (item.routerLink ? onNavigate(item.routerLink) : null)\"\n [spxAutofocus]=\"i === 0\"\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\n [spxTitle]=\"item.title | translate | capitalize\"\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\n <fa-icon [icon]=\"item.icon\"></fa-icon>\n </spx-home-tile>\n }\n }\n @else {\n @for (item of navItems(); track item; let i = $index) {\n <spx-home-tile #tiles (click)=\"item.onClick ? item.onClick() : (item.routerLink ? onNavigate(item.routerLink) : null)\"\n [spxAutofocus]=\"i === 0\"\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\n [spxTitle]=\"item.title | translate | capitalize\"\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\n <fa-icon [icon]=\"item.icon\"></fa-icon>\n </spx-home-tile>\n }\n }\n</spx-home-tiles>\n" }]
|
|
134
|
+
], template: "<spx-home-tiles [spxCols]=\"1\">\r\n @if (spxOverwriteNavItems() && spxOverwriteNavItems()?.length) {\r\n @for (item of spxOverwriteNavItems(); track item; let i = $index) {\r\n <spx-home-tile #tiles (click)=\"item.onClick ? item.onClick() : (item.routerLink ? onNavigate(item.routerLink) : null)\"\r\n [spxAutofocus]=\"i === 0\"\r\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\r\n [spxTitle]=\"item.title | translate | capitalize\"\r\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\r\n <fa-icon [icon]=\"item.icon\"></fa-icon>\r\n </spx-home-tile>\r\n }\r\n }\r\n @else {\r\n @for (item of navItems(); track item; let i = $index) {\r\n <spx-home-tile #tiles (click)=\"item.onClick ? item.onClick() : (item.routerLink ? onNavigate(item.routerLink) : null)\"\r\n [spxAutofocus]=\"i === 0\"\r\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\r\n [spxTitle]=\"item.title | translate | capitalize\"\r\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\r\n <fa-icon [icon]=\"item.icon\"></fa-icon>\r\n </spx-home-tile>\r\n }\r\n }\r\n</spx-home-tiles>\r\n" }]
|
|
135
135
|
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
136
136
|
|
|
137
137
|
var spxNavigation_state = /*#__PURE__*/Object.freeze({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-navigation.mjs","sources":["../../../../projects/softpak/components/spx-navigation/spx-home-tile/spx-home-tiles.component.ts","../../../../projects/softpak/components/spx-navigation/spx-home-tile/spx-home-tiles.component.html","../../../../projects/softpak/components/spx-navigation/spx-home-tile/spx-home-tile.component.ts","../../../../projects/softpak/components/spx-navigation/spx-home-tile/spx-home-tile.component.html","../../../../projects/softpak/components/spx-navigation/store/spx-navigation/spx-navigation.actions.ts","../../../../projects/softpak/components/spx-navigation/store/spx-navigation/spx-navigation.initial.ts","../../../../projects/softpak/components/spx-navigation/store/spx-navigation/spx-navigation.reducer.ts","../../../../projects/softpak/components/spx-navigation/spx-navigation.component.ts","../../../../projects/softpak/components/spx-navigation/spx-navigation.component.html","../../../../projects/softpak/components/spx-navigation/softpak-components-spx-navigation.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'spx-home-tiles',\n standalone: true,\n templateUrl: './spx-home-tiles.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SpxHomeTilesComponent {\n readonly spxCols = input<1 | 2>(2);\n}\n","<div class=\"mx-auto max-w-lg grid gap-3\"\n [class.grid-cols-1]=\"this.spxCols() === 1\"\n [class.grid-cols-2]=\"this.spxCols() === 2\"><ng-content></ng-content></div>","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, input, viewChild } from '@angular/core';\n\n@Component({\n selector: 'spx-home-tile',\n imports: [\n NgClass\n ],\n templateUrl: './spx-home-tile.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SpxHomeTileComponent {\n readonly spxAutofocus = input<boolean>();\n readonly spxClass = input<string>();\n readonly spxSubtitle = input<string>();\n readonly spxTitle = input<string>();\n private buttonRef = viewChild<ElementRef<HTMLButtonElement>>('button');\n\n setFocus(): void {\n this.buttonRef()?.nativeElement.focus();\n }\n}\n","<button #button\n class=\"border border-transparent flex flex-col w-full px-4 py-2 relative rounded text-center focus:outline-none focus:ring-2 focus:ring-offset-2\"\n type=\"button\"\n part=\"button\"\n [attr.autofocus]=\"this.spxAutofocus() ? this.spxAutofocus() : undefined\"\n [class.bg-blue-600]=\"!this.spxClass()\"\n [class.focus:ring-blue-500]=\"!this.spxClass()\"\n [class.hover:bg-blue-800]=\"!this.spxClass()\"\n [class.text-white]=\"!this.spxClass()\"\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\">\n <div class=\"flex gap-5 items-center\">\n <div class=\"fal my-2 self-center text-xl w-5\"><ng-content></ng-content></div>\n <div class=\"grow flex flex-col text-left\">\n <div class=\"text-lg font-bold text-ellipsis overflow-hidden\">{{ this.spxTitle() }}</div>\n @if (this.spxSubtitle()) {\n <div class=\"text-sm opacity-70 text-ellipsis overflow-hidden\">{{ this.spxSubtitle() }}</div>\n }\n </div>\n </div>\n </button>","import { createAction, props, union } from '@ngrx/store';\nimport { SpxNavigationItemI } from '../../spx-navigation-item.interface';\n\nexport const addPages = createAction('[SPX / Navigation] Add items', props<{\n navigationItems: SpxNavigationItemI[];\n}>());\nexport const initialize = createAction('[SPX / Navigation] Initialize', props<{\n navigationItems: SpxNavigationItemI[];\n}>());\nexport const update = createAction('[SPX / Navigation] Update', props<{\n accessList: string[];\n signedIn: boolean;\n}>());\n\nconst all = union({\n addPages,\n initialize,\n update\n});\n\nexport type Actions = typeof all;\n","import { StateI } from \"./spx-navigation.state\";\n\nexport const initialState: StateI = {\n accessList: [],\n navigationItems: [],\n menuItems: [],\n signedIn: false,\n tabs: [],\n};\n","\nimport * as actions from './spx-navigation.actions';\nimport { createFeature, createReducer, on } from '@ngrx/store';\nimport { StateI } from './spx-navigation.state';\nimport { initialState } from './spx-navigation.initial';\n\nexport default createFeature({\n name: 'spxNavigation',\n reducer: createReducer(\n initialState,\n on(actions.initialize, (state: StateI, { navigationItems }): StateI => ({\n ...state,\n navigationItems: navigationItems,\n menuItems: navigationItems.slice().filter(navigationItem => !navigationItem.signInRequired && (navigationItem.hasTile === undefined || navigationItem.hasTile)),\n tabs: navigationItems.slice().filter(navigationItem => !navigationItem.signInRequired && navigationItem.hasTab),\n })),\n on(actions.update, (state: StateI, { accessList, signedIn }): StateI => ({\n ...state,\n accessList,\n menuItems: state.navigationItems.slice().filter(navigationItem => (!navigationItem.signInRequired || signedIn) && navigationItem?.hasTile !== false).filter(item => item.accessKey === undefined || accessList.includes(item.accessKey)),\n signedIn,\n tabs: state.navigationItems.slice().filter(navigationItem => (!navigationItem.signInRequired || signedIn) && navigationItem.hasTab).filter(item => item.accessKey === undefined || accessList.includes(item.accessKey)),\n })),\n on(actions.addPages, (state: StateI, { navigationItems }): StateI => ({\n ...state,\n navigationItems: [...state.navigationItems.slice(), ...navigationItems],\n menuItems: [...state.menuItems.slice(), ...navigationItems.slice().filter(navigationItem => (!navigationItem.signInRequired || state.signedIn) && navigationItem?.hasTile !== false).filter(item => item.accessKey === undefined || state.accessList.includes(item.accessKey))],\n tabs: [...state.tabs.slice(), ...navigationItems.slice().filter(navigationItem => (!navigationItem.signInRequired || state.signedIn) && navigationItem.hasTab).filter(item => item.accessKey === undefined || state.accessList.includes(item.accessKey))],\n })),\n ),\n});\n","import { Component, input, OnDestroy, OnInit, output, signal, viewChildren } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { SpxHomeTilesComponent } from './spx-home-tile/spx-home-tiles.component';\nimport { SpxHomeTileComponent } from './spx-home-tile/spx-home-tile.component';\nimport { Store } from '@ngrx/store';\nimport spxNavigationReducer from './store/spx-navigation/spx-navigation.reducer';\nimport { AsyncPipe } from '@angular/common';\nimport { SpxNavigationItemI } from './spx-navigation-item.interface';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'spx-navigation',\n templateUrl: './spx-navigation.component.html',\n imports: [\n TranslateModule,\n FontAwesomeModule,\n SpxCapitalizePipe,\n SpxHomeTilesComponent,\n SpxHomeTileComponent\n ]\n})\nexport class SpxNavigationComponent implements OnInit, OnDestroy {\n readonly spxOverwriteNavItems = input<SpxNavigationItemI[]>();\n tiles = viewChildren<SpxHomeTileComponent>(\"tiles\");\n spxClick = output<string>();\n navItems = signal<SpxNavigationItemI[]>([]);\n menuItemsSubscription: Subscription | null = null;\n \n constructor(\n private readonly appStore: Store,\n ) { }\n\n ngOnInit() {\n this.menuItemsSubscription = this.appStore.select(spxNavigationReducer.selectMenuItems).subscribe((items) => {\n this.navItems.set(items);\n });\n }\n\n ngOnDestroy() {\n this.menuItemsSubscription?.unsubscribe();\n }\n\n setFocus(): void {\n this.tiles()[0]?.setFocus();\n }\n\n onNavigate(link: string) {\n this.spxClick.emit(link);\n }\n}\n","<spx-home-tiles [spxCols]=\"1\">\n @if (spxOverwriteNavItems() && spxOverwriteNavItems()?.length) {\n @for (item of spxOverwriteNavItems(); track item; let i = $index) {\n <spx-home-tile #tiles (click)=\"item.onClick ? item.onClick() : (item.routerLink ? onNavigate(item.routerLink) : null)\"\n [spxAutofocus]=\"i === 0\"\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\n [spxTitle]=\"item.title | translate | capitalize\"\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\n <fa-icon [icon]=\"item.icon\"></fa-icon>\n </spx-home-tile>\n }\n }\n @else {\n @for (item of navItems(); track item; let i = $index) {\n <spx-home-tile #tiles (click)=\"item.onClick ? item.onClick() : (item.routerLink ? onNavigate(item.routerLink) : null)\"\n [spxAutofocus]=\"i === 0\"\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\n [spxTitle]=\"item.title | translate | capitalize\"\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\n <fa-icon [icon]=\"item.icon\"></fa-icon>\n </spx-home-tile>\n }\n }\n</spx-home-tiles>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["actions.initialize","actions.update","actions.addPages","spxNavigationReducer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"softpak-components-spx-navigation.mjs","sources":["../../../../projects/softpak/components/spx-navigation/spx-home-tile/spx-home-tiles.component.ts","../../../../projects/softpak/components/spx-navigation/spx-home-tile/spx-home-tiles.component.html","../../../../projects/softpak/components/spx-navigation/spx-home-tile/spx-home-tile.component.ts","../../../../projects/softpak/components/spx-navigation/spx-home-tile/spx-home-tile.component.html","../../../../projects/softpak/components/spx-navigation/store/spx-navigation/spx-navigation.actions.ts","../../../../projects/softpak/components/spx-navigation/store/spx-navigation/spx-navigation.initial.ts","../../../../projects/softpak/components/spx-navigation/store/spx-navigation/spx-navigation.reducer.ts","../../../../projects/softpak/components/spx-navigation/spx-navigation.component.ts","../../../../projects/softpak/components/spx-navigation/spx-navigation.component.html","../../../../projects/softpak/components/spx-navigation/softpak-components-spx-navigation.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spx-home-tiles',\r\n standalone: true,\r\n templateUrl: './spx-home-tiles.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpxHomeTilesComponent {\r\n readonly spxCols = input<1 | 2>(2);\r\n}\r\n","<div class=\"mx-auto max-w-lg grid gap-3\"\r\n [class.grid-cols-1]=\"this.spxCols() === 1\"\r\n [class.grid-cols-2]=\"this.spxCols() === 2\"><ng-content></ng-content></div>","import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, ElementRef, input, viewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spx-home-tile',\r\n imports: [\r\n NgClass\r\n ],\r\n templateUrl: './spx-home-tile.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpxHomeTileComponent {\r\n readonly spxAutofocus = input<boolean>();\r\n readonly spxClass = input<string>();\r\n readonly spxSubtitle = input<string>();\r\n readonly spxTitle = input<string>();\r\n private buttonRef = viewChild<ElementRef<HTMLButtonElement>>('button');\r\n\r\n setFocus(): void {\r\n this.buttonRef()?.nativeElement.focus();\r\n }\r\n}\r\n","<button #button\r\n class=\"border border-transparent flex flex-col w-full px-4 py-2 relative rounded text-center focus:outline-none focus:ring-2 focus:ring-offset-2\"\r\n type=\"button\"\r\n part=\"button\"\r\n [attr.autofocus]=\"this.spxAutofocus() ? this.spxAutofocus() : undefined\"\r\n [class.bg-blue-600]=\"!this.spxClass()\"\r\n [class.focus:ring-blue-500]=\"!this.spxClass()\"\r\n [class.hover:bg-blue-800]=\"!this.spxClass()\"\r\n [class.text-white]=\"!this.spxClass()\"\r\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\">\r\n <div class=\"flex gap-5 items-center\">\r\n <div class=\"fal my-2 self-center text-xl w-5\"><ng-content></ng-content></div>\r\n <div class=\"grow flex flex-col text-left\">\r\n <div class=\"text-lg font-bold text-ellipsis overflow-hidden\">{{ this.spxTitle() }}</div>\r\n @if (this.spxSubtitle()) {\r\n <div class=\"text-sm opacity-70 text-ellipsis overflow-hidden\">{{ this.spxSubtitle() }}</div>\r\n }\r\n </div>\r\n </div>\r\n </button>","import { createAction, props, union } from '@ngrx/store';\r\nimport { SpxNavigationItemI } from '../../spx-navigation-item.interface';\r\n\r\nexport const addPages = createAction('[SPX / Navigation] Add items', props<{\r\n navigationItems: SpxNavigationItemI[];\r\n}>());\r\nexport const initialize = createAction('[SPX / Navigation] Initialize', props<{\r\n navigationItems: SpxNavigationItemI[];\r\n}>());\r\nexport const update = createAction('[SPX / Navigation] Update', props<{\r\n accessList: string[];\r\n signedIn: boolean;\r\n}>());\r\n\r\nconst all = union({\r\n addPages,\r\n initialize,\r\n update\r\n});\r\n\r\nexport type Actions = typeof all;\r\n","import { StateI } from \"./spx-navigation.state\";\r\n\r\nexport const initialState: StateI = {\r\n accessList: [],\r\n navigationItems: [],\r\n menuItems: [],\r\n signedIn: false,\r\n tabs: [],\r\n};\r\n","\r\nimport * as actions from './spx-navigation.actions';\r\nimport { createFeature, createReducer, on } from '@ngrx/store';\r\nimport { StateI } from './spx-navigation.state';\r\nimport { initialState } from './spx-navigation.initial';\r\n\r\nexport default createFeature({\r\n name: 'spxNavigation',\r\n reducer: createReducer(\r\n initialState,\r\n on(actions.initialize, (state: StateI, { navigationItems }): StateI => ({\r\n ...state,\r\n navigationItems: navigationItems,\r\n menuItems: navigationItems.slice().filter(navigationItem => !navigationItem.signInRequired && (navigationItem.hasTile === undefined || navigationItem.hasTile)),\r\n tabs: navigationItems.slice().filter(navigationItem => !navigationItem.signInRequired && navigationItem.hasTab),\r\n })),\r\n on(actions.update, (state: StateI, { accessList, signedIn }): StateI => ({\r\n ...state,\r\n accessList,\r\n menuItems: state.navigationItems.slice().filter(navigationItem => (!navigationItem.signInRequired || signedIn) && navigationItem?.hasTile !== false).filter(item => item.accessKey === undefined || accessList.includes(item.accessKey)),\r\n signedIn,\r\n tabs: state.navigationItems.slice().filter(navigationItem => (!navigationItem.signInRequired || signedIn) && navigationItem.hasTab).filter(item => item.accessKey === undefined || accessList.includes(item.accessKey)),\r\n })),\r\n on(actions.addPages, (state: StateI, { navigationItems }): StateI => ({\r\n ...state,\r\n navigationItems: [...state.navigationItems.slice(), ...navigationItems],\r\n menuItems: [...state.menuItems.slice(), ...navigationItems.slice().filter(navigationItem => (!navigationItem.signInRequired || state.signedIn) && navigationItem?.hasTile !== false).filter(item => item.accessKey === undefined || state.accessList.includes(item.accessKey))],\r\n tabs: [...state.tabs.slice(), ...navigationItems.slice().filter(navigationItem => (!navigationItem.signInRequired || state.signedIn) && navigationItem.hasTab).filter(item => item.accessKey === undefined || state.accessList.includes(item.accessKey))],\r\n })),\r\n ),\r\n});\r\n","import { Component, input, OnDestroy, OnInit, output, signal, viewChildren } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\r\nimport { SpxHomeTilesComponent } from './spx-home-tile/spx-home-tiles.component';\r\nimport { SpxHomeTileComponent } from './spx-home-tile/spx-home-tile.component';\r\nimport { Store } from '@ngrx/store';\r\nimport spxNavigationReducer from './store/spx-navigation/spx-navigation.reducer';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { SpxNavigationItemI } from './spx-navigation-item.interface';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'spx-navigation',\r\n templateUrl: './spx-navigation.component.html',\r\n imports: [\r\n TranslateModule,\r\n FontAwesomeModule,\r\n SpxCapitalizePipe,\r\n SpxHomeTilesComponent,\r\n SpxHomeTileComponent\r\n ]\r\n})\r\nexport class SpxNavigationComponent implements OnInit, OnDestroy {\r\n readonly spxOverwriteNavItems = input<SpxNavigationItemI[]>();\r\n tiles = viewChildren<SpxHomeTileComponent>(\"tiles\");\r\n spxClick = output<string>();\r\n navItems = signal<SpxNavigationItemI[]>([]);\r\n menuItemsSubscription: Subscription | null = null;\r\n \r\n constructor(\r\n private readonly appStore: Store,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.menuItemsSubscription = this.appStore.select(spxNavigationReducer.selectMenuItems).subscribe((items) => {\r\n this.navItems.set(items);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.menuItemsSubscription?.unsubscribe();\r\n }\r\n\r\n setFocus(): void {\r\n this.tiles()[0]?.setFocus();\r\n }\r\n\r\n onNavigate(link: string) {\r\n this.spxClick.emit(link);\r\n }\r\n}\r\n","<spx-home-tiles [spxCols]=\"1\">\r\n @if (spxOverwriteNavItems() && spxOverwriteNavItems()?.length) {\r\n @for (item of spxOverwriteNavItems(); track item; let i = $index) {\r\n <spx-home-tile #tiles (click)=\"item.onClick ? item.onClick() : (item.routerLink ? onNavigate(item.routerLink) : null)\"\r\n [spxAutofocus]=\"i === 0\"\r\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\r\n [spxTitle]=\"item.title | translate | capitalize\"\r\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\r\n <fa-icon [icon]=\"item.icon\"></fa-icon>\r\n </spx-home-tile>\r\n }\r\n }\r\n @else {\r\n @for (item of navItems(); track item; let i = $index) {\r\n <spx-home-tile #tiles (click)=\"item.onClick ? item.onClick() : (item.routerLink ? onNavigate(item.routerLink) : null)\"\r\n [spxAutofocus]=\"i === 0\"\r\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\r\n [spxTitle]=\"item.title | translate | capitalize\"\r\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\r\n <fa-icon [icon]=\"item.icon\"></fa-icon>\r\n </spx-home-tile>\r\n }\r\n }\r\n</spx-home-tiles>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["actions.initialize","actions.update","actions.addPages","spxNavigationReducer"],"mappings":"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"}
|
|
@@ -140,10 +140,10 @@ class SpxNumberCheckComponent {
|
|
|
140
140
|
this.denied.set(true);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
|
144
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.
|
|
143
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxNumberCheckComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
144
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: SpxNumberCheckComponent, isStandalone: true, selector: "spx-number-check", inputs: { spxAction: { classPropertyName: "spxAction", publicName: "spxAction", isSignal: true, isRequired: true, transformFunction: null }, spxSimpleMode: { classPropertyName: "spxSimpleMode", publicName: "spxSimpleMode", isSignal: true, isRequired: false, transformFunction: null }, spxPincode: { classPropertyName: "spxPincode", publicName: "spxPincode", isSignal: true, isRequired: true, transformFunction: null }, txtCancel: { classPropertyName: "txtCancel", publicName: "txtCancel", isSignal: true, isRequired: true, transformFunction: null }, txtConfirm: { classPropertyName: "txtConfirm", publicName: "txtConfirm", isSignal: true, isRequired: true, transformFunction: null }, txtConfirmMessage: { classPropertyName: "txtConfirmMessage", publicName: "txtConfirmMessage", isSignal: true, isRequired: true, transformFunction: null }, txtReset: { classPropertyName: "txtReset", publicName: "txtReset", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { spxCancel: "spxCancel", spxConfirm: "spxConfirm" }, host: { listeners: { "spxChange": "handleChangeEvent($event)" } }, viewQueries: [{ propertyName: "viewChild1", first: true, predicate: ["viewChild1"], descendants: true, isSignal: true }, { propertyName: "viewChild2", first: true, predicate: ["viewChild2"], descendants: true, isSignal: true }, { propertyName: "viewChild3", first: true, predicate: ["viewChild3"], descendants: true, isSignal: true }, { propertyName: "viewChild4", first: true, predicate: ["viewChild4"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"fixed top-0 left-0 right-0 bottom-0 z-40 bg-black\">\r\n <div class=\"mx-auto mt-32 max-w-96 bg-black rounded-lg\">\r\n <div class=\"flex flex-col gap-3 p-3\">\r\n <div class=\"bg-yellow-300 text-black text-center rounded p-3 text-xl\">\r\n <div class=\"font-bold\">{{ this.spxAction() }}</div>\r\n {{ this.txtConfirmMessage() }}\r\n </div>\r\n @if (!this.spxSimpleMode()) {\r\n <form class=\"block grid grid-cols-4 gap-3\" [formGroup]=\"this.form()!\" (ngSubmit)=\"null\">\r\n <input #viewChild1 [formControl]=\"ctrl1()\" type=\"text\" autofocus class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n <input #viewChild2 [formControl]=\"ctrl2()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n <input #viewChild3 [formControl]=\"ctrl3()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n <input #viewChild4 [formControl]=\"ctrl4()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n </form>\r\n }\r\n @if (this.spxSimpleMode()) {\r\n <spx-button\r\n [spxFullWidth]=\"true\"\r\n [spxSeverity]=\"spxSeverity.success\"\r\n (spxClick)=\"this.handleConfirm()\"\r\n >{{ this.txtConfirm() }}</spx-button>\r\n }\r\n @if (!this.spxSimpleMode()) {\r\n <spx-button\r\n [spxFullWidth]=\"true\"\r\n [spxSeverity]=\"spxSeverity.warning\"\r\n (spxClick)=\"this.handleReset()\"\r\n >{{ this.txtReset() }}</spx-button>\r\n }\r\n <spx-button\r\n [spxFullWidth]=\"true\"\r\n [spxSeverity]=\"spxSeverity.error\"\r\n (spxClick)=\"this.handleCancel()\"\r\n >{{ this.txtCancel() }}</spx-button>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
145
145
|
}
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxNumberCheckComponent, decorators: [{
|
|
147
147
|
type: Component,
|
|
148
148
|
args: [{ selector: 'spx-number-check', host: {
|
|
149
149
|
'(spxChange)': 'handleChangeEvent($event)'
|
|
@@ -151,7 +151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.1", ngImpor
|
|
|
151
151
|
SpxButtonComponent,
|
|
152
152
|
FormsModule,
|
|
153
153
|
ReactiveFormsModule
|
|
154
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"fixed top-0 left-0 right-0 bottom-0 z-40 bg-black\">\n <div class=\"mx-auto mt-32 max-w-96 bg-black rounded-lg\">\n <div class=\"flex flex-col gap-3 p-3\">\n <div class=\"bg-yellow-300 text-black text-center rounded p-3 text-xl\">\n <div class=\"font-bold\">{{ this.spxAction() }}</div>\n {{ this.txtConfirmMessage() }}\n </div>\n @if (!this.spxSimpleMode()) {\n <form class=\"block grid grid-cols-4 gap-3\" [formGroup]=\"this.form()!\" (ngSubmit)=\"null\">\n <input #viewChild1 [formControl]=\"ctrl1()\" type=\"text\" autofocus class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\n <input #viewChild2 [formControl]=\"ctrl2()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\n <input #viewChild3 [formControl]=\"ctrl3()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\n <input #viewChild4 [formControl]=\"ctrl4()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\n </form>\n }\n @if (this.spxSimpleMode()) {\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"spxSeverity.success\"\n (spxClick)=\"this.handleConfirm()\"\n >{{ this.txtConfirm() }}</spx-button>\n }\n @if (!this.spxSimpleMode()) {\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"spxSeverity.warning\"\n (spxClick)=\"this.handleReset()\"\n >{{ this.txtReset() }}</spx-button>\n }\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"spxSeverity.error\"\n (spxClick)=\"this.handleCancel()\"\n >{{ this.txtCancel() }}</spx-button>\n </div>\n </div>\n</div>" }]
|
|
154
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"fixed top-0 left-0 right-0 bottom-0 z-40 bg-black\">\r\n <div class=\"mx-auto mt-32 max-w-96 bg-black rounded-lg\">\r\n <div class=\"flex flex-col gap-3 p-3\">\r\n <div class=\"bg-yellow-300 text-black text-center rounded p-3 text-xl\">\r\n <div class=\"font-bold\">{{ this.spxAction() }}</div>\r\n {{ this.txtConfirmMessage() }}\r\n </div>\r\n @if (!this.spxSimpleMode()) {\r\n <form class=\"block grid grid-cols-4 gap-3\" [formGroup]=\"this.form()!\" (ngSubmit)=\"null\">\r\n <input #viewChild1 [formControl]=\"ctrl1()\" type=\"text\" autofocus class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n <input #viewChild2 [formControl]=\"ctrl2()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n <input #viewChild3 [formControl]=\"ctrl3()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n <input #viewChild4 [formControl]=\"ctrl4()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n </form>\r\n }\r\n @if (this.spxSimpleMode()) {\r\n <spx-button\r\n [spxFullWidth]=\"true\"\r\n [spxSeverity]=\"spxSeverity.success\"\r\n (spxClick)=\"this.handleConfirm()\"\r\n >{{ this.txtConfirm() }}</spx-button>\r\n }\r\n @if (!this.spxSimpleMode()) {\r\n <spx-button\r\n [spxFullWidth]=\"true\"\r\n [spxSeverity]=\"spxSeverity.warning\"\r\n (spxClick)=\"this.handleReset()\"\r\n >{{ this.txtReset() }}</spx-button>\r\n }\r\n <spx-button\r\n [spxFullWidth]=\"true\"\r\n [spxSeverity]=\"spxSeverity.error\"\r\n (spxClick)=\"this.handleCancel()\"\r\n >{{ this.txtCancel() }}</spx-button>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
155
155
|
}], ctorParameters: () => [{ type: i1.FormBuilder }] });
|
|
156
156
|
|
|
157
157
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-number-check.mjs","sources":["../../../../projects/softpak/components/spx-number-check/spx-number-check.component.ts","../../../../projects/softpak/components/spx-number-check/spx-number-check.component.html","../../../../projects/softpak/components/spx-number-check/softpak-components-spx-number-check.ts"],"sourcesContent":["\nimport { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, OnInit, computed, input, output, signal, viewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxSeverityEnum, unsubscribeSubscriptions } from '@softpak/components/spx-helpers';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'spx-number-check',\n host: {\n '(spxChange)': 'handleChangeEvent($event)'\n },\n imports: [\n SpxButtonComponent,\n FormsModule,\n ReactiveFormsModule\n ],\n templateUrl: './spx-number-check.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class SpxNumberCheckComponent implements OnInit, OnDestroy {\n readonly spxAction = input.required<string>();\n readonly spxSimpleMode = input(false);\n readonly spxPincode = input.required<string>();\n readonly txtCancel = input.required<string>();\n readonly txtConfirm = input.required<string>();\n readonly txtConfirmMessage = input.required<string>();\n readonly txtReset = input.required<string>();\n spxCancel = output();\n spxConfirm = output();\n readonly viewChild1 = viewChild.required<ElementRef<HTMLInputElement>>('viewChild1');\n readonly viewChild2 = viewChild.required<ElementRef<HTMLInputElement>>('viewChild2');\n readonly viewChild3 = viewChild.required<ElementRef<HTMLInputElement>>('viewChild3');\n readonly viewChild4 = viewChild.required<ElementRef<HTMLInputElement>>('viewChild4');\n form = signal<FormGroup| null>(null);\n spxSeverity = SpxSeverityEnum;\n accepted = signal<boolean>(false);\n denied = signal<boolean>(false);\n private subscription: {\n listenToCtrl1?: Subscription;\n listenToCtrl2?: Subscription;\n listenToCtrl3?: Subscription;\n listenToCtrl4?: Subscription;\n listenToTyping?: Subscription;\n } = {};\n\n readonly ctrl1 = computed(() => this.form()?.get('ctrl1') as FormControl);\n readonly ctrl2 = computed(() => this.form()?.get('ctrl2') as FormControl);\n readonly ctrl3 = computed(() => this.form()?.get('ctrl3') as FormControl);\n readonly ctrl4 = computed(() => this.form()?.get('ctrl4') as FormControl);\n\n constructor(private readonly formBuilder: FormBuilder) {\n this.form.set(this.formBuilder.group({\n ctrl1: [null, []],\n ctrl2: [null, []],\n ctrl3: [null, []],\n ctrl4: [null, []],\n }));\n }\n\n ngOnInit(): void {\n this.subscription.listenToTyping = this.form()!.valueChanges.subscribe(() => {\n this.accepted.set(false);\n this.denied.set(false);\n if (this.ctrl1().value && this.ctrl2().value && this.ctrl3().value && this.ctrl4().value) {\n this.checkPincode();\n }\n });\n\n this.subscription.listenToCtrl1 = this.ctrl1().valueChanges.subscribe(value => {\n if (value) {\n this.viewChild2().nativeElement.focus();\n } else {\n\n }\n });\n\n this.subscription.listenToCtrl2 = this.ctrl2().valueChanges.subscribe(value => {\n if (value) {\n this.viewChild3().nativeElement.focus();\n } else {\n\n }\n });\n\n this.subscription.listenToCtrl3 = this.ctrl3().valueChanges.subscribe(value => {\n if (value) {\n this.viewChild4().nativeElement.focus();\n } else {\n\n }\n });\n }\n\n //TODO CHECK THIS\n // ngOnChanges(changes: SimpleChanges): void {\n // setTimeout(() => {\n // const viewChild1 = this?.viewChild1();\n // if (viewChild1?) {\n // viewChild1.focus();\n // }\n // }, 0);\n // }\n\n ngOnDestroy(): void {\n unsubscribeSubscriptions(this.subscription);\n }\n\n handleCancel(): void {\n this.spxCancel.emit();\n }\n\n handleConfirm(): void {\n this.spxConfirm.emit();\n }\n\n handleReset(): void {\n this.ctrl1().reset();\n this.ctrl2().reset();\n this.ctrl3().reset();\n this.ctrl4().reset();\n this.viewChild1().nativeElement?.focus();\n this.accepted.set(false);\n this.denied.set(false);\n }\n\n onDigitInput(event: KeyboardEvent) {\n // let element: HTMLElement | null;\n // if (\n // event.code === 'Digit0' ||\n // event.code === 'Digit1' ||\n // event.code === 'Digit2' ||\n // event.code === 'Digit3' ||\n // event.code === 'Digit4' ||\n // event.code === 'Digit5' ||\n // event.code === 'Digit6' ||\n // event.code === 'Digit7' ||\n // event.code === 'Digit8' ||\n // event.code === 'Digit9' ||\n // event.code === 'Numpad0' ||\n // event.code === 'Numpad1' ||\n // event.code === 'Numpad2' ||\n // event.code === 'Numpad3' ||\n // event.code === 'Numpad4' ||\n // event.code === 'Numpad5' ||\n // event.code === 'Numpad6' ||\n // event.code === 'Numpad7' ||\n // event.code === 'Numpad8' ||\n // event.code === 'Numpad9') {\n // element = event.srcElement.nextElementSibling;\n\n // if (element === null) {\n // return;\n // }\n // else {\n // // setTimeout(() => { element.focus(); });\n // }\n // }\n \n }\n\n onBackspace(event: Event) {\n (event.target as HTMLElement)?.focus();\n }\n\n private checkPincode(): void {\n if (this.spxPincode() === `${this.ctrl1().value}${this.ctrl2().value}${this.ctrl3().value}${this.ctrl4().value}`) {\n this.accepted.set(true);\n setTimeout(() => {\n this.spxConfirm.emit();\n }, 500);\n } else {\n this.denied.set(true);\n }\n }\n}\n","<div class=\"fixed top-0 left-0 right-0 bottom-0 z-40 bg-black\">\n <div class=\"mx-auto mt-32 max-w-96 bg-black rounded-lg\">\n <div class=\"flex flex-col gap-3 p-3\">\n <div class=\"bg-yellow-300 text-black text-center rounded p-3 text-xl\">\n <div class=\"font-bold\">{{ this.spxAction() }}</div>\n {{ this.txtConfirmMessage() }}\n </div>\n @if (!this.spxSimpleMode()) {\n <form class=\"block grid grid-cols-4 gap-3\" [formGroup]=\"this.form()!\" (ngSubmit)=\"null\">\n <input #viewChild1 [formControl]=\"ctrl1()\" type=\"text\" autofocus class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\n <input #viewChild2 [formControl]=\"ctrl2()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\n <input #viewChild3 [formControl]=\"ctrl3()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\n <input #viewChild4 [formControl]=\"ctrl4()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\n </form>\n }\n @if (this.spxSimpleMode()) {\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"spxSeverity.success\"\n (spxClick)=\"this.handleConfirm()\"\n >{{ this.txtConfirm() }}</spx-button>\n }\n @if (!this.spxSimpleMode()) {\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"spxSeverity.warning\"\n (spxClick)=\"this.handleReset()\"\n >{{ this.txtReset() }}</spx-button>\n }\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"spxSeverity.error\"\n (spxClick)=\"this.handleCancel()\"\n >{{ this.txtCancel() }}</spx-button>\n </div>\n </div>\n</div>","/**\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-number-check.mjs","sources":["../../../../projects/softpak/components/spx-number-check/spx-number-check.component.ts","../../../../projects/softpak/components/spx-number-check/spx-number-check.component.html","../../../../projects/softpak/components/spx-number-check/softpak-components-spx-number-check.ts"],"sourcesContent":["\r\nimport { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, OnInit, computed, input, output, signal, viewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\r\nimport { SpxSeverityEnum, unsubscribeSubscriptions } from '@softpak/components/spx-helpers';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'spx-number-check',\r\n host: {\r\n '(spxChange)': 'handleChangeEvent($event)'\r\n },\r\n imports: [\r\n SpxButtonComponent,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n templateUrl: './spx-number-check.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n})\r\nexport class SpxNumberCheckComponent implements OnInit, OnDestroy {\r\n readonly spxAction = input.required<string>();\r\n readonly spxSimpleMode = input(false);\r\n readonly spxPincode = input.required<string>();\r\n readonly txtCancel = input.required<string>();\r\n readonly txtConfirm = input.required<string>();\r\n readonly txtConfirmMessage = input.required<string>();\r\n readonly txtReset = input.required<string>();\r\n spxCancel = output();\r\n spxConfirm = output();\r\n readonly viewChild1 = viewChild.required<ElementRef<HTMLInputElement>>('viewChild1');\r\n readonly viewChild2 = viewChild.required<ElementRef<HTMLInputElement>>('viewChild2');\r\n readonly viewChild3 = viewChild.required<ElementRef<HTMLInputElement>>('viewChild3');\r\n readonly viewChild4 = viewChild.required<ElementRef<HTMLInputElement>>('viewChild4');\r\n form = signal<FormGroup| null>(null);\r\n spxSeverity = SpxSeverityEnum;\r\n accepted = signal<boolean>(false);\r\n denied = signal<boolean>(false);\r\n private subscription: {\r\n listenToCtrl1?: Subscription;\r\n listenToCtrl2?: Subscription;\r\n listenToCtrl3?: Subscription;\r\n listenToCtrl4?: Subscription;\r\n listenToTyping?: Subscription;\r\n } = {};\r\n\r\n readonly ctrl1 = computed(() => this.form()?.get('ctrl1') as FormControl);\r\n readonly ctrl2 = computed(() => this.form()?.get('ctrl2') as FormControl);\r\n readonly ctrl3 = computed(() => this.form()?.get('ctrl3') as FormControl);\r\n readonly ctrl4 = computed(() => this.form()?.get('ctrl4') as FormControl);\r\n\r\n constructor(private readonly formBuilder: FormBuilder) {\r\n this.form.set(this.formBuilder.group({\r\n ctrl1: [null, []],\r\n ctrl2: [null, []],\r\n ctrl3: [null, []],\r\n ctrl4: [null, []],\r\n }));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.subscription.listenToTyping = this.form()!.valueChanges.subscribe(() => {\r\n this.accepted.set(false);\r\n this.denied.set(false);\r\n if (this.ctrl1().value && this.ctrl2().value && this.ctrl3().value && this.ctrl4().value) {\r\n this.checkPincode();\r\n }\r\n });\r\n\r\n this.subscription.listenToCtrl1 = this.ctrl1().valueChanges.subscribe(value => {\r\n if (value) {\r\n this.viewChild2().nativeElement.focus();\r\n } else {\r\n\r\n }\r\n });\r\n\r\n this.subscription.listenToCtrl2 = this.ctrl2().valueChanges.subscribe(value => {\r\n if (value) {\r\n this.viewChild3().nativeElement.focus();\r\n } else {\r\n\r\n }\r\n });\r\n\r\n this.subscription.listenToCtrl3 = this.ctrl3().valueChanges.subscribe(value => {\r\n if (value) {\r\n this.viewChild4().nativeElement.focus();\r\n } else {\r\n\r\n }\r\n });\r\n }\r\n\r\n //TODO CHECK THIS\r\n // ngOnChanges(changes: SimpleChanges): void {\r\n // setTimeout(() => {\r\n // const viewChild1 = this?.viewChild1();\r\n // if (viewChild1?) {\r\n // viewChild1.focus();\r\n // }\r\n // }, 0);\r\n // }\r\n\r\n ngOnDestroy(): void {\r\n unsubscribeSubscriptions(this.subscription);\r\n }\r\n\r\n handleCancel(): void {\r\n this.spxCancel.emit();\r\n }\r\n\r\n handleConfirm(): void {\r\n this.spxConfirm.emit();\r\n }\r\n\r\n handleReset(): void {\r\n this.ctrl1().reset();\r\n this.ctrl2().reset();\r\n this.ctrl3().reset();\r\n this.ctrl4().reset();\r\n this.viewChild1().nativeElement?.focus();\r\n this.accepted.set(false);\r\n this.denied.set(false);\r\n }\r\n\r\n onDigitInput(event: KeyboardEvent) {\r\n // let element: HTMLElement | null;\r\n // if (\r\n // event.code === 'Digit0' ||\r\n // event.code === 'Digit1' ||\r\n // event.code === 'Digit2' ||\r\n // event.code === 'Digit3' ||\r\n // event.code === 'Digit4' ||\r\n // event.code === 'Digit5' ||\r\n // event.code === 'Digit6' ||\r\n // event.code === 'Digit7' ||\r\n // event.code === 'Digit8' ||\r\n // event.code === 'Digit9' ||\r\n // event.code === 'Numpad0' ||\r\n // event.code === 'Numpad1' ||\r\n // event.code === 'Numpad2' ||\r\n // event.code === 'Numpad3' ||\r\n // event.code === 'Numpad4' ||\r\n // event.code === 'Numpad5' ||\r\n // event.code === 'Numpad6' ||\r\n // event.code === 'Numpad7' ||\r\n // event.code === 'Numpad8' ||\r\n // event.code === 'Numpad9') {\r\n // element = event.srcElement.nextElementSibling;\r\n\r\n // if (element === null) {\r\n // return;\r\n // }\r\n // else {\r\n // // setTimeout(() => { element.focus(); });\r\n // }\r\n // }\r\n \r\n }\r\n\r\n onBackspace(event: Event) {\r\n (event.target as HTMLElement)?.focus();\r\n }\r\n\r\n private checkPincode(): void {\r\n if (this.spxPincode() === `${this.ctrl1().value}${this.ctrl2().value}${this.ctrl3().value}${this.ctrl4().value}`) {\r\n this.accepted.set(true);\r\n setTimeout(() => {\r\n this.spxConfirm.emit();\r\n }, 500);\r\n } else {\r\n this.denied.set(true);\r\n }\r\n }\r\n}\r\n","<div class=\"fixed top-0 left-0 right-0 bottom-0 z-40 bg-black\">\r\n <div class=\"mx-auto mt-32 max-w-96 bg-black rounded-lg\">\r\n <div class=\"flex flex-col gap-3 p-3\">\r\n <div class=\"bg-yellow-300 text-black text-center rounded p-3 text-xl\">\r\n <div class=\"font-bold\">{{ this.spxAction() }}</div>\r\n {{ this.txtConfirmMessage() }}\r\n </div>\r\n @if (!this.spxSimpleMode()) {\r\n <form class=\"block grid grid-cols-4 gap-3\" [formGroup]=\"this.form()!\" (ngSubmit)=\"null\">\r\n <input #viewChild1 [formControl]=\"ctrl1()\" type=\"text\" autofocus class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n <input #viewChild2 [formControl]=\"ctrl2()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n <input #viewChild3 [formControl]=\"ctrl3()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n <input #viewChild4 [formControl]=\"ctrl4()\" type=\"text\" class=\"w-full text-center font-bold text-2xl p-3 rounded-lg focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 text-white bg-neutral-700\" [class.bg-red-700]=\"this.denied()\" [class.bg-teal-700]=\"this.accepted()\" maxlength=\"1\" (keypress)=\"onDigitInput($event)\" (keyup.backspace)=\"onBackspace($event)\" pattern=\"[0-9]*\" inputmode=\"numeric\" />\r\n </form>\r\n }\r\n @if (this.spxSimpleMode()) {\r\n <spx-button\r\n [spxFullWidth]=\"true\"\r\n [spxSeverity]=\"spxSeverity.success\"\r\n (spxClick)=\"this.handleConfirm()\"\r\n >{{ this.txtConfirm() }}</spx-button>\r\n }\r\n @if (!this.spxSimpleMode()) {\r\n <spx-button\r\n [spxFullWidth]=\"true\"\r\n [spxSeverity]=\"spxSeverity.warning\"\r\n (spxClick)=\"this.handleReset()\"\r\n >{{ this.txtReset() }}</spx-button>\r\n }\r\n <spx-button\r\n [spxFullWidth]=\"true\"\r\n [spxSeverity]=\"spxSeverity.error\"\r\n (spxClick)=\"this.handleCancel()\"\r\n >{{ this.txtCancel() }}</spx-button>\r\n </div>\r\n </div>\r\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -21,17 +21,17 @@ class SpxPaginationComponent {
|
|
|
21
21
|
onPageChange(page) {
|
|
22
22
|
this.spxPageChange.emit(page);
|
|
23
23
|
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: SpxPaginationComponent, isStandalone: true, selector: "spx-pagination", inputs: { faArrowLeft: { classPropertyName: "faArrowLeft", publicName: "faArrowLeft", isSignal: true, isRequired: true, transformFunction: null }, faArrowRight: { classPropertyName: "faArrowRight", publicName: "faArrowRight", isSignal: true, isRequired: true, transformFunction: null }, spxPage: { classPropertyName: "spxPage", publicName: "spxPage", isSignal: true, isRequired: true, transformFunction: null }, spxMaxPages: { classPropertyName: "spxMaxPages", publicName: "spxMaxPages", isSignal: true, isRequired: true, transformFunction: null }, textNext: { classPropertyName: "textNext", publicName: "textNext", isSignal: true, isRequired: true, transformFunction: null }, textPage: { classPropertyName: "textPage", publicName: "textPage", isSignal: true, isRequired: true, transformFunction: null }, textPrevious: { classPropertyName: "textPrevious", publicName: "textPrevious", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { spxPageChange: "spxPageChange" }, ngImport: i0, template: "<div class=\"inline mx-auto flex gap-3 items-center font-bold\">\r\n <spx-button (click)=\"onPageChange(spxPage() - 1)\" [spxDisabled]=\"spxPage() === 1\">\r\n <fa-icon [icon]=\"faArrowLeft()\"></fa-icon> {{ textPrevious() | translate | capitalize }}\r\n </spx-button>\r\n {{ textPage() | translate | capitalize }} {{ spxPage() }}\r\n <spx-button [spxDisabled]=\"spxMaxPages() > spxPage()\" (click)=\"onPageChange(spxPage() + 1)\">\r\n {{ textNext() | translate | capitalize }} <fa-icon [icon]=\"faArrowRight()\"></fa-icon>\r\n </spx-button>\r\n</div>", dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxPaginationComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{ selector: 'spx-pagination', imports: [
|
|
30
30
|
FontAwesomeModule,
|
|
31
31
|
SpxButtonComponent,
|
|
32
32
|
SpxCapitalizePipe,
|
|
33
33
|
TranslateModule,
|
|
34
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"inline mx-auto flex gap-3 items-center font-bold\">\n <spx-button (click)=\"onPageChange(spxPage() - 1)\" [spxDisabled]=\"spxPage() === 1\">\n <fa-icon [icon]=\"faArrowLeft()\"></fa-icon> {{ textPrevious() | translate | capitalize }}\n </spx-button>\n {{ textPage() | translate | capitalize }} {{ spxPage() }}\n <spx-button [spxDisabled]=\"spxMaxPages() > spxPage()\" (click)=\"onPageChange(spxPage() + 1)\">\n {{ textNext() | translate | capitalize }} <fa-icon [icon]=\"faArrowRight()\"></fa-icon>\n </spx-button>\n</div>" }]
|
|
34
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"inline mx-auto flex gap-3 items-center font-bold\">\r\n <spx-button (click)=\"onPageChange(spxPage() - 1)\" [spxDisabled]=\"spxPage() === 1\">\r\n <fa-icon [icon]=\"faArrowLeft()\"></fa-icon> {{ textPrevious() | translate | capitalize }}\r\n </spx-button>\r\n {{ textPage() | translate | capitalize }} {{ spxPage() }}\r\n <spx-button [spxDisabled]=\"spxMaxPages() > spxPage()\" (click)=\"onPageChange(spxPage() + 1)\">\r\n {{ textNext() | translate | capitalize }} <fa-icon [icon]=\"faArrowRight()\"></fa-icon>\r\n </spx-button>\r\n</div>" }]
|
|
35
35
|
}] });
|
|
36
36
|
|
|
37
37
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-pagination.mjs","sources":["../../../../projects/softpak/components/spx-pagination/spx-pagination.component.ts","../../../../projects/softpak/components/spx-pagination/spx-pagination.component.html","../../../../projects/softpak/components/spx-pagination/softpak-components-spx-pagination.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\n\n@Component({\n selector: 'spx-pagination',\n templateUrl: './spx-pagination.component.html',\n imports: [\n FontAwesomeModule,\n SpxButtonComponent,\n SpxCapitalizePipe,\n TranslateModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SpxPaginationComponent {\n readonly faArrowLeft = input.required<IconProp>();\n readonly faArrowRight = input.required<IconProp>();\n readonly spxPage = input.required<number>();\n readonly spxMaxPages = input.required<number>();\n readonly textNext = input.required<string>();\n readonly textPage = input.required<string>();\n readonly textPrevious = input.required<string>();\n spxPageChange = output<number>();\n\n onPageChange(page: number) {\n this.spxPageChange.emit(page);\n }\n}","<div class=\"inline mx-auto flex gap-3 items-center font-bold\">\n <spx-button (click)=\"onPageChange(spxPage() - 1)\" [spxDisabled]=\"spxPage() === 1\">\n <fa-icon [icon]=\"faArrowLeft()\"></fa-icon> {{ textPrevious() | translate | capitalize }}\n </spx-button>\n {{ textPage() | translate | capitalize }} {{ spxPage() }}\n <spx-button [spxDisabled]=\"spxMaxPages() > spxPage()\" (click)=\"onPageChange(spxPage() + 1)\">\n {{ textNext() | translate | capitalize }} <fa-icon [icon]=\"faArrowRight()\"></fa-icon>\n </spx-button>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MAkBa,sBAAsB,CAAA;AAXnC,IAAA,WAAA,GAAA;AAYW,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAY;AACxC,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAY;AACzC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAU;AAClC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAU;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAU;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAU;AACnC,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAU;QAChD,IAAa,CAAA,aAAA,GAAG,MAAM,EAAU;AAKjC;AAHC,IAAA,YAAY,CAAC,IAAY,EAAA;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;8GAXpB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBnC,
|
|
1
|
+
{"version":3,"file":"softpak-components-spx-pagination.mjs","sources":["../../../../projects/softpak/components/spx-pagination/spx-pagination.component.ts","../../../../projects/softpak/components/spx-pagination/spx-pagination.component.html","../../../../projects/softpak/components/spx-pagination/softpak-components-spx-pagination.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\r\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\n\r\n@Component({\r\n selector: 'spx-pagination',\r\n templateUrl: './spx-pagination.component.html',\r\n imports: [\r\n FontAwesomeModule,\r\n SpxButtonComponent,\r\n SpxCapitalizePipe,\r\n TranslateModule,\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpxPaginationComponent {\r\n readonly faArrowLeft = input.required<IconProp>();\r\n readonly faArrowRight = input.required<IconProp>();\r\n readonly spxPage = input.required<number>();\r\n readonly spxMaxPages = input.required<number>();\r\n readonly textNext = input.required<string>();\r\n readonly textPage = input.required<string>();\r\n readonly textPrevious = input.required<string>();\r\n spxPageChange = output<number>();\r\n\r\n onPageChange(page: number) {\r\n this.spxPageChange.emit(page);\r\n }\r\n}","<div class=\"inline mx-auto flex gap-3 items-center font-bold\">\r\n <spx-button (click)=\"onPageChange(spxPage() - 1)\" [spxDisabled]=\"spxPage() === 1\">\r\n <fa-icon [icon]=\"faArrowLeft()\"></fa-icon> {{ textPrevious() | translate | capitalize }}\r\n </spx-button>\r\n {{ textPage() | translate | capitalize }} {{ spxPage() }}\r\n <spx-button [spxDisabled]=\"spxMaxPages() > spxPage()\" (click)=\"onPageChange(spxPage() + 1)\">\r\n {{ textNext() | translate | capitalize }} <fa-icon [icon]=\"faArrowRight()\"></fa-icon>\r\n </spx-button>\r\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -33,14 +33,14 @@ class SpxPatchComponent {
|
|
|
33
33
|
this.severityError = SpxSeverityEnum.error;
|
|
34
34
|
this.severityWarning = SpxSeverityEnum.warning;
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxPatchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: SpxPatchComponent, isStandalone: true, selector: "spx-patch", inputs: { spxText: { classPropertyName: "spxText", publicName: "spxText", isSignal: true, isRequired: true, transformFunction: null }, patchCheck: { classPropertyName: "patchCheck", publicName: "patchCheck", isSignal: true, isRequired: true, transformFunction: null }, releaseCheck: { classPropertyName: "releaseCheck", publicName: "releaseCheck", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"flex flex-col gap-2\">\r\n @if (releaseCheck()) {\r\n <spx-alert [spxTitle]=\"'Requires new release'\" [spxSeverity]=\"severityError\">\r\n {{ spxText() ? spxText() : 'This new functionality' }} requires release {{releaseCheck()}}.\r\n </spx-alert>\r\n }\r\n \r\n @if (patchCheck()) {\r\n <spx-alert [spxTitle]=\"'Softpak patch'\" [spxSeverity]=\"severityWarning\">\r\n {{ spxText() ? spxText() : 'This new functionality' }} requires patch #{{patchCheck()}} to be installed.\r\n </spx-alert>\r\n }\r\n </div>", dependencies: [{ kind: "component", type: SpxAlertComponent, selector: "spx-alert", inputs: ["spxAutoclose", "spxCloseable", "spxHideTitle", "spxTitle", "spxMarginTop", "spxSeverity"], outputs: ["spxClose", "spxTitleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxPatchComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{ selector: 'spx-patch', imports: [
|
|
42
42
|
SpxAlertComponent
|
|
43
|
-
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-2\">\n @if (releaseCheck()) {\n <spx-alert [spxTitle]=\"'Requires new release'\" [spxSeverity]=\"severityError\">\n {{ spxText() ? spxText() : 'This new functionality' }} requires release {{releaseCheck()}}.\n </spx-alert>\n }\n \n @if (patchCheck()) {\n <spx-alert [spxTitle]=\"'Softpak patch'\" [spxSeverity]=\"severityWarning\">\n {{ spxText() ? spxText() : 'This new functionality' }} requires patch #{{patchCheck()}} to be installed.\n </spx-alert>\n }\n </div>" }]
|
|
43
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-2\">\r\n @if (releaseCheck()) {\r\n <spx-alert [spxTitle]=\"'Requires new release'\" [spxSeverity]=\"severityError\">\r\n {{ spxText() ? spxText() : 'This new functionality' }} requires release {{releaseCheck()}}.\r\n </spx-alert>\r\n }\r\n \r\n @if (patchCheck()) {\r\n <spx-alert [spxTitle]=\"'Softpak patch'\" [spxSeverity]=\"severityWarning\">\r\n {{ spxText() ? spxText() : 'This new functionality' }} requires patch #{{patchCheck()}} to be installed.\r\n </spx-alert>\r\n }\r\n </div>" }]
|
|
44
44
|
}] });
|
|
45
45
|
|
|
46
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-patch.mjs","sources":["../../../../projects/softpak/components/spx-patch/patch-check.function.ts","../../../../projects/softpak/components/spx-patch/release-check.function.ts","../../../../projects/softpak/components/spx-patch/spx-patch.component.ts","../../../../projects/softpak/components/spx-patch/spx-patch.component.html","../../../../projects/softpak/components/spx-patch/softpak-components-spx-patch.ts"],"sourcesContent":["import { SpxStorage, SpxStorageKeyEnum } from \"@softpak/components/spx-storage\";\n\nexport const patchCheck = (pair: { release: string; patchAtLeast: number; }[]) => {\n const release = pair.find(p => p.release === SpxStorage.getSetting(SpxStorageKeyEnum.release));\n if (!release || (parseInt(SpxStorage.getSetting(SpxStorageKeyEnum.patch) ?? '0', 10) >= release.patchAtLeast)) {\n return null;\n }\n return release.patchAtLeast;\n};\n\n","import { SpxStorage, SpxStorageKeyEnum } from \"@softpak/components/spx-storage\";\n\nexport const releaseCheck = (releaseAtLeast: string, orInReleaseList?: string[]) => {\n const currentRelease = (SpxStorage.getSetting(SpxStorageKeyEnum.release) ?? '00.00').split('.').map((v: string) => parseInt(v, 10));\n const requiredRelease = releaseAtLeast.split('.').map((v: string) => parseInt(v, 10));\n \n if (orInReleaseList && orInReleaseList.find(release => release === (SpxStorage.getSetting(SpxStorageKeyEnum.release) ?? '00.00'))) {\n return null;\n }\n\n if (requiredRelease[0] < currentRelease[0] ||\n requiredRelease[0] === currentRelease[0] && requiredRelease[1] <= currentRelease[1]\n ) {\n return null;\n }\n return releaseAtLeast;\n};\n\n","\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SpxAlertComponent } from '@softpak/components/spx-alert';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\n\n@Component({\n selector: 'spx-patch',\n imports: [\n SpxAlertComponent\n ],\n templateUrl: './spx-patch.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SpxPatchComponent {\n readonly spxText = input.required<string>();\n readonly patchCheck = input.required<number | null>();\n readonly releaseCheck = input.required<string | null>();\n severityError = SpxSeverityEnum.error;\n severityWarning = SpxSeverityEnum.warning;\n}\n","<div class=\"flex flex-col gap-2\">\n @if (releaseCheck()) {\n <spx-alert [spxTitle]=\"'Requires new release'\" [spxSeverity]=\"severityError\">\n {{ spxText() ? spxText() : 'This new functionality' }} requires release {{releaseCheck()}}.\n </spx-alert>\n }\n \n @if (patchCheck()) {\n <spx-alert [spxTitle]=\"'Softpak patch'\" [spxSeverity]=\"severityWarning\">\n {{ spxText() ? spxText() : 'This new functionality' }} requires patch #{{patchCheck()}} to be installed.\n </spx-alert>\n }\n </div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAEa,MAAA,UAAU,GAAG,CAAC,IAAkD,KAAI;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9F,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;AAC3G,QAAA,OAAO,IAAI;;IAEf,OAAO,OAAO,CAAC,YAAY;AAC/B;;MCNa,YAAY,GAAG,CAAC,cAAsB,EAAE,eAA0B,KAAI;AAC/E,IAAA,MAAM,cAAc,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,KAAK,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnI,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,KAAK,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAErF,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,MAAM,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE;AAC/H,QAAA,OAAO,IAAI;;IAGf,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;AACtC,QAAA,eAAe,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EACrF;AACE,QAAA,OAAO,IAAI;;AAEf,IAAA,OAAO,cAAc;AACzB;;MCFa,iBAAiB,CAAA;AAT9B,IAAA,WAAA,GAAA;AAUW,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAU;AAClC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAiB;AAC5C,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAiB;AACvD,QAAA,IAAA,CAAA,aAAa,GAAG,eAAe,CAAC,KAAK;AACrC,QAAA,IAAA,CAAA,eAAe,GAAG,eAAe,CAAC,OAAO;AAC1C;8GANY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECd9B,
|
|
1
|
+
{"version":3,"file":"softpak-components-spx-patch.mjs","sources":["../../../../projects/softpak/components/spx-patch/patch-check.function.ts","../../../../projects/softpak/components/spx-patch/release-check.function.ts","../../../../projects/softpak/components/spx-patch/spx-patch.component.ts","../../../../projects/softpak/components/spx-patch/spx-patch.component.html","../../../../projects/softpak/components/spx-patch/softpak-components-spx-patch.ts"],"sourcesContent":["import { SpxStorage, SpxStorageKeyEnum } from \"@softpak/components/spx-storage\";\r\n\r\nexport const patchCheck = (pair: { release: string; patchAtLeast: number; }[]) => {\r\n const release = pair.find(p => p.release === SpxStorage.getSetting(SpxStorageKeyEnum.release));\r\n if (!release || (parseInt(SpxStorage.getSetting(SpxStorageKeyEnum.patch) ?? '0', 10) >= release.patchAtLeast)) {\r\n return null;\r\n }\r\n return release.patchAtLeast;\r\n};\r\n\r\n","import { SpxStorage, SpxStorageKeyEnum } from \"@softpak/components/spx-storage\";\r\n\r\nexport const releaseCheck = (releaseAtLeast: string, orInReleaseList?: string[]) => {\r\n const currentRelease = (SpxStorage.getSetting(SpxStorageKeyEnum.release) ?? '00.00').split('.').map((v: string) => parseInt(v, 10));\r\n const requiredRelease = releaseAtLeast.split('.').map((v: string) => parseInt(v, 10));\r\n \r\n if (orInReleaseList && orInReleaseList.find(release => release === (SpxStorage.getSetting(SpxStorageKeyEnum.release) ?? '00.00'))) {\r\n return null;\r\n }\r\n\r\n if (requiredRelease[0] < currentRelease[0] ||\r\n requiredRelease[0] === currentRelease[0] && requiredRelease[1] <= currentRelease[1]\r\n ) {\r\n return null;\r\n }\r\n return releaseAtLeast;\r\n};\r\n\r\n","\r\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\nimport { SpxAlertComponent } from '@softpak/components/spx-alert';\r\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\r\n\r\n@Component({\r\n selector: 'spx-patch',\r\n imports: [\r\n SpxAlertComponent\r\n ],\r\n templateUrl: './spx-patch.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpxPatchComponent {\r\n readonly spxText = input.required<string>();\r\n readonly patchCheck = input.required<number | null>();\r\n readonly releaseCheck = input.required<string | null>();\r\n severityError = SpxSeverityEnum.error;\r\n severityWarning = SpxSeverityEnum.warning;\r\n}\r\n","<div class=\"flex flex-col gap-2\">\r\n @if (releaseCheck()) {\r\n <spx-alert [spxTitle]=\"'Requires new release'\" [spxSeverity]=\"severityError\">\r\n {{ spxText() ? spxText() : 'This new functionality' }} requires release {{releaseCheck()}}.\r\n </spx-alert>\r\n }\r\n \r\n @if (patchCheck()) {\r\n <spx-alert [spxTitle]=\"'Softpak patch'\" [spxSeverity]=\"severityWarning\">\r\n {{ spxText() ? spxText() : 'This new functionality' }} requires patch #{{patchCheck()}} to be installed.\r\n </spx-alert>\r\n }\r\n </div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -10,10 +10,10 @@ class IsSeverityPipe {
|
|
|
10
10
|
}
|
|
11
11
|
return value === targetSeverities;
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
|
14
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: IsSeverityPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: IsSeverityPipe, isStandalone: true, name: "isSeverity" }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: IsSeverityPipe, decorators: [{
|
|
17
17
|
type: Pipe,
|
|
18
18
|
args: [{
|
|
19
19
|
name: 'isSeverity'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-pipes.mjs","sources":["../../../../projects/softpak/components/spx-pipes/spx-severity-pipe.ts","../../../../projects/softpak/components/spx-pipes/softpak-components-spx-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\n\n@Pipe({\n name: 'isSeverity'\n})\nexport class IsSeverityPipe implements PipeTransform {\n transform(value: SpxSeverityEnum | undefined, targetSeverities: SpxSeverityEnum | SpxSeverityEnum[]): boolean {\n if(value == undefined) return false;\n \n if (Array.isArray(targetSeverities)) {\n return targetSeverities.includes(value);\n }\n return value === targetSeverities;\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAMa,cAAc,CAAA;IACzB,SAAS,CAAC,KAAkC,EAAE,gBAAqD,EAAA;QACjG,IAAG,KAAK,IAAI,SAAS;AAAE,YAAA,OAAO,KAAK;AAEnC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;AACnC,YAAA,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;;QAEzC,OAAO,KAAK,KAAK,gBAAgB;;8GAPxB,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE;AACP,iBAAA;;;ACLD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"softpak-components-spx-pipes.mjs","sources":["../../../../projects/softpak/components/spx-pipes/spx-severity-pipe.ts","../../../../projects/softpak/components/spx-pipes/softpak-components-spx-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\r\n\r\n@Pipe({\r\n name: 'isSeverity'\r\n})\r\nexport class IsSeverityPipe implements PipeTransform {\r\n transform(value: SpxSeverityEnum | undefined, targetSeverities: SpxSeverityEnum | SpxSeverityEnum[]): boolean {\r\n if(value == undefined) return false;\r\n \r\n if (Array.isArray(targetSeverities)) {\r\n return targetSeverities.includes(value);\r\n }\r\n return value === targetSeverities;\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAMa,cAAc,CAAA;IACzB,SAAS,CAAC,KAAkC,EAAE,gBAAqD,EAAA;QACjG,IAAG,KAAK,IAAI,SAAS;AAAE,YAAA,OAAO,KAAK;AAEnC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;AACnC,YAAA,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;;QAEzC,OAAO,KAAK,KAAK,gBAAgB;;8GAPxB,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE;AACP,iBAAA;;;ACLD;;AAEG;;;;"}
|
|
@@ -6,12 +6,12 @@ class SpxProgressBarComponent {
|
|
|
6
6
|
this.spxPercentage = input.required();
|
|
7
7
|
this.spxTitle = input.required();
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: SpxProgressBarComponent, isStandalone: true, selector: "spx-progress-bar", inputs: { spxPercentage: { classPropertyName: "spxPercentage", publicName: "spxPercentage", isSignal: true, isRequired: true, transformFunction: null }, spxTitle: { classPropertyName: "spxTitle", publicName: "spxTitle", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"progress-bar\">\r\n <h1>{{this.spxTitle()}}</h1>\r\n <div class=\"world\">\r\n <div class=\"world__moving-object\" [style.left]=\"'calc(' + (this.spxPercentage()) + '% - ' + (120 * (this.spxPercentage() / 100)) + 'px)'\">\r\n </div>\r\n </div>\r\n <div class=\"text\"></div>\r\n</div>", styles: [":host{display:block}.progress-bar{background-color:#fff;border-radius:4px;padding:12px}h1{box-sizing:border-box;color:#000c;font-size:16px;font-weight:400;margin:0 0 8px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text{background-color:#e8e8e8;box-sizing:border-box;font-size:18px;font-weight:700;text-align:center}.world{border-bottom:2px solid #505050;position:relative;height:42px}.world__moving-object{position:absolute;background-image:var(--spf-progress-bar--truck-image, url(data:image/png;base64,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));background-size:contain;background-repeat:no-repeat;height:40px;width:120px;transition:left .1s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SpxProgressBarComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
|
-
args: [{ selector: 'spx-progress-bar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"progress-bar\">\n <h1>{{this.spxTitle()}}</h1>\n <div class=\"world\">\n <div class=\"world__moving-object\" [style.left]=\"'calc(' + (this.spxPercentage()) + '% - ' + (120 * (this.spxPercentage() / 100)) + 'px)'\">\n </div>\n </div>\n <div class=\"text\"></div>\n</div>", styles: [":host{display:block}.progress-bar{background-color:#fff;border-radius:4px;padding:12px}h1{box-sizing:border-box;color:#000c;font-size:16px;font-weight:400;margin:0 0 8px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text{background-color:#e8e8e8;box-sizing:border-box;font-size:18px;font-weight:700;text-align:center}.world{border-bottom:2px solid #505050;position:relative;height:42px}.world__moving-object{position:absolute;background-image:var(--spf-progress-bar--truck-image, url(data:image/png;base64,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));background-size:contain;background-repeat:no-repeat;height:40px;width:120px;transition:left .1s}\n"] }]
|
|
14
|
+
args: [{ selector: 'spx-progress-bar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"progress-bar\">\r\n <h1>{{this.spxTitle()}}</h1>\r\n <div class=\"world\">\r\n <div class=\"world__moving-object\" [style.left]=\"'calc(' + (this.spxPercentage()) + '% - ' + (120 * (this.spxPercentage() / 100)) + 'px)'\">\r\n </div>\r\n </div>\r\n <div class=\"text\"></div>\r\n</div>", styles: [":host{display:block}.progress-bar{background-color:#fff;border-radius:4px;padding:12px}h1{box-sizing:border-box;color:#000c;font-size:16px;font-weight:400;margin:0 0 8px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text{background-color:#e8e8e8;box-sizing:border-box;font-size:18px;font-weight:700;text-align:center}.world{border-bottom:2px solid #505050;position:relative;height:42px}.world__moving-object{position:absolute;background-image:var(--spf-progress-bar--truck-image, url(data:image/png;base64,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));background-size:contain;background-repeat:no-repeat;height:40px;width:120px;transition:left .1s}\n"] }]
|
|
15
15
|
}] });
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-progress-bar.mjs","sources":["../../../../projects/softpak/components/spx-progress-bar/spx-progress-bar.component.ts","../../../../projects/softpak/components/spx-progress-bar/spx-progress-bar.component.html","../../../../projects/softpak/components/spx-progress-bar/softpak-components-spx-progress-bar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'spx-progress-bar',\n standalone: true,\n templateUrl: './spx-progress-bar.component.html',\n styleUrl: './spx-progress-bar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SpxProgressBarComponent {\n readonly spxPercentage = input.required<number>();\n readonly spxTitle = input.required<string>();\n}\n","<div class=\"progress-bar\">\n <h1>{{this.spxTitle()}}</h1>\n <div class=\"world\">\n <div class=\"world__moving-object\" [style.left]=\"'calc(' + (this.spxPercentage()) + '% - ' + (120 * (this.spxPercentage() / 100)) + 'px)'\">\n </div>\n </div>\n <div class=\"text\"></div>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MASa,uBAAuB,CAAA;AAPpC,IAAA,WAAA,GAAA;AAQW,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAU;AACxC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC7C;8GAHY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,uWCTpC,
|
|
1
|
+
{"version":3,"file":"softpak-components-spx-progress-bar.mjs","sources":["../../../../projects/softpak/components/spx-progress-bar/spx-progress-bar.component.ts","../../../../projects/softpak/components/spx-progress-bar/spx-progress-bar.component.html","../../../../projects/softpak/components/spx-progress-bar/softpak-components-spx-progress-bar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spx-progress-bar',\r\n standalone: true,\r\n templateUrl: './spx-progress-bar.component.html',\r\n styleUrl: './spx-progress-bar.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpxProgressBarComponent {\r\n readonly spxPercentage = input.required<number>();\r\n readonly spxTitle = input.required<string>();\r\n}\r\n","<div class=\"progress-bar\">\r\n <h1>{{this.spxTitle()}}</h1>\r\n <div class=\"world\">\r\n <div class=\"world__moving-object\" [style.left]=\"'calc(' + (this.spxPercentage()) + '% - ' + (120 * (this.spxPercentage() / 100)) + 'px)'\">\r\n </div>\r\n </div>\r\n <div class=\"text\"></div>\r\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MASa,uBAAuB,CAAA;AAPpC,IAAA,WAAA,GAAA;AAQW,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAU;AACxC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC7C;8GAHY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,uWCTpC,sTAOM,EAAA,MAAA,EAAA,CAAA,siHAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDEO,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAChB,UAAA,EAAA,IAAI,EAGC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sTAAA,EAAA,MAAA,EAAA,CAAA,siHAAA,CAAA,EAAA;;;AEPjD;;AAEG;;;;"}
|