@softpak/components 19.17.0-beta.1 → 19.17.0-beta.3

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.
@@ -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, 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.required<HTMLButtonElement>('button');\n\n setFocus(): void {\n this.buttonRef().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';\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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"}
@@ -8,11 +8,11 @@ class SpxSpinnerComponent {
8
8
  this.spxLoaderText = input.required();
9
9
  }
10
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxSpinnerComponent, isStandalone: true, selector: "spx-spinner", inputs: { spxShow: { classPropertyName: "spxShow", publicName: "spxShow", isSignal: true, isRequired: false, transformFunction: null }, spxLoaderText: { classPropertyName: "spxLoaderText", publicName: "spxLoaderText", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"spx-spinner__wrapper spx-spinner2\"\n [class.is-shown]=\"this.spxShow()\">\n <div class=\"rounded-xl bg-white text-black dark:bg-black absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[150px] h-[150px]\">\n <div class=\"spx-spinner__content\">\n <svg class=\"spx-spinner__image m-auto dark:invert-[1] dark:sepia-[.04] dark:saturate-[.10] dark:hue-rotate-[156deg] dark:brightness-[1.10] dark:contrast-[.76]\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100px\" height=\"100px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <g transform=\"rotate(0 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.9166666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(30 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.8333333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(60 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.75s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(90 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.6666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(120 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5833333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(150 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(180 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.4166666666666667s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(210 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.3333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(240 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.25s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(270 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.16666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(300 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.08333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(330 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"0s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n </svg>\n @if (this.spxLoaderText()) {\n <span class=\"text-black pb-2 block text-center\">{{this.spxLoaderText()}}</span>\n }\n </div>\n </div>\n </div>", styles: [":host{background-color:#00000059;color:#000;position:fixed;height:100%;inset:0;z-index:9}.is-shown{display:block!important;opacity:1;animation:fadeIn .2s forwards,fadeOut .2s forwards}.spx-spinner__wrapper{display:none;position:absolute;right:0;left:0;margin:0 auto;text-align:center;opacity:0;z-index:500000}.spx-spinner__wrapper.spx-spinner1{top:calc(50vh - 25px);width:200px;height:50px}.spx-spinner1 .spx-spinner__ball{display:inline-block;width:50px;height:50px;border-radius:100%;background-color:#0065a4;animation:bouncedelay 1.4s infinite ease-in-out both}.spx-spinner1 .spx-spinner__ball--1{animation-delay:-.32s}.spx-spinner1 .spx-spinner__ball--2{animation-delay:-.16s}.spx-spinner__wrapper.spx-spinner2{top:calc(50vh - 65px);width:100%;max-width:120px}.spx-spinner2 .spx-spinner__content{box-shadow:0 19px 38px #0000004d,0 15px 12px #00000038;background:#fff;border-radius:10px;height:100%;width:100%;margin:0 auto;animation:.2s fadeIn forwards;overflow:hidden}.spx-spinner2 .spx-spinner__image{display:block;margin:0 auto;border-radius:10px}.spx-spinner2 svg{margin:auto;background:#fff;display:block;shape-rendering:auto}.spx-spinner__wrapper.spx-spinner3{top:calc(50vh - 30px)}.spx-spinner3 .spx-spinner__box{animation:loader-rotate 2s infinite linear;display:block;width:60px;height:60px;margin:0 auto}.spx-spinner3 .spx-spinner__dot{animation:dot-bounce 2s infinite ease-in-out;display:inline-block;position:relative;top:0;width:50%;height:50%;border-radius:100%;background-color:#555}.spx-spinner3 .spx-spinner__dot--2{top:auto;bottom:0;animation-delay:-1s}@keyframes loader-rotate{to{transform:rotate(360deg)}}@keyframes dot-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}30%{opacity:.4}to{opacity:1}}@keyframes bouncedelay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"] }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxSpinnerComponent, isStandalone: true, selector: "spx-spinner", inputs: { spxShow: { classPropertyName: "spxShow", publicName: "spxShow", isSignal: true, isRequired: false, transformFunction: null }, spxLoaderText: { classPropertyName: "spxLoaderText", publicName: "spxLoaderText", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"spx-spinner__wrapper spx-spinner2\"\n [class.is-shown]=\"this.spxShow()\">\n <div class=\"rounded-xl bg-white text-black absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[150px] h-[150px]\">\n <div class=\"spx-spinner__content\">\n <svg class=\"spx-spinner__image m-auto\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100px\" height=\"100px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <g transform=\"rotate(0 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.9166666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(30 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.8333333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(60 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.75s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(90 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.6666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(120 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5833333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(150 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(180 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.4166666666666667s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(210 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.3333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(240 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.25s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(270 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.16666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(300 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.08333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(330 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"0s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n </svg>\n @if (this.spxLoaderText()) {\n <span class=\"text-black pb-2 block text-center\">{{this.spxLoaderText()}}</span>\n }\n </div>\n </div>\n </div>", styles: [":host{background-color:#00000059;color:#000;position:fixed;height:100%;inset:0;z-index:9}.is-shown{display:block!important;opacity:1;animation:fadeIn .2s forwards,fadeOut .2s forwards}.spx-spinner__wrapper{display:none;position:absolute;right:0;left:0;margin:0 auto;text-align:center;opacity:0;z-index:500000}.spx-spinner__wrapper.spx-spinner1{top:calc(50vh - 25px);width:200px;height:50px}.spx-spinner1 .spx-spinner__ball{display:inline-block;width:50px;height:50px;border-radius:100%;background-color:#0065a4;animation:bouncedelay 1.4s infinite ease-in-out both}.spx-spinner1 .spx-spinner__ball--1{animation-delay:-.32s}.spx-spinner1 .spx-spinner__ball--2{animation-delay:-.16s}.spx-spinner__wrapper.spx-spinner2{top:calc(50vh - 65px);width:100%;max-width:120px}.spx-spinner2 .spx-spinner__content{box-shadow:0 19px 38px #0000004d,0 15px 12px #00000038;border-radius:10px;height:100%;width:100%;margin:0 auto;animation:.2s fadeIn forwards;overflow:hidden}.spx-spinner2 .spx-spinner__image{display:block;margin:0 auto;border-radius:10px}.spx-spinner2 svg{margin:auto;background:#fff;display:block;shape-rendering:auto}.spx-spinner__wrapper.spx-spinner3{top:calc(50vh - 30px)}.spx-spinner3 .spx-spinner__box{animation:loader-rotate 2s infinite linear;display:block;width:60px;height:60px;margin:0 auto}.spx-spinner3 .spx-spinner__dot{animation:dot-bounce 2s infinite ease-in-out;display:inline-block;position:relative;top:0;width:50%;height:50%;border-radius:100%;background-color:#555}.spx-spinner3 .spx-spinner__dot--2{top:auto;bottom:0;animation-delay:-1s}@keyframes loader-rotate{to{transform:rotate(360deg)}}@keyframes dot-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}30%{opacity:.4}to{opacity:1}}@keyframes bouncedelay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"] }); }
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxSpinnerComponent, decorators: [{
14
14
  type: Component,
15
- args: [{ selector: 'spx-spinner', imports: [], template: "<div class=\"spx-spinner__wrapper spx-spinner2\"\n [class.is-shown]=\"this.spxShow()\">\n <div class=\"rounded-xl bg-white text-black dark:bg-black absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[150px] h-[150px]\">\n <div class=\"spx-spinner__content\">\n <svg class=\"spx-spinner__image m-auto dark:invert-[1] dark:sepia-[.04] dark:saturate-[.10] dark:hue-rotate-[156deg] dark:brightness-[1.10] dark:contrast-[.76]\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100px\" height=\"100px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <g transform=\"rotate(0 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.9166666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(30 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.8333333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(60 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.75s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(90 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.6666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(120 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5833333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(150 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(180 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.4166666666666667s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(210 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.3333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(240 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.25s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(270 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.16666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(300 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.08333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(330 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"0s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n </svg>\n @if (this.spxLoaderText()) {\n <span class=\"text-black pb-2 block text-center\">{{this.spxLoaderText()}}</span>\n }\n </div>\n </div>\n </div>", styles: [":host{background-color:#00000059;color:#000;position:fixed;height:100%;inset:0;z-index:9}.is-shown{display:block!important;opacity:1;animation:fadeIn .2s forwards,fadeOut .2s forwards}.spx-spinner__wrapper{display:none;position:absolute;right:0;left:0;margin:0 auto;text-align:center;opacity:0;z-index:500000}.spx-spinner__wrapper.spx-spinner1{top:calc(50vh - 25px);width:200px;height:50px}.spx-spinner1 .spx-spinner__ball{display:inline-block;width:50px;height:50px;border-radius:100%;background-color:#0065a4;animation:bouncedelay 1.4s infinite ease-in-out both}.spx-spinner1 .spx-spinner__ball--1{animation-delay:-.32s}.spx-spinner1 .spx-spinner__ball--2{animation-delay:-.16s}.spx-spinner__wrapper.spx-spinner2{top:calc(50vh - 65px);width:100%;max-width:120px}.spx-spinner2 .spx-spinner__content{box-shadow:0 19px 38px #0000004d,0 15px 12px #00000038;background:#fff;border-radius:10px;height:100%;width:100%;margin:0 auto;animation:.2s fadeIn forwards;overflow:hidden}.spx-spinner2 .spx-spinner__image{display:block;margin:0 auto;border-radius:10px}.spx-spinner2 svg{margin:auto;background:#fff;display:block;shape-rendering:auto}.spx-spinner__wrapper.spx-spinner3{top:calc(50vh - 30px)}.spx-spinner3 .spx-spinner__box{animation:loader-rotate 2s infinite linear;display:block;width:60px;height:60px;margin:0 auto}.spx-spinner3 .spx-spinner__dot{animation:dot-bounce 2s infinite ease-in-out;display:inline-block;position:relative;top:0;width:50%;height:50%;border-radius:100%;background-color:#555}.spx-spinner3 .spx-spinner__dot--2{top:auto;bottom:0;animation-delay:-1s}@keyframes loader-rotate{to{transform:rotate(360deg)}}@keyframes dot-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}30%{opacity:.4}to{opacity:1}}@keyframes bouncedelay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"] }]
15
+ args: [{ selector: 'spx-spinner', imports: [], template: "<div class=\"spx-spinner__wrapper spx-spinner2\"\n [class.is-shown]=\"this.spxShow()\">\n <div class=\"rounded-xl bg-white text-black absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[150px] h-[150px]\">\n <div class=\"spx-spinner__content\">\n <svg class=\"spx-spinner__image m-auto\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100px\" height=\"100px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <g transform=\"rotate(0 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.9166666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(30 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.8333333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(60 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.75s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(90 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.6666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(120 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5833333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(150 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(180 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.4166666666666667s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(210 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.3333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(240 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.25s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(270 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.16666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(300 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.08333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(330 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"0s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n </svg>\n @if (this.spxLoaderText()) {\n <span class=\"text-black pb-2 block text-center\">{{this.spxLoaderText()}}</span>\n }\n </div>\n </div>\n </div>", styles: [":host{background-color:#00000059;color:#000;position:fixed;height:100%;inset:0;z-index:9}.is-shown{display:block!important;opacity:1;animation:fadeIn .2s forwards,fadeOut .2s forwards}.spx-spinner__wrapper{display:none;position:absolute;right:0;left:0;margin:0 auto;text-align:center;opacity:0;z-index:500000}.spx-spinner__wrapper.spx-spinner1{top:calc(50vh - 25px);width:200px;height:50px}.spx-spinner1 .spx-spinner__ball{display:inline-block;width:50px;height:50px;border-radius:100%;background-color:#0065a4;animation:bouncedelay 1.4s infinite ease-in-out both}.spx-spinner1 .spx-spinner__ball--1{animation-delay:-.32s}.spx-spinner1 .spx-spinner__ball--2{animation-delay:-.16s}.spx-spinner__wrapper.spx-spinner2{top:calc(50vh - 65px);width:100%;max-width:120px}.spx-spinner2 .spx-spinner__content{box-shadow:0 19px 38px #0000004d,0 15px 12px #00000038;border-radius:10px;height:100%;width:100%;margin:0 auto;animation:.2s fadeIn forwards;overflow:hidden}.spx-spinner2 .spx-spinner__image{display:block;margin:0 auto;border-radius:10px}.spx-spinner2 svg{margin:auto;background:#fff;display:block;shape-rendering:auto}.spx-spinner__wrapper.spx-spinner3{top:calc(50vh - 30px)}.spx-spinner3 .spx-spinner__box{animation:loader-rotate 2s infinite linear;display:block;width:60px;height:60px;margin:0 auto}.spx-spinner3 .spx-spinner__dot{animation:dot-bounce 2s infinite ease-in-out;display:inline-block;position:relative;top:0;width:50%;height:50%;border-radius:100%;background-color:#555}.spx-spinner3 .spx-spinner__dot--2{top:auto;bottom:0;animation-delay:-1s}@keyframes loader-rotate{to{transform:rotate(360deg)}}@keyframes dot-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}30%{opacity:.4}to{opacity:1}}@keyframes bouncedelay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"] }]
16
16
  }] });
17
17
 
18
18
  const hide = createAction('[SPX / Spinner] Hide', props());
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-spinner.mjs","sources":["../../../../projects/softpak/components/spx-spinner/spx-spinner.component.ts","../../../../projects/softpak/components/spx-spinner/spx-spinner.component.html","../../../../projects/softpak/components/spx-spinner/store/spx-spinner/spx-spinner.actions.ts","../../../../projects/softpak/components/spx-spinner/store/spx-spinner/spx-spinner.initial.ts","../../../../projects/softpak/components/spx-spinner/store/spx-spinner/spx-spinner.reducer.ts","../../../../projects/softpak/components/spx-spinner/softpak-components-spx-spinner.ts"],"sourcesContent":["\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'spx-spinner',\n imports: [],\n templateUrl: './spx-spinner.component.html',\n styleUrl: './spx-spinner.component.scss',\n})\nexport class SpxSpinnerComponent {\n readonly spxShow = input<boolean>(true);\n readonly spxLoaderText = input.required<string>();\n}\n","<div class=\"spx-spinner__wrapper spx-spinner2\"\n [class.is-shown]=\"this.spxShow()\">\n <div class=\"rounded-xl bg-white text-black dark:bg-black absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[150px] h-[150px]\">\n <div class=\"spx-spinner__content\">\n <svg class=\"spx-spinner__image m-auto dark:invert-[1] dark:sepia-[.04] dark:saturate-[.10] dark:hue-rotate-[156deg] dark:brightness-[1.10] dark:contrast-[.76]\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100px\" height=\"100px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <g transform=\"rotate(0 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.9166666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(30 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.8333333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(60 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.75s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(90 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.6666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(120 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5833333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(150 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(180 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.4166666666666667s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(210 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.3333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(240 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.25s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(270 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.16666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(300 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.08333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(330 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"0s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n </svg>\n @if (this.spxLoaderText()) {\n <span class=\"text-black pb-2 block text-center\">{{this.spxLoaderText()}}</span>\n }\n </div>\n </div>\n </div>","import { createAction, props, union } from '@ngrx/store';\n\nexport const hide = createAction('[SPX / Spinner] Hide', props<Record<string, unknown>>());\nexport const reset = createAction('[SPX / Spinner] Reset', props<Record<string, unknown>>());\nexport const show = createAction('[SPX / Spinner] Show', props<Record<string, unknown>>());\n\nconst all = union({\n hide,\n show,\n});\n\nexport type Actions = typeof all;\n","import { StateI } from \"./spx-spinner.state\";\n\nexport const initialState: StateI = {\n nrOfLoadActions: 0,\n show: false,\n};\n","\nimport * as actions from './spx-spinner.actions';\nimport { createFeature, createReducer, on } from '@ngrx/store';\nimport { StateI } from './spx-spinner.state';\nimport { initialState } from './spx-spinner.initial';\n\nexport default createFeature({\n name: 'spxSpinner',\n reducer: createReducer(\n initialState,\n on(actions.hide, (state: StateI): StateI => {\n return {\n ...state,\n nrOfLoadActions: state.nrOfLoadActions > 1 ? state.nrOfLoadActions - 1 : 0,\n show: state.nrOfLoadActions > 1 ? true : false,\n };\n }),\n on(actions.reset, (state: StateI): StateI => {\n return {\n ...state,\n show: false,\n nrOfLoadActions: 0,\n };\n }),\n on(actions.show, (state: StateI): StateI => {\n return {\n ...state,\n show: true,\n nrOfLoadActions: state.nrOfLoadActions + 1,\n };\n }),\n ),\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["actions.hide","actions.reset","actions.show"],"mappings":";;;;MASa,mBAAmB,CAAA;AANhC,IAAA,WAAA,GAAA;AAOW,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAU,IAAI,CAAC;AAC9B,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAU;AAClD;8GAHY,mBAAmB,EAAA,IAAA,EAAA,EAAA,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,gWCThC,y2JAuEQ,EAAA,MAAA,EAAA,CAAA,gzDAAA,CAAA,EAAA,CAAA,CAAA;;2FD9DK,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,WACd,EAAE,EAAA,QAAA,EAAA,y2JAAA,EAAA,MAAA,EAAA,CAAA,gzDAAA,CAAA,EAAA;;;AEHR,MAAM,IAAI,GAAG,YAAY,CAAC,sBAAsB,EAAE,KAAK,EAA2B,CAAC;AACnF,MAAM,KAAK,GAAG,YAAY,CAAC,uBAAuB,EAAE,KAAK,EAA2B,CAAC;AACrF,MAAM,IAAI,GAAG,YAAY,CAAC,sBAAsB,EAAE,KAAK,EAA2B,CAAC;AAE1F,MAAM,GAAG,GAAG,KAAK,CAAC;IACd,IAAI;IACJ,IAAI;AACP,CAAA,CAAC;;;;;;;;;ACPK,MAAM,YAAY,GAAW;AAChC,IAAA,eAAe,EAAE,CAAC;AAClB,IAAA,IAAI,EAAE,KAAK;CACd;;;;;;;ACCD,yBAAe,aAAa,CAAC;AACzB,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,OAAO,EAAE,aAAa,CAClB,YAAY,EACZ,EAAE,CAACA,IAAY,EAAE,CAAC,KAAa,KAAY;QACvC,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,eAAe,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC;AAC1E,YAAA,IAAI,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK;SACjD;KACF,CAAC,EACF,EAAE,CAACC,KAAa,EAAE,CAAC,KAAa,KAAY;QAC1C,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,eAAe,EAAE,CAAC;SACrB;KACF,CAAC,EACF,EAAE,CAACC,IAAY,EAAE,CAAC,KAAa,KAAY;QACzC,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,eAAe,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC;SAC7C;AACH,KAAC,CAAC,CACP;AACJ,CAAA,CAAC;;;;;;;;;;;AChCF;;AAEG;;;;"}
1
+ {"version":3,"file":"softpak-components-spx-spinner.mjs","sources":["../../../../projects/softpak/components/spx-spinner/spx-spinner.component.ts","../../../../projects/softpak/components/spx-spinner/spx-spinner.component.html","../../../../projects/softpak/components/spx-spinner/store/spx-spinner/spx-spinner.actions.ts","../../../../projects/softpak/components/spx-spinner/store/spx-spinner/spx-spinner.initial.ts","../../../../projects/softpak/components/spx-spinner/store/spx-spinner/spx-spinner.reducer.ts","../../../../projects/softpak/components/spx-spinner/softpak-components-spx-spinner.ts"],"sourcesContent":["\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'spx-spinner',\n imports: [],\n templateUrl: './spx-spinner.component.html',\n styleUrl: './spx-spinner.component.scss',\n})\nexport class SpxSpinnerComponent {\n readonly spxShow = input<boolean>(true);\n readonly spxLoaderText = input.required<string>();\n}\n","<div class=\"spx-spinner__wrapper spx-spinner2\"\n [class.is-shown]=\"this.spxShow()\">\n <div class=\"rounded-xl bg-white text-black absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[150px] h-[150px]\">\n <div class=\"spx-spinner__content\">\n <svg class=\"spx-spinner__image m-auto\" xmlns=\"http://www.w3.org/2000/svg\" width=\"100px\" height=\"100px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n <g transform=\"rotate(0 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.9166666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(30 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.8333333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(60 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.75s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(90 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.6666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(120 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5833333333333334s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(150 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.5s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(180 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.4166666666666667s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(210 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.3333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(240 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.25s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(270 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.16666666666666666s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(300 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"-0.08333333333333333s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n <g transform=\"rotate(330 50 50)\">\n <rect x=\"47.5\" y=\"23.5\" rx=\"2.5\" ry=\"2.75\" width=\"5\" height=\"11\" fill=\"#00457c\">\n <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"1s\" begin=\"0s\" repeatCount=\"indefinite\"></animate>\n </rect>\n </g>\n </svg>\n @if (this.spxLoaderText()) {\n <span class=\"text-black pb-2 block text-center\">{{this.spxLoaderText()}}</span>\n }\n </div>\n </div>\n </div>","import { createAction, props, union } from '@ngrx/store';\n\nexport const hide = createAction('[SPX / Spinner] Hide', props<Record<string, unknown>>());\nexport const reset = createAction('[SPX / Spinner] Reset', props<Record<string, unknown>>());\nexport const show = createAction('[SPX / Spinner] Show', props<Record<string, unknown>>());\n\nconst all = union({\n hide,\n show,\n});\n\nexport type Actions = typeof all;\n","import { StateI } from \"./spx-spinner.state\";\n\nexport const initialState: StateI = {\n nrOfLoadActions: 0,\n show: false,\n};\n","\nimport * as actions from './spx-spinner.actions';\nimport { createFeature, createReducer, on } from '@ngrx/store';\nimport { StateI } from './spx-spinner.state';\nimport { initialState } from './spx-spinner.initial';\n\nexport default createFeature({\n name: 'spxSpinner',\n reducer: createReducer(\n initialState,\n on(actions.hide, (state: StateI): StateI => {\n return {\n ...state,\n nrOfLoadActions: state.nrOfLoadActions > 1 ? state.nrOfLoadActions - 1 : 0,\n show: state.nrOfLoadActions > 1 ? true : false,\n };\n }),\n on(actions.reset, (state: StateI): StateI => {\n return {\n ...state,\n show: false,\n nrOfLoadActions: 0,\n };\n }),\n on(actions.show, (state: StateI): StateI => {\n return {\n ...state,\n show: true,\n nrOfLoadActions: state.nrOfLoadActions + 1,\n };\n }),\n ),\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["actions.hide","actions.reset","actions.show"],"mappings":";;;;MASa,mBAAmB,CAAA;AANhC,IAAA,WAAA,GAAA;AAOW,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAU,IAAI,CAAC;AAC9B,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAU;AAClD;8GAHY,mBAAmB,EAAA,IAAA,EAAA,EAAA,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,gWCThC,kuJAuEQ,EAAA,MAAA,EAAA,CAAA,gyDAAA,CAAA,EAAA,CAAA,CAAA;;2FD9DK,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,WACd,EAAE,EAAA,QAAA,EAAA,kuJAAA,EAAA,MAAA,EAAA,CAAA,gyDAAA,CAAA,EAAA;;;AEHR,MAAM,IAAI,GAAG,YAAY,CAAC,sBAAsB,EAAE,KAAK,EAA2B,CAAC;AACnF,MAAM,KAAK,GAAG,YAAY,CAAC,uBAAuB,EAAE,KAAK,EAA2B,CAAC;AACrF,MAAM,IAAI,GAAG,YAAY,CAAC,sBAAsB,EAAE,KAAK,EAA2B,CAAC;AAE1F,MAAM,GAAG,GAAG,KAAK,CAAC;IACd,IAAI;IACJ,IAAI;AACP,CAAA,CAAC;;;;;;;;;ACPK,MAAM,YAAY,GAAW;AAChC,IAAA,eAAe,EAAE,CAAC;AAClB,IAAA,IAAI,EAAE,KAAK;CACd;;;;;;;ACCD,yBAAe,aAAa,CAAC;AACzB,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,OAAO,EAAE,aAAa,CAClB,YAAY,EACZ,EAAE,CAACA,IAAY,EAAE,CAAC,KAAa,KAAY;QACvC,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,eAAe,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC;AAC1E,YAAA,IAAI,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK;SACjD;KACF,CAAC,EACF,EAAE,CAACC,KAAa,EAAE,CAAC,KAAa,KAAY;QAC1C,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,eAAe,EAAE,CAAC;SACrB;KACF,CAAC,EACF,EAAE,CAACC,IAAY,EAAE,CAAC,KAAa,KAAY;QACzC,OAAO;AACH,YAAA,GAAG,KAAK;AACR,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,eAAe,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC;SAC7C;AACH,KAAC,CAAC,CACP;AACJ,CAAA,CAAC;;;;;;;;;;;AChCF;;AAEG;;;;"}
@@ -1,5 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, output, effect, Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { SpxAlertComponent } from '@softpak/components/spx-alert';
3
4
  import { createAction, props, union, createFeature, createReducer, on } from '@ngrx/store';
4
5
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
5
6
 
@@ -27,8 +28,7 @@ function toasterAutocloseSpeed(autoCloseSpeed, messageText) {
27
28
  }
28
29
 
29
30
  class SpxToasterComponent {
30
- constructor(el) {
31
- this.el = el;
31
+ constructor() {
32
32
  this.messages = input.required();
33
33
  this.spxAutoclose = input();
34
34
  this.spxClose = output();
@@ -42,33 +42,32 @@ class SpxToasterComponent {
42
42
  });
43
43
  });
44
44
  }
45
- // showProgressBar(autoclose: number, id: number) {
46
- // const alertElement = this.el.nativeElement.querySelector(`spx-alert[id="${id}"]`);
47
- // console.log(alertElement);
48
- // if (alertElement) {
49
- // } else {
50
- // console.error(`spx-alert element with ID ${id} not found.`);
51
- // }
52
- // }
53
45
  handleClose(id) {
54
46
  this.spxClose.emit(id);
55
47
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxToasterComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxToasterComponent, isStandalone: true, selector: "spx-toaster", inputs: { messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: true, transformFunction: null }, spxAutoclose: { classPropertyName: "spxAutoclose", publicName: "spxAutoclose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { spxClose: "spxClose" }, host: { classAttribute: "spx-toasts-displayer" }, ngImport: i0, template: "\n@if (messages().length > 0) {\n <div\n class=\"flex flex-col gap-2 fixed bottom-16 left-0 right-0 mx-auto px-3 z-50\">\n @for (message of messages(); track message) {\n <!-- <spx-alert\n [spxAutoclose]=\"message.autoClose\"\n [spxCloseable]=\"message.closeable\"\n [spxSeverity]=\"message.severity\"\n [spxTitle]=\"message.title\"\n (spxClose)=\"handleClose(message.id)\"\n (click)=\"handleClose(message.id)\"\n [id]=\"message.id\"\n >{{message.message}}\n </spx-alert> -->\n }\n </div>\n}", styles: [".progress-bar-container{width:100%;height:5px;background-color:#ccc;margin-top:8px;border-radius:2px;overflow:hidden}.progress-bar{height:100%;background-color:#76c7c0;animation-name:progress;animation-timing-function:ease-in-out;animation-fill-mode:forwards;animation-duration:5000}@keyframes progress{0%{width:0%}to{width:100%}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxToasterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxToasterComponent, isStandalone: true, selector: "spx-toaster", inputs: { messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: true, transformFunction: null }, spxAutoclose: { classPropertyName: "spxAutoclose", publicName: "spxAutoclose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { spxClose: "spxClose" }, host: { classAttribute: "spx-toasts-displayer" }, ngImport: i0, template: "\n@if (messages().length > 0) {\n <div\n class=\"flex flex-col gap-2 fixed bottom-16 left-0 right-0 mx-auto px-3 z-50\">\n @for (message of messages(); track message) {\n <spx-alert\n [spxAutoclose]=\"message.autoClose\"\n [spxCloseable]=\"message.closeable\"\n [spxSeverity]=\"message.severity\"\n [spxTitle]=\"message.title\"\n (spxClose)=\"handleClose(message.id)\"\n (click)=\"handleClose(message.id)\"\n [id]=\"message.id\"\n >{{message.message}}\n </spx-alert>\n }\n </div>\n}", styles: [".progress-bar-container{width:100%;height:5px;background-color:#ccc;margin-top:8px;border-radius:2px;overflow:hidden}.progress-bar{height:100%;background-color:#76c7c0;animation-name:progress;animation-timing-function:ease-in-out;animation-fill-mode:forwards;animation-duration:5000}@keyframes progress{0%{width:0%}to{width:100%}}\n"], dependencies: [{ kind: "component", type: SpxAlertComponent, selector: "spx-alert", inputs: ["spxAutoclose", "spxCloseable", "spxHideTitle", "spxTitle", "spxMarginTop", "spxSeverity"], outputs: ["spxClose", "spxTitleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
58
50
  }
59
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxToasterComponent, decorators: [{
60
52
  type: Component,
61
- args: [{ selector: 'spx-toaster', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
53
+ args: [{ selector: 'spx-toaster', standalone: true, imports: [SpxAlertComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
62
54
  class: 'spx-toasts-displayer',
63
- }, template: "\n@if (messages().length > 0) {\n <div\n class=\"flex flex-col gap-2 fixed bottom-16 left-0 right-0 mx-auto px-3 z-50\">\n @for (message of messages(); track message) {\n <!-- <spx-alert\n [spxAutoclose]=\"message.autoClose\"\n [spxCloseable]=\"message.closeable\"\n [spxSeverity]=\"message.severity\"\n [spxTitle]=\"message.title\"\n (spxClose)=\"handleClose(message.id)\"\n (click)=\"handleClose(message.id)\"\n [id]=\"message.id\"\n >{{message.message}}\n </spx-alert> -->\n }\n </div>\n}", styles: [".progress-bar-container{width:100%;height:5px;background-color:#ccc;margin-top:8px;border-radius:2px;overflow:hidden}.progress-bar{height:100%;background-color:#76c7c0;animation-name:progress;animation-timing-function:ease-in-out;animation-fill-mode:forwards;animation-duration:5000}@keyframes progress{0%{width:0%}to{width:100%}}\n"] }]
64
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
55
+ }, template: "\n@if (messages().length > 0) {\n <div\n class=\"flex flex-col gap-2 fixed bottom-16 left-0 right-0 mx-auto px-3 z-50\">\n @for (message of messages(); track message) {\n <spx-alert\n [spxAutoclose]=\"message.autoClose\"\n [spxCloseable]=\"message.closeable\"\n [spxSeverity]=\"message.severity\"\n [spxTitle]=\"message.title\"\n (spxClose)=\"handleClose(message.id)\"\n (click)=\"handleClose(message.id)\"\n [id]=\"message.id\"\n >{{message.message}}\n </spx-alert>\n }\n </div>\n}", styles: [".progress-bar-container{width:100%;height:5px;background-color:#ccc;margin-top:8px;border-radius:2px;overflow:hidden}.progress-bar{height:100%;background-color:#76c7c0;animation-name:progress;animation-timing-function:ease-in-out;animation-fill-mode:forwards;animation-duration:5000}@keyframes progress{0%{width:0%}to{width:100%}}\n"] }]
56
+ }], ctorParameters: () => [] });
65
57
 
66
58
  class SpxToasterMessageI {
59
+ constructor(message, id, severity, autoClose, closeable) {
60
+ this.autoClose = autoClose;
61
+ this.message = message || '';
62
+ this.id = id;
63
+ this.severity = severity;
64
+ this.closeable = closeable;
65
+ }
67
66
  get autoClose() {
68
67
  return this._autoClose;
69
68
  }
70
69
  set autoClose(value) {
71
- if (value !== this._autoClose) {
70
+ if (value && value !== this._autoClose) {
72
71
  this._autoClose = toasterAutocloseSpeed(value, this.message);
73
72
  }
74
73
  }
@@ -116,14 +115,7 @@ var spxToaster_initial = /*#__PURE__*/Object.freeze({
116
115
  });
117
116
 
118
117
  function addMessage(currentMessages, newMessage) {
119
- const messages = [{
120
- autoClose: newMessage.autoClose ? newMessage.autoClose : undefined,
121
- closeable: newMessage.closeable ? newMessage.closeable : true,
122
- id: newMessage.id,
123
- message: newMessage.message,
124
- title: newMessage.title,
125
- severity: newMessage.severity,
126
- }, ...currentMessages];
118
+ const messages = [new SpxToasterMessageI(newMessage.message, newMessage.id, newMessage.severity, newMessage.autoClose ? newMessage.autoClose : undefined, newMessage.closeable ? newMessage.closeable : true), ...currentMessages];
127
119
  if (messages.length > 5) {
128
120
  messages.length = 5;
129
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-toaster.mjs","sources":["../../../../projects/softpak/components/spx-toaster/src/spx-toaster-autoclose-speed.ts","../../../../projects/softpak/components/spx-toaster/src/spx-toaster.component.ts","../../../../projects/softpak/components/spx-toaster/src/spx-toaster.component.html","../../../../projects/softpak/components/spx-toaster/src/spx-toaster-message.interface.ts","../../../../projects/softpak/components/spx-toaster/store/spx-toaster/spx-toaster.actions.ts","../../../../projects/softpak/components/spx-toaster/store/spx-toaster/spx-toaster.initial.ts","../../../../projects/softpak/components/spx-toaster/store/spx-toaster/spx-toaster.reducer.ts","../../../../projects/softpak/components/spx-toaster/softpak-components-spx-toaster.ts"],"sourcesContent":["export enum SpxToasterSeverityEnum {\n ERROR = 'error',\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n}\n\nexport enum SpxToasterAutoCloseSpeedEnum {\n DEFAULT = -1,\n SLOW = -2,\n}\n\nexport function toasterAutocloseSpeed(autoCloseSpeed: SpxToasterAutoCloseSpeedEnum, messageText: string) {\n switch (autoCloseSpeed) {\n case SpxToasterAutoCloseSpeedEnum.DEFAULT:\n return Math.min(Math.max(messageText.length * 50, 2000), 7000);\n case SpxToasterAutoCloseSpeedEnum.SLOW:\n return Math.min(Math.max(messageText.length * 60, 3000), 10000);\n default:\n return autoCloseSpeed;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n effect,\n input,\n output,\n} from '@angular/core';\nimport { SpxToasterMessageI } from './spx-toaster-message.interface';\n\n@Component({\n selector: 'spx-toaster',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './spx-toaster.component.scss',\n templateUrl: './spx-toaster.component.html',\n host: {\n class: 'spx-toasts-displayer',\n },\n})\nexport class SpxToasterComponent {\n messages = input.required<SpxToasterMessageI[]>();\n readonly spxAutoclose = input<number>();\n spxClose = output<number>();\n constructor(private el: ElementRef) {\n effect(() => {\n this.messages().forEach((message) => {\n if (message.autoClose) {\n setTimeout(() => {\n this.handleClose(message.id);\n }, message.autoClose);\n }\n });\n });\n }\n\n // showProgressBar(autoclose: number, id: number) {\n // const alertElement = this.el.nativeElement.querySelector(`spx-alert[id=\"${id}\"]`);\n // console.log(alertElement);\n // if (alertElement) {\n\n // } else {\n // console.error(`spx-alert element with ID ${id} not found.`);\n // }\n // }\n\n public handleClose(id: number) {\n this.spxClose.emit(id);\n }\n\n // private calcToasterAutocloseSpeed(\n // autoCloseSpeed: SpxToasterAutoCloseSpeedEnum,\n // messageText: string\n // ): number {\n // switch (autoCloseSpeed) {\n // case SpxToasterAutoCloseSpeedEnum.DEFAULT:\n // return Math.min(Math.max(messageText.length * 50, 2000), 7000);\n // case SpxToasterAutoCloseSpeedEnum.SLOW:\n // return Math.min(Math.max(messageText.length * 60, 3000), 10000);\n // default:\n // return autoCloseSpeed;\n // }\n // }\n}\n","\n@if (messages().length > 0) {\n <div\n class=\"flex flex-col gap-2 fixed bottom-16 left-0 right-0 mx-auto px-3 z-50\">\n @for (message of messages(); track message) {\n <!-- <spx-alert\n [spxAutoclose]=\"message.autoClose\"\n [spxCloseable]=\"message.closeable\"\n [spxSeverity]=\"message.severity\"\n [spxTitle]=\"message.title\"\n (spxClose)=\"handleClose(message.id)\"\n (click)=\"handleClose(message.id)\"\n [id]=\"message.id\"\n >{{message.message}}\n </spx-alert> -->\n }\n </div>\n}","import { SpxSeverityEnum } from \"@softpak/components/spx-helpers\";\nimport { toasterAutocloseSpeed } from \"./spx-toaster-autoclose-speed\";\n\nexport class SpxToasterMessageI {\n private _autoClose?: number;\n title?: string;\n closeable?: boolean;\n id!: number;\n message!: string;\n severity!: SpxSeverityEnum;\n uniqueIdentifier?: string;\n\n get autoClose(): number | undefined {\n return this._autoClose;\n }\n\n set autoClose(value: number) {\n if (value !== this._autoClose) {\n this._autoClose = toasterAutocloseSpeed(value, this.message);\n }\n }\n\n}\n","import { createAction, props, union } from '@ngrx/store';\nimport { SpxToasterAutoCloseSpeedEnum } from '../../src/spx-toaster-autoclose-speed';\n\nexport const clearAll = createAction('[SPX / Toaster] Clear all', props<Record<string, unknown>>());\nexport const clearAllErrors = createAction('[SPX / Toaster] Clear all errors', props<Record<string, unknown>>());\nexport const clearAllErrorsAndWarnings = createAction('[SPX / Toaster] Clear all errors and warnings', props<Record<string, unknown>>());\nexport const clearMessage = createAction('[SPX / Toaster] Clear message', props<{ id: number }>());\nexport const createError = createAction('[SPX / Toaster] Create error', props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum, closeable?: boolean, messageText: string, title?: string }>());\nexport const createInfo = createAction('[SPX / Toaster] Create info', props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum, closeable?: boolean, messageText: string, title?: string }>());\nexport const createSuccess = createAction('[SPX / Toaster] Create success', props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum, closeable?: boolean, messageText: string, title?: string }>());\nexport const createWarning = createAction('[SPX / Toaster] Create warning', props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum, closeable?: boolean, messageText: string, title?: string }>());\n\nconst all = union({\n clearAll,\n clearAllErrors,\n clearAllErrorsAndWarnings,\n clearMessage,\n createError,\n createInfo,\n createSuccess,\n createWarning,\n});\n\nexport type Actions = typeof all;\n","import { StateI } from \"./spx-toaster.state\";\n\nexport const initialState: StateI = {\n messages: [],\n nextId: 1,\n};\n","\nimport * as actions from './spx-toaster.actions';\nimport { createFeature, createReducer, on } from '@ngrx/store';\nimport { StateI } from './spx-toaster.state';\nimport { initialState } from './spx-toaster.initial';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { toasterAutocloseSpeed } from '../../src/spx-toaster-autoclose-speed';\nimport { SpxToasterMessageI } from '../../src/spx-toaster-message.interface';\n \nexport function addMessage(\n currentMessages: SpxToasterMessageI[], newMessage: SpxToasterMessageI): SpxToasterMessageI[] {\n const messages = [{\n autoClose: newMessage.autoClose ? newMessage.autoClose : undefined,\n closeable: newMessage.closeable ? newMessage.closeable : true,\n id: newMessage.id,\n message: newMessage.message,\n title: newMessage.title,\n severity: newMessage.severity,\n }, ...currentMessages];\n if (messages.length > 5) {\n messages.length = 5;\n }\n return messages;\n}\n\nexport default createFeature({\n name: 'spxToaster',\n reducer: createReducer(\n initialState,\n on(actions.clearAll, (state: StateI): StateI => {\n return {\n ...state,\n messages: []\n };\n }),\n on(actions.clearAllErrors, (state: StateI): StateI => {\n return {\n ...state,\n messages: [...state.messages.filter(msg => msg.severity !== SpxSeverityEnum.error)]\n };\n }),\n on(actions.clearAllErrorsAndWarnings, (state: StateI): StateI => {\n return {\n ...state,\n messages: [...state.messages.filter(msg => msg.severity !== SpxSeverityEnum.error &&\n msg.severity !== SpxSeverityEnum.warning)]\n };\n }),\n on(actions.clearMessage, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: [...state.messages.filter(msg => msg.id !== action.id)]\n };\n }),\n on(actions.createError, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: addMessage(state.messages, {\n autoClose: action.autoClose ? toasterAutocloseSpeed(action.autoClose, action.messageText) : undefined,\n closeable: action.closeable ? action.closeable : true,\n id: state.nextId,\n message: action.messageText,\n severity: SpxSeverityEnum.error,\n title: action.title,\n }),\n nextId: state.nextId + 1\n };\n }),\n on(actions.createInfo, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: addMessage(state.messages, {\n autoClose: action.autoClose ? toasterAutocloseSpeed(action.autoClose, action.messageText) : undefined,\n closeable: action.closeable ? action.closeable : true,\n id: state.nextId,\n message: action.messageText,\n severity: SpxSeverityEnum.info,\n title: action.title,\n }),\n nextId: state.nextId + 1\n };\n }),\n on(actions.createSuccess, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: addMessage(state.messages, {\n autoClose: action.autoClose ? toasterAutocloseSpeed(action.autoClose, action.messageText) : undefined,\n closeable: action.closeable ? action.closeable : true,\n id: state.nextId,\n message: action.messageText,\n severity: SpxSeverityEnum.success,\n title: action.title,\n }),\n nextId: state.nextId + 1\n };\n }),\n on(actions.createWarning, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: addMessage(state.messages, {\n autoClose: action.autoClose ? toasterAutocloseSpeed(action.autoClose, action.messageText) : undefined,\n closeable: action.closeable ? action.closeable : true,\n id: state.nextId,\n message: action.messageText,\n severity: SpxSeverityEnum.warning,\n title: action.title,\n }),\n nextId: state.nextId + 1\n };\n }),\n ),\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["actions.clearAll","actions.clearAllErrors","actions.clearAllErrorsAndWarnings","actions.clearMessage","actions.createError","actions.createInfo","actions.createSuccess","actions.createWarning"],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-toaster.mjs","sources":["../../../../projects/softpak/components/spx-toaster/src/spx-toaster-autoclose-speed.ts","../../../../projects/softpak/components/spx-toaster/src/spx-toaster.component.ts","../../../../projects/softpak/components/spx-toaster/src/spx-toaster.component.html","../../../../projects/softpak/components/spx-toaster/src/spx-toaster-message.interface.ts","../../../../projects/softpak/components/spx-toaster/store/spx-toaster/spx-toaster.actions.ts","../../../../projects/softpak/components/spx-toaster/store/spx-toaster/spx-toaster.initial.ts","../../../../projects/softpak/components/spx-toaster/store/spx-toaster/spx-toaster.reducer.ts","../../../../projects/softpak/components/spx-toaster/softpak-components-spx-toaster.ts"],"sourcesContent":["export enum SpxToasterSeverityEnum {\n ERROR = 'error',\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n}\n\nexport enum SpxToasterAutoCloseSpeedEnum {\n DEFAULT = -1,\n SLOW = -2,\n}\n\nexport function toasterAutocloseSpeed(autoCloseSpeed: SpxToasterAutoCloseSpeedEnum, messageText: string) {\n switch (autoCloseSpeed) {\n case SpxToasterAutoCloseSpeedEnum.DEFAULT:\n return Math.min(Math.max(messageText.length * 50, 2000), 7000);\n case SpxToasterAutoCloseSpeedEnum.SLOW:\n return Math.min(Math.max(messageText.length * 60, 3000), 10000);\n default:\n return autoCloseSpeed;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n effect,\n input,\n output,\n} from '@angular/core';\nimport { SpxToasterMessageI } from './spx-toaster-message.interface';\nimport { SpxAlertComponent } from '@softpak/components/spx-alert';\n\n@Component({\n selector: 'spx-toaster',\n standalone: true,\n imports: [SpxAlertComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './spx-toaster.component.scss',\n templateUrl: './spx-toaster.component.html',\n host: {\n class: 'spx-toasts-displayer',\n },\n})\nexport class SpxToasterComponent {\n messages = input.required<SpxToasterMessageI[]>();\n readonly spxAutoclose = input<number>();\n spxClose = output<number>();\n constructor() {\n effect(() => {\n this.messages().forEach((message) => {\n if (message.autoClose) {\n setTimeout(() => {\n this.handleClose(message.id);\n }, message.autoClose);\n }\n });\n });\n }\n\n public handleClose(id: number) {\n this.spxClose.emit(id);\n }\n}\n","\n@if (messages().length > 0) {\n <div\n class=\"flex flex-col gap-2 fixed bottom-16 left-0 right-0 mx-auto px-3 z-50\">\n @for (message of messages(); track message) {\n <spx-alert\n [spxAutoclose]=\"message.autoClose\"\n [spxCloseable]=\"message.closeable\"\n [spxSeverity]=\"message.severity\"\n [spxTitle]=\"message.title\"\n (spxClose)=\"handleClose(message.id)\"\n (click)=\"handleClose(message.id)\"\n [id]=\"message.id\"\n >{{message.message}}\n </spx-alert>\n }\n </div>\n}","import { SpxSeverityEnum } from \"@softpak/components/spx-helpers\";\nimport { SpxToasterAutoCloseSpeedEnum, toasterAutocloseSpeed } from \"./spx-toaster-autoclose-speed\";\n\nexport class SpxToasterMessageI {\n private _autoClose?: number;\n title?: string;\n closeable?: boolean;\n id!: number;\n message!: string;\n severity!: SpxSeverityEnum;\n uniqueIdentifier?: string;\n\n constructor(message: string, id: number, severity: SpxSeverityEnum, autoClose?: SpxToasterAutoCloseSpeedEnum, closeable?: boolean) {\n this.autoClose = autoClose;\n this.message = message || '';\n this.id = id;\n this.severity = severity;\n this.closeable = closeable;\n }\n\n get autoClose(): number | undefined {\n return this._autoClose;\n }\n\n set autoClose(value: number | undefined) {\n if (value && value !== this._autoClose) {\n this._autoClose = toasterAutocloseSpeed(value, this.message);\n }\n }\n\n}\n","import { createAction, props, union } from '@ngrx/store';\nimport { SpxToasterAutoCloseSpeedEnum } from '../../src/spx-toaster-autoclose-speed';\n\nexport const clearAll = createAction('[SPX / Toaster] Clear all', props<Record<string, unknown>>());\nexport const clearAllErrors = createAction('[SPX / Toaster] Clear all errors', props<Record<string, unknown>>());\nexport const clearAllErrorsAndWarnings = createAction('[SPX / Toaster] Clear all errors and warnings', props<Record<string, unknown>>());\nexport const clearMessage = createAction('[SPX / Toaster] Clear message', props<{ id: number }>());\nexport const createError = createAction('[SPX / Toaster] Create error', props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum, closeable?: boolean, messageText: string, title?: string }>());\nexport const createInfo = createAction('[SPX / Toaster] Create info', props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum, closeable?: boolean, messageText: string, title?: string }>());\nexport const createSuccess = createAction('[SPX / Toaster] Create success', props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum, closeable?: boolean, messageText: string, title?: string }>());\nexport const createWarning = createAction('[SPX / Toaster] Create warning', props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum, closeable?: boolean, messageText: string, title?: string }>());\n\nconst all = union({\n clearAll,\n clearAllErrors,\n clearAllErrorsAndWarnings,\n clearMessage,\n createError,\n createInfo,\n createSuccess,\n createWarning,\n});\n\nexport type Actions = typeof all;\n","import { StateI } from \"./spx-toaster.state\";\n\nexport const initialState: StateI = {\n messages: [],\n nextId: 1,\n};\n","\nimport * as actions from './spx-toaster.actions';\nimport { createFeature, createReducer, on } from '@ngrx/store';\nimport { StateI } from './spx-toaster.state';\nimport { initialState } from './spx-toaster.initial';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { toasterAutocloseSpeed } from '../../src/spx-toaster-autoclose-speed';\nimport { SpxToasterMessageI } from '../../src/spx-toaster-message.interface';\n \nexport function addMessage(\n currentMessages: SpxToasterMessageI[], newMessage: SpxToasterMessageI): SpxToasterMessageI[] {\n const messages = [new SpxToasterMessageI(\n newMessage.message,\n newMessage.id,\n newMessage.severity,\n newMessage.autoClose ? newMessage.autoClose : undefined,\n newMessage.closeable ? newMessage.closeable : true,\n ), ...currentMessages];\n if (messages.length > 5) {\n messages.length = 5;\n }\n return messages;\n}\n\nexport default createFeature({\n name: 'spxToaster',\n reducer: createReducer(\n initialState,\n on(actions.clearAll, (state: StateI): StateI => {\n return {\n ...state,\n messages: []\n };\n }),\n on(actions.clearAllErrors, (state: StateI): StateI => {\n return {\n ...state,\n messages: [...state.messages.filter(msg => msg.severity !== SpxSeverityEnum.error)]\n };\n }),\n on(actions.clearAllErrorsAndWarnings, (state: StateI): StateI => {\n return {\n ...state,\n messages: [...state.messages.filter(msg => msg.severity !== SpxSeverityEnum.error &&\n msg.severity !== SpxSeverityEnum.warning)]\n };\n }),\n on(actions.clearMessage, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: [...state.messages.filter(msg => msg.id !== action.id)]\n };\n }),\n on(actions.createError, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: addMessage(state.messages, {\n autoClose: action.autoClose ? toasterAutocloseSpeed(action.autoClose, action.messageText) : undefined,\n closeable: action.closeable ? action.closeable : true,\n id: state.nextId,\n message: action.messageText,\n severity: SpxSeverityEnum.error,\n title: action.title,\n }),\n nextId: state.nextId + 1\n };\n }),\n on(actions.createInfo, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: addMessage(state.messages, {\n autoClose: action.autoClose ? toasterAutocloseSpeed(action.autoClose, action.messageText) : undefined,\n closeable: action.closeable ? action.closeable : true,\n id: state.nextId,\n message: action.messageText,\n severity: SpxSeverityEnum.info,\n title: action.title,\n }),\n nextId: state.nextId + 1\n };\n }),\n on(actions.createSuccess, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: addMessage(state.messages, {\n autoClose: action.autoClose ? toasterAutocloseSpeed(action.autoClose, action.messageText) : undefined,\n closeable: action.closeable ? action.closeable : true,\n id: state.nextId,\n message: action.messageText,\n severity: SpxSeverityEnum.success,\n title: action.title,\n }),\n nextId: state.nextId + 1\n };\n }),\n on(actions.createWarning, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: addMessage(state.messages, {\n autoClose: action.autoClose ? toasterAutocloseSpeed(action.autoClose, action.messageText) : undefined,\n closeable: action.closeable ? action.closeable : true,\n id: state.nextId,\n message: action.messageText,\n severity: SpxSeverityEnum.warning,\n title: action.title,\n }),\n nextId: state.nextId + 1\n };\n }),\n ),\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["actions.clearAll","actions.clearAllErrors","actions.clearAllErrorsAndWarnings","actions.clearMessage","actions.createError","actions.createInfo","actions.createSuccess","actions.createWarning"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softpak/components",
3
- "version": "19.17.0-beta.1",
3
+ "version": "19.17.0-beta.3",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "19.x.x",
@@ -33,14 +33,14 @@
33
33
  "types": "./spx-alert/index.d.ts",
34
34
  "default": "./fesm2022/softpak-components-spx-alert.mjs"
35
35
  },
36
- "./spx-app-expiry": {
37
- "types": "./spx-app-expiry/index.d.ts",
38
- "default": "./fesm2022/softpak-components-spx-app-expiry.mjs"
39
- },
40
36
  "./spx-app-configuration": {
41
37
  "types": "./spx-app-configuration/index.d.ts",
42
38
  "default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
43
39
  },
40
+ "./spx-app-expiry": {
41
+ "types": "./spx-app-expiry/index.d.ts",
42
+ "default": "./fesm2022/softpak-components-spx-app-expiry.mjs"
43
+ },
44
44
  "./spx-button": {
45
45
  "types": "./spx-button/index.d.ts",
46
46
  "default": "./fesm2022/softpak-components-spx-button.mjs"
@@ -49,26 +49,26 @@
49
49
  "types": "./spx-capitalize/index.d.ts",
50
50
  "default": "./fesm2022/softpak-components-spx-capitalize.mjs"
51
51
  },
52
- "./spx-change-details": {
53
- "types": "./spx-change-details/index.d.ts",
54
- "default": "./fesm2022/softpak-components-spx-change-details.mjs"
55
- },
56
52
  "./spx-card": {
57
53
  "types": "./spx-card/index.d.ts",
58
54
  "default": "./fesm2022/softpak-components-spx-card.mjs"
59
55
  },
56
+ "./spx-change-details": {
57
+ "types": "./spx-change-details/index.d.ts",
58
+ "default": "./fesm2022/softpak-components-spx-change-details.mjs"
59
+ },
60
60
  "./spx-channel-selection": {
61
61
  "types": "./spx-channel-selection/index.d.ts",
62
62
  "default": "./fesm2022/softpak-components-spx-channel-selection.mjs"
63
63
  },
64
- "./spx-check-digit": {
65
- "types": "./spx-check-digit/index.d.ts",
66
- "default": "./fesm2022/softpak-components-spx-check-digit.mjs"
67
- },
68
64
  "./spx-confirm": {
69
65
  "types": "./spx-confirm/index.d.ts",
70
66
  "default": "./fesm2022/softpak-components-spx-confirm.mjs"
71
67
  },
68
+ "./spx-check-digit": {
69
+ "types": "./spx-check-digit/index.d.ts",
70
+ "default": "./fesm2022/softpak-components-spx-check-digit.mjs"
71
+ },
72
72
  "./spx-form-section": {
73
73
  "types": "./spx-form-section/index.d.ts",
74
74
  "default": "./fesm2022/softpak-components-spx-form-section.mjs"
@@ -81,14 +81,14 @@
81
81
  "types": "./spx-helpers/index.d.ts",
82
82
  "default": "./fesm2022/softpak-components-spx-helpers.mjs"
83
83
  },
84
- "./spx-inputs": {
85
- "types": "./spx-inputs/index.d.ts",
86
- "default": "./fesm2022/softpak-components-spx-inputs.mjs"
87
- },
88
84
  "./spx-navigation": {
89
85
  "types": "./spx-navigation/index.d.ts",
90
86
  "default": "./fesm2022/softpak-components-spx-navigation.mjs"
91
87
  },
88
+ "./spx-inputs": {
89
+ "types": "./spx-inputs/index.d.ts",
90
+ "default": "./fesm2022/softpak-components-spx-inputs.mjs"
91
+ },
92
92
  "./spx-number-check": {
93
93
  "types": "./spx-number-check/index.d.ts",
94
94
  "default": "./fesm2022/softpak-components-spx-number-check.mjs"
@@ -109,26 +109,26 @@
109
109
  "types": "./spx-progress-bar/index.d.ts",
110
110
  "default": "./fesm2022/softpak-components-spx-progress-bar.mjs"
111
111
  },
112
- "./spx-stock-info": {
113
- "types": "./spx-stock-info/index.d.ts",
114
- "default": "./fesm2022/softpak-components-spx-stock-info.mjs"
115
- },
116
112
  "./spx-spinner": {
117
113
  "types": "./spx-spinner/index.d.ts",
118
114
  "default": "./fesm2022/softpak-components-spx-spinner.mjs"
119
115
  },
116
+ "./spx-stock-info": {
117
+ "types": "./spx-stock-info/index.d.ts",
118
+ "default": "./fesm2022/softpak-components-spx-stock-info.mjs"
119
+ },
120
120
  "./spx-storage": {
121
121
  "types": "./spx-storage/index.d.ts",
122
122
  "default": "./fesm2022/softpak-components-spx-storage.mjs"
123
123
  },
124
- "./spx-toaster": {
125
- "types": "./spx-toaster/index.d.ts",
126
- "default": "./fesm2022/softpak-components-spx-toaster.mjs"
127
- },
128
124
  "./spx-suggestion": {
129
125
  "types": "./spx-suggestion/index.d.ts",
130
126
  "default": "./fesm2022/softpak-components-spx-suggestion.mjs"
131
127
  },
128
+ "./spx-toaster": {
129
+ "types": "./spx-toaster/index.d.ts",
130
+ "default": "./fesm2022/softpak-components-spx-toaster.mjs"
131
+ },
132
132
  "./spx-translate": {
133
133
  "types": "./spx-translate/index.d.ts",
134
134
  "default": "./fesm2022/softpak-components-spx-translate.mjs"
@@ -1,9 +1,10 @@
1
- import { ElementRef } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef } from '@angular/core';
2
2
  import { SpxValuePair } from '../spx-value-interface';
3
3
  import { SpxInputTypeEnum } from '../spx-input-type.enum';
4
4
  import { SelectedInputService } from '../input.service';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class SpxInputTextComponent {
7
+ private changeDetectorRef;
7
8
  readonly spxName: import("@angular/core").InputSignal<string | undefined>;
8
9
  readonly spxAutofocus: import("@angular/core").InputSignal<boolean>;
9
10
  readonly spxAutocomplete: import("@angular/core").InputSignal<string | undefined>;
@@ -20,7 +21,9 @@ export declare class SpxInputTextComponent {
20
21
  selectedInputService: SelectedInputService;
21
22
  spxIsFocused: import("@angular/core").WritableSignal<boolean>;
22
23
  inputRef: import("@angular/core").Signal<ElementRef<any>>;
24
+ constructor(changeDetectorRef: ChangeDetectorRef);
23
25
  ngOnInit(): void;
26
+ triggerChangeDetection(): void;
24
27
  spxSetFocus(): void;
25
28
  componentDidLoad(): void;
26
29
  handleChange(event: any): void;
@@ -53,6 +53,7 @@ export declare class SpxInputComponent {
53
53
  handleSpxElementIdSet(id: number): void;
54
54
  ngOnDestroy(): void;
55
55
  handleChange(event: any): void;
56
+ triggerChangeDetection(): void;
56
57
  handleClear(): void;
57
58
  handleSearch(): void;
58
59
  handleEdit(): void;
@@ -1,4 +1,5 @@
1
1
  import { SpxSeverityEnum } from "@softpak/components/spx-helpers";
2
+ import { SpxToasterAutoCloseSpeedEnum } from "./spx-toaster-autoclose-speed";
2
3
  export declare class SpxToasterMessageI {
3
4
  private _autoClose?;
4
5
  title?: string;
@@ -7,6 +8,7 @@ export declare class SpxToasterMessageI {
7
8
  message: string;
8
9
  severity: SpxSeverityEnum;
9
10
  uniqueIdentifier?: string;
11
+ constructor(message: string, id: number, severity: SpxSeverityEnum, autoClose?: SpxToasterAutoCloseSpeedEnum, closeable?: boolean);
10
12
  get autoClose(): number | undefined;
11
- set autoClose(value: number);
13
+ set autoClose(value: number | undefined);
12
14
  }
@@ -1,12 +1,10 @@
1
- import { ElementRef } from '@angular/core';
2
1
  import { SpxToasterMessageI } from './spx-toaster-message.interface';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class SpxToasterComponent {
5
- private el;
6
4
  messages: import("@angular/core").InputSignal<SpxToasterMessageI[]>;
7
5
  readonly spxAutoclose: import("@angular/core").InputSignal<number | undefined>;
8
6
  spxClose: import("@angular/core").OutputEmitterRef<number>;
9
- constructor(el: ElementRef);
7
+ constructor();
10
8
  handleClose(id: number): void;
11
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SpxToasterComponent, never>;
12
10
  static ɵcmp: i0.ɵɵComponentDeclaration<SpxToasterComponent, "spx-toaster", never, { "messages": { "alias": "messages"; "required": true; "isSignal": true; }; "spxAutoclose": { "alias": "spxAutoclose"; "required": false; "isSignal": true; }; }, { "spxClose": "spxClose"; }, never, never, true, never>;