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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input } from '@angular/core';
2
+ import { Component, Input, Injectable } from '@angular/core';
3
3
  import * as i3 from '@angular/forms';
4
4
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
5
  import * as i2 from '@ngx-translate/core';
@@ -9,10 +9,19 @@ import { SpxInputComponent } from '@softpak/components/spx-inputs';
9
9
  import { SpxProgressBarComponent } from '@softpak/components/spx-progress-bar';
10
10
  import { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';
11
11
  import { Device } from '@capacitor/device';
12
- import { getCurrentScope } from '@sentry/angular';
12
+ import { getCurrentScope, captureMessage } from '@sentry/angular';
13
13
  import * as i4 from '@ionic/angular/standalone';
14
14
  import { IonHeader, IonToolbar, IonTitle, IonContent } from '@ionic/angular/standalone';
15
15
  import * as i1 from 'cordova-plugin-ionic/dist/ngx';
16
+ import { createAction, props, union, createFeature, createReducer, on } from '@ngrx/store';
17
+ import * as i1$1 from '@ngrx/effects';
18
+ import { createEffect, ofType } from '@ngrx/effects';
19
+ import { from, of } from 'rxjs';
20
+ import { delay, mergeMap, tap, exhaustMap, map, catchError } from 'rxjs/operators';
21
+ import { getConfig, setConfig, sync, reload } from '@capacitor/live-updates';
22
+ import { Capacitor } from '@capacitor/core';
23
+ import { AppUpdate } from '@capawesome/capacitor-app-update';
24
+ import { DateTime } from 'luxon';
16
25
 
17
26
  const ctrlNextVersionNumber = 'ctrlNextVersionNumber';
18
27
  const ctrlVersionNumber = 'ctrlVersionNumber';
@@ -321,9 +330,175 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
321
330
  type: Input
322
331
  }] } });
323
332
 
333
+ const anUpdateIsReady = createAction('[UPD / Check] An update is ready', props());
334
+ const clearError = createAction('[UPD / Check] Clear error', props());
335
+ const checkFailed = createAction('[UPD / Check] Error happened', props());
336
+ const initialize = createAction('[UPD / Check] Initialize', props());
337
+ const noUpdateWasFound = createAction('[UPD / Check] No update was found', props());
338
+ const notAvailableOnWeb = createAction('[UPD / Check] Not available on web', props());
339
+ const runCheck = createAction('[UPD / Check] Run', props());
340
+ const all$1 = union({
341
+ anUpdateIsReady,
342
+ clearError,
343
+ checkFailed,
344
+ initialize,
345
+ noUpdateWasFound,
346
+ notAvailableOnWeb,
347
+ runCheck,
348
+ });
349
+
350
+ var updCheck_actions = /*#__PURE__*/Object.freeze({
351
+ __proto__: null,
352
+ anUpdateIsReady: anUpdateIsReady,
353
+ checkFailed: checkFailed,
354
+ clearError: clearError,
355
+ initialize: initialize,
356
+ noUpdateWasFound: noUpdateWasFound,
357
+ notAvailableOnWeb: notAvailableOnWeb,
358
+ runCheck: runCheck
359
+ });
360
+
361
+ const acceptUpdate = createAction('[UPD / Available] Accept update', props());
362
+ const hasBeenDownloaded = createAction('[UPD / Available] Has been downloaded', props());
363
+ const hasBeenInstalled = createAction('[UPD / Available] Has been installed', props());
364
+ const postpone = createAction('[UPD / Available] Postpone', props());
365
+ const postponeExpired = createAction('[UPD / Available] Postpone expired', props());
366
+ const all = union({
367
+ acceptUpdate,
368
+ hasBeenDownloaded,
369
+ hasBeenInstalled,
370
+ postpone,
371
+ postponeExpired,
372
+ });
373
+
374
+ class Effects {
375
+ constructor(actions$) {
376
+ this.actions$ = actions$;
377
+ this.afterInitialize$ = createEffect(() => this.actions$.pipe(ofType(initialize), delay(120000), mergeMap(() => [
378
+ runCheck({}),
379
+ ])));
380
+ this.onRun$ = createEffect(() => this.actions$.pipe(ofType(runCheck), tap(async () => {
381
+ if (Capacitor.getPlatform() !== 'web') {
382
+ // Migrate from e.g. 1.2.x to 1.3.x
383
+ const binaryInfo = await AppUpdate.getAppUpdateInfo();
384
+ const binaryVersionGroup = (Capacitor.getPlatform() === 'android' ? binaryInfo.currentVersionCode : binaryInfo.currentVersionName).substring(0, 3);
385
+ const config = await getConfig();
386
+ const channelVersionGroup = config.channel.split('-')[1].substring(0, 3); // e.g. "1.4"
387
+ const channelType = config.channel.split('-')[0];
388
+ captureMessage("[UPD] Changed chanel to `${channelType}-${binaryVersionGroup}.x`");
389
+ if (binaryVersionGroup != channelVersionGroup) {
390
+ await setConfig({
391
+ channel: `${channelType}-${binaryVersionGroup}.x`
392
+ });
393
+ }
394
+ // End migrate from e.g. 1.2.x to 1.3.x
395
+ }
396
+ }), exhaustMap((action) => from(sync()).pipe(map((syncResult) => {
397
+ if (syncResult.activeApplicationPathChanged) {
398
+ if (action.forceWaitForUpdate) {
399
+ reload();
400
+ }
401
+ return anUpdateIsReady({});
402
+ }
403
+ else {
404
+ return noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });
405
+ }
406
+ }), catchError((err) => {
407
+ if (err.message !== 'Not implemented for web only') {
408
+ captureMessage("[UPD] Handled: " + err.message);
409
+ }
410
+ return err.message === 'Not implemented for web only' ? of(notAvailableOnWeb({})) : of(checkFailed({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate }));
411
+ })))));
412
+ this.whenAndUpdateIsReady$ = createEffect(() => this.actions$.pipe(ofType(anUpdateIsReady), mergeMap(() => [
413
+ hasBeenDownloaded({}),
414
+ ])));
415
+ this.whenCheckHasFailed$ = createEffect(() => this.actions$.pipe(ofType(checkFailed), delay(30000), mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [
416
+ runCheck({}),
417
+ ])));
418
+ this.whenNoUpdateWasFound$ = createEffect(() => this.actions$.pipe(ofType(noUpdateWasFound), delay(120000), mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [
419
+ runCheck({}),
420
+ ])));
421
+ }
422
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: Effects, deps: [{ token: i1$1.Actions }], target: i0.ɵɵFactoryTarget.Injectable }); }
423
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: Effects }); }
424
+ }
425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: Effects, decorators: [{
426
+ type: Injectable
427
+ }], ctorParameters: () => [{ type: i1$1.Actions }] });
428
+
429
+ var updCheck_effects = /*#__PURE__*/Object.freeze({
430
+ __proto__: null,
431
+ Effects: Effects
432
+ });
433
+
434
+ const initialState = {
435
+ forceWaitForUpdate: false,
436
+ lastCheck: null,
437
+ showError: false,
438
+ };
439
+
440
+ var updCheck_initial = /*#__PURE__*/Object.freeze({
441
+ __proto__: null,
442
+ initialState: initialState
443
+ });
444
+
445
+ var updCheck_reducer = createFeature({
446
+ name: 'spxUpdCheck',
447
+ reducer: createReducer(initialState, on(anUpdateIsReady, (state) => {
448
+ return {
449
+ ...state,
450
+ lastCheck: DateTime.now().toISO(),
451
+ showError: false,
452
+ };
453
+ }), on(clearError, (state) => {
454
+ return {
455
+ ...state,
456
+ showError: false,
457
+ };
458
+ }), on(checkFailed, (state) => {
459
+ return {
460
+ ...state,
461
+ forceWaitForUpdate: false,
462
+ showError: true,
463
+ };
464
+ }), on(noUpdateWasFound, (state) => {
465
+ return {
466
+ ...state,
467
+ forceWaitForUpdate: false,
468
+ lastCheck: DateTime.now().toISO(),
469
+ showError: false,
470
+ };
471
+ }), on(runCheck, (state, { forceWaitForUpdate }) => {
472
+ return {
473
+ ...state,
474
+ forceWaitForUpdate: forceWaitForUpdate ? true : state.forceWaitForUpdate
475
+ };
476
+ }), on(notAvailableOnWeb, (state) => {
477
+ return {
478
+ ...state,
479
+ forceWaitForUpdate: false
480
+ };
481
+ })),
482
+ });
483
+
484
+ var updCheck_reducer$1 = /*#__PURE__*/Object.freeze({
485
+ __proto__: null,
486
+ default: updCheck_reducer
487
+ });
488
+
489
+ var updCheck_state = /*#__PURE__*/Object.freeze({
490
+ __proto__: null
491
+ });
492
+
493
+ // export * as updPendingActions from './store/upd-pending/upd-pending.actions';
494
+ // export * as updPendingEffects from './store/upd-pending/upd-pending.effects';
495
+ // export * as updPendingInitial from './store/upd-pending/upd-pending.initial';
496
+ // export * as updPendingReducer from './store/upd-pending/upd-pending.reducer';
497
+ // export * as updPendingState from './store/upd-pending/upd-pending.state';
498
+
324
499
  /**
325
500
  * Generated bundle index. Do not edit.
326
501
  */
327
502
 
328
- export { SpxAppUpdateComponent };
503
+ export { SpxAppUpdateComponent, updCheck_actions as updCheckActions, updCheck_effects as updCheckEffects, updCheck_initial as updCheckInitial, updCheck_reducer$1 as updCheckReducer, updCheck_state as updCheckState };
329
504
  //# sourceMappingURL=softpak-components-spx-app-update.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-app-update.mjs","sources":["../../../../projects/softpak/components/spx-app-update/spx-app-update.component.ts","../../../../projects/softpak/components/spx-app-update/softpak-components-spx-app-update.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport { ApplicationRef, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { SpxInputComponent } from '@softpak/components/spx-inputs';\nimport { SpxProgressBarComponent } from '@softpak/components/spx-progress-bar';\nimport { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';\nimport { Device } from '@capacitor/device';\nimport { Deploy } from 'cordova-plugin-ionic/dist/ngx';\nimport { getCurrentScope } from '@sentry/angular';\nimport { IonContent, IonHeader, IonTitle, IonToolbar, NavController } from '@ionic/angular/standalone';\n\nconst ctrlNextVersionNumber = 'ctrlNextVersionNumber';\nconst ctrlVersionNumber = 'ctrlVersionNumber';\nconst ctrlConfiguredChannel = 'ctrlConfiguredChannel';\nconst ctrlAppStoreVersion = 'ctrlAppStoreVersion';\n\n@Component({\n selector: 'spx-app-update',\n imports: [\n FormsModule,\n IonHeader,\n IonToolbar,\n IonTitle,\n IonContent,\n ReactiveFormsModule,\n SpxCapitalizePipe,\n SpxInputComponent,\n SpxProgressBarComponent,\n TranslateModule\n ],\n template: `<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ txtUpdate | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n </ion-header>\n \n <ion-content class=\"ion-content--upd\" [fullscreen]=\"true\">\n <div class=\"ion-padding\">\n <spx-progress-bar [spxPercentage]=\"delayedPercentage\" [spxTitle]=\"updateStatus | capitalize\">\n </spx-progress-bar>\n <form [formGroup]=\"form\" class=\"mt-3\">\n @if (ctrlAppStoreVersion.value && ctrlAppStoreVersion.value.value) {\n <div class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3\">\n <spx-input [formControl]=\"ctrlAppStoreVersion\" [spxLabel]=\"txtAppStoreVersion | translate | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n <spx-input [formControl]=\"ctrlConfiguredChannel\" [spxLabel]=\"txtChannel | translate | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n <spx-input [formControl]=\"ctrlVersionNumber\" [spxLabel]=\"txtVersion | translate | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n @if (ctrlNextVersionNumber.value && ctrlNextVersionNumber.value.value) {\n <spx-input [formControl]=\"ctrlNextVersionNumber\" [spxLabel]=\"txtNextVersion | translate | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n }\n </div>\n }\n </form>\n </div>\n </ion-content>`\n})\nexport class SpxAppUpdateComponent {\n @Input() spxHomeUrl!: string;\n @Input() spxIsSignedIn!: boolean;\n @Input() textCheckingForUpdates!: string;\n @Input() textDownloadingUpdate!: string;\n @Input() textErrorWhileUpdatingApp!: string;\n @Input() textFinishedUpdating!: string;\n @Input() textNoUpdatesAvailable!: string;\n @Input() textUnexpectedError!: string;\n @Input() txtAppStoreVersion!: string;\n @Input() txtChannel!: string;\n @Input() txtNextVersion!: string;\n @Input() txtUpdate!: string;\n @Input() txtVersion!: string;\n @Input() spxAppId!: string;\n\n form: FormGroup;\n\n delayedPercentage: number = 0;\n percentage: number = 0;\n syncTruckInterval: any | null = null;\n updateStatus: string = this.textCheckingForUpdates;\n\n constructor(\n private readonly deploy: Deploy,\n private readonly changeDetector: ChangeDetectorRef,\n private readonly applicationRef: ApplicationRef,\n private readonly translateService: TranslateService,\n private readonly formBuilder: FormBuilder,\n private readonly navController: NavController,\n ) {\n this.form = this.formBuilder.group({\n [ctrlNextVersionNumber]: [null, []],\n [ctrlVersionNumber]: [null, []],\n [ctrlConfiguredChannel]: [null, []],\n [ctrlAppStoreVersion]: [null, []],\n });\n }\n\n get ctrlVersionNumber(): FormControl { return this.form.get(ctrlVersionNumber) as FormControl; }\n get ctrlNextVersionNumber(): FormControl { return this.form.get(ctrlNextVersionNumber) as FormControl; }\n get ctrlConfiguredChannel(): FormControl { return this.form.get(ctrlConfiguredChannel) as FormControl; }\n get ctrlAppStoreVersion(): FormControl { return this.form.get(ctrlAppStoreVersion) as FormControl; }\n\n init() {\n this.delayedPercentage = 0;\n this.percentage = 0;\n this.performAutomaticUpdate().then(() => { });\n this.startLoaderSync();\n this.changeStatus({\n percentage: 0,\n text: this.translateService.instant(this.textCheckingForUpdates),\n });\n }\n\n destroy() {\n this.stopLoaderSync();\n }\n\n async performAutomaticUpdate() {\n const deviceInfo = await Device.getInfo();\n\n if (deviceInfo?.platform === 'web') {\n // Local? Skip the update page.\n this.closeUpdateScreen();\n }\n try {\n this.updateInfo();\n\n // Start upgrade\n const currentVersion = await this.deploy.getCurrentVersion();\n if (currentVersion?.binaryVersionName) {\n const binaryGroup = currentVersion.binaryVersionName.substring(0, 3); // e.g. \"1.4\"\n const channelGroup = currentVersion.channel.split('-')[1].substring(0, 3); // e.g. \"1.4\"\n const channelType = currentVersion.channel.split('-')[0];\n\n if (binaryGroup != channelGroup) {\n await this.deploy.configure({\n appId: this.spxAppId,\n channel: `${channelType}-${binaryGroup}.x`\n }).then(() => {\n this.sync().then(() => { });\n });\n } else {\n this.sync().then(() => { });\n }\n } else {\n this.sync().then(() => { });\n }\n // End upgrade\n } catch (error: any) {\n this.changeStatus({\n closeScreen: true,\n error,\n percentage: 100,\n text: this.translateService.instant(this.textUnexpectedError)\n });\n }\n }\n\n private async sync() {\n try {\n this.updateInfo();\n\n const updateAvailableInfo = await this.deploy.checkForUpdate();\n if (!updateAvailableInfo.available) {\n // No update available\n this.changeStatus({\n closeScreen: true,\n percentage: 0,\n text: this.translateService.instant(this.textNoUpdatesAvailable),\n });\n } else {\n // Download update\n await this.deploy.sync({ updateMethod: 'auto' }, (percentage) => {\n this.changeStatus({\n percentage: percentage ?? 0,\n text: this.translateService.instant(this.textDownloadingUpdate, { percentage, version: updateAvailableInfo.build }),\n });\n }).catch((error) => {\n this.changeStatus({\n closeScreen: true,\n error,\n percentage: 100,\n text: this.translateService.instant(this.textErrorWhileUpdatingApp),\n });\n });\n\n this.changeStatus({\n closeScreen: true,\n percentage: 100,\n text: this.translateService.instant(this.textFinishedUpdating, { version: updateAvailableInfo.build })\n });\n }\n } catch (error: any) {\n // Catch unexpected plug-in errors\n this.changeStatus({\n closeScreen: true,\n error,\n percentage: 100,\n text: this.translateService.instant(this.textUnexpectedError)\n });\n }\n }\n\n private async updateInfo(): Promise<void> {\n const currentVersion = await this.deploy.getCurrentVersion();\n const configuration = await this.deploy.getConfiguration();\n const updateAvailableInfo = await this.deploy.checkForUpdate();\n\n if (currentVersion) {\n this.ctrlVersionNumber.setValue({\n value: configuration?.currentBuildId,\n });\n this.ctrlNextVersionNumber.setValue({\n value: updateAvailableInfo?.build\n });\n this.ctrlConfiguredChannel.setValue({\n value: configuration ? configuration.channel : null\n });\n this.ctrlAppStoreVersion.setValue({\n value: configuration ? configuration.binaryVersionName : null\n });\n\n {\n const scope = getCurrentScope();\n scope.setTag('version_binary_code', currentVersion?.binaryVersionCode);\n scope.setTag('version_binary_name', currentVersion?.binaryVersionName);\n scope.setTag('version_build_id', currentVersion?.buildId);\n scope.setTag('channel_type', currentVersion?.channel);\n scope.setTag('version_snapshot_id', currentVersion?.versionId);\n };\n\n this.changeDetector.markForCheck();\n this.applicationRef.tick();\n }\n }\n\n private changeStatus(status: {\n error?: string;\n text: string;\n closeScreen?: boolean;\n percentage: number;\n }) {\n this.updateStatus = status.text;\n this.percentage = status.percentage;\n if (status.closeScreen) {\n this.closeUpdateScreen();\n }\n if (status.error) {\n // this.appStore.dispatch(\n // sharedToasterActions.CREATE_ERROR({\n // messageText: status.error,\n // })\n // );\n }\n this.changeDetector.markForCheck();\n this.applicationRef.tick();\n }\n\n private closeUpdateScreen() {\n // Allowing some time to make a screenshot of version info\n SpxStorage.clearSetting<any>(SpxStorageKeyEnum.updateInProgress);\n setTimeout(() => {\n if (\n SpxStorage.getSetting<any>(SpxStorageKeyEnum.afterSignIn) &&\n this.spxIsSignedIn\n ) {\n this.navController.navigateRoot([SpxStorage.getSetting<any>(SpxStorageKeyEnum.afterSignIn)]);\n SpxStorage.clearSetting<any>(SpxStorageKeyEnum.afterSignIn)\n } else {\n this.navController.navigateRoot([this.spxHomeUrl]);\n }\n }, 0);\n }\n\n private startLoaderSync() {\n SpxStorage.setSetting<any>(SpxStorageKeyEnum.updateInProgress, '1');\n if (this.syncTruckInterval === null) {\n this.syncTruckInterval = setInterval(() => {\n this.delayedPercentage = this.percentage;\n }, 200);\n }\n }\n\n private stopLoaderSync() {\n if (this.syncTruckInterval !== null) {\n clearInterval(this.syncTruckInterval);\n this.syncTruckInterval = null;\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
+ {"version":3,"file":"softpak-components-spx-app-update.mjs","sources":["../../../../projects/softpak/components/spx-app-update/spx-app-update.component.ts","../../../../projects/softpak/components/spx-app-update/store/upd-check/upd-check.actions.ts","../../../../projects/softpak/components/spx-app-update/store/upd-pending/upd-pending.actions.ts","../../../../projects/softpak/components/spx-app-update/store/upd-check/upd-check.effects.ts","../../../../projects/softpak/components/spx-app-update/store/upd-check/upd-check.initial.ts","../../../../projects/softpak/components/spx-app-update/store/upd-check/upd-check.reducer.ts","../../../../projects/softpak/components/spx-app-update/public-api.ts","../../../../projects/softpak/components/spx-app-update/softpak-components-spx-app-update.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport { ApplicationRef, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\nimport { SpxInputComponent } from '@softpak/components/spx-inputs';\nimport { SpxProgressBarComponent } from '@softpak/components/spx-progress-bar';\nimport { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';\nimport { Device } from '@capacitor/device';\nimport { Deploy } from 'cordova-plugin-ionic/dist/ngx';\nimport { getCurrentScope } from '@sentry/angular';\nimport { IonContent, IonHeader, IonTitle, IonToolbar, NavController } from '@ionic/angular/standalone';\n\nconst ctrlNextVersionNumber = 'ctrlNextVersionNumber';\nconst ctrlVersionNumber = 'ctrlVersionNumber';\nconst ctrlConfiguredChannel = 'ctrlConfiguredChannel';\nconst ctrlAppStoreVersion = 'ctrlAppStoreVersion';\n\n@Component({\n selector: 'spx-app-update',\n imports: [\n FormsModule,\n IonHeader,\n IonToolbar,\n IonTitle,\n IonContent,\n ReactiveFormsModule,\n SpxCapitalizePipe,\n SpxInputComponent,\n SpxProgressBarComponent,\n TranslateModule\n ],\n template: `<ion-header>\n <ion-toolbar>\n <ion-title>\n {{ txtUpdate | translate | capitalize }}\n </ion-title>\n </ion-toolbar>\n </ion-header>\n \n <ion-content class=\"ion-content--upd\" [fullscreen]=\"true\">\n <div class=\"ion-padding\">\n <spx-progress-bar [spxPercentage]=\"delayedPercentage\" [spxTitle]=\"updateStatus | capitalize\">\n </spx-progress-bar>\n <form [formGroup]=\"form\" class=\"mt-3\">\n @if (ctrlAppStoreVersion.value && ctrlAppStoreVersion.value.value) {\n <div class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3\">\n <spx-input [formControl]=\"ctrlAppStoreVersion\" [spxLabel]=\"txtAppStoreVersion | translate | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n <spx-input [formControl]=\"ctrlConfiguredChannel\" [spxLabel]=\"txtChannel | translate | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n <spx-input [formControl]=\"ctrlVersionNumber\" [spxLabel]=\"txtVersion | translate | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n @if (ctrlNextVersionNumber.value && ctrlNextVersionNumber.value.value) {\n <spx-input [formControl]=\"ctrlNextVersionNumber\" [spxLabel]=\"txtNextVersion | translate | capitalize\"\n [spxReadonly]=\"true\"></spx-input>\n }\n </div>\n }\n </form>\n </div>\n </ion-content>`\n})\nexport class SpxAppUpdateComponent {\n @Input() spxHomeUrl!: string;\n @Input() spxIsSignedIn!: boolean;\n @Input() textCheckingForUpdates!: string;\n @Input() textDownloadingUpdate!: string;\n @Input() textErrorWhileUpdatingApp!: string;\n @Input() textFinishedUpdating!: string;\n @Input() textNoUpdatesAvailable!: string;\n @Input() textUnexpectedError!: string;\n @Input() txtAppStoreVersion!: string;\n @Input() txtChannel!: string;\n @Input() txtNextVersion!: string;\n @Input() txtUpdate!: string;\n @Input() txtVersion!: string;\n @Input() spxAppId!: string;\n\n form: FormGroup;\n\n delayedPercentage: number = 0;\n percentage: number = 0;\n syncTruckInterval: any | null = null;\n updateStatus: string = this.textCheckingForUpdates;\n\n constructor(\n private readonly deploy: Deploy,\n private readonly changeDetector: ChangeDetectorRef,\n private readonly applicationRef: ApplicationRef,\n private readonly translateService: TranslateService,\n private readonly formBuilder: FormBuilder,\n private readonly navController: NavController,\n ) {\n this.form = this.formBuilder.group({\n [ctrlNextVersionNumber]: [null, []],\n [ctrlVersionNumber]: [null, []],\n [ctrlConfiguredChannel]: [null, []],\n [ctrlAppStoreVersion]: [null, []],\n });\n }\n\n get ctrlVersionNumber(): FormControl { return this.form.get(ctrlVersionNumber) as FormControl; }\n get ctrlNextVersionNumber(): FormControl { return this.form.get(ctrlNextVersionNumber) as FormControl; }\n get ctrlConfiguredChannel(): FormControl { return this.form.get(ctrlConfiguredChannel) as FormControl; }\n get ctrlAppStoreVersion(): FormControl { return this.form.get(ctrlAppStoreVersion) as FormControl; }\n\n init() {\n this.delayedPercentage = 0;\n this.percentage = 0;\n this.performAutomaticUpdate().then(() => { });\n this.startLoaderSync();\n this.changeStatus({\n percentage: 0,\n text: this.translateService.instant(this.textCheckingForUpdates),\n });\n }\n\n destroy() {\n this.stopLoaderSync();\n }\n\n async performAutomaticUpdate() {\n const deviceInfo = await Device.getInfo();\n\n if (deviceInfo?.platform === 'web') {\n // Local? Skip the update page.\n this.closeUpdateScreen();\n }\n try {\n this.updateInfo();\n\n // Start upgrade\n const currentVersion = await this.deploy.getCurrentVersion();\n if (currentVersion?.binaryVersionName) {\n const binaryGroup = currentVersion.binaryVersionName.substring(0, 3); // e.g. \"1.4\"\n const channelGroup = currentVersion.channel.split('-')[1].substring(0, 3); // e.g. \"1.4\"\n const channelType = currentVersion.channel.split('-')[0];\n\n if (binaryGroup != channelGroup) {\n await this.deploy.configure({\n appId: this.spxAppId,\n channel: `${channelType}-${binaryGroup}.x`\n }).then(() => {\n this.sync().then(() => { });\n });\n } else {\n this.sync().then(() => { });\n }\n } else {\n this.sync().then(() => { });\n }\n // End upgrade\n } catch (error: any) {\n this.changeStatus({\n closeScreen: true,\n error,\n percentage: 100,\n text: this.translateService.instant(this.textUnexpectedError)\n });\n }\n }\n\n private async sync() {\n try {\n this.updateInfo();\n\n const updateAvailableInfo = await this.deploy.checkForUpdate();\n if (!updateAvailableInfo.available) {\n // No update available\n this.changeStatus({\n closeScreen: true,\n percentage: 0,\n text: this.translateService.instant(this.textNoUpdatesAvailable),\n });\n } else {\n // Download update\n await this.deploy.sync({ updateMethod: 'auto' }, (percentage) => {\n this.changeStatus({\n percentage: percentage ?? 0,\n text: this.translateService.instant(this.textDownloadingUpdate, { percentage, version: updateAvailableInfo.build }),\n });\n }).catch((error) => {\n this.changeStatus({\n closeScreen: true,\n error,\n percentage: 100,\n text: this.translateService.instant(this.textErrorWhileUpdatingApp),\n });\n });\n\n this.changeStatus({\n closeScreen: true,\n percentage: 100,\n text: this.translateService.instant(this.textFinishedUpdating, { version: updateAvailableInfo.build })\n });\n }\n } catch (error: any) {\n // Catch unexpected plug-in errors\n this.changeStatus({\n closeScreen: true,\n error,\n percentage: 100,\n text: this.translateService.instant(this.textUnexpectedError)\n });\n }\n }\n\n private async updateInfo(): Promise<void> {\n const currentVersion = await this.deploy.getCurrentVersion();\n const configuration = await this.deploy.getConfiguration();\n const updateAvailableInfo = await this.deploy.checkForUpdate();\n\n if (currentVersion) {\n this.ctrlVersionNumber.setValue({\n value: configuration?.currentBuildId,\n });\n this.ctrlNextVersionNumber.setValue({\n value: updateAvailableInfo?.build\n });\n this.ctrlConfiguredChannel.setValue({\n value: configuration ? configuration.channel : null\n });\n this.ctrlAppStoreVersion.setValue({\n value: configuration ? configuration.binaryVersionName : null\n });\n\n {\n const scope = getCurrentScope();\n scope.setTag('version_binary_code', currentVersion?.binaryVersionCode);\n scope.setTag('version_binary_name', currentVersion?.binaryVersionName);\n scope.setTag('version_build_id', currentVersion?.buildId);\n scope.setTag('channel_type', currentVersion?.channel);\n scope.setTag('version_snapshot_id', currentVersion?.versionId);\n };\n\n this.changeDetector.markForCheck();\n this.applicationRef.tick();\n }\n }\n\n private changeStatus(status: {\n error?: string;\n text: string;\n closeScreen?: boolean;\n percentage: number;\n }) {\n this.updateStatus = status.text;\n this.percentage = status.percentage;\n if (status.closeScreen) {\n this.closeUpdateScreen();\n }\n if (status.error) {\n // this.appStore.dispatch(\n // sharedToasterActions.CREATE_ERROR({\n // messageText: status.error,\n // })\n // );\n }\n this.changeDetector.markForCheck();\n this.applicationRef.tick();\n }\n\n private closeUpdateScreen() {\n // Allowing some time to make a screenshot of version info\n SpxStorage.clearSetting<any>(SpxStorageKeyEnum.updateInProgress);\n setTimeout(() => {\n if (\n SpxStorage.getSetting<any>(SpxStorageKeyEnum.afterSignIn) &&\n this.spxIsSignedIn\n ) {\n this.navController.navigateRoot([SpxStorage.getSetting<any>(SpxStorageKeyEnum.afterSignIn)]);\n SpxStorage.clearSetting<any>(SpxStorageKeyEnum.afterSignIn)\n } else {\n this.navController.navigateRoot([this.spxHomeUrl]);\n }\n }, 0);\n }\n\n private startLoaderSync() {\n SpxStorage.setSetting<any>(SpxStorageKeyEnum.updateInProgress, '1');\n if (this.syncTruckInterval === null) {\n this.syncTruckInterval = setInterval(() => {\n this.delayedPercentage = this.percentage;\n }, 200);\n }\n }\n\n private stopLoaderSync() {\n if (this.syncTruckInterval !== null) {\n clearInterval(this.syncTruckInterval);\n this.syncTruckInterval = null;\n }\n }\n}\n","import { createAction, props, union } from '@ngrx/store';\n\nexport const anUpdateIsReady = createAction('[UPD / Check] An update is ready', props<Record<string, unknown>>());\nexport const clearError = createAction('[UPD / Check] Clear error', props<Record<string, unknown>>());\nexport const checkFailed = createAction('[UPD / Check] Error happened', props<{ startUpdateAgainAfterTimeout?: boolean }>());\nexport const initialize = createAction('[UPD / Check] Initialize', props<Record<string, unknown>>());\nexport const noUpdateWasFound = createAction('[UPD / Check] No update was found', props<{ startUpdateAgainAfterTimeout?: boolean }>());\nexport const notAvailableOnWeb = createAction('[UPD / Check] Not available on web', props<Record<string, unknown>>());\nexport const runCheck = createAction('[UPD / Check] Run', props<{ forceWaitForUpdate?: boolean; }>());\n\nconst all = union({\n anUpdateIsReady,\n clearError,\n checkFailed,\n initialize,\n noUpdateWasFound,\n notAvailableOnWeb,\n runCheck,\n});\n\nexport type Actions = typeof all;\n","import { createAction, props, union } from '@ngrx/store';\n\nexport const acceptUpdate = createAction('[UPD / Available] Accept update', props<Record<string, unknown>>());\nexport const hasBeenDownloaded = createAction('[UPD / Available] Has been downloaded', props<Record<string, unknown>>());\nexport const hasBeenInstalled = createAction('[UPD / Available] Has been installed', props<Record<string, unknown>>());\nexport const postpone = createAction('[UPD / Available] Postpone', props<Record<string, unknown>>());\nexport const postponeExpired = createAction('[UPD / Available] Postpone expired', props<Record<string, unknown>>());\n\nconst all = union({\n acceptUpdate,\n hasBeenDownloaded,\n hasBeenInstalled,\n postpone,\n postponeExpired,\n});\n\nexport type Actions = typeof all;\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { from, Observable, of } from 'rxjs';\nimport { catchError, delay, exhaustMap, map, mergeMap, tap } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport * as actions from './upd-check.actions';\nimport { getConfig, reload, setConfig, sync, SyncResult } from '@capacitor/live-updates';\nimport { captureMessage } from '@sentry/angular';\nimport { Capacitor } from '@capacitor/core';\nimport { AppUpdate } from '@capawesome/capacitor-app-update';\nimport { hasBeenDownloaded } from '../upd-pending/upd-pending.actions';\n\n@Injectable()\nexport class Effects {\n afterInitialize$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.initialize),\n delay(120000),\n mergeMap(() => [\n actions.runCheck({}),\n ]))\n );\n onRun$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.runCheck),\n tap(async () => {\n if (Capacitor.getPlatform() !== 'web') {\n // Migrate from e.g. 1.2.x to 1.3.x\n const binaryInfo = await AppUpdate.getAppUpdateInfo()\n const binaryVersionGroup = (Capacitor.getPlatform() === 'android' ? binaryInfo.currentVersionCode : binaryInfo.currentVersionName).substring(0, 3);\n const config = await getConfig();\n const channelVersionGroup = config.channel!.split('-')[1].substring(0, 3); // e.g. \"1.4\"\n const channelType = config.channel!.split('-')[0];\n captureMessage(\"[UPD] Changed chanel to `${channelType}-${binaryVersionGroup}.x`\");\n if (binaryVersionGroup != channelVersionGroup) {\n await setConfig({\n channel: `${channelType}-${binaryVersionGroup}.x`\n });\n }\n // End migrate from e.g. 1.2.x to 1.3.x\n }\n }),\n exhaustMap((action) => from(sync()).pipe(\n map((syncResult: SyncResult) => {\n if (syncResult.activeApplicationPathChanged) {\n if (action.forceWaitForUpdate) {\n reload();\n }\n return actions.anUpdateIsReady({});\n } else {\n return actions.noUpdateWasFound({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate });\n }\n }),\n catchError((err) => {\n if (err.message !== 'Not implemented for web only') {\n captureMessage(\"[UPD] Handled: \" + err.message);\n }\n return err.message === 'Not implemented for web only' ? of(actions.notAvailableOnWeb({})) : of(actions.checkFailed({ startUpdateAgainAfterTimeout: !action.forceWaitForUpdate }))\n })\n )),\n ));\n\n constructor(\n private readonly actions$: Actions,\n ) { }\n\n whenAndUpdateIsReady$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.anUpdateIsReady),\n mergeMap(() => [\n hasBeenDownloaded({}),\n ]))\n );\n\n whenCheckHasFailed$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.checkFailed),\n delay(30000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n actions.runCheck({}),\n ]))\n );\n\n whenNoUpdateWasFound$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(actions.noUpdateWasFound),\n delay(120000),\n mergeMap((action) => !action.startUpdateAgainAfterTimeout ? [] : [\n actions.runCheck({}),\n ]))\n );\n}\n\n","import { StateI } from \"./upd-check.state\";\n\nexport const initialState: StateI = {\n forceWaitForUpdate: false,\n lastCheck: null,\n showError: false,\n};\n","\nimport * as actions from './upd-check.actions';\nimport { createFeature, createReducer, on } from '@ngrx/store';\nimport { StateI } from './upd-check.state';\nimport { initialState } from './upd-check.initial';\nimport { DateTime } from 'luxon';\n \nexport default createFeature({\n name: 'spxUpdCheck',\n reducer: createReducer(\n initialState,\n on(actions.anUpdateIsReady, (state: StateI): StateI => {\n return {\n ...state,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(actions.clearError, (state: StateI): StateI => {\n return {\n ...state,\n showError: false,\n };\n }),\n on(actions.checkFailed, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n showError: true,\n };\n }),\n on(actions.noUpdateWasFound, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false,\n lastCheck: DateTime.now().toISO(),\n showError: false,\n };\n }),\n on(actions.runCheck, (state: StateI, { forceWaitForUpdate }): StateI => {\n return {\n ...state,\n forceWaitForUpdate: forceWaitForUpdate ? true : state.forceWaitForUpdate\n };\n }),\n on(actions.notAvailableOnWeb, (state: StateI): StateI => {\n return {\n ...state,\n forceWaitForUpdate: false\n };\n }),\n ),\n});\n","export * from './spx-app-update.component';\nexport * as updCheckActions from './store/upd-check/upd-check.actions';\nexport * as updCheckEffects from './store/upd-check/upd-check.effects';\nexport * as updCheckInitial from './store/upd-check/upd-check.initial';\nexport * as updCheckReducer from './store/upd-check/upd-check.reducer';\nexport * as updCheckState from './store/upd-check/upd-check.state';\n// export * as updPendingActions from './store/upd-pending/upd-pending.actions';\n// export * as updPendingEffects from './store/upd-pending/upd-pending.effects';\n// export * as updPendingInitial from './store/upd-pending/upd-pending.initial';\n// export * as updPendingReducer from './store/upd-pending/upd-pending.reducer';\n// export * as updPendingState from './store/upd-pending/upd-pending.state';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["all","actions.initialize","actions.runCheck","actions.anUpdateIsReady","actions.noUpdateWasFound","actions.notAvailableOnWeb","actions.checkFailed","i1","actions.clearError"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softpak/components",
3
- "version": "19.1.0-beta.1",
3
+ "version": "19.1.0-beta.3",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "19.x.x",
@@ -34,10 +34,6 @@
34
34
  "types": "./spx-alert/index.d.ts",
35
35
  "default": "./fesm2022/softpak-components-spx-alert.mjs"
36
36
  },
37
- "./spx-app-configuration": {
38
- "types": "./spx-app-configuration/index.d.ts",
39
- "default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
40
- },
41
37
  "./spx-app-update": {
42
38
  "types": "./spx-app-update/index.d.ts",
43
39
  "default": "./fesm2022/softpak-components-spx-app-update.mjs"
@@ -46,6 +42,10 @@
46
42
  "types": "./spx-app-expiry/index.d.ts",
47
43
  "default": "./fesm2022/softpak-components-spx-app-expiry.mjs"
48
44
  },
45
+ "./spx-app-configuration": {
46
+ "types": "./spx-app-configuration/index.d.ts",
47
+ "default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
48
+ },
49
49
  "./spx-button": {
50
50
  "types": "./spx-button/index.d.ts",
51
51
  "default": "./fesm2022/softpak-components-spx-button.mjs"
@@ -1 +1,6 @@
1
1
  export * from './spx-app-update.component';
2
+ export * as updCheckActions from './store/upd-check/upd-check.actions';
3
+ export * as updCheckEffects from './store/upd-check/upd-check.effects';
4
+ export * as updCheckInitial from './store/upd-check/upd-check.initial';
5
+ export * as updCheckReducer from './store/upd-check/upd-check.reducer';
6
+ export * as updCheckState from './store/upd-check/upd-check.state';
@@ -0,0 +1,28 @@
1
+ export declare const anUpdateIsReady: import("@ngrx/store").ActionCreator<"[UPD / Check] An update is ready", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Check] An update is ready">>;
2
+ export declare const clearError: import("@ngrx/store").ActionCreator<"[UPD / Check] Clear error", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Check] Clear error">>;
3
+ export declare const checkFailed: import("@ngrx/store").ActionCreator<"[UPD / Check] Error happened", (props: {
4
+ startUpdateAgainAfterTimeout?: boolean;
5
+ }) => {
6
+ startUpdateAgainAfterTimeout?: boolean;
7
+ } & import("@ngrx/store").Action<"[UPD / Check] Error happened">>;
8
+ export declare const initialize: import("@ngrx/store").ActionCreator<"[UPD / Check] Initialize", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Check] Initialize">>;
9
+ export declare const noUpdateWasFound: import("@ngrx/store").ActionCreator<"[UPD / Check] No update was found", (props: {
10
+ startUpdateAgainAfterTimeout?: boolean;
11
+ }) => {
12
+ startUpdateAgainAfterTimeout?: boolean;
13
+ } & import("@ngrx/store").Action<"[UPD / Check] No update was found">>;
14
+ export declare const notAvailableOnWeb: import("@ngrx/store").ActionCreator<"[UPD / Check] Not available on web", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Check] Not available on web">>;
15
+ export declare const runCheck: import("@ngrx/store").ActionCreator<"[UPD / Check] Run", (props: {
16
+ forceWaitForUpdate?: boolean;
17
+ }) => {
18
+ forceWaitForUpdate?: boolean;
19
+ } & import("@ngrx/store").Action<"[UPD / Check] Run">>;
20
+ declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Check] An update is ready">) | (Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Check] Clear error">) | ({
21
+ startUpdateAgainAfterTimeout?: boolean;
22
+ } & import("@ngrx/store").Action<"[UPD / Check] Error happened">) | (Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Check] Initialize">) | ({
23
+ startUpdateAgainAfterTimeout?: boolean;
24
+ } & import("@ngrx/store").Action<"[UPD / Check] No update was found">) | (Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Check] Not available on web">) | ({
25
+ forceWaitForUpdate?: boolean;
26
+ } & import("@ngrx/store").Action<"[UPD / Check] Run">);
27
+ export type Actions = typeof all;
28
+ export {};
@@ -0,0 +1,14 @@
1
+ import { Actions } from '@ngrx/effects';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class Effects {
5
+ private readonly actions$;
6
+ afterInitialize$: Observable<any>;
7
+ onRun$: Observable<any>;
8
+ constructor(actions$: Actions);
9
+ whenAndUpdateIsReady$: Observable<any>;
10
+ whenCheckHasFailed$: Observable<any>;
11
+ whenNoUpdateWasFound$: Observable<any>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<Effects, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<Effects>;
14
+ }
@@ -0,0 +1,2 @@
1
+ import { StateI } from "./upd-check.state";
2
+ export declare const initialState: StateI;
@@ -0,0 +1,10 @@
1
+ import { StateI } from './upd-check.state';
2
+ declare const _default: {
3
+ name: "spxUpdCheck";
4
+ reducer: import("@ngrx/store").ActionReducer<StateI, import("@ngrx/store").Action<string>>;
5
+ selectSpxUpdCheckState: import("@ngrx/store").MemoizedSelector<Record<string, any>, StateI, (featureState: StateI) => StateI>;
6
+ selectForceWaitForUpdate: import("@ngrx/store").MemoizedSelector<Record<string, any>, boolean, (featureState: StateI) => boolean>;
7
+ selectLastCheck: import("@ngrx/store").MemoizedSelector<Record<string, any>, string | null, (featureState: StateI) => string | null>;
8
+ selectShowError: import("@ngrx/store").MemoizedSelector<Record<string, any>, boolean, (featureState: StateI) => boolean>;
9
+ };
10
+ export default _default;
@@ -0,0 +1,5 @@
1
+ export interface StateI {
2
+ forceWaitForUpdate: boolean;
3
+ lastCheck: string | null;
4
+ showError: boolean;
5
+ }
@@ -0,0 +1,8 @@
1
+ export declare const acceptUpdate: import("@ngrx/store").ActionCreator<"[UPD / Available] Accept update", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Available] Accept update">>;
2
+ export declare const hasBeenDownloaded: import("@ngrx/store").ActionCreator<"[UPD / Available] Has been downloaded", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Available] Has been downloaded">>;
3
+ export declare const hasBeenInstalled: import("@ngrx/store").ActionCreator<"[UPD / Available] Has been installed", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Available] Has been installed">>;
4
+ export declare const postpone: import("@ngrx/store").ActionCreator<"[UPD / Available] Postpone", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Available] Postpone">>;
5
+ export declare const postponeExpired: import("@ngrx/store").ActionCreator<"[UPD / Available] Postpone expired", (props: Record<string, unknown>) => Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Available] Postpone expired">>;
6
+ declare const all: (Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Available] Accept update">) | (Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Available] Has been downloaded">) | (Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Available] Has been installed">) | (Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Available] Postpone">) | (Record<string, unknown> & import("@ngrx/store").Action<"[UPD / Available] Postpone expired">);
7
+ export type Actions = typeof all;
8
+ export {};