@softpak/components 21.0.4 → 21.0.6

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,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, Component } from '@angular/core';
3
- import { createAction, props, union, createFeature, createReducer, on } from '@ngrx/store';
3
+ import { createActionGroup, props, emptyProps, createFeature, createReducer, on } from '@ngrx/store';
4
4
 
5
5
  class SpxSpinnerComponent {
6
6
  constructor() {
@@ -15,19 +15,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
15
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
  }], propDecorators: { spxShow: [{ type: i0.Input, args: [{ isSignal: true, alias: "spxShow", required: false }] }], spxLoaderText: [{ type: i0.Input, args: [{ isSignal: true, alias: "spxLoaderText", required: true }] }] } });
17
17
 
18
- const hide = createAction('[SPX / Spinner] Hide', props());
19
- const reset = createAction('[SPX / Spinner] Reset', props());
20
- const show = createAction('[SPX / Spinner] Show', props());
21
- const all = union({
22
- hide,
23
- show,
24
- });
25
-
26
- var spxSpinner_actions = /*#__PURE__*/Object.freeze({
27
- __proto__: null,
28
- hide: hide,
29
- reset: reset,
30
- show: show
18
+ const spxSpinnerActions = createActionGroup({
19
+ source: 'SpxSpinner',
20
+ events: {
21
+ Hide: props(),
22
+ Reset: emptyProps(),
23
+ Show: props(),
24
+ },
31
25
  });
32
26
 
33
27
  const initialState = {
@@ -43,7 +37,7 @@ var spxSpinner_initial = /*#__PURE__*/Object.freeze({
43
37
 
44
38
  var spxSpinner_reducer = createFeature({
45
39
  name: 'spxSpinner',
46
- reducer: createReducer(initialState, on(hide, (state, { action }) => {
40
+ reducer: createReducer(initialState, on(spxSpinnerActions.hide, (state, { action }) => {
47
41
  const loadActions = action ? [...state.loadActions.filter(a => { console.log(a, action); return a !== action; })] : state.loadActions;
48
42
  const nrOfLoadActions = !action ? state.nrOfLoadActions : (state.nrOfLoadActions > 1 ? state.nrOfLoadActions - 1 : 0);
49
43
  return {
@@ -52,14 +46,14 @@ var spxSpinner_reducer = createFeature({
52
46
  nrOfLoadActions,
53
47
  show: loadActions.length >= 1 || nrOfLoadActions > 1 ? true : false,
54
48
  };
55
- }), on(reset, (state) => {
49
+ }), on(spxSpinnerActions.reset, (state) => {
56
50
  return {
57
51
  ...state,
58
52
  show: false,
59
53
  loadActions: [],
60
54
  nrOfLoadActions: 0,
61
55
  };
62
- }), on(show, (state, { action }) => {
56
+ }), on(spxSpinnerActions.show, (state, { action }) => {
63
57
  return {
64
58
  ...state,
65
59
  show: true,
@@ -82,5 +76,5 @@ var spxSpinner_state = /*#__PURE__*/Object.freeze({
82
76
  * Generated bundle index. Do not edit.
83
77
  */
84
78
 
85
- export { SpxSpinnerComponent, spxSpinner_actions as spxSpinnerActions, spxSpinner_initial as spxSpinnerInitial, spxSpinner_reducer$1 as spxSpinnerReducer, spxSpinner_state as spxSpinnerState };
79
+ export { SpxSpinnerComponent, spxSpinnerActions, spxSpinner_initial as spxSpinnerInitial, spxSpinner_reducer$1 as spxSpinnerReducer, spxSpinner_state as spxSpinnerState };
86
80
  //# sourceMappingURL=softpak-components-spx-spinner.mjs.map
@@ -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 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<{ action: string; }>());\nexport const reset = createAction('[SPX / Spinner] Reset', props<Record<string, unknown>>());\nexport const show = createAction('[SPX / Spinner] Show', props<{ action: string; }>());\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 loadActions: [],\n nrOfLoadActions: 0,\n show: false,\n};\n","import * as actions from './spx-spinner.actions';\n\nimport { createFeature, createReducer, on } from '@ngrx/store';\n\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, { action }): StateI => {\n const loadActions = action ? [...state.loadActions.filter(a => { console.log(a, action); return a !== action; })] : state.loadActions;\n const nrOfLoadActions = !action ? state.nrOfLoadActions : (state.nrOfLoadActions > 1 ? state.nrOfLoadActions - 1 : 0);\n return {\n ...state,\n loadActions,\n nrOfLoadActions,\n show: loadActions.length >= 1 || nrOfLoadActions > 1 ? true : false,\n };\n }),\n on(actions.reset, (state: StateI): StateI => {\n return {\n ...state,\n show: false,\n loadActions: [],\n nrOfLoadActions: 0,\n };\n }),\n on(actions.show, (state: StateI, { action }): StateI => {\n return {\n ...state,\n show: true,\n loadActions: action ? (state.loadActions.find(a => a === action) ? state.loadActions : [...state.loadActions, action]) : state.loadActions,\n nrOfLoadActions: action ? state.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":"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"}
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 { createActionGroup, emptyProps, props } from '@ngrx/store';\n\nexport const spxSpinnerActions = createActionGroup({\n source: 'SpxSpinner',\n events: {\n Hide: props<{ action: string; }>(),\n Reset: emptyProps(),\n Show: props<{ action: string; }>(),\n },\n});\n","import { StateI } from \"./spx-spinner.state\";\n\nexport const initialState: StateI = {\n loadActions: [],\n nrOfLoadActions: 0,\n show: false,\n};\n","import { createFeature, createReducer, on } from '@ngrx/store';\n\nimport { StateI } from './spx-spinner.state';\nimport { initialState } from './spx-spinner.initial';\nimport { spxSpinnerActions } from './spx-spinner.actions';\n\nexport default createFeature({\n name: 'spxSpinner',\n reducer: createReducer(\n initialState,\n on(spxSpinnerActions.hide, (state: StateI, { action }): StateI => {\n const loadActions = action ? [...state.loadActions.filter(a => { console.log(a, action); return a !== action; })] : state.loadActions;\n const nrOfLoadActions = !action ? state.nrOfLoadActions : (state.nrOfLoadActions > 1 ? state.nrOfLoadActions - 1 : 0);\n return {\n ...state,\n loadActions,\n nrOfLoadActions,\n show: loadActions.length >= 1 || nrOfLoadActions > 1 ? true : false,\n };\n }),\n on(spxSpinnerActions.reset, (state: StateI): StateI => {\n return {\n ...state,\n show: false,\n loadActions: [],\n nrOfLoadActions: 0,\n };\n }),\n on(spxSpinnerActions.show, (state: StateI, { action }): StateI => {\n return {\n ...state,\n show: true,\n loadActions: action ? (state.loadActions.find(a => a === action) ? state.loadActions : [...state.loadActions, action]) : state.loadActions,\n nrOfLoadActions: action ? state.nrOfLoadActions : (state.nrOfLoadActions + 1),\n };\n }),\n ),\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -7,16 +7,13 @@ import { unsubscribeSubscriptions } from '@softpak/components/spx-helpers';
7
7
  import { spxNavigationReducer } from '@softpak/components/spx-navigation';
8
8
  import { NgClass } from '@angular/common';
9
9
  import * as i1 from '@ngrx/store';
10
- import { createAction, props, union, createFeature, createReducer, on } from '@ngrx/store';
10
+ import { createActionGroup, props, createFeature, createReducer, on } from '@ngrx/store';
11
11
 
12
- const ctrl = createAction('[SPX / Shortcuts] CTRL', props());
13
- const all = union({
14
- ctrl: ctrl,
15
- });
16
-
17
- var spxShortcuts_actions = /*#__PURE__*/Object.freeze({
18
- __proto__: null,
19
- ctrl: ctrl
12
+ const spxShortcutsActions = createActionGroup({
13
+ source: 'SpxShortcuts',
14
+ events: {
15
+ Ctrl: props(),
16
+ },
20
17
  });
21
18
 
22
19
  const initialState = {
@@ -24,7 +21,7 @@ const initialState = {
24
21
  };
25
22
  var spxShortCutsReducer$1 = createFeature({
26
23
  name: 'spxShortcuts',
27
- reducer: createReducer(initialState, on(ctrl, (state, { keyIsDown }) => ({
24
+ reducer: createReducer(initialState, on(spxShortcutsActions.ctrl, (state, { keyIsDown }) => ({
28
25
  ...state,
29
26
  ctrlIsDown: keyIsDown,
30
27
  })))
@@ -86,5 +83,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
86
83
  * Generated bundle index. Do not edit.
87
84
  */
88
85
 
89
- export { SpxTabsComponent, spxShortcuts_actions as spxShortCutsActions, spxShortcuts_reducer as spxShortCutsReducer };
86
+ export { SpxTabsComponent, spxShortcuts_reducer as spxShortCutsReducer, spxShortcutsActions };
90
87
  //# sourceMappingURL=softpak-components-spx-tabs.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-tabs.mjs","sources":["../../../../projects/softpak/components/spx-tabs/store/spx-shortcuts.actions.ts","../../../../projects/softpak/components/spx-tabs/store/spx-shortcuts.reducer.ts","../../../../projects/softpak/components/spx-tabs/src/spx-tabs.component.ts","../../../../projects/softpak/components/spx-tabs/src/spx-tabs.component.html","../../../../projects/softpak/components/spx-tabs/softpak-components-spx-tabs.ts"],"sourcesContent":["import { createAction, props, union } from '@ngrx/store';\n\nexport const ctrl = createAction('[SPX / Shortcuts] CTRL', props<{ keyIsDown: boolean; }>());\n\nconst all = union({\n ctrl: ctrl,\n});\nexport type Actions = typeof all;","import * as actions from './spx-shortcuts.actions';\nimport { createFeature, createReducer, on } from '@ngrx/store';\n\nexport interface StateI {\n ctrlIsDown: boolean;\n}\n\nexport const initialState: StateI = {\n ctrlIsDown: false,\n};\n\nexport default createFeature({\n name: 'spxShortcuts',\n reducer: createReducer(\n initialState,\n on(actions.ctrl, (state: StateI, { keyIsDown }): StateI => ({\n ...state,\n ctrlIsDown: keyIsDown,\n })),\n )}\n);","import { ChangeDetectionStrategy, Component, computed, input, OnInit, signal } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { FaIconComponent } from \"@fortawesome/angular-fontawesome\";\nimport { IonTabBar, IonTabButton, IonTabs } from \"@ionic/angular/standalone\";\nimport { Store } from \"@ngrx/store\";\nimport { unsubscribeSubscriptions } from \"@softpak/components/spx-helpers\";\nimport { SpxNavigationItemI, spxNavigationReducer } from \"@softpak/components/spx-navigation\";\nimport { Subscription } from \"rxjs\";\nimport { NgClass } from \"@angular/common\";\nimport spxShortCutsReducer from '../store/spx-shortcuts.reducer';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'spx-tabs',\n standalone: true,\n imports: [\n IonTabs, \n FormsModule,\n IonTabBar,\n IonTabButton,\n FaIconComponent,\n NgClass\n ],\n templateUrl: './spx-tabs.component.html',\n styleUrl: './spx-tabs.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpxTabsComponent implements OnInit {\n navItems = signal<SpxNavigationItemI[]>([]);\n shownNavItems = computed(() => {\n const show = this.optionalNavItemBool();\n return this.navItems().filter((navItem) => {\n return !navItem.currentSettingsRequired || (navItem.currentSettingsRequired && show);\n });\n });\n\n showShortcuts = signal<boolean>(false);\n optionalNavItemBool = input<boolean>(true);\n private subscription: {\n ctrlState?: Subscription;\n menuState?: Subscription;\n } = {};\n\n constructor(\n private readonly store: Store,\n ) { }\n\n ngOnInit() {\n this.listenToMenuState();\n this.listenToCtrlState();\n }\n\n ngOnDestroy() {\n unsubscribeSubscriptions(this.subscription);\n }\n\n private listenToCtrlState(): void {\n this.subscription.ctrlState = this.store.select(spxShortCutsReducer.selectCtrlIsDown).subscribe(ctrlIsDown => {\n this.showShortcuts.set(ctrlIsDown);\n });\n }\n\n private listenToMenuState(): void {\n this.subscription.menuState = this.store.select(spxNavigationReducer.default.selectTabs).subscribe((tabs) => {\n this.navItems.set(tabs);\n });\n }\n\n}","<ion-tabs #tabs select=\"home\">\n <ion-tab-bar slot=\"bottom\" class=\"border-t border-gray-200\">\n @for (item of shownNavItems(); track item.title) {\n <ion-tab-button [ngClass]=\"'ion-tab-button--' + item.code\" [tab]=\"item.code\"\n [attr.data-e2e]=\"'tab--' + item.code\">\n <fa-icon class=\"text-xl\" [icon]=\"showShortcuts() ? item.iconShortcut! : item.iconTab!\"></fa-icon>\n </ion-tab-button>\n }\n </ion-tab-bar>\n</ion-tabs>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["actions.ctrl","spxShortCutsReducer"],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-tabs.mjs","sources":["../../../../projects/softpak/components/spx-tabs/store/spx-shortcuts.actions.ts","../../../../projects/softpak/components/spx-tabs/store/spx-shortcuts.reducer.ts","../../../../projects/softpak/components/spx-tabs/src/spx-tabs.component.ts","../../../../projects/softpak/components/spx-tabs/src/spx-tabs.component.html","../../../../projects/softpak/components/spx-tabs/softpak-components-spx-tabs.ts"],"sourcesContent":["import { createActionGroup, props } from '@ngrx/store';\n\nexport const spxShortcutsActions = createActionGroup({\n source: 'SpxShortcuts',\n events: {\n Ctrl: props<{ keyIsDown: boolean; }>(),\n },\n});\n","import { createFeature, createReducer, on } from '@ngrx/store';\n\nimport { spxShortcutsActions } from './spx-shortcuts.actions';\n\nexport interface StateI {\n ctrlIsDown: boolean;\n}\n\nexport const initialState: StateI = {\n ctrlIsDown: false,\n};\n\nexport default createFeature({\n name: 'spxShortcuts',\n reducer: createReducer(\n initialState,\n on(spxShortcutsActions.ctrl, (state: StateI, { keyIsDown }): StateI => ({\n ...state,\n ctrlIsDown: keyIsDown,\n })),\n )}\n);","import { ChangeDetectionStrategy, Component, computed, input, OnInit, signal } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { FaIconComponent } from \"@fortawesome/angular-fontawesome\";\nimport { IonTabBar, IonTabButton, IonTabs } from \"@ionic/angular/standalone\";\nimport { Store } from \"@ngrx/store\";\nimport { unsubscribeSubscriptions } from \"@softpak/components/spx-helpers\";\nimport { SpxNavigationItemI, spxNavigationReducer } from \"@softpak/components/spx-navigation\";\nimport { Subscription } from \"rxjs\";\nimport { NgClass } from \"@angular/common\";\nimport spxShortCutsReducer from '../store/spx-shortcuts.reducer';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'spx-tabs',\n standalone: true,\n imports: [\n IonTabs, \n FormsModule,\n IonTabBar,\n IonTabButton,\n FaIconComponent,\n NgClass\n ],\n templateUrl: './spx-tabs.component.html',\n styleUrl: './spx-tabs.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpxTabsComponent implements OnInit {\n navItems = signal<SpxNavigationItemI[]>([]);\n shownNavItems = computed(() => {\n const show = this.optionalNavItemBool();\n return this.navItems().filter((navItem) => {\n return !navItem.currentSettingsRequired || (navItem.currentSettingsRequired && show);\n });\n });\n\n showShortcuts = signal<boolean>(false);\n optionalNavItemBool = input<boolean>(true);\n private subscription: {\n ctrlState?: Subscription;\n menuState?: Subscription;\n } = {};\n\n constructor(\n private readonly store: Store,\n ) { }\n\n ngOnInit() {\n this.listenToMenuState();\n this.listenToCtrlState();\n }\n\n ngOnDestroy() {\n unsubscribeSubscriptions(this.subscription);\n }\n\n private listenToCtrlState(): void {\n this.subscription.ctrlState = this.store.select(spxShortCutsReducer.selectCtrlIsDown).subscribe(ctrlIsDown => {\n this.showShortcuts.set(ctrlIsDown);\n });\n }\n\n private listenToMenuState(): void {\n this.subscription.menuState = this.store.select(spxNavigationReducer.default.selectTabs).subscribe((tabs) => {\n this.navItems.set(tabs);\n });\n }\n\n}","<ion-tabs #tabs select=\"home\">\n <ion-tab-bar slot=\"bottom\" class=\"border-t border-gray-200\">\n @for (item of shownNavItems(); track item.title) {\n <ion-tab-button [ngClass]=\"'ion-tab-button--' + item.code\" [tab]=\"item.code\"\n [attr.data-e2e]=\"'tab--' + item.code\">\n <fa-icon class=\"text-xl\" [icon]=\"showShortcuts() ? item.iconShortcut! : item.iconTab!\"></fa-icon>\n </ion-tab-button>\n }\n </ion-tab-bar>\n</ion-tabs>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["spxShortCutsReducer"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, output, effect, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { SpxAlertComponent } from '@softpak/components/spx-alert';
4
- import { createAction, props, union, createFeature, createReducer, on } from '@ngrx/store';
4
+ import { createActionGroup, props, emptyProps, createFeature, createReducer, on } from '@ngrx/store';
5
5
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
6
6
 
7
7
  var SpxToasterSeverityEnum;
@@ -74,35 +74,18 @@ class SpxToasterMessageI {
74
74
  }
75
75
  }
76
76
 
77
- const clearAll = createAction('[SPX / Toaster] Clear all', props());
78
- const clearAllErrors = createAction('[SPX / Toaster] Clear all errors', props());
79
- const clearAllErrorsAndWarnings = createAction('[SPX / Toaster] Clear all errors and warnings', props());
80
- const clearMessage = createAction('[SPX / Toaster] Clear message', props());
81
- const createError = createAction('[SPX / Toaster] Create error', props());
82
- const createInfo = createAction('[SPX / Toaster] Create info', props());
83
- const createSuccess = createAction('[SPX / Toaster] Create success', props());
84
- const createWarning = createAction('[SPX / Toaster] Create warning', props());
85
- const all = union({
86
- clearAll,
87
- clearAllErrors,
88
- clearAllErrorsAndWarnings,
89
- clearMessage,
90
- createError,
91
- createInfo,
92
- createSuccess,
93
- createWarning,
94
- });
95
-
96
- var spxToaster_actions = /*#__PURE__*/Object.freeze({
97
- __proto__: null,
98
- clearAll: clearAll,
99
- clearAllErrors: clearAllErrors,
100
- clearAllErrorsAndWarnings: clearAllErrorsAndWarnings,
101
- clearMessage: clearMessage,
102
- createError: createError,
103
- createInfo: createInfo,
104
- createSuccess: createSuccess,
105
- createWarning: createWarning
77
+ const spxToasterActions = createActionGroup({
78
+ source: 'SpxToaster',
79
+ events: {
80
+ ClearAll: emptyProps(),
81
+ ClearAllErrors: emptyProps(),
82
+ ClearAllErrorsAndWarnings: emptyProps(),
83
+ ClearMessage: props(),
84
+ CreateError: props(),
85
+ CreateInfo: props(),
86
+ CreateSuccess: props(),
87
+ CreateWarning: props(),
88
+ },
106
89
  });
107
90
 
108
91
  const initialState = {
@@ -124,28 +107,28 @@ function addMessage(currentMessages, newMessage) {
124
107
  }
125
108
  var spxToaster_reducer = createFeature({
126
109
  name: 'spxToaster',
127
- reducer: createReducer(initialState, on(clearAll, (state) => {
110
+ reducer: createReducer(initialState, on(spxToasterActions.clearAll, (state) => {
128
111
  return {
129
112
  ...state,
130
113
  messages: []
131
114
  };
132
- }), on(clearAllErrors, (state) => {
115
+ }), on(spxToasterActions.clearAllErrors, (state) => {
133
116
  return {
134
117
  ...state,
135
118
  messages: [...state.messages.filter(msg => msg.severity !== SpxSeverityEnum.error)]
136
119
  };
137
- }), on(clearAllErrorsAndWarnings, (state) => {
120
+ }), on(spxToasterActions.clearAllErrorsAndWarnings, (state) => {
138
121
  return {
139
122
  ...state,
140
123
  messages: [...state.messages.filter(msg => msg.severity !== SpxSeverityEnum.error &&
141
124
  msg.severity !== SpxSeverityEnum.warning)]
142
125
  };
143
- }), on(clearMessage, (state, action) => {
126
+ }), on(spxToasterActions.clearMessage, (state, action) => {
144
127
  return {
145
128
  ...state,
146
129
  messages: [...state.messages.filter(msg => msg.id !== action.id)]
147
130
  };
148
- }), on(createError, (state, action) => {
131
+ }), on(spxToasterActions.createError, (state, action) => {
149
132
  return {
150
133
  ...state,
151
134
  messages: addMessage(state.messages, {
@@ -158,7 +141,7 @@ var spxToaster_reducer = createFeature({
158
141
  }),
159
142
  nextId: state.nextId + 1
160
143
  };
161
- }), on(createInfo, (state, action) => {
144
+ }), on(spxToasterActions.createInfo, (state, action) => {
162
145
  return {
163
146
  ...state,
164
147
  messages: addMessage(state.messages, {
@@ -171,7 +154,7 @@ var spxToaster_reducer = createFeature({
171
154
  }),
172
155
  nextId: state.nextId + 1
173
156
  };
174
- }), on(createSuccess, (state, action) => {
157
+ }), on(spxToasterActions.createSuccess, (state, action) => {
175
158
  return {
176
159
  ...state,
177
160
  messages: addMessage(state.messages, {
@@ -184,7 +167,7 @@ var spxToaster_reducer = createFeature({
184
167
  }),
185
168
  nextId: state.nextId + 1
186
169
  };
187
- }), on(createWarning, (state, action) => {
170
+ }), on(spxToasterActions.createWarning, (state, action) => {
188
171
  return {
189
172
  ...state,
190
173
  messages: addMessage(state.messages, {
@@ -214,5 +197,5 @@ var spxToaster_state = /*#__PURE__*/Object.freeze({
214
197
  * Generated bundle index. Do not edit.
215
198
  */
216
199
 
217
- export { SpxToasterAutoCloseSpeedEnum, SpxToasterComponent, SpxToasterMessageI, SpxToasterSeverityEnum, spxToaster_actions as spxToasterActions, spxToaster_initial as spxToasterInitial, spxToaster_reducer$1 as spxToasterReducer, spxToaster_state as spxToasterState, toasterAutocloseSpeed };
200
+ export { SpxToasterAutoCloseSpeedEnum, SpxToasterComponent, SpxToasterMessageI, SpxToasterSeverityEnum, spxToasterActions, spxToaster_initial as spxToasterInitial, spxToaster_reducer$1 as spxToasterReducer, spxToaster_state as spxToasterState, toasterAutocloseSpeed };
218
201
  //# sourceMappingURL=softpak-components-spx-toaster.mjs.map
@@ -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 const messageLength = messageText?.length ?? 0;\n switch (autoCloseSpeed) {\n case SpxToasterAutoCloseSpeedEnum.DEFAULT:\n return Math.min(Math.max(messageLength * 50, 2000), 7000);\n case SpxToasterAutoCloseSpeedEnum.SLOW:\n return Math.min(Math.max(messageLength * 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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"}
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 const messageLength = messageText?.length ?? 0;\n switch (autoCloseSpeed) {\n case SpxToasterAutoCloseSpeedEnum.DEFAULT:\n return Math.min(Math.max(messageLength * 50, 2000), 7000);\n case SpxToasterAutoCloseSpeedEnum.SLOW:\n return Math.min(Math.max(messageLength * 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 { createActionGroup, emptyProps, props } from '@ngrx/store';\n\nimport { SpxToasterAutoCloseSpeedEnum } from '../../src/spx-toaster-autoclose-speed';\n\nexport const spxToasterActions = createActionGroup({\n source: 'SpxToaster',\n events: {\n ClearAll: emptyProps(),\n ClearAllErrors: emptyProps(),\n ClearAllErrorsAndWarnings: emptyProps(),\n ClearMessage: props<{ id: number; }>(),\n CreateError: props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum; closeable?: boolean; messageText: string; title?: string; }>(),\n CreateInfo: props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum; closeable?: boolean; messageText: string; title?: string; }>(),\n CreateSuccess: props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum; closeable?: boolean; messageText: string; title?: string; }>(),\n CreateWarning: props<{ autoClose?: number | SpxToasterAutoCloseSpeedEnum; closeable?: boolean; messageText: string; title?: string; }>(),\n },\n});\n","import { StateI } from \"./spx-toaster.state\";\n\nexport const initialState: StateI = {\n messages: [],\n nextId: 1,\n};\n","import { createFeature, createReducer, on } from '@ngrx/store';\n\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { SpxToasterMessageI } from '../../src/spx-toaster-message.interface';\nimport { StateI } from './spx-toaster.state';\nimport { initialState } from './spx-toaster.initial';\nimport { spxToasterActions } from './spx-toaster.actions';\nimport { toasterAutocloseSpeed } from '../../src/spx-toaster-autoclose-speed';\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(spxToasterActions.clearAll, (state: StateI): StateI => {\n return {\n ...state,\n messages: []\n };\n }),\n on(spxToasterActions.clearAllErrors, (state: StateI): StateI => {\n return {\n ...state,\n messages: [...state.messages.filter(msg => msg.severity !== SpxSeverityEnum.error)]\n };\n }),\n on(spxToasterActions.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(spxToasterActions.clearMessage, (state: StateI, action): StateI => {\n return {\n ...state,\n messages: [...state.messages.filter(msg => msg.id !== action.id)]\n };\n }),\n on(spxToasterActions.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(spxToasterActions.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(spxToasterActions.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(spxToasterActions.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":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
+ import * as i3 from '@ionic/angular/standalone';
2
+ import { IonContent, IonHeader, IonToolbar, IonTitle } from '@ionic/angular/standalone';
3
+ import { spxTextCheckingForUpdates, spxTextOneMomentPlease, spxTextUpdate, spxTextReadyToBeInstalled, spxTextPatchAvailable, spxTextUpdateAvailable, spxTextOpenAppStore } from '@softpak/components/spx-translate';
1
4
  import * as i0 from '@angular/core';
2
5
  import { Component, signal, HostBinding, ChangeDetectionStrategy, inject, Injectable } from '@angular/core';
6
+ import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
3
7
  import { TranslatePipe } from '@ngx-translate/core';
4
- import * as i3 from '@ionic/angular/standalone';
5
- import { IonContent, IonHeader, IonToolbar, IonTitle } from '@ionic/angular/standalone';
6
8
  import * as i1 from '@ngrx/store';
7
- import { createAction, props, union, createFeature, createReducer, on } from '@ngrx/store';
8
- import { DateTime } from 'luxon';
9
+ import { createActionGroup, props, emptyProps, createFeature, createReducer, on, createAction, union } from '@ngrx/store';
9
10
  import { unsubscribeSubscriptions, SpxSeverityEnum } from '@softpak/components/spx-helpers';
10
- import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
11
- import { spxTextCheckingForUpdates, spxTextOneMomentPlease, spxTextUpdate, spxTextReadyToBeInstalled, spxTextPatchAvailable, spxTextUpdateAvailable, spxTextOpenAppStore } from '@softpak/components/spx-translate';
11
+ import { DateTime } from 'luxon';
12
12
  import * as i2 from '@angular/router';
13
13
  import { SpxButtonComponent } from '@softpak/components/spx-button';
14
14
  import * as i2$1 from '@angular/platform-browser';
@@ -23,32 +23,22 @@ import { Capacitor } from '@capacitor/core';
23
23
  import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
24
24
  import { captureMessage } from '@sentry/angular';
25
25
 
26
- const anUpdateIsReady = createAction('[SPX / Update Check] An update is ready', props());
27
- const clearError = createAction('[SPX / Update Check] Clear error', props());
28
- const checkFailed = createAction('[SPX / Update Check] Error happened', props());
29
- const initialize = createAction('[SPX / Update Check] Initialize', props());
30
- const noUpdateWasFound = createAction('[SPX / Update Check] No update was found', props());
31
- const notAvailableOnWeb = createAction('[SPX / Update Check] Not available on web', props());
32
- const runCheck = createAction('[SPX / Update Check] Run', props());
33
- const all$1 = union({
34
- anUpdateIsReady,
35
- clearError,
36
- checkFailed,
37
- initialize,
38
- noUpdateWasFound,
39
- notAvailableOnWeb,
40
- runCheck,
26
+ const spxUpdateCheckActions$1 = createActionGroup({
27
+ source: 'SpxUpdateCheck',
28
+ events: {
29
+ anUpdateIsReady: emptyProps(),
30
+ checkFailed: props(),
31
+ clearError: emptyProps(),
32
+ initialize: emptyProps(),
33
+ noUpdateWasFound: props(),
34
+ notAvailableOnWeb: emptyProps(),
35
+ runCheck: props(),
36
+ },
41
37
  });
42
38
 
43
39
  var spxUpdateCheck_actions = /*#__PURE__*/Object.freeze({
44
40
  __proto__: null,
45
- anUpdateIsReady: anUpdateIsReady,
46
- checkFailed: checkFailed,
47
- clearError: clearError,
48
- initialize: initialize,
49
- noUpdateWasFound: noUpdateWasFound,
50
- notAvailableOnWeb: notAvailableOnWeb,
51
- runCheck: runCheck
41
+ spxUpdateCheckActions: spxUpdateCheckActions$1
52
42
  });
53
43
 
54
44
  const initialState$1 = {
@@ -64,36 +54,36 @@ var spxUpdateCheck_initial = /*#__PURE__*/Object.freeze({
64
54
 
65
55
  var updCheck = createFeature({
66
56
  name: 'spxUpdateCheck',
67
- reducer: createReducer(initialState$1, on(anUpdateIsReady, (state) => {
57
+ reducer: createReducer(initialState$1, on(spxUpdateCheckActions$1.anUpdateIsReady, (state) => {
68
58
  return {
69
59
  ...state,
70
60
  lastCheck: DateTime.now().toISO(),
71
61
  showError: false,
72
62
  };
73
- }), on(clearError, (state) => {
63
+ }), on(spxUpdateCheckActions$1.clearError, (state) => {
74
64
  return {
75
65
  ...state,
76
66
  showError: false,
77
67
  };
78
- }), on(checkFailed, (state) => {
68
+ }), on(spxUpdateCheckActions$1.checkFailed, (state) => {
79
69
  return {
80
70
  ...state,
81
71
  forceWaitForUpdate: false,
82
72
  showError: true,
83
73
  };
84
- }), on(noUpdateWasFound, (state) => {
74
+ }), on(spxUpdateCheckActions$1.noUpdateWasFound, (state) => {
85
75
  return {
86
76
  ...state,
87
77
  forceWaitForUpdate: false,
88
78
  lastCheck: DateTime.now().toISO(),
89
79
  showError: false,
90
80
  };
91
- }), on(runCheck, (state, { forceWaitForUpdate }) => {
81
+ }), on(spxUpdateCheckActions$1.runCheck, (state, { forceWaitForUpdate }) => {
92
82
  return {
93
83
  ...state,
94
84
  forceWaitForUpdate: forceWaitForUpdate ? true : state.forceWaitForUpdate
95
85
  };
96
- }), on(notAvailableOnWeb, (state) => {
86
+ }), on(spxUpdateCheckActions$1.notAvailableOnWeb, (state) => {
97
87
  return {
98
88
  ...state,
99
89
  forceWaitForUpdate: false
@@ -108,7 +98,7 @@ var spxUpdateCheck_reducer = /*#__PURE__*/Object.freeze({
108
98
 
109
99
  class SpxUpdatePageComponent {
110
100
  ngOnInit() {
111
- this.appStore.dispatch(runCheck({ forceWaitForUpdate: true }));
101
+ this.appStore.dispatch(spxUpdateCheckActions$1.runCheck({ forceWaitForUpdate: true }));
112
102
  this.subscriptions.updCheck = this.appStore.select(updCheck.selectForceWaitForUpdate).subscribe(forceWaitForUpdate => {
113
103
  if (forceWaitForUpdate === false) {
114
104
  if (this.activatedRoute.snapshot.data['url'] === undefined) {
@@ -260,10 +250,10 @@ const spxUpdateUrl = '';
260
250
  let Effects$1 = class Effects {
261
251
  constructor() {
262
252
  this.actions$ = inject(Actions);
263
- this.afterInitialize$ = createEffect(() => this.actions$.pipe(ofType(initialize), delay(120000), mergeMap(() => [
264
- runCheck({}),
253
+ this.afterInitialize$ = createEffect(() => this.actions$.pipe(ofType(spxUpdateCheckActions$1.initialize), delay(120000), mergeMap(() => [
254
+ spxUpdateCheckActions$1.runCheck({}),
265
255
  ])));
266
- this.onRun$ = createEffect(() => this.actions$.pipe(ofType(runCheck), tap(async () => {
256
+ this.onRun$ = createEffect(() => this.actions$.pipe(ofType(spxUpdateCheckActions$1.runCheck), tap(async () => {
267
257
  if (Capacitor.getPlatform() !== 'web') {
268
258
  // Migrate from e.g. 1.2.x to 1.3.x
269
259
  const binaryInfo = await App.getInfo();
@@ -291,25 +281,25 @@ let Effects$1 = class Effects {
291
281
  if (action.forceWaitForUpdate) {
292
282
  reload();
293
283
  }
294
- return anUpdateIsReady({});
284
+ return spxUpdateCheckActions$1.anUpdateIsReady();
295
285
  }
296
286
  else {
297
- return noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });
287
+ return spxUpdateCheckActions$1.noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });
298
288
  }
299
289
  }), catchError((err) => {
300
290
  if (err.message !== 'Not implemented for web only') {
301
291
  captureMessage("[UPD] Handled: " + err.message);
302
292
  }
303
- return err.message === 'Not implemented for web only' ? of(notAvailableOnWeb({})) : of(checkFailed({ startUpdateAgainAfterTimeout: false }));
293
+ return err.message === 'Not implemented for web only' ? of(spxUpdateCheckActions$1.notAvailableOnWeb()) : of(spxUpdateCheckActions$1.checkFailed({ startUpdateAgainAfterTimeout: false }));
304
294
  })))));
305
- this.whenAndUpdateIsReady$ = createEffect(() => this.actions$.pipe(ofType(anUpdateIsReady), mergeMap(() => [
295
+ this.whenAndUpdateIsReady$ = createEffect(() => this.actions$.pipe(ofType(spxUpdateCheckActions$1.anUpdateIsReady), mergeMap(() => [
306
296
  hasBeenDownloaded({}),
307
297
  ])));
308
- this.whenCheckHasFailed$ = createEffect(() => this.actions$.pipe(ofType(checkFailed), delay(30000), mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [
309
- runCheck({}),
298
+ this.whenCheckHasFailed$ = createEffect(() => this.actions$.pipe(ofType(spxUpdateCheckActions$1.checkFailed), delay(30000), mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [
299
+ spxUpdateCheckActions$1.runCheck({}),
310
300
  ])));
311
- this.whenNoUpdateWasFound$ = createEffect(() => this.actions$.pipe(ofType(noUpdateWasFound), delay(120000), mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [
312
- runCheck({}),
301
+ this.whenNoUpdateWasFound$ = createEffect(() => this.actions$.pipe(ofType(spxUpdateCheckActions$1.noUpdateWasFound), delay(120000), mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [
302
+ spxUpdateCheckActions$1.runCheck({}),
313
303
  ])));
314
304
  }
315
305
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: Effects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }