diff --git a/apps/docs/package.json b/apps/docs/package.json index 67ef0a3e5..99c73e3eb 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -19,9 +19,9 @@ "test:watch": "vitest" }, "dependencies": { - "@docusaurus/core": "3.9.2", - "@docusaurus/plugin-content-docs": "^3.9.2", - "@docusaurus/preset-classic": "3.9.2", + "@docusaurus/core": "3.10.1", + "@docusaurus/plugin-content-docs": "^3.10.1", + "@docusaurus/preset-classic": "3.10.1", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "prism-react-renderer": "^2.3.0", @@ -31,9 +31,9 @@ "devDependencies": { "@cellix/config-typescript": "workspace:*", "@cellix/config-vitest": "workspace:*", - "@docusaurus/module-type-aliases": "3.9.2", - "@docusaurus/tsconfig": "3.9.2", - "@docusaurus/types": "3.9.2", + "@docusaurus/module-type-aliases": "3.10.1", + "@docusaurus/tsconfig": "3.10.1", + "@docusaurus/types": "3.10.1", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.2.0", "@types/react": "^19.1.11", diff --git a/apps/server-mongodb-memory-mock/package.json b/apps/server-mongodb-memory-mock/package.json index d34485afc..93220bd53 100644 --- a/apps/server-mongodb-memory-mock/package.json +++ b/apps/server-mongodb-memory-mock/package.json @@ -15,7 +15,10 @@ }, "dependencies": { "@cellix/server-mongodb-memory-mock-seedwork": "workspace:*", - "dotenv": "^16.4.5" + "@ocom/data-sources-mongoose-models": "workspace:*", + "dotenv": "^16.4.5", + "mongodb": "catalog:", + "mongoose": "catalog:" }, "devDependencies": { "@cellix/config-typescript": "workspace:*", diff --git a/apps/server-mongodb-memory-mock/src/index.ts b/apps/server-mongodb-memory-mock/src/index.ts index 1678f8883..ed3e54ee0 100644 --- a/apps/server-mongodb-memory-mock/src/index.ts +++ b/apps/server-mongodb-memory-mock/src/index.ts @@ -1,44 +1,26 @@ -import { startMongoMemoryReplicaSet, type MongoMemoryReplicaSetConfig } from '@cellix/server-mongodb-memory-mock-seedwork'; +import { type MongoMemoryServerConfig, startMockMongoDB } from '@cellix/server-mongodb-memory-mock-seedwork'; +import { seedDatabase } from './seed/seed.ts'; import { setupEnvironment } from './setup-environment.ts'; setupEnvironment(); -const { PORT, DB_NAME, REPL_SET_NAME } = process.env; +const collectionsToSeed = ['users', 'communities', 'roles', 'members', 'properties', 'services']; -const config: MongoMemoryReplicaSetConfig = { - port: Number(PORT ?? 50000), - dbName: DB_NAME ?? 'owner-community', - replSetName: REPL_SET_NAME ?? 'globaldb', -}; +const { PORT, DB_NAME, REPL_SET_NAME } = process.env; -// Start replica set and wire disposer into process shutdown handlers -try { - const { disposer } = await startMongoMemoryReplicaSet(config); +const port = Number(PORT ?? 50000); +const dbName = DB_NAME ?? 'owner-community'; +const replSetName = REPL_SET_NAME ?? 'globaldb'; - const shutdown = async (signal?: string, exitCode = 0) => { - try { - console.log(`Shutting down MongoDB memory replica set (${signal ?? 'signal'})`); - await disposer.stop(); - } catch (err) { - console.error('Error during MongoDB replica set shutdown:', err); - } finally { - // Exit with provided code so CI can detect crash paths when appropriate - process.exit(exitCode); - } - }; +const config: MongoMemoryServerConfig = { + collectionsToSeed, + seedDatabase, + port, + dbName, + replSetName, +}; - process.once('SIGINT', () => void shutdown('SIGINT')); - process.once('SIGTERM', () => void shutdown('SIGTERM')); - process.once('SIGQUIT', () => void shutdown('SIGQUIT')); - process.once('uncaughtException', async (err) => { - console.error('Uncaught exception, shutting down:', err); - await shutdown('uncaughtException', 1); - }); - process.once('unhandledRejection', async (reason) => { - console.error('Unhandled rejection, shutting down:', reason); - await shutdown('unhandledRejection', 1); - }); -} catch (error: unknown) { - console.error('Failed to start MongoDB memory replica set:', error); +startMockMongoDB(config).catch((err: unknown) => { + console.error('Failed to start mock MongoDB:', err); process.exit(1); -} +}); diff --git a/apps/server-mongodb-memory-mock/src/seed/communities.ts b/apps/server-mongodb-memory-mock/src/seed/communities.ts new file mode 100644 index 000000000..785018ea9 --- /dev/null +++ b/apps/server-mongodb-memory-mock/src/seed/communities.ts @@ -0,0 +1,21 @@ +import type { Community } from '@ocom/data-sources-mongoose-models/community'; +import { END_USER_IDS } from './end-users.ts'; + +export const COMMUNITY_IDS = { + riverside: 'b00000000000000000000001', +} as const; + +export const communities = [ + { + _id: COMMUNITY_IDS.riverside, + name: 'Riverside Community', + domain: 'riverside', + whiteLabelDomain: '', + handle: 'riverside', + createdBy: END_USER_IDS.testUser, + schemaVersion: '1.0.0', + version: 0, + createdAt: new Date('2024-02-01T00:00:00Z'), + updatedAt: new Date('2024-02-01T00:00:00Z'), + }, +] as unknown as Community[]; diff --git a/apps/server-mongodb-memory-mock/src/seed/end-users.ts b/apps/server-mongodb-memory-mock/src/seed/end-users.ts new file mode 100644 index 000000000..fe23dc573 --- /dev/null +++ b/apps/server-mongodb-memory-mock/src/seed/end-users.ts @@ -0,0 +1,53 @@ +import type { EndUser } from '@ocom/data-sources-mongoose-models/user/end-user'; + +export const END_USER_IDS = { + testUser: 'a00000000000000000000001', + janeSmith: 'a00000000000000000000002', +} as const; + +export const endUsers = [ + { + _id: END_USER_IDS.testUser, + userType: 'end-users', + externalId: '00000000-0000-4000-8000-000000000001', + displayName: 'Test User', + email: 'test@example.com', + personalInformation: { + identityDetails: { + lastName: 'User', + legalNameConsistsOfOneName: false, + restOfName: 'Test', + }, + contactInformation: { + email: 'test@example.com', + }, + }, + accessBlocked: false, + tags: [], + schemaVersion: '1.0.0', + createdAt: new Date('2024-01-01T00:00:00Z'), + updatedAt: new Date('2024-01-01T00:00:00Z'), + }, + { + _id: END_USER_IDS.janeSmith, + userType: 'end-users', + externalId: '00000000-0000-4000-8000-000000000002', + displayName: 'Jane Smith', + email: 'jane@example.com', + personalInformation: { + identityDetails: { + lastName: 'Smith', + legalNameConsistsOfOneName: false, + restOfName: 'Jane', + }, + contactInformation: { + email: 'jane@example.com', + }, + }, + accessBlocked: false, + tags: [], + schemaVersion: '1.0.0', + createdAt: new Date('2024-01-15T00:00:00Z'), + updatedAt: new Date('2024-01-15T00:00:00Z'), + }, +] as unknown as EndUser[]; diff --git a/apps/server-mongodb-memory-mock/src/seed/members.ts b/apps/server-mongodb-memory-mock/src/seed/members.ts new file mode 100644 index 000000000..da83640ab --- /dev/null +++ b/apps/server-mongodb-memory-mock/src/seed/members.ts @@ -0,0 +1,89 @@ +import type { Member } from '@ocom/data-sources-mongoose-models/member'; +import { COMMUNITY_IDS } from './communities.ts'; +import { END_USER_IDS } from './end-users.ts'; +import { ROLE_IDS } from './roles.ts'; + +export const MEMBER_IDS = { + testUserMember: 'd00000000000000000000001', + janeSmithMember: 'd00000000000000000000002', +} as const; + +const MEMBER_ACCOUNT_IDS = { + testUserAccount: 'e00000000000000000000001', + janeSmithAccount: 'e00000000000000000000002', +} as const; + +export const members = [ + { + _id: MEMBER_IDS.testUserMember, + memberName: 'Test User', + community: COMMUNITY_IDS.riverside, + role: ROLE_IDS.admin, + accounts: [ + { + _id: MEMBER_ACCOUNT_IDS.testUserAccount, + firstName: 'Test', + lastName: 'User', + user: END_USER_IDS.testUser, + statusCode: 'ACCEPTED', + createdBy: END_USER_IDS.testUser, + createdAt: new Date('2024-02-01T00:00:00Z'), + updatedAt: new Date('2024-02-01T00:00:00Z'), + version: 0, + }, + ], + customViews: [], + profile: { + name: 'Test User', + email: 'test@example.com', + bio: 'Community admin and test user.', + avatarDocumentId: '', + interests: ['community-management', 'testing'], + showInterests: true, + showEmail: true, + showProfile: true, + showLocation: true, + showProperties: true, + }, + schemaVersion: '1.0.0', + version: 0, + createdAt: new Date('2024-02-01T00:00:00Z'), + updatedAt: new Date('2024-02-01T00:00:00Z'), + }, + { + _id: MEMBER_IDS.janeSmithMember, + memberName: 'Jane Smith', + community: COMMUNITY_IDS.riverside, + role: ROLE_IDS.member, + accounts: [ + { + _id: MEMBER_ACCOUNT_IDS.janeSmithAccount, + firstName: 'Jane', + lastName: 'Smith', + user: END_USER_IDS.janeSmith, + statusCode: 'ACCEPTED', + createdBy: END_USER_IDS.testUser, + createdAt: new Date('2024-02-15T00:00:00Z'), + updatedAt: new Date('2024-02-15T00:00:00Z'), + version: 0, + }, + ], + customViews: [], + profile: { + name: 'Jane Smith', + email: 'jane@example.com', + bio: 'Riverside community member.', + avatarDocumentId: '', + interests: ['gardening', 'community-events'], + showInterests: true, + showEmail: false, + showProfile: true, + showLocation: false, + showProperties: true, + }, + schemaVersion: '1.0.0', + version: 0, + createdAt: new Date('2024-02-15T00:00:00Z'), + updatedAt: new Date('2024-02-15T00:00:00Z'), + }, +] as unknown as Member[]; diff --git a/apps/server-mongodb-memory-mock/src/seed/properties.ts b/apps/server-mongodb-memory-mock/src/seed/properties.ts new file mode 100644 index 000000000..4b6343f22 --- /dev/null +++ b/apps/server-mongodb-memory-mock/src/seed/properties.ts @@ -0,0 +1,159 @@ +import type { Property } from '@ocom/data-sources-mongoose-models/property'; +import { COMMUNITY_IDS } from './communities.ts'; +import { MEMBER_IDS } from './members.ts'; + +const PROPERTY_IDS = { + mainStreet: 'e00000000000000000000001', + oakAvenue: 'e00000000000000000000002', +} as const; + +export const properties = [ + { + _id: PROPERTY_IDS.mainStreet, + community: COMMUNITY_IDS.riverside, + owner: MEMBER_IDS.testUserMember, + propertyName: '123 Main Street', + propertyType: 'Single Family', + listedForSale: false, + listedForRent: true, + listedForLease: false, + listedInDirectory: true, + location: { + position: { + type: 'Point', + coordinates: [-73.935242, 40.73061], + }, + address: { + streetNumber: '123', + streetName: 'Main Street', + municipality: 'Riverside', + municipalitySubdivision: '', + localName: 'Riverside', + countrySecondarySubdivision: 'Riverside County', + countryTertiarySubdivision: '', + countrySubdivision: 'NY', + countrySubdivisionName: 'New York', + postalCode: '10001', + extendedPostalCode: '', + countryCode: 'US', + country: 'United States', + countryCodeISO3: 'USA', + freeformAddress: '123 Main Street, Riverside, NY 10001', + streetNameAndNumber: '123 Main Street', + routeNumbers: '', + crossStreet: '', + }, + }, + listingDetail: { + price: 350000, + rentHigh: 2500, + rentLow: 2000, + lease: 12, + maxGuests: 4, + bedrooms: 3, + bedroomDetails: [], + bathrooms: 2, + squareFeet: 1800, + yearBuilt: 2005, + lotSize: 5000, + description: 'Spacious single family home in the heart of Riverside Community.', + amenities: ['parking', 'laundry', 'central-air'], + additionalAmenities: [], + images: [], + video: null, + floorPlan: null, + floorPlanImages: [], + listingAgent: null, + listingAgentPhone: null, + listingAgentEmail: null, + listingAgentWebsite: null, + listingAgentCompany: null, + listingAgentCompanyPhone: null, + listingAgentCompanyEmail: null, + listingAgentCompanyWebsite: null, + listingAgentCompanyAddress: null, + }, + tags: ['family-friendly', 'riverside'], + hash: null, + lastIndexed: null, + updateIndexFailedDate: null, + schemaVersion: '1.0.0', + version: 0, + createdAt: new Date('2024-03-01T00:00:00Z'), + updatedAt: new Date('2024-03-01T00:00:00Z'), + }, + { + _id: PROPERTY_IDS.oakAvenue, + community: COMMUNITY_IDS.riverside, + owner: MEMBER_IDS.janeSmithMember, + propertyName: '456 Oak Avenue', + propertyType: 'Townhouse', + listedForSale: true, + listedForRent: false, + listedForLease: false, + listedInDirectory: true, + location: { + position: { + type: 'Point', + coordinates: [-73.942, 40.735], + }, + address: { + streetNumber: '456', + streetName: 'Oak Avenue', + municipality: 'Riverside', + municipalitySubdivision: '', + localName: 'Riverside', + countrySecondarySubdivision: 'Riverside County', + countryTertiarySubdivision: '', + countrySubdivision: 'NY', + countrySubdivisionName: 'New York', + postalCode: '10002', + extendedPostalCode: '', + countryCode: 'US', + country: 'United States', + countryCodeISO3: 'USA', + freeformAddress: '456 Oak Avenue, Riverside, NY 10002', + streetNameAndNumber: '456 Oak Avenue', + routeNumbers: '', + crossStreet: '', + }, + }, + listingDetail: { + price: 275000, + rentHigh: null, + rentLow: null, + lease: null, + maxGuests: 2, + bedrooms: 2, + bedroomDetails: [], + bathrooms: 1, + squareFeet: 1200, + yearBuilt: 2010, + lotSize: 3000, + description: 'Modern townhouse with open floor plan and community garden access.', + amenities: ['garden-access', 'modern-kitchen'], + additionalAmenities: [], + images: [], + video: null, + floorPlan: null, + floorPlanImages: [], + listingAgent: null, + listingAgentPhone: null, + listingAgentEmail: null, + listingAgentWebsite: null, + listingAgentCompany: null, + listingAgentCompanyPhone: null, + listingAgentCompanyEmail: null, + listingAgentCompanyWebsite: null, + listingAgentCompanyAddress: null, + }, + tags: ['townhouse', 'modern'], + hash: null, + lastIndexed: null, + updateIndexFailedDate: null, + schemaVersion: '1.0.0', + version: 0, + createdAt: new Date('2024-03-15T00:00:00Z'), + updatedAt: new Date('2024-03-15T00:00:00Z'), + }, +] as unknown as Property[]; diff --git a/apps/server-mongodb-memory-mock/src/seed/roles.ts b/apps/server-mongodb-memory-mock/src/seed/roles.ts new file mode 100644 index 000000000..63d8cc283 --- /dev/null +++ b/apps/server-mongodb-memory-mock/src/seed/roles.ts @@ -0,0 +1,122 @@ +import type { EndUserRole } from '@ocom/data-sources-mongoose-models/role/end-user-role'; +import { COMMUNITY_IDS } from './communities.ts'; + +export const ROLE_IDS = { + admin: 'c00000000000000000000001', + member: 'c00000000000000000000002', +} as const; + +type EndUserRoleSeedPermissions = { + servicePermissions: { + canManageServices: boolean; + }; + serviceTicketPermissions: { + canCreateTickets: boolean; + canManageTickets: boolean; + canAssignTickets: boolean; + canWorkOnTickets: boolean; + }; + violationTicketPermissions: { + canCreateTickets: boolean; + canManageTickets: boolean; + canAssignTickets: boolean; + canWorkOnTickets: boolean; + }; + communityPermissions: { + canManageRolesAndPermissions: boolean; + canManageCommunitySettings: boolean; + canManageSiteContent: boolean; + canManageMembers: boolean; + canEditOwnMemberProfile: boolean; + canEditOwnMemberAccounts: boolean; + }; + propertyPermissions: { + canManageProperties: boolean; + canEditOwnProperty: boolean; + }; +}; + +const fullPermissions = { + servicePermissions: { + canManageServices: true, + }, + serviceTicketPermissions: { + canCreateTickets: true, + canManageTickets: true, + canAssignTickets: true, + canWorkOnTickets: true, + }, + violationTicketPermissions: { + canCreateTickets: true, + canManageTickets: true, + canAssignTickets: true, + canWorkOnTickets: true, + }, + communityPermissions: { + canManageRolesAndPermissions: true, + canManageCommunitySettings: true, + canManageSiteContent: true, + canManageMembers: true, + canEditOwnMemberProfile: true, + canEditOwnMemberAccounts: true, + }, + propertyPermissions: { + canManageProperties: true, + canEditOwnProperty: true, + }, +} satisfies EndUserRoleSeedPermissions; + +const basicPermissions = { + servicePermissions: { + canManageServices: false, + }, + serviceTicketPermissions: { + canCreateTickets: true, + canManageTickets: false, + canAssignTickets: false, + canWorkOnTickets: false, + }, + violationTicketPermissions: { + canCreateTickets: true, + canManageTickets: false, + canAssignTickets: false, + canWorkOnTickets: false, + }, + communityPermissions: { + canManageRolesAndPermissions: false, + canManageCommunitySettings: false, + canManageSiteContent: false, + canManageMembers: false, + canEditOwnMemberProfile: true, + canEditOwnMemberAccounts: true, + }, + propertyPermissions: { + canManageProperties: false, + canEditOwnProperty: true, + }, +} satisfies EndUserRoleSeedPermissions; + +export const endUserRoles = [ + { + _id: ROLE_IDS.admin, + roleType: 'end-user-roles', + community: COMMUNITY_IDS.riverside, + roleName: 'Admin', + isDefault: false, + permissions: fullPermissions, + schemaVersion: '1.0.0', + createdAt: new Date('2024-02-01T00:00:00Z'), + updatedAt: new Date('2024-02-01T00:00:00Z'), + }, + { + _id: ROLE_IDS.member, + roleType: 'end-user-roles', + community: COMMUNITY_IDS.riverside, + roleName: 'Member', + isDefault: true, + permissions: basicPermissions, + schemaVersion: '1.0.0', + createdAt: new Date('2024-02-01T00:00:00Z'), + updatedAt: new Date('2024-02-01T00:00:00Z'), + }, +] as unknown as EndUserRole[]; diff --git a/apps/server-mongodb-memory-mock/src/seed/seed.ts b/apps/server-mongodb-memory-mock/src/seed/seed.ts new file mode 100644 index 000000000..bc618a04a --- /dev/null +++ b/apps/server-mongodb-memory-mock/src/seed/seed.ts @@ -0,0 +1,89 @@ +import type { Community } from '@ocom/data-sources-mongoose-models/community'; +import type { Member } from '@ocom/data-sources-mongoose-models/member'; +import type { Property } from '@ocom/data-sources-mongoose-models/property'; +import type { EndUserRole } from '@ocom/data-sources-mongoose-models/role/end-user-role'; +import type { Service } from '@ocom/data-sources-mongoose-models/service'; +import type { EndUser } from '@ocom/data-sources-mongoose-models/user/end-user'; +import { ObjectId } from 'mongodb'; +import type { Connection } from 'mongoose'; +import { communities } from './communities.ts'; +import { endUsers } from './end-users.ts'; +import { members } from './members.ts'; +import { properties } from './properties.ts'; +import { endUserRoles } from './roles.ts'; +import { services } from './services.ts'; + +function toObjectId(id: string) { + return new ObjectId(id); +} + +async function upsertSeedDocuments(connection: Connection, collectionName: string, documents: Array & { _id: ObjectId }>) { + await connection.collection(collectionName).bulkWrite( + documents.map((document) => ({ + replaceOne: { + filter: { _id: document._id }, + replacement: document, + upsert: true, + }, + })), + ); +} + +export async function seedDatabase(connection: Connection): Promise { + const users = endUsers.map((u: EndUser) => ({ + ...u, + _id: toObjectId(u._id as string), + })); + await upsertSeedDocuments(connection, 'users', users); + console.log(` Seeded ${users.length} users`); + + const comms = communities.map((c: Community) => ({ + ...c, + _id: toObjectId(c._id as string), + createdBy: toObjectId(String(c.createdBy)), + })); + await upsertSeedDocuments(connection, 'communities', comms); + console.log(` Seeded ${comms.length} communities`); + + const roles = endUserRoles.map((r: EndUserRole) => ({ + ...r, + _id: toObjectId(r._id as string), + community: toObjectId(String(r.community)), + })); + await upsertSeedDocuments(connection, 'roles', roles); + console.log(` Seeded ${roles.length} roles`); + + const mems = members.map((m: Member) => ({ + ...m, + _id: toObjectId(m._id as string), + community: toObjectId(String(m.community)), + role: m.role ? toObjectId(String(m.role)) : undefined, + accounts: m.accounts.map((a) => ({ + ...a, + _id: toObjectId(String(a._id)), + user: toObjectId(String(a.user)), + createdBy: toObjectId(String(a.createdBy)), + })), + })); + await upsertSeedDocuments(connection, 'members', mems); + console.log(` Seeded ${mems.length} members`); + + const props = properties.map((p: Property) => ({ + ...p, + _id: toObjectId(p._id as string), + community: toObjectId(String(p.community)), + owner: p.owner ? toObjectId(String(p.owner)) : undefined, + })); + await upsertSeedDocuments(connection, 'properties', props); + console.log(` Seeded ${props.length} properties`); + + const svcs = services.map((s: Service) => ({ + ...s, + _id: toObjectId(s._id as string), + community: toObjectId(String(s.community)), + })); + await upsertSeedDocuments(connection, 'services', svcs); + console.log(` Seeded ${svcs.length} services`); + + console.log('Seeded mock MongoDB memory server with initial data.'); +} diff --git a/apps/server-mongodb-memory-mock/src/seed/services.ts b/apps/server-mongodb-memory-mock/src/seed/services.ts new file mode 100644 index 000000000..a6a037916 --- /dev/null +++ b/apps/server-mongodb-memory-mock/src/seed/services.ts @@ -0,0 +1,32 @@ +import type { Service } from '@ocom/data-sources-mongoose-models/service'; +import { COMMUNITY_IDS } from './communities.ts'; + +const SERVICE_IDS = { + lawnCare: 'f00000000000000000000001', + poolMaintenance: 'f00000000000000000000002', +} as const; + +export const services = [ + { + _id: SERVICE_IDS.lawnCare, + serviceName: 'Lawn Care', + description: 'Weekly lawn mowing, edging, and seasonal fertilization for community properties.', + isActive: true, + community: COMMUNITY_IDS.riverside, + schemaVersion: '1.0.0', + version: 0, + createdAt: new Date('2024-03-01T00:00:00Z'), + updatedAt: new Date('2024-03-01T00:00:00Z'), + }, + { + _id: SERVICE_IDS.poolMaintenance, + serviceName: 'Pool Maintenance', + description: 'Community pool cleaning, chemical balancing, and equipment inspection.', + isActive: true, + community: COMMUNITY_IDS.riverside, + schemaVersion: '1.0.0', + version: 0, + createdAt: new Date('2024-03-01T00:00:00Z'), + updatedAt: new Date('2024-03-01T00:00:00Z'), + }, +] as unknown as Service[]; diff --git a/apps/server-mongodb-memory-mock/src/setup-environment.ts b/apps/server-mongodb-memory-mock/src/setup-environment.ts index 62a5d7165..8e3d12d9c 100644 --- a/apps/server-mongodb-memory-mock/src/setup-environment.ts +++ b/apps/server-mongodb-memory-mock/src/setup-environment.ts @@ -1,6 +1,8 @@ import dotenv from 'dotenv'; export const setupEnvironment = () => { + console.log('Setting up environment variables'); dotenv.config(); dotenv.config({ path: '.env.local', override: true }); + console.log('Environment variables set up'); }; diff --git a/apps/ui-staff/src/contexts/theme-context.tsx b/apps/ui-staff/src/contexts/theme-context.tsx index b23f6c46e..0e511a0f4 100644 --- a/apps/ui-staff/src/contexts/theme-context.tsx +++ b/apps/ui-staff/src/contexts/theme-context.tsx @@ -1,4 +1,4 @@ -import { type StoredTheme } from '@cellix/ui-core'; +import type { StoredTheme } from '@cellix/ui-core'; import { Button, theme } from 'antd'; import type { SeedToken } from 'antd/lib/theme/interface/index.js'; import { createContext, type ReactNode, useCallback, useEffect, useState } from 'react'; diff --git a/packages/cellix/server-mongodb-memory-mock-seedwork/package.json b/packages/cellix/server-mongodb-memory-mock-seedwork/package.json index 3bc60d634..b9586f9ba 100644 --- a/packages/cellix/server-mongodb-memory-mock-seedwork/package.json +++ b/packages/cellix/server-mongodb-memory-mock-seedwork/package.json @@ -15,7 +15,8 @@ "format:check": "biome format ." }, "dependencies": { - "mongodb-memory-server": "^10.1.4" + "mongodb-memory-server": "catalog:", + "mongoose": "catalog:" }, "devDependencies": { "@cellix/config-typescript": "workspace:*", diff --git a/packages/cellix/server-mongodb-memory-mock-seedwork/src/index.ts b/packages/cellix/server-mongodb-memory-mock-seedwork/src/index.ts index dffd74aee..58f2108b6 100644 --- a/packages/cellix/server-mongodb-memory-mock-seedwork/src/index.ts +++ b/packages/cellix/server-mongodb-memory-mock-seedwork/src/index.ts @@ -1,4 +1,5 @@ import { MongoMemoryReplSet } from 'mongodb-memory-server'; +import mongoose from 'mongoose'; export interface MongoMemoryReplicaSetConfig { port: number; @@ -11,6 +12,15 @@ export interface MongoMemoryReplicaSetDisposer { stop: () => Promise; } +export interface MongoMemoryServerConfig { + port: number; + dbName: string; + replSetName: string; + binaryVersion?: string; + collectionsToSeed?: string[]; + seedDatabase?: (db: mongoose.Connection) => Promise; +} + export async function startMongoMemoryReplicaSet(config: MongoMemoryReplicaSetConfig): Promise<{ replicaSet: MongoMemoryReplSet; disposer: MongoMemoryReplicaSetDisposer }> { console.log('Starting MongoDB Memory Replica Set', { port: config.port, @@ -45,3 +55,34 @@ export async function startMongoMemoryReplicaSet(config: MongoMemoryReplicaSetCo return { replicaSet, disposer }; } + +export async function startMockMongoDB(config: MongoMemoryServerConfig) { + try { + const { replicaSet } = await startMongoMemoryReplicaSet(config); + const uri = replicaSet.getUri(config.dbName); + const conn = await mongoose.connect(uri); + + if (config.collectionsToSeed && config.seedDatabase) { + console.log('Checking for required collections:', config.collectionsToSeed); + while (true) { + const { db } = conn.connection; + if (!db) { + throw new Error('Mongoose connection has no db instance'); + } + const collections = (await db.listCollections().toArray()).map((c) => c.name); + + if (config.collectionsToSeed.every((name) => collections.includes(name))) { + break; + } + + await new Promise((res) => setTimeout(res, 200)); + } + console.log('All required collections exist, begin seeding.'); + await config.seedDatabase(conn.connection); + console.log('Seeding complete.'); + } + } catch (err) { + console.error('Error starting or seeding MongoDB Memory Replica Set:', err); + process.exit(1); + } +} diff --git a/packages/cellix/server-oauth2-mock-seedwork/package.json b/packages/cellix/server-oauth2-mock-seedwork/package.json index 68da0838b..19742fce8 100644 --- a/packages/cellix/server-oauth2-mock-seedwork/package.json +++ b/packages/cellix/server-oauth2-mock-seedwork/package.json @@ -25,8 +25,8 @@ "devDependencies": { "@cellix/config-typescript": "workspace:*", "@cellix/config-vitest": "workspace:*", - "@vitest/coverage-istanbul": "catalog:", "@types/express": "^5.0.3", + "@vitest/coverage-istanbul": "catalog:", "rimraf": "catalog:", "typescript": "catalog:", "vitest": "catalog:" diff --git a/packages/ocom-verification/acceptance-api/src/step-definitions/index.ts b/packages/ocom-verification/acceptance-api/src/step-definitions/index.ts index 55194db74..cba25d6cc 100644 --- a/packages/ocom-verification/acceptance-api/src/step-definitions/index.ts +++ b/packages/ocom-verification/acceptance-api/src/step-definitions/index.ts @@ -5,4 +5,4 @@ import '../contexts/community/step-definitions/index.ts'; import '../contexts/authentication/step-definitions/index.ts'; -import '../contexts/staff/step-definitions/index.ts'; \ No newline at end of file +import '../contexts/staff/step-definitions/index.ts'; diff --git a/packages/ocom/application-services/src/contexts/user/staff-role/create-default-roles.ts b/packages/ocom/application-services/src/contexts/user/staff-role/create-default-roles.ts index ee8426a2e..a530e9346 100644 --- a/packages/ocom/application-services/src/contexts/user/staff-role/create-default-roles.ts +++ b/packages/ocom/application-services/src/contexts/user/staff-role/create-default-roles.ts @@ -44,4 +44,4 @@ export const createDefaultRoles = (dataSources: DataSources) => { return created; }; -}; \ No newline at end of file +}; diff --git a/packages/ocom/application-services/src/contexts/user/staff-user/create-if-not-exists.test.ts b/packages/ocom/application-services/src/contexts/user/staff-user/create-if-not-exists.test.ts index 573d541b9..bf7506839 100644 --- a/packages/ocom/application-services/src/contexts/user/staff-user/create-if-not-exists.test.ts +++ b/packages/ocom/application-services/src/contexts/user/staff-user/create-if-not-exists.test.ts @@ -55,7 +55,7 @@ interface MockStaffUserInstance extends Domain.Contexts.User.StaffUser.StaffUser } function makeMockNewUser(externalId: string): MockStaffUserInstance { - let _role: Domain.Contexts.User.StaffRole.StaffRoleEntityReference | undefined = undefined; + let _role: Domain.Contexts.User.StaffRole.StaffRoleEntityReference | undefined; return { id: `new-id-${externalId}`, externalId, diff --git a/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role-community-permissions.ts b/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role-community-permissions.ts index fbc58c0dc..c93265029 100644 --- a/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role-community-permissions.ts +++ b/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role-community-permissions.ts @@ -1,6 +1,6 @@ -import { ValueObject } from '@cellix/domain-seedwork/value-object'; import { PermissionError } from '@cellix/domain-seedwork/domain-entity'; import type { ValueObjectProps } from '@cellix/domain-seedwork/value-object'; +import { ValueObject } from '@cellix/domain-seedwork/value-object'; import type { UserVisa } from '../user.visa.ts'; interface StaffRoleCommunityPermissionsSpec { diff --git a/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.test.ts b/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.test.ts index 5b4c620fe..28fe19c9d 100644 --- a/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.test.ts +++ b/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.test.ts @@ -361,10 +361,7 @@ test.for(feature, ({ Scenario, Background, BeforeEachScenario }) => { Scenario('Creating a default tech admin role', ({ When, Then, And }) => { let techAdminRole: StaffRole; When('I create a default tech admin staff role', () => { - techAdminRole = StaffRole.getNewDefaultTechAdminInstance( - makeBaseProps({ permissions: makePermissionsProps() }), - passport, - ); + techAdminRole = StaffRole.getNewDefaultTechAdminInstance(makeBaseProps({ permissions: makePermissionsProps() }), passport); }); Then('the roleName should be "Default Tech Admin"', () => { expect(techAdminRole.roleName).toBe('Default Tech Admin'); diff --git a/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.ts b/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.ts index de28bea83..b915aeccc 100644 --- a/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.ts +++ b/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.ts @@ -1,6 +1,6 @@ -import { PermissionError } from '@cellix/domain-seedwork/domain-entity'; import { AggregateRoot } from '@cellix/domain-seedwork/aggregate-root'; import type { DomainEntityProps } from '@cellix/domain-seedwork/domain-entity'; +import { PermissionError } from '@cellix/domain-seedwork/domain-entity'; import { RoleDeletedReassignEvent, type RoleDeletedReassignProps } from '../../../events/types/role-deleted-reassign.ts'; import type { Passport } from '../../passport.ts'; import type { UserVisa } from '../user.visa.ts'; diff --git a/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.value-objects.ts b/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.value-objects.ts index 653a9d0f2..950cfca76 100644 --- a/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.value-objects.ts +++ b/packages/ocom/domain/src/domain/contexts/user/staff-role/staff-role.value-objects.ts @@ -1,4 +1,4 @@ -import { VOString, VOSet } from '@lucaspaganini/value-objects'; +import { VOSet, VOString } from '@lucaspaganini/value-objects'; export class RoleName extends VOString({ trim: true, @@ -13,4 +13,4 @@ export const EnterpriseAppRoleNames = { TechAdmin: 'Staff.TechAdmin', } as const; -export class EnterpriseAppRole extends VOSet(Object.values(EnterpriseAppRoleNames)) {} \ No newline at end of file +export class EnterpriseAppRole extends VOSet(Object.values(EnterpriseAppRoleNames)) {} diff --git a/packages/ocom/domain/tests/acceptance/step-definitions/community-management.steps.ts b/packages/ocom/domain/tests/acceptance/step-definitions/community-management.steps.ts index 02f8003d9..18b7918c7 100644 --- a/packages/ocom/domain/tests/acceptance/step-definitions/community-management.steps.ts +++ b/packages/ocom/domain/tests/acceptance/step-definitions/community-management.steps.ts @@ -1,13 +1,12 @@ +import assert from 'node:assert'; import { Given, setWorldConstructor, Then, When } from '@cucumber/cucumber'; import type { Actor } from '@serenity-js/core'; -import assert from 'node:assert'; import type { Community, CommunityProps } from '../../../src/domain/contexts/community/community/community.ts'; -import type { EndUserEntityReference } from '../../../src/domain/contexts/user/end-user/end-user.ts'; import type { Passport } from '../../../src/domain/contexts/passport.ts'; -import { createMockPassport, generateStringOfLength } from '../support/community-test-utils.ts'; - +import type { EndUserEntityReference } from '../../../src/domain/contexts/user/end-user/end-user.ts'; // Import Screenplay pattern components -import { Actors, CommunityManagementCast, ManageCommunities, CommunityManagement, CommunityState, CommunityCreationResults } from '../screenplay/index.ts'; +import { Actors, CommunityCreationResults, CommunityManagement, CommunityManagementCast, CommunityState, ManageCommunities } from '../screenplay/index.ts'; +import { createMockPassport, generateStringOfLength } from '../support/community-test-utils.ts'; /** * Serenity-enhanced World class that maintains state between steps diff --git a/packages/ocom/domain/tests/acceptance/step-definitions/member-management.steps.ts b/packages/ocom/domain/tests/acceptance/step-definitions/member-management.steps.ts index 7db4ce15d..dd356a366 100644 --- a/packages/ocom/domain/tests/acceptance/step-definitions/member-management.steps.ts +++ b/packages/ocom/domain/tests/acceptance/step-definitions/member-management.steps.ts @@ -1,11 +1,12 @@ -import { Before, Given, Then, When } from '@cucumber/cucumber'; import assert from 'node:assert'; +import { Before, Given, Then, When } from '@cucumber/cucumber'; +import type { MemberProps } from '../../../src/domain/contexts/community/member/member.ts'; import { Member } from '../../../src/domain/contexts/community/member/member.ts'; +import type { Passport } from '../../../src/domain/contexts/passport.ts'; import { MemberActivatedEvent } from '../../../src/domain/events/types/member-activated.ts'; import { MemberRemovedEvent } from '../../../src/domain/events/types/member-removed.ts'; -import type { Passport } from '../../../src/domain/contexts/passport.ts'; -import type { MemberProps } from '../../../src/domain/contexts/community/member/member.ts'; import { createMemberProps, createMockPassport } from '../support/member-test-utils.ts'; + let passport: Passport; let member: Member; diff --git a/packages/ocom/domain/tests/acceptance/step-definitions/staff-user-management.steps.ts b/packages/ocom/domain/tests/acceptance/step-definitions/staff-user-management.steps.ts index bf31018f1..57fd54ea9 100644 --- a/packages/ocom/domain/tests/acceptance/step-definitions/staff-user-management.steps.ts +++ b/packages/ocom/domain/tests/acceptance/step-definitions/staff-user-management.steps.ts @@ -1,11 +1,11 @@ -import { Before, Given, Then, When } from '@cucumber/cucumber'; import assert from 'node:assert'; +import { Before, Given, Then, When } from '@cucumber/cucumber'; import type { Passport } from '../../../src/domain/contexts/passport.ts'; -import { StaffRole } from '../../../src/domain/contexts/user/staff-role/staff-role.ts'; import type { StaffRoleProps } from '../../../src/domain/contexts/user/staff-role/staff-role.ts'; +import { StaffRole } from '../../../src/domain/contexts/user/staff-role/staff-role.ts'; +import type { StaffUserProps } from '../../../src/domain/contexts/user/staff-user/staff-user.ts'; import { StaffUser } from '../../../src/domain/contexts/user/staff-user/staff-user.ts'; import { StaffUserCreatedEvent } from '../../../src/domain/events/types/staff-user-created.ts'; -import type { StaffUserProps } from '../../../src/domain/contexts/user/staff-user/staff-user.ts'; import { createAuthorizingStaffRoleProps, createMockPassport, createStaffUserProps } from '../support/staff-user-test-utils.ts'; type DefaultRoleKey = 'case manager' | 'service line owner' | 'finance' | 'tech admin'; @@ -90,13 +90,7 @@ Then('the assigned role should be default', () => { Then( 'the assigned role permissions should be communities {word}, staff roles {word}, finance {word}, tech admin {word}, users {word}', - ( - canManageCommunities: string, - canManageStaffRolesAndPermissions: string, - canManageFinance: string, - canManageTechAdmin: string, - canManageUsers: string, - ) => { + (canManageCommunities: string, canManageStaffRolesAndPermissions: string, canManageFinance: string, canManageTechAdmin: string, canManageUsers: string) => { assert.strictEqual(assignedRole.permissions.communityPermissions.canManageCommunities, canManageCommunities === 'true'); assert.strictEqual(assignedRole.permissions.communityPermissions.canManageStaffRolesAndPermissions, canManageStaffRolesAndPermissions === 'true'); assert.strictEqual(assignedRole.permissions.financePermissions.canManageFinance, canManageFinance === 'true'); diff --git a/packages/ocom/domain/tests/acceptance/support/member-test-utils.ts b/packages/ocom/domain/tests/acceptance/support/member-test-utils.ts index 211ffa49c..77a40e72f 100644 --- a/packages/ocom/domain/tests/acceptance/support/member-test-utils.ts +++ b/packages/ocom/domain/tests/acceptance/support/member-test-utils.ts @@ -1,9 +1,9 @@ import type { CommunityEntityReference } from '../../../src/domain/contexts/community/community/community.ts'; -import type { EndUserRoleEntityReference } from '../../../src/domain/contexts/community/role/end-user-role/end-user-role.ts'; +import type { MemberProps } from '../../../src/domain/contexts/community/member/member.ts'; import type { MemberAccountProps } from '../../../src/domain/contexts/community/member/member-account.ts'; import type { MemberCustomViewProps } from '../../../src/domain/contexts/community/member/member-custom-view.ts'; import type { MemberProfileProps } from '../../../src/domain/contexts/community/member/member-profile.ts'; -import type { MemberProps } from '../../../src/domain/contexts/community/member/member.ts'; +import type { EndUserRoleEntityReference } from '../../../src/domain/contexts/community/role/end-user-role/end-user-role.ts'; import type { Passport } from '../../../src/domain/contexts/passport.ts'; type MemberPermissions = { @@ -90,7 +90,7 @@ export function createMemberProps(accountStatusCode: string = 'CREATED'): Member cybersourceCustomerId: 'customer-1', communityId: 'community-1', community: { id: 'community-1' } as CommunityEntityReference, - loadCommunity: async () => ({ id: 'community-1' } as CommunityEntityReference), + loadCommunity: async () => ({ id: 'community-1' }) as CommunityEntityReference, accounts: createPropArray([accountProps], () => ({ id: 'account-new', firstName: 'New', @@ -100,7 +100,7 @@ export function createMemberProps(accountStatusCode: string = 'CREATED'): Member createdBy: { id: 'creator-new' } as never, })), role: { id: 'role-1' } as EndUserRoleEntityReference, - loadRole: async () => ({ id: 'role-1' } as EndUserRoleEntityReference), + loadRole: async () => ({ id: 'role-1' }) as EndUserRoleEntityReference, customViews: createPropArray([customViewProps], () => ({ id: 'custom-view-new', name: 'New View', diff --git a/packages/ocom/domain/tests/acceptance/support/staff-user-test-utils.ts b/packages/ocom/domain/tests/acceptance/support/staff-user-test-utils.ts index 938f1c417..2210cb1b8 100644 --- a/packages/ocom/domain/tests/acceptance/support/staff-user-test-utils.ts +++ b/packages/ocom/domain/tests/acceptance/support/staff-user-test-utils.ts @@ -9,7 +9,9 @@ type StaffUserPermissions = { function createVisa(permissions: StaffUserPermissions) { return { - determineIf: (fn: (value: { canManageEndUsers: boolean; canManageStaffRolesAndPermissions: boolean; canManageStaffUsers: boolean; canManageVendorUsers: boolean; isEditingOwnAccount: boolean; isSystemAccount: boolean }) => boolean) => + determineIf: ( + fn: (value: { canManageEndUsers: boolean; canManageStaffRolesAndPermissions: boolean; canManageStaffUsers: boolean; canManageVendorUsers: boolean; isEditingOwnAccount: boolean; isSystemAccount: boolean }) => boolean, + ) => fn({ canManageEndUsers: false, canManageStaffRolesAndPermissions: permissions.canManageStaffRolesAndPermissions ?? true, diff --git a/packages/ocom/persistence/src/datasources/domain/user/staff-role/staff-role.domain-adapter.test.ts b/packages/ocom/persistence/src/datasources/domain/user/staff-role/staff-role.domain-adapter.test.ts index a4566488b..993ae4954 100644 --- a/packages/ocom/persistence/src/datasources/domain/user/staff-role/staff-role.domain-adapter.test.ts +++ b/packages/ocom/persistence/src/datasources/domain/user/staff-role/staff-role.domain-adapter.test.ts @@ -1,23 +1,24 @@ import path from 'node:path'; import { fileURLToPath } from 'node:url'; import { describeFeature, loadFeature } from '@amiceli/vitest-cucumber'; -import { expect, vi } from 'vitest'; -import { Domain } from '@ocom/domain'; import type { StaffRole } from '@ocom/data-sources-mongoose-models/role/staff-role'; +import { Domain } from '@ocom/domain'; +import { expect, vi } from 'vitest'; const test = { for: describeFeature }; + import { + StaffRoleCommunityPermissionsAdapter, StaffRoleConverter, StaffRoleDomainAdapter, + StaffRoleFinancePermissionsAdapter, StaffRolePermissionsAdapter, - StaffRoleCommunityPermissionsAdapter, StaffRolePropertyPermissionsAdapter, StaffRoleServicePermissionsAdapter, StaffRoleServiceTicketPermissionsAdapter, - StaffRoleViolationTicketPermissionsAdapter, - StaffRoleFinancePermissionsAdapter, StaffRoleTechAdminPermissionsAdapter, StaffRoleUserPermissionsAdapter, + StaffRoleViolationTicketPermissionsAdapter, } from './staff-role.domain-adapter.ts'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/packages/ocom/persistence/src/datasources/domain/user/staff-role/staff-role.repository.ts b/packages/ocom/persistence/src/datasources/domain/user/staff-role/staff-role.repository.ts index 4cf3379e0..cf7e555f3 100644 --- a/packages/ocom/persistence/src/datasources/domain/user/staff-role/staff-role.repository.ts +++ b/packages/ocom/persistence/src/datasources/domain/user/staff-role/staff-role.repository.ts @@ -1,8 +1,7 @@ import { MongooseSeedwork } from '@cellix/mongoose-seedwork'; - +import type { StaffRole } from '@ocom/data-sources-mongoose-models/role/staff-role'; import { Domain } from '@ocom/domain'; import type { StaffRoleDomainAdapter } from './staff-role.domain-adapter.ts'; -import type { StaffRole } from '@ocom/data-sources-mongoose-models/role/staff-role'; type StaffRoleModelType = StaffRole; type AdapterType = StaffRoleDomainAdapter; diff --git a/packages/ocom/persistence/src/datasources/readonly/user/staff-user/staff-user.read-repository.test.ts b/packages/ocom/persistence/src/datasources/readonly/user/staff-user/staff-user.read-repository.test.ts index c317f0709..f12d6498b 100644 --- a/packages/ocom/persistence/src/datasources/readonly/user/staff-user/staff-user.read-repository.test.ts +++ b/packages/ocom/persistence/src/datasources/readonly/user/staff-user/staff-user.read-repository.test.ts @@ -1,14 +1,14 @@ import path from 'node:path'; import { fileURLToPath } from 'node:url'; import { describeFeature, loadFeature } from '@amiceli/vitest-cucumber'; -import { expect, vi } from 'vitest'; +import type { StaffUser, StaffUserModelType } from '@ocom/data-sources-mongoose-models/user/staff-user'; import type { Domain } from '@ocom/domain'; -import type { StaffUser, StaffUserModelType } from '@ocom/data-sources-mongoose-models/user/staff-user'; +import { expect, vi } from 'vitest'; import type { ModelsContext } from '../../../../index.ts'; import { StaffUserConverter } from '../../../domain/user/staff-user/staff-user.domain-adapter.ts'; -import { getStaffUserReadRepository } from './staff-user.read-repository.ts'; import type { StaffUserReadRepository } from './staff-user.read-repository.ts'; +import { getStaffUserReadRepository } from './staff-user.read-repository.ts'; const test = { for: describeFeature }; diff --git a/packages/ocom/service-token-validation/src/index.test.ts b/packages/ocom/service-token-validation/src/index.test.ts index 203525c8e..166f8f461 100644 --- a/packages/ocom/service-token-validation/src/index.test.ts +++ b/packages/ocom/service-token-validation/src/index.test.ts @@ -1,9 +1,9 @@ import path from 'node:path'; import { fileURLToPath } from 'node:url'; import { describeFeature, loadFeature } from '@amiceli/vitest-cucumber'; -import { expect, vi, afterEach, type Mock } from 'vitest'; -import { VerifiedTokenService } from './verified-token-service.ts'; +import { afterEach, expect, type Mock, vi } from 'vitest'; import { ServiceTokenValidation } from './index.ts'; +import { VerifiedTokenService } from './verified-token-service.ts'; // Mock VerifiedTokenService diff --git a/packages/ocom/ui-community-route-accounts/src/components/community-list.tsx b/packages/ocom/ui-community-route-accounts/src/components/community-list.tsx index 901ed7afc..aac337ff8 100644 --- a/packages/ocom/ui-community-route-accounts/src/components/community-list.tsx +++ b/packages/ocom/ui-community-route-accounts/src/components/community-list.tsx @@ -119,12 +119,12 @@ export const CommunityList: React.FC = (props) => {

Navigate to a Community

- +
= (pr const { data: membersData, loading: membersLoading, error: membersError } = useQuery(AdminSectionLayoutContainerMembersForCurrentEndUserDocument); - return ( = { component: SectionLayout, decorators: [ (Story) => ( - + = (props) => { - const { data: staffUserData, loading: staffUserLoading, error: staffUserError } = useQuery( - SectionLayoutHeaderCurrentStaffUserDocument, - { - fetchPolicy: 'cache-first', - }, - ); + const { + data: staffUserData, + loading: staffUserLoading, + error: staffUserError, + } = useQuery(SectionLayoutHeaderCurrentStaffUserDocument, { + fetchPolicy: 'cache-first', + }); const displayName = staffUserData?.currentStaffUserAndCreateIfNotExists?.displayName; @@ -47,4 +48,3 @@ export const SectionLayoutContainer: React.FC = (pr /> ); }; - diff --git a/packages/ocom/ui-staff-shared/src/section-layout.stories.tsx b/packages/ocom/ui-staff-shared/src/section-layout.stories.tsx index f2d05c4cb..541a668ba 100644 --- a/packages/ocom/ui-staff-shared/src/section-layout.stories.tsx +++ b/packages/ocom/ui-staff-shared/src/section-layout.stories.tsx @@ -216,7 +216,12 @@ describe('SectionLayout with displayName prop', () => { } + element={ + + } /> @@ -275,7 +280,12 @@ describe('SectionLayout with displayName prop', () => { } + element={ + + } /> diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1d1c2934c..9574888a3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -75,6 +75,9 @@ catalogs: mongodb: specifier: 6.18.0 version: 6.18.0 + mongodb-memory-server: + specifier: ^10.1.4 + version: 10.3.0 mongoose: specifier: 8.17.0 version: 8.17.0 @@ -85,8 +88,8 @@ catalogs: specifier: ^19.1.1 version: 19.2.0 react-router-dom: - specifier: 7.12.0 - version: 7.12.0 + specifier: 7.15.0 + version: 7.15.0 rimraf: specifier: 6.0.1 version: 6.0.1 @@ -319,14 +322,14 @@ importers: apps/docs: dependencies: '@docusaurus/core': - specifier: 3.9.2 - version: 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + specifier: 3.10.1 + version: 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) '@docusaurus/plugin-content-docs': - specifier: ^3.9.2 - version: 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + specifier: ^3.10.1 + version: 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) '@docusaurus/preset-classic': - specifier: 3.9.2 - version: 3.9.2(@algolia/client-search@5.45.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@6.0.3) + specifier: 3.10.1 + version: 3.10.1(@algolia/client-search@5.45.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@6.0.3) '@mdx-js/react': specifier: ^3.0.0 version: 3.1.1(@types/react@19.2.7)(react@19.2.0) @@ -350,14 +353,14 @@ importers: specifier: workspace:* version: link:../../packages/cellix/config-vitest '@docusaurus/module-type-aliases': - specifier: 3.9.2 - version: 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + specifier: 3.10.1 + version: 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@docusaurus/tsconfig': - specifier: 3.9.2 - version: 3.9.2 + specifier: 3.10.1 + version: 3.10.1 '@docusaurus/types': - specifier: 3.9.2 - version: 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + specifier: 3.10.1 + version: 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@testing-library/jest-dom': specifier: ^6.6.3 version: 6.9.1 @@ -391,9 +394,18 @@ importers: '@cellix/server-mongodb-memory-mock-seedwork': specifier: workspace:* version: link:../../packages/cellix/server-mongodb-memory-mock-seedwork + '@ocom/data-sources-mongoose-models': + specifier: workspace:* + version: link:../../packages/ocom/data-sources-mongoose-models dotenv: specifier: ^16.4.5 version: 16.6.1 + mongodb: + specifier: 'catalog:' + version: 6.18.0 + mongoose: + specifier: 'catalog:' + version: 8.17.0 devDependencies: '@cellix/config-typescript': specifier: workspace:* @@ -485,7 +497,7 @@ importers: version: 3.3.0(oidc-client-ts@3.4.1)(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@cellix/config-typescript': specifier: workspace:* @@ -615,7 +627,7 @@ importers: version: 3.3.0(oidc-client-ts@3.4.1)(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@cellix/config-typescript': specifier: workspace:* @@ -897,8 +909,11 @@ importers: packages/cellix/server-mongodb-memory-mock-seedwork: dependencies: mongodb-memory-server: - specifier: ^10.1.4 + specifier: 'catalog:' version: 10.3.0 + mongoose: + specifier: 'catalog:' + version: 8.17.0 devDependencies: '@cellix/config-typescript': specifier: workspace:* @@ -1012,7 +1027,7 @@ importers: version: 3.3.0(oidc-client-ts@3.4.1)(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) rimraf: specifier: 'catalog:' version: 6.0.1 @@ -1831,7 +1846,7 @@ importers: version: 3.3.0(oidc-client-ts@3.4.1)(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@cellix/archunit-tests': specifier: workspace:* @@ -1925,7 +1940,7 @@ importers: version: 19.2.0(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@cellix/archunit-tests': specifier: workspace:* @@ -2077,7 +2092,7 @@ importers: version: 19.2.0(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@ant-design/icons': specifier: 'catalog:' @@ -2159,7 +2174,7 @@ importers: version: 3.3.0(oidc-client-ts@3.4.1)(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@cellix/archunit-tests': specifier: workspace:* @@ -2241,7 +2256,7 @@ importers: version: 19.2.0(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@cellix/config-typescript': specifier: workspace:* @@ -2284,7 +2299,7 @@ importers: version: 19.2.0(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@cellix/config-typescript': specifier: workspace:* @@ -2370,7 +2385,7 @@ importers: version: 19.2.0(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@cellix/config-typescript': specifier: workspace:* @@ -2416,7 +2431,7 @@ importers: version: 19.2.0(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@cellix/config-typescript': specifier: workspace:* @@ -2471,7 +2486,7 @@ importers: version: 19.2.0(react@19.2.0) react-router-dom: specifier: 'catalog:' - version: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + version: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) devDependencies: '@cellix/config-typescript': specifier: workspace:* @@ -3472,10 +3487,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime-corejs3@7.28.4': - resolution: {integrity: sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==} - engines: {node: '>=6.9.0'} - '@babel/runtime@7.28.4': resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} @@ -3488,10 +3499,6 @@ packages: resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.5': - resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} - engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.0': resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} engines: {node: '>=6.9.0'} @@ -4003,12 +4010,12 @@ packages: search-insights: optional: true - '@docusaurus/babel@3.9.2': - resolution: {integrity: sha512-GEANdi/SgER+L7Japs25YiGil/AUDnFFHaCGPBbundxoWtCkA2lmy7/tFmgED4y1htAy6Oi4wkJEQdGssnw9MA==} + '@docusaurus/babel@3.10.1': + resolution: {integrity: sha512-DZzFO1K3v/GoEt1fx1DiYHF4en+PuhtQf1AkQJa5zu3CoeKSpr5cpQRUlz3jr0m44wyzmSXu9bVpfir+N4+8bg==} engines: {node: '>=20.0'} - '@docusaurus/bundler@3.9.2': - resolution: {integrity: sha512-ZOVi6GYgTcsZcUzjblpzk3wH1Fya2VNpd5jtHoCCFcJlMQ1EYXZetfAnRHLcyiFeBABaI1ltTYbOBtH/gahGVA==} + '@docusaurus/bundler@3.10.1': + resolution: {integrity: sha512-HIqQPvbqnnQRe4NsBd1774KRarjXqS6wHsWELtyuSs1gCfvixJO2jUGH/OEBtr1Gvzpw+ze5CjGMvSJ8UE1KUw==} engines: {node: '>=20.0'} peerDependencies: '@docusaurus/faster': '*' @@ -4016,106 +4023,110 @@ packages: '@docusaurus/faster': optional: true - '@docusaurus/core@3.9.2': - resolution: {integrity: sha512-HbjwKeC+pHUFBfLMNzuSjqFE/58+rLVKmOU3lxQrpsxLBOGosYco/Q0GduBb0/jEMRiyEqjNT/01rRdOMWq5pw==} + '@docusaurus/core@3.10.1': + resolution: {integrity: sha512-3pf2fXXw0eVk8WnC3T4LIigRDupcpvngpKo9Vy7mYyBhuddc0klDUuZAIfzMoK6z05pdlk6EFC/vBSX43+1O5w==} engines: {node: '>=20.0'} hasBin: true peerDependencies: + '@docusaurus/faster': '*' '@mdx-js/react': ^3.0.0 react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@docusaurus/faster': + optional: true - '@docusaurus/cssnano-preset@3.9.2': - resolution: {integrity: sha512-8gBKup94aGttRduABsj7bpPFTX7kbwu+xh3K9NMCF5K4bWBqTFYW+REKHF6iBVDHRJ4grZdIPbvkiHd/XNKRMQ==} + '@docusaurus/cssnano-preset@3.10.1': + resolution: {integrity: sha512-eNfHGcTKCSq6xmcavAkX3RRclHaE2xRCMParlDXLdXVP01/a2e/jKXMj/0ULnLFQSNwwuI62L0Ge8J+nZsR7UQ==} engines: {node: '>=20.0'} - '@docusaurus/logger@3.9.2': - resolution: {integrity: sha512-/SVCc57ByARzGSU60c50rMyQlBuMIJCjcsJlkphxY6B0GV4UH3tcA1994N8fFfbJ9kX3jIBe/xg3XP5qBtGDbA==} + '@docusaurus/logger@3.10.1': + resolution: {integrity: sha512-oPjNFnfJsRCkePVjkGrxWGq4MvJKRQT0r9jOP0eRBTZ7Wr9FAbzdP/Gjs0I2Ss6YRkPoEgygKG112OkE6skvJw==} engines: {node: '>=20.0'} - '@docusaurus/mdx-loader@3.9.2': - resolution: {integrity: sha512-wiYoGwF9gdd6rev62xDU8AAM8JuLI/hlwOtCzMmYcspEkzecKrP8J8X+KpYnTlACBUUtXNJpSoCwFWJhLRevzQ==} + '@docusaurus/mdx-loader@3.10.1': + resolution: {integrity: sha512-GRmeb/wQ+iXRrFwcHBfgQhrJxGElgCsoTWZYDhccjsZVne1p8MK/EpQVIloXttz76TCe78kKD5AEG9n1xc1oxQ==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/module-type-aliases@3.9.2': - resolution: {integrity: sha512-8qVe2QA9hVLzvnxP46ysuofJUIc/yYQ82tvA/rBTrnpXtCjNSFLxEZfd5U8cYZuJIVlkPxamsIgwd5tGZXfvew==} + '@docusaurus/module-type-aliases@3.10.1': + resolution: {integrity: sha512-YoOZKUdGlp8xSYhuAkGdSo5Ydkbq4V4eK3sD8v0a2hloxCWdQbNBhkc+Ko9QyjpESc0BYcIGM5iHVAy5hdFV6w==} peerDependencies: react: '*' react-dom: '*' - '@docusaurus/plugin-content-blog@3.9.2': - resolution: {integrity: sha512-3I2HXy3L1QcjLJLGAoTvoBnpOwa6DPUa3Q0dMK19UTY9mhPkKQg/DYhAGTiBUKcTR0f08iw7kLPqOhIgdV3eVQ==} + '@docusaurus/plugin-content-blog@3.10.1': + resolution: {integrity: sha512-mmkgE6Q2+K74tnkou7tXlpDLvoCU/qkSa2GSQ3XUiHWvcebCoDQzS670RR3tO8PmaWlIyWWISYWzZLuMfxunRA==} engines: {node: '>=20.0'} peerDependencies: '@docusaurus/plugin-content-docs': '*' react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/plugin-content-docs@3.9.2': - resolution: {integrity: sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==} + '@docusaurus/plugin-content-docs@3.10.1': + resolution: {integrity: sha512-2jRVrtzjf8LClGTHQlwlwuD3wQXRx3WEoF7XUarJ8Ou+0onV+SLtejsyfY9JLpfUh9hPhXM4pbBGkyAY4Bi3HQ==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/plugin-content-pages@3.9.2': - resolution: {integrity: sha512-s4849w/p4noXUrGpPUF0BPqIAfdAe76BLaRGAGKZ1gTDNiGxGcpsLcwJ9OTi1/V8A+AzvsmI9pkjie2zjIQZKA==} + '@docusaurus/plugin-content-pages@3.10.1': + resolution: {integrity: sha512-huJpaRPMl42nsFwuCXvV8bVDj2MazuwRJIUylI/RSlmZeJssVoZXeCjVf1y+1Drtpa9SKcdGn8yoJ76IRJijtw==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/plugin-css-cascade-layers@3.9.2': - resolution: {integrity: sha512-w1s3+Ss+eOQbscGM4cfIFBlVg/QKxyYgj26k5AnakuHkKxH6004ZtuLe5awMBotIYF2bbGDoDhpgQ4r/kcj4rQ==} + '@docusaurus/plugin-css-cascade-layers@3.10.1': + resolution: {integrity: sha512-r//fn+MNHkE1wCof8T29VAQezt1enGCpsFxoziBbvLgBM4JfXN2P3rxrBaavHmvLvm7lYkpJeitcDthwnmWCTw==} engines: {node: '>=20.0'} - '@docusaurus/plugin-debug@3.9.2': - resolution: {integrity: sha512-j7a5hWuAFxyQAkilZwhsQ/b3T7FfHZ+0dub6j/GxKNFJp2h9qk/P1Bp7vrGASnvA9KNQBBL1ZXTe7jlh4VdPdA==} + '@docusaurus/plugin-debug@3.10.1': + resolution: {integrity: sha512-9KqOpKNfAyqGZykRb9LhIT/vyRF6sm/ykhjj/39JvaJahDS+jZJE0Z1Wfz9q3DUNDTMNN0Q7u/kk4rKKU+IJuA==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/plugin-google-analytics@3.9.2': - resolution: {integrity: sha512-mAwwQJ1Us9jL/lVjXtErXto4p4/iaLlweC54yDUK1a97WfkC6Z2k5/769JsFgwOwOP+n5mUQGACXOEQ0XDuVUw==} + '@docusaurus/plugin-google-analytics@3.10.1': + resolution: {integrity: sha512-8o0P1KtmgdYQHH+oInitPpRWI0Of5XednAX4+DMhQNSmGSRNrsEEHg1ebv35m9AgRClfAytCJ5jA9KvcASTyuA==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/plugin-google-gtag@3.9.2': - resolution: {integrity: sha512-YJ4lDCphabBtw19ooSlc1MnxtYGpjFV9rEdzjLsUnBCeis2djUyCozZaFhCg6NGEwOn7HDDyMh0yzcdRpnuIvA==} + '@docusaurus/plugin-google-gtag@3.10.1': + resolution: {integrity: sha512-pu3xIUo5o/zCMLfUY9BO5KOwSH0zIsAGyFRPvXHayFSA5XIhCU/SFuB0g0ZNjFn9niZLCaNvoeAuOGFJZq0fdw==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/plugin-google-tag-manager@3.9.2': - resolution: {integrity: sha512-LJtIrkZN/tuHD8NqDAW1Tnw0ekOwRTfobWPsdO15YxcicBo2ykKF0/D6n0vVBfd3srwr9Z6rzrIWYrMzBGrvNw==} + '@docusaurus/plugin-google-tag-manager@3.10.1': + resolution: {integrity: sha512-f6fyGHiCm7kJHBtAisGQS5oNBnpnMTYQZxDXeVrnw/3zWU+LMA22pr6UHGYkBKDbN+qPC5QHG3NuOfzQLq3+Lw==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/plugin-sitemap@3.9.2': - resolution: {integrity: sha512-WLh7ymgDXjG8oPoM/T4/zUP7KcSuFYRZAUTl8vR6VzYkfc18GBM4xLhcT+AKOwun6kBivYKUJf+vlqYJkm+RHw==} + '@docusaurus/plugin-sitemap@3.10.1': + resolution: {integrity: sha512-C26MbmmqgdjkDq1htaZ3aD7LzEDKFWXfpyQpt0EOUThuq5nV77zDaedV20yHcVo9p+3ey9aZ4pbHA0D3QcZTzg==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/plugin-svgr@3.9.2': - resolution: {integrity: sha512-n+1DE+5b3Lnf27TgVU5jM1d4x5tUh2oW5LTsBxJX4PsAPV0JGcmI6p3yLYtEY0LRVEIJh+8RsdQmRE66wSV8mw==} + '@docusaurus/plugin-svgr@3.10.1': + resolution: {integrity: sha512-6SFxsmjWFkVLDmBUvFK6i72QjUwqyQFe4Ovz+SUJophJjOyVG3ZZG5IQpBC/kX/Gfv1yWeU9nWauH6F6Q7QX/Q==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/preset-classic@3.9.2': - resolution: {integrity: sha512-IgyYO2Gvaigi21LuDIe+nvmN/dfGXAiMcV/murFqcpjnZc7jxFAxW+9LEjdPt61uZLxG4ByW/oUmX/DDK9t/8w==} + '@docusaurus/preset-classic@3.10.1': + resolution: {integrity: sha512-YO/FL8v1zmbxoTso6mjMz/RDjhaTJxb1UpFFTDdY5847LLDCeyYiYlrhyTbgN1RIN3xnkLKZ9Lj1x8hUzI4JOg==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 @@ -4126,51 +4137,51 @@ packages: peerDependencies: react: '*' - '@docusaurus/theme-classic@3.9.2': - resolution: {integrity: sha512-IGUsArG5hhekXd7RDb11v94ycpJpFdJPkLnt10fFQWOVxAtq5/D7hT6lzc2fhyQKaaCE62qVajOMKL7OiAFAIA==} + '@docusaurus/theme-classic@3.10.1': + resolution: {integrity: sha512-VU1RK0qb2pab0si4r7HFK37cYco8VzqLj3u1PspVipSr/z/GPVKHO4/HXbnePqHoWDk8urjyGSeatH0NIMBM1A==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/theme-common@3.9.2': - resolution: {integrity: sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==} + '@docusaurus/theme-common@3.10.1': + resolution: {integrity: sha512-0YtmIeoNo1fIw65LO8+/1dPgmDV86UmhMkow37gzjytuiCSQm9xob6PJy0L4kuQEMTLfUOGvkXvZr7GPrHquMA==} engines: {node: '>=20.0'} peerDependencies: '@docusaurus/plugin-content-docs': '*' react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/theme-search-algolia@3.9.2': - resolution: {integrity: sha512-GBDSFNwjnh5/LdkxCKQHkgO2pIMX1447BxYUBG2wBiajS21uj64a+gH/qlbQjDLxmGrbrllBrtJkUHxIsiwRnw==} + '@docusaurus/theme-search-algolia@3.10.1': + resolution: {integrity: sha512-OTaARARVZj2GvkJQjB+1jOIxntRaXea+G+fMsNqrZBAU1O1vJKDW22R7kECOHW27oJCLFN9HKaZeRrfAUyviug==} engines: {node: '>=20.0'} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/theme-translations@3.9.2': - resolution: {integrity: sha512-vIryvpP18ON9T9rjgMRFLr2xJVDpw1rtagEGf8Ccce4CkTrvM/fRB8N2nyWYOW5u3DdjkwKw5fBa+3tbn9P4PA==} + '@docusaurus/theme-translations@3.10.1': + resolution: {integrity: sha512-cLMyaKivjBVWKMJuWqyFVVgtqe8DPJNPkog0bn8W1MDVAKcPdxRFycBfC1We1RaNp7Rdk513bmtW78RR6OBxBw==} engines: {node: '>=20.0'} - '@docusaurus/tsconfig@3.9.2': - resolution: {integrity: sha512-j6/Fp4Rlpxsc632cnRnl5HpOWeb6ZKssDj6/XzzAzVGXXfm9Eptx3rxCC+fDzySn9fHTS+CWJjPineCR1bB5WQ==} + '@docusaurus/tsconfig@3.10.1': + resolution: {integrity: sha512-rYvB7yqkdqWIpAbDzQljGfM4cDBkLTbhmagZBEcsyj6oPUsz47lmW2pYdN1j+7sGFgltbAmQH62xfbrij4Eh6Q==} - '@docusaurus/types@3.9.2': - resolution: {integrity: sha512-Ux1JUNswg+EfUEmajJjyhIohKceitY/yzjRUpu04WXgvVz+fbhVC0p+R0JhvEu4ytw8zIAys2hrdpQPBHRIa8Q==} + '@docusaurus/types@3.10.1': + resolution: {integrity: sha512-XYMK8k1szDCFMw2V+Xyen0g7Kee1sP3dtFnl7vkGkZOkeAJ/oPDQPL8iz4HBKOo/cwU8QeV6onVjMqtP+tFzsw==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - '@docusaurus/utils-common@3.9.2': - resolution: {integrity: sha512-I53UC1QctruA6SWLvbjbhCpAw7+X7PePoe5pYcwTOEXD/PxeP8LnECAhTHHwWCblyUX5bMi4QLRkxvyZ+IT8Aw==} + '@docusaurus/utils-common@3.10.1': + resolution: {integrity: sha512-5mFSgEADtnFxFH7RLw02QA5MpU5JVUCj0MPeIvi/aF4Fi45tQRIuTwXoXDqJ+1VfQJuYJGz3SI63wmGz4HvXzA==} engines: {node: '>=20.0'} - '@docusaurus/utils-validation@3.9.2': - resolution: {integrity: sha512-l7yk3X5VnNmATbwijJkexdhulNsQaNDwoagiwujXoxFbWLcxHQqNQ+c/IAlzrfMMOfa/8xSBZ7KEKDesE/2J7A==} + '@docusaurus/utils-validation@3.10.1': + resolution: {integrity: sha512-cRv1X69jwaWv47waglllgZVWzeBFLhl53XT/XED/83BerVBTC5FTP8WTcVl8Z6sZOegDSwitu/wpCSPCDOT6lg==} engines: {node: '>=20.0'} - '@docusaurus/utils@3.9.2': - resolution: {integrity: sha512-lBSBiRruFurFKXr5Hbsl2thmGweAPmddhF3jb99U4EMDA5L+e5Y1rAkOS07Nvrup7HUMBDrCV45meaxZnt28nQ==} + '@docusaurus/utils@3.10.1': + resolution: {integrity: sha512-3ojeJry9xBYdJO6qoyyzqeJFSJBVx2mXhyDzSdjwL2+URFQMf+h25gG38iswGImicK0ELjTd1EL2xzk8hf3QPw==} engines: {node: '>=20.0'} '@dr.pogodin/react-helmet@3.0.4': @@ -6241,8 +6252,8 @@ packages: '@storybook/addon-vitest@9.1.16': resolution: {integrity: sha512-X0rOOUMb5UHbfekcjnTeiDTarZdsg5irXXPxxL//8QQCFyCLF6Bdm1YNlCdF560PtwaaQPXzlxByD0FfGbtdWA==} peerDependencies: - '@vitest/browser': ^3.0.0 || ^4.0.0 - '@vitest/browser-playwright': ^4.0.0 + '@vitest/browser': 4.1.6 + '@vitest/browser-playwright': 4.1.6 '@vitest/runner': ^3.0.0 || ^4.0.0 storybook: ^9.1.16 vitest: ^3.0.0 || ^4.0.0 @@ -6259,8 +6270,8 @@ packages: '@storybook/addon-vitest@9.1.20': resolution: {integrity: sha512-6zN/qe9Z/7pklbUQJrnjwdTTqRG5PWy4Tyx1J90nwQq6yekj436S8/5NrvXaSns0zYNoZLsynh8nWZPweeu05w==} peerDependencies: - '@vitest/browser': ^3.0.0 || ^4.0.0 - '@vitest/browser-playwright': ^4.0.0 + '@vitest/browser': 4.1.6 + '@vitest/browser-playwright': 4.1.6 '@vitest/runner': ^3.0.0 || ^4.0.0 storybook: ^9.1.20 vitest: ^3.0.0 || ^4.0.0 @@ -6546,8 +6557,8 @@ packages: '@types/graphql-depth-limit@1.1.6': resolution: {integrity: sha512-WU4bjoKOzJ8CQE32Pbyq+YshTMcLJf2aJuvVtSLv1BQPwDUGa38m2Vr8GGxf0GZ0luCQcfxlhZeHKu6nmTBvrw==} - '@types/gtag.js@0.0.12': - resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} + '@types/gtag.js@0.0.20': + resolution: {integrity: sha512-wwAbk3SA2QeU67unN7zPxjEHmPmlXwZXZvQEpbEUQuMCRGgKyE1m6XDuTUA9b6pCGb/GqJmdfMOY5LuDjJSbbg==} '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -6962,11 +6973,6 @@ packages: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.16.0: resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} engines: {node: '>=0.4.0'} @@ -7067,6 +7073,10 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + ansis@3.17.0: + resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} + engines: {node: '>=14'} + antd@6.3.5: resolution: {integrity: sha512-8BPz9lpZWQm42PTx7yL4KxWAotVuqINiKcoYRcLtdd5BFmAcAZicVyFTnBJyRDlzGZFZeRW3foGu6jXYFnej6Q==} peerDependencies: @@ -7838,6 +7848,10 @@ packages: copy-anything@2.0.6: resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + copy-text-to-clipboard@3.2.2: + resolution: {integrity: sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==} + engines: {node: '>=12'} + copy-webpack-plugin@11.0.0: resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} @@ -7847,9 +7861,6 @@ packages: core-js-compat@3.47.0: resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} - core-js-pure@3.47.0: - resolution: {integrity: sha512-BcxeDbzUrRnXGYIVAGFtcGQVNpFcUhVjr6W7F8XktvQW2iJP9e66GP6xdKotCRFlrxBvNIBrhwKteRXqMV86Nw==} - core-js@3.47.0: resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} @@ -10017,9 +10028,6 @@ packages: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} engines: {node: '>=16'} - markdown-table@2.0.0: - resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} - markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} @@ -11561,8 +11569,8 @@ packages: peerDependencies: react: ^18.0.0 || ^19.0.0 - react-loadable-ssr-addon-v5-slorber@1.0.1: - resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} + react-loadable-ssr-addon-v5-slorber@1.0.3: + resolution: {integrity: sha512-GXfh9VLwB5ERaCsU6RULh7tkemeX15aNh6wuMEBtfdyMa7fFG8TXrhXlx1SoEK2Ty/l6XIkzzYIQmyaWW3JgdQ==} engines: {node: '>=10.13.0'} peerDependencies: react-loadable: '*' @@ -11586,8 +11594,8 @@ packages: peerDependencies: react: '>=15' - react-router-dom@7.12.0: - resolution: {integrity: sha512-pfO9fiBcpEfX4Tx+iTYKDtPbrSLLCbwJ5EqP+SPYQu1VYCXdy79GSj0wttR0U4cikVdlImZuEZ/9ZNCgoaxwBA==} + react-router-dom@7.15.0: + resolution: {integrity: sha512-VcrVg64Fo8nwBvDscajG8gRTLIuTC6N50nb22l2HOOV4PTOHgoGp8mUjy9wLiHYoYTSYI36tUnXZgasSRFZorQ==} engines: {node: '>=20.0.0'} peerDependencies: react: '>=18' @@ -11598,8 +11606,8 @@ packages: peerDependencies: react: '>=15' - react-router@7.12.0: - resolution: {integrity: sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw==} + react-router@7.15.0: + resolution: {integrity: sha512-HW9vYwuM8f4yx66Izy8xfrzCM+SBJluoZcCbww9A1TySax11S5Vgw6fi3ZjMONw9J4gQwngL7PzkyIpJJpJ7RQ==} engines: {node: '>=20.0.0'} peerDependencies: react: '>=18' @@ -12066,8 +12074,8 @@ packages: resolution: {integrity: sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==} engines: {node: '>=20.0.0'} - serve-handler@6.1.6: - resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} + serve-handler@6.1.7: + resolution: {integrity: sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==} serve-index@1.9.1: resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} @@ -12523,22 +12531,6 @@ packages: resolution: {integrity: sha512-NmedZS0NJiTv3CoYnf1FtjxIDUgVYzEmavrc8q2WHRb+lP4deI9BpQfmNnBZZaWusDbP5FVFZCcvzb3xOlNVlQ==} engines: {node: '>=16'} - terser-webpack-plugin@5.3.14: - resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.105.4 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - terser-webpack-plugin@5.4.0: resolution: {integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==} engines: {node: '>= 10.13.0'} @@ -13242,11 +13234,17 @@ packages: webpack-cli: optional: true - webpackbar@6.0.1: - resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==} + webpackbar@7.0.0: + resolution: {integrity: sha512-aS9soqSO2iCHgqHoCrj4LbfGQUboDCYJPSFOAchEK+9psIjNrfSWW4Y0YEz67MKURNvMmfo0ycOg9d/+OOf9/Q==} engines: {node: '>=14.21.3'} peerDependencies: + '@rspack/core': '*' webpack: ^5.105.4 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true websocket-driver@0.7.4: resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} @@ -14203,7 +14201,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.11 @@ -14294,7 +14292,7 @@ snapshots: '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -14302,17 +14300,17 @@ snapshots: '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.29.0) transitivePeerDependencies: @@ -14321,7 +14319,7 @@ snapshots: '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -14333,7 +14331,7 @@ snapshots: '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.29.0)': dependencies: @@ -14343,33 +14341,33 @@ snapshots: '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) '@babel/traverse': 7.29.0 transitivePeerDependencies: @@ -14379,7 +14377,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: - supports-color @@ -14387,18 +14385,18 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -14406,7 +14404,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -14416,7 +14414,7 @@ snapshots: '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-globals': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.29.0) '@babel/traverse': 7.29.0 transitivePeerDependencies: @@ -14425,13 +14423,13 @@ snapshots: '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/template': 7.28.6 '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -14440,28 +14438,28 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) transitivePeerDependencies: - supports-color @@ -14469,17 +14467,17 @@ snapshots: '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color @@ -14488,7 +14486,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -14496,28 +14494,28 @@ snapshots: '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-literals@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -14525,7 +14523,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -14543,7 +14541,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -14551,28 +14549,28 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) '@babel/traverse': 7.29.0 @@ -14582,7 +14580,7 @@ snapshots: '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: - supports-color @@ -14590,12 +14588,12 @@ snapshots: '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color @@ -14603,13 +14601,13 @@ snapshots: '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -14618,24 +14616,24 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.29.0)': dependencies: @@ -14649,7 +14647,7 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-module-imports': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) '@babel/types': 7.29.0 transitivePeerDependencies: @@ -14659,29 +14657,29 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-runtime@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.29.0) babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.0) babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.29.0) @@ -14692,12 +14690,12 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-spread@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color @@ -14705,24 +14703,24 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: @@ -14731,32 +14729,32 @@ snapshots: '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/preset-env@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/compat-data': 7.29.0 '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.29.0) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.29.0) @@ -14830,14 +14828,14 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/types': 7.29.0 esutils: 2.0.3 '@babel/preset-react@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.29.0) '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.29.0) @@ -14849,7 +14847,7 @@ snapshots: '@babel/preset-typescript@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.29.0) @@ -14857,10 +14855,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/runtime-corejs3@7.28.4': - dependencies: - core-js-pure: 3.47.0 - '@babel/runtime@7.28.4': {} '@babel/template@7.27.2': @@ -14875,18 +14869,6 @@ snapshots: '@babel/parser': 7.29.2 '@babel/types': 7.29.0 - '@babel/traverse@7.28.5': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.2 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - debug: 4.4.3(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - '@babel/traverse@7.29.0': dependencies: '@babel/code-frame': 7.29.0 @@ -15471,20 +15453,19 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/babel@3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@docusaurus/babel@3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: '@babel/core': 7.29.0 - '@babel/generator': 7.28.5 + '@babel/generator': 7.29.1 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.0) '@babel/plugin-transform-runtime': 7.28.5(@babel/core@7.29.0) '@babel/preset-env': 7.28.5(@babel/core@7.29.0) '@babel/preset-react': 7.28.5(@babel/core@7.29.0) '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0) '@babel/runtime': 7.28.4 - '@babel/runtime-corejs3': 7.28.4 - '@babel/traverse': 7.28.5 - '@docusaurus/logger': 3.9.2 - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@babel/traverse': 7.29.0 + '@docusaurus/logger': 3.10.1 + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) babel-plugin-dynamic-import-node: 2.3.3 fs-extra: 11.3.2 tslib: 2.8.1 @@ -15497,14 +15478,14 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/bundler@3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + '@docusaurus/bundler@3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': dependencies: '@babel/core': 7.29.0 - '@docusaurus/babel': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/cssnano-preset': 3.9.2 - '@docusaurus/logger': 3.9.2 - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/babel': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/cssnano-preset': 3.10.1 + '@docusaurus/logger': 3.10.1 + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) babel-loader: 9.2.1(@babel/core@7.29.0)(webpack@5.105.4(esbuild@0.27.4)) clean-css: 5.3.3 copy-webpack-plugin: 11.0.0(webpack@5.105.4(esbuild@0.27.4)) @@ -15518,11 +15499,11 @@ snapshots: postcss: 8.5.10 postcss-loader: 7.3.4(postcss@8.5.10)(typescript@6.0.3)(webpack@5.105.4(esbuild@0.27.4)) postcss-preset-env: 10.4.0(postcss@8.5.10) - terser-webpack-plugin: 5.3.14(esbuild@0.27.4)(webpack@5.105.4(esbuild@0.27.4)) + terser-webpack-plugin: 5.4.0(esbuild@0.27.4)(webpack@5.105.4(esbuild@0.27.4)) tslib: 2.8.1 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.105.4(esbuild@0.27.4)))(webpack@5.105.4(esbuild@0.27.4)) webpack: 5.105.4(esbuild@0.27.4) - webpackbar: 6.0.1(webpack@5.105.4(esbuild@0.27.4)) + webpackbar: 7.0.0(webpack@5.105.4(esbuild@0.27.4)) transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -15538,15 +15519,15 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/core@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + '@docusaurus/core@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': dependencies: - '@docusaurus/babel': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/bundler': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-common': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/babel': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/bundler': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/logger': 3.10.1 + '@docusaurus/mdx-loader': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-common': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@mdx-js/react': 3.1.1(@types/react@19.2.7)(react@19.2.0) boxen: 6.2.1 chalk: 4.1.2 @@ -15572,12 +15553,12 @@ snapshots: react-dom: 19.2.0(react@19.2.0) react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)' react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.0)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@19.2.0))(webpack@5.105.4(esbuild@0.27.4)) + react-loadable-ssr-addon-v5-slorber: 1.0.3(@docusaurus/react-loadable@6.0.0(react@19.2.0))(webpack@5.105.4(esbuild@0.27.4)) react-router: 5.3.4(react@19.2.0) react-router-config: 5.1.1(react-router@5.3.4(react@19.2.0))(react@19.2.0) react-router-dom: 5.3.4(react@19.2.0) - semver: 7.7.3 - serve-handler: 6.1.6 + semver: 7.7.4 + serve-handler: 6.1.7 tinypool: 1.1.1 tslib: 2.8.1 update-notifier: 6.0.2 @@ -15586,7 +15567,6 @@ snapshots: webpack-dev-server: 5.2.4(webpack@5.105.4(esbuild@0.27.4)) webpack-merge: 6.0.1 transitivePeerDependencies: - - '@docusaurus/faster' - '@parcel/css' - '@rspack/core' - '@swc/core' @@ -15602,23 +15582,23 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/cssnano-preset@3.9.2': + '@docusaurus/cssnano-preset@3.10.1': dependencies: cssnano-preset-advanced: 6.1.2(postcss@8.5.10) postcss: 8.5.10 postcss-sort-media-queries: 5.2.0(postcss@8.5.10) tslib: 2.8.1 - '@docusaurus/logger@3.9.2': + '@docusaurus/logger@3.10.1': dependencies: chalk: 4.1.2 tslib: 2.8.1 - '@docusaurus/mdx-loader@3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@docusaurus/mdx-loader@3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: - '@docusaurus/logger': 3.9.2 - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/logger': 3.10.1 + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@mdx-js/mdx': 3.1.1 '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 @@ -15649,9 +15629,9 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/module-type-aliases@3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@docusaurus/module-type-aliases@3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@types/history': 4.7.11 '@types/react': 19.2.7 '@types/react-router-config': 5.0.11 @@ -15667,18 +15647,19 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-common': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/plugin-content-blog@3.10.1(@docusaurus/plugin-content-docs@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/logger': 3.10.1 + '@docusaurus/mdx-loader': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/plugin-content-docs': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-common': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) cheerio: 1.0.0-rc.12 + combine-promises: 1.2.0 feed: 4.2.2 fs-extra: 11.3.2 lodash: 4.18.1 @@ -15708,17 +15689,17 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/module-type-aliases': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-common': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/plugin-content-docs@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/logger': 3.10.1 + '@docusaurus/mdx-loader': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/module-type-aliases': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-common': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.3.2 @@ -15748,13 +15729,13 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-content-pages@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + '@docusaurus/plugin-content-pages@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/mdx-loader': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/mdx-loader': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) fs-extra: 11.3.2 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) @@ -15778,12 +15759,12 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-css-cascade-layers@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + '@docusaurus/plugin-css-cascade-layers@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) tslib: 2.8.1 transitivePeerDependencies: - '@docusaurus/faster' @@ -15805,11 +15786,11 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-debug@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + '@docusaurus/plugin-debug@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) fs-extra: 11.3.2 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) @@ -15833,11 +15814,11 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-google-analytics@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + '@docusaurus/plugin-google-analytics@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react: 19.2.0 react-dom: 19.2.0(react@19.2.0) tslib: 2.8.1 @@ -15859,12 +15840,12 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-google-gtag@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + '@docusaurus/plugin-google-gtag@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@types/gtag.js': 0.0.12 + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@types/gtag.js': 0.0.20 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) tslib: 2.8.1 @@ -15886,11 +15867,11 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + '@docusaurus/plugin-google-tag-manager@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react: 19.2.0 react-dom: 19.2.0(react@19.2.0) tslib: 2.8.1 @@ -15912,14 +15893,14 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-sitemap@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + '@docusaurus/plugin-sitemap@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-common': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/logger': 3.10.1 + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-common': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) fs-extra: 11.3.2 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) @@ -15943,12 +15924,12 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-svgr@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + '@docusaurus/plugin-svgr@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@svgr/core': 8.1.0(typescript@6.0.3) '@svgr/webpack': 8.1.0(typescript@6.0.3) react: 19.2.0 @@ -15973,23 +15954,23 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/preset-classic@3.9.2(@algolia/client-search@5.45.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-content-blog': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-content-pages': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-css-cascade-layers': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-debug': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-google-analytics': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-google-gtag': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-google-tag-manager': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-sitemap': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-svgr': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/theme-classic': 3.9.2(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/theme-search-algolia': 3.9.2(@algolia/client-search@5.45.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@6.0.3) - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/preset-classic@3.10.1(@algolia/client-search@5.45.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-content-blog': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-content-docs': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-content-pages': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-css-cascade-layers': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-debug': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-google-analytics': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-google-gtag': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-google-tag-manager': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-sitemap': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-svgr': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/theme-classic': 3.10.1(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/theme-search-algolia': 3.10.1(@algolia/client-search@5.45.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@6.0.3) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react: 19.2.0 react-dom: 19.2.0(react@19.2.0) transitivePeerDependencies: @@ -16018,23 +15999,24 @@ snapshots: '@types/react': 19.2.7 react: 19.2.0 - '@docusaurus/theme-classic@3.9.2(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/module-type-aliases': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/plugin-content-blog': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/plugin-content-pages': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/theme-translations': 3.9.2 - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-common': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/theme-classic@3.10.1(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3)': + dependencies: + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/logger': 3.10.1 + '@docusaurus/mdx-loader': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/module-type-aliases': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/plugin-content-blog': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-content-docs': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/plugin-content-pages': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/theme-translations': 3.10.1 + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-common': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@mdx-js/react': 3.1.1(@types/react@19.2.7)(react@19.2.0) clsx: 2.1.1 + copy-text-to-clipboard: 3.2.2 infima: 0.2.0-alpha.45 lodash: 4.18.1 nprogress: 0.2.0 @@ -16065,13 +16047,13 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/theme-common@3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@docusaurus/theme-common@3.10.1(@docusaurus/plugin-content-docs@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: - '@docusaurus/mdx-loader': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/module-type-aliases': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-common': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/mdx-loader': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/module-type-aliases': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/plugin-content-docs': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-common': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@types/history': 4.7.11 '@types/react': 19.2.7 '@types/react-router-config': 5.0.11 @@ -16089,16 +16071,17 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/theme-search-algolia@3.9.2(@algolia/client-search@5.45.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@6.0.3)': + '@docusaurus/theme-search-algolia@3.10.1(@algolia/client-search@5.45.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(@types/react@19.2.7)(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@6.0.3)': dependencies: + '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.45.0)(algoliasearch@5.45.0)(search-insights@2.17.3) '@docsearch/react': 4.3.2(@algolia/client-search@5.45.0)(@types/react@19.2.7)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3) - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/theme-translations': 3.9.2 - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-validation': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/core': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/logger': 3.10.1 + '@docusaurus/plugin-content-docs': 3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3) + '@docusaurus/theme-common': 3.10.1(@docusaurus/plugin-content-docs@3.10.1(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.0))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@6.0.3))(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/theme-translations': 3.10.1 + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-validation': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) algoliasearch: 5.45.0 algoliasearch-helper: 3.26.1(algoliasearch@5.45.0) clsx: 2.1.1 @@ -16130,14 +16113,14 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/theme-translations@3.9.2': + '@docusaurus/theme-translations@3.10.1': dependencies: fs-extra: 11.3.2 tslib: 2.8.1 - '@docusaurus/tsconfig@3.9.2': {} + '@docusaurus/tsconfig@3.10.1': {} - '@docusaurus/types@3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@docusaurus/types@3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: '@mdx-js/mdx': 3.1.1 '@types/history': 4.7.11 @@ -16158,9 +16141,9 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils-common@3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@docusaurus/utils-common@3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) tslib: 2.8.1 transitivePeerDependencies: - '@swc/core' @@ -16171,11 +16154,11 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils-validation@3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@docusaurus/utils-validation@3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: - '@docusaurus/logger': 3.9.2 - '@docusaurus/utils': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-common': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/logger': 3.10.1 + '@docusaurus/utils': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-common': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) fs-extra: 11.3.2 joi: 17.13.3 js-yaml: 4.1.1 @@ -16190,11 +16173,11 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils@3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@docusaurus/utils@3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: - '@docusaurus/logger': 3.9.2 - '@docusaurus/types': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@docusaurus/utils-common': 3.9.2(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/logger': 3.10.1 + '@docusaurus/types': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@docusaurus/utils-common': 3.10.1(esbuild@0.27.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) escape-string-regexp: 4.0.0 execa: 5.1.1 file-loader: 6.2.0(webpack@5.105.4(esbuild@0.27.4)) @@ -17066,7 +17049,7 @@ snapshots: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.13 - acorn: 8.15.0 + acorn: 8.16.0 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 @@ -17075,7 +17058,7 @@ snapshots: hast-util-to-jsx-runtime: 2.3.6 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.1(acorn@8.15.0) + recma-jsx: 1.0.1(acorn@8.16.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 remark-mdx: 3.1.1 @@ -18794,7 +18777,7 @@ snapshots: dependencies: graphql: 14.7.0 - '@types/gtag.js@0.0.12': {} + '@types/gtag.js@0.0.20': {} '@types/hast@3.0.4': dependencies: @@ -19296,10 +19279,6 @@ snapshots: dependencies: acorn: 8.16.0 - acorn-jsx@5.3.2(acorn@8.15.0): - dependencies: - acorn: 8.15.0 - acorn-jsx@5.3.2(acorn@8.16.0): dependencies: acorn: 8.16.0 @@ -19308,8 +19287,6 @@ snapshots: dependencies: acorn: 8.16.0 - acorn@8.15.0: {} - acorn@8.16.0: {} address@1.2.2: {} @@ -19408,6 +19385,8 @@ snapshots: ansi-styles@6.2.3: {} + ansis@3.17.0: {} + antd@6.3.5(luxon@3.7.2)(moment@2.30.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: '@ant-design/colors': 8.0.1 @@ -20335,6 +20314,8 @@ snapshots: dependencies: is-what: 3.14.1 + copy-text-to-clipboard@3.2.2: {} + copy-webpack-plugin@11.0.0(webpack@5.105.4(esbuild@0.27.4)): dependencies: fast-glob: 3.3.3 @@ -20349,8 +20330,6 @@ snapshots: dependencies: browserslist: 4.28.1 - core-js-pure@3.47.0: {} - core-js@3.47.0: {} core-util-is@1.0.3: {} @@ -22788,10 +22767,6 @@ snapshots: markdown-extensions@2.0.0: {} - markdown-table@2.0.0: - dependencies: - repeat-string: 1.6.1 - markdown-table@3.0.4: {} marked@16.4.2: {} @@ -23413,7 +23388,7 @@ snapshots: https-proxy-agent: 7.0.6 mongodb: 6.21.0 new-find-package-json: 2.0.0 - semver: 7.7.3 + semver: 7.7.4 tar-stream: 3.1.7 tslib: 2.8.1 yauzl: 3.2.1 @@ -24738,7 +24713,7 @@ snapshots: dependencies: react: 19.2.0 - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@19.2.0))(webpack@5.105.4(esbuild@0.27.4)): + react-loadable-ssr-addon-v5-slorber@1.0.3(@docusaurus/react-loadable@6.0.0(react@19.2.0))(webpack@5.105.4(esbuild@0.27.4)): dependencies: '@babel/runtime': 7.28.4 react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.0)' @@ -24766,11 +24741,11 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - react-router-dom@7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-router-dom@7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: react: 19.2.0 react-dom: 19.2.0(react@19.2.0) - react-router: 7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + react-router: 7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react-router@5.3.4(react@19.2.0): dependencies: @@ -24785,7 +24760,7 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - react-router@7.12.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-router@7.15.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: cookie: 1.1.1 react: 19.2.0 @@ -24860,10 +24835,10 @@ snapshots: estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.1(acorn@8.15.0): + recma-jsx@1.0.1(acorn@8.16.0): dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -25362,7 +25337,7 @@ snapshots: serialize-javascript@7.0.5: {} - serve-handler@6.1.6: + serve-handler@6.1.7: dependencies: bytes: 3.0.0 content-disposition: 0.5.2 @@ -25502,7 +25477,7 @@ snapshots: '@types/node': 17.0.45 '@types/sax': 1.2.7 arg: 5.0.2 - sax: 1.4.3 + sax: 1.5.0 skin-tone@2.0.0: dependencies: @@ -25918,17 +25893,6 @@ snapshots: transitivePeerDependencies: - supports-color - terser-webpack-plugin@5.3.14(esbuild@0.27.4)(webpack@5.105.4(esbuild@0.27.4)): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - serialize-javascript: 7.0.5 - terser: 5.44.1 - webpack: 5.105.4(esbuild@0.27.4) - optionalDependencies: - esbuild: 0.27.4 - terser-webpack-plugin@5.4.0(esbuild@0.27.4)(webpack@5.105.4(esbuild@0.27.4)): dependencies: '@jridgewell/trace-mapping': 0.3.31 @@ -26316,7 +26280,7 @@ snapshots: is-yarn-global: 0.4.1 latest-version: 7.0.0 pupa: 3.3.0 - semver: 7.7.3 + semver: 7.7.4 semver-diff: 4.0.0 xdg-basedir: 5.1.0 @@ -26564,7 +26528,7 @@ snapshots: webpack-bundle-analyzer@4.10.2: dependencies: '@discoveryjs/json-ext': 0.5.7 - acorn: 8.15.0 + acorn: 8.16.0 acorn-walk: 8.3.4 commander: 7.2.0 debounce: 1.2.1 @@ -26676,17 +26640,14 @@ snapshots: - esbuild - uglify-js - webpackbar@6.0.1(webpack@5.105.4(esbuild@0.27.4)): + webpackbar@7.0.0(webpack@5.105.4(esbuild@0.27.4)): dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 + ansis: 3.17.0 consola: 3.4.2 - figures: 3.2.0 - markdown-table: 2.0.0 pretty-time: 1.1.0 std-env: 3.10.0 + optionalDependencies: webpack: 5.105.4(esbuild@0.27.4) - wrap-ansi: 7.0.0 websocket-driver@0.7.4: dependencies: @@ -26837,7 +26798,7 @@ snapshots: xml-js@1.6.11: dependencies: - sax: 1.4.3 + sax: 1.5.0 xml-name-validator@5.0.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a703b9ada..52d8b6d1f 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -26,8 +26,9 @@ catalog: graphql: ^16.10.0 jsdom: ^26.1.0 mongodb: 6.18.0 + mongodb-memory-server: ^10.1.4 mongoose: 8.17.0 - react-router-dom: 7.12.0 + react-router-dom: 7.15.0 react: ^19.1.1 react-dom: ^19.1.1 '@ant-design/icons': ^6.0.2