@softpak/components 19.17.0-beta.4 → 19.18.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.
Files changed (77) hide show
  1. package/fesm2022/softpak-components-spx-404-page.mjs +47 -0
  2. package/fesm2022/softpak-components-spx-404-page.mjs.map +1 -0
  3. package/fesm2022/softpak-components-spx-alert.mjs +6 -7
  4. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  5. package/fesm2022/softpak-components-spx-app-expiry.mjs +91 -23
  6. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  7. package/fesm2022/softpak-components-spx-button.mjs +22 -8
  8. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  9. package/fesm2022/softpak-components-spx-card.mjs +88 -17
  10. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  11. package/fesm2022/softpak-components-spx-change-details.mjs +64 -48
  12. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  13. package/fesm2022/softpak-components-spx-check-digit.mjs +28 -24
  14. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  15. package/fesm2022/softpak-components-spx-confirm.mjs.map +1 -1
  16. package/fesm2022/softpak-components-spx-form-section.mjs +33 -8
  17. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  18. package/fesm2022/softpak-components-spx-form-view.mjs +53 -39
  19. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  20. package/fesm2022/softpak-components-spx-inputs.mjs +6 -15
  21. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  22. package/fesm2022/softpak-components-spx-navigation.mjs +89 -34
  23. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  24. package/fesm2022/softpak-components-spx-number-check.mjs +198 -91
  25. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  26. package/fesm2022/softpak-components-spx-pagination.mjs +21 -12
  27. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
  28. package/fesm2022/softpak-components-spx-patch.mjs +39 -8
  29. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  30. package/fesm2022/softpak-components-spx-progress-bar.mjs +22 -8
  31. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  32. package/fesm2022/softpak-components-spx-spinner.mjs +160 -15
  33. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  34. package/fesm2022/softpak-components-spx-stock-info.mjs +128 -71
  35. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  36. package/fesm2022/softpak-components-spx-toaster.mjs +163 -36
  37. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  38. package/fesm2022/softpak-components-spx-translate.mjs +13 -1
  39. package/fesm2022/softpak-components-spx-translate.mjs.map +1 -1
  40. package/fesm2022/softpak-components-spx-update.mjs +3 -3
  41. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  42. package/fesm2022/softpak-components-spx-validation.mjs +55 -56
  43. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  44. package/package.json +36 -32
  45. package/spx-404-page/index.d.ts +5 -0
  46. package/spx-404-page/public-api.d.ts +1 -0
  47. package/spx-404-page/spx-404-page.component.d.ts +15 -0
  48. package/spx-alert/spx-alert.component.d.ts +1 -1
  49. package/spx-app-expiry/spx-app-expiry.component.d.ts +14 -14
  50. package/spx-button/spx-button.component.d.ts +3 -0
  51. package/spx-card/spx-card-item/spx-card-item.component.d.ts +1 -0
  52. package/spx-card/spx-card.component.d.ts +9 -8
  53. package/spx-change-details/spx-change-details.component.d.ts +23 -22
  54. package/spx-check-digit/spx-check-digit.component.d.ts +9 -9
  55. package/spx-form-section/spx-form-section.component.d.ts +5 -5
  56. package/spx-form-view/spx-autocomplete-search.component.d.ts +16 -15
  57. package/spx-form-view/spx-form-view.component.d.ts +1 -1
  58. package/spx-inputs/spx-input-text/spx-input-text.component.d.ts +1 -4
  59. package/spx-inputs/spx-input.component.d.ts +0 -1
  60. package/spx-navigation/public-api.d.ts +2 -2
  61. package/spx-navigation/spx-home-tile.component.d.ts +11 -0
  62. package/spx-navigation/{spx-home-tile/spx-home-tiles.component.d.ts → spx-home-tiles.component.d.ts} +2 -2
  63. package/spx-navigation/spx-navigation.component.d.ts +8 -11
  64. package/spx-number-check/spx-number-check.component.d.ts +32 -26
  65. package/spx-pagination/spx-pagination.component.d.ts +10 -9
  66. package/spx-patch/spx-patch.component.d.ts +4 -4
  67. package/spx-progress-bar/spx-progress-bar.component.d.ts +3 -3
  68. package/spx-spinner/spx-spinner.component.d.ts +3 -3
  69. package/spx-stock-info/spx-stock-info.component.d.ts +49 -48
  70. package/spx-toaster/src/spx-toaster-message.interface.d.ts +1 -5
  71. package/spx-toaster/src/spx-toaster.component.d.ts +14 -6
  72. package/spx-translate/spx-translate._const.d.ts +8 -0
  73. package/spx-update/store/spx-update-check/spx-update-check.actions.d.ts +5 -5
  74. package/spx-update/store/spx-update-pending/spx-update-pending.actions.d.ts +1 -1
  75. package/spx-validation/spx-validate-control.component.d.ts +20 -22
  76. package/tailwind.css +1 -1
  77. package/spx-navigation/spx-home-tile/spx-home-tile.component.d.ts +0 -11
@@ -0,0 +1,47 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component } from '@angular/core';
3
+ import { TranslatePipe } from '@ngx-translate/core';
4
+ import * as i2 from '@ionic/angular/standalone';
5
+ import { IonButtons, IonContent, IonHeader, IonToolbar, IonTitle } from '@ionic/angular/standalone';
6
+ import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
7
+ import { SpxButtonComponent } from '@softpak/components/spx-button';
8
+ import { spxText404PageNotFound, spxTextPageNotFound, spxTextPageNotFoundDescription, spxTextGoHome } from '@softpak/components/spx-translate';
9
+ import * as i1 from '@angular/router';
10
+
11
+ class Spx404PageComponent {
12
+ goHome() {
13
+ if (this.activatedRoute.snapshot.data['url'] === undefined) {
14
+ console.error('configure data property \'url\' in route for update page');
15
+ }
16
+ this.navController.navigateRoot(this.activatedRoute.snapshot.data['url']);
17
+ }
18
+ constructor(activatedRoute, navController) {
19
+ this.activatedRoute = activatedRoute;
20
+ this.navController = navController;
21
+ this.spxText404PageNotFound = spxText404PageNotFound;
22
+ this.spxTextPageNotFound = spxTextPageNotFound;
23
+ this.spxTextPageNotFoundDescription = spxTextPageNotFoundDescription;
24
+ this.spxTextGoHome = spxTextGoHome;
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: Spx404PageComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: Spx404PageComponent, isStandalone: true, selector: "spx-404-page", ngImport: i0, template: "<ion-header>\r\n <ion-toolbar>\r\n <ion-title>\r\n {{ spxText404PageNotFound | translate | capitalize }}\r\n </ion-title>\r\n <ion-buttons slot=\"end\">\r\n </ion-buttons>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content class=\"flex items-center justify-center min-h-screen bg-white dark:bg-gray-900 ion-padding\">\r\n <div class=\"text-center p-6\">\r\n <h1 class=\"text-7xl font-bold text-indigo-600 dark:text-indigo-400\">404</h1>\r\n <h2 class=\"mt-4 text-2xl font-semibold text-gray-800 dark:text-white\"> {{ spxTextPageNotFound | translate | capitalize }} </h2>\r\n <p class=\"mt-2 text-gray-600 dark:text-gray-400\">\r\n {{ spxTextPageNotFoundDescription | translate | capitalize }}\r\n </p>\r\n <div class=\"py-2\">\r\n <spx-button (spxClick)=\"goHome()\">\r\n {{ spxTextGoHome | translate | capitalize }}\r\n </spx-button>\r\n </div>\r\n </div>\r\n</ion-content>", dependencies: [{ kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: Spx404PageComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'spx-404-page', imports: [IonButtons,
32
+ IonContent,
33
+ IonHeader,
34
+ IonToolbar,
35
+ IonTitle,
36
+ SpxCapitalizePipe,
37
+ TranslatePipe,
38
+ SpxButtonComponent
39
+ ], template: "<ion-header>\r\n <ion-toolbar>\r\n <ion-title>\r\n {{ spxText404PageNotFound | translate | capitalize }}\r\n </ion-title>\r\n <ion-buttons slot=\"end\">\r\n </ion-buttons>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content class=\"flex items-center justify-center min-h-screen bg-white dark:bg-gray-900 ion-padding\">\r\n <div class=\"text-center p-6\">\r\n <h1 class=\"text-7xl font-bold text-indigo-600 dark:text-indigo-400\">404</h1>\r\n <h2 class=\"mt-4 text-2xl font-semibold text-gray-800 dark:text-white\"> {{ spxTextPageNotFound | translate | capitalize }} </h2>\r\n <p class=\"mt-2 text-gray-600 dark:text-gray-400\">\r\n {{ spxTextPageNotFoundDescription | translate | capitalize }}\r\n </p>\r\n <div class=\"py-2\">\r\n <spx-button (spxClick)=\"goHome()\">\r\n {{ spxTextGoHome | translate | capitalize }}\r\n </spx-button>\r\n </div>\r\n </div>\r\n</ion-content>" }]
40
+ }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.NavController }] });
41
+
42
+ /**
43
+ * Generated bundle index. Do not edit.
44
+ */
45
+
46
+ export { Spx404PageComponent };
47
+ //# sourceMappingURL=softpak-components-spx-404-page.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"softpak-components-spx-404-page.mjs","sources":["../../../../projects/softpak/components/spx-404-page/spx-404-page.component.ts","../../../../projects/softpak/components/spx-404-page/spx-404-page.component.html","../../../../projects/softpak/components/spx-404-page/softpak-components-spx-404-page.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { IonContent, IonHeader, IonTitle, IonToolbar, NavController, IonButtons } from '@ionic/angular/standalone';\r\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\r\nimport { spxText404PageNotFound, spxTextGoHome, spxTextPageNotFound, spxTextPageNotFoundDescription } from '@softpak/components/spx-translate';\r\n\r\n@Component({\r\n selector: 'spx-404-page',\r\n imports: [IonButtons, \r\n IonContent,\r\n IonHeader,\r\n IonToolbar,\r\n IonTitle,\r\n SpxCapitalizePipe,\r\n TranslatePipe,\r\n SpxButtonComponent\r\n ],\r\n templateUrl: `./spx-404-page.component.html`,\r\n})\r\nexport class Spx404PageComponent {\r\n spxText404PageNotFound = spxText404PageNotFound;\r\n spxTextPageNotFound = spxTextPageNotFound;\r\n spxTextPageNotFoundDescription = spxTextPageNotFoundDescription;\r\n spxTextGoHome = spxTextGoHome;\r\n goHome() : void{\r\n if (this.activatedRoute.snapshot.data['url'] === undefined) {\r\n console.error('configure data property \\'url\\' in route for update page');\r\n }\r\n this.navController.navigateRoot(this.activatedRoute.snapshot.data['url']);\r\n }\r\n\r\n constructor(\r\n private readonly activatedRoute: ActivatedRoute,\r\n private readonly navController: NavController,\r\n ) {\r\n }\r\n}\r\n","<ion-header>\r\n <ion-toolbar>\r\n <ion-title>\r\n {{ spxText404PageNotFound | translate | capitalize }}\r\n </ion-title>\r\n <ion-buttons slot=\"end\">\r\n </ion-buttons>\r\n </ion-toolbar>\r\n</ion-header>\r\n\r\n<ion-content class=\"flex items-center justify-center min-h-screen bg-white dark:bg-gray-900 ion-padding\">\r\n <div class=\"text-center p-6\">\r\n <h1 class=\"text-7xl font-bold text-indigo-600 dark:text-indigo-400\">404</h1>\r\n <h2 class=\"mt-4 text-2xl font-semibold text-gray-800 dark:text-white\"> {{ spxTextPageNotFound | translate | capitalize }} </h2>\r\n <p class=\"mt-2 text-gray-600 dark:text-gray-400\">\r\n {{ spxTextPageNotFoundDescription | translate | capitalize }}\r\n </p>\r\n <div class=\"py-2\">\r\n <spx-button (spxClick)=\"goHome()\">\r\n {{ spxTextGoHome | translate | capitalize }}\r\n </spx-button>\r\n </div>\r\n </div>\r\n</ion-content>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;MAqBa,mBAAmB,CAAA;IAK9B,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;AAC1D,YAAA,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC;;AAE3E,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;IAG3E,WACmB,CAAA,cAA8B,EAC9B,aAA4B,EAAA;QAD5B,IAAc,CAAA,cAAA,GAAd,cAAc;QACd,IAAa,CAAA,aAAA,GAAb,aAAa;QAbhC,IAAsB,CAAA,sBAAA,GAAG,sBAAsB;QAC/C,IAAmB,CAAA,mBAAA,GAAG,mBAAmB;QACzC,IAA8B,CAAA,8BAAA,GAAG,8BAA8B;QAC/D,IAAa,CAAA,aAAA,GAAG,aAAa;;8GAJlB,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,wECrBhC,w8BAuBc,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDbF,UAAU,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,UAAU,EACV,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,SAAS,EACT,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,UAAU,mFACV,QAAQ,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACR,iBAAiB,EACjB,IAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,aAAa,kDACb,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,SAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIT,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,SAAS;+BACE,cAAc,EAAA,OAAA,EACf,CAAC,UAAU;wBAClB,UAAU;wBACV,SAAS;wBACT,UAAU;wBACV,QAAQ;wBACR,iBAAiB;wBACjB,aAAa;wBACb;AACD,qBAAA,EAAA,QAAA,EAAA,w8BAAA,EAAA;;;AElBH;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, output, input, model, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { output, input, model, Component } from '@angular/core';
3
3
  import * as i1 from '@fortawesome/angular-fontawesome';
4
4
  import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
5
5
  import { faCheck, faCircleInfo, faTriangleExclamation, faTimes } from '@fortawesome/free-solid-svg-icons';
@@ -8,7 +8,6 @@ import { IsSeverityPipe } from '@softpak/components/spx-pipes';
8
8
 
9
9
  class SpxAlertComponent {
10
10
  constructor() {
11
- this._autoCloseTimeout = signal(null);
12
11
  this.spxClose = output();
13
12
  this.spxAutoclose = input();
14
13
  this.spxCloseable = input(false);
@@ -31,10 +30,10 @@ class SpxAlertComponent {
31
30
  }
32
31
  }
33
32
  prepareAutoClose() {
34
- this._autoCloseTimeout.set(setTimeout(() => {
33
+ this._autoCloseTimeout = setTimeout(() => {
35
34
  this.onClose();
36
- this._autoCloseTimeout.set(null);
37
- }, this.spxAutoclose()));
35
+ this._autoCloseTimeout = null;
36
+ }, this.spxAutoclose());
38
37
  }
39
38
  _assignDefaultTitle() {
40
39
  switch (this.spxSeverity()) {
@@ -58,14 +57,14 @@ class SpxAlertComponent {
58
57
  }
59
58
  }
60
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxAlertComponent, isStandalone: true, selector: "spx-alert", inputs: { spxAutoclose: { classPropertyName: "spxAutoclose", publicName: "spxAutoclose", isSignal: true, isRequired: false, transformFunction: null }, spxCloseable: { classPropertyName: "spxCloseable", publicName: "spxCloseable", isSignal: true, isRequired: false, transformFunction: null }, spxHideTitle: { classPropertyName: "spxHideTitle", publicName: "spxHideTitle", isSignal: true, isRequired: false, transformFunction: null }, spxTitle: { classPropertyName: "spxTitle", publicName: "spxTitle", isSignal: true, isRequired: false, transformFunction: null }, spxMarginTop: { classPropertyName: "spxMarginTop", publicName: "spxMarginTop", isSignal: true, isRequired: false, transformFunction: null }, spxSeverity: { classPropertyName: "spxSeverity", publicName: "spxSeverity", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { spxClose: "spxClose", spxTitle: "spxTitleChange" }, ngImport: i0, template: "<div class=\"flex items-center gap-3 border-t-4 rounded px-4 py-3 shadow-md\"\r\n [class.cursor-pointer]=\"this.spxCloseable()\"\r\n [class.bg-red-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.border-red-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.text-red-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.bg-cyan-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.border-cyan-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.text-cyan-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.bg-lime-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.border-lime-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.text-lime-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.bg-amber-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.border-amber-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.text-amber-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.hover:bg-red-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.over:border-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.focus:ring-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.hover:bg-cyan-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.over:border-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.hover:bg-lime-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.over:border-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.focus:ring-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.hover:bg-amber-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.over:border-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n (click)=\"onClose()\">\r\n @if ((this.spxSeverity() | isSeverity: SpxSeverity.info)) {\r\n <fa-icon\r\n [icon]=\"faCircleInfo\" class=\"block text-xl text-cyan-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.error) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-red-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.success) {\r\n <fa-icon\r\n [icon]=\"faCheck\" class=\"block text-xl text-lime-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.warning) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-amber-600\"></fa-icon>\r\n }\r\n <div class=\"grow\">\r\n @if (this.spxTitle() && !this.spxHideTitle()) {\r\n <p class=\"font-bold\">{{this.spxTitle()}}</p>\r\n }\r\n <p class=\"text-sm\">\r\n <ng-content></ng-content>\r\n </p>\r\n </div>\r\n @if (this.spxCloseable()) {\r\n <fa-icon\r\n [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\r\n }\r\n </div>", styles: [":host{display:block}\n"], 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"] }, { kind: "pipe", type: IsSeverityPipe, name: "isSeverity" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxAlertComponent, isStandalone: true, selector: "spx-alert", inputs: { spxAutoclose: { classPropertyName: "spxAutoclose", publicName: "spxAutoclose", isSignal: true, isRequired: false, transformFunction: null }, spxCloseable: { classPropertyName: "spxCloseable", publicName: "spxCloseable", isSignal: true, isRequired: false, transformFunction: null }, spxHideTitle: { classPropertyName: "spxHideTitle", publicName: "spxHideTitle", isSignal: true, isRequired: false, transformFunction: null }, spxTitle: { classPropertyName: "spxTitle", publicName: "spxTitle", isSignal: true, isRequired: false, transformFunction: null }, spxMarginTop: { classPropertyName: "spxMarginTop", publicName: "spxMarginTop", isSignal: true, isRequired: false, transformFunction: null }, spxSeverity: { classPropertyName: "spxSeverity", publicName: "spxSeverity", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { spxClose: "spxClose", spxTitle: "spxTitleChange" }, ngImport: i0, template: "<div class=\"flex items-center gap-3 border-t-4 rounded px-4 py-3 shadow-md\"\r\n [class.cursor-pointer]=\"this.spxCloseable()\"\r\n [class.bg-red-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.border-red-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.text-red-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.bg-cyan-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.border-cyan-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.text-cyan-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.bg-lime-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.border-lime-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.text-lime-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.bg-amber-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.border-amber-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.text-amber-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.hover:bg-red-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.over:border-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.focus:ring-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.hover:bg-cyan-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.over:border-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.hover:bg-lime-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.over:border-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.focus:ring-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.hover:bg-amber-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.over:border-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n (click)=\"onClose()\">\r\n @if ((this.spxSeverity() | isSeverity: SpxSeverity.info)) {\r\n <fa-icon\r\n [icon]=\"faCircleInfo\" class=\"block text-xl text-cyan-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.error) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-red-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.success) {\r\n <fa-icon\r\n [icon]=\"faCheck\" class=\"block text-xl text-lime-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.warning) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-amber-600\"></fa-icon>\r\n }\r\n <div class=\"grow\">\r\n @if (this.spxTitle() && !this.spxHideTitle()) {\r\n <p class=\"font-bold\">{{this.spxTitle()}}</p>\r\n }\r\n <p class=\"text-sm\">\r\n <ng-content></ng-content>\r\n </p>\r\n </div>\r\n @if (this.spxCloseable()) {\r\n <fa-icon\r\n [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\r\n }\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"] }, { kind: "pipe", type: IsSeverityPipe, name: "isSeverity" }] }); }
62
61
  }
63
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxAlertComponent, decorators: [{
64
63
  type: Component,
65
64
  args: [{ selector: 'spx-alert', imports: [
66
65
  FontAwesomeModule,
67
66
  IsSeverityPipe
68
- ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"flex items-center gap-3 border-t-4 rounded px-4 py-3 shadow-md\"\r\n [class.cursor-pointer]=\"this.spxCloseable()\"\r\n [class.bg-red-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.border-red-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.text-red-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.bg-cyan-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.border-cyan-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.text-cyan-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.bg-lime-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.border-lime-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.text-lime-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.bg-amber-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.border-amber-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.text-amber-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.hover:bg-red-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.over:border-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.focus:ring-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.hover:bg-cyan-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.over:border-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.hover:bg-lime-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.over:border-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.focus:ring-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.hover:bg-amber-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.over:border-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n (click)=\"onClose()\">\r\n @if ((this.spxSeverity() | isSeverity: SpxSeverity.info)) {\r\n <fa-icon\r\n [icon]=\"faCircleInfo\" class=\"block text-xl text-cyan-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.error) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-red-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.success) {\r\n <fa-icon\r\n [icon]=\"faCheck\" class=\"block text-xl text-lime-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.warning) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-amber-600\"></fa-icon>\r\n }\r\n <div class=\"grow\">\r\n @if (this.spxTitle() && !this.spxHideTitle()) {\r\n <p class=\"font-bold\">{{this.spxTitle()}}</p>\r\n }\r\n <p class=\"text-sm\">\r\n <ng-content></ng-content>\r\n </p>\r\n </div>\r\n @if (this.spxCloseable()) {\r\n <fa-icon\r\n [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\r\n }\r\n </div>", styles: [":host{display:block}\n"] }]
67
+ ], template: "<div class=\"flex items-center gap-3 border-t-4 rounded px-4 py-3 shadow-md\"\r\n [class.cursor-pointer]=\"this.spxCloseable()\"\r\n [class.bg-red-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.border-red-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.text-red-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.bg-cyan-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.border-cyan-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.text-cyan-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.bg-lime-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.border-lime-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.text-lime-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.bg-amber-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.border-amber-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.text-amber-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.hover:bg-red-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.over:border-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.focus:ring-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.hover:bg-cyan-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.over:border-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.hover:bg-lime-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.over:border-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.focus:ring-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.hover:bg-amber-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.over:border-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n (click)=\"onClose()\">\r\n @if ((this.spxSeverity() | isSeverity: SpxSeverity.info)) {\r\n <fa-icon\r\n [icon]=\"faCircleInfo\" class=\"block text-xl text-cyan-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.error) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-red-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.success) {\r\n <fa-icon\r\n [icon]=\"faCheck\" class=\"block text-xl text-lime-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.warning) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-amber-600\"></fa-icon>\r\n }\r\n <div class=\"grow\">\r\n @if (this.spxTitle() && !this.spxHideTitle()) {\r\n <p class=\"font-bold\">{{this.spxTitle()}}</p>\r\n }\r\n <p class=\"text-sm\">\r\n <ng-content></ng-content>\r\n </p>\r\n </div>\r\n @if (this.spxCloseable()) {\r\n <fa-icon\r\n [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\r\n }\r\n </div>" }]
69
68
  }] });
70
69
 
