@softpak/components 19.15.1 → 19.15.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,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, output, Component, ChangeDetectionStrategy, Injectable } from '@angular/core';
2
+ import { input, output, Component, ChangeDetectionStrategy, signal, Injectable } from '@angular/core';
3
3
  import { FaIconComponent } from '@fortawesome/angular-fontawesome';
4
4
  import { faTimes } from '@fortawesome/free-solid-svg-icons';
5
5
  import { SpxButtonComponent } from '@softpak/components/spx-button';
6
6
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
7
- import * as i2 from '@ngrx/store';
8
- import { createAction, props, union, createFeature, createReducer, on } from '@ngrx/store';
9
- import * as i1 from '@ngrx/effects';
7
+ import * as i1 from '@ngrx/store';
8
+ import { select, createAction, props, union, createFeature, createReducer, on } from '@ngrx/store';
9
+ import * as i1$1 from '@ngrx/effects';
10
10
  import { createEffect, ofType } from '@ngrx/effects';
11
11
  import { withLatestFrom, mergeMap } from 'rxjs/operators';
12
12
  import { spxSpinnerActions } from '@softpak/components/spx-spinner';
@@ -36,19 +36,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
36
36
  args: [{ selector: 'spx-confirm', imports: [SpxButtonComponent, FaIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"block spx-confirm h-full mt-12\">\r\n <div class=\"bg-amber-400 flex gap-3 items-center px-3 py-1 rounded-t text-black\">\r\n <div class=\"grow font-bold\">\r\n <ng-content select=\"[confirm__title]\"></ng-content>\r\n </div>\r\n <spx-button (spxClick)=\"onCancel()\" [spxType]=\"'button'\" [spxSeverity]=\"severityInfo\"><fa-icon\r\n [icon]=\"faTimes\"></fa-icon>\r\n </spx-button>\r\n </div>\r\n <div class=\"flex flex-col gap-3 bg-black p-3\">\r\n <ng-content select=\"[confirm__content]\"></ng-content>\r\n <div class=\"grid grid-cols-1 grid-rows-2 sm:grid-rows-1 sm:grid-cols-2 gap-3 grid-flow-row\">\r\n <spx-button (spxClick)=\"onCancel()\" [spxFullWidth]=\"true\" [spxType]=\"'button'\"\r\n [spxSeverity]=\"severityError\">\r\n <ng-content select=\"[confirm__btn_cancel]\"></ng-content>\r\n </spx-button>\r\n <spx-button #confirm (spxClick)=\"onConfirm()\" [spxFullWidth]=\"true\" [spxType]=\"'submit'\"\r\n [spxSeverity]=\"severitySuccess\">\r\n <ng-content select=\"[confirm__btn_confirm]\"></ng-content>\r\n </spx-button>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{position:absolute;z-index:var(--z-index--confirm);top:0;left:0;right:0;background-color:var(--color--backdrop)}.spx-confirm{background-color:var(--color--item--background);border-radius:3px;color:var(--ion-text-color, #000);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90%;max-width:960px}\n"] }]
37
37
  }], ctorParameters: () => [] });
38
38
 
39
- const ANSWER = createAction('[Confirm] Answer', props());
40
- const RESET = createAction('[Confirm] Reset', props());
41
- const SHOW = createAction('[Confirm] Show', props());
39
+ class SpxConfirmDisplayerComponent {
40
+ constructor(appStore) {
41
+ this.appStore = appStore;
42
+ this.confirms = signal([]);
43
+ this.subscriptions = {};
44
+ }
45
+ ngOnInit() {
46
+ this.subscriptions.confirmState = this.appStore.pipe(select(spConfirmStateReducer.selectConfirms)).subscribe(confirms => {
47
+ if (confirms?.length === 0) {
48
+ this.confirms.set([]);
49
+ return;
50
+ }
51
+ this.confirms.set(confirms);
52
+ });
53
+ }
54
+ ngOnDestroy() {
55
+ this.subscriptions?.confirmState?.unsubscribe();
56
+ }
57
+ onCancel(id) {
58
+ this.appStore.dispatch(answer({
59
+ cancel: true,
60
+ id
61
+ }));
62
+ }
63
+ onConfirm(id) {
64
+ this.appStore.dispatch(answer({
65
+ confirm: true,
66
+ id
67
+ }));
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxConfirmDisplayerComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxConfirmDisplayerComponent, isStandalone: true, selector: "spx-confirm-displayer", ngImport: i0, template: "@if (confirms().length > 0) {\r\n <div class=\"bg-black/75 block relative h-full\" style=\"z-index: 1000\">\r\n @for (confirm of confirms(); track confirm.id) {\r\n <spx-confirm [id]=\"confirm.id\" (spxCancel)=\"onCancel($event)\"\r\n (spxConfirm)=\"onConfirm($event)\">\r\n <ng-container confirm__title>{{ confirm.title }}</ng-container>\r\n <ng-container confirm__content>{{ confirm.content }}</ng-container>\r\n <ng-container confirm__btn_cancel>{{confirm.noYesButton ? 'NO' : 'Cancel'}}</ng-container>\r\n <ng-container confirm__btn_confirm>{{confirm.noYesButton ? 'YES' : 'OK'}}</ng-container>\r\n </spx-confirm>\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "component", type: SpxConfirmComponent, selector: "spx-confirm", inputs: ["id"], outputs: ["spxCancel", "spxConfirm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxConfirmDisplayerComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ selector: 'spx-confirm-displayer', imports: [SpxConfirmComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "@if (confirms().length > 0) {\r\n <div class=\"bg-black/75 block relative h-full\" style=\"z-index: 1000\">\r\n @for (confirm of confirms(); track confirm.id) {\r\n <spx-confirm [id]=\"confirm.id\" (spxCancel)=\"onCancel($event)\"\r\n (spxConfirm)=\"onConfirm($event)\">\r\n <ng-container confirm__title>{{ confirm.title }}</ng-container>\r\n <ng-container confirm__content>{{ confirm.content }}</ng-container>\r\n <ng-container confirm__btn_cancel>{{confirm.noYesButton ? 'NO' : 'Cancel'}}</ng-container>\r\n <ng-container confirm__btn_confirm>{{confirm.noYesButton ? 'YES' : 'OK'}}</ng-container>\r\n </spx-confirm>\r\n }\r\n </div>\r\n}" }]
75
+ }], ctorParameters: () => [{ type: i1.Store }] });
76
+
77
+ const answer = createAction('[Confirm] Answer', props());
78
+ const reset = createAction('[Confirm] Reset', props());
79
+ const show = createAction('[Confirm] Show', props());
42
80
  const all = union({
43
- RESET,
44
- SHOW,
81
+ reset,
82
+ show,
45
83
  });
46
84
 
47
85
  var spxConfirm_actions = /*#__PURE__*/Object.freeze({
48
86
  __proto__: null,
49
- ANSWER: ANSWER,
50
- RESET: RESET,
51
- SHOW: SHOW
87
+ answer: answer,
88
+ reset: reset,
89
+ show: show
52
90
  });
53
91
 
54
92
  const initialState = {
@@ -56,9 +94,9 @@ const initialState = {
56
94
  };
57
95
  var spConfirmStateReducer = createFeature({
58
96
  name: 'spxConfirm',
59
- reducer: createReducer(initialState, on(RESET, (state, {}) => ({
97
+ reducer: createReducer(initialState, on(reset, (state, {}) => ({
60
98
  ...state,
61
- })), on(SHOW, (state, { content, id, title, noYesButton, onCancel, onOK }) => {
99
+ })), on(show, (state, { content, id, title, noYesButton, onCancel, onOK }) => {
62
100
  const confirms = state.confirms.filter((c) => c.id).length > 0
63
101
  ? state.confirms
64
102
  : [
@@ -76,7 +114,7 @@ var spConfirmStateReducer = createFeature({
76
114
  ...state,
77
115
  confirms,
78
116
  };
79
- }), on(ANSWER, (state, { id }) => ({
117
+ }), on(answer, (state, { id }) => ({
80
118
  ...state,
81
119
  confirms: [
82
120
  ...state.confirms.filter((c) => c.id !== id),
@@ -93,7 +131,7 @@ class SpxConfirmEffects {
93
131
  constructor(actions$, appStore) {
94
132
  this.actions$ = actions$;
95
133
  this.appStore = appStore;
96
- this.afterAnswer$ = createEffect(() => this.actions$.pipe(ofType(ANSWER), withLatestFrom(this.appStore.select(spConfirmStateReducer.selectConfirms)), mergeMap(([action, confirms]) => {
134
+ this.afterAnswer$ = createEffect(() => this.actions$.pipe(ofType(answer), withLatestFrom(this.appStore.select(spConfirmStateReducer.selectConfirms)), mergeMap(([action, confirms]) => {
97
135
  console.log(action, confirms);
98
136
  if (action.confirm) {
99
137
  confirms.find((c) => c.id === action.id)?.onOK?.();
@@ -104,12 +142,12 @@ class SpxConfirmEffects {
104
142
  return [spxSpinnerActions.hide({})];
105
143
  })));
106
144
  }
107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxConfirmEffects, deps: [{ token: i1.Actions }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxConfirmEffects, deps: [{ token: i1$1.Actions }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
108
146
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxConfirmEffects }); }
109
147
  }
110
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxConfirmEffects, decorators: [{
111
149
  type: Injectable
112
- }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Store }] });
150
+ }], ctorParameters: () => [{ type: i1$1.Actions }, { type: i1.Store }] });
113
151
 
114
152
  var spxConfirm_effects = /*#__PURE__*/Object.freeze({
115
153
  __proto__: null,
@@ -120,5 +158,5 @@ var spxConfirm_effects = /*#__PURE__*/Object.freeze({
120
158
  * Generated bundle index. Do not edit.
121
159
  */
122
160
 
123
- export { SpxConfirmComponent, spxConfirm_actions as spxConfirmActions, spxConfirm_effects as spxConfirmEffects, spxConfirm_reducer as spxConfirmReducer };
161
+ export { SpxConfirmComponent, SpxConfirmDisplayerComponent, spxConfirm_actions as spxConfirmActions, spxConfirm_effects as spxConfirmEffects, spxConfirm_reducer as spxConfirmReducer };
124
162
  //# sourceMappingURL=softpak-components-spx-confirm.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-confirm.mjs","sources":["../../../../projects/softpak/components/spx-confirm/spx-confirm.component.ts","../../../../projects/softpak/components/spx-confirm/spx-confirm.component.html","../../../../projects/softpak/components/spx-confirm/store/spx-confirm.actions.ts","../../../../projects/softpak/components/spx-confirm/store/spx-confirm.reducer.ts","../../../../projects/softpak/components/spx-confirm/store/spx-confirm.effects.ts","../../../../projects/softpak/components/spx-confirm/softpak-components-spx-confirm.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\r\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\r\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\r\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\r\n\r\n@Component({\r\n selector: 'spx-confirm',\r\n templateUrl: './spx-confirm.component.html',\r\n styleUrls: ['./spx-confirm.component.scss'],\r\n imports: [SpxButtonComponent, FaIconComponent],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true\r\n})\r\nexport class SpxConfirmComponent {\r\n id = input.required<string>();\r\n spxCancel = output<string>();\r\n spxConfirm = output<string>();\r\n faTimes = faTimes;\r\n severityError = SpxSeverityEnum.error;\r\n severityInfo = SpxSeverityEnum.info;\r\n severitySuccess = SpxSeverityEnum.success;\r\n\r\n constructor() { }\r\n\r\n onCancel() {\r\n this.spxCancel.emit(this.id());\r\n }\r\n\r\n onConfirm() {\r\n if(this.id()) {}\r\n this.spxConfirm.emit(this.id());\r\n }\r\n\r\n}\r\n","<div class=\"block spx-confirm h-full mt-12\">\r\n <div class=\"bg-amber-400 flex gap-3 items-center px-3 py-1 rounded-t text-black\">\r\n <div class=\"grow font-bold\">\r\n <ng-content select=\"[confirm__title]\"></ng-content>\r\n </div>\r\n <spx-button (spxClick)=\"onCancel()\" [spxType]=\"'button'\" [spxSeverity]=\"severityInfo\"><fa-icon\r\n [icon]=\"faTimes\"></fa-icon>\r\n </spx-button>\r\n </div>\r\n <div class=\"flex flex-col gap-3 bg-black p-3\">\r\n <ng-content select=\"[confirm__content]\"></ng-content>\r\n <div class=\"grid grid-cols-1 grid-rows-2 sm:grid-rows-1 sm:grid-cols-2 gap-3 grid-flow-row\">\r\n <spx-button (spxClick)=\"onCancel()\" [spxFullWidth]=\"true\" [spxType]=\"'button'\"\r\n [spxSeverity]=\"severityError\">\r\n <ng-content select=\"[confirm__btn_cancel]\"></ng-content>\r\n </spx-button>\r\n <spx-button #confirm (spxClick)=\"onConfirm()\" [spxFullWidth]=\"true\" [spxType]=\"'submit'\"\r\n [spxSeverity]=\"severitySuccess\">\r\n <ng-content select=\"[confirm__btn_confirm]\"></ng-content>\r\n </spx-button>\r\n </div>\r\n </div>\r\n</div>","import { createAction, props, union } from '@ngrx/store';\r\nimport { ConfirmI } from './spx-confirm.reducer';\r\n\r\nexport const ANSWER = createAction('[Confirm] Answer', props<{\r\n cancel?: boolean;\r\n confirm?: boolean;\r\n id: string;\r\n}>());\r\nexport const RESET = createAction('[Confirm] Reset', props<Record<string, unknown>>());\r\nexport const SHOW = createAction('[Confirm] Show', props<ConfirmI>());\r\n\r\nconst all = union({\r\n RESET,\r\n SHOW,\r\n});\r\nexport type Actions = typeof all;\r\n","import * as actions from './spx-confirm.actions';\r\nimport { createFeature, createReducer, on } from '@ngrx/store';\r\n\r\nexport interface ConfirmI {\r\n content: string;\r\n id: string;\r\n title: string;\r\n noYesButton?: boolean;\r\n onOK?: () => void;\r\n onCancel?: () => void;\r\n}\r\n\r\nexport interface State {\r\n confirms: ConfirmI[];\r\n}\r\n\r\nconst initialState: State = {\r\n confirms: [],\r\n};\r\n\r\nexport default createFeature({\r\n name: 'spxConfirm',\r\n reducer: createReducer(\r\n initialState,\r\n on(\r\n actions.RESET,\r\n (state: State, {}): State => ({\r\n ...state,\r\n })\r\n ),\r\n on(\r\n actions.SHOW,\r\n (state: State, { content, id, title, noYesButton, onCancel, onOK }): State => {\r\n const confirms =\r\n state.confirms.filter((c) => c.id).length > 0\r\n ? state.confirms\r\n : [\r\n ...state.confirms,\r\n {\r\n content,\r\n id,\r\n title,\r\n noYesButton,\r\n onCancel,\r\n onOK,\r\n },\r\n ];\r\n return {\r\n ...state,\r\n confirms,\r\n };\r\n }\r\n ),\r\n on(\r\n actions.ANSWER,\r\n (state: State, { id }): State => ({\r\n ...state,\r\n confirms: [\r\n ...state.confirms.filter((c) => c.id !== id),\r\n ],\r\n })\r\n )\r\n ),\r\n});\r\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Observable } from 'rxjs';\r\nimport { mergeMap, withLatestFrom } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport * as actions from './spx-confirm.actions';\r\nimport { spxSpinnerActions } from '@softpak/components/spx-spinner';\r\nimport spConfirmStateReducer from './spx-confirm.reducer';\r\nimport { Store } from '@ngrx/store';\r\n\r\n@Injectable()\r\nexport class SpxConfirmEffects {\r\n afterAnswer$: Observable<any> = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(actions.ANSWER),\r\n withLatestFrom(this.appStore.select(spConfirmStateReducer.selectConfirms)),\r\n mergeMap(([action, confirms]) => {\r\n console.log(action, confirms);\r\n if (action.confirm) {\r\n confirms.find((c) => c.id === action.id)?.onOK?.();\r\n }\r\n if (action.cancel) {\r\n confirms.find((c) => c.id === action.id)?.onCancel?.();\r\n }\r\n return [spxSpinnerActions.hide({})];\r\n })\r\n )\r\n );\r\n\r\n constructor(\r\n private readonly actions$: Actions,\r\n private readonly appStore: Store,\r\n ) {}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["actions.RESET","actions.SHOW","actions.ANSWER"],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-confirm.mjs","sources":["../../../../projects/softpak/components/spx-confirm/spx-confirm.component.ts","../../../../projects/softpak/components/spx-confirm/spx-confirm.component.html","../../../../projects/softpak/components/spx-confirm/spx-confirm-displayer/spx-confirm-displayer.component.ts","../../../../projects/softpak/components/spx-confirm/spx-confirm-displayer/spx-confirm-displayer.component.html","../../../../projects/softpak/components/spx-confirm/store/spx-confirm.actions.ts","../../../../projects/softpak/components/spx-confirm/store/spx-confirm.reducer.ts","../../../../projects/softpak/components/spx-confirm/store/spx-confirm.effects.ts","../../../../projects/softpak/components/spx-confirm/softpak-components-spx-confirm.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\r\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\r\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\r\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\r\n\r\n@Component({\r\n selector: 'spx-confirm',\r\n templateUrl: './spx-confirm.component.html',\r\n styleUrls: ['./spx-confirm.component.scss'],\r\n imports: [SpxButtonComponent, FaIconComponent],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true\r\n})\r\nexport class SpxConfirmComponent {\r\n id = input.required<string>();\r\n spxCancel = output<string>();\r\n spxConfirm = output<string>();\r\n faTimes = faTimes;\r\n severityError = SpxSeverityEnum.error;\r\n severityInfo = SpxSeverityEnum.info;\r\n severitySuccess = SpxSeverityEnum.success;\r\n\r\n constructor() { }\r\n\r\n onCancel() {\r\n this.spxCancel.emit(this.id());\r\n }\r\n\r\n onConfirm() {\r\n if(this.id()) {}\r\n this.spxConfirm.emit(this.id());\r\n }\r\n\r\n}\r\n","<div class=\"block spx-confirm h-full mt-12\">\r\n <div class=\"bg-amber-400 flex gap-3 items-center px-3 py-1 rounded-t text-black\">\r\n <div class=\"grow font-bold\">\r\n <ng-content select=\"[confirm__title]\"></ng-content>\r\n </div>\r\n <spx-button (spxClick)=\"onCancel()\" [spxType]=\"'button'\" [spxSeverity]=\"severityInfo\"><fa-icon\r\n [icon]=\"faTimes\"></fa-icon>\r\n </spx-button>\r\n </div>\r\n <div class=\"flex flex-col gap-3 bg-black p-3\">\r\n <ng-content select=\"[confirm__content]\"></ng-content>\r\n <div class=\"grid grid-cols-1 grid-rows-2 sm:grid-rows-1 sm:grid-cols-2 gap-3 grid-flow-row\">\r\n <spx-button (spxClick)=\"onCancel()\" [spxFullWidth]=\"true\" [spxType]=\"'button'\"\r\n [spxSeverity]=\"severityError\">\r\n <ng-content select=\"[confirm__btn_cancel]\"></ng-content>\r\n </spx-button>\r\n <spx-button #confirm (spxClick)=\"onConfirm()\" [spxFullWidth]=\"true\" [spxType]=\"'submit'\"\r\n [spxSeverity]=\"severitySuccess\">\r\n <ng-content select=\"[confirm__btn_confirm]\"></ng-content>\r\n </spx-button>\r\n </div>\r\n </div>\r\n</div>","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit, signal } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Subscription } from 'rxjs';\r\nimport { SpxConfirmComponent } from '../spx-confirm.component';\r\nimport { spxConfirmActions, spxConfirmReducer } from '../public-api';\r\n\r\n@Component({\r\n selector: 'spx-confirm-displayer',\r\n templateUrl: './spx-confirm-displayer.component.html',\r\n styleUrls: ['./spx-confirm-displayer.component.scss'],\r\n imports: [SpxConfirmComponent],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true\r\n})\r\nexport class SpxConfirmDisplayerComponent implements OnInit, OnDestroy {\r\n confirms = signal<{\r\n content: string;\r\n id: string;\r\n title: string;\r\n cancelled?: boolean;\r\n confirmed?: boolean;\r\n noYesButton?: boolean;\r\n }[]>([]);\r\n\r\n private subscriptions: {\r\n confirmState?: Subscription;\r\n } = {};\r\n\r\n constructor(\r\n private readonly appStore: Store,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.subscriptions.confirmState = this.appStore.pipe(select(spxConfirmReducer.default.selectConfirms)).subscribe(confirms => {\r\n if (confirms?.length === 0) {\r\n this.confirms.set([]);\r\n return;\r\n }\r\n\r\n this.confirms.set(confirms);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions?.confirmState?.unsubscribe();\r\n }\r\n\r\n onCancel(id: string) {\r\n this.appStore.dispatch(spxConfirmActions.answer({\r\n cancel: true,\r\n id\r\n }));\r\n }\r\n\r\n onConfirm(id: string) {\r\n this.appStore.dispatch(spxConfirmActions.answer({\r\n confirm: true,\r\n id\r\n }));\r\n }\r\n\r\n}\r\n","@if (confirms().length > 0) {\r\n <div class=\"bg-black/75 block relative h-full\" style=\"z-index: 1000\">\r\n @for (confirm of confirms(); track confirm.id) {\r\n <spx-confirm [id]=\"confirm.id\" (spxCancel)=\"onCancel($event)\"\r\n (spxConfirm)=\"onConfirm($event)\">\r\n <ng-container confirm__title>{{ confirm.title }}</ng-container>\r\n <ng-container confirm__content>{{ confirm.content }}</ng-container>\r\n <ng-container confirm__btn_cancel>{{confirm.noYesButton ? 'NO' : 'Cancel'}}</ng-container>\r\n <ng-container confirm__btn_confirm>{{confirm.noYesButton ? 'YES' : 'OK'}}</ng-container>\r\n </spx-confirm>\r\n }\r\n </div>\r\n}","import { createAction, props, union } from '@ngrx/store';\r\nimport { SpxConfirmI } from './spx-confirm.reducer';\r\n\r\nexport const answer = createAction('[Confirm] Answer', props<{\r\n cancel?: boolean;\r\n confirm?: boolean;\r\n id: string;\r\n}>());\r\nexport const reset = createAction('[Confirm] Reset', props<Record<string, unknown>>());\r\nexport const show = createAction('[Confirm] Show', props<SpxConfirmI>());\r\n\r\nconst all = union({\r\n reset,\r\n show,\r\n});\r\nexport type Actions = typeof all;\r\n","import * as actions from './spx-confirm.actions';\r\nimport { createFeature, createReducer, on } from '@ngrx/store';\r\n\r\nexport interface SpxConfirmI {\r\n content: string;\r\n id: string;\r\n title: string;\r\n noYesButton?: boolean;\r\n onOK?: () => void;\r\n onCancel?: () => void;\r\n}\r\n\r\nexport interface State {\r\n confirms: SpxConfirmI[];\r\n}\r\n\r\nconst initialState: State = {\r\n confirms: [],\r\n};\r\n\r\nexport default createFeature({\r\n name: 'spxConfirm',\r\n reducer: createReducer(\r\n initialState,\r\n on(\r\n actions.reset,\r\n (state: State, {}): State => ({\r\n ...state,\r\n })\r\n ),\r\n on(\r\n actions.show,\r\n (state: State, { content, id, title, noYesButton, onCancel, onOK }): State => {\r\n const confirms =\r\n state.confirms.filter((c) => c.id).length > 0\r\n ? state.confirms\r\n : [\r\n ...state.confirms,\r\n {\r\n content,\r\n id,\r\n title,\r\n noYesButton,\r\n onCancel,\r\n onOK,\r\n },\r\n ];\r\n return {\r\n ...state,\r\n confirms,\r\n };\r\n }\r\n ),\r\n on(\r\n actions.answer,\r\n (state: State, { id }): State => ({\r\n ...state,\r\n confirms: [\r\n ...state.confirms.filter((c) => c.id !== id),\r\n ],\r\n })\r\n )\r\n ),\r\n});\r\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Observable } from 'rxjs';\r\nimport { mergeMap, withLatestFrom } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport * as actions from './spx-confirm.actions';\r\nimport { spxSpinnerActions } from '@softpak/components/spx-spinner';\r\nimport spConfirmStateReducer from './spx-confirm.reducer';\r\nimport { Store } from '@ngrx/store';\r\n\r\n@Injectable()\r\nexport class SpxConfirmEffects {\r\n afterAnswer$: Observable<any> = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(actions.answer),\r\n withLatestFrom(this.appStore.select(spConfirmStateReducer.selectConfirms)),\r\n mergeMap(([action, confirms]) => {\r\n console.log(action, confirms);\r\n if (action.confirm) {\r\n confirms.find((c) => c.id === action.id)?.onOK?.();\r\n }\r\n if (action.cancel) {\r\n confirms.find((c) => c.id === action.id)?.onCancel?.();\r\n }\r\n return [spxSpinnerActions.hide({})];\r\n })\r\n )\r\n );\r\n\r\n constructor(\r\n private readonly actions$: Actions,\r\n private readonly appStore: Store,\r\n ) {}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["spxConfirmReducer.default","spxConfirmActions.answer","actions.reset","actions.show","actions.answer","i1","i2"],"mappings":";;;;;;;;;;;;;MAca,mBAAmB,CAAA;AAS9B,IAAA,WAAA,GAAA;AARA,QAAA,IAAA,CAAA,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAU;QAC7B,IAAS,CAAA,SAAA,GAAG,MAAM,EAAU;QAC5B,IAAU,CAAA,UAAA,GAAG,MAAM,EAAU;QAC7B,IAAO,CAAA,OAAA,GAAG,OAAO;AACjB,QAAA,IAAA,CAAA,aAAa,GAAG,eAAe,CAAC,KAAK;AACrC,QAAA,IAAA,CAAA,YAAY,GAAG,eAAe,CAAC,IAAI;AACnC,QAAA,IAAA,CAAA,eAAe,GAAG,eAAe,CAAC,OAAO;;IAIzC,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;;IAGhC,SAAS,GAAA;AACP,QAAA,IAAG,IAAI,CAAC,EAAE,EAAE,EAAE;QACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;;8GAjBtB,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,ECdhC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,svCAsBM,EDZQ,MAAA,EAAA,CAAA,sUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,qOAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAIpC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;+BACI,aAAa,EAAA,OAAA,EAGd,CAAC,kBAAkB,EAAE,eAAe,CAAC,EAAA,eAAA,EAC7B,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,QAAA,EAAA,svCAAA,EAAA,MAAA,EAAA,CAAA,sUAAA,CAAA,EAAA;;;MEEP,4BAA4B,CAAA;AAcvC,IAAA,WAAA,CACmB,QAAe,EAAA;QAAf,IAAQ,CAAA,QAAA,GAAR,QAAQ;AAd3B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAOZ,EAAE,CAAC;QAEA,IAAa,CAAA,aAAA,GAEjB,EAAE;;IAMN,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,CAAC,YAAY,GAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAACA,qBAAyB,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAG;AAC3H,YAAA,IAAI,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB;;AAGF,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7B,SAAC,CAAC;;IAGJ,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE;;AAGjD,IAAA,QAAQ,CAAC,EAAU,EAAA;QACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAACC,MAAwB,CAAC;AAC9C,YAAA,MAAM,EAAE,IAAI;YACZ;AACD,SAAA,CAAC,CAAC;;AAGL,IAAA,SAAS,CAAC,EAAU,EAAA;QAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAACA,MAAwB,CAAC;AAC9C,YAAA,OAAO,EAAE,IAAI;YACb;AACD,SAAA,CAAC,CAAC;;8GA5CM,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdzC,srBAYC,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDFa,mBAAmB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAIpB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBARxC,SAAS;+BACI,uBAAuB,EAAA,OAAA,EAGxB,CAAC,mBAAmB,CAAC,mBACb,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,QAAA,EAAA,srBAAA,EAAA;;;AETb,MAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,EAAE,KAAK,EAIxD,CAAC;AACE,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,EAAE,KAAK,EAA2B,CAAC;AAC/E,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAe,CAAC;AAExE,MAAM,GAAG,GAAG,KAAK,CAAC;IACd,KAAK;IACL,IAAI;AACP,CAAA,CAAC;;;;;;;;;ACEF,MAAM,YAAY,GAAU;AAC1B,IAAA,QAAQ,EAAE,EAAE;CACb;AAED,4BAAe,aAAa,CAAC;AAC3B,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,OAAO,EAAE,aAAa,CACpB,YAAY,EACZ,EAAE,CACAC,KAAa,EACb,CAAC,KAAY,EAAE,EAAE,MAAa;AAC5B,QAAA,GAAG,KAAK;KACT,CAAC,CACH,EACD,EAAE,CACAC,IAAY,EACZ,CAAC,KAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAW;QAC3E,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG;cACxC,KAAK,CAAC;AACR,cAAE;gBACE,GAAG,KAAK,CAAC,QAAQ;AACjB,gBAAA;oBACE,OAAO;oBACP,EAAE;oBACF,KAAK;oBACL,WAAW;oBACX,QAAQ;oBACR,IAAI;AACL,iBAAA;aACF;QACP,OAAO;AACL,YAAA,GAAG,KAAK;YACR,QAAQ;SACT;AACH,KAAC,CACF,EACD,EAAE,CACAC,MAAc,EACd,CAAC,KAAY,EAAE,EAAE,EAAE,EAAE,MAAa;AAChC,QAAA,GAAG,KAAK;AACR,QAAA,QAAQ,EAAE;AACR,YAAA,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;AAC7C,SAAA;AACF,KAAA,CAAC,CACH,CACF;AACF,CAAA,CAAC;;;;;;;MCrDW,iBAAiB,CAAA;IAkB5B,WACmB,CAAA,QAAiB,EACjB,QAAe,EAAA;QADf,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAQ,CAAA,QAAA,GAAR,QAAQ;AAnB3B,QAAA,IAAA,CAAA,YAAY,GAAoB,YAAY,CAAC,MAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAACA,MAAc,CAAC,EACtB,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,EAC1E,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAI;AAC9B,YAAA,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC7B,YAAA,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI;;AAEpD,YAAA,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,IAAI;;YAExD,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACpC,CAAC,CACH,CACF;;8GAhBU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B;;;;;;;;ACTD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softpak/components",
3
- "version": "19.15.1",
3
+ "version": "19.15.3",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "19.x.x",
@@ -33,10 +33,6 @@
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-capitalize": {
41
37
  "types": "./spx-capitalize/index.d.ts",
42
38
  "default": "./fesm2022/softpak-components-spx-capitalize.mjs"
@@ -45,18 +41,14 @@
45
41
  "types": "./spx-app-configuration/index.d.ts",
46
42
  "default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
47
43
  },
48
- "./spx-change-details": {
49
- "types": "./spx-change-details/index.d.ts",
50
- "default": "./fesm2022/softpak-components-spx-change-details.mjs"
44
+ "./spx-app-expiry": {
45
+ "types": "./spx-app-expiry/index.d.ts",
46
+ "default": "./fesm2022/softpak-components-spx-app-expiry.mjs"
51
47
  },
52
48
  "./spx-button": {
53
49
  "types": "./spx-button/index.d.ts",
54
50
  "default": "./fesm2022/softpak-components-spx-button.mjs"
55
51
  },
56
- "./spx-check-digit": {
57
- "types": "./spx-check-digit/index.d.ts",
58
- "default": "./fesm2022/softpak-components-spx-check-digit.mjs"
59
- },
60
52
  "./spx-card": {
61
53
  "types": "./spx-card/index.d.ts",
62
54
  "default": "./fesm2022/softpak-components-spx-card.mjs"
@@ -65,18 +57,30 @@
65
57
  "types": "./spx-channel-selection/index.d.ts",
66
58
  "default": "./fesm2022/softpak-components-spx-channel-selection.mjs"
67
59
  },
60
+ "./spx-change-details": {
61
+ "types": "./spx-change-details/index.d.ts",
62
+ "default": "./fesm2022/softpak-components-spx-change-details.mjs"
63
+ },
64
+ "./spx-check-digit": {
65
+ "types": "./spx-check-digit/index.d.ts",
66
+ "default": "./fesm2022/softpak-components-spx-check-digit.mjs"
67
+ },
68
68
  "./spx-form-section": {
69
69
  "types": "./spx-form-section/index.d.ts",
70
70
  "default": "./fesm2022/softpak-components-spx-form-section.mjs"
71
71
  },
72
- "./spx-confirm": {
73
- "types": "./spx-confirm/index.d.ts",
74
- "default": "./fesm2022/softpak-components-spx-confirm.mjs"
75
- },
76
72
  "./spx-form-view": {
77
73
  "types": "./spx-form-view/index.d.ts",
78
74
  "default": "./fesm2022/softpak-components-spx-form-view.mjs"
79
75
  },
76
+ "./spx-helpers": {
77
+ "types": "./spx-helpers/index.d.ts",
78
+ "default": "./fesm2022/softpak-components-spx-helpers.mjs"
79
+ },
80
+ "./spx-confirm": {
81
+ "types": "./spx-confirm/index.d.ts",
82
+ "default": "./fesm2022/softpak-components-spx-confirm.mjs"
83
+ },
80
84
  "./spx-inputs": {
81
85
  "types": "./spx-inputs/index.d.ts",
82
86
  "default": "./fesm2022/softpak-components-spx-inputs.mjs"
@@ -85,22 +89,10 @@
85
89
  "types": "./spx-navigation/index.d.ts",
86
90
  "default": "./fesm2022/softpak-components-spx-navigation.mjs"
87
91
  },
88
- "./spx-helpers": {
89
- "types": "./spx-helpers/index.d.ts",
90
- "default": "./fesm2022/softpak-components-spx-helpers.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"
95
95
  },
96
- "./spx-pagination": {
97
- "types": "./spx-pagination/index.d.ts",
98
- "default": "./fesm2022/softpak-components-spx-pagination.mjs"
99
- },
100
- "./spx-patch": {
101
- "types": "./spx-patch/index.d.ts",
102
- "default": "./fesm2022/softpak-components-spx-patch.mjs"
103
- },
104
96
  "./spx-pipes": {
105
97
  "types": "./spx-pipes/index.d.ts",
106
98
  "default": "./fesm2022/softpak-components-spx-pipes.mjs"
@@ -109,18 +101,26 @@
109
101
  "types": "./spx-progress-bar/index.d.ts",
110
102
  "default": "./fesm2022/softpak-components-spx-progress-bar.mjs"
111
103
  },
104
+ "./spx-patch": {
105
+ "types": "./spx-patch/index.d.ts",
106
+ "default": "./fesm2022/softpak-components-spx-patch.mjs"
107
+ },
112
108
  "./spx-spinner": {
113
109
  "types": "./spx-spinner/index.d.ts",
114
110
  "default": "./fesm2022/softpak-components-spx-spinner.mjs"
115
111
  },
116
- "./spx-stock-info": {
117
- "types": "./spx-stock-info/index.d.ts",
118
- "default": "./fesm2022/softpak-components-spx-stock-info.mjs"
112
+ "./spx-pagination": {
113
+ "types": "./spx-pagination/index.d.ts",
114
+ "default": "./fesm2022/softpak-components-spx-pagination.mjs"
119
115
  },
120
116
  "./spx-storage": {
121
117
  "types": "./spx-storage/index.d.ts",
122
118
  "default": "./fesm2022/softpak-components-spx-storage.mjs"
123
119
  },
120
+ "./spx-stock-info": {
121
+ "types": "./spx-stock-info/index.d.ts",
122
+ "default": "./fesm2022/softpak-components-spx-stock-info.mjs"
123
+ },
124
124
  "./spx-suggestion": {
125
125
  "types": "./spx-suggestion/index.d.ts",
126
126
  "default": "./fesm2022/softpak-components-spx-suggestion.mjs"
@@ -1,4 +1,5 @@
1
1
  export * from './spx-confirm.component';
2
+ export * from './spx-confirm-displayer/spx-confirm-displayer.component';
2
3
  export * as spxConfirmActions from './store/spx-confirm.actions';
3
4
  export * as spxConfirmEffects from './store/spx-confirm.effects';
4
5
  export * as spxConfirmReducer from './store/spx-confirm.reducer';
@@ -0,0 +1,22 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { Store } from '@ngrx/store';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SpxConfirmDisplayerComponent implements OnInit, OnDestroy {
5
+ private readonly appStore;
6
+ confirms: import("@angular/core").WritableSignal<{
7
+ content: string;
8
+ id: string;
9
+ title: string;
10
+ cancelled?: boolean;
11
+ confirmed?: boolean;
12
+ noYesButton?: boolean;
13
+ }[]>;
14
+ private subscriptions;
15
+ constructor(appStore: Store);
16
+ ngOnInit(): void;
17
+ ngOnDestroy(): void;
18
+ onCancel(id: string): void;
19
+ onConfirm(id: string): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpxConfirmDisplayerComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpxConfirmDisplayerComponent, "spx-confirm-displayer", never, {}, {}, never, never, true, never>;
22
+ }
@@ -1,5 +1,5 @@
1
- import { ConfirmI } from './spx-confirm.reducer';
2
- export declare const ANSWER: import("@ngrx/store").ActionCreator<"[Confirm] Answer", (props: {
1
+ import { SpxConfirmI } from './spx-confirm.reducer';
2
+ export declare const answer: import("@ngrx/store").ActionCreator<"[Confirm] Answer", (props: {
3
3
  cancel?: boolean;
4
4
  confirm?: boolean;
5
5
  id: string;
@@ -8,8 +8,8 @@ export declare const ANSWER: import("@ngrx/store").ActionCreator<"[Confirm] Answ
8
8
  confirm?: boolean;
9
9
  id: string;
10
10
  } & import("@ngrx/store").Action<"[Confirm] Answer">>;
11
- export declare const RESET: import("@ngrx/store").ActionCreator<"[Confirm] Reset", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[Confirm] Reset">>;
12
- export declare const SHOW: import("@ngrx/store").ActionCreator<"[Confirm] Show", (props: ConfirmI) => ConfirmI & import("@ngrx/store").Action<"[Confirm] Show">>;
13
- declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[Confirm] Reset">) | (ConfirmI & import("@ngrx/store").Action<"[Confirm] Show">);
11
+ export declare const reset: import("@ngrx/store").ActionCreator<"[Confirm] Reset", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[Confirm] Reset">>;
12
+ export declare const show: import("@ngrx/store").ActionCreator<"[Confirm] Show", (props: SpxConfirmI) => SpxConfirmI & import("@ngrx/store").Action<"[Confirm] Show">>;
13
+ declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[Confirm] Reset">) | (SpxConfirmI & import("@ngrx/store").Action<"[Confirm] Show">);
14
14
  export type Actions = typeof all;
15
15
  export {};
@@ -1,4 +1,4 @@
1
- export interface ConfirmI {
1
+ export interface SpxConfirmI {
2
2
  content: string;
3
3
  id: string;
4
4
  title: string;
@@ -7,12 +7,12 @@ export interface ConfirmI {
7
7
  onCancel?: () => void;
8
8
  }
9
9
  export interface State {
10
- confirms: ConfirmI[];
10
+ confirms: SpxConfirmI[];
11
11
  }
12
12
  declare const _default: {
13
13
  name: "spxConfirm";
14
14
  reducer: import("@ngrx/store").ActionReducer<State, import("@ngrx/store").Action<string>>;
15
15
  selectSpxConfirmState: import("@ngrx/store").MemoizedSelector<Record<string, any>, State, (featureState: State) => State>;
16
- selectConfirms: import("@ngrx/store").MemoizedSelector<Record<string, any>, ConfirmI[], (featureState: State) => ConfirmI[]>;
16
+ selectConfirms: import("@ngrx/store").MemoizedSelector<Record<string, any>, SpxConfirmI[], (featureState: State) => SpxConfirmI[]>;
17
17
  };
18
18
  export default _default;