From 27b568b65573cbdacae99429246c5d441020c700 Mon Sep 17 00:00:00 2001 From: Francesco Bozzotta <39646929+silicia-apps@users.noreply.github.com> Date: Wed, 17 Jan 2024 22:10:39 +0000 Subject: [PATCH] add ADD function in Database State Component --- apps/demo/src/app/app.config.ts | 2 +- apps/demo/src/app/database/database.page.html | 2 +- apps/demo/src/app/database/database.page.ts | 24 +-- .../database/{ => store}/task.interface.ts | 0 .../app/database/{ => store}/task.state.ts | 0 .../src/lib/services/database.service.ts | 32 +-- .../lib/components/icon/icon.component.html | 4 +- .../src/lib/components/icon/icon.component.ts | 2 +- .../lib/components/item/item.component.html | 18 +- .../src/lib/components/item/item.component.ts | 33 +-- .../lib/components/list/list.component.html | 18 +- .../src/lib/components/list/list.component.ts | 9 + .../src/lib/interfaces/document.interface.ts | 12 +- .../lib/services/database/database.service.ts | 20 +- .../interfaces/database-service.interface.ts | 12 +- libs/database/src/lib/store/database.state.ts | 11 +- package-lock.json | 190 +++++++++--------- 17 files changed, 197 insertions(+), 192 deletions(-) rename apps/demo/src/app/database/{ => store}/task.interface.ts (100%) rename apps/demo/src/app/database/{ => store}/task.state.ts (100%) diff --git a/apps/demo/src/app/app.config.ts b/apps/demo/src/app/app.config.ts index 2ee5d32..cf60511 100644 --- a/apps/demo/src/app/app.config.ts +++ b/apps/demo/src/app/app.config.ts @@ -14,7 +14,7 @@ import { environment } from '../environments/environment'; import { routes } from './app.routes'; import { NgxsModule } from '@ngxs/store'; import { SioStorageState } from '@silicia/storage'; -import { TaskState } from './database/task.state'; +import { TaskState } from './database/store/task.state'; export const appConfig: ApplicationConfig = { providers: [ { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }, diff --git a/apps/demo/src/app/database/database.page.html b/apps/demo/src/app/database/database.page.html index 7ad28ba..8072224 100644 --- a/apps/demo/src/app/database/database.page.html +++ b/apps/demo/src/app/database/database.page.html @@ -3,5 +3,5 @@ DELETE ALL

Total Task : {{ this.taskState.localTotals }} loaded /{{ this.taskState.remoteTotals }} on server

- + \ No newline at end of file diff --git a/apps/demo/src/app/database/database.page.ts b/apps/demo/src/app/database/database.page.ts index b1352ff..1ce5983 100644 --- a/apps/demo/src/app/database/database.page.ts +++ b/apps/demo/src/app/database/database.page.ts @@ -1,8 +1,7 @@ import { Component } from '@angular/core'; import { SioCommonModule, SioCoreLoggerService } from '@silicia/core'; -import { TaskState } from './task.state'; -import { taskInterface } from './task.interface'; - +import { TaskState } from './store/task.state'; +import { taskInterface } from './store/task.interface'; @Component({ selector: 'sio-database', @@ -22,22 +21,21 @@ export class DatabasePageComponent { } public async create() { - const test = { - $id : 'ijijiiij', - $collectionId : '', - $createdAt : '', - $databaseId : '', - $updatedAt : '', + const test: taskInterface = { name : 'test', - $permissions : [], description : 'test descrption' } this.taskState.addOne(test); - const task = {...this.taskState.selectOne('65a29bfd53f6ff5f0af8')} + const task = {...this.taskState.selectOne('65a841c4577a8c033b25')!} task.name = 'task ciao'; - this.taskState.setOne(task); + this.taskState.setOne(task); } public deleteAll() { - + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + public delete(event: any) { + console.error (JSON.stringify(event)); + //this.taskState.removeByEntity() } } diff --git a/apps/demo/src/app/database/task.interface.ts b/apps/demo/src/app/database/store/task.interface.ts similarity index 100% rename from apps/demo/src/app/database/task.interface.ts rename to apps/demo/src/app/database/store/task.interface.ts diff --git a/apps/demo/src/app/database/task.state.ts b/apps/demo/src/app/database/store/task.state.ts similarity index 100% rename from apps/demo/src/app/database/task.state.ts rename to apps/demo/src/app/database/store/task.state.ts diff --git a/libs/appwrite/src/lib/services/database.service.ts b/libs/appwrite/src/lib/services/database.service.ts index 50edb27..e3cf941 100644 --- a/libs/appwrite/src/lib/services/database.service.ts +++ b/libs/appwrite/src/lib/services/database.service.ts @@ -1,5 +1,5 @@ import { Injectable, Inject } from '@angular/core'; -import { Databases } from 'appwrite'; +import { Databases, ID } from 'appwrite'; import { SioDatabaseServiceInterface, @@ -9,6 +9,7 @@ import { import { Loggable, + SioCoreDocumentInterface, SioCoreLoggerService, SioCorePluginServiceConfigModel, sioCorePluginServiceConfigToken, @@ -36,17 +37,18 @@ export class SioAppwriteDatabaseService implements SioDatabaseServiceInterface { this.databases = new Databases(this.sioAppwriteClientService.client); } - async create( - value: object, - collection: string, - database?: string | undefined, - document?: string | undefined, + async add( + value: SioCoreDocumentInterface, + collectionId?: string, + databaseId?: string, + documentId?: string, ): Promise { try { + if (!documentId) documentId = ID.unique(); const product = await this.databases.createDocument( - database as string, - collection, - document as string, + databaseId as string, + collectionId as string, + documentId as string, value, ); console.error(JSON.stringify(product)); @@ -111,15 +113,15 @@ export class SioAppwriteDatabaseService implements SioDatabaseServiceInterface { } async delete( - id: string, - collection: string, - database?: string | undefined, + documentId: string | number, + collectionId?: string, + databaseId?: string, ): Promise { try { const items = await this.databases.deleteDocument( - database as string, - collection, - id, + databaseId as string, + collectionId as string, + documentId as string, ); console.log(JSON.stringify(items)); return true; diff --git a/libs/core/src/lib/components/icon/icon.component.html b/libs/core/src/lib/components/icon/icon.component.html index 306af80..750913d 100644 --- a/libs/core/src/lib/components/icon/icon.component.html +++ b/libs/core/src/lib/components/icon/icon.component.html @@ -1,2 +1,4 @@ - \ No newline at end of file + + + diff --git a/libs/core/src/lib/components/icon/icon.component.ts b/libs/core/src/lib/components/icon/icon.component.ts index 5f6a7df..8e0c5ac 100644 --- a/libs/core/src/lib/components/icon/icon.component.ts +++ b/libs/core/src/lib/components/icon/icon.component.ts @@ -9,7 +9,7 @@ import { SioCoreLoggerService } from '../../services/logger'; }) export class SioCoreIconComponent { @Input() public color: SioColorType; - @Input() public slot : 'start' | 'end' | undefined; + @Input() public slot : 'start' | 'end' | 'icon-only' | undefined; @Input() public name: string | undefined = undefined; @Input() public url: string | undefined = undefined; @Input() public size: 'small' | 'large' | undefined = undefined; diff --git a/libs/core/src/lib/components/item/item.component.html b/libs/core/src/lib/components/item/item.component.html index 60e5afa..ded5fb7 100644 --- a/libs/core/src/lib/components/item/item.component.html +++ b/libs/core/src/lib/components/item/item.component.html @@ -1,22 +1,22 @@ - + - - + + + - - + +

{{ this.header | translate }}

{{ this.label | translate }}

- - +
- + - + \ No newline at end of file diff --git a/libs/core/src/lib/components/item/item.component.ts b/libs/core/src/lib/components/item/item.component.ts index 7a9c797..cf15ab6 100644 --- a/libs/core/src/lib/components/item/item.component.ts +++ b/libs/core/src/lib/components/item/item.component.ts @@ -13,11 +13,7 @@ export class SioCoreItemComponent implements OnInit { private _color : SioColorType = undefined; - @Input() public label: string; - - @Input() public image: string; - - @Input() public set color(value: string) { + @Input() public set color(value: SioColorType) { //console.error(value); this._color = value?value:'none'; } @@ -27,25 +23,24 @@ export class SioCoreItemComponent implements OnInit { return this._color; } - @Input() public header: string; + @Input() public header: string = 'NO_HEADER'; + @Input() public label: string = 'NO_LABEL'; @AttributeBoolean() - @Input() public button: InputBoolean; + @Input() public button: InputBoolean = false; @AttributeBoolean() - @Input() public disabled: InputBoolean; + @Input() public disabled: InputBoolean = false; - @AttributeBoolean() - @Input() public thumbnail: InputBoolean; - - @AttributeBoolean() - @Input() public avatar: InputBoolean; + @Input() public thumbnail: string | undefined = undefined; + @Input() public avatar: string | undefined = undefined; + @Input() public icon: string | undefined = undefined; @AttributeBoolean() - @Input() public doLeftSwipe: InputBoolean; + @Input() public doLeftSwipe: InputBoolean = false; @AttributeBoolean() - @Input() public doRightSwipe: InputBoolean; + @Input() public doRightSwipe: InputBoolean = false; @Input() public alt : string | undefined = undefined; @@ -54,13 +49,7 @@ export class SioCoreItemComponent implements OnInit { // eslint-disable-next-line @typescript-eslint/no-empty-function constructor(private sioCoreLoggerService: SioCoreLoggerService) { - this.disabled = false; - this.avatar = false; - this.thumbnail = false; - this.label = 'no label'; - this.header = 'no header'; - this.image = 'https://ionicframework.com/docs/img/demos/thumbnail.svg'; - console.log(this.label) + } ngOnInit(): void { diff --git a/libs/core/src/lib/components/list/list.component.html b/libs/core/src/lib/components/list/list.component.html index de5118a..db55532 100644 --- a/libs/core/src/lib/components/list/list.component.html +++ b/libs/core/src/lib/components/list/list.component.html @@ -1,6 +1,12 @@ - - - + + + diff --git a/libs/core/src/lib/components/list/list.component.ts b/libs/core/src/lib/components/list/list.component.ts index 8c544c6..f4754b0 100644 --- a/libs/core/src/lib/components/list/list.component.ts +++ b/libs/core/src/lib/components/list/list.component.ts @@ -1,6 +1,8 @@ import { Component, OnInit, Input } from '@angular/core'; import { SioColorType } from '../../types'; import { SioCoreLoggerService } from '../../services/logger'; +import { AttributeBoolean } from '@angular-ru/cdk/decorators'; +import { InputBoolean } from '@angular-ru/cdk/typings'; @Component({ selector: 'sio-list', @@ -19,8 +21,15 @@ export class SioCoreListComponent implements OnInit { @Input() public style: 'default' | 'rounded' | 'custom' = 'default'; @Input() public desktop = false; + @AttributeBoolean() + @Input() public doLeftSwipe: InputBoolean; + + @AttributeBoolean() + @Input() public doRightSwipe: InputBoolean; + @Input() public header: string = 'name'; @Input() public label: string = 'description'; + @Input() public icon: string | undefined; @Input() public avatar: string | undefined; @Input() public thumbnail: string | undefined; // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/libs/database/src/lib/interfaces/document.interface.ts b/libs/database/src/lib/interfaces/document.interface.ts index 0ea02b5..e4f24a7 100644 --- a/libs/database/src/lib/interfaces/document.interface.ts +++ b/libs/database/src/lib/interfaces/document.interface.ts @@ -1,9 +1,9 @@ export interface SioDatabaseDocumentInterface { - $id: number | string; - $collectionId: string; - $databaseId: string; - $createdAt: string; - $updatedAt: string; - $permissions: string[]; + $id?: number | string; + $collectionId?: string; + $databaseId?: string; + $createdAt?: string; + $updatedAt?: string; + $permissions?: string[]; [key: string]: unknown; } \ No newline at end of file diff --git a/libs/database/src/lib/services/database/database.service.ts b/libs/database/src/lib/services/database/database.service.ts index 3e9cbba..0c8e612 100644 --- a/libs/database/src/lib/services/database/database.service.ts +++ b/libs/database/src/lib/services/database/database.service.ts @@ -25,14 +25,14 @@ export class SioDatabaseService implements SioDatabaseServiceInterface { this.plugins = Array.isArray(plugins) ? plugins : [plugins]; } - async create( - value: object, - collection: string, - database?: string, - document?: string, + async add( + value: SioDatabaseDocumentInterface, + collectionId?: string, + databaseId?: string, + documentId?: string, ): Promise { try { - return this.plugins[0].create(value, collection, database, document); + return this.plugins[0].add(value, collectionId, databaseId, documentId); } catch (e) { const error = e as Error; if (error.name === 'sio-error') @@ -105,12 +105,12 @@ export class SioDatabaseService implements SioDatabaseServiceInterface { } async delete( - id: string, - collection: string, - database?: string, + documentId: string | number, + collectionId?: string, + databaseId?: string, ): Promise { try { - return this.plugins[0].delete(id, collection, database); + return this.plugins[0].delete(documentId, collectionId, databaseId); } catch (e) { const error = e as Error; if (error.name === 'sio-error') diff --git a/libs/database/src/lib/services/database/interfaces/database-service.interface.ts b/libs/database/src/lib/services/database/interfaces/database-service.interface.ts index 675df69..35cadf7 100644 --- a/libs/database/src/lib/services/database/interfaces/database-service.interface.ts +++ b/libs/database/src/lib/services/database/interfaces/database-service.interface.ts @@ -5,11 +5,11 @@ import { } from '../../../interfaces'; export interface SioDatabaseServiceInterface { - create( - value: object, - collection: string, - database?: string, - document?: string, + add( + value: SioDatabaseDocumentInterface, + collectionId?: string, + databaseId?: string, + documentId?: string | number, ): Promise; query( databaseId: string, @@ -23,7 +23,7 @@ export interface SioDatabaseServiceInterface { collectionId: string, databaseId: string, ): Promise; - delete(id: string, collection: string, database?: string): Promise; + delete(documentId: string | number, collectionId?: string, databaseId?: string): Promise; // eslint-disable-next-line @typescript-eslint/no-explicit-any subscribe(): Observable; } diff --git a/libs/database/src/lib/store/database.state.ts b/libs/database/src/lib/store/database.state.ts index f2b3663..4e484a1 100644 --- a/libs/database/src/lib/store/database.state.ts +++ b/libs/database/src/lib/store/database.state.ts @@ -106,8 +106,17 @@ export abstract class SioDatabaseState< return this.snapshot.remoteTotals; } + override removeByEntity(entity: T): void { + this.sioDatabaseService.delete(entity.$id!, this.snapshot.collectionId, this.snapshot.databaseId); + } + + override addOne(entity: T): void { + //super.addOne(entity); + this.sioDatabaseService.add(entity, this.snapshot.collectionId, this.snapshot.databaseId); + } + override setOne(entity: T): void { - super.setOne(entity); + //super.setOne(entity); this.sioDatabaseService.set( entity.$id as string, entity, diff --git a/package-lock.json b/package-lock.json index dbc2ce3..ccbf180 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4894,11 +4894,11 @@ "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==" }, "node_modules/@ionic/angular": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-7.6.4.tgz", - "integrity": "sha512-2AlFVwitY4Fn+GCDq45Sz8PAZLdKMiNkz7VsLFRAOg3W7Y7H8Y3v+PkF7vd3DF5LhWbIaXuN0gK4Dnxp/fWgYA==", + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-7.6.5.tgz", + "integrity": "sha512-c1LIAwDuDtaEhMA91m+CqzLOgMY8V4DPPiTdHl6xB2ohmC3er+PpZQx87wpLcSjO7Yl+S3470/+FGGqDAjc8cQ==", "dependencies": { - "@ionic/core": "7.6.4", + "@ionic/core": "7.6.5", "ionicons": "^7.0.0", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" @@ -4912,11 +4912,11 @@ } }, "node_modules/@ionic/core": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.6.4.tgz", - "integrity": "sha512-9BGksEmvA/upb5Oup+joOam7y4pSBGCxYekWnTx8PiYur04ZYjGSZ0Vz3dQRyqj7rF+MwUV9iUGd3qz/bslkSw==", + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.6.5.tgz", + "integrity": "sha512-koyPrPMTZ8ZbB9O0VN4KaX9yIMCXQTi2bGTGYUvOoboyx/TaXshi4wX1POII5E80TW2I1HH5YIGq8ZaFAOot/Q==", "dependencies": { - "@stencil/core": "^4.9.1", + "@stencil/core": "^4.10.0", "ionicons": "^7.2.2", "tslib": "^2.1.0" } @@ -9020,9 +9020,9 @@ } }, "node_modules/@storybook/angular/node_modules/@types/node": { - "version": "18.19.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.7.tgz", - "integrity": "sha512-IGRJfoNX10N/PfrReRZ1br/7SQ+2vF/tK3KXNwzXz82D32z5dMQEoOlFew18nLSN+vMNcLY4GrKfzwi/yWI8/w==", + "version": "18.19.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.8.tgz", + "integrity": "sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -9616,9 +9616,9 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@types/node": { - "version": "18.19.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.7.tgz", - "integrity": "sha512-IGRJfoNX10N/PfrReRZ1br/7SQ+2vF/tK3KXNwzXz82D32z5dMQEoOlFew18nLSN+vMNcLY4GrKfzwi/yWI8/w==", + "version": "18.19.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.8.tgz", + "integrity": "sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -10402,9 +10402,9 @@ } }, "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "18.19.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.7.tgz", - "integrity": "sha512-IGRJfoNX10N/PfrReRZ1br/7SQ+2vF/tK3KXNwzXz82D32z5dMQEoOlFew18nLSN+vMNcLY4GrKfzwi/yWI8/w==", + "version": "18.19.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.8.tgz", + "integrity": "sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -10578,9 +10578,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "18.19.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.7.tgz", - "integrity": "sha512-IGRJfoNX10N/PfrReRZ1br/7SQ+2vF/tK3KXNwzXz82D32z5dMQEoOlFew18nLSN+vMNcLY4GrKfzwi/yWI8/w==", + "version": "18.19.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.8.tgz", + "integrity": "sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -10656,9 +10656,9 @@ } }, "node_modules/@storybook/core-webpack/node_modules/@types/node": { - "version": "18.19.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.7.tgz", - "integrity": "sha512-IGRJfoNX10N/PfrReRZ1br/7SQ+2vF/tK3KXNwzXz82D32z5dMQEoOlFew18nLSN+vMNcLY4GrKfzwi/yWI8/w==", + "version": "18.19.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.8.tgz", + "integrity": "sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -11429,9 +11429,9 @@ } }, "node_modules/@swc/core": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.103.tgz", - "integrity": "sha512-PYtt8KzRXIFDwxeD7BA9ylmXNQ4hRVcmDVuAmL3yvL9rgx7Tn3qn6T37wiMVZnP1OjqGyhuHRPNycd+ssr+byw==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.104.tgz", + "integrity": "sha512-9LWH/qzR/Pmyco+XwPiPfz59T1sryI7o5dmqb593MfCkaX5Fzl9KhwQTI47i21/bXYuCdfa9ySZuVkzXMirYxA==", "devOptional": true, "hasInstallScript": true, "dependencies": { @@ -11446,16 +11446,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.3.103", - "@swc/core-darwin-x64": "1.3.103", - "@swc/core-linux-arm-gnueabihf": "1.3.103", - "@swc/core-linux-arm64-gnu": "1.3.103", - "@swc/core-linux-arm64-musl": "1.3.103", - "@swc/core-linux-x64-gnu": "1.3.103", - "@swc/core-linux-x64-musl": "1.3.103", - "@swc/core-win32-arm64-msvc": "1.3.103", - "@swc/core-win32-ia32-msvc": "1.3.103", - "@swc/core-win32-x64-msvc": "1.3.103" + "@swc/core-darwin-arm64": "1.3.104", + "@swc/core-darwin-x64": "1.3.104", + "@swc/core-linux-arm-gnueabihf": "1.3.104", + "@swc/core-linux-arm64-gnu": "1.3.104", + "@swc/core-linux-arm64-musl": "1.3.104", + "@swc/core-linux-x64-gnu": "1.3.104", + "@swc/core-linux-x64-musl": "1.3.104", + "@swc/core-win32-arm64-msvc": "1.3.104", + "@swc/core-win32-ia32-msvc": "1.3.104", + "@swc/core-win32-x64-msvc": "1.3.104" }, "peerDependencies": { "@swc/helpers": "^0.5.0" @@ -11467,9 +11467,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.103.tgz", - "integrity": "sha512-Dqqz48mvdm/3PHPPA6YeAEofkF9H5Krgqd/baPf0dXcarzng6U9Ilv2aCtDjq7dfI9jfkVCW5zuwq98PE2GEdw==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.104.tgz", + "integrity": "sha512-rCnVj8x3kn6s914Adddu+zROHUn6mUEMkNKUckofs3W9OthNlZXJA3C5bS2MMTRFXCWamJ0Zmh6INFpz+f4Tfg==", "cpu": [ "arm64" ], @@ -11482,9 +11482,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.103.tgz", - "integrity": "sha512-mhUVSCEAyFLqtrDtwr9qPbe891J8cKxq53CD873/ZsUnyasHMPyWXzTvy9qjmbYyfDIArm6fGqjF5YsDKwGGNg==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.104.tgz", + "integrity": "sha512-LBCWGTYkn1UjyxrmcLS3vZgtCDVhwxsQMV7jz5duc7Gas8SRWh6ZYqvUkjlXMDX1yx0uvzHrkaRw445+zDRj7Q==", "cpu": [ "x64" ], @@ -11497,9 +11497,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.103.tgz", - "integrity": "sha512-rYLmwxr01ZHOI6AzooqwB0DOkMm0oU8Jznk6uutV1lHgcwyxsNiC1Css8yf77Xr/sYTvKvuTfBjThqa5H716pA==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.104.tgz", + "integrity": "sha512-iFbsWcx0TKHWnFBNCuUstYqRtfkyBx7FKv5To1Hx14EMuvvoCD/qUoJEiNfDQN5n/xU9g5xq4RdbjEWCFLhAbA==", "cpu": [ "arm" ], @@ -11512,9 +11512,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.103.tgz", - "integrity": "sha512-w+5XFpUqxiAGUBiyRyYR28Ghddp5uVyo+dHAkCnY1u3V6RsZkY3vRwmoXT7/HxVGV7csodJ1P9Cp9VaRnNvTKA==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.104.tgz", + "integrity": "sha512-1BIIp+nUPrRHHaJ35YJqrwXPwYSITp5robqqjyTwoKGw2kq0x+A964kpWul6v0d7A9Ial8fyH4m13eSWBodD2A==", "cpu": [ "arm64" ], @@ -11527,9 +11527,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.103.tgz", - "integrity": "sha512-lS5p8ewAIar7adX6t0OrkICTcw92PXrn3ZmYyG5hvfjUg4RPQFjMfFMDQSne32ZJhGXHBf0LVm1R8wHwkcpwgA==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.104.tgz", + "integrity": "sha512-IyDNkzpKwvLqmRwTW+s8f8OsOSSj1N6juZKbvNHpZRfWZkz3T70q3vJlDBWQwy8z8cm7ckd7YUT3eKcSBPPowg==", "cpu": [ "arm64" ], @@ -11542,9 +11542,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.103.tgz", - "integrity": "sha512-Lf2cHDoEPNB6TwexHBEZCsAO2C7beb0YljhtQS+QfjWLLVqCiwt5LRCPuKN2Bav7el9KZXOI5baXedUeFj0oFg==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.104.tgz", + "integrity": "sha512-MfX/wiRdTjE5uXHTDnaX69xI4UBfxIhcxbVlMj//N+7AX/G2pl2UFityfVMU2HpM12BRckrCxVI8F/Zy3DZkYQ==", "cpu": [ "x64" ], @@ -11557,9 +11557,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.103.tgz", - "integrity": "sha512-HR1Y9iiLEO3F49P47vjbHczBza9RbdXWRWC8NpcOcGJ4Wnw0c2DLWAh416fGH3VYCF/19EuglLEXhvSj0NXGuA==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.104.tgz", + "integrity": "sha512-5yeILaxA31gGEmquErO8yxlq1xu0XVt+fz5mbbKXKZMRRILxYxNzAGb5mzV41r0oHz6Vhv4AXX/WMCmeWl+HkQ==", "cpu": [ "x64" ], @@ -11572,9 +11572,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.103.tgz", - "integrity": "sha512-3/GfROD1GPyf2hi6R0l4iZ5nrrKG8IU29hYhZCb7r0ZqhL/58kktVPlkib8X/EAJI8xbhM/NMl76h8ElrnyH5w==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.104.tgz", + "integrity": "sha512-rwcImsYnWDWGmeESG0XdGGOql5s3cG5wA8C4hHHKdH76zamPfDKKQFBsjmoNi0f1IsxaI9AJPeOmD4bAhT1ZoQ==", "cpu": [ "arm64" ], @@ -11587,9 +11587,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.103.tgz", - "integrity": "sha512-9ejEFjfgPi0ibNmtuiRbYq9p4RRV6oH1DN9XjkYM8zh2qHlpZHKQZ3n4eHS0VtJO4rEGZxL8ebcnTNs62wqJig==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.104.tgz", + "integrity": "sha512-ICDA+CJLYC7NkePnrbh/MvXwDQfy3rZSFgrVdrqRosv9DKHdFjYDnA9++7ozjrIdFdBrFW2NR7pyUcidlwhNzA==", "cpu": [ "ia32" ], @@ -11602,9 +11602,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.3.103", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.103.tgz", - "integrity": "sha512-/1RvaOmZolXurWAUdnELYynVlFUiT0hj3PyTPoo+YK6+KV7er4EqUalRsoUf3zzGepQuhKFZFDpQn6Xi9kJX1A==", + "version": "1.3.104", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.104.tgz", + "integrity": "sha512-fZJ1Ju62U4lMZVU+nHxLkFNcu0hG5Y0Yj/5zjrlbuX5N8J5eDndWAFsVnQhxRTZqKhZB53pvWRQs5FItSDqgXg==", "cpu": [ "x64" ], @@ -12343,9 +12343,9 @@ } }, "node_modules/@types/node-fetch": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.10.tgz", - "integrity": "sha512-PPpPK6F9ALFTn59Ka3BaL+qGuipRfxNE8qVgkp0bVixeiR2c2/L+IVOiBdu9JhhT22sWnQEp6YyHGI2b2+CMcA==", + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", "dev": true, "dependencies": { "@types/node": "*", @@ -15159,9 +15159,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001577", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001577.tgz", - "integrity": "sha512-rs2ZygrG1PNXMfmncM0B5H1hndY5ZCC9b5TkFaVNfZ+AUlyqcMyVIQtc3fsezi0NUCk5XZfDf9WS6WxMxnfdrg==", + "version": "1.0.30001578", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001578.tgz", + "integrity": "sha512-J/jkFgsQ3NEl4w2lCoM9ZPxrD+FoBNJ7uJUpGVjIg/j0OwJosWM36EPDv+Yyi0V4twBk9pPmlFS+PLykgEvUmg==", "funding": [ { "type": "opencollective", @@ -16566,15 +16566,14 @@ } }, "node_modules/cypress": { - "version": "13.6.2", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.2.tgz", - "integrity": "sha512-TW3bGdPU4BrfvMQYv1z3oMqj71YI4AlgJgnrycicmPZAXtvywVFZW9DAToshO65D97rCWfG/kqMFsYB6Kp91gQ==", + "version": "13.6.3", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.3.tgz", + "integrity": "sha512-d/pZvgwjAyZsoyJ3FOsJT5lDsqnxQ/clMqnNc++rkHjbkkiF2h9s0JsZSyyH4QXhVFW3zPFg82jD25roFLOdZA==", "devOptional": true, "hasInstallScript": true, "dependencies": { "@cypress/request": "^3.0.0", "@cypress/xvfb": "^1.2.4", - "@types/node": "^18.17.5", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", @@ -16623,15 +16622,6 @@ "node": "^16.0.0 || ^18.0.0 || >=20.0.0" } }, - "node_modules/cypress/node_modules/@types/node": { - "version": "18.19.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.7.tgz", - "integrity": "sha512-IGRJfoNX10N/PfrReRZ1br/7SQ+2vF/tK3KXNwzXz82D32z5dMQEoOlFew18nLSN+vMNcLY4GrKfzwi/yWI8/w==", - "devOptional": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, "node_modules/cypress/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -17563,9 +17553,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.633", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.633.tgz", - "integrity": "sha512-7BvxzXrHFliyQ1oZc6NRMjyEaKOO1Ma1NY98sFZofogWlm+klLWSgrDw7EhatiMgi4R4NV+iWxDdxuIKXtPbOw==" + "version": "1.4.636", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.636.tgz", + "integrity": "sha512-NLE0GIy1OL9wRiKL20h9TkctBEYZuc99tquSS9MVdTahnuHputoETHeqDzgqGqyOY9NUH0g9wjfEuw5OD+wRcQ==" }, "node_modules/emitter-component": { "version": "1.1.2", @@ -28001,9 +27991,9 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", @@ -28541,9 +28531,9 @@ } }, "node_modules/prettier": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz", - "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", + "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -31159,9 +31149,9 @@ } }, "node_modules/stream-shift": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.2.tgz", - "integrity": "sha512-rV4Bovi9xx0BFzOb/X0B2GqoIjvqPCttZdu0Wgtx2Dxkj7ETyWl9gmqJ4EutWRLvtZWm8dxE+InQZX1IryZn/w==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", "dev": true }, "node_modules/stream-throttle": { @@ -31889,9 +31879,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/terser": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", - "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", + "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2",