71
70
  class SpxAlertI {
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-alert.mjs","sources":["../../../../projects/softpak/components/spx-alert/spx-alert.component.ts","../../../../projects/softpak/components/spx-alert/spx-alert.component.html","../../../../projects/softpak/components/spx-alert/spx-alert.interface.ts","../../../../projects/softpak/components/spx-alert/softpak-components-spx-alert.ts"],"sourcesContent":["\r\nimport { ChangeDetectionStrategy, Component, input, model, output, signal } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faCheck, faCircleInfo, faTimes, faTriangleExclamation } from '@fortawesome/free-solid-svg-icons';\r\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\r\nimport { IsSeverityPipe } from \"@softpak/components/spx-pipes\";\r\n\r\n@Component({\r\n selector: 'spx-alert',\r\n imports: [\r\n FontAwesomeModule,\r\n IsSeverityPipe\r\n],\r\n templateUrl: './spx-alert.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n styleUrl: './spx-alert.component.scss',\r\n})\r\nexport class SpxAlertComponent {\r\n _autoCloseTimeout = signal<NodeJS.Timeout | null>(null);\r\n spxClose = output();\r\n readonly spxAutoclose = input<number>();\r\n readonly spxCloseable = input<boolean | undefined>(false);\r\n readonly spxHideTitle = input(false);\r\n readonly spxTitle = model<string>();\r\n readonly spxMarginTop = input(false);\r\n readonly spxSeverity = input<SpxSeverityEnum>();\r\n SpxSeverity = SpxSeverityEnum;\r\n faCheck = faCheck;\r\n faCircleInfo = faCircleInfo;\r\n faTriangleExclamation = faTriangleExclamation;\r\n faTimes = faTimes;\r\n\r\n componentDidLoad() {\r\n if (this.spxAutoclose()) {\r\n this.prepareAutoClose();\r\n }\r\n if (!this.spxTitle()) {\r\n this._assignDefaultTitle();\r\n }\r\n }\r\n\r\n private prepareAutoClose(): void {\r\n this._autoCloseTimeout.set(setTimeout(() => {\r\n this.onClose();\r\n this._autoCloseTimeout.set(null);\r\n }, this.spxAutoclose()));\r\n }\r\n\r\n private _assignDefaultTitle(): void {\r\n switch (this.spxSeverity()) {\r\n case SpxSeverityEnum.error:\r\n this.spxTitle.set('Error');\r\n break;\r\n case SpxSeverityEnum.info:\r\n this.spxTitle.set('Info');\r\n break;\r\n case SpxSeverityEnum.success:\r\n this.spxTitle.set('Notification');\r\n break;\r\n case SpxSeverityEnum.warning:\r\n this.spxTitle.set('Warning');\r\n break;\r\n }\r\n }\r\n\r\n onClose() {\r\n if (this.spxCloseable()) {\r\n this.spxClose.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"flex items-center gap-3 border-t-4 rounded px-4 py-3 shadow-md\"\r\n [class.cursor-pointer]=\"this.spxCloseable()\"\r\n [class.bg-red-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.border-red-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.text-red-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.bg-cyan-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.border-cyan-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.text-cyan-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.bg-lime-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.border-lime-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.text-lime-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.bg-amber-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.border-amber-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.text-amber-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.hover:bg-red-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.over:border-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.focus:ring-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.hover:bg-cyan-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.over:border-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.hover:bg-lime-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.over:border-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.focus:ring-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.hover:bg-amber-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.over:border-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n (click)=\"onClose()\">\r\n @if ((this.spxSeverity() | isSeverity: SpxSeverity.info)) {\r\n <fa-icon\r\n [icon]=\"faCircleInfo\" class=\"block text-xl text-cyan-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.error) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-red-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.success) {\r\n <fa-icon\r\n [icon]=\"faCheck\" class=\"block text-xl text-lime-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.warning) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-amber-600\"></fa-icon>\r\n }\r\n <div class=\"grow\">\r\n @if (this.spxTitle() && !this.spxHideTitle()) {\r\n <p class=\"font-bold\">{{this.spxTitle()}}</p>\r\n }\r\n <p class=\"text-sm\">\r\n <ng-content></ng-content>\r\n </p>\r\n </div>\r\n @if (this.spxCloseable()) {\r\n <fa-icon\r\n [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\r\n }\r\n </div>","import { SpxSeverityEnum } from \"@softpak/components/spx-helpers\";\r\n\r\nexport class SpxAlertI {\r\n closeable?: boolean;\r\n id?: number;\r\n message?: string;\r\n severity?: SpxSeverityEnum;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAkBa,iBAAiB,CAAA;AAX9B,IAAA,WAAA,GAAA;AAYE,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAwB,IAAI,CAAC;QACvD,IAAQ,CAAA,QAAA,GAAG,MAAM,EAAE;QACV,IAAY,CAAA,YAAA,GAAG,KAAK,EAAU;AAC9B,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAsB,KAAK,CAAC;AAChD,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,IAAQ,CAAA,QAAA,GAAG,KAAK,EAAU;AAC1B,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,IAAW,CAAA,WAAA,GAAG,KAAK,EAAmB;QAC/C,IAAW,CAAA,WAAA,GAAG,eAAe;QAC7B,IAAO,CAAA,OAAA,GAAG,OAAO;QACjB,IAAY,CAAA,YAAA,GAAG,YAAY;QAC3B,IAAqB,CAAA,qBAAA,GAAG,qBAAqB;QAC7C,IAAO,CAAA,OAAA,GAAG,OAAO;AAwClB;IAtCC,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvB,IAAI,CAAC,gBAAgB,EAAE;;AAEzB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,mBAAmB,EAAE;;;IAItB,gBAAgB,GAAA;QACtB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,MAAK;YACzC,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;AAClC,SAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;;IAGlB,mBAAmB,GAAA;AACzB,QAAA,QAAQ,IAAI,CAAC,WAAW,EAAE;YACxB,KAAK,eAAe,CAAC,KAAK;AACxB,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC1B;YACF,KAAK,eAAe,CAAC,IAAI;AACvB,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBACzB;YACF,KAAK,eAAe,CAAC,OAAO;AAC1B,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;gBACjC;YACF,KAAK,eAAe,CAAC,OAAO;AAC1B,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC5B;;;IAIN,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;;8GAlDb,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EClB9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,slHAuDQ,ED7CJ,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,wPACjB,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAOL,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAX7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACZ,OAAA,EAAA;wBACT,iBAAiB;wBACjB;AACH,qBAAA,EAAA,eAAA,EAEoB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,QAAA,EAAA,slHAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;;MEbP,SAAS,CAAA;AAKrB;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"softpak-components-spx-alert.mjs","sources":["../../../../projects/softpak/components/spx-alert/spx-alert.component.ts","../../../../projects/softpak/components/spx-alert/spx-alert.component.html","../../../../projects/softpak/components/spx-alert/spx-alert.interface.ts","../../../../projects/softpak/components/spx-alert/softpak-components-spx-alert.ts"],"sourcesContent":["\r\nimport { Component, input, model, output } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faCheck, faCircleInfo, faTimes, faTriangleExclamation } from '@fortawesome/free-solid-svg-icons';\r\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\r\nimport { IsSeverityPipe } from \"@softpak/components/spx-pipes\";\r\n\r\n@Component({\r\n selector: 'spx-alert',\r\n imports: [\r\n FontAwesomeModule,\r\n IsSeverityPipe\r\n],\r\n templateUrl: './spx-alert.component.html'\r\n})\r\nexport class SpxAlertComponent {\r\n _autoCloseTimeout: any;\r\n spxClose = output();\r\n readonly spxAutoclose = input<number>();\r\n readonly spxCloseable = input<boolean | undefined>(false);\r\n readonly spxHideTitle = input(false);\r\n readonly spxTitle = model<string>();\r\n readonly spxMarginTop = input(false);\r\n readonly spxSeverity = input<SpxSeverityEnum>();\r\n SpxSeverity = SpxSeverityEnum;\r\n faCheck = faCheck;\r\n faCircleInfo = faCircleInfo;\r\n faTriangleExclamation = faTriangleExclamation;\r\n faTimes = faTimes;\r\n\r\n componentDidLoad() {\r\n if (this.spxAutoclose()) {\r\n this.prepareAutoClose();\r\n }\r\n if (!this.spxTitle()) {\r\n this._assignDefaultTitle();\r\n }\r\n }\r\n\r\n private prepareAutoClose(): void {\r\n this._autoCloseTimeout = setTimeout(() => {\r\n this.onClose();\r\n this._autoCloseTimeout = null;\r\n }, this.spxAutoclose());\r\n }\r\n\r\n private _assignDefaultTitle(): void {\r\n switch (this.spxSeverity()) {\r\n case SpxSeverityEnum.error:\r\n this.spxTitle.set('Error');\r\n break;\r\n case SpxSeverityEnum.info:\r\n this.spxTitle.set('Info');\r\n break;\r\n case SpxSeverityEnum.success:\r\n this.spxTitle.set('Notification');\r\n break;\r\n case SpxSeverityEnum.warning:\r\n this.spxTitle.set('Warning');\r\n break;\r\n }\r\n }\r\n\r\n onClose() {\r\n if (this.spxCloseable()) {\r\n this.spxClose.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"flex items-center gap-3 border-t-4 rounded px-4 py-3 shadow-md\"\r\n [class.cursor-pointer]=\"this.spxCloseable()\"\r\n [class.bg-red-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.border-red-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.text-red-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.bg-cyan-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.border-cyan-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.text-cyan-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.info\"\r\n [class.bg-lime-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.border-lime-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.text-lime-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.bg-amber-100]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.border-amber-500]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.text-amber-900]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.hover:bg-red-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.over:border-red-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.error)\"\r\n [class.focus:ring-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.hover:bg-cyan-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.over:border-cyan-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.hover:bg-lime-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.over:border-lime-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.success)\"\r\n [class.focus:ring-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.hover:bg-amber-200]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n [class.over:border-amber-600]=\"this.spxCloseable() && (this.spxSeverity() | isSeverity: SpxSeverity.warning)\"\r\n (click)=\"onClose()\">\r\n @if ((this.spxSeverity() | isSeverity: SpxSeverity.info)) {\r\n <fa-icon\r\n [icon]=\"faCircleInfo\" class=\"block text-xl text-cyan-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.error) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-red-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.success) {\r\n <fa-icon\r\n [icon]=\"faCheck\" class=\"block text-xl text-lime-600\"></fa-icon>\r\n }\r\n @if (this.spxSeverity() | isSeverity: SpxSeverity.warning) {\r\n <fa-icon\r\n [icon]=\"faTriangleExclamation\" class=\"block text-xl text-amber-600\"></fa-icon>\r\n }\r\n <div class=\"grow\">\r\n @if (this.spxTitle() && !this.spxHideTitle()) {\r\n <p class=\"font-bold\">{{this.spxTitle()}}</p>\r\n }\r\n <p class=\"text-sm\">\r\n <ng-content></ng-content>\r\n </p>\r\n </div>\r\n @if (this.spxCloseable()) {\r\n <fa-icon\r\n [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\r\n }\r\n </div>","import { SpxSeverityEnum } from \"@softpak/components/spx-helpers\";\r\n\r\nexport class SpxAlertI {\r\n closeable?: boolean;\r\n id?: number;\r\n message?: string;\r\n severity?: SpxSeverityEnum;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, signal, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { Component, Input } from '@angular/core';
3
3
  import { DateTime } from 'luxon';
4
4
 
5
5
  const spxCheckExpiryWarning = (appStoreVersion, spxAppExpiry) => {
@@ -16,36 +16,104 @@ const spxCheckExpiryHappened = (appStoreVersion, spxAppExpiry) => {
16
16
 
17
17
  class SpxAppExpiryComponent {
18
18
  constructor() {
19
- this.txtContactHelpdeskOrSoftpak = input.required();
20
- this.txtExpired = input.required();
21
- this.txtLastReminder = input.required();
22
- this.txtPleaseOpenTheAppStore = input.required();
23
- this.txtPleaseUpdate = input.required();
24
- this.txtThisVersionWillExpireSoon = input.required();
25
- this.txtUpdateAvailable = input.required();
26
- this.txtUpdateTheAppToTheLatestVersion = input.required();
27
- this.spxExpiry = input.required();
28
- this.spxVersion = input.required();
29
- this.warning = signal(false);
30
- this.finalWarning = signal(false);
31
- this.expired = signal(false);
19
+ this.warning = false;
20
+ this.finalWarning = false;
21
+ this.expired = false;
32
22
  }
33
23
  ngOnChanges() {
34
- const spxExpiry = this.spxExpiry();
35
- const spxVersion = this.spxVersion();
36
- if (spxExpiry && spxVersion) {
37
- this.expired.set(spxCheckExpiryHappened(spxVersion, spxExpiry));
38
- this.finalWarning.set(spxCheckExpiryFinalWarning(spxVersion, spxExpiry) && !this.expired());
39
- this.warning.set(spxCheckExpiryWarning(spxVersion, spxExpiry) && !this.finalWarning && !this.expired());
24
+ if (this.spxExpiry && this.spxVersion) {
25
+ this.expired = spxCheckExpiryHappened(this.spxVersion, this.spxExpiry);
26
+ this.finalWarning = spxCheckExpiryFinalWarning(this.spxVersion, this.spxExpiry) && !this.expired;
27
+ this.warning = spxCheckExpiryWarning(this.spxVersion, this.spxExpiry) && !this.finalWarning && !this.expired;
40
28
  }
41
29
  }
42
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxAppExpiryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxAppExpiryComponent, isStandalone: true, selector: "spx-app-expiry", inputs: { txtContactHelpdeskOrSoftpak: { classPropertyName: "txtContactHelpdeskOrSoftpak", publicName: "txtContactHelpdeskOrSoftpak", isSignal: true, isRequired: true, transformFunction: null }, txtExpired: { classPropertyName: "txtExpired", publicName: "txtExpired", isSignal: true, isRequired: true, transformFunction: null }, txtLastReminder: { classPropertyName: "txtLastReminder", publicName: "txtLastReminder", isSignal: true, isRequired: true, transformFunction: null }, txtPleaseOpenTheAppStore: { classPropertyName: "txtPleaseOpenTheAppStore", publicName: "txtPleaseOpenTheAppStore", isSignal: true, isRequired: true, transformFunction: null }, txtPleaseUpdate: { classPropertyName: "txtPleaseUpdate", publicName: "txtPleaseUpdate", isSignal: true, isRequired: true, transformFunction: null }, txtThisVersionWillExpireSoon: { classPropertyName: "txtThisVersionWillExpireSoon", publicName: "txtThisVersionWillExpireSoon", isSignal: true, isRequired: true, transformFunction: null }, txtUpdateAvailable: { classPropertyName: "txtUpdateAvailable", publicName: "txtUpdateAvailable", isSignal: true, isRequired: true, transformFunction: null }, txtUpdateTheAppToTheLatestVersion: { classPropertyName: "txtUpdateTheAppToTheLatestVersion", publicName: "txtUpdateTheAppToTheLatestVersion", isSignal: true, isRequired: true, transformFunction: null }, spxExpiry: { classPropertyName: "spxExpiry", publicName: "spxExpiry", isSignal: true, isRequired: true, transformFunction: null }, spxVersion: { classPropertyName: "spxVersion", publicName: "spxVersion", isSignal: true, isRequired: true, transformFunction: null } }, usesOnChanges: true, ngImport: i0, template: "@if (warning() || finalWarning() || expired()) {\r\n <div class=\"m-3\">\r\n <div\r\n class=\"p-3 font-bold text-white rounded-t text-xl\"\r\n [class.bg-lime-600]=\"warning()\"\r\n [class.bg-red-600]=\"expired()\"\r\n [class.bg-amber-600]=\"finalWarning()\">\r\n @if (warning()) {\r\n {{ txtUpdateAvailable() }}\r\n }\r\n @if (finalWarning()) {\r\n {{ txtLastReminder() }}\r\n }\r\n @if (expired()) {\r\n {{ txtExpired() }}\r\n }\r\n </div>\r\n <div\r\n class=\"bg-amber-50 p-3 text-black rounded-b mb-3\">\r\n <div>{{ txtPleaseOpenTheAppStore() }}.</div>\r\n <div>{{ txtUpdateTheAppToTheLatestVersion() }}.</div>\r\n <div>{{ txtContactHelpdeskOrSoftpak() }}.</div>\r\n @if (finalWarning()) {\r\n <div>{{ txtThisVersionWillExpireSoon() }}.</div>\r\n }\r\n </div>\r\n </div>\r\n}", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxAppExpiryComponent, isStandalone: true, selector: "spx-app-expiry", inputs: { txtContactHelpdeskOrSoftpak: "txtContactHelpdeskOrSoftpak", txtExpired: "txtExpired", txtLastReminder: "txtLastReminder", txtPleaseOpenTheAppStore: "txtPleaseOpenTheAppStore", txtPleaseUpdate: "txtPleaseUpdate", txtThisVersionWillExpireSoon: "txtThisVersionWillExpireSoon", txtUpdateAvailable: "txtUpdateAvailable", txtUpdateTheAppToTheLatestVersion: "txtUpdateTheAppToTheLatestVersion", spxExpiry: "spxExpiry", spxVersion: "spxVersion" }, usesOnChanges: true, ngImport: i0, template: `
32
+ @if (warning || finalWarning || expired) {
33
+ <div class="m-3">
34
+ <div
35
+ class="p-3 font-bold text-white rounded-t text-xl"
36
+ [class.bg-lime-600]="warning"
37
+ [class.bg-red-600]="expired"
38
+ [class.bg-amber-600]="finalWarning">
39
+ @if (warning) {
40
+ {{ txtUpdateAvailable }}
41
+ }
42
+ @if (finalWarning) {
43
+ {{ txtLastReminder }}
44
+ }
45
+ @if (expired) {
46
+ {{ txtExpired }}
47
+ }
48
+ </div>
49
+ <div
50
+ class="bg-amber-50 p-3 text-black rounded-b mb-3">
51
+ <div>{{ txtPleaseOpenTheAppStore }}.</div>
52
+ <div>{{ txtUpdateTheAppToTheLatestVersion }}.</div>
53
+ <div>{{ txtContactHelpdeskOrSoftpak }}.</div>
54
+ @if (finalWarning) {
55
+ <div>{{ txtThisVersionWillExpireSoon }}.</div>
56
+ }
57
+ </div>
58
+ </div>
59
+ }`, isInline: true }); }
44
60
  }
45
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxAppExpiryComponent, decorators: [{
46
62
  type: Component,
47
- args: [{ selector: 'spx-app-expiry', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "@if (warning() || finalWarning() || expired()) {\r\n <div class=\"m-3\">\r\n <div\r\n class=\"p-3 font-bold text-white rounded-t text-xl\"\r\n [class.bg-lime-600]=\"warning()\"\r\n [class.bg-red-600]=\"expired()\"\r\n [class.bg-amber-600]=\"finalWarning()\">\r\n @if (warning()) {\r\n {{ txtUpdateAvailable() }}\r\n }\r\n @if (finalWarning()) {\r\n {{ txtLastReminder() }}\r\n }\r\n @if (expired()) {\r\n {{ txtExpired() }}\r\n }\r\n </div>\r\n <div\r\n class=\"bg-amber-50 p-3 text-black rounded-b mb-3\">\r\n <div>{{ txtPleaseOpenTheAppStore() }}.</div>\r\n <div>{{ txtUpdateTheAppToTheLatestVersion() }}.</div>\r\n <div>{{ txtContactHelpdeskOrSoftpak() }}.</div>\r\n @if (finalWarning()) {\r\n <div>{{ txtThisVersionWillExpireSoon() }}.</div>\r\n }\r\n </div>\r\n </div>\r\n}" }]
48
- }] });
63
+ args: [{
64
+ selector: 'spx-app-expiry',
65
+ imports: [],
66
+ template: `
67
+ @if (warning || finalWarning || expired) {
68
+ <div class="m-3">
69
+ <div
70
+ class="p-3 font-bold text-white rounded-t text-xl"
71
+ [class.bg-lime-600]="warning"
72
+ [class.bg-red-600]="expired"
73
+ [class.bg-amber-600]="finalWarning">
74
+ @if (warning) {
75
+ {{ txtUpdateAvailable }}
76
+ }
77
+ @if (finalWarning) {
78
+ {{ txtLastReminder }}
79
+ }
80
+ @if (expired) {
81
+ {{ txtExpired }}
82
+ }
83
+ </div>
84
+ <div
85
+ class="bg-amber-50 p-3 text-black rounded-b mb-3">
86
+ <div>{{ txtPleaseOpenTheAppStore }}.</div>
87
+ <div>{{ txtUpdateTheAppToTheLatestVersion }}.</div>
88
+ <div>{{ txtContactHelpdeskOrSoftpak }}.</div>
89
+ @if (finalWarning) {
90
+ <div>{{ txtThisVersionWillExpireSoon }}.</div>
91
+ }
92
+ </div>
93
+ </div>
94
+ }`
95
+ }]
96
+ }], propDecorators: { txtContactHelpdeskOrSoftpak: [{
97
+ type: Input
98
+ }], txtExpired: [{
99
+ type: Input
100
+ }], txtLastReminder: [{
101
+ type: Input
102
+ }], txtPleaseOpenTheAppStore: [{
103
+ type: Input
104
+ }], txtPleaseUpdate: [{
105
+ type: Input
106
+ }], txtThisVersionWillExpireSoon: [{
107
+ type: Input
108
+ }], txtUpdateAvailable: [{
109
+ type: Input
110
+ }], txtUpdateTheAppToTheLatestVersion: [{
111
+ type: Input
112
+ }], spxExpiry: [{
113
+ type: Input
114
+ }], spxVersion: [{
115
+ type: Input
116
+ }] } });
49
117
 
50
118
  /**
51
119
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-app-expiry.mjs","sources":["../../../../projects/softpak/components/spx-app-expiry/spx-check-expiry-warning.interface.ts","../../../../projects/softpak/components/spx-app-expiry/spx-check-expiry-final-warning.interface.ts","../../../../projects/softpak/components/spx-app-expiry/spx-check-expiry-happened.interface.ts","../../../../projects/softpak/components/spx-app-expiry/spx-app-expiry.component.ts","../../../../projects/softpak/components/spx-app-expiry/spx-app-expiry.component.html","../../../../projects/softpak/components/spx-app-expiry/softpak-components-spx-app-expiry.ts"],"sourcesContent":["import { DateTime } from \"luxon\";\r\nimport { SpxAppExpiryI } from \"./spx-app-expiry.interface\";\r\n\r\nexport const spxCheckExpiryWarning = (appStoreVersion: string, spxAppExpiry?: SpxAppExpiryI): boolean => {\r\n return spxAppExpiry !== undefined && appStoreVersion.substring(0,3) !== spxAppExpiry.requiredVersion.substring(0,3) && DateTime.now() > spxAppExpiry.warning;\r\n}","import { DateTime } from \"luxon\";\r\nimport { SpxAppExpiryI } from \"./spx-app-expiry.interface\";\r\n\r\nexport const spxCheckExpiryFinalWarning = (appStoreVersion: string, spxAppExpiry?: SpxAppExpiryI) => {\r\n return spxAppExpiry !== undefined && appStoreVersion.substring(0,3) !== spxAppExpiry.requiredVersion.substring(0,3) && DateTime.now() > spxAppExpiry.finalWarning;\r\n}","import { DateTime } from \"luxon\";\r\nimport { SpxAppExpiryI } from \"./spx-app-expiry.interface\";\r\n\r\nexport const spxCheckExpiryHappened = (appStoreVersion: string, spxAppExpiry: SpxAppExpiryI): boolean => {\r\n return spxAppExpiry !== undefined && appStoreVersion.substring(0,3) !== spxAppExpiry.requiredVersion.substring(0,3) && DateTime.now() > spxAppExpiry.expiry;\r\n}","\r\nimport { ChangeDetectionStrategy, Component, OnChanges, input, signal } from '@angular/core';\r\nimport { SpxAppExpiryI } from './spx-app-expiry.interface';\r\nimport { spxCheckExpiryWarning } from './spx-check-expiry-warning.interface';\r\nimport { spxCheckExpiryFinalWarning } from './spx-check-expiry-final-warning.interface';\r\nimport { spxCheckExpiryHappened } from './spx-check-expiry-happened.interface';\r\n\r\n@Component({\r\n selector: 'spx-app-expiry',\r\n imports: [],\r\n templateUrl: './spx-app-expiry.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush, \r\n standalone: true,\r\n})\r\nexport class SpxAppExpiryComponent implements OnChanges {\r\n readonly txtContactHelpdeskOrSoftpak = input.required<string>();\r\n readonly txtExpired = input.required<string>();\r\n readonly txtLastReminder = input.required<string>();\r\n readonly txtPleaseOpenTheAppStore = input.required<string>();\r\n readonly txtPleaseUpdate = input.required<string>();\r\n readonly txtThisVersionWillExpireSoon = input.required<string>();\r\n readonly txtUpdateAvailable = input.required<string>();\r\n readonly txtUpdateTheAppToTheLatestVersion = input.required<string>();\r\n readonly spxExpiry = input.required<SpxAppExpiryI>();\r\n readonly spxVersion = input.required<string>();\r\n warning = signal<boolean>(false);\r\n finalWarning = signal<boolean>(false);\r\n expired = signal<boolean>(false);\r\n ngOnChanges(): void {\r\n const spxExpiry = this.spxExpiry();\r\n const spxVersion = this.spxVersion();\r\n if (spxExpiry && spxVersion) {\r\n this.expired.set(spxCheckExpiryHappened(spxVersion, spxExpiry));\r\n this.finalWarning.set(spxCheckExpiryFinalWarning(spxVersion, spxExpiry) && !this.expired());\r\n this.warning.set(spxCheckExpiryWarning(spxVersion, spxExpiry) && !this.finalWarning && !this.expired());\r\n }\r\n }\r\n}\r\n","@if (warning() || finalWarning() || expired()) {\r\n <div class=\"m-3\">\r\n <div\r\n class=\"p-3 font-bold text-white rounded-t text-xl\"\r\n [class.bg-lime-600]=\"warning()\"\r\n [class.bg-red-600]=\"expired()\"\r\n [class.bg-amber-600]=\"finalWarning()\">\r\n @if (warning()) {\r\n {{ txtUpdateAvailable() }}\r\n }\r\n @if (finalWarning()) {\r\n {{ txtLastReminder() }}\r\n }\r\n @if (expired()) {\r\n {{ txtExpired() }}\r\n }\r\n </div>\r\n <div\r\n class=\"bg-amber-50 p-3 text-black rounded-b mb-3\">\r\n <div>{{ txtPleaseOpenTheAppStore() }}.</div>\r\n <div>{{ txtUpdateTheAppToTheLatestVersion() }}.</div>\r\n <div>{{ txtContactHelpdeskOrSoftpak() }}.</div>\r\n @if (finalWarning()) {\r\n <div>{{ txtThisVersionWillExpireSoon() }}.</div>\r\n }\r\n </div>\r\n </div>\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-app-expiry.mjs","sources":["../../../../projects/softpak/components/spx-app-expiry/spx-check-expiry-warning.interface.ts","../../../../projects/softpak/components/spx-app-expiry/spx-check-expiry-final-warning.interface.ts","../../../../projects/softpak/components/spx-app-expiry/spx-check-expiry-happened.interface.ts","../../../../projects/softpak/components/spx-app-expiry/spx-app-expiry.component.ts","../../../../projects/softpak/components/spx-app-expiry/softpak-components-spx-app-expiry.ts"],"sourcesContent":["import { DateTime } from \"luxon\";\r\nimport { SpxAppExpiryI } from \"./spx-app-expiry.interface\";\r\n\r\nexport const spxCheckExpiryWarning = (appStoreVersion: string, spxAppExpiry?: SpxAppExpiryI): boolean => {\r\n return spxAppExpiry !== undefined && appStoreVersion.substring(0,3) !== spxAppExpiry.requiredVersion.substring(0,3) && DateTime.now() > spxAppExpiry.warning;\r\n}","import { DateTime } from \"luxon\";\r\nimport { SpxAppExpiryI } from \"./spx-app-expiry.interface\";\r\n\r\nexport const spxCheckExpiryFinalWarning = (appStoreVersion: string, spxAppExpiry?: SpxAppExpiryI) => {\r\n return spxAppExpiry !== undefined && appStoreVersion.substring(0,3) !== spxAppExpiry.requiredVersion.substring(0,3) && DateTime.now() > spxAppExpiry.finalWarning;\r\n}","import { DateTime } from \"luxon\";\r\nimport { SpxAppExpiryI } from \"./spx-app-expiry.interface\";\r\n\r\nexport const spxCheckExpiryHappened = (appStoreVersion: string, spxAppExpiry: SpxAppExpiryI): boolean => {\r\n return spxAppExpiry !== undefined && appStoreVersion.substring(0,3) !== spxAppExpiry.requiredVersion.substring(0,3) && DateTime.now() > spxAppExpiry.expiry;\r\n}","\r\nimport { Component, Input, OnChanges } from '@angular/core';\r\nimport { SpxAppExpiryI } from './spx-app-expiry.interface';\r\nimport { spxCheckExpiryWarning } from './spx-check-expiry-warning.interface';\r\nimport { spxCheckExpiryFinalWarning } from './spx-check-expiry-final-warning.interface';\r\nimport { spxCheckExpiryHappened } from './spx-check-expiry-happened.interface';\r\n\r\n@Component({\r\n selector: 'spx-app-expiry',\r\n imports: [],\r\n template: `\r\n @if (warning || finalWarning || expired) {\r\n <div class=\"m-3\">\r\n <div\r\n class=\"p-3 font-bold text-white rounded-t text-xl\"\r\n [class.bg-lime-600]=\"warning\"\r\n [class.bg-red-600]=\"expired\"\r\n [class.bg-amber-600]=\"finalWarning\">\r\n @if (warning) {\r\n {{ txtUpdateAvailable }}\r\n }\r\n @if (finalWarning) {\r\n {{ txtLastReminder }}\r\n }\r\n @if (expired) {\r\n {{ txtExpired }}\r\n }\r\n </div>\r\n <div\r\n class=\"bg-amber-50 p-3 text-black rounded-b mb-3\">\r\n <div>{{ txtPleaseOpenTheAppStore }}.</div>\r\n <div>{{ txtUpdateTheAppToTheLatestVersion }}.</div>\r\n <div>{{ txtContactHelpdeskOrSoftpak }}.</div>\r\n @if (finalWarning) {\r\n <div>{{ txtThisVersionWillExpireSoon }}.</div>\r\n }\r\n </div>\r\n </div>\r\n }`\r\n})\r\nexport class SpxAppExpiryComponent implements OnChanges {\r\n @Input() txtContactHelpdeskOrSoftpak!: string;\r\n @Input() txtExpired!: string;\r\n @Input() txtLastReminder!: string;\r\n @Input() txtPleaseOpenTheAppStore!: string;\r\n @Input() txtPleaseUpdate!: string;\r\n @Input() txtThisVersionWillExpireSoon!: string;\r\n @Input() txtUpdateAvailable!: string;\r\n @Input() txtUpdateTheAppToTheLatestVersion!: string;\r\n @Input() spxExpiry!: SpxAppExpiryI;\r\n @Input() spxVersion!: string;\r\n warning = false;\r\n finalWarning = false;\r\n expired = false;\r\n ngOnChanges(): void {\r\n if (this.spxExpiry && this.spxVersion) {\r\n this.expired = spxCheckExpiryHappened(this.spxVersion, this.spxExpiry);\r\n this.finalWarning = spxCheckExpiryFinalWarning(this.spxVersion, this.spxExpiry) && !this.expired;\r\n this.warning = spxCheckExpiryWarning(this.spxVersion, this.spxExpiry) && !this.finalWarning && !this.expired;\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { NgClass } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { input, output, viewChild, Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { input, output, viewChild, Component, ChangeDetectionStrategy, HostBinding } from '@angular/core';
4
4
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
5
5
  import { IsSeverityPipe } from '@softpak/components/spx-pipes';
6
6
 
@@ -28,20 +28,34 @@ class SpxButtonComponent {
28
28
  }
29
29
  };
30
30
  }
31
+ get hostClassBlock() {
32
+ return this.spxFullWidth();
33
+ }
34
+ get hostClassHFull() {
35
+ return this.spxFullHeight();
36
+ }
37
+ get hostClassWFull() {
38
+ return this.spxFullWidth();
39
+ }
31
40
  spxSetFocus() {
32
41
  this.buttonRef()?.nativeElement?.focus();
33
42
  }
34
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.5", type: SpxButtonComponent, isStandalone: true, selector: "spx-button", inputs: { spxDisabled: { classPropertyName: "spxDisabled", publicName: "spxDisabled", isSignal: true, isRequired: false, transformFunction: null }, spxClass: { classPropertyName: "spxClass", publicName: "spxClass", isSignal: true, isRequired: false, transformFunction: null }, spxClassObject: { classPropertyName: "spxClassObject", publicName: "spxClassObject", isSignal: true, isRequired: false, transformFunction: null }, spxForm: { classPropertyName: "spxForm", publicName: "spxForm", isSignal: true, isRequired: false, transformFunction: null }, spxFullHeight: { classPropertyName: "spxFullHeight", publicName: "spxFullHeight", isSignal: true, isRequired: false, transformFunction: null }, spxFullWidth: { classPropertyName: "spxFullWidth", publicName: "spxFullWidth", isSignal: true, isRequired: false, transformFunction: null }, spxSeverity: { classPropertyName: "spxSeverity", publicName: "spxSeverity", isSignal: true, isRequired: false, transformFunction: null }, spxSize: { classPropertyName: "spxSize", publicName: "spxSize", isSignal: true, isRequired: false, transformFunction: null }, spxTabIndex: { classPropertyName: "spxTabIndex", publicName: "spxTabIndex", isSignal: true, isRequired: false, transformFunction: null }, spxType: { classPropertyName: "spxType", publicName: "spxType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { spxClick: "spxClick" }, host: { properties: { "class.block": "spxFullWidth()", "class.h-full": "spxFullHeight()", "class.w-full": "spxFullWidth()" } }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["buttonRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\r\n #buttonRef\r\n class=\"border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 bg-gradient-to-r\"\r\n [class.h-full]=\"this.spxFullHeight()\"\r\n [class.w-full]=\"this.spxFullWidth()\"\r\n [class.bg-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.from-red-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.to-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.focus:ring-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.from-lime-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.to-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.focus:ring-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.from-amber-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.to-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.py-2]=\"!this.spxSize() || this.spxSize() === 'lg'\"\r\n [class.py-4]=\"!this.spxSize() || this.spxSize() === 'xl'\"\r\n [class.text-xl]=\"this.spxSize() === 'xl'\"\r\n [class.text-lg]=\"this.spxSize() === 'lg'\"\r\n [class.cursor-pointer]=\"!this.spxDisabled()\"\r\n [class.cursor-not-allowed]=\"this.spxDisabled()\"\r\n [class.opacity-50]=\"this.spxDisabled()\"\r\n [class.focus:ring-0]=\"this.spxDisabled()\"\r\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\"\r\n [attr.disabled]=\"this.spxDisabled() ? this.spxDisabled() : undefined\"\r\n [attr.form]=\"this.spxForm() ? this.spxForm() : undefined\"\r\n [attr.tabindex]=\"this.spxTabIndex() ? this.spxTabIndex() : undefined\"\r\n [attr.type]=\"this.spxType() ? this.spxType() : undefined\"\r\n (click)=\"this.handleClick()\"\r\n part=\"button\">\r\n <ng-content></ng-content>\r\n </button>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: IsSeverityPipe, name: "isSeverity" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.5", type: SpxButtonComponent, isStandalone: true, selector: "spx-button", inputs: { spxDisabled: { classPropertyName: "spxDisabled", publicName: "spxDisabled", isSignal: true, isRequired: false, transformFunction: null }, spxClass: { classPropertyName: "spxClass", publicName: "spxClass", isSignal: true, isRequired: false, transformFunction: null }, spxClassObject: { classPropertyName: "spxClassObject", publicName: "spxClassObject", isSignal: true, isRequired: false, transformFunction: null }, spxForm: { classPropertyName: "spxForm", publicName: "spxForm", isSignal: true, isRequired: false, transformFunction: null }, spxFullHeight: { classPropertyName: "spxFullHeight", publicName: "spxFullHeight", isSignal: true, isRequired: false, transformFunction: null }, spxFullWidth: { classPropertyName: "spxFullWidth", publicName: "spxFullWidth", isSignal: true, isRequired: false, transformFunction: null }, spxSeverity: { classPropertyName: "spxSeverity", publicName: "spxSeverity", isSignal: true, isRequired: false, transformFunction: null }, spxSize: { classPropertyName: "spxSize", publicName: "spxSize", isSignal: true, isRequired: false, transformFunction: null }, spxTabIndex: { classPropertyName: "spxTabIndex", publicName: "spxTabIndex", isSignal: true, isRequired: false, transformFunction: null }, spxType: { classPropertyName: "spxType", publicName: "spxType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { spxClick: "spxClick" }, host: { properties: { "class.block": "this.hostClassBlock", "class.h-full": "this.hostClassHFull", "class.w-full": "this.hostClassWFull" } }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["buttonRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\r\n #buttonRef\r\n class=\"border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 bg-gradient-to-r\"\r\n [class.h-full]=\"this.spxFullHeight()\"\r\n [class.w-full]=\"this.spxFullWidth()\"\r\n [class.bg-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.from-red-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.to-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.focus:ring-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.from-lime-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.to-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.focus:ring-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.from-amber-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.to-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.py-2]=\"!this.spxSize() || this.spxSize() === 'lg'\"\r\n [class.py-4]=\"!this.spxSize() || this.spxSize() === 'xl'\"\r\n [class.text-xl]=\"this.spxSize() === 'xl'\"\r\n [class.text-lg]=\"this.spxSize() === 'lg'\"\r\n [class.cursor-pointer]=\"!this.spxDisabled()\"\r\n [class.cursor-not-allowed]=\"this.spxDisabled()\"\r\n [class.opacity-50]=\"this.spxDisabled()\"\r\n [class.focus:ring-0]=\"this.spxDisabled()\"\r\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\"\r\n [attr.disabled]=\"this.spxDisabled() ? this.spxDisabled() : undefined\"\r\n [attr.form]=\"this.spxForm() ? this.spxForm() : undefined\"\r\n [attr.tabindex]=\"this.spxTabIndex() ? this.spxTabIndex() : undefined\"\r\n [attr.type]=\"this.spxType() ? this.spxType() : undefined\"\r\n (click)=\"this.handleClick()\"\r\n part=\"button\">\r\n <ng-content></ng-content>\r\n </button>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: IsSeverityPipe, name: "isSeverity" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
45
  }
37
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxButtonComponent, decorators: [{
38
47
  type: Component,
39
- args: [{ selector: 'spx-button', imports: [NgClass, IsSeverityPipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
40
- '[class.block]': 'spxFullWidth()',
41
- '[class.h-full]': 'spxFullHeight()',
42
- '[class.w-full]': 'spxFullWidth()',
43
- }, standalone: true, template: "<button\r\n #buttonRef\r\n class=\"border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 bg-gradient-to-r\"\r\n [class.h-full]=\"this.spxFullHeight()\"\r\n [class.w-full]=\"this.spxFullWidth()\"\r\n [class.bg-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.from-red-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.to-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.focus:ring-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.from-lime-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.to-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.focus:ring-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.from-amber-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.to-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.py-2]=\"!this.spxSize() || this.spxSize() === 'lg'\"\r\n [class.py-4]=\"!this.spxSize() || this.spxSize() === 'xl'\"\r\n [class.text-xl]=\"this.spxSize() === 'xl'\"\r\n [class.text-lg]=\"this.spxSize() === 'lg'\"\r\n [class.cursor-pointer]=\"!this.spxDisabled()\"\r\n [class.cursor-not-allowed]=\"this.spxDisabled()\"\r\n [class.opacity-50]=\"this.spxDisabled()\"\r\n [class.focus:ring-0]=\"this.spxDisabled()\"\r\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\"\r\n [attr.disabled]=\"this.spxDisabled() ? this.spxDisabled() : undefined\"\r\n [attr.form]=\"this.spxForm() ? this.spxForm() : undefined\"\r\n [attr.tabindex]=\"this.spxTabIndex() ? this.spxTabIndex() : undefined\"\r\n [attr.type]=\"this.spxType() ? this.spxType() : undefined\"\r\n (click)=\"this.handleClick()\"\r\n part=\"button\">\r\n <ng-content></ng-content>\r\n </button>" }]
44
- }] });
48
+ args: [{ selector: 'spx-button', imports: [NgClass, IsSeverityPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\r\n #buttonRef\r\n class=\"border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 bg-gradient-to-r\"\r\n [class.h-full]=\"this.spxFullHeight()\"\r\n [class.w-full]=\"this.spxFullWidth()\"\r\n [class.bg-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.from-red-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.to-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.focus:ring-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.from-lime-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.to-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.focus:ring-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.from-amber-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.to-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.py-2]=\"!this.spxSize() || this.spxSize() === 'lg'\"\r\n [class.py-4]=\"!this.spxSize() || this.spxSize() === 'xl'\"\r\n [class.text-xl]=\"this.spxSize() === 'xl'\"\r\n [class.text-lg]=\"this.spxSize() === 'lg'\"\r\n [class.cursor-pointer]=\"!this.spxDisabled()\"\r\n [class.cursor-not-allowed]=\"this.spxDisabled()\"\r\n [class.opacity-50]=\"this.spxDisabled()\"\r\n [class.focus:ring-0]=\"this.spxDisabled()\"\r\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\"\r\n [attr.disabled]=\"this.spxDisabled() ? this.spxDisabled() : undefined\"\r\n [attr.form]=\"this.spxForm() ? this.spxForm() : undefined\"\r\n [attr.tabindex]=\"this.spxTabIndex() ? this.spxTabIndex() : undefined\"\r\n [attr.type]=\"this.spxType() ? this.spxType() : undefined\"\r\n (click)=\"this.handleClick()\"\r\n part=\"button\">\r\n <ng-content></ng-content>\r\n </button>" }]
49
+ }], propDecorators: { hostClassBlock: [{
50
+ type: HostBinding,
51
+ args: ['class.block']
52
+ }], hostClassHFull: [{
53
+ type: HostBinding,
54
+ args: ['class.h-full']
55
+ }], hostClassWFull: [{
56
+ type: HostBinding,
57
+ args: ['class.w-full']
58
+ }] } });
45
59
 
46
60
  /**
47
61
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-button.mjs","sources":["../../../../projects/softpak/components/spx-button/spx-button.component.ts","../../../../projects/softpak/components/spx-button/spx-button.component.html","../../../../projects/softpak/components/spx-button/softpak-components-spx-button.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n input,\r\n output,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\r\nimport { IsSeverityPipe } from '@softpak/components/spx-pipes';\r\n\r\n@Component({\r\n selector: 'spx-button',\r\n imports: [NgClass, IsSeverityPipe],\r\n templateUrl: './spx-button.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n '[class.block]': 'spxFullWidth()',\r\n '[class.h-full]': 'spxFullHeight()',\r\n '[class.w-full]': 'spxFullWidth()',\r\n },\r\n standalone: true,\r\n})\r\nexport class SpxButtonComponent {\r\n readonly spxDisabled = input(false);\r\n readonly spxClass = input<string>();\r\n readonly spxClassObject = input<object>();\r\n readonly spxForm = input<string>();\r\n readonly spxFullHeight = input<boolean>();\r\n readonly spxFullWidth = input<boolean>();\r\n readonly spxSeverity = input<SpxSeverityEnum | undefined>(\r\n SpxSeverityEnum.info\r\n );\r\n readonly spxSize = input<'lg' | 'xl'>('lg');\r\n readonly spxTabIndex = input<number>();\r\n readonly spxType = input<'button' | 'submit'>('submit');\r\n spxClick = output();\r\n buttonRef = viewChild<ElementRef<HTMLInputElement>>('buttonRef');\r\n SpxSeverity = SpxSeverityEnum;\r\n\r\n hasShadowDom = (el: HTMLElement) => {\r\n return !!el.shadowRoot && !!(el as any).attachShadow;\r\n };\r\n handleClick = () => {\r\n if (!this.spxDisabled()) {\r\n this.spxClick.emit();\r\n }\r\n };\r\n\r\n spxSetFocus(): void {\r\n this.buttonRef()?.nativeElement?.focus();\r\n }\r\n}\r\n","<button\r\n #buttonRef\r\n class=\"border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 bg-gradient-to-r\"\r\n [class.h-full]=\"this.spxFullHeight()\"\r\n [class.w-full]=\"this.spxFullWidth()\"\r\n [class.bg-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.from-red-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.to-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.focus:ring-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.from-lime-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.to-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.focus:ring-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.from-amber-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.to-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.py-2]=\"!this.spxSize() || this.spxSize() === 'lg'\"\r\n [class.py-4]=\"!this.spxSize() || this.spxSize() === 'xl'\"\r\n [class.text-xl]=\"this.spxSize() === 'xl'\"\r\n [class.text-lg]=\"this.spxSize() === 'lg'\"\r\n [class.cursor-pointer]=\"!this.spxDisabled()\"\r\n [class.cursor-not-allowed]=\"this.spxDisabled()\"\r\n [class.opacity-50]=\"this.spxDisabled()\"\r\n [class.focus:ring-0]=\"this.spxDisabled()\"\r\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\"\r\n [attr.disabled]=\"this.spxDisabled() ? this.spxDisabled() : undefined\"\r\n [attr.form]=\"this.spxForm() ? this.spxForm() : undefined\"\r\n [attr.tabindex]=\"this.spxTabIndex() ? this.spxTabIndex() : undefined\"\r\n [attr.type]=\"this.spxType() ? this.spxType() : undefined\"\r\n (click)=\"this.handleClick()\"\r\n part=\"button\">\r\n <ng-content></ng-content>\r\n </button>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-button.mjs","sources":["../../../../projects/softpak/components/spx-button/spx-button.component.ts","../../../../projects/softpak/components/spx-button/spx-button.component.html","../../../../projects/softpak/components/spx-button/softpak-components-spx-button.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n input,\r\n output,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\r\nimport { IsSeverityPipe } from '@softpak/components/spx-pipes';\r\n\r\n@Component({\r\n selector: 'spx-button',\r\n imports: [NgClass, IsSeverityPipe],\r\n templateUrl: './spx-button.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpxButtonComponent {\r\n @HostBinding('class.block') get hostClassBlock() {\r\n return this.spxFullWidth();\r\n }\r\n @HostBinding('class.h-full') get hostClassHFull() {\r\n return this.spxFullHeight();\r\n }\r\n @HostBinding('class.w-full') get hostClassWFull() {\r\n return this.spxFullWidth();\r\n }\r\n\r\n readonly spxDisabled = input(false);\r\n readonly spxClass = input<string>();\r\n readonly spxClassObject = input<object>();\r\n readonly spxForm = input<string>();\r\n readonly spxFullHeight = input<boolean>();\r\n readonly spxFullWidth = input<boolean>();\r\n readonly spxSeverity = input<SpxSeverityEnum | undefined>(\r\n SpxSeverityEnum.info\r\n );\r\n readonly spxSize = input<'lg' | 'xl'>('lg');\r\n readonly spxTabIndex = input<number>();\r\n readonly spxType = input<'button' | 'submit'>('submit');\r\n spxClick = output();\r\n buttonRef = viewChild<ElementRef<HTMLInputElement>>('buttonRef');\r\n SpxSeverity = SpxSeverityEnum;\r\n\r\n hasShadowDom = (el: HTMLElement) => {\r\n return !!el.shadowRoot && !!(el as any).attachShadow;\r\n };\r\n handleClick = () => {\r\n if (!this.spxDisabled()) {\r\n this.spxClick.emit();\r\n }\r\n };\r\n\r\n spxSetFocus(): void {\r\n this.buttonRef()?.nativeElement?.focus();\r\n }\r\n}\r\n","<button\r\n #buttonRef\r\n class=\"border border-transparent font-bold px-4 relative rounded text-center text-white focus:outline-none focus:ring-2 focus:ring-offset-2 bg-gradient-to-r\"\r\n [class.h-full]=\"this.spxFullHeight()\"\r\n [class.w-full]=\"this.spxFullWidth()\"\r\n [class.bg-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.focus:ring-blue-600]=\"!this.spxSeverity() || (this.spxSeverity() | isSeverity: SpxSeverity.info)\"\r\n [class.from-red-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.to-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.focus:ring-red-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.error\"\r\n [class.from-lime-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.to-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.focus:ring-lime-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.success\"\r\n [class.from-amber-400]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.to-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.focus:ring-amber-600]=\"this.spxSeverity() | isSeverity: SpxSeverity.warning\"\r\n [class.py-2]=\"!this.spxSize() || this.spxSize() === 'lg'\"\r\n [class.py-4]=\"!this.spxSize() || this.spxSize() === 'xl'\"\r\n [class.text-xl]=\"this.spxSize() === 'xl'\"\r\n [class.text-lg]=\"this.spxSize() === 'lg'\"\r\n [class.cursor-pointer]=\"!this.spxDisabled()\"\r\n [class.cursor-not-allowed]=\"this.spxDisabled()\"\r\n [class.opacity-50]=\"this.spxDisabled()\"\r\n [class.focus:ring-0]=\"this.spxDisabled()\"\r\n [ngClass]=\"this.spxClass() ? this.spxClass() : undefined\"\r\n [attr.disabled]=\"this.spxDisabled() ? this.spxDisabled() : undefined\"\r\n [attr.form]=\"this.spxForm() ? this.spxForm() : undefined\"\r\n [attr.tabindex]=\"this.spxTabIndex() ? this.spxTabIndex() : undefined\"\r\n [attr.type]=\"this.spxType() ? this.spxType() : undefined\"\r\n (click)=\"this.handleClick()\"\r\n part=\"button\">\r\n <ng-content></ng-content>\r\n </button>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}