From 5b211bf50b072d8aa1088c8e8df59cd8d51305bc Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Fri, 29 Aug 2025 19:15:37 +0530 Subject: [PATCH 001/147] added spatial columns --- package.json | 2 +- pnpm-lock.yaml | 10 +- .../table-[table]/columns/line.svelte | 99 +++++++++++++++++++ .../table-[table]/columns/point.svelte | 99 +++++++++++++++++++ .../table-[table]/columns/polygon.svelte | 99 +++++++++++++++++++ .../table-[table]/columns/store.ts | 40 +++++++- 6 files changed, 340 insertions(+), 9 deletions(-) create mode 100644 src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte create mode 100644 src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte create mode 100644 src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte diff --git a/package.json b/package.json index 142087fef..c0ddc9a53 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2428", + "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "^2.0.0-RC.1", "@appwrite.io/pink-legacy": "^1.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index abb1d9372..205c3d5d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: ^1.1.24 version: 1.1.24(svelte@5.25.3)(zod@3.24.3) '@appwrite.io/console': - specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2428 - version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2428 + specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1 + version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1 '@appwrite.io/pink-icons': specifier: 0.25.0 version: 0.25.0 @@ -260,8 +260,8 @@ packages: '@analytics/type-utils@0.6.2': resolution: {integrity: sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==} - '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2428': - resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2428} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1': + resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1} version: 1.10.0 '@appwrite.io/pink-icons-svelte@2.0.0-RC.1': @@ -3700,7 +3700,7 @@ snapshots: '@analytics/type-utils@0.6.2': {} - '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@2428': {} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1': {} '@appwrite.io/pink-icons-svelte@2.0.0-RC.1(svelte@5.25.3)': dependencies: diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte new file mode 100644 index 000000000..8b41849cb --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -0,0 +1,99 @@ + + + + + + + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte new file mode 100644 index 000000000..6ee64f220 --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte @@ -0,0 +1,99 @@ + + + + + + + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte new file mode 100644 index 000000000..550ec50c8 --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte @@ -0,0 +1,99 @@ + + + + + + + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts index 91f2d6975..54d8f8a84 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts @@ -9,6 +9,9 @@ import Ip, { submitIp, updateIp } from './ip.svelte'; import String, { submitString, updateString } from './string.svelte'; import Url, { submitUrl, updateUrl } from './url.svelte'; import Datetime, { submitDatetime, updateDatetime } from './datetime.svelte'; +import Point, { submitPoint, updatePoint } from './point.svelte'; +import Line, { submitLine, updateLine } from './line.svelte'; +import Polygon, { submitPolygon, updatePolygon } from './polygon.svelte'; import type { Columns } from '../store'; import Relationship, { submitRelationship, updateRelationship } from './relationship.svelte'; import { @@ -20,7 +23,8 @@ import { IconMail, IconRelationship, IconText, - IconToggle + IconToggle, + IconGlobe } from '@appwrite.io/pink-icons-svelte'; import type { ComponentType } from 'svelte'; @@ -35,10 +39,13 @@ export type Option = { | 'IP' | 'URL' | 'Enum' - | 'Relationship'; + | 'Relationship' + | 'Point' + | 'Line' + | 'Polygon'; sentenceName: string; component: Component; - type: 'string' | 'integer' | 'double' | 'boolean' | 'datetime' | 'relationship'; + type: 'string' | 'integer' | 'double' | 'boolean' | 'datetime' | 'relationship' | 'point' | 'line' | 'polygon'; create: ( databaseId: string, tableId: string, @@ -101,6 +108,33 @@ export const columnOptions: Option[] = [ update: updateDatetime, icon: IconCalendar }, + { + name: 'Point', + sentenceName: 'point', + component: Point, + type: 'point', + create: submitPoint, + update: updatePoint, + icon: IconGlobe + }, + { + name: 'Line', + sentenceName: 'line', + component: Line, + type: 'line', + create: submitLine, + update: updateLine, + icon: IconGlobe + }, + { + name: 'Polygon', + sentenceName: 'polygon', + component: Polygon, + type: 'polygon', + create: submitPolygon, + update: updatePolygon, + icon: IconGlobe + }, { name: 'Email', sentenceName: 'email', From 1a366cb7729580a2d993ec079fac034679c5f0c7 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Sun, 31 Aug 2025 03:39:31 +0530 Subject: [PATCH 002/147] fix: added the checkbox table variants --- .../auth/+page.svelte | 87 +++++++++++- .../project-[region]-[project]/auth/+page.ts | 6 +- .../auth/teams/+page.svelte | 127 +++++++++++++++--- .../auth/teams/+page.ts | 6 +- .../teams/team-[team]/members/+page.svelte | 90 ++++++++++++- .../auth/user-[user]/memberships/+page.svelte | 90 ++++++++++++- .../auth/user-[user]/memberships/+page.ts | 5 +- .../storage/+page.ts | 6 +- .../storage/bucket-[bucket]/+page.svelte | 119 +++++++++++----- .../storage/table.svelte | 81 ++++++++++- 10 files changed, 545 insertions(+), 72 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/auth/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/+page.svelte index 1f2dc4423..80da55e02 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/+page.svelte @@ -20,13 +20,26 @@ import type { Models } from '@appwrite.io/console'; import { writable } from 'svelte/store'; import Create from './createUser.svelte'; - import { Badge, Icon, Table, Layout, Typography } from '@appwrite.io/pink-svelte'; + import { + Badge, + Icon, + Table, + Layout, + Typography, + FloatingActionBar + } from '@appwrite.io/pink-svelte'; import { Tag } from '@appwrite.io/pink-svelte'; import { IconDuplicate, IconPlus } from '@appwrite.io/pink-icons-svelte'; import { canWriteUsers } from '$lib/stores/roles'; import type { Column } from '$lib/helpers/types'; import ViewSelector from '$lib/components/viewSelector.svelte'; import { View } from '$lib/helpers/load'; + import { sdk } from '$lib/stores/sdk'; + import { Submit, trackError, trackEvent } from '$lib/actions/analytics'; + import { Dependencies } from '$lib/constants'; + import { addNotification } from '$lib/stores/notifications'; + import { invalidate } from '$app/navigation'; + import Confirm from '$lib/components/confirm.svelte'; export let data; @@ -46,11 +59,47 @@ } ]); + let selectedUsers: string[] = []; + let showDelete = false; + let deleting = false; + async function userCreated(event: CustomEvent>>) { + showCreateUser.set(false); await goto( `${base}/project-${page.params.region}-${page.params.project}/auth/user-${event.detail.$id}` ); } + + async function handleDelete() { + showDelete = false; + deleting = true; + + const promises = selectedUsers.map((userId) => + sdk.forProject(page.params.region, page.params.project).users.delete(userId) + ); + + try { + await Promise.all(promises); + trackEvent(Submit.UserDelete, { + total: selectedUsers.length + }); + addNotification({ + type: 'success', + message: `${selectedUsers.length} user${selectedUsers.length > 1 ? 's' : ''} deleted` + }); + invalidate(Dependencies.USERS); + } catch (error) { + addNotification({ + type: 'error', + message: error.message + }); + trackError(error, Submit.UserDelete); + } finally { + selectedUsers = []; + showDelete = false; + deleting = false; + } + } @@ -68,7 +117,11 @@ {#if data.users.total} - + {#each $columns as { id, title } (id)} {title} @@ -77,7 +130,8 @@ {#each data.users.users as user} + {root} + id={user.$id}> {#each $columns as { id } (id)} {#if id === '$id'} @@ -175,6 +229,33 @@ allowCreate={$canWriteUsers} on:click={() => showCreateUser.set(true)} /> {/if} + + {#if selectedUsers.length > 0} + + + + + {selectedUsers.length > 1 ? 'users' : 'user'} + selected + + + + + + + + {/if} + + + + Are you sure you want to delete {selectedUsers.length} + {selectedUsers.length > 1 ? 'users' : 'user'}? + + + This action is irreversible and will permanently remove the selected users and all their + data. + + diff --git a/src/routes/(console)/project-[region]-[project]/auth/+page.ts b/src/routes/(console)/project-[region]-[project]/auth/+page.ts index c92055259..1453b72dd 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/auth/+page.ts @@ -1,11 +1,13 @@ import { Query } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getSearch, pageToOffset } from '$lib/helpers/load'; -import { PAGE_LIMIT } from '$lib/constants'; +import { PAGE_LIMIT, Dependencies } from '$lib/constants'; import type { PageLoad } from './$types'; import { showCreateUser } from './+page.svelte'; -export const load: PageLoad = async ({ url, route, params }) => { +export const load: PageLoad = async ({ url, route, params, depends }) => { + depends(Dependencies.USERS); + const page = getPage(url); const search = getSearch(url); const limit = getLimit(url, route, PAGE_LIMIT); diff --git a/src/routes/(console)/project-[region]-[project]/auth/teams/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/teams/+page.svelte index cbefb02fb..3a64c2500 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/teams/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/teams/+page.svelte @@ -19,17 +19,72 @@ import type { Models } from '@appwrite.io/console'; import { writable } from 'svelte/store'; import { canWriteTeams } from '$lib/stores/roles'; - import { Icon, Layout, Table } from '@appwrite.io/pink-svelte'; + import { + Icon, + Layout, + Table, + FloatingActionBar, + Badge, + Typography + } from '@appwrite.io/pink-svelte'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; import DualTimeView from '$lib/components/dualTimeView.svelte'; + import { sdk } from '$lib/stores/sdk'; + import { Submit, trackError, trackEvent } from '$lib/actions/analytics'; + import { Dependencies } from '$lib/constants'; + import { addNotification } from '$lib/stores/notifications'; + import { invalidate } from '$app/navigation'; + import Confirm from '$lib/components/confirm.svelte'; export let data; const region = page.params.region; const project = page.params.project; + + let selectedTeams: string[] = []; + let showDelete = false; + let deleting = false; + + const columns = writable([ + { id: 'name', title: 'Name', type: 'string', width: { min: 200, max: 300 } }, + { id: 'members', title: 'Members', type: 'string', width: { min: 120, max: 150 } }, + { id: 'created', title: 'Created', type: 'string', width: { min: 120, max: 180 } } + ]); + const teamCreated = async (event: CustomEvent>>) => { await goto(`${base}/project-${region}-${project}/auth/teams/team-${event.detail.$id}`); }; + + async function handleDelete() { + showDelete = false; + deleting = true; + + const promises = selectedTeams.map((teamId) => + sdk.forProject(page.params.region, page.params.project).teams.delete(teamId) + ); + + try { + await Promise.all(promises); + trackEvent(Submit.TeamDelete, { + total: selectedTeams.length + }); + addNotification({ + type: 'success', + message: `${selectedTeams.length} team${selectedTeams.length > 1 ? 's' : ''} deleted` + }); + invalidate(Dependencies.TEAMS); + } catch (error) { + addNotification({ + type: 'error', + message: error.message + }); + trackError(error, Submit.TeamDelete); + } finally { + selectedTeams = []; + showDelete = false; + deleting = false; + } + } @@ -46,32 +101,55 @@ {#if data.teams.total} - + - Name - Members - Created + {#each $columns as { id, title }} + {title} + {/each} - {#each data.teams.teams as team} + {#each data.teams.teams as team (team.$id)} - - - - {team.name} - - - - {team.total} members - - - - + href={`${base}/project-${region}-${project}/auth/teams/team-${team.$id}`} + id={team.$id}> + {#each $columns as column} + + {#if column.id === 'name'} + + + {team.name} + + {:else if column.id === 'members'} + {team.total} members + {:else if column.id === 'created'} + + {/if} + + {/each} {/each} + {#if selectedTeams.length > 0} + + + + + {selectedTeams.length > 1 ? 'teams' : 'team'} + selected + + + + + + + + {/if} + + + + + Are you sure you want to delete {selectedTeams.length} + {selectedTeams.length > 1 ? 'teams' : 'team'}? + + + This action is irreversible and will permanently remove the selected teams and all their + memberships. + + diff --git a/src/routes/(console)/project-[region]-[project]/auth/teams/+page.ts b/src/routes/(console)/project-[region]-[project]/auth/teams/+page.ts index 5f3bd1418..2a635068c 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/teams/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/auth/teams/+page.ts @@ -1,10 +1,12 @@ import { Query } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getSearch, pageToOffset } from '$lib/helpers/load'; -import { PAGE_LIMIT } from '$lib/constants'; +import { PAGE_LIMIT, Dependencies } from '$lib/constants'; import type { PageLoad } from './$types'; -export const load: PageLoad = async ({ url, route, params }) => { +export const load: PageLoad = async ({ url, route, params, depends }) => { + depends(Dependencies.TEAMS); + const page = getPage(url); const search = getSearch(url); const limit = getLimit(url, route, PAGE_LIMIT); diff --git a/src/routes/(console)/project-[region]-[project]/auth/teams/team-[team]/members/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/teams/team-[team]/members/+page.svelte index a7dba1d1f..00d33151b 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/teams/team-[team]/members/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/teams/team-[team]/members/+page.svelte @@ -11,15 +11,28 @@ import CreateMember from '../createMembership.svelte'; import DeleteMembership from '../deleteMembership.svelte'; import { Dependencies } from '$lib/constants'; - import { Click, trackEvent } from '$lib/actions/analytics'; - import { Table, Layout, Icon } from '@appwrite.io/pink-svelte'; + import { Click, trackEvent, Submit, trackError } from '$lib/actions/analytics'; + import { + Table, + Layout, + Icon, + FloatingActionBar, + Badge, + Typography + } from '@appwrite.io/pink-svelte'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; + import { sdk } from '$lib/stores/sdk'; + import { addNotification } from '$lib/stores/notifications'; + import Confirm from '$lib/components/confirm.svelte'; export let data: PageData; let showCreate = false; let showDelete = false; let selectedMembership: Models.Membership; + let selectedMemberships: string[] = []; + let showBulkDelete = false; + let deleting = false; const region = page.params.region; const project = page.params.project; @@ -27,6 +40,40 @@ async function memberCreated() { invalidate(Dependencies.MEMBERSHIPS); } + + async function handleBulkDelete() { + showBulkDelete = false; + deleting = true; + + const promises = selectedMemberships.map((membershipId) => + sdk.forProject(page.params.region, page.params.project).teams.deleteMembership({ + teamId: page.params.team, + membershipId + }) + ); + + try { + await Promise.all(promises); + trackEvent(Submit.MembershipUpdate, { + total: selectedMemberships.length + }); + addNotification({ + type: 'success', + message: `${selectedMemberships.length} membership${selectedMemberships.length > 1 ? 's' : ''} deleted` + }); + invalidate(Dependencies.MEMBERSHIPS); + } catch (error) { + addNotification({ + type: 'error', + message: error.message + }); + trackError(error, Submit.MembershipUpdate); + } finally { + selectedMemberships = []; + showBulkDelete = false; + deleting = false; + } + } @@ -40,6 +87,8 @@ {#if data.memberships.total} Joined - {#each data.memberships.memberships as membership} + {#each data.memberships.memberships as membership (membership.$id)} {@const username = membership.userName ? membership.userName : '-'} + href={`${base}/project-${region}-${project}/auth/user-${membership.userId}`} + id={membership.$id}> @@ -85,6 +135,22 @@ {/each} + {#if selectedMemberships.length > 0} + + + + + {selectedMemberships.length > 1 ? 'memberships' : 'membership'} + selected + + + + + + + + {/if} +
- Sorry, we couldn't find ‘{data.search}' + Sorry, we couldn't find '{data.search}'

There are no members that match your search.

+ + + + {/if}
+ + + + Are you sure you want to delete {selectedMemberships.length} + {selectedMemberships.length > 1 ? 'memberships' : 'membership'}? + + + This action is irreversible and will remove the user from the selected teams. + + diff --git a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/memberships/+page.ts b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/memberships/+page.ts index a1be3c971..ef56d144a 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/memberships/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/memberships/+page.ts @@ -1,7 +1,10 @@ import { sdk } from '$lib/stores/sdk'; +import { Dependencies } from '$lib/constants'; import type { PageLoad } from './$types'; -export const load: PageLoad = async ({ params }) => { +export const load: PageLoad = async ({ params, depends }) => { + depends(Dependencies.MEMBERSHIPS); + const codes = await sdk.forProject(params.region, params.project).locale.listCodes(); return { localeCodes: codes.localeCodes, diff --git a/src/routes/(console)/project-[region]-[project]/storage/+page.ts b/src/routes/(console)/project-[region]-[project]/storage/+page.ts index f83547708..06d0ff470 100644 --- a/src/routes/(console)/project-[region]-[project]/storage/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/storage/+page.ts @@ -1,10 +1,12 @@ import { Query } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getSearch, getView, pageToOffset, View } from '$lib/helpers/load'; -import { CARD_LIMIT } from '$lib/constants'; +import { CARD_LIMIT, Dependencies } from '$lib/constants'; import type { PageLoad } from './$types'; -export const load: PageLoad = async ({ url, route, params }) => { +export const load: PageLoad = async ({ url, route, params, depends }) => { + depends(Dependencies.BUCKET); + const page = getPage(url); const search = getSearch(url); const view = getView(url, route, View.Grid); diff --git a/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/+page.svelte b/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/+page.svelte index 5aa634cf5..2d8524fc4 100644 --- a/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/storage/bucket-[bucket]/+page.svelte @@ -14,7 +14,17 @@ import { uploader } from '$lib/stores/uploader'; import { sdk } from '$lib/stores/sdk.js'; import DeleteFile from './deleteFile.svelte'; - import { Layout, Table, Icon, Popover, ActionMenu } from '@appwrite.io/pink-svelte'; + import { bucket } from './store'; + import Confirm from '$lib/components/confirm.svelte'; + import { + Layout, + Table, + Icon, + Popover, + ActionMenu, + FloatingActionBar, + Typography + } from '@appwrite.io/pink-svelte'; import { onMount } from 'svelte'; import DualTimeView from '$lib/components/dualTimeView.svelte'; import { @@ -28,6 +38,9 @@ let showDelete = false; let selectedFile: Models.File = null; + let selectedFiles: string[] = []; + let showBulkDelete = false; + let deleting = false; const bucketId = page.params.bucket; @@ -52,19 +65,41 @@ } async function deleteFile(file: Models.File) { + selectedFile = file; + showDelete = true; + } + + async function handleBulkDelete() { + showBulkDelete = false; + deleting = true; + + const promises = selectedFiles.map((fileId) => + sdk.forProject(page.params.region, page.params.project).storage.deleteFile({ + bucketId, + fileId + }) + ); + try { - await sdk - .forProject(page.params.region, page.params.project) - .storage.deleteFile({ bucketId: file.bucketId, fileId: file.$id }); - await invalidate(Dependencies.FILES); - await uploader.removeFile(file); - trackEvent(Submit.FileDelete); + await Promise.all(promises); + trackEvent(Submit.FileDelete, { + total: selectedFiles.length + }); + addNotification({ + type: 'success', + message: `${selectedFiles.length} file${selectedFiles.length > 1 ? 's' : ''} deleted` + }); + invalidate(Dependencies.FILES); } catch (error) { addNotification({ type: 'error', message: error.message }); trackError(error, Submit.FileDelete); + } finally { + selectedFiles = []; + showBulkDelete = false; + deleting = false; } } @@ -112,6 +147,8 @@ {#if data.files.total} {#each data.files.files as file} {#if file.chunksTotal / file.chunksUploaded !== 1} - + @@ -158,7 +195,7 @@ {:else} {@const href = `${base}/project-${page.params.region}-${page.params.project}/storage/bucket-${bucketId}/file-${file.$id}`} - +
@@ -213,37 +250,55 @@ offset={data.offset} total={data.files.total} /> {:else if data.search} - -
- Sorry, we couldn't find '{data.search}' -

There are no files that match your search.

-
-
- - -
+ + {:else} goto( - `${base}/project-${page.params.region}-${page.params.project}/storage/bucket-${page.params.bucket}/create` + `${base}/project-${page.params.region}-${page.params.project}/storage/bucket-${bucketId}/create` )} /> {/if} + + {#if selectedFiles.length > 0} + + + + + {selectedFiles.length > 1 ? 'files' : 'file'} + selected + + + + + + + + {/if} -{#if selectedFile} - -{/if} + + + + + Are you sure you want to delete {selectedFiles.length} + {selectedFiles.length > 1 ? 'files' : 'file'} from {$bucket?.name}? + + + This action is irreversible and will permanently remove the selected files. + + diff --git a/src/routes/(console)/project-[region]-[project]/storage/table.svelte b/src/routes/(console)/project-[region]-[project]/storage/table.svelte index accff4d00..3ea8e4b0b 100644 --- a/src/routes/(console)/project-[region]-[project]/storage/table.svelte +++ b/src/routes/(console)/project-[region]-[project]/storage/table.svelte @@ -5,12 +5,59 @@ import { toLocaleDateTime } from '$lib/helpers/date'; import type { PageData } from './$types'; import { columns } from './store'; - import { Table } from '@appwrite.io/pink-svelte'; + import { Table, FloatingActionBar, Badge, Typography } from '@appwrite.io/pink-svelte'; + import { Button } from '$lib/elements/forms'; + import { sdk } from '$lib/stores/sdk'; + import { Submit, trackError, trackEvent } from '$lib/actions/analytics'; + import { Dependencies } from '$lib/constants'; + import { addNotification } from '$lib/stores/notifications'; + import { invalidate } from '$app/navigation'; + import Confirm from '$lib/components/confirm.svelte'; + import { canWriteBuckets } from '$lib/stores/roles'; export let data: PageData; + + let selectedBuckets: string[] = []; + let showDelete = false; + let deleting = false; + + async function handleDelete() { + showDelete = false; + deleting = true; + + const promises = selectedBuckets.map((bucketId) => + sdk.forProject(page.params.region, page.params.project).storage.deleteBucket(bucketId) + ); + + try { + await Promise.all(promises); + trackEvent(Submit.BucketDelete, { + total: selectedBuckets.length + }); + addNotification({ + type: 'success', + message: `${selectedBuckets.length} bucket${selectedBuckets.length > 1 ? 's' : ''} deleted` + }); + invalidate(Dependencies.BUCKET); + } catch (error) { + addNotification({ + type: 'error', + message: error.message + }); + trackError(error, Submit.BucketDelete); + } finally { + selectedBuckets = []; + showDelete = false; + deleting = false; + } + } - + {#each $columns as { id, title }} {title} @@ -19,7 +66,8 @@ {#each data.buckets.buckets as bucket (bucket.$id)} + href={`${base}/project-${page.params.region}-${page.params.project}/storage/bucket-${bucket.$id}`} + id={bucket.$id}> {#each $columns as column} {#if column.id === '$id'} @@ -38,3 +86,30 @@ {/each} + +{#if selectedBuckets.length > 0} + + + + + {selectedBuckets.length > 1 ? 'buckets' : 'bucket'} + selected + + + + + + + +{/if} + + + + Are you sure you want to delete {selectedBuckets.length} + {selectedBuckets.length > 1 ? 'buckets' : 'bucket'}? + + + This action is irreversible and will permanently remove the selected buckets and all their + files. + + From d2baf686970dd22c14a95821f8094bdecdbb0258 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Sun, 31 Aug 2025 03:58:03 +0530 Subject: [PATCH 003/147] Update src/routes/(console)/project-[region]-[project]/auth/user-[user]/memberships/+page.svelte Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../auth/user-[user]/memberships/+page.svelte | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/memberships/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/memberships/+page.svelte index d05fbd047..ca235085a 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/user-[user]/memberships/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/user-[user]/memberships/+page.svelte @@ -38,10 +38,15 @@ showBulkDelete = false; deleting = true; + // Precompute a lookup map from membershipId to teamId for efficient access + const membershipIdToTeamId: Record = {}; + for (const m of data.memberships.memberships) { + membershipIdToTeamId[m.$id] = m.teamId; + } + const promises = selectedMemberships.map((membershipId) => sdk.forProject(page.params.region, page.params.project).teams.deleteMembership({ - teamId: - data.memberships.memberships.find((m) => m.$id === membershipId)?.teamId || '', + teamId: membershipIdToTeamId[membershipId] || '', membershipId }) ); From 80c2ef506d27e1ade087f84a621eed9ee21861a5 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Mon, 1 Sep 2025 14:00:50 +0530 Subject: [PATCH 004/147] added spatial index --- .../table-[table]/indexes/createIndex.svelte | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/createIndex.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/createIndex.svelte index 5a79122cb..ff9c04f17 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/createIndex.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/createIndex.svelte @@ -29,7 +29,8 @@ let types = [ { value: IndexType.Key, label: 'Key' }, { value: IndexType.Unique, label: 'Unique' }, - { value: IndexType.Fulltext, label: 'Fulltext' } + { value: IndexType.Fulltext, label: 'Fulltext' }, + { value: IndexType.Spatial, label: 'Spatial' } ]; let selectedType = $state(IndexType.Key); From 49f08b6fbbf3cb662fe1a1254c5a9df446b970a5 Mon Sep 17 00:00:00 2001 From: Khushboo Verma Date: Wed, 3 Sep 2025 13:14:08 +0530 Subject: [PATCH 005/147] Add view certificate logs option --- .../sites/site-[site]/domains/table.svelte | 35 +++++++++++++++++-- .../site-[site]/domains/viewLogsModal.svelte | 22 ++++++++++++ 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/viewLogsModal.svelte diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte index ea30c751c..240bb5ee6 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte @@ -3,7 +3,12 @@ import { Link } from '$lib/elements'; import { Button } from '$lib/elements/forms'; import type { Models } from '@appwrite.io/console'; - import { IconDotsHorizontal, IconRefresh, IconTrash } from '@appwrite.io/pink-icons-svelte'; + import { + IconDotsHorizontal, + IconRefresh, + IconTrash, + IconTerminal + } from '@appwrite.io/pink-icons-svelte'; import { ActionMenu, Badge, @@ -11,10 +16,12 @@ Layout, Popover, Table, - Typography + Typography, + Divider } from '@appwrite.io/pink-svelte'; import DeleteDomainModal from './deleteDomainModal.svelte'; import RetryDomainModal from './retryDomainModal.svelte'; + import ViewLogsModal from './viewLogsModal.svelte'; import { columns } from './store'; import { regionalProtocol } from '$routes/(console)/project-[region]-[project]/store'; @@ -26,6 +33,7 @@ let showDelete = $state(false); let showRetry = $state(false); + let showLogs = $state(false); let selectedProxyRule: Models.ProxyRule = $state(null); const proxyTarget = (proxy: Models.ProxyRule) => { @@ -91,6 +99,17 @@ + {#if rule.logs} + { + selectedProxyRule = rule; + showLogs = true; + toggle(e); + }}> + View logs + + {/if} {#if rule.status !== 'verified' && rule.status !== 'verifying'} {/if} + {#if rule.logs || (rule.status !== 'verified' && rule.status !== 'verifying')} +
+ +
+ {/if} {/if} + +{#if showLogs} + +{/if} diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/viewLogsModal.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/viewLogsModal.svelte new file mode 100644 index 000000000..405622516 --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/viewLogsModal.svelte @@ -0,0 +1,22 @@ + + + + + From 608a55ebed5575e33629858881d07cd155a3b28a Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 4 Sep 2025 16:00:21 +0530 Subject: [PATCH 006/147] updated console package version --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index c0ddc9a53..c26394610 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1", + "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "^2.0.0-RC.1", "@appwrite.io/pink-legacy": "^1.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 205c3d5d1..6b334c693 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: ^1.1.24 version: 1.1.24(svelte@5.25.3)(zod@3.24.3) '@appwrite.io/console': - specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1 - version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1 + specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec + version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec '@appwrite.io/pink-icons': specifier: 0.25.0 version: 0.25.0 @@ -260,8 +260,8 @@ packages: '@analytics/type-utils@0.6.2': resolution: {integrity: sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==} - '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1': - resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec': + resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec} version: 1.10.0 '@appwrite.io/pink-icons-svelte@2.0.0-RC.1': @@ -3700,7 +3700,7 @@ snapshots: '@analytics/type-utils@0.6.2': {} - '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@672b0e1': {} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec': {} '@appwrite.io/pink-icons-svelte@2.0.0-RC.1(svelte@5.25.3)': dependencies: From 3c2802dec33b9307f47a45e3de69d79726f5445d Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 4 Sep 2025 16:00:47 +0530 Subject: [PATCH 007/147] updated point column creation --- .../table-[table]/columns/point.svelte | 73 ++++++++++--------- .../table-[table]/columns/store.ts | 11 ++- .../table-[table]/store.ts | 3 + 3 files changed, 50 insertions(+), 37 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte index 6ee64f220..46ad215de 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte @@ -7,82 +7,90 @@ databaseId: string, tableId: string, key: string, - data: Partial + data: Partial ) { - await sdk.forProject(page.params.region, page.params.project).tablesDB.createBooleanColumn({ + await sdk.forProject(page.params.region, page.params.project).tablesDB.createPointColumn({ databaseId, tableId, key, required: data.required, - xdefault: data.default, - array: data.array + xdefault: JSON.stringify(data?.default) }); } export async function updatePoint( databaseId: string, tableId: string, - data: Partial, + data: Partial, originalKey?: string ) { - await sdk.forProject(page.params.region, page.params.project).tablesDB.updateBooleanColumn({ + await sdk.forProject(page.params.region, page.params.project).tablesDB.updatePointColumn({ databaseId, tableId, key: originalKey, required: data.required, - xdefault: data.default, + xdefault: JSON.stringify(data?.default), newKey: data.key !== originalKey ? data.key : undefined }); } - + + {#if showDefaultPointDummyData} + {#each DEFAULT_STATE_DUMMY_DATA} + + {/each} + {:else} + {#each data.default as number[] as _, index} + + {/each} + {/if} + + - diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts index 54d8f8a84..40c719ea4 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts @@ -45,7 +45,16 @@ export type Option = { | 'Polygon'; sentenceName: string; component: Component; - type: 'string' | 'integer' | 'double' | 'boolean' | 'datetime' | 'relationship' | 'point' | 'line' | 'polygon'; + type: + | 'string' + | 'integer' + | 'double' + | 'boolean' + | 'datetime' + | 'relationship' + | 'point' + | 'line' + | 'polygon'; create: ( databaseId: string, tableId: string, diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts index 607773b8b..293eeef8f 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts @@ -15,6 +15,9 @@ export type Columns = | Models.ColumnIp | Models.ColumnString | Models.ColumnUrl + | Models.ColumnPoint + | Models.ColumnLine + | Models.ColumnPolygon | (Models.ColumnRelationship & { default?: never }); type Table = Omit & { From b6596dbfef68411a986b0935a0fd1678cdd73779 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 4 Sep 2025 16:14:54 +0530 Subject: [PATCH 008/147] updated point column --- .../table-[table]/columns/point.svelte | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte index 46ad215de..c13777785 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte @@ -44,7 +44,7 @@ }; import { createConservative } from '$lib/helpers/stores'; - import { Selector, Layout } from '@appwrite.io/pink-svelte'; + import { Selector, Layout, Typography } from '@appwrite.io/pink-svelte'; let savedDefault = data.default; let showDefaultPointDummyData = false; @@ -74,21 +74,27 @@ $: handleDefaultState($required); - - {#if showDefaultPointDummyData} - {#each DEFAULT_STATE_DUMMY_DATA} - - {/each} - {:else} - {#each data.default as number[] as _, index} - - {/each} - {/if} + + + Default + Optional + + + {#if showDefaultPointDummyData} + {#each DEFAULT_STATE_DUMMY_DATA} + + {/each} + {:else} + {#each data.default as number[] as _, index} + + {/each} + {/if} + Date: Thu, 4 Sep 2025 16:41:08 +0530 Subject: [PATCH 009/147] added a input shape component for adding coordinates --- src/lib/elements/forms/inputShape.svelte | 36 ++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/lib/elements/forms/inputShape.svelte diff --git a/src/lib/elements/forms/inputShape.svelte b/src/lib/elements/forms/inputShape.svelte new file mode 100644 index 000000000..c04bee7d9 --- /dev/null +++ b/src/lib/elements/forms/inputShape.svelte @@ -0,0 +1,36 @@ + + + + + Default + Optional + + + + {#if showDefaults} + {#each defaultValues as _, index} + + {/each} + {:else} + {#each values as value, index} + + {/each} + {/if} + + From b10916cd05e656917b1f0e027ea5ceba4cad3519 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 4 Sep 2025 16:41:20 +0530 Subject: [PATCH 010/147] updated point with input shape component --- .../table-[table]/columns/point.svelte | 35 +++++-------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte index c13777785..1dfad8a5e 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte @@ -35,16 +35,15 @@ - - - Default - Optional - - - {#if showDefaultPointDummyData} - {#each DEFAULT_STATE_DUMMY_DATA} - - {/each} - {:else} - {#each data.default as number[] as _, index} - - {/each} - {/if} - - + Date: Thu, 4 Sep 2025 17:53:41 +0530 Subject: [PATCH 011/147] Only show certificate logs when status is unverified --- .../sites/site-[site]/domains/table.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte index 240bb5ee6..39c15b546 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte @@ -99,7 +99,7 @@ - {#if rule.logs} + {#if rule.logs && rule.status === 'unverified'} { @@ -121,7 +121,7 @@ Retry {/if} - {#if rule.logs || (rule.status !== 'verified' && rule.status !== 'verifying')} + {#if rule.logs && rule.status === 'unverified'}
Date: Thu, 4 Sep 2025 18:08:52 +0530 Subject: [PATCH 012/147] Convert style into class --- .../sites/site-[site]/domains/table.svelte | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte index 39c15b546..025396211 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte @@ -122,10 +122,7 @@ {/if} {#if rule.logs && rule.status === 'unverified'} -
+
{/if} @@ -162,3 +159,11 @@ {#if showLogs} {/if} + + From a019c996f566eb02e3e4d0ec4672f3cb38ee6998 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 4 Sep 2025 21:15:09 +0530 Subject: [PATCH 013/147] updated spatial type and individual spatial input componet --- src/lib/components/filters/store.ts | 145 +++++++++++++++++- src/lib/elements/forms/index.ts | 1 + src/lib/elements/forms/inputLine.svelte | 31 ++++ src/lib/elements/forms/inputPoint.svelte | 26 ++++ .../table-[table]/columns/line.svelte | 80 +++++----- .../table-[table]/columns/point.svelte | 19 +-- .../table-[table]/columns/store.ts | 10 +- .../table-[table]/rows/store.ts | 10 ++ 8 files changed, 263 insertions(+), 59 deletions(-) create mode 100644 src/lib/elements/forms/inputLine.svelte create mode 100644 src/lib/elements/forms/inputPoint.svelte diff --git a/src/lib/components/filters/store.ts b/src/lib/components/filters/store.ts index 1561b2d30..c25113dbb 100644 --- a/src/lib/components/filters/store.ts +++ b/src/lib/components/filters/store.ts @@ -124,7 +124,19 @@ export enum ValidOperators { NotEqual = 'not equal', IsNotNull = 'is not null', IsNull = 'is null', - Contains = 'contains' + Contains = 'contains', + Crosses = 'crosses', + NotCrosses = 'not crosses', + DistanceEqual = 'distance equal', + DistanceNotEqual = 'distance not equal', + DistanceGreaterThan = 'distance greater than', + DistanceLessThan = 'distance less than', + Intersects = 'intersects', + NotIntersects = 'not intersects', + Overlaps = 'overlaps', + NotOverlaps = 'not overlaps', + Touches = 'touches', + NotTouches = 'not touches' } export enum ValidTypes { @@ -134,7 +146,10 @@ export enum ValidTypes { Boolean = 'boolean', Datetime = 'datetime', Relationship = 'relationship', - Enum = 'enum' + Enum = 'enum', + Point = 'point', + Line = 'linestring', + Polygon = 'polygon' } const operatorsDefault = new Map< @@ -184,7 +199,10 @@ const operatorsDefault = new Map< ValidTypes.Integer, ValidTypes.Double, ValidTypes.Boolean, - ValidTypes.Enum + ValidTypes.Enum, + ValidTypes.Point, + ValidTypes.Line, + ValidTypes.Polygon ] } ], @@ -192,7 +210,15 @@ const operatorsDefault = new Map< ValidOperators.NotEqual, { query: Query.notEqual, - types: [ValidTypes.String, ValidTypes.Integer, ValidTypes.Double, ValidTypes.Boolean] + types: [ + ValidTypes.String, + ValidTypes.Integer, + ValidTypes.Double, + ValidTypes.Boolean, + ValidTypes.Point, + ValidTypes.Line, + ValidTypes.Polygon + ] } ], [ @@ -205,7 +231,10 @@ const operatorsDefault = new Map< ValidTypes.Double, ValidTypes.Boolean, ValidTypes.Datetime, - ValidTypes.Relationship + ValidTypes.Relationship, + ValidTypes.Point, + ValidTypes.Line, + ValidTypes.Polygon ], hideInput: true } @@ -220,7 +249,10 @@ const operatorsDefault = new Map< ValidTypes.Double, ValidTypes.Boolean, ValidTypes.Datetime, - ValidTypes.Relationship + ValidTypes.Relationship, + ValidTypes.Point, + ValidTypes.Line, + ValidTypes.Polygon ], hideInput: true } @@ -235,9 +267,108 @@ const operatorsDefault = new Map< ValidTypes.Double, ValidTypes.Boolean, ValidTypes.Datetime, - ValidTypes.Enum + ValidTypes.Enum, + ValidTypes.Point, + ValidTypes.Line, + ValidTypes.Polygon ] } + ], + [ + ValidOperators.Crosses, + { + query: (col: string, input: string | number | string[]) => + `crosses(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.NotCrosses, + { + query: (col: string, input: string | number | string[]) => + `notCrosses(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.DistanceEqual, + { + query: (col: string, input: string | number | string[]) => + `distanceEqual(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Point, ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.DistanceNotEqual, + { + query: (col: string, input: string | number | string[]) => + `distanceNotEqual(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Point, ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.DistanceGreaterThan, + { + query: (col: string, input: string | number | string[]) => + `distanceGreaterThan(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Point, ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.DistanceLessThan, + { + query: (col: string, input: string | number | string[]) => + `distanceLessThan(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Point, ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.Intersects, + { + query: (col: string, input: string | number | string[]) => + `intersects(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Point, ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.NotIntersects, + { + query: (col: string, input: string | number | string[]) => + `notIntersects(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Point, ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.Overlaps, + { + query: (col: string, input: string | number | string[]) => + `overlaps(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.NotOverlaps, + { + query: (col: string, input: string | number | string[]) => + `notOverlaps(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.Touches, + { + query: (col: string, input: string | number | string[]) => + `touches(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Point, ValidTypes.Line, ValidTypes.Polygon] + } + ], + [ + ValidOperators.NotTouches, + { + query: (col: string, input: string | number | string[]) => + `notTouches(${col}, ${JSON.stringify(input)})`, + types: [ValidTypes.Point, ValidTypes.Line, ValidTypes.Polygon] + } ] ]); diff --git a/src/lib/elements/forms/index.ts b/src/lib/elements/forms/index.ts index 20b970669..9b6006876 100644 --- a/src/lib/elements/forms/index.ts +++ b/src/lib/elements/forms/index.ts @@ -31,3 +31,4 @@ export { default as InputDigits } from './inputDigits.svelte'; export { default as InputSelectCheckbox } from './inputSelectCheckbox.svelte'; export { default as InputFilePicker } from './inputFilePicker.svelte'; export { default as Seekbar } from './Seekbar.svelte'; +export { default as InputPoint } from './inputPoint.svelte'; diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte new file mode 100644 index 000000000..73f91f21c --- /dev/null +++ b/src/lib/elements/forms/inputLine.svelte @@ -0,0 +1,31 @@ + + + + + {#each values || defaultValues as value, index} + + {/each} + + + + + diff --git a/src/lib/elements/forms/inputPoint.svelte b/src/lib/elements/forms/inputPoint.svelte new file mode 100644 index 000000000..8fbf15712 --- /dev/null +++ b/src/lib/elements/forms/inputPoint.svelte @@ -0,0 +1,26 @@ + + + + + {#if showDefaults} + {#each defaultValues as _, index} + + {/each} + {:else} + {#each values as value, index} + + {/each} + {/if} + + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index 8b41849cb..0cc0439d4 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -7,82 +7,82 @@ databaseId: string, tableId: string, key: string, - data: Partial + data: Partial ) { - await sdk.forProject(page.params.region, page.params.project).tablesDB.createBooleanColumn({ + await sdk.forProject(page.params.region, page.params.project).tablesDB.createLineColumn({ databaseId, tableId, key, required: data.required, - xdefault: data.default, - array: data.array + xdefault: JSON.stringify(data?.default) }); } export async function updateLine( databaseId: string, tableId: string, - data: Partial, + data: Partial, originalKey?: string ) { - await sdk.forProject(page.params.region, page.params.project).tablesDB.updateBooleanColumn({ + await sdk.forProject(page.params.region, page.params.project).tablesDB.updateLineColumn({ databaseId, tableId, key: originalKey, required: data.required, - xdefault: data.default, + xdefault: JSON.stringify(data?.default), newKey: data.key !== originalKey ? data.key : undefined }); } - - + + + + Default + Optional + + + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte index 1dfad8a5e..90133e285 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte @@ -35,7 +35,7 @@ - - + + + + Default + Optional + + + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts index 40c719ea4..4a2280cd3 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts @@ -41,7 +41,7 @@ export type Option = { | 'Enum' | 'Relationship' | 'Point' - | 'Line' + | 'Linestring' | 'Polygon'; sentenceName: string; component: Component; @@ -53,7 +53,7 @@ export type Option = { | 'datetime' | 'relationship' | 'point' - | 'line' + | 'linestring' | 'polygon'; create: ( databaseId: string, @@ -127,10 +127,10 @@ export const columnOptions: Option[] = [ icon: IconGlobe }, { - name: 'Line', - sentenceName: 'line', + name: 'Linestring', + sentenceName: 'linestring', component: Line, - type: 'line', + type: 'linestring', create: submitLine, update: updateLine, icon: IconGlobe diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/store.ts index 7341487f8..331416428 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/store.ts @@ -21,6 +21,16 @@ export function isString(column: Columns): column is Models.ColumnString { return column?.type === 'string'; } +export function isSpatialType( + column: Columns +): column is Models.ColumnPoint | Models.ColumnLine | Models.ColumnPolygon { + if (!column) return false; + + const spatialTypes = ['point', 'linestring', 'polygon']; + + return spatialTypes.includes(column.type.toLowerCase()); +} + /** * Returns select queries for all main and related fields in a table. */ From 76d49aedb3e6a72896051c42324ad84b78d2275d Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 4 Sep 2025 21:15:30 +0530 Subject: [PATCH 014/147] updated column types --- src/lib/elements/forms/inputShape.svelte | 36 ------------------- src/lib/helpers/types.ts | 7 +++- .../table-[table]/columns/+page.svelte | 4 +-- 3 files changed, 8 insertions(+), 39 deletions(-) delete mode 100644 src/lib/elements/forms/inputShape.svelte diff --git a/src/lib/elements/forms/inputShape.svelte b/src/lib/elements/forms/inputShape.svelte deleted file mode 100644 index c04bee7d9..000000000 --- a/src/lib/elements/forms/inputShape.svelte +++ /dev/null @@ -1,36 +0,0 @@ - - - - - Default - Optional - - - - {#if showDefaults} - {#each defaultValues as _, index} - - {/each} - {:else} - {#each values as value, index} - - {/each} - {/if} - - diff --git a/src/lib/helpers/types.ts b/src/lib/helpers/types.ts index abb4c133a..df6fba0d9 100644 --- a/src/lib/helpers/types.ts +++ b/src/lib/helpers/types.ts @@ -35,7 +35,10 @@ const columnTypes = [ 'boolean', 'datetime', 'relationship', - 'enum' + 'enum', + 'point', + 'linestring', + 'polygon' ] as const; export type ColumnType = (typeof columnTypes)[number]; export type Column = PinkColumn & { @@ -77,3 +80,5 @@ export type TableRootProp = { addAvailableId: (id: string) => void; removeAvailableId: (id: string) => void; }; + +export type NestedNumberArray = Array; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte index 643e77376..1d2930e48 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte @@ -15,7 +15,7 @@ Tooltip, Typography } from '@appwrite.io/pink-svelte'; - import { isRelationship, isString } from '../rows/store'; + import { isRelationship, isSpatialType, isString } from '../rows/store'; import FailedModal from '../failedModal.svelte'; import { columns, @@ -329,7 +329,7 @@ {#if _default === null} {:else} - {_default} + {isSpatialType(column) ? JSON.stringify(_default) : _default} {/if} From 86a4c857f70502e273c31ea52dd69831f3a0d3b4 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 4 Sep 2025 23:13:01 +0530 Subject: [PATCH 015/147] added rows in the spreadsheet and row creation --- src/lib/elements/forms/index.ts | 1 + .../table-[table]/columns/line.svelte | 2 +- .../table-[table]/rows/columns/column.svelte | 11 +++++-- .../rows/columns/types/line.svelte | 31 +++++++++++++++++++ .../rows/columns/types/point.svelte | 23 ++++++++++++++ 5 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte create mode 100644 src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte diff --git a/src/lib/elements/forms/index.ts b/src/lib/elements/forms/index.ts index 9b6006876..bae2ceff5 100644 --- a/src/lib/elements/forms/index.ts +++ b/src/lib/elements/forms/index.ts @@ -32,3 +32,4 @@ export { default as InputSelectCheckbox } from './inputSelectCheckbox.svelte'; export { default as InputFilePicker } from './inputFilePicker.svelte'; export { default as Seekbar } from './Seekbar.svelte'; export { default as InputPoint } from './inputPoint.svelte'; +export { default as InputLine } from './inputLine.svelte'; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index 0cc0439d4..abde2c4a7 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -45,7 +45,7 @@ import { createConservative } from '$lib/helpers/stores'; import { Selector, Layout, Typography } from '@appwrite.io/pink-svelte'; - import InputLine from '$lib/elements/forms/inputLine.svelte'; + import { InputLine } from '$lib/elements/forms'; let savedDefault = data.default; let showDefaultPointDummyData = false; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte index 04e9ed662..82e786299 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte @@ -7,6 +7,8 @@ import Relationship from './types/relationship.svelte'; import String from './types/string.svelte'; import Url from './types/url.svelte'; + import Point from './types/point.svelte'; + import Line from './types/line.svelte'; export let id: string; export let label: string; @@ -24,7 +26,10 @@ | Models.ColumnIp | Models.ColumnString | Models.ColumnDatetime - | Models.ColumnUrl; + | Models.ColumnUrl + | Models.ColumnPoint + | Models.ColumnLine + | Models.ColumnPolygon; const columnsTypeMap = { string: String, @@ -32,7 +37,9 @@ double: Integer, boolean: Boolean, datetime: Datetime, - relationship: Relationship + relationship: Relationship, + point: Point, + linestring: Line }; const columnsFormatMap = { diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte new file mode 100644 index 000000000..9b903b975 --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte @@ -0,0 +1,31 @@ + + + + + {label} + {#if nullable} + optional + {/if} + + + + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte new file mode 100644 index 000000000..3bc780172 --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte @@ -0,0 +1,23 @@ + + + + + {label} + {#if nullable} + optional + {/if} + + + From 85c1a140573986ad4d370a11231f15ad30ad6799 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 4 Sep 2025 23:39:12 +0530 Subject: [PATCH 016/147] add delete option for the points --- src/lib/elements/forms/inputLine.svelte | 14 +++++++++++--- src/lib/elements/forms/inputPoint.svelte | 12 +++++++++++- .../table-[table]/columns/line.svelte | 9 +++++++-- .../table-[table]/columns/store.ts | 4 ++-- .../table-[table]/rows/columns/types/line.svelte | 8 ++++++-- 5 files changed, 37 insertions(+), 10 deletions(-) diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte index 73f91f21c..d2563ec9c 100644 --- a/src/lib/elements/forms/inputLine.svelte +++ b/src/lib/elements/forms/inputLine.svelte @@ -10,21 +10,29 @@ ]; export let values: number[][]; export let showDefaults; - export let addCoordinate: () => void; + export let onAddPoint: () => void; + export let onDeletePoint: () => void = undefined; let required = true; $: required = showDefaults; + + $: disableDeletePoints = !values || values.length <= 2; {#each values || defaultValues as value, index} - + {/each} - diff --git a/src/lib/elements/forms/inputPoint.svelte b/src/lib/elements/forms/inputPoint.svelte index 8fbf15712..7fb61d4f6 100644 --- a/src/lib/elements/forms/inputPoint.svelte +++ b/src/lib/elements/forms/inputPoint.svelte @@ -1,10 +1,15 @@ @@ -22,5 +27,10 @@ step={0.001} /> {/each} {/if} + {#if deletePoints} + + {/if} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index abde2c4a7..05da0a3dc 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -69,6 +69,10 @@ (data.default as number[][]).push([0, 0]); } + function deleteCoordinate() { + if ((data.default as number[][]).length > 2) (data.default as number[][]).pop(); + } + const { stores: { required }, listen @@ -98,6 +102,7 @@ + onAddPoint={pushCoordinate} + showDefaults={showDefaultPointDummyData} + onDeletePoint={deleteCoordinate} /> diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts index 4a2280cd3..ad7f5087f 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts @@ -41,7 +41,7 @@ export type Option = { | 'Enum' | 'Relationship' | 'Point' - | 'Linestring' + | 'Line' | 'Polygon'; sentenceName: string; component: Component; @@ -127,7 +127,7 @@ export const columnOptions: Option[] = [ icon: IconGlobe }, { - name: 'Linestring', + name: 'Line', sentenceName: 'linestring', component: Line, type: 'linestring', diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte index 9b903b975..d230c5523 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte @@ -12,10 +12,14 @@ [0, 0], [0, 0] ]; - function addCoordinate() { + function onAddPoint() { value = [...(value || defaultShape), [0, 0]]; } + function onDeletePoint() { + if (value && value?.length > 2) value = value.slice(0, value.length - 1); + } + $: nullable = !limited ? !column.required : false; @@ -27,5 +31,5 @@ {/if} - + From 6845fa5decad53b1fd6884176dbb4a58c36603b4 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Fri, 5 Sep 2025 12:53:18 +0530 Subject: [PATCH 017/147] remove deletion from bucket --- .../storage/+page.ts | 6 +- .../storage/table.svelte | 81 +------------------ 2 files changed, 5 insertions(+), 82 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/storage/+page.ts b/src/routes/(console)/project-[region]-[project]/storage/+page.ts index 06d0ff470..f83547708 100644 --- a/src/routes/(console)/project-[region]-[project]/storage/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/storage/+page.ts @@ -1,12 +1,10 @@ import { Query } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getSearch, getView, pageToOffset, View } from '$lib/helpers/load'; -import { CARD_LIMIT, Dependencies } from '$lib/constants'; +import { CARD_LIMIT } from '$lib/constants'; import type { PageLoad } from './$types'; -export const load: PageLoad = async ({ url, route, params, depends }) => { - depends(Dependencies.BUCKET); - +export const load: PageLoad = async ({ url, route, params }) => { const page = getPage(url); const search = getSearch(url); const view = getView(url, route, View.Grid); diff --git a/src/routes/(console)/project-[region]-[project]/storage/table.svelte b/src/routes/(console)/project-[region]-[project]/storage/table.svelte index 3ea8e4b0b..accff4d00 100644 --- a/src/routes/(console)/project-[region]-[project]/storage/table.svelte +++ b/src/routes/(console)/project-[region]-[project]/storage/table.svelte @@ -5,59 +5,12 @@ import { toLocaleDateTime } from '$lib/helpers/date'; import type { PageData } from './$types'; import { columns } from './store'; - import { Table, FloatingActionBar, Badge, Typography } from '@appwrite.io/pink-svelte'; - import { Button } from '$lib/elements/forms'; - import { sdk } from '$lib/stores/sdk'; - import { Submit, trackError, trackEvent } from '$lib/actions/analytics'; - import { Dependencies } from '$lib/constants'; - import { addNotification } from '$lib/stores/notifications'; - import { invalidate } from '$app/navigation'; - import Confirm from '$lib/components/confirm.svelte'; - import { canWriteBuckets } from '$lib/stores/roles'; + import { Table } from '@appwrite.io/pink-svelte'; export let data: PageData; - - let selectedBuckets: string[] = []; - let showDelete = false; - let deleting = false; - - async function handleDelete() { - showDelete = false; - deleting = true; - - const promises = selectedBuckets.map((bucketId) => - sdk.forProject(page.params.region, page.params.project).storage.deleteBucket(bucketId) - ); - - try { - await Promise.all(promises); - trackEvent(Submit.BucketDelete, { - total: selectedBuckets.length - }); - addNotification({ - type: 'success', - message: `${selectedBuckets.length} bucket${selectedBuckets.length > 1 ? 's' : ''} deleted` - }); - invalidate(Dependencies.BUCKET); - } catch (error) { - addNotification({ - type: 'error', - message: error.message - }); - trackError(error, Submit.BucketDelete); - } finally { - selectedBuckets = []; - showDelete = false; - deleting = false; - } - } - + {#each $columns as { id, title }} {title} @@ -66,8 +19,7 @@ {#each data.buckets.buckets as bucket (bucket.$id)} + href={`${base}/project-${page.params.region}-${page.params.project}/storage/bucket-${bucket.$id}`}> {#each $columns as column} {#if column.id === '$id'} @@ -86,30 +38,3 @@ {/each} - -{#if selectedBuckets.length > 0} - - - - - {selectedBuckets.length > 1 ? 'buckets' : 'bucket'} - selected - - - - - - - -{/if} - - - - Are you sure you want to delete {selectedBuckets.length} - {selectedBuckets.length > 1 ? 'buckets' : 'bucket'}? - - - This action is irreversible and will permanently remove the selected buckets and all their - files. - - From 966bc6ba1d0a89b66316f2b30a9381b0adf940ff Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Fri, 5 Sep 2025 17:17:13 +0530 Subject: [PATCH 018/147] added the spatial view in the spreadsheet --- .../database-[database]/table-[table]/spreadsheet.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte index 5db4b40e6..5909dd8b4 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte @@ -16,6 +16,7 @@ buildWildcardColumnsQuery, isRelationship, isRelationshipToMany, + isSpatialType, isString } from './rows/store'; import { @@ -906,6 +907,10 @@ variant="secondary" size="s" /> {/if} + {:else if isSpatialType(rowColumn)} + + {JSON.stringify(row[columnId])} + {:else} {@const value = row[columnId]} {@const formatted = formatColumn(row[columnId])} @@ -954,7 +959,7 @@ {row} column={rowColumn} onRowStructureUpdate={updateRowContents} - noInlineEdit={isRelationshipToMany(rowColumn)} + noInlineEdit={isRelationshipToMany(rowColumn) || isSpatialType(rowColumn)} onChange={(row) => paginatedRows.update(index, row)} onRevert={(row) => paginatedRows.update(index, row)} openSideSheet={() => { From 0a03c56d8c9fd3722b7e522a24c49fb9eff58758 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Sat, 6 Sep 2025 11:00:36 +0530 Subject: [PATCH 019/147] * updated sdk * updated line , point default types * spreadsheet cell for spatial types open in sidesheet --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- src/lib/elements/forms/inputLine.svelte | 2 +- .../table-[table]/columns/line.svelte | 4 ++-- .../table-[table]/columns/point.svelte | 4 ++-- .../table-[table]/spreadsheet.svelte | 3 ++- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 76d311983..f5133853e 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec", + "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@2cf27e0", "@appwrite.io/pink-legacy": "^1.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 62b71c51e..5ce69c768 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: ^1.1.24 version: 1.1.24(svelte@5.25.3)(zod@3.24.3) '@appwrite.io/console': - specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec - version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec + specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c + version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c '@appwrite.io/pink-icons': specifier: 0.25.0 version: 0.25.0 @@ -260,8 +260,8 @@ packages: '@analytics/type-utils@0.6.2': resolution: {integrity: sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==} - '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec': - resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c': + resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c} version: 1.10.0 '@appwrite.io/pink-icons-svelte@2.0.0-RC.1': @@ -3700,7 +3700,7 @@ snapshots: '@analytics/type-utils@0.6.2': {} - '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@6d2d4ec': {} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c': {} '@appwrite.io/pink-icons-svelte@2.0.0-RC.1(svelte@5.25.3)': dependencies: diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte index d2563ec9c..4e3f9915f 100644 --- a/src/lib/elements/forms/inputLine.svelte +++ b/src/lib/elements/forms/inputLine.svelte @@ -22,7 +22,7 @@ - {#each values || defaultValues as value, index} + {#each values || defaultValues as value} paginatedRows.update(index, row)} onRevert={(row) => paginatedRows.update(index, row)} openSideSheet={() => { From 8a5eca914cd4c18bf4f92d3cb8f69f93ebf022a2 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Sat, 6 Sep 2025 14:01:56 +0530 Subject: [PATCH 020/147] Refactor spatial input components to use nullable properties and default spatial data --- src/lib/elements/forms/inputLine.svelte | 22 +++--- src/lib/elements/forms/inputPoint.svelte | 10 +-- src/lib/elements/forms/inputPolygon.svelte | 29 ++++++++ .../table-[table]/columns/line.svelte | 23 +++--- .../table-[table]/columns/point.svelte | 16 +++-- .../table-[table]/columns/polygon.svelte | 70 +++++++++---------- .../rows/columns/types/line.svelte | 25 ++++--- .../rows/columns/types/point.svelte | 10 ++- .../table-[table]/store.ts | 28 +++++++- 9 files changed, 139 insertions(+), 94 deletions(-) create mode 100644 src/lib/elements/forms/inputPolygon.svelte diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte index 4e3f9915f..a89af29b6 100644 --- a/src/lib/elements/forms/inputLine.svelte +++ b/src/lib/elements/forms/inputLine.svelte @@ -4,36 +4,30 @@ import Button from './button.svelte'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; - let defaultValues: number[][] = [ - [0, 0], - [0, 0] - ]; export let values: number[][]; - export let showDefaults; + export let nullable: boolean; export let onAddPoint: () => void; export let onDeletePoint: () => void = undefined; let required = true; - $: required = showDefaults; + $: required = nullable; $: disableDeletePoints = !values || values.length <= 2; - + - {#each values || defaultValues as value} + {#each values as value} {/each} - - - + diff --git a/src/lib/elements/forms/inputPoint.svelte b/src/lib/elements/forms/inputPoint.svelte index 7fb61d4f6..387ee3283 100644 --- a/src/lib/elements/forms/inputPoint.svelte +++ b/src/lib/elements/forms/inputPoint.svelte @@ -4,9 +4,9 @@ import Button from './button.svelte'; import { IconX } from '@appwrite.io/pink-icons-svelte'; - let defaultValues: number[] = [0, 0]; + let nullableSkeletonShape: number[] = [0, 0]; export let values: number[]; - export let showDefaults; + export let nullable = false; export let deletePoints = false; export let onDeletePoint: () => void = undefined; export let disableDelete = false; @@ -14,8 +14,8 @@ - {#if showDefaults} - {#each defaultValues as _, index} + {#if nullable} + {#each nullableSkeletonShape as _, index} {/each} {:else} @@ -28,7 +28,7 @@ {/each} {/if} {#if deletePoints} - {/if} diff --git a/src/lib/elements/forms/inputPolygon.svelte b/src/lib/elements/forms/inputPolygon.svelte new file mode 100644 index 000000000..169c09d0c --- /dev/null +++ b/src/lib/elements/forms/inputPolygon.svelte @@ -0,0 +1,29 @@ + + + + {#each values as value} + + {/each} + + + + + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index 588229e23..4d1233264 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -35,33 +35,26 @@ - - + + + + Default + Optional + + {}} + onAddPoint={() => {}} /> + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte index d230c5523..99435757c 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte @@ -2,18 +2,17 @@ import { InputLine } from '$lib/elements/forms'; import type { Models } from '@appwrite.io/console'; import { Layout, Typography } from '@appwrite.io/pink-svelte'; + import { getDefaultSpatialData } from '../../../store'; export let id: string; export let label: string; - export let value: number[][] | null = null; + export let value: number[][]; export let limited: boolean = false; - export let column: Models.ColumnInteger; - const defaultShape = [ - [0, 0], - [0, 0] - ]; + export let column: Models.ColumnLine; + + const defaultData = getDefaultSpatialData('linestring') as number[][]; function onAddPoint() { - value = [...(value || defaultShape), [0, 0]]; + value = [...(value || defaultData), getDefaultSpatialData('point') as number[]]; } function onDeletePoint() { @@ -21,15 +20,19 @@ } $: nullable = !limited ? !column.required : false; + + $: value = nullable ? null : defaultData; + + $: console.log({ name: column.key, column, nullable }); - {label} + {label} {#if nullable} - optional + optional {/if} - - + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte index 3bc780172..216394c00 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte @@ -2,6 +2,7 @@ import { InputPoint } from '$lib/elements/forms'; import type { Models } from '@appwrite.io/console'; import { Layout, Typography } from '@appwrite.io/pink-svelte'; + import { getDefaultSpatialData } from '../../../store'; export let id: string; export let label: string; @@ -10,14 +11,17 @@ export let column: Models.ColumnInteger; $: nullable = !limited ? !column.required : false; + + $: value = nullable ? null : (getDefaultSpatialData('point') as number[]); - {label} + {label} {#if nullable} - optional + optional {/if} - + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts index 293eeef8f..be8b019f7 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts @@ -1,5 +1,5 @@ import { page } from '$app/stores'; -import type { Column } from '$lib/helpers/types'; +import type { Column, ColumnType } from '$lib/helpers/types'; import type { Models } from '@appwrite.io/console'; import { derived, writable } from 'svelte/store'; import type { SortDirection } from '$lib/components'; @@ -191,3 +191,29 @@ export const PROHIBITED_ROW_KEYS = [ ]; export const sheetHeightStore = writable('74.5vh'); + +export const getDefaultSpatialData = ( + type: Extract +) => { + if (type === 'point') return [0, 0]; + else if (type === 'linestring') + return [ + [0, 0], + [0, 0] + ]; + else if (type === 'polygon') + return [ + [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ], + [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ] + ]; +}; From fe7ea4113b79ebfeb9b0eaae1e06d6e35e00f1ac Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Sat, 6 Sep 2025 14:58:32 +0530 Subject: [PATCH 021/147] Add InputPolygon component and enhance spatial input handling - Introduced InputPolygon component for polygon spatial data input. - Updated InputLine and InputPoint components to support index-based point addition and deletion. - Modified line and point components to handle default spatial data more effectively. - Enhanced column components to manage spatial data types including polygon. --- src/lib/elements/forms/index.ts | 1 + src/lib/elements/forms/inputLine.svelte | 15 +++---- src/lib/elements/forms/inputPolygon.svelte | 18 ++++++--- .../table-[table]/columns/line.svelte | 31 +++++++++------ .../table-[table]/columns/point.svelte | 9 ++++- .../table-[table]/columns/polygon.svelte | 39 +++++++++++++++++-- .../table-[table]/rows/columns/column.svelte | 4 +- .../rows/columns/types/line.svelte | 11 +++++- .../rows/columns/types/polygon.svelte | 27 +++++++++++++ 9 files changed, 121 insertions(+), 34 deletions(-) create mode 100644 src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte diff --git a/src/lib/elements/forms/index.ts b/src/lib/elements/forms/index.ts index bae2ceff5..8dcb7e5aa 100644 --- a/src/lib/elements/forms/index.ts +++ b/src/lib/elements/forms/index.ts @@ -33,3 +33,4 @@ export { default as InputFilePicker } from './inputFilePicker.svelte'; export { default as Seekbar } from './Seekbar.svelte'; export { default as InputPoint } from './inputPoint.svelte'; export { default as InputLine } from './inputLine.svelte'; +export { default as InputPolygon } from './inputPolygon.svelte'; diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte index a89af29b6..5fc0089e7 100644 --- a/src/lib/elements/forms/inputLine.svelte +++ b/src/lib/elements/forms/inputLine.svelte @@ -6,28 +6,29 @@ export let values: number[][]; export let nullable: boolean; - export let onAddPoint: () => void; - export let onDeletePoint: () => void = undefined; + export let disableDeletePointsCountPerLine: number = 2; + export let onAddPoint: (index: number) => void; + export let onDeletePoint: (index: number) => void = undefined; let required = true; $: required = nullable; - - $: disableDeletePoints = !values || values.length <= 2; + let disableDeletePoints = false; + $: disableDeletePoints = !values || values.length <= disableDeletePointsCountPerLine; - {#each values as value} + {#each values as value, index} + onDeletePoint={() => onDeletePoint(index)} /> {/each} - diff --git a/src/lib/elements/forms/inputPolygon.svelte b/src/lib/elements/forms/inputPolygon.svelte index 169c09d0c..e21cfb01c 100644 --- a/src/lib/elements/forms/inputPolygon.svelte +++ b/src/lib/elements/forms/inputPolygon.svelte @@ -7,9 +7,10 @@ export let values: NestedNumberArray; export let nullable; - export let onAddPoint: () => void; - export let onAddLine: () => void; - export let onDeletePoint: () => void = undefined; + export let onAddPoint: (index: number) => void; + export let onAddLine: (index: number) => void; + export let onDeletePoint: (index: number) => void = undefined; + export let disableDeletePointsCountPerLine: number = 4; let required = true; @@ -17,12 +18,17 @@ - {#each values as value} - + {#each values as value, index} + onAddPoint(index)} + nullable={required} + onDeletePoint={() => onDeletePoint(index)} + {disableDeletePointsCountPerLine} /> {/each} - diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index 4d1233264..b811f07c3 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -35,19 +35,23 @@ + onDeletePoint={deleteCoordinate} + {disableDeletePoints} /> diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte index 663a5b2fb..503e930ed 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte @@ -39,12 +39,13 @@ import { getDefaultSpatialData } from '../store'; import { createConservative } from '$lib/helpers/stores'; import { Selector, Typography, Layout } from '@appwrite.io/pink-svelte'; + import { onMount } from 'svelte'; const defaultData = getDefaultSpatialData('point') as number[]; export let data: Partial = { required: false, - default: defaultData + default: null }; let savedDefault = data.default; @@ -68,6 +69,10 @@ }); $: listen(data); + onMount(() => { + data.default = data.required ? null : defaultData; + }); + $: handleDefaultState($required); $: showDefaultPointDummyData = $required ? true : false; @@ -86,5 +91,5 @@ Default Optional - + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte index cde0ede51..6f3f7bbfc 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte @@ -37,13 +37,14 @@ @@ -34,5 +36,10 @@ >optional {/if} - + diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte new file mode 100644 index 000000000..216394c00 --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte @@ -0,0 +1,27 @@ + + + + + {label} + {#if nullable} + optional + {/if} + + + From 90fd508af68c9af08a0b389f4e04aa86ff80af66 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Sat, 6 Sep 2025 17:42:06 +0530 Subject: [PATCH 022/147] Implement onChangePoint handlers for spatial input components and update related logic --- src/lib/elements/forms/inputLine.svelte | 12 +++- src/lib/elements/forms/inputPoint.svelte | 14 +++-- src/lib/elements/forms/inputPolygon.svelte | 19 ++++++ .../table-[table]/columns/line.svelte | 9 +-- .../table-[table]/columns/point.svelte | 9 ++- .../table-[table]/columns/polygon.svelte | 7 ++- .../rows/columns/types/line.svelte | 10 +++- .../rows/columns/types/point.svelte | 10 +++- .../rows/columns/types/polygon.svelte | 60 +++++++++++++++++-- 9 files changed, 127 insertions(+), 23 deletions(-) diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte index 5fc0089e7..0ba31634a 100644 --- a/src/lib/elements/forms/inputLine.svelte +++ b/src/lib/elements/forms/inputLine.svelte @@ -9,12 +9,20 @@ export let disableDeletePointsCountPerLine: number = 2; export let onAddPoint: (index: number) => void; export let onDeletePoint: (index: number) => void = undefined; + export let onChangePoint: (pointIndex: number, coordIndex: number, newValue: number) => void = + undefined; let required = true; $: required = nullable; let disableDeletePoints = false; $: disableDeletePoints = !values || values.length <= disableDeletePointsCountPerLine; + + function handlePointChange(pointIndex: number, coordIndex: number, newValue: number) { + if (onChangePoint) { + onChangePoint(pointIndex, coordIndex, newValue); + } + } @@ -25,7 +33,9 @@ values={value} deletePoints={true} disableDelete={disableDeletePoints} - onDeletePoint={() => onDeletePoint(index)} /> + onDeletePoint={() => onDeletePoint(index)} + onChangePoint={(coordIndex, newValue) => + handlePointChange(index, coordIndex, newValue)} /> {/each} + - + Learn more {:else} @@ -181,10 +187,10 @@ title="No installation was added to the project yet" description="Add an installation to connect repositories"> - + @@ -195,3 +201,61 @@ {#if showGitDisconnect} {/if} + + + MCP server + Spin up an MCP server to stream rich project context to AI tooling, unlocking deeper code understanding + and better completions. + + + + + Deploy the Appwrite MCP server with a single click, or view the docs for instructions. + + + + + + Cursor + + + + Claude Desktop + + + + VS code + + + + Windsurf editor + + + + + + + From f543fd36ab0e9beebd01b7a48f5f42145d5d5280 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Mon, 8 Sep 2025 18:14:51 +0530 Subject: [PATCH 026/147] Enhance spatial input handling by adding support for distance-based operators and updating related components --- src/lib/components/filters/content.svelte | 49 +++++++++++++++++-- src/lib/components/filters/filters.svelte | 22 ++++++++- src/lib/components/filters/store.ts | 35 ++++++------- src/lib/elements/forms/inputLine.svelte | 14 +++--- src/lib/elements/forms/inputPoint.svelte | 4 +- src/lib/elements/forms/inputPolygon.svelte | 42 +++++++++------- .../table-[table]/columns/line.svelte | 34 ++++++++----- .../table-[table]/columns/point.svelte | 38 ++++++++------ .../table-[table]/columns/polygon.svelte | 41 ++++++++++------ .../rows/columns/types/line.svelte | 37 +++++++++----- .../rows/columns/types/point.svelte | 36 ++++++++++---- .../rows/columns/types/polygon.svelte | 46 ++++++++++++----- 12 files changed, 275 insertions(+), 123 deletions(-) diff --git a/src/lib/components/filters/content.svelte b/src/lib/components/filters/content.svelte index 85f2960da..9f50cdbb2 100644 --- a/src/lib/components/filters/content.svelte +++ b/src/lib/components/filters/content.svelte @@ -6,10 +6,11 @@ InputText, InputTags, InputSelectCheckbox, - InputDateTime + InputDateTime, + InputPoint } from '$lib/elements/forms'; import { onMount, createEventDispatcher } from 'svelte'; - import { operators, addFilter, queries, tags } from './store'; + import { operators, addFilter, queries, tags, ValidOperators } from './store'; import type { Column } from '$lib/helpers/types'; import type { Writable } from 'svelte/store'; import { TagList } from '.'; @@ -18,6 +19,7 @@ let { value = $bindable(null), + distanceValue = $bindable(null), columns, columnId = $bindable(null), arrayValues = $bindable([]), @@ -27,6 +29,7 @@ // We cast to any to not cause type errors in the input components /* eslint @typescript-eslint/no-explicit-any: 'off' */ value?: any; + distanceValue?: number | null; columns: Writable; columnId?: string | null; arrayValues?: string[]; @@ -61,21 +64,44 @@ })); }); + // Check if the current operator is a distance-based operator + let isDistanceOperator = $derived(operatorKey && [ + ValidOperators.DistanceEqual, + ValidOperators.DistanceNotEqual, + ValidOperators.DistanceGreaterThan, + ValidOperators.DistanceLessThan + ].includes(operatorKey as ValidOperators)); + onMount(() => { value = column?.array ? [] : null; if (column?.type === 'datetime') { const now = new Date(); value = now.toISOString().slice(0, 16); } + // Initialize spatial data with default values + if (column?.type === 'point') { + value = [0, 0]; + } else if (column?.type === 'linestring') { + value = [[0, 0], [1, 1]]; + } else if (column?.type === 'polygon') { + value = [[[0, 0], [1, 1], [2, 2], [0, 0]]]; + } }); const dispatch = createEventDispatcher<{ clear: void; apply: { applied: number } }>(); function addFilterAndReset() { - addFilter(columnsArray, columnId, operatorKey, value, arrayValues); + // For distance operators, pass the distance as a separate parameter + if (isDistanceOperator && distanceValue !== null && value !== null) { + addFilter(columnsArray, columnId, operatorKey, value, arrayValues, distanceValue); + } else { + addFilter(columnsArray, columnId, operatorKey, value, arrayValues); + } + columnId = null; operatorKey = null; value = null; + distanceValue = null; arrayValues = []; dispatch('apply', { applied: appliedTags.length }); if (singleCondition) { @@ -143,11 +169,28 @@ {#key value} {/key} + {:else if column.type === 'point' || column.type === 'linestring' || column.type === 'polygon'} + { + if (!value) value = [0, 0]; + value[index] = newValue; + }} /> {:else} {/if} {/if} + + {#if isDistanceOperator} + + {/if} {/if} {#if !singleCondition} + {#if values} + + + {/if} diff --git a/src/lib/elements/forms/inputPoint.svelte b/src/lib/elements/forms/inputPoint.svelte index 18864e200..f4598a82a 100644 --- a/src/lib/elements/forms/inputPoint.svelte +++ b/src/lib/elements/forms/inputPoint.svelte @@ -14,10 +14,10 @@ - + {#if nullable} {#each nullableSkeletonShape as _, index} - + {/each} {:else} {#each values as _, index} diff --git a/src/lib/elements/forms/inputPolygon.svelte b/src/lib/elements/forms/inputPolygon.svelte index e30779953..6cfccbc10 100644 --- a/src/lib/elements/forms/inputPolygon.svelte +++ b/src/lib/elements/forms/inputPolygon.svelte @@ -18,10 +18,6 @@ ) => void = undefined; export let disableDeletePointsCountPerLine: number = 4; - let required = true; - - $: required = nullable; - function handlePointChange( lineIndex: number, pointIndex: number, @@ -32,23 +28,33 @@ onChangePoint(lineIndex, pointIndex, coordIndex, newValue); } } + + function handleAddLineInternal() { + if (onAddLine) { + onAddLine(-1); + } + } {#each values as value, index} - onAddPoint(index)} - nullable={required} - onDeletePoint={() => onDeletePoint(index)} - onChangePoint={(pointIndex, coordIndex, newValue) => - handlePointChange(index, pointIndex, coordIndex, newValue)} - {disableDeletePointsCountPerLine} /> + + onAddPoint(index)} + nullable={nullable} + onDeletePoint={() => onDeletePoint(index)} + onChangePoint={(pointIndex, coordIndex, newValue) => + handlePointChange(index, pointIndex, coordIndex, newValue)} + {disableDeletePointsCountPerLine} /> + {/each} - - - - + + {#if values} + + + + {/if} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index db5a66307..38b6cd269 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -36,11 +36,12 @@ - - {label} - {#if nullable} - optional + + + {label} + + {#if nullable} + optional + {:else} + Line + {/if} + + + {#if !value} + {/if} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte index 4e3a230db..802f5b5f3 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte @@ -1,8 +1,10 @@ - - {label} - {#if nullable} - optional + + + {label} + + {#if nullable} + optional + {:else} + Point + {/if} + + + {#if !value} + {/if} - - + + + \ No newline at end of file diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte index c749bf244..7fae40c0e 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte @@ -1,6 +1,8 @@ - - {label} - {#if nullable} - optional + + + {label} + + {#if nullable} + optional + {:else} + Polygon + {/if} + + + {#if !value} + {/if} Date: Mon, 8 Sep 2025 19:08:33 +0530 Subject: [PATCH 027/147] Refactor spatial input components to improve delete point logic and enhance handling of disable conditions --- src/lib/elements/forms/inputLine.svelte | 16 +++++++++++----- src/lib/elements/forms/inputPolygon.svelte | 5 +++-- .../table-[table]/columns/polygon.svelte | 9 +++++---- .../table-[table]/rows/columns/types/line.svelte | 3 ++- .../rows/columns/types/polygon.svelte | 11 ++++------- 5 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte index 3d0e91ee3..0bba663dc 100644 --- a/src/lib/elements/forms/inputLine.svelte +++ b/src/lib/elements/forms/inputLine.svelte @@ -6,20 +6,26 @@ export let values: number[][]; export let nullable: boolean; - export let disableDeletePointsCountPerLine: number = 2; + export let disableDeletePointsIndex: number = 2; + export let disableDeleteLine: boolean|undefined = undefined; export let onAddPoint: (index: number) => void; export let onDeletePoint: (index: number) => void = undefined; export let onChangePoint: (pointIndex: number, coordIndex: number, newValue: number) => void = undefined; - let disableDeletePoints = false; - $: disableDeletePoints = !values || values.length <= disableDeletePointsCountPerLine; - function handlePointChange(pointIndex: number, coordIndex: number, newValue: number) { if (onChangePoint) { onChangePoint(pointIndex, coordIndex, newValue); } } + + function isDeleteDisabled(index: number) { + let disable = index < disableDeletePointsIndex; + if (disableDeleteLine !== undefined) { + disable = disable && disableDeleteLine; + } + return disable; + } @@ -29,7 +35,7 @@ nullable={nullable} values={value} deletePoints={true} - disableDelete={disableDeletePoints} + disableDelete={isDeleteDisabled(index)} onDeletePoint={() => onDeletePoint(index)} onChangePoint={(coordIndex, newValue) => handlePointChange(index, coordIndex, newValue)} /> diff --git a/src/lib/elements/forms/inputPolygon.svelte b/src/lib/elements/forms/inputPolygon.svelte index 6cfccbc10..01ce294e3 100644 --- a/src/lib/elements/forms/inputPolygon.svelte +++ b/src/lib/elements/forms/inputPolygon.svelte @@ -16,7 +16,7 @@ coordIndex: number, newValue: number ) => void = undefined; - export let disableDeletePointsCountPerLine: number = 4; + export let disableDeletePointsIndex: number = 4; function handlePointChange( lineIndex: number, @@ -46,7 +46,8 @@ onDeletePoint={() => onDeletePoint(index)} onChangePoint={(pointIndex, coordIndex, newValue) => handlePointChange(index, pointIndex, coordIndex, newValue)} - {disableDeletePointsCountPerLine} /> + disableDeleteLine = {index < 2} + disableDeletePointsIndex = {4}/> {/each} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte index 850c75348..33effb0bf 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte @@ -79,10 +79,12 @@ function deleteCoordinate(ringIndex: number) { const ring = data.default?.at(ringIndex); - if (!ring || ring.length <= 4) return; - ring.splice(ring.length - 2, 1); - ring[ring.length - 1] = [...ring[0]]; + ring.splice(ring.length - 1, 1); + if (ring.length === 0) { + data.default.splice(ringIndex, 1); + } + data.default = [...(data.default || [])]; } @@ -135,7 +137,6 @@ onChangePoint={(lineIndex, pointIndex, coordIndex, newValue) => { if (data.default && data.default[lineIndex] && data.default[lineIndex][pointIndex]) { data.default[lineIndex][pointIndex][coordIndex] = newValue; - // Trigger reactivity by reassigning data.default = [...data.default]; } }} /> diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte index c3e3f613c..05a09a7c5 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte @@ -58,5 +58,6 @@ nullable={false} {onAddPoint} {onDeletePoint} - onChangePoint={handlePointChange} /> + onChangePoint={handlePointChange} + disableDeletePointsIndex={2}/> diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte index 7fae40c0e..58b021eef 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte @@ -21,8 +21,6 @@ const newPoint = getDefaultSpatialData('point') as number[]; ring.splice(ring.length - 1, 0, newPoint); ring[ring.length - 1] = [...ring[0]]; - - // Trigger reactivity by reassigning value = [...value]; } @@ -33,8 +31,6 @@ const p2 = getDefaultSpatialData('point') as number[]; const p3 = getDefaultSpatialData('point') as number[]; const ring = [p1, p2, p3, [...p1]]; - - // Trigger reactivity by reassigning value = [...value, ring]; } @@ -42,10 +38,11 @@ if (!value) return; const ring = value.at(ringIndex); - if (!ring || ring.length <= 4) return; - ring.splice(ring.length - 2, 1); - ring[ring.length - 1] = [...ring[0]]; + ring.splice(ring.length - 1, 1); + if (ring.length === 0) { + value.splice(ringIndex, 1); + } value = [...value]; } From c9f2395ed9ebe70a18d92dfb29df15682def4e18 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Mon, 8 Sep 2025 19:22:48 +0530 Subject: [PATCH 028/147] Enhance layout of input components by adding gaps for better spacing and organization --- src/lib/elements/forms/inputLine.svelte | 12 ++++++----- src/lib/elements/forms/inputPolygon.svelte | 24 +++++++++++----------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte index 0bba663dc..5f7f185ac 100644 --- a/src/lib/elements/forms/inputLine.svelte +++ b/src/lib/elements/forms/inputLine.svelte @@ -28,7 +28,7 @@ } - + {#each values as value, index} {#if values} - - + + + + {/if} diff --git a/src/lib/elements/forms/inputPolygon.svelte b/src/lib/elements/forms/inputPolygon.svelte index 01ce294e3..2f109f325 100644 --- a/src/lib/elements/forms/inputPolygon.svelte +++ b/src/lib/elements/forms/inputPolygon.svelte @@ -36,9 +36,9 @@ } - + {#each values as value, index} - + onAddPoint(index)} @@ -46,16 +46,16 @@ onDeletePoint={() => onDeletePoint(index)} onChangePoint={(pointIndex, coordIndex, newValue) => handlePointChange(index, pointIndex, coordIndex, newValue)} - disableDeleteLine = {index < 2} - disableDeletePointsIndex = {4}/> + disableDeleteLine={index < 2} + disableDeletePointsIndex={4}> + + {#if index === values.length-1} + + {/if} + + {/each} - - {#if values} - - - - {/if} From fb6879307dcecefb1e70853de0a5f1f9cc8705e8 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Mon, 8 Sep 2025 20:37:32 +0530 Subject: [PATCH 029/147] Enhance spatial input components by adding default handling logic and improving button states for better user experience --- src/lib/components/filters/content.svelte | 5 ++++- src/lib/elements/forms/inputPolygon.svelte | 4 ++-- .../table-[table]/columns/line.svelte | 9 ++++++--- .../table-[table]/columns/point.svelte | 11 ++++++++--- .../table-[table]/columns/polygon.svelte | 9 ++++++--- 5 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/lib/components/filters/content.svelte b/src/lib/components/filters/content.svelte index 9f50cdbb2..f1f002071 100644 --- a/src/lib/components/filters/content.svelte +++ b/src/lib/components/filters/content.svelte @@ -183,13 +183,16 @@ {/if} {#if isDistanceOperator} +
+ required + /> +
{/if} {/if} {#if !singleCondition} diff --git a/src/lib/elements/forms/inputPolygon.svelte b/src/lib/elements/forms/inputPolygon.svelte index 2f109f325..87171b37e 100644 --- a/src/lib/elements/forms/inputPolygon.svelte +++ b/src/lib/elements/forms/inputPolygon.svelte @@ -47,10 +47,10 @@ onChangePoint={(pointIndex, coordIndex, newValue) => handlePointChange(index, pointIndex, coordIndex, newValue)} disableDeleteLine={index < 2} - disableDeletePointsIndex={4}> + disableDeletePointsIndex={disableDeletePointsIndex}> {#if index === values.length-1} - {/if} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index 38b6cd269..433a3e550 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -46,9 +46,11 @@ required: false, default: null }; + export let editing = false; let savedDefault = data.default; let showDefaultPointDummyData = false; + let defaultLineAdded = false; function handleDefaultState(hideDefault: boolean) { if (hideDefault) { @@ -76,6 +78,7 @@ }); function handleAddDefault() { + defaultLineAdded = true; data.default = getDefaultSpatialData('linestring') as number[][]; } @@ -101,7 +104,7 @@ Default Optional
- {#if !data.default} + {#if !data.default && ((!editing && !defaultLineAdded) || (editing && !showDefaultPointDummyData))} {/if} diff --git a/src/lib/elements/forms/inputPolygon.svelte b/src/lib/elements/forms/inputPolygon.svelte index 87171b37e..3c3af148d 100644 --- a/src/lib/elements/forms/inputPolygon.svelte +++ b/src/lib/elements/forms/inputPolygon.svelte @@ -16,7 +16,7 @@ coordIndex: number, newValue: number ) => void = undefined; - export let disableDeletePointsIndex: number = 4; + export let minDeletableIndex: number = 4; function handlePointChange( lineIndex: number, @@ -42,20 +42,24 @@ onAddPoint(index)} - nullable={nullable} + {nullable} onDeletePoint={() => onDeletePoint(index)} onChangePoint={(pointIndex, coordIndex, newValue) => handlePointChange(index, pointIndex, coordIndex, newValue)} - disableDeleteLine={index < 2} - disableDeletePointsIndex={disableDeletePointsIndex}> - - {#if index === values.length-1} - - {/if} - - + allowLineDelete={index < 2} + {minDeletableIndex}> + + {#if index === values.length - 1} + + {/if} + +
{/each}
diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index 433a3e550..84e1e6ba6 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -39,7 +39,7 @@ import { Selector, Layout, Typography, Icon } from '@appwrite.io/pink-svelte'; import { InputLine } from '$lib/elements/forms'; import { getDefaultSpatialData } from '../store'; - import {Button} from '$lib/elements/forms'; + import { Button } from '$lib/elements/forms'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; export let data: Partial = { @@ -76,13 +76,12 @@ required: false, ...data }); - + function handleAddDefault() { defaultLineAdded = true; data.default = getDefaultSpatialData('linestring') as number[][]; } - $: listen(data); $: handleDefaultState($required); @@ -99,7 +98,7 @@ description="Indicate whether this column is required" /> - + Default Optional @@ -112,7 +111,9 @@ {/if} = { @@ -80,7 +80,7 @@ $: showDefaultPointDummyData = $required ? true : false; - $:console.log(editing) + $: console.log(editing); - + Default Optional @@ -105,8 +105,12 @@ {/if} { if (data.default) { data.default[index] = newValue; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte index 1b00bacd8..722fa6f73 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte @@ -39,7 +39,7 @@ import { Selector, Typography, Layout, Icon } from '@appwrite.io/pink-svelte'; import { InputPolygon } from '$lib/elements/forms'; import { getDefaultSpatialData } from '../store'; - import {Button} from '$lib/elements/forms'; + import { Button } from '$lib/elements/forms'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; export let data: Partial = { @@ -98,9 +98,9 @@ ...data }); - function handleAddDefault(){ + function handleAddDefault() { defaultPolygonAdded = true; - data.default = getDefaultSpatialData("polygon") as number[][][]; + data.default = getDefaultSpatialData('polygon') as number[][][]; } $: listen(data); @@ -119,7 +119,7 @@ description="Indicate whether this column is required" /> - + Default Optional @@ -132,7 +132,9 @@ {/if} + minDeletableIndex={2} /> diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte index 802f5b5f3..39661a012 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte @@ -6,7 +6,6 @@ import { getDefaultSpatialData } from '../../../store'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; - export let id: string; export let label: string; export let value: number[]; export let limited: boolean = false; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte index 58b021eef..d0cb48a05 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte @@ -6,7 +6,6 @@ import { getDefaultSpatialData } from '../../../store'; import InputPolygon from '$lib/elements/forms/inputPolygon.svelte'; - export let id: string; export let label: string; export let value: number[][][]; export let limited: boolean = false; @@ -58,8 +57,8 @@ } } - function handleAddDefault(){ - value = getDefaultSpatialData("polygon") as number[][][]; + function handleAddDefault() { + value = getDefaultSpatialData('polygon') as number[][][]; } $: nullable = !limited ? !column.required : false; From 2530966ca83a5d74340402eb6057d7e808c61303 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Tue, 9 Sep 2025 11:54:23 +0530 Subject: [PATCH 031/147] linting --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- src/lib/elements/forms/inputPoint.svelte | 6 +++++- .../table-[table]/rows/columns/types/point.svelte | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index f5133853e..fd30ea7e5 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c", + "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@2cf27e0", "@appwrite.io/pink-legacy": "^1.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5ce69c768..47cf8cf38 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: ^1.1.24 version: 1.1.24(svelte@5.25.3)(zod@3.24.3) '@appwrite.io/console': - specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c - version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c + specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b + version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b '@appwrite.io/pink-icons': specifier: 0.25.0 version: 0.25.0 @@ -260,8 +260,8 @@ packages: '@analytics/type-utils@0.6.2': resolution: {integrity: sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==} - '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c': - resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b': + resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b} version: 1.10.0 '@appwrite.io/pink-icons-svelte@2.0.0-RC.1': @@ -3700,7 +3700,7 @@ snapshots: '@analytics/type-utils@0.6.2': {} - '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@78c7b8c': {} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b': {} '@appwrite.io/pink-icons-svelte@2.0.0-RC.1(svelte@5.25.3)': dependencies: diff --git a/src/lib/elements/forms/inputPoint.svelte b/src/lib/elements/forms/inputPoint.svelte index d634f6c56..446a736f8 100644 --- a/src/lib/elements/forms/inputPoint.svelte +++ b/src/lib/elements/forms/inputPoint.svelte @@ -30,7 +30,11 @@ {/each} {/if} {#if deletePoints} - {/if} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte index 39661a012..5ba2f5f88 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte @@ -45,4 +45,4 @@ - \ No newline at end of file + From cd9f3288d22f3559d9ee9597ffaed68de47564f1 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Tue, 9 Sep 2025 13:32:07 +0530 Subject: [PATCH 032/147] linting --- package.json | 4 +- pnpm-lock.yaml | 2624 ++++++++--------- .../table-[table]/columns/store.ts | 10 +- 3 files changed, 1192 insertions(+), 1446 deletions(-) diff --git a/package.json b/package.json index 5df98a274..bac65a273 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,9 @@ }, "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b", + "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@964f807", "@appwrite.io/pink-icons": "0.25.0", - "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@2cf27e0", + "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660", "@appwrite.io/pink-legacy": "^1.0.3", "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed", "@faker-js/faker": "^9.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3557840e0..2e6786cdd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,22 +10,22 @@ importers: dependencies: '@ai-sdk/svelte': specifier: ^1.1.24 - version: 1.1.24(svelte@5.25.3)(zod@3.24.3) + version: 1.1.24(svelte@5.38.7)(zod@3.25.76) '@appwrite.io/console': - specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b - version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b + specifier: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@964f807 + version: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@964f807 '@appwrite.io/pink-icons': specifier: 0.25.0 version: 0.25.0 '@appwrite.io/pink-icons-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@2cf27e0 - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@2cf27e0(svelte@5.25.3) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660 + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660(svelte@5.38.7) '@appwrite.io/pink-legacy': specifier: ^1.0.3 version: 1.0.3 '@appwrite.io/pink-svelte': specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed(svelte@5.25.3) + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed(svelte@5.38.7) '@faker-js/faker': specifier: ^9.9.0 version: 9.9.0 @@ -34,22 +34,22 @@ importers: version: 2.11.8 '@sentry/sveltekit': specifier: ^8.38.0 - version: 8.55.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.30.0)(@sveltejs/kit@2.36.3(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) + version: 8.55.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)(@sveltejs/kit@2.37.1(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)) '@stripe/stripe-js': specifier: ^3.5.0 version: 3.5.0 ai: specifier: ^2.2.37 - version: 2.2.37(react@18.3.1)(solid-js@1.9.5)(svelte@5.25.3)(vue@3.5.13(typescript@5.8.2)) + version: 2.2.37(react@18.3.1)(solid-js@1.9.9)(svelte@5.38.7)(vue@3.5.21(typescript@5.9.2)) analytics: specifier: ^0.8.16 - version: 0.8.16(@types/dlv@1.1.5) + version: 0.8.19(@types/dlv@1.1.5) cron-parser: specifier: ^4.9.0 version: 4.9.0 dayjs: specifier: ^1.11.13 - version: 1.11.13 + version: 1.11.18 deep-equal: specifier: ^2.2.3 version: 2.2.3 @@ -79,47 +79,47 @@ importers: version: 2.0.1 svelte-confetti: specifier: ^1.4.0 - version: 1.4.0(svelte@5.25.3) + version: 1.4.0(svelte@5.38.7) tippy.js: specifier: ^6.3.7 version: 6.3.7 devDependencies: '@eslint/compat': specifier: ^1.3.1 - version: 1.3.1(eslint@9.31.0) + version: 1.3.2(eslint@9.35.0) '@eslint/js': specifier: ^9.31.0 - version: 9.31.0 + version: 9.35.0 '@melt-ui/pp': specifier: ^0.3.2 - version: 0.3.2(@melt-ui/svelte@0.86.5(svelte@5.25.3))(svelte@5.25.3) + version: 0.3.2(@melt-ui/svelte@0.86.6(svelte@5.38.7))(svelte@5.38.7) '@melt-ui/svelte': specifier: ^0.86.5 - version: 0.86.5(svelte@5.25.3) + version: 0.86.6(svelte@5.38.7) '@playwright/test': specifier: ^1.51.1 - version: 1.51.1 + version: 1.55.0 '@sveltejs/adapter-static': specifier: ^3.0.8 - version: 3.0.8(@sveltejs/kit@2.36.3(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0))) + version: 3.0.9(@sveltejs/kit@2.37.1(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1))) '@sveltejs/kit': specifier: ^2.36.2 - version: 2.36.3(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) + version: 2.37.1(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.3 - version: 5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) + version: 5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)) '@testing-library/dom': specifier: ^10.4.0 - version: 10.4.0 + version: 10.4.1 '@testing-library/jest-dom': specifier: ^6.6.3 - version: 6.6.3 + version: 6.8.0 '@testing-library/svelte': specifier: ^5.2.8 - version: 5.2.8(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0))(vitest@3.2.4) + version: 5.2.8(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1))(vitest@3.2.4) '@testing-library/user-event': specifier: ^14.6.1 - version: 14.6.1(@testing-library/dom@10.4.0) + version: 14.6.1(@testing-library/dom@10.4.1) '@types/deep-equal': specifier: ^1.0.4 version: 1.0.4 @@ -131,10 +131,10 @@ importers: version: 2.0.8 '@typescript-eslint/eslint-plugin': specifier: ^8.28.0 - version: 8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.31.0)(typescript@5.8.2))(eslint@9.31.0)(typescript@5.8.2) + version: 8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2) '@typescript-eslint/parser': specifier: ^8.28.0 - version: 8.28.0(eslint@9.31.0)(typescript@5.8.2) + version: 8.43.0(eslint@9.35.0)(typescript@5.9.2) '@vitest/ui': specifier: ^3.2.4 version: 3.2.4(vitest@3.2.4) @@ -143,16 +143,16 @@ importers: version: 5.0.0 eslint: specifier: ^9.31.0 - version: 9.31.0 + version: 9.35.0 eslint-config-prettier: specifier: ^10.1.0 - version: 10.1.1(eslint@9.31.0) + version: 10.1.8(eslint@9.35.0) eslint-plugin-svelte: specifier: ^3.3.3 - version: 3.3.3(eslint@9.31.0)(svelte@5.25.3) + version: 3.12.2(eslint@9.35.0)(svelte@5.38.7) globals: specifier: ^16.0.0 - version: 16.0.0 + version: 16.3.0 jsdom: specifier: ^26.1.0 version: 26.1.0 @@ -161,48 +161,48 @@ importers: version: 4.1.5 prettier: specifier: ^3.5.3 - version: 3.5.3 + version: 3.6.2 prettier-plugin-svelte: specifier: ^3.3.3 - version: 3.3.3(prettier@3.5.3)(svelte@5.25.3) + version: 3.4.0(prettier@3.6.2)(svelte@5.38.7) sass: specifier: ^1.86.0 - version: 1.86.0 + version: 1.92.1 svelte: specifier: ^5.25.3 - version: 5.25.3 + version: 5.38.7 svelte-check: specifier: ^4.1.5 - version: 4.1.5(picomatch@4.0.3)(svelte@5.25.3)(typescript@5.8.2) + version: 4.3.1(picomatch@4.0.3)(svelte@5.38.7)(typescript@5.9.2) svelte-preprocess: specifier: ^6.0.3 - version: 6.0.3(@babel/core@7.26.10)(postcss-load-config@3.1.4(postcss@8.5.3))(postcss@8.5.3)(sass@1.86.0)(svelte@5.25.3)(typescript@5.8.2) + version: 6.0.3(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6))(postcss@8.5.6)(sass@1.92.1)(svelte@5.38.7)(typescript@5.9.2) svelte-sequential-preprocessor: specifier: ^2.0.2 version: 2.0.2 tldts: specifier: ^7.0.7 - version: 7.0.7 + version: 7.0.13 tslib: specifier: ^2.8.1 version: 2.8.1 typescript: specifier: ^5.8.2 - version: 5.8.2 + version: 5.9.2 typescript-eslint: specifier: ^8.30.1 - version: 8.30.1(eslint@9.31.0)(typescript@5.8.2) + version: 8.43.0(eslint@9.35.0)(typescript@5.9.2) vite: specifier: ^7.0.6 - version: 7.0.6(@types/node@22.13.14)(sass@1.86.0) + version: 7.1.5(@types/node@24.3.1)(sass@1.92.1) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@22.13.14)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.86.0) + version: 3.2.4(@types/node@24.3.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.92.1) packages: - '@adobe/css-tools@4.4.2': - resolution: {integrity: sha512-baYZExFpsdkBNuvGKTKWCwKH57HRZLVtycZS05WTQNVOiXVSeAki3nU35zlRbToeMW8aHlJfyS+1C4BOv27q0A==} + '@adobe/css-tools@4.4.4': + resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} '@ai-sdk/provider-utils@2.1.13': resolution: {integrity: sha512-kLjqsfOdONr6DGcGEntFYM1niXz1H05vyZNf9OAzK+KKKc64izyP4/q/9HX7W4+6g8hm6BnmKxu8vkr6FSOqDg==} @@ -239,29 +239,29 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@analytics/cookie-utils@0.2.12': - resolution: {integrity: sha512-2h/yuIu3kmu+ZJlKmlT6GoRvUEY2k1BbQBezEv5kGhnn9KpmzPz715Y3GmM2i+m7Y0QmBdVUoA260dQZkofs2A==} + '@analytics/cookie-utils@0.2.14': + resolution: {integrity: sha512-x51x2cLqvP5Fb1ydgNvTCX+SVv0ALK/yTNwp/53++yk4kLhxb850krWtQ4aASN0612oXrIGotwfmdJIttnLiPQ==} - '@analytics/core@0.12.17': - resolution: {integrity: sha512-GMxRm5Dp3Wam/w5NNvqNKMO6zWecozbVv21Kn4WhftCx6OjJI7zMlVtiLpjGjxa0RRZfVG80YhupF0Qh9XL2gw==} + '@analytics/core@0.13.2': + resolution: {integrity: sha512-ejvfoPP8TEh2hA2szMEq9c4TdeX8FAeY1j/7MxJVZjzDaq8BDHOyaAAQzTFiLMHvV0WcU2YC0smJ5Ids5Ll5ng==} - '@analytics/global-storage-utils@0.1.7': - resolution: {integrity: sha512-V+spzGLZYm4biZT4uefaylm80SrLXf8WOTv9hCgA46cLcyxx3LD4GCpssp1lj+RcWLl/uXJQBRO4Mnn/o1x6Gw==} + '@analytics/global-storage-utils@0.1.9': + resolution: {integrity: sha512-+xm6CDnWsVOQIKkqbPRPRdYDXKk3PNgr/bCZWSI+7tEDT5PCDgI0QSBZe+FqCVkCRtTkgOrjFOY7wOM8Gq+ndA==} - '@analytics/localstorage-utils@0.1.10': - resolution: {integrity: sha512-uJS+Jp1yLG5VFCgA5T82ZODYBS0xuDQx0NtAZrgbqt9j51BX3TcgmOez5LVkrUNu/lpbxjCLq35I4TKj78VmOQ==} + '@analytics/localstorage-utils@0.1.12': + resolution: {integrity: sha512-BL3vuZUwWgMqdkQsE0GKsED5SPLC6daI4K4LE0a/BkKv+4Cae5JLLqpO5gju2HUGOjJxIvw8U/G5EcglNY5+1w==} - '@analytics/session-storage-utils@0.0.7': - resolution: {integrity: sha512-PSv40UxG96HVcjY15e3zOqU2n8IqXnH8XvTkg1X43uXNTKVSebiI2kUjA3Q7ESFbw5DPwcLbJhV7GforpuBLDw==} + '@analytics/session-storage-utils@0.0.9': + resolution: {integrity: sha512-fhP9QCpyq45rZKsXaAxyz+VTmOUWljIW08CWSkFzpwOHkDM4Xy5tymc1YcWqSBBaLjHldo3HlY4qfqEIS4Aj1A==} - '@analytics/storage-utils@0.4.2': - resolution: {integrity: sha512-AXObwyVQw9h2uJh1t2hUgabtVxzYpW+7uKVbdHQK80vr3Td5rrmCxrCxarh7HUuAgSDZ0bZWqmYxVgmwKceaLg==} + '@analytics/storage-utils@0.4.4': + resolution: {integrity: sha512-873P4wDIunbOnBqADc2AhTVsLbluUv1dP6k9UrK8FIeV8WXv5+fG12HdwwaniUIxq6QLgZJfKEaCwtWSKrrV0g==} - '@analytics/type-utils@0.6.2': - resolution: {integrity: sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==} + '@analytics/type-utils@0.6.4': + resolution: {integrity: sha512-Ou1gQxFakOWLcPnbFVsrPb8g1wLLUZYYJXDPjHkG07+5mustGs5yqACx42UAu4A6NszNN6Z5gGxhyH45zPWRxw==} - '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b': - resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@964f807': + resolution: {tarball: https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@964f807} version: 1.10.0 '@appwrite.io/pink-icons-svelte@2.0.0-RC.1': @@ -269,8 +269,8 @@ packages: peerDependencies: svelte: ^4.0.0 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@2cf27e0': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@2cf27e0} + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660} version: 2.0.0-RC.1 peerDependencies: svelte: ^4.0.0 @@ -290,273 +290,266 @@ packages: peerDependencies: svelte: ^4.0.0 - '@asamuzakjp/css-color@3.1.1': - resolution: {integrity: sha512-hpRD68SV2OMcZCsrbdkccTw5FXjNDLo5OuqSHyHZfwweGsDWZwDJ2+gONyNAbazZclobMirACLw0lk8WVxIqxA==} + '@asamuzakjp/css-color@3.2.0': + resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.8': - resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} + '@babel/compat-data@7.28.4': + resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==} engines: {node: '>=6.9.0'} - '@babel/core@7.26.10': - resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} + '@babel/core@7.28.4': + resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.27.0': - resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==} + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.27.0': - resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==} + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.27.1': resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.27.0': - resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==} + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} - '@babel/parser@7.27.0': - resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==} + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@7.28.3': - resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/runtime@7.27.0': - resolution: {integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==} + '@babel/runtime@7.28.4': + resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} - '@babel/template@7.27.0': - resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.27.0': - resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==} + '@babel/traverse@7.28.4': + resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.27.0': - resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.2': - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} - engines: {node: '>=6.9.0'} - - '@csstools/color-helpers@5.0.2': - resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} + '@csstools/color-helpers@5.1.0': + resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} engines: {node: '>=18'} - '@csstools/css-calc@2.1.2': - resolution: {integrity: sha512-TklMyb3uBB28b5uQdxjReG4L80NxAqgrECqLZFQbyLekwwlcDDS8r3f07DKqeo8C4926Br0gf/ZDe17Zv4wIuw==} + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.4 - '@csstools/css-tokenizer': ^3.0.3 + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-color-parser@3.0.8': - resolution: {integrity: sha512-pdwotQjCCnRPuNi06jFuP68cykU1f3ZWExLe/8MQ1LOs8Xq+fTkYgd+2V8mWUWMrOn9iS2HftPVaMZDaXzGbhQ==} + '@csstools/css-color-parser@3.1.0': + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.4 - '@csstools/css-tokenizer': ^3.0.3 + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-parser-algorithms@3.0.4': - resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==} + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-tokenizer': ^3.0.3 + '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-tokenizer@3.0.3': - resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} engines: {node: '>=18'} - '@esbuild/aix-ppc64@0.25.1': - resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==} + '@esbuild/aix-ppc64@0.25.9': + resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.1': - resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==} + '@esbuild/android-arm64@0.25.9': + resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.1': - resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==} + '@esbuild/android-arm@0.25.9': + resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.1': - resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==} + '@esbuild/android-x64@0.25.9': + resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.1': - resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==} + '@esbuild/darwin-arm64@0.25.9': + resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.1': - resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==} + '@esbuild/darwin-x64@0.25.9': + resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.1': - resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==} + '@esbuild/freebsd-arm64@0.25.9': + resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.1': - resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==} + '@esbuild/freebsd-x64@0.25.9': + resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.1': - resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==} + '@esbuild/linux-arm64@0.25.9': + resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.1': - resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==} + '@esbuild/linux-arm@0.25.9': + resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.1': - resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==} + '@esbuild/linux-ia32@0.25.9': + resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.1': - resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==} + '@esbuild/linux-loong64@0.25.9': + resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.1': - resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==} + '@esbuild/linux-mips64el@0.25.9': + resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.1': - resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==} + '@esbuild/linux-ppc64@0.25.9': + resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.1': - resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==} + '@esbuild/linux-riscv64@0.25.9': + resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.1': - resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==} + '@esbuild/linux-s390x@0.25.9': + resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.1': - resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==} + '@esbuild/linux-x64@0.25.9': + resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.1': - resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==} + '@esbuild/netbsd-arm64@0.25.9': + resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.1': - resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==} + '@esbuild/netbsd-x64@0.25.9': + resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.1': - resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==} + '@esbuild/openbsd-arm64@0.25.9': + resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.1': - resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==} + '@esbuild/openbsd-x64@0.25.9': + resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.25.1': - resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==} + '@esbuild/openharmony-arm64@0.25.9': + resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.9': + resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.1': - resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==} + '@esbuild/win32-arm64@0.25.9': + resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.1': - resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==} + '@esbuild/win32-ia32@0.25.9': + resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.1': - resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==} + '@esbuild/win32-x64@0.25.9': + resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.5.1': - resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==} + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 @@ -565,8 +558,8 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.3.1': - resolution: {integrity: sha512-k8MHony59I5EPic6EQTCNOuPoVBnoYXkP+20xvwFjN7t0qI3ImyvyBgg+hIVPwC8JaxVjjUZld+cLfBLFDLucg==} + '@eslint/compat@1.3.2': + resolution: {integrity: sha512-jRNwzTbd6p2Rw4sZ1CgWRS8YMtqG15YyZf7zvb6gY2rB2u6n+2Z+ELW0GtL0fQgyl0pr4Y/BzBfng/BdsereRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.40 || 9 @@ -578,86 +571,77 @@ packages: resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.3.0': - resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==} + '@eslint/config-helpers@0.3.1': + resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.15.1': - resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==} + '@eslint/core@0.15.2': + resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.31.0': - resolution: {integrity: sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==} + '@eslint/js@9.35.0': + resolution: {integrity: sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.3': - resolution: {integrity: sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==} + '@eslint/plugin-kit@0.3.5': + resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@faker-js/faker@9.9.0': resolution: {integrity: sha512-OEl393iCOoo/z8bMezRlJu+GlRGlsKbUAN7jKB6LhnKoqKve5DXRpalbItIIcwnCjs1k/FOPjFzcA6Qn+H+YbA==} engines: {node: '>=18.0.0', npm: '>=9.0.0'} - '@floating-ui/core@1.6.9': - resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} + '@floating-ui/core@1.7.3': + resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} - '@floating-ui/dom@1.6.13': - resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} + '@floating-ui/dom@1.7.4': + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} - '@floating-ui/utils@0.2.9': - resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} + '@floating-ui/utils@0.2.10': + resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.2': - resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} - engines: {node: '>=18.18'} + '@internationalized/date@3.9.0': + resolution: {integrity: sha512-yaN3brAnHRD+4KyyOsJyk49XUvj2wtbNACSqg0bz3u8t2VuzhC8Q5dfRnrSxjnnbDb+ienBnkn1TzQfE154vyg==} - '@internationalized/date@3.7.0': - resolution: {integrity: sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ==} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.30': + resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} '@melt-ui/pp@0.3.2': resolution: {integrity: sha512-xKkPvaIAFinklLXcQOpwZ8YSpqAFxykjWf8Y/fSJQwsixV/0rcFs07hJ49hJjPy5vItvw5Qa0uOjzFUbXzBypQ==} @@ -665,11 +649,6 @@ packages: '@melt-ui/svelte': '>= 0.29.0' svelte: ^3.55.0 || ^4.0.0 || ^5.0.0-next.1 - '@melt-ui/svelte@0.86.5': - resolution: {integrity: sha512-aaVfc0pxCf6B3ByrzGJ+hB2Sop9wJamw2lNHZlzaolU0Ew1D6O9CbeJElGODT8IbH8/bhI3LcN0nCJRh2ePq+A==} - peerDependencies: - svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.118 - '@melt-ui/svelte@0.86.6': resolution: {integrity: sha512-Jer+M7DgIwT5IHfTayb4Iw/fkkxWNmC/mqn/nMh9JrbPbkxmyabfLQnhJ+JDn5HK77f84j34lubO3iqFtYAfMg==} peerDependencies: @@ -901,8 +880,8 @@ packages: resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==} engines: {node: '>=14'} - '@opentelemetry/semantic-conventions@1.30.0': - resolution: {integrity: sha512-4VlGgo32k2EQ2wcCY3vEU28A0O13aOtHz3Xt2/2U5FAh9EfhD6t6DqL5Z6yAnRCntbTFDU4YfbpyzSlHNWycPw==} + '@opentelemetry/semantic-conventions@1.37.0': + resolution: {integrity: sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA==} engines: {node: '>=14'} '@opentelemetry/sql-common@0.40.1': @@ -993,13 +972,13 @@ packages: resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} - '@playwright/test@1.51.1': - resolution: {integrity: sha512-nM+kEaTSAoVlXmMPH10017vn3FSiFqr/bh4fKg9vmAdMfd9SDqRZNvPSiAHADc/itWak+qPvMPZQOPwCBW7k7Q==} + '@playwright/test@1.55.0': + resolution: {integrity: sha512-04IXzPwHrW69XusN/SIdDdKZBzMfOT9UNT/YiJit/xpy2VuAoB8NHc8Aplb96zsWDddLnbkPL3TsmrS04ZU2xQ==} engines: {node: '>=18'} hasBin: true - '@polka/url@1.0.0-next.28': - resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} @@ -1007,103 +986,108 @@ packages: '@prisma/instrumentation@5.22.0': resolution: {integrity: sha512-LxccF392NN37ISGxIurUljZSh1YWnphO34V5a0+T7FVQG2u9bhAXRTJpgmQ3483woVhkraQZFF7cbRrpbw/F4Q==} - '@rollup/rollup-android-arm-eabi@4.46.2': - resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} + '@rollup/rollup-android-arm-eabi@4.50.1': + resolution: {integrity: sha512-HJXwzoZN4eYTdD8bVV22DN8gsPCAj3V20NHKOs8ezfXanGpmVPR7kalUHd+Y31IJp9stdB87VKPFbsGY3H/2ag==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.46.2': - resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} + '@rollup/rollup-android-arm64@4.50.1': + resolution: {integrity: sha512-PZlsJVcjHfcH53mOImyt3bc97Ep3FJDXRpk9sMdGX0qgLmY0EIWxCag6EigerGhLVuL8lDVYNnSo8qnTElO4xw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.46.2': - resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} + '@rollup/rollup-darwin-arm64@4.50.1': + resolution: {integrity: sha512-xc6i2AuWh++oGi4ylOFPmzJOEeAa2lJeGUGb4MudOtgfyyjr4UPNK+eEWTPLvmPJIY/pgw6ssFIox23SyrkkJw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.46.2': - resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} + '@rollup/rollup-darwin-x64@4.50.1': + resolution: {integrity: sha512-2ofU89lEpDYhdLAbRdeyz/kX3Y2lpYc6ShRnDjY35bZhd2ipuDMDi6ZTQ9NIag94K28nFMofdnKeHR7BT0CATw==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.46.2': - resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} + '@rollup/rollup-freebsd-arm64@4.50.1': + resolution: {integrity: sha512-wOsE6H2u6PxsHY/BeFHA4VGQN3KUJFZp7QJBmDYI983fgxq5Th8FDkVuERb2l9vDMs1D5XhOrhBrnqcEY6l8ZA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.46.2': - resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} + '@rollup/rollup-freebsd-x64@4.50.1': + resolution: {integrity: sha512-A/xeqaHTlKbQggxCqispFAcNjycpUEHP52mwMQZUNqDUJFFYtPHCXS1VAG29uMlDzIVr+i00tSFWFLivMcoIBQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': - resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} + '@rollup/rollup-linux-arm-gnueabihf@4.50.1': + resolution: {integrity: sha512-54v4okehwl5TaSIkpp97rAHGp7t3ghinRd/vyC1iXqXMfjYUTm7TfYmCzXDoHUPTTf36L8pr0E7YsD3CfB3ZDg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.46.2': - resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} + '@rollup/rollup-linux-arm-musleabihf@4.50.1': + resolution: {integrity: sha512-p/LaFyajPN/0PUHjv8TNyxLiA7RwmDoVY3flXHPSzqrGcIp/c2FjwPPP5++u87DGHtw+5kSH5bCJz0mvXngYxw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.46.2': - resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} + '@rollup/rollup-linux-arm64-gnu@4.50.1': + resolution: {integrity: sha512-2AbMhFFkTo6Ptna1zO7kAXXDLi7H9fGTbVaIq2AAYO7yzcAsuTNWPHhb2aTA6GPiP+JXh85Y8CiS54iZoj4opw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.46.2': - resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} + '@rollup/rollup-linux-arm64-musl@4.50.1': + resolution: {integrity: sha512-Cgef+5aZwuvesQNw9eX7g19FfKX5/pQRIyhoXLCiBOrWopjo7ycfB292TX9MDcDijiuIJlx1IzJz3IoCPfqs9w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': - resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} + '@rollup/rollup-linux-loongarch64-gnu@4.50.1': + resolution: {integrity: sha512-RPhTwWMzpYYrHrJAS7CmpdtHNKtt2Ueo+BlLBjfZEhYBhK00OsEqM08/7f+eohiF6poe0YRDDd8nAvwtE/Y62Q==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.46.2': - resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} + '@rollup/rollup-linux-ppc64-gnu@4.50.1': + resolution: {integrity: sha512-eSGMVQw9iekut62O7eBdbiccRguuDgiPMsw++BVUg+1K7WjZXHOg/YOT9SWMzPZA+w98G+Fa1VqJgHZOHHnY0Q==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.46.2': - resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} + '@rollup/rollup-linux-riscv64-gnu@4.50.1': + resolution: {integrity: sha512-S208ojx8a4ciIPrLgazF6AgdcNJzQE4+S9rsmOmDJkusvctii+ZvEuIC4v/xFqzbuP8yDjn73oBlNDgF6YGSXQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.46.2': - resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} + '@rollup/rollup-linux-riscv64-musl@4.50.1': + resolution: {integrity: sha512-3Ag8Ls1ggqkGUvSZWYcdgFwriy2lWo+0QlYgEFra/5JGtAd6C5Hw59oojx1DeqcA2Wds2ayRgvJ4qxVTzCHgzg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.46.2': - resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} + '@rollup/rollup-linux-s390x-gnu@4.50.1': + resolution: {integrity: sha512-t9YrKfaxCYe7l7ldFERE1BRg/4TATxIg+YieHQ966jwvo7ddHJxPj9cNFWLAzhkVsbBvNA4qTbPVNsZKBO4NSg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.46.2': - resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} + '@rollup/rollup-linux-x64-gnu@4.50.1': + resolution: {integrity: sha512-MCgtFB2+SVNuQmmjHf+wfI4CMxy3Tk8XjA5Z//A0AKD7QXUYFMQcns91K6dEHBvZPCnhJSyDWLApk40Iq/H3tA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.46.2': - resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} + '@rollup/rollup-linux-x64-musl@4.50.1': + resolution: {integrity: sha512-nEvqG+0jeRmqaUMuwzlfMKwcIVffy/9KGbAGyoa26iu6eSngAYQ512bMXuqqPrlTyfqdlB9FVINs93j534UJrg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.46.2': - resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} + '@rollup/rollup-openharmony-arm64@4.50.1': + resolution: {integrity: sha512-RDsLm+phmT3MJd9SNxA9MNuEAO/J2fhW8GXk62G/B4G7sLVumNFbRwDL6v5NrESb48k+QMqdGbHgEtfU0LCpbA==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.50.1': + resolution: {integrity: sha512-hpZB/TImk2FlAFAIsoElM3tLzq57uxnGYwplg6WDyAxbYczSi8O2eQ+H2Lx74504rwKtZ3N2g4bCUkiamzS6TQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.46.2': - resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} + '@rollup/rollup-win32-ia32-msvc@4.50.1': + resolution: {integrity: sha512-SXjv8JlbzKM0fTJidX4eVsH+Wmnp0/WcD8gJxIZyR6Gay5Qcsmdbi9zVtnbkGPG8v2vMR1AD06lGWy5FLMcG7A==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.46.2': - resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} + '@rollup/rollup-win32-x64-msvc@4.50.1': + resolution: {integrity: sha512-StxAO/8ts62KZVRAm4JZYq9+NqNsV7RvimNK+YM7ry//zebEH6meuugqW/P5OFUCjyQgui+9fUxT6d5NShvMvA==} cpu: [x64] os: [win32] @@ -1135,55 +1119,55 @@ packages: resolution: {integrity: sha512-1esQdgSUCww9XAntO4pr7uAM5cfGhLsgTK9MEwAKNfvpMYJi9NUTYa3A7AZmdA8V6107Lo4OD7peIPrDRbaDCg==} engines: {node: '>= 14'} - '@sentry/cli-darwin@2.43.0': - resolution: {integrity: sha512-0MYvRHJowXOMNY5W6XF4p9GQNH3LuQ+IHAQwVbZOsfwnEv8e20rf9BiPPzmJ9sIjZSWYR4yIqm6dBp6ABJFbGQ==} + '@sentry/cli-darwin@2.53.0': + resolution: {integrity: sha512-NNPfpILMwKgpHiyJubHHuauMKltkrgLQ5tvMdxNpxY60jBNdo5VJtpESp4XmXlnidzV4j1z61V4ozU6ttDgt5Q==} engines: {node: '>=10'} os: [darwin] - '@sentry/cli-linux-arm64@2.43.0': - resolution: {integrity: sha512-7URSaNjbEJQZyYJ33XK3pVKl6PU2oO9ETF6R/4Cz2FmU3fecACLKVldv7+OuNl9aspLZ62mnPMDvT732/Fp2Ug==} + '@sentry/cli-linux-arm64@2.53.0': + resolution: {integrity: sha512-xY/CZ1dVazsSCvTXzKpAgXaRqfljVfdrFaYZRUaRPf1ZJRGa3dcrivoOhSIeG/p5NdYtMvslMPY9Gm2MT0M83A==} engines: {node: '>=10'} cpu: [arm64] - os: [linux, freebsd] + os: [linux, freebsd, android] - '@sentry/cli-linux-arm@2.43.0': - resolution: {integrity: sha512-c2Fwb6HrFL1nbaGV4uRhHC1wEJPR+wfpKN5y06PgSNNbd10YrECAB3tqBHXC8CEmhuDyFR+ORGZ7VbswfCWEEQ==} + '@sentry/cli-linux-arm@2.53.0': + resolution: {integrity: sha512-NdRzQ15Ht83qG0/Lyu11ciy/Hu/oXbbtJUgwzACc7bWvHQA8xEwTsehWexqn1529Kfc5EjuZ0Wmj3MHmp+jOWw==} engines: {node: '>=10'} cpu: [arm] - os: [linux, freebsd] + os: [linux, freebsd, android] - '@sentry/cli-linux-i686@2.43.0': - resolution: {integrity: sha512-bFo/tpMZeMJ275HPGmAENREchnBxhALOOpZAphSyalUu3pGZ+EETEtlSLrKyVNJo26Dye5W7GlrYUV9+rkyCtg==} + '@sentry/cli-linux-i686@2.53.0': + resolution: {integrity: sha512-0REmBibGAB4jtqt9S6JEsFF4QybzcXHPcHtJjgMi5T0ueh952uG9wLzjSxQErCsxTKF+fL8oG0Oz5yKBuCwCCQ==} engines: {node: '>=10'} cpu: [x86, ia32] - os: [linux, freebsd] + os: [linux, freebsd, android] - '@sentry/cli-linux-x64@2.43.0': - resolution: {integrity: sha512-EbAmKXUNU/Ii4pNGVRCepU6ks1M43wStMKx3pibrUTllrrCwqYKyPxRRdoFYySHkduwCxnoKZcLEg9vWZ3qS6A==} + '@sentry/cli-linux-x64@2.53.0': + resolution: {integrity: sha512-9UGJL+Vy5N/YL1EWPZ/dyXLkShlNaDNrzxx4G7mTS9ywjg+BIuemo6rnN7w43K1NOjObTVO6zY0FwumJ1pCyLg==} engines: {node: '>=10'} cpu: [x64] - os: [linux, freebsd] + os: [linux, freebsd, android] - '@sentry/cli-win32-arm64@2.43.0': - resolution: {integrity: sha512-KmJRCdQQGLSErJvrcGcN+yWo68m+5OdluhyJHsVYMOQknwu8YMOWLm12EIa+4t4GclDvwg5xcxLccCuiWMJUZw==} + '@sentry/cli-win32-arm64@2.53.0': + resolution: {integrity: sha512-G1kjOjrjMBY20rQcJV2GA8KQE74ufmROCDb2GXYRfjvb1fKAsm4Oh8N5+Tqi7xEHdjQoLPkE4CNW0aH68JSUDQ==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@sentry/cli-win32-i686@2.43.0': - resolution: {integrity: sha512-ZWxZdOyZX7NJ/CTskzg+dJ2xTpobFLXVNMOMq0HiwdhqXP2zYYJzKnIt3mHNJYA40zYFODGSgxIamodjpB8BuA==} + '@sentry/cli-win32-i686@2.53.0': + resolution: {integrity: sha512-qbGTZUzesuUaPtY9rPXdNfwLqOZKXrJRC1zUFn52hdo6B+Dmv0m/AHwRVFHZP53Tg1NCa8bDei2K/uzRN0dUZw==} engines: {node: '>=10'} cpu: [x86, ia32] os: [win32] - '@sentry/cli-win32-x64@2.43.0': - resolution: {integrity: sha512-S/IRQYAziEnjpyROhnqzTqShDq3m8jcevXx+q5f49uQnFbfYcTgS1sdrEPqqao/K2boOWbffxYtTkvBiB/piQQ==} + '@sentry/cli-win32-x64@2.53.0': + resolution: {integrity: sha512-1TXYxYHtwgUq5KAJt3erRzzUtPqg7BlH9T7MdSPHjJatkrr/kwZqnVe2H6Arr/5NH891vOlIeSPHBdgJUAD69g==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@sentry/cli@2.43.0': - resolution: {integrity: sha512-gBE3bkx+PBJxopTrzIJLX4xHe5S0w87q5frIveWKDZ5ulVIU6YWnVumay0y07RIEweUEj3IYva1qH6HG2abfiA==} + '@sentry/cli@2.53.0': + resolution: {integrity: sha512-n2ZNb+5Z6AZKQSI0SusQ7ZzFL637mfw3Xh4C3PEyVSn9LiF683fX0TTq8OeGmNZQS4maYfS95IFD+XpydU0dEA==} engines: {node: '>= 10'} hasBin: true @@ -1259,13 +1243,13 @@ packages: peerDependencies: acorn: ^8.9.0 - '@sveltejs/adapter-static@3.0.8': - resolution: {integrity: sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg==} + '@sveltejs/adapter-static@3.0.9': + resolution: {integrity: sha512-aytHXcMi7lb9ljsWUzXYQ0p5X1z9oWud2olu/EpmH7aCu4m84h7QLvb5Wp+CFirKcwoNnYvYWhyP/L8Vh1ztdw==} peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.36.3': - resolution: {integrity: sha512-MVzwZz1GFznEQbL3f0i2v9AIc3lZH01izQj6XfIrthmZAwOzyXJCgXbLRss8vk//HfYsE4w6Tz+ukbf3rScPNQ==} + '@sveltejs/kit@2.37.1': + resolution: {integrity: sha512-4T9rF2Roe7RGvHfcn6+n92Yc2NF88k7ljFz9+wE0jWxyencqRpadr2/CvlcQbbTXf1ozmFxgMO6af+qm+1mPFw==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -1285,15 +1269,15 @@ packages: svelte: ^5.0.0 vite: ^6.0.0 - '@sveltejs/vite-plugin-svelte@5.0.3': - resolution: {integrity: sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==} + '@sveltejs/vite-plugin-svelte@5.1.1': + resolution: {integrity: sha512-Y1Cs7hhTc+a5E9Va/xwKlAJoariQyHY+5zBgCZg4PFWNYQ1nMN9sjK1zhw1gK69DuqVP++sht/1GZg1aRwmAXQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22} peerDependencies: svelte: ^5.0.0 vite: ^6.0.0 - '@swc/helpers@0.5.15': - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} '@tanstack/svelte-virtual@3.13.12': resolution: {integrity: sha512-SsOinCktvpMFbdSW61X6jeUNaJvD1tmt30AFVSLe1FQxGxjdPkZo0gAsoVPqM9FFZqidvvXQ4gpadDaTz/yGxA==} @@ -1303,12 +1287,12 @@ packages: '@tanstack/virtual-core@3.13.12': resolution: {integrity: sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==} - '@testing-library/dom@10.4.0': - resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + '@testing-library/dom@10.4.1': + resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} engines: {node: '>=18'} - '@testing-library/jest-dom@6.6.3': - resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} + '@testing-library/jest-dom@6.8.0': + resolution: {integrity: sha512-WgXcWzVM6idy5JaftTVC8Vs83NKRmGJz4Hqs4oyOuO2J4r/y79vvKZsb+CaGyCSEbUPI6OsewfPd0G1A0/TUZQ==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} '@testing-library/svelte@5.2.8': @@ -1351,9 +1335,6 @@ packages: '@types/dlv@1.1.5': resolution: {integrity: sha512-JHOWNfiWepAhfwlSw17kiWrWrk6od2dEQgHltJw9AS0JPFoLZJBge5+Dnil2NfdjAvJ/+vGSX60/BRW20PpUXw==} - '@types/estree@1.0.7': - resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} - '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -1369,8 +1350,8 @@ packages: '@types/mysql@2.15.26': resolution: {integrity: sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==} - '@types/node@22.13.14': - resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==} + '@types/node@24.3.1': + resolution: {integrity: sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==} '@types/pg-pool@2.0.6': resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==} @@ -1384,8 +1365,8 @@ packages: '@types/prop-types@15.7.15': resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - '@types/react@18.3.23': - resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==} + '@types/react@18.3.24': + resolution: {integrity: sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==} '@types/remarkable@2.0.8': resolution: {integrity: sha512-eKXqPZfpQl1kOADjdKchHrp2gwn9qMnGXhH/AtZe0UrklzhGJkawJo/Y/D0AlWcdWoWamFNIum8+/nkAISQVGg==} @@ -1399,98 +1380,63 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@typescript-eslint/eslint-plugin@8.28.0': - resolution: {integrity: sha512-lvFK3TCGAHsItNdWZ/1FkvpzCxTHUVuFrdnOGLMa0GGCFIbCgQWVk3CzCGdA7kM3qGVc+dfW9tr0Z/sHnGDFyg==} + '@typescript-eslint/eslint-plugin@8.43.0': + resolution: {integrity: sha512-8tg+gt7ENL7KewsKMKDHXR1vm8tt9eMxjJBYINf6swonlWgkYn5NwyIgXpbbDxTNU5DgpDFfj95prcTq2clIQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + '@typescript-eslint/parser': ^8.43.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/eslint-plugin@8.30.1': - resolution: {integrity: sha512-v+VWphxMjn+1t48/jO4t950D6KR8JaJuNXzi33Ve6P8sEmPr5k6CEXjdGwT6+LodVnEa91EQCtwjWNUCPweo+Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/parser@8.28.0': - resolution: {integrity: sha512-LPcw1yHD3ToaDEoljFEfQ9j2xShY367h7FZ1sq5NJT9I3yj4LHer1Xd1yRSOdYy9BpsrxU7R+eoDokChYM53lQ==} + '@typescript-eslint/parser@8.43.0': + resolution: {integrity: sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.30.1': - resolution: {integrity: sha512-H+vqmWwT5xoNrXqWs/fesmssOW70gxFlgcMlYcBaWNPIEWDgLa4W9nkSPmhuOgLnXq9QYgkZ31fhDyLhleCsAg==} + '@typescript-eslint/project-service@8.43.0': + resolution: {integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/scope-manager@8.43.0': + resolution: {integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.43.0': + resolution: {integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.43.0': + resolution: {integrity: sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.28.0': - resolution: {integrity: sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw==} + '@typescript-eslint/types@8.43.0': + resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.30.1': - resolution: {integrity: sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg==} + '@typescript-eslint/typescript-estree@8.43.0': + resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.28.0': - resolution: {integrity: sha512-oRoXu2v0Rsy/VoOGhtWrOKDiIehvI+YNrDk5Oqj40Mwm0Yt01FC/Q7nFqg088d3yAsR1ZcZFVfPCTTFCe/KPwg==} + '@typescript-eslint/utils@8.43.0': + resolution: {integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.30.1': - resolution: {integrity: sha512-64uBF76bfQiJyHgZISC7vcNz3adqQKIccVoKubyQcOnNcdJBvYOILV1v22Qhsw3tw3VQu5ll8ND6hycgAR5fEA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/types@8.28.0': - resolution: {integrity: sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.30.1': - resolution: {integrity: sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@8.28.0': - resolution: {integrity: sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/typescript-estree@8.30.1': - resolution: {integrity: sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/utils@8.28.0': - resolution: {integrity: sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/utils@8.30.1': - resolution: {integrity: sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/visitor-keys@8.28.0': - resolution: {integrity: sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/visitor-keys@8.30.1': - resolution: {integrity: sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==} + '@typescript-eslint/visitor-keys@8.43.0': + resolution: {integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': @@ -1530,34 +1476,34 @@ packages: '@vitest/utils@3.2.4': resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} - '@vue/compiler-core@3.5.13': - resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} + '@vue/compiler-core@3.5.21': + resolution: {integrity: sha512-8i+LZ0vf6ZgII5Z9XmUvrCyEzocvWT+TeR2VBUVlzIH6Tyv57E20mPZ1bCS+tbejgUgmjrEh7q/0F0bibskAmw==} - '@vue/compiler-dom@3.5.13': - resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} + '@vue/compiler-dom@3.5.21': + resolution: {integrity: sha512-jNtbu/u97wiyEBJlJ9kmdw7tAr5Vy0Aj5CgQmo+6pxWNQhXZDPsRr1UWPN4v3Zf82s2H3kF51IbzZ4jMWAgPlQ==} - '@vue/compiler-sfc@3.5.13': - resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} + '@vue/compiler-sfc@3.5.21': + resolution: {integrity: sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==} - '@vue/compiler-ssr@3.5.13': - resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} + '@vue/compiler-ssr@3.5.21': + resolution: {integrity: sha512-vKQ5olH5edFZdf5ZrlEgSO1j1DMA4u23TVK5XR1uMhvwnYvVdDF0nHXJUblL/GvzlShQbjhZZ2uvYmDlAbgo9w==} - '@vue/reactivity@3.5.13': - resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} + '@vue/reactivity@3.5.21': + resolution: {integrity: sha512-3ah7sa+Cwr9iiYEERt9JfZKPw4A2UlbY8RbbnH2mGCE8NwHkhmlZt2VsH0oDA3P08X3jJd29ohBDtX+TbD9AsA==} - '@vue/runtime-core@3.5.13': - resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} + '@vue/runtime-core@3.5.21': + resolution: {integrity: sha512-+DplQlRS4MXfIf9gfD1BOJpk5RSyGgGXD/R+cumhe8jdjUcq/qlxDawQlSI8hCKupBlvM+3eS1se5xW+SuNAwA==} - '@vue/runtime-dom@3.5.13': - resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} + '@vue/runtime-dom@3.5.21': + resolution: {integrity: sha512-3M2DZsOFwM5qI15wrMmNF5RJe1+ARijt2HM3TbzBbPSuBHOQpoidE+Pa+XEaVN+czbHf81ETRoG1ltztP2em8w==} - '@vue/server-renderer@3.5.13': - resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} + '@vue/server-renderer@3.5.21': + resolution: {integrity: sha512-qr8AqgD3DJPJcGvLcJKQo2tAc8OnXRcfxhOJCPF+fcfn5bBGz7VCcO7t+qETOPxpWK1mgysXvVT/j+xWaHeMWA==} peerDependencies: - vue: 3.5.13 + vue: 3.5.21 - '@vue/shared@3.5.13': - resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + '@vue/shared@3.5.21': + resolution: {integrity: sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==} acorn-import-attributes@1.9.5: resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} @@ -1569,11 +1515,6 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.14.1: - resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -1583,8 +1524,8 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - agent-base@7.1.3: - resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} ai@2.2.37: @@ -1608,13 +1549,13 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - analytics-utils@1.0.14: - resolution: {integrity: sha512-9v0kPd8v0GuBvfQcg5BO48AElaEAr9IXMAfJWXYMAhrD3QprgozEIUgMp/de0vS136PUOBB+10XQH9eBgBmfMw==} + analytics-utils@1.1.1: + resolution: {integrity: sha512-nRybjTpRAcHVhWb1cvYaOLJaI3R79r8XjMbu5c0wd2jKmANNqSrYwybiU0X3mp+CQQdm4YiAggTXb2cIA8XhUg==} peerDependencies: '@types/dlv': ^1.0.0 - analytics@0.8.16: - resolution: {integrity: sha512-LEFQ47G9V1zVp9WIh2xhnbmSFEJq+WEzSv6voJ5uba88lefiIIYeG2nq87gFu83ocz1qtb9u7XgeaKKVBbbgWA==} + analytics@0.8.19: + resolution: {integrity: sha512-JFgasxpWFiAoqm5UHaGQv9j9OGz+f1KAeQkABYr3Z7YGhiqhQrBpPhIVAIEyttBRJZmew1QwMhN9/bOGGBnpJA==} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -1678,18 +1619,18 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.24.4: - resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + browserslist@4.25.4: + resolution: {integrity: sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1713,19 +1654,15 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001707: - resolution: {integrity: sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==} + caniuse-lite@1.0.30001741: + resolution: {integrity: sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@5.2.0: - resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} - engines: {node: '>=12'} - - chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} + chai@5.3.3: + resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} + engines: {node: '>=18'} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1774,8 +1711,8 @@ packages: resolution: {integrity: sha512-SbtvAMWvASO5TE2QP07jHBMXKafgdZz8Vrsrn96fiL+O92/FN/PLARzUW5sKt013fjAprK2d2iCn2hk2Xb5oow==} engines: {node: '>=12.20'} - color-string@2.0.1: - resolution: {integrity: sha512-5z9FbYTZPAo8iKsNEqRNv+OlpBbDcoE+SY9GjLfDUHEfcNNV7tS9eSAlFHEaub/r5tBL9LtskAeq1l9SaoZ5tQ==} + color-string@2.1.0: + resolution: {integrity: sha512-gNVoDzpaSwvftp6Y8nqk97FtZoXP9Yj7KGYB8yIXuv0JcfqbYihTrd1OU5iZW9btfXde4YAOCRySBHT7O910MA==} engines: {node: '>=18'} color@5.0.0: @@ -1819,8 +1756,8 @@ packages: engines: {node: '>=4'} hasBin: true - cssstyle@4.3.0: - resolution: {integrity: sha512-6r0NiY0xizYqfBvWp1G7WXJ06/bZyrk7Dc6PHql82C/pKGUTKu4yAX4Y8JPamb1ob9nBKuxWzCGTRuGwU3yxJQ==} + cssstyle@4.6.0: + resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} engines: {node: '>=18'} csstype@3.1.3: @@ -1957,17 +1894,8 @@ packages: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} - dayjs@1.11.13: - resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + dayjs@1.11.18: + resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==} debug@4.4.1: resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} @@ -1978,8 +1906,8 @@ packages: supports-color: optional: true - decimal.js@10.5.0: - resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} @@ -2031,8 +1959,8 @@ packages: dom-accessibility-api@0.6.3: resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} - dotenv@16.4.7: - resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} dunder-proto@1.0.1: @@ -2042,8 +1970,8 @@ packages: echarts@5.6.0: resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==} - electron-to-chromium@1.5.128: - resolution: {integrity: sha512-bo1A4HH/NS522Ws0QNFIzyPcyUUNV/yyy70Ho1xqfGYzPUme2F/xr4tlEOuM6/A538U1vDA7a4XfCd1CKRegKQ==} + electron-to-chromium@1.5.215: + resolution: {integrity: sha512-TIvGp57UpeNetj/wV/xpFNpWGb0b/ROw372lHPx5Aafx02gjTBtWnEEcaSX3W2dLM3OSdGGyHX/cHl01JQsLaQ==} emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} @@ -2052,6 +1980,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -2070,8 +2002,8 @@ packages: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} - esbuild@0.25.1: - resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==} + esbuild@0.25.9: + resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} engines: {node: '>=18'} hasBin: true @@ -2083,20 +2015,14 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-compat-utils@0.6.4: - resolution: {integrity: sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=6.0.0' - - eslint-config-prettier@10.1.1: - resolution: {integrity: sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==} + eslint-config-prettier@10.1.8: + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-plugin-svelte@3.3.3: - resolution: {integrity: sha512-imzGqIgWbfsb/CR14d3k3M8MiVNGet+l9mjPhvo1Rm0Nxi0rNn4/eELqyR8FWlgKBMlGkOp2kshRJm0xpxNfHQ==} + eslint-plugin-svelte@3.12.2: + resolution: {integrity: sha512-NDYltSWcDybvnXD5P3NtrLAfdrgr2lklZsXpyIoSlQfg2d80p/E853XXccu+uVn+w4+Q/iHy4oRw00GJH9I/Cg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.1 || ^9.0.0 @@ -2105,10 +2031,6 @@ packages: svelte: optional: true - eslint-scope@8.3.0: - resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-scope@8.4.0: resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2117,16 +2039,12 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@4.2.1: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.31.0: - resolution: {integrity: sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==} + eslint@9.35.0: + resolution: {integrity: sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2138,10 +2056,6 @@ packages: esm-env@1.2.2: resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2155,8 +2069,8 @@ packages: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} - esrap@1.4.5: - resolution: {integrity: sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==} + esrap@2.1.0: + resolution: {integrity: sha512-yzmPNpl7TBbMRC5Lj2JlJZNPml0tzqoqP5B1JXycNUwtqma9AKCO0M2wHrdgsHcy1WRW7S9rJknAMtByg3usgA==} esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} @@ -2180,8 +2094,8 @@ packages: resolution: {integrity: sha512-9jgfSCa3dmEme2ES3mPByGXfgZ87VbP97tng1G2nWwWx6bV2nYxm2AWCrbQjXToSe+yYlqaZNtxffR9IeQr95g==} engines: {node: '>=14.18'} - eventsource-parser@3.0.0: - resolution: {integrity: sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==} + eventsource-parser@3.0.6: + resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} engines: {node: '>=18.0.0'} expect-type@1.2.2: @@ -2204,16 +2118,9 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - fdir@6.4.3: - resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -2242,8 +2149,8 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - focus-trap@7.6.4: - resolution: {integrity: sha512-xx560wGBk7seZ6y933idtjJQc1l+ck+pI3sKvhKozdBV1dRZoKhkW5xoCaFv9tQiX5RH1xfSxjuNu6g+lmN/gw==} + focus-trap@7.6.5: + resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==} for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} @@ -2302,16 +2209,12 @@ packages: resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@16.0.0: - resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==} + globals@16.3.0: + resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} engines: {node: '>=18'} globalyzer@0.1.0: @@ -2390,15 +2293,19 @@ packages: resolution: {integrity: sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==} engines: {node: '>= 4'} - immutable@5.1.1: - resolution: {integrity: sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + immutable@5.1.3: + resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - import-in-the-middle@1.13.1: - resolution: {integrity: sha512-k2V9wNm9B+ysuelDTHjI9d5KPc4l8zAZTGqj+pcynvWkypZd857ryzN8jNC7Pg2YZXNMJcHRPpaDyCBbNyVRpA==} + import-in-the-middle@1.14.2: + resolution: {integrity: sha512-5tCuY9BV8ujfOpwtAGgsTx9CGUapcFMEEyByLv1B+v2+6DhAcw+Zr0nhQT7uwaZ7DiourxFEscghOR8e1aPLQw==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -2556,8 +2463,8 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - known-css-properties@0.35.0: - resolution: {integrity: sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==} + known-css-properties@0.37.0: + resolution: {integrity: sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==} levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} @@ -2577,15 +2484,12 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@3.1.4: - resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==} + loupe@3.2.1: + resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -2593,19 +2497,16 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - luxon@3.6.0: - resolution: {integrity: sha512-WE7p0p7W1xji9qxkLYsvcIxZyfP48GuFrWIBQZIsbjCyf65dG1rv4n83HcOyEyhvzxJCrUoObCRNFgRNIQ5KNA==} + luxon@3.7.2: + resolution: {integrity: sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==} engines: {node: '>=12'} lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - - magic-string@0.30.18: - resolution: {integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==} + magic-string@0.30.19: + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} magic-string@0.30.7: resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} @@ -2677,8 +2578,8 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - module-details-from-path@1.0.3: - resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} + module-details-from-path@1.0.4: + resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -2724,15 +2625,15 @@ packages: encoding: optional: true - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + node-releases@2.0.20: + resolution: {integrity: sha512-7gK6zSXEH6neM212JgfYFXe+GmZQM+fia5SsusuBIUgnPheLFBmIPhtFoAQRj8/7wASYQnbDlHPVwY0BefoFgA==} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - nwsapi@2.2.20: - resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} + nwsapi@2.2.22: + resolution: {integrity: sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==} object-inspect@1.13.4: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} @@ -2769,8 +2670,8 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse5@7.2.1: - resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} @@ -2790,8 +2691,8 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + pathval@2.0.1: + resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} periscopic@3.1.0: @@ -2801,8 +2702,8 @@ packages: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} engines: {node: '>=4.0.0'} - pg-protocol@1.8.0: - resolution: {integrity: sha512-jvuYlEkL03NRvOoyoRktBK7+qU5kOvlAwvmrH8sr3wbLrOdVWsRxQfz8mMy9sZFsqJ1hEWNfdWKI4SAmoL+j7g==} + pg-protocol@1.10.3: + resolution: {integrity: sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==} pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} @@ -2815,10 +2716,6 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - picomatch@4.0.3: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} @@ -2827,13 +2724,13 @@ packages: resolution: {integrity: sha512-hMhneYm3GCPyQon88SZrVJx+LlqhM1kZFQbuAgXPoh/Az2YvO1B6bitT9qlhpiTdJlsT5lsr3gPmzoVjb5CDXA==} engines: {node: '>=10'} - playwright-core@1.51.1: - resolution: {integrity: sha512-/crRMj8+j/Nq5s8QcvegseuyeZPxpQCZb6HNk3Sos3BlZyAknRjoyJPFWkpNn8v0+P3WiwqFF8P+zQo4eqiNuw==} + playwright-core@1.55.0: + resolution: {integrity: sha512-GvZs4vU3U5ro2nZpeiwyb0zuFaqb9sUiAJuyrWpcGouD8y9/HLgGbNRjIph7zU9D3hnPaisMl9zG9CgFi/biIg==} engines: {node: '>=18'} hasBin: true - playwright@1.51.1: - resolution: {integrity: sha512-kkx+MB2KQRkyxjYPc3a0wLZZoDczmppyGJIvQ43l+aZihkaVvmu/21kiyaHeHjiFxjxNNFnUncKmcGIyOojsaw==} + playwright@1.55.0: + resolution: {integrity: sha512-sdCWStblvV1YU909Xqx0DhOjPZE4/5lJsIS84IfN9dAZfcl/CIZ5O8l3o0j7hPMjDvqoTF8ZUcc+i/GL5erstA==} engines: {node: '>=18'} hasBin: true @@ -2872,10 +2769,6 @@ packages: resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} engines: {node: '>=4'} - postcss@8.5.3: - resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} @@ -2900,14 +2793,14 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-svelte@3.3.3: - resolution: {integrity: sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==} + prettier-plugin-svelte@3.4.0: + resolution: {integrity: sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==} peerDependencies: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} engines: {node: '>=14'} hasBin: true @@ -2963,9 +2856,6 @@ packages: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex-recursion@5.1.1: resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} @@ -3004,8 +2894,8 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rollup@4.46.2: - resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} + rollup@4.50.1: + resolution: {integrity: sha512-78E9voJHwnXQMiQdiqswVLZwJIzdBKJ1GdI5Zx6XwoFKUIk09/sSrr+05QFzvYb8q6Y9pPV45zzDuYa3907TZA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3029,8 +2919,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.86.0: - resolution: {integrity: sha512-zV8vGUld/+mP4KbMLJMX7TyGCuUp7hnkOScgCMsWuHtns8CWBoz+vmEhoGMXsaJrbUP8gj+F1dLvVe79sK8UdA==} + sass@1.92.1: + resolution: {integrity: sha512-ffmsdbwqb3XeyR8jJR6KelIXARM9bFQe8A6Q3W4Klmwy5Ckd5gz7jgUNHo4UOqutU5Sk1DtKLbpDP0nLCg1xqQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -3045,13 +2935,13 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} hasBin: true - seroval-plugins@1.3.2: - resolution: {integrity: sha512-0QvCV2lM3aj/U3YozDiVwx9zpH0q8A60CTWIv4Jszj/givcudPb48B+rkU5D51NJ0pTpweGMttHjboPa9/zoIQ==} + seroval-plugins@1.3.3: + resolution: {integrity: sha512-16OL3NnUBw8JG1jBLUoZJsLnQq0n5Ua6aHalhJK4fMQkz1lqR7Osz1sA30trBtd9VUDc2NgkuRCn8+/pBwqZ+w==} engines: {node: '>=10'} peerDependencies: seroval: ^1.0 @@ -3104,12 +2994,12 @@ packages: siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - sirv@3.0.1: - resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} engines: {node: '>=18'} - solid-js@1.9.5: - resolution: {integrity: sha512-ogI3DaFcyn6UhYhrgcyRAMbu/buBJitYQASZz5WzfQVPP10RD2AbCoRZ517psnezrasyCbWzIxZ6kVqet768xw==} + solid-js@1.9.9: + resolution: {integrity: sha512-A0ZBPJQldAeGCTW0YRYJmt7RCeh5rbFfPZ2aOttgYnctHE7HgKeHCBB/PVc2P7eOfmNXqMFFFoYYdm3S4dcbkA==} solid-swr-store@0.10.7: resolution: {integrity: sha512-A6d68aJmRP471aWqKKPE2tpgOiR5fH4qXQNfKIec+Vap+MGQm3tvXlT8n0I8UgJSlNAsSAUuw2VTviH2h3Vv5g==} @@ -3176,8 +3066,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte-check@4.1.5: - resolution: {integrity: sha512-Gb0T2IqBNe1tLB9EB1Qh+LOe+JB8wt2/rNBDGvkxQVvk8vNeAoG+vZgFB/3P5+zC7RWlyBlzm9dVjZFph/maIg==} + svelte-check@4.3.1: + resolution: {integrity: sha512-lkh8gff5gpHLjxIV+IaApMxQhTGnir2pNUAqcNgeKkvK5bT/30Ey/nzBxNLDlkztCH4dP7PixkMt9SWEKFPBWg==} engines: {node: '>= 18.0.0'} hasBin: true peerDependencies: @@ -3189,8 +3079,8 @@ packages: peerDependencies: svelte: ^4.0.0 - svelte-eslint-parser@1.1.1: - resolution: {integrity: sha512-QLVGPIMDettl30qRHXU2VrPvVJKG8GsGstye7n8rFbEiu3gEARksuQg9Xu4GzubNxhGNM8stfBZkhyMbBQmjFA==} + svelte-eslint-parser@1.3.1: + resolution: {integrity: sha512-0Iztj5vcOVOVkhy1pbo5uA9r+d3yaVoE5XPc9eABIWDOSJZ2mOsZ4D+t45rphWCOr0uMw3jtSG2fh2e7GvKnPg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 @@ -3249,12 +3139,12 @@ packages: peerDependencies: svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.1 - svelte@4.2.19: - resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} + svelte@4.2.20: + resolution: {integrity: sha512-eeEgGc2DtiUil5ANdtd8vPwt9AgaMdnuUFnPft9F5oMvU/FHu5IHFic+p1dR/UOB7XU2mX2yHW+NcTch4DCh5Q==} engines: {node: '>=16'} - svelte@5.25.3: - resolution: {integrity: sha512-J9rcZ/xVJonAoESqVGHHZhrNdVbrCfkdB41BP6eiwHMoFShD9it3yZXApVYMHdGfCshBsZCKsajwJeBbS/M1zg==} + svelte@5.38.7: + resolution: {integrity: sha512-1ld9TPZSdUS3EtYGQzisU2nhwXoIzNQcZ71IOU9fEmltaUofQnVfW5CQuhgM/zFsZ43arZXS1BRKi0MYgUV91w==} engines: {node: '>=18'} swr-store@0.10.6: @@ -3295,8 +3185,8 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} tinypool@1.1.1: @@ -3314,18 +3204,18 @@ packages: tippy.js@6.3.7: resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} - tldts-core@6.1.85: - resolution: {integrity: sha512-DTjUVvxckL1fIoPSb3KE7ISNtkWSawZdpfxGxwiIrZoO6EbHVDXXUIlIuWympPaeS+BLGyggozX/HTMsRAdsoA==} + tldts-core@6.1.86: + resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} - tldts-core@7.0.7: - resolution: {integrity: sha512-ECqb8imSroX1UmUuhRBNPkkmtZ8mHEenieim80UVxG0M5wXVjY2Fp2tYXCPvk+nLy1geOhFpeD5YQhM/gF63Jg==} + tldts-core@7.0.13: + resolution: {integrity: sha512-Td0LeWLgXJGsikI4mO82fRexgPCEyTcwWiXJERF/GBHX3Dm+HQq/wx4HnYowCbiwQ8d+ENLZc+ktbZw8H+0oEA==} - tldts@6.1.85: - resolution: {integrity: sha512-gBdZ1RjCSevRPFix/hpaUWeak2/RNUZB4/8frF1r5uYMHjFptkiT0JXIebWvgI/0ZHXvxaUDDJshiA0j6GdL3w==} + tldts@6.1.86: + resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} hasBin: true - tldts@7.0.7: - resolution: {integrity: sha512-ETNXj36ql5BXDa4VVJk3wgqansg8TI1Yqo217twSAPjyDnh/b2T+XzrI0ftn6EnzVPbXpMTZHOWj5s3a8/uGPA==} + tldts@7.0.13: + resolution: {integrity: sha512-z/SgnxiICGb7Gli0z7ci9BZdjy1tQORUbdmzEUA7NbIJKWhdONn78Ji8gV0PAGfHPyEd+I+W2rMzhLjWkv2Olg==} hasBin: true to-regex-range@5.0.1: @@ -3343,8 +3233,8 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@5.1.0: - resolution: {integrity: sha512-IUWnUK7ADYR5Sl1fZlO1INDUhVhatWl7BtJWsIhwJ0UAK7ilzzIa8uIqOO/aYVWHZPJkKbEL+362wrzoeRF7bw==} + tr46@5.1.1: + resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} engines: {node: '>=18'} trim-lines@3.0.1: @@ -3372,20 +3262,20 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.30.1: - resolution: {integrity: sha512-D7lC0kcehVH7Mb26MRQi64LMyRJsj3dToJxM1+JVTl53DQSV5/7oUGWQLcKl1C1KnoVHxMMU2FNQMffr7F3Row==} + typescript-eslint@8.43.0: + resolution: {integrity: sha512-FyRGJKUGvcFekRRcBKFBlAhnp4Ng8rhe8tuvvkR9OiU0gfd4vyvTRQHEckO6VDlH57jbeUQem2IpqPq9kLJH+w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + typescript: '>=4.8.4 <6.0.0' - typescript@5.8.2: - resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici-types@7.10.0: + resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -3433,8 +3323,8 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@7.0.6: - resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==} + vite@7.1.5: + resolution: {integrity: sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -3473,10 +3363,10 @@ packages: yaml: optional: true - vitefu@1.0.6: - resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==} + vitefu@1.1.1: + resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 peerDependenciesMeta: vite: optional: true @@ -3509,8 +3399,8 @@ packages: jsdom: optional: true - vue@3.5.13: - resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} + vue@3.5.21: + resolution: {integrity: sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3528,8 +3418,8 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + webpack-sources@3.3.3: + resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} engines: {node: '>=10.13.0'} webpack-virtual-modules@0.5.0: @@ -3576,8 +3466,8 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - ws@8.18.1: - resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -3613,13 +3503,13 @@ packages: zimmerframe@1.1.2: resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} - zod-to-json-schema@3.24.5: - resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} + zod-to-json-schema@3.24.6: + resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} peerDependencies: zod: ^3.24.1 - zod@3.24.3: - resolution: {integrity: sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg==} + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} zrender@5.6.1: resolution: {integrity: sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==} @@ -3629,86 +3519,86 @@ packages: snapshots: - '@adobe/css-tools@4.4.2': {} + '@adobe/css-tools@4.4.4': {} - '@ai-sdk/provider-utils@2.1.13(zod@3.24.3)': + '@ai-sdk/provider-utils@2.1.13(zod@3.25.76)': dependencies: '@ai-sdk/provider': 1.0.11 - eventsource-parser: 3.0.0 + eventsource-parser: 3.0.6 nanoid: 3.3.11 secure-json-parse: 2.7.0 optionalDependencies: - zod: 3.24.3 + zod: 3.25.76 '@ai-sdk/provider@1.0.11': dependencies: json-schema: 0.4.0 - '@ai-sdk/svelte@1.1.24(svelte@5.25.3)(zod@3.24.3)': + '@ai-sdk/svelte@1.1.24(svelte@5.38.7)(zod@3.25.76)': dependencies: - '@ai-sdk/provider-utils': 2.1.13(zod@3.24.3) - '@ai-sdk/ui-utils': 1.1.19(zod@3.24.3) + '@ai-sdk/provider-utils': 2.1.13(zod@3.25.76) + '@ai-sdk/ui-utils': 1.1.19(zod@3.25.76) optionalDependencies: - svelte: 5.25.3 + svelte: 5.38.7 transitivePeerDependencies: - zod - '@ai-sdk/ui-utils@1.1.19(zod@3.24.3)': + '@ai-sdk/ui-utils@1.1.19(zod@3.25.76)': dependencies: '@ai-sdk/provider': 1.0.11 - '@ai-sdk/provider-utils': 2.1.13(zod@3.24.3) - zod-to-json-schema: 3.24.5(zod@3.24.3) + '@ai-sdk/provider-utils': 2.1.13(zod@3.25.76) + zod-to-json-schema: 3.24.6(zod@3.25.76) optionalDependencies: - zod: 3.24.3 + zod: 3.25.76 '@ampproject/remapping@2.3.0': dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 - '@analytics/cookie-utils@0.2.12': + '@analytics/cookie-utils@0.2.14': dependencies: - '@analytics/global-storage-utils': 0.1.7 + '@analytics/global-storage-utils': 0.1.9 - '@analytics/core@0.12.17(@types/dlv@1.1.5)': + '@analytics/core@0.13.2(@types/dlv@1.1.5)': dependencies: - '@analytics/global-storage-utils': 0.1.7 - '@analytics/type-utils': 0.6.2 - analytics-utils: 1.0.14(@types/dlv@1.1.5) + '@analytics/global-storage-utils': 0.1.9 + '@analytics/type-utils': 0.6.4 + analytics-utils: 1.1.1(@types/dlv@1.1.5) transitivePeerDependencies: - '@types/dlv' - '@analytics/global-storage-utils@0.1.7': + '@analytics/global-storage-utils@0.1.9': dependencies: - '@analytics/type-utils': 0.6.2 + '@analytics/type-utils': 0.6.4 - '@analytics/localstorage-utils@0.1.10': + '@analytics/localstorage-utils@0.1.12': dependencies: - '@analytics/global-storage-utils': 0.1.7 + '@analytics/global-storage-utils': 0.1.9 - '@analytics/session-storage-utils@0.0.7': + '@analytics/session-storage-utils@0.0.9': dependencies: - '@analytics/global-storage-utils': 0.1.7 + '@analytics/global-storage-utils': 0.1.9 - '@analytics/storage-utils@0.4.2': + '@analytics/storage-utils@0.4.4': dependencies: - '@analytics/cookie-utils': 0.2.12 - '@analytics/global-storage-utils': 0.1.7 - '@analytics/localstorage-utils': 0.1.10 - '@analytics/session-storage-utils': 0.0.7 - '@analytics/type-utils': 0.6.2 + '@analytics/cookie-utils': 0.2.14 + '@analytics/global-storage-utils': 0.1.9 + '@analytics/localstorage-utils': 0.1.12 + '@analytics/session-storage-utils': 0.0.9 + '@analytics/type-utils': 0.6.4 - '@analytics/type-utils@0.6.2': {} + '@analytics/type-utils@0.6.4': {} - '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@3f35a6b': {} + '@appwrite.io/console@https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@964f807': {} - '@appwrite.io/pink-icons-svelte@2.0.0-RC.1(svelte@5.25.3)': + '@appwrite.io/pink-icons-svelte@2.0.0-RC.1(svelte@5.38.7)': dependencies: - svelte: 5.25.3 + svelte: 5.38.7 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@2cf27e0(svelte@5.25.3)': + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660(svelte@5.38.7)': dependencies: - svelte: 5.25.3 + svelte: 5.38.7 '@appwrite.io/pink-icons@0.25.0': {} @@ -3719,269 +3609,259 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed(svelte@5.25.3)': + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed(svelte@5.38.7)': dependencies: - '@appwrite.io/pink-icons-svelte': 2.0.0-RC.1(svelte@5.25.3) - '@floating-ui/dom': 1.6.13 - '@melt-ui/pp': 0.3.2(@melt-ui/svelte@0.86.6(svelte@5.25.3))(svelte@5.25.3) - '@melt-ui/svelte': 0.86.6(svelte@5.25.3) - '@tanstack/svelte-virtual': 3.13.12(svelte@5.25.3) + '@appwrite.io/pink-icons-svelte': 2.0.0-RC.1(svelte@5.38.7) + '@floating-ui/dom': 1.7.4 + '@melt-ui/pp': 0.3.2(@melt-ui/svelte@0.86.6(svelte@5.38.7))(svelte@5.38.7) + '@melt-ui/svelte': 0.86.6(svelte@5.38.7) + '@tanstack/svelte-virtual': 3.13.12(svelte@5.38.7) ansicolor: 2.0.3 d3: 7.9.0 fuse.js: 7.1.0 pretty-bytes: 6.1.1 shiki: 1.29.2 - svelte: 5.25.3 - svelte-motion: 0.12.2(svelte@5.25.3) - svelte-sonner: 0.3.28(svelte@5.25.3) + svelte: 5.38.7 + svelte-motion: 0.12.2(svelte@5.38.7) + svelte-sonner: 0.3.28(svelte@5.38.7) - '@asamuzakjp/css-color@3.1.1': + '@asamuzakjp/css-color@3.2.0': dependencies: - '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 lru-cache: 10.4.3 - '@babel/code-frame@7.26.2': + '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.25.9 + '@babel/helper-validator-identifier': 7.27.1 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.8': {} + '@babel/compat-data@7.28.4': {} - '@babel/core@7.26.10': + '@babel/core@7.28.4': dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.27.0 - '@babel/helper-compilation-targets': 7.27.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) - '@babel/helpers': 7.27.0 - '@babel/parser': 7.27.0 - '@babel/template': 7.27.0 - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.0 + debug: 4.4.1 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.27.0': + '@babel/generator@7.28.3': dependencies: - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 jsesc: 3.1.0 - '@babel/helper-compilation-targets@7.27.0': + '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.26.8 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.4 + '@babel/compat-data': 7.28.4 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.25.4 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-module-imports@7.25.9': + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.27.0 + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.25.9': {} - '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-validator-identifier@7.25.9': {} - '@babel/helper-validator-identifier@7.27.1': {} - '@babel/helper-validator-option@7.25.9': {} + '@babel/helper-validator-option@7.27.1': {} - '@babel/helpers@7.27.0': + '@babel/helpers@7.28.4': dependencies: - '@babel/template': 7.27.0 - '@babel/types': 7.27.0 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 - '@babel/parser@7.27.0': + '@babel/parser@7.28.4': dependencies: - '@babel/types': 7.27.0 + '@babel/types': 7.28.4 - '@babel/parser@7.28.3': - dependencies: - '@babel/types': 7.28.2 + '@babel/runtime@7.28.4': {} - '@babel/runtime@7.27.0': + '@babel/template@7.27.2': dependencies: - regenerator-runtime: 0.14.1 + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 - '@babel/template@7.27.0': + '@babel/traverse@7.28.4': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 - - '@babel/traverse@7.27.0': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.27.0 - '@babel/parser': 7.27.0 - '@babel/template': 7.27.0 - '@babel/types': 7.27.0 - debug: 4.4.0 - globals: 11.12.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + debug: 4.4.1 transitivePeerDependencies: - supports-color - '@babel/types@7.27.0': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - - '@babel/types@7.28.2': + '@babel/types@7.28.4': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@csstools/color-helpers@5.0.2': {} + '@csstools/color-helpers@5.1.0': {} - '@csstools/css-calc@2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-color-parser@3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/color-helpers': 5.0.2 - '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 + '@csstools/color-helpers': 5.1.0 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-tokenizer@3.0.3': {} + '@csstools/css-tokenizer@3.0.4': {} - '@esbuild/aix-ppc64@0.25.1': + '@esbuild/aix-ppc64@0.25.9': optional: true - '@esbuild/android-arm64@0.25.1': + '@esbuild/android-arm64@0.25.9': optional: true - '@esbuild/android-arm@0.25.1': + '@esbuild/android-arm@0.25.9': optional: true - '@esbuild/android-x64@0.25.1': + '@esbuild/android-x64@0.25.9': optional: true - '@esbuild/darwin-arm64@0.25.1': + '@esbuild/darwin-arm64@0.25.9': optional: true - '@esbuild/darwin-x64@0.25.1': + '@esbuild/darwin-x64@0.25.9': optional: true - '@esbuild/freebsd-arm64@0.25.1': + '@esbuild/freebsd-arm64@0.25.9': optional: true - '@esbuild/freebsd-x64@0.25.1': + '@esbuild/freebsd-x64@0.25.9': optional: true - '@esbuild/linux-arm64@0.25.1': + '@esbuild/linux-arm64@0.25.9': optional: true - '@esbuild/linux-arm@0.25.1': + '@esbuild/linux-arm@0.25.9': optional: true - '@esbuild/linux-ia32@0.25.1': + '@esbuild/linux-ia32@0.25.9': optional: true - '@esbuild/linux-loong64@0.25.1': + '@esbuild/linux-loong64@0.25.9': optional: true - '@esbuild/linux-mips64el@0.25.1': + '@esbuild/linux-mips64el@0.25.9': optional: true - '@esbuild/linux-ppc64@0.25.1': + '@esbuild/linux-ppc64@0.25.9': optional: true - '@esbuild/linux-riscv64@0.25.1': + '@esbuild/linux-riscv64@0.25.9': optional: true - '@esbuild/linux-s390x@0.25.1': + '@esbuild/linux-s390x@0.25.9': optional: true - '@esbuild/linux-x64@0.25.1': + '@esbuild/linux-x64@0.25.9': optional: true - '@esbuild/netbsd-arm64@0.25.1': + '@esbuild/netbsd-arm64@0.25.9': optional: true - '@esbuild/netbsd-x64@0.25.1': + '@esbuild/netbsd-x64@0.25.9': optional: true - '@esbuild/openbsd-arm64@0.25.1': + '@esbuild/openbsd-arm64@0.25.9': optional: true - '@esbuild/openbsd-x64@0.25.1': + '@esbuild/openbsd-x64@0.25.9': optional: true - '@esbuild/sunos-x64@0.25.1': + '@esbuild/openharmony-arm64@0.25.9': optional: true - '@esbuild/win32-arm64@0.25.1': + '@esbuild/sunos-x64@0.25.9': optional: true - '@esbuild/win32-ia32@0.25.1': + '@esbuild/win32-arm64@0.25.9': optional: true - '@esbuild/win32-x64@0.25.1': + '@esbuild/win32-ia32@0.25.9': optional: true - '@eslint-community/eslint-utils@4.5.1(eslint@9.31.0)': + '@esbuild/win32-x64@0.25.9': + optional: true + + '@eslint-community/eslint-utils@4.9.0(eslint@9.35.0)': dependencies: - eslint: 9.31.0 + eslint: 9.35.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.3.1(eslint@9.31.0)': + '@eslint/compat@1.3.2(eslint@9.35.0)': optionalDependencies: - eslint: 9.31.0 + eslint: 9.35.0 '@eslint/config-array@0.21.0': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.0 + debug: 4.4.1 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.3.0': {} + '@eslint/config-helpers@0.3.1': {} - '@eslint/core@0.15.1': + '@eslint/core@0.15.2': dependencies: '@types/json-schema': 7.0.15 '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.0 + debug: 4.4.1 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -3992,97 +3872,78 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.31.0': {} + '@eslint/js@9.35.0': {} '@eslint/object-schema@2.1.6': {} - '@eslint/plugin-kit@0.3.3': + '@eslint/plugin-kit@0.3.5': dependencies: - '@eslint/core': 0.15.1 + '@eslint/core': 0.15.2 levn: 0.4.1 '@faker-js/faker@9.9.0': {} - '@floating-ui/core@1.6.9': + '@floating-ui/core@1.7.3': dependencies: - '@floating-ui/utils': 0.2.9 + '@floating-ui/utils': 0.2.10 - '@floating-ui/dom@1.6.13': + '@floating-ui/dom@1.7.4': dependencies: - '@floating-ui/core': 1.6.9 - '@floating-ui/utils': 0.2.9 + '@floating-ui/core': 1.7.3 + '@floating-ui/utils': 0.2.10 - '@floating-ui/utils@0.2.9': {} + '@floating-ui/utils@0.2.10': {} '@humanfs/core@0.19.1': {} - '@humanfs/node@0.16.6': + '@humanfs/node@0.16.7': dependencies: '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/retry': 0.4.3 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/retry@0.3.1': {} + '@humanwhocodes/retry@0.4.3': {} - '@humanwhocodes/retry@0.4.2': {} - - '@internationalized/date@3.7.0': + '@internationalized/date@3.9.0': dependencies: - '@swc/helpers': 0.5.15 + '@swc/helpers': 0.5.17 - '@jridgewell/gen-mapping@0.3.8': + '@jridgewell/gen-mapping@0.3.13': dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.30 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/sourcemap-codec@1.5.0': {} - '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.25': + '@jridgewell/trace-mapping@0.3.30': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 - '@melt-ui/pp@0.3.2(@melt-ui/svelte@0.86.5(svelte@5.25.3))(svelte@5.25.3)': + '@melt-ui/pp@0.3.2(@melt-ui/svelte@0.86.6(svelte@5.38.7))(svelte@5.38.7)': dependencies: - '@melt-ui/svelte': 0.86.5(svelte@5.25.3) + '@melt-ui/svelte': 0.86.6(svelte@5.38.7) estree-walker: 3.0.3 - magic-string: 0.30.17 - svelte: 5.25.3 + magic-string: 0.30.19 + svelte: 5.38.7 - '@melt-ui/pp@0.3.2(@melt-ui/svelte@0.86.6(svelte@5.25.3))(svelte@5.25.3)': + '@melt-ui/svelte@0.86.6(svelte@5.38.7)': dependencies: - '@melt-ui/svelte': 0.86.6(svelte@5.25.3) - estree-walker: 3.0.3 - magic-string: 0.30.17 - svelte: 5.25.3 - - '@melt-ui/svelte@0.86.5(svelte@5.25.3)': - dependencies: - '@floating-ui/core': 1.6.9 - '@floating-ui/dom': 1.6.13 - '@internationalized/date': 3.7.0 + '@floating-ui/core': 1.7.3 + '@floating-ui/dom': 1.7.4 + '@internationalized/date': 3.9.0 dequal: 2.0.3 - focus-trap: 7.6.4 + focus-trap: 7.6.5 nanoid: 5.1.5 - svelte: 5.25.3 - - '@melt-ui/svelte@0.86.6(svelte@5.25.3)': - dependencies: - '@floating-ui/core': 1.6.9 - '@floating-ui/dom': 1.6.13 - '@internationalized/date': 3.7.0 - dequal: 2.0.3 - focus-trap: 7.6.4 - nanoid: 5.1.5 - svelte: 5.25.3 + svelte: 5.38.7 '@nodelib/fs.scandir@2.1.5': dependencies: @@ -4124,7 +3985,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4133,7 +3994,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@types/connect': 3.4.36 transitivePeerDependencies: - supports-color @@ -4150,7 +4011,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4159,7 +4020,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4190,7 +4051,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4201,7 +4062,7 @@ snapshots: '@opentelemetry/instrumentation': 0.57.1(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.28.0 forwarded-parse: 2.1.2 - semver: 7.7.1 + semver: 7.7.2 transitivePeerDependencies: - supports-color @@ -4210,7 +4071,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.36.2 - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4218,7 +4079,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4226,7 +4087,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4235,7 +4096,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4250,7 +4111,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4259,7 +4120,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4267,7 +4128,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -4276,7 +4137,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@types/mysql': 2.15.26 transitivePeerDependencies: - supports-color @@ -4285,7 +4146,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4306,7 +4167,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.36.2 - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 transitivePeerDependencies: - supports-color @@ -4314,7 +4175,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@types/tedious': 4.0.14 transitivePeerDependencies: - supports-color @@ -4332,9 +4193,9 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.53.0 '@types/shimmer': 1.2.0 - import-in-the-middle: 1.13.1 + import-in-the-middle: 1.14.2 require-in-the-middle: 7.5.2 - semver: 7.7.1 + semver: 7.7.2 shimmer: 1.2.1 transitivePeerDependencies: - supports-color @@ -4344,9 +4205,9 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.57.1 '@types/shimmer': 1.2.0 - import-in-the-middle: 1.13.1 + import-in-the-middle: 1.14.2 require-in-the-middle: 7.5.2 - semver: 7.7.1 + semver: 7.7.2 shimmer: 1.2.1 transitivePeerDependencies: - supports-color @@ -4356,9 +4217,9 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.57.2 '@types/shimmer': 1.2.0 - import-in-the-middle: 1.13.1 + import-in-the-middle: 1.14.2 require-in-the-middle: 7.5.2 - semver: 7.7.1 + semver: 7.7.2 shimmer: 1.2.1 transitivePeerDependencies: - supports-color @@ -4382,7 +4243,7 @@ snapshots: '@opentelemetry/semantic-conventions@1.28.0': {} - '@opentelemetry/semantic-conventions@1.30.0': {} + '@opentelemetry/semantic-conventions@1.37.0': {} '@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.9.0)': dependencies: @@ -4450,11 +4311,11 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.1 optional: true - '@playwright/test@1.51.1': + '@playwright/test@1.55.0': dependencies: - playwright: 1.51.1 + playwright: 1.55.0 - '@polka/url@1.0.0-next.28': {} + '@polka/url@1.0.0-next.29': {} '@popperjs/core@2.11.8': {} @@ -4466,64 +4327,67 @@ snapshots: transitivePeerDependencies: - supports-color - '@rollup/rollup-android-arm-eabi@4.46.2': + '@rollup/rollup-android-arm-eabi@4.50.1': optional: true - '@rollup/rollup-android-arm64@4.46.2': + '@rollup/rollup-android-arm64@4.50.1': optional: true - '@rollup/rollup-darwin-arm64@4.46.2': + '@rollup/rollup-darwin-arm64@4.50.1': optional: true - '@rollup/rollup-darwin-x64@4.46.2': + '@rollup/rollup-darwin-x64@4.50.1': optional: true - '@rollup/rollup-freebsd-arm64@4.46.2': + '@rollup/rollup-freebsd-arm64@4.50.1': optional: true - '@rollup/rollup-freebsd-x64@4.46.2': + '@rollup/rollup-freebsd-x64@4.50.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + '@rollup/rollup-linux-arm-gnueabihf@4.50.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.46.2': + '@rollup/rollup-linux-arm-musleabihf@4.50.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.46.2': + '@rollup/rollup-linux-arm64-gnu@4.50.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.46.2': + '@rollup/rollup-linux-arm64-musl@4.50.1': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + '@rollup/rollup-linux-loongarch64-gnu@4.50.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.46.2': + '@rollup/rollup-linux-ppc64-gnu@4.50.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.46.2': + '@rollup/rollup-linux-riscv64-gnu@4.50.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.46.2': + '@rollup/rollup-linux-riscv64-musl@4.50.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.46.2': + '@rollup/rollup-linux-s390x-gnu@4.50.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.46.2': + '@rollup/rollup-linux-x64-gnu@4.50.1': optional: true - '@rollup/rollup-linux-x64-musl@4.46.2': + '@rollup/rollup-linux-x64-musl@4.50.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.46.2': + '@rollup/rollup-openharmony-arm64@4.50.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.46.2': + '@rollup/rollup-win32-arm64-msvc@4.50.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.46.2': + '@rollup/rollup-win32-ia32-msvc@4.50.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.50.1': optional: true '@sentry-internal/browser-utils@8.55.0': @@ -4556,10 +4420,10 @@ snapshots: '@sentry/bundler-plugin-core@2.22.6': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.28.4 '@sentry/babel-plugin-component-annotate': 2.22.6 - '@sentry/cli': 2.43.0 - dotenv: 16.4.7 + '@sentry/cli': 2.53.0 + dotenv: 16.6.1 find-up: 5.0.0 glob: 9.3.5 magic-string: 0.30.8 @@ -4568,31 +4432,31 @@ snapshots: - encoding - supports-color - '@sentry/cli-darwin@2.43.0': + '@sentry/cli-darwin@2.53.0': optional: true - '@sentry/cli-linux-arm64@2.43.0': + '@sentry/cli-linux-arm64@2.53.0': optional: true - '@sentry/cli-linux-arm@2.43.0': + '@sentry/cli-linux-arm@2.53.0': optional: true - '@sentry/cli-linux-i686@2.43.0': + '@sentry/cli-linux-i686@2.53.0': optional: true - '@sentry/cli-linux-x64@2.43.0': + '@sentry/cli-linux-x64@2.53.0': optional: true - '@sentry/cli-win32-arm64@2.43.0': + '@sentry/cli-win32-arm64@2.53.0': optional: true - '@sentry/cli-win32-i686@2.43.0': + '@sentry/cli-win32-i686@2.53.0': optional: true - '@sentry/cli-win32-x64@2.43.0': + '@sentry/cli-win32-x64@2.53.0': optional: true - '@sentry/cli@2.43.0': + '@sentry/cli@2.53.0': dependencies: https-proxy-agent: 5.0.1 node-fetch: 2.7.0 @@ -4600,14 +4464,14 @@ snapshots: proxy-from-env: 1.1.0 which: 2.0.2 optionalDependencies: - '@sentry/cli-darwin': 2.43.0 - '@sentry/cli-linux-arm': 2.43.0 - '@sentry/cli-linux-arm64': 2.43.0 - '@sentry/cli-linux-i686': 2.43.0 - '@sentry/cli-linux-x64': 2.43.0 - '@sentry/cli-win32-arm64': 2.43.0 - '@sentry/cli-win32-i686': 2.43.0 - '@sentry/cli-win32-x64': 2.43.0 + '@sentry/cli-darwin': 2.53.0 + '@sentry/cli-linux-arm': 2.53.0 + '@sentry/cli-linux-arm64': 2.53.0 + '@sentry/cli-linux-i686': 2.53.0 + '@sentry/cli-linux-x64': 2.53.0 + '@sentry/cli-win32-arm64': 2.53.0 + '@sentry/cli-win32-i686': 2.53.0 + '@sentry/cli-win32-x64': 2.53.0 transitivePeerDependencies: - encoding - supports-color @@ -4646,44 +4510,44 @@ snapshots: '@opentelemetry/instrumentation-undici': 0.10.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@prisma/instrumentation': 5.22.0 '@sentry/core': 8.55.0 - '@sentry/opentelemetry': 8.55.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.30.0) - import-in-the-middle: 1.13.1 + '@sentry/opentelemetry': 8.55.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0) + import-in-the-middle: 1.14.2 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@8.55.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.30.0)': + '@sentry/opentelemetry@8.55.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.30.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@sentry/core': 8.55.0 - '@sentry/svelte@8.55.0(svelte@5.25.3)': + '@sentry/svelte@8.55.0(svelte@5.38.7)': dependencies: '@sentry/browser': 8.55.0 '@sentry/core': 8.55.0 magic-string: 0.30.7 - svelte: 5.25.3 + svelte: 5.38.7 - '@sentry/sveltekit@8.55.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.30.0)(@sveltejs/kit@2.36.3(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0))': + '@sentry/sveltekit@8.55.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)(@sveltejs/kit@2.37.1(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1))': dependencies: '@sentry/core': 8.55.0 '@sentry/node': 8.55.0 - '@sentry/opentelemetry': 8.55.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.30.0) - '@sentry/svelte': 8.55.0(svelte@5.25.3) + '@sentry/opentelemetry': 8.55.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0) + '@sentry/svelte': 8.55.0(svelte@5.38.7) '@sentry/vite-plugin': 2.22.6 - '@sveltejs/kit': 2.36.3(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) + '@sveltejs/kit': 2.37.1(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)) magic-string: 0.30.7 magicast: 0.2.8 sorcery: 1.0.0 optionalDependencies: - vite: 7.0.6(@types/node@22.13.14)(sass@1.86.0) + vite: 7.1.5(@types/node@24.3.1)(sass@1.92.1) transitivePeerDependencies: - '@opentelemetry/api' - '@opentelemetry/context-async-hooks' @@ -4742,104 +4606,99 @@ snapshots: '@stripe/stripe-js@3.5.0': {} - '@sveltejs/acorn-typescript@1.0.5(acorn@8.14.1)': - dependencies: - acorn: 8.14.1 - '@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)': dependencies: acorn: 8.15.0 - '@sveltejs/adapter-static@3.0.8(@sveltejs/kit@2.36.3(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))': + '@sveltejs/adapter-static@3.0.9(@sveltejs/kit@2.37.1(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))': dependencies: - '@sveltejs/kit': 2.36.3(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) + '@sveltejs/kit': 2.37.1(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)) - '@sveltejs/kit@2.36.3(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0))': + '@sveltejs/kit@2.37.1(@opentelemetry/api@1.9.0)(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1))': dependencies: '@standard-schema/spec': 1.0.0 '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 0.6.0 devalue: 5.3.2 esm-env: 1.2.2 kleur: 4.1.5 - magic-string: 0.30.18 + magic-string: 0.30.19 mrmime: 2.0.1 sade: 1.8.1 set-cookie-parser: 2.7.1 - sirv: 3.0.1 - svelte: 5.25.3 - vite: 7.0.6(@types/node@22.13.14)(sass@1.86.0) + sirv: 3.0.2 + svelte: 5.38.7 + vite: 7.1.5(@types/node@24.3.1)(sass@1.92.1) optionalDependencies: '@opentelemetry/api': 1.9.0 - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) - debug: 4.4.0 - svelte: 5.25.3 - vite: 7.0.6(@types/node@22.13.14)(sass@1.86.0) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)) + debug: 4.4.1 + svelte: 5.38.7 + vite: 7.1.5(@types/node@24.3.1)(sass@1.92.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)))(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) - debug: 4.4.0 + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)))(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)) + debug: 4.4.1 deepmerge: 4.3.1 kleur: 4.1.5 - magic-string: 0.30.17 - svelte: 5.25.3 - vite: 7.0.6(@types/node@22.13.14)(sass@1.86.0) - vitefu: 1.0.6(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) + magic-string: 0.30.19 + svelte: 5.38.7 + vite: 7.1.5(@types/node@24.3.1)(sass@1.92.1) + vitefu: 1.1.1(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)) transitivePeerDependencies: - supports-color - '@swc/helpers@0.5.15': + '@swc/helpers@0.5.17': dependencies: tslib: 2.8.1 - '@tanstack/svelte-virtual@3.13.12(svelte@5.25.3)': + '@tanstack/svelte-virtual@3.13.12(svelte@5.38.7)': dependencies: '@tanstack/virtual-core': 3.13.12 - svelte: 5.25.3 + svelte: 5.38.7 '@tanstack/virtual-core@3.13.12': {} - '@testing-library/dom@10.4.0': + '@testing-library/dom@10.4.1': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/runtime': 7.27.0 + '@babel/code-frame': 7.27.1 + '@babel/runtime': 7.28.4 '@types/aria-query': 5.0.4 aria-query: 5.3.0 - chalk: 4.1.2 dom-accessibility-api: 0.5.16 lz-string: 1.5.0 + picocolors: 1.1.1 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.6.3': + '@testing-library/jest-dom@6.8.0': dependencies: - '@adobe/css-tools': 4.4.2 + '@adobe/css-tools': 4.4.4 aria-query: 5.3.2 - chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 - lodash: 4.17.21 + picocolors: 1.1.1 redent: 3.0.0 - '@testing-library/svelte@5.2.8(svelte@5.25.3)(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0))(vitest@3.2.4)': + '@testing-library/svelte@5.2.8(svelte@5.38.7)(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1))(vitest@3.2.4)': dependencies: - '@testing-library/dom': 10.4.0 - svelte: 5.25.3 + '@testing-library/dom': 10.4.1 + svelte: 5.38.7 optionalDependencies: - vite: 7.0.6(@types/node@22.13.14)(sass@1.86.0) - vitest: 3.2.4(@types/node@22.13.14)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.86.0) + vite: 7.1.5(@types/node@24.3.1)(sass@1.92.1) + vitest: 3.2.4(@types/node@24.3.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.92.1) - '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': + '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': dependencies: - '@testing-library/dom': 10.4.0 + '@testing-library/dom': 10.4.1 '@types/aria-query@5.0.4': {} @@ -4849,7 +4708,7 @@ snapshots: '@types/connect@3.4.36': dependencies: - '@types/node': 22.13.14 + '@types/node': 24.3.1 '@types/cookie@0.6.0': {} @@ -4859,8 +4718,6 @@ snapshots: '@types/dlv@1.1.5': {} - '@types/estree@1.0.7': {} - '@types/estree@1.0.8': {} '@types/hast@3.0.4': @@ -4875,11 +4732,11 @@ snapshots: '@types/mysql@2.15.26': dependencies: - '@types/node': 22.13.14 + '@types/node': 24.3.1 - '@types/node@22.13.14': + '@types/node@24.3.1': dependencies: - undici-types: 6.20.0 + undici-types: 7.10.0 '@types/pg-pool@2.0.6': dependencies: @@ -4887,15 +4744,15 @@ snapshots: '@types/pg@8.6.1': dependencies: - '@types/node': 22.13.14 - pg-protocol: 1.8.0 + '@types/node': 24.3.1 + pg-protocol: 1.10.3 pg-types: 2.2.0 '@types/prismjs@1.26.5': {} '@types/prop-types@15.7.15': {} - '@types/react@18.3.23': + '@types/react@18.3.24': dependencies: '@types/prop-types': 15.7.15 csstype: 3.1.3 @@ -4906,163 +4763,102 @@ snapshots: '@types/tedious@4.0.14': dependencies: - '@types/node': 22.13.14 + '@types/node': 24.3.1 '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.28.0(@typescript-eslint/parser@8.28.0(eslint@9.31.0)(typescript@5.8.2))(eslint@9.31.0)(typescript@5.8.2)': + '@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.28.0(eslint@9.31.0)(typescript@5.8.2) - '@typescript-eslint/scope-manager': 8.28.0 - '@typescript-eslint/type-utils': 8.28.0(eslint@9.31.0)(typescript@5.8.2) - '@typescript-eslint/utils': 8.28.0(eslint@9.31.0)(typescript@5.8.2) - '@typescript-eslint/visitor-keys': 8.28.0 - eslint: 9.31.0 + '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2) + '@typescript-eslint/scope-manager': 8.43.0 + '@typescript-eslint/type-utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2) + '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.43.0 + eslint: 9.35.0 graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.2) - typescript: 5.8.2 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.30.1(@typescript-eslint/parser@8.30.1(eslint@9.31.0)(typescript@5.8.2))(eslint@9.31.0)(typescript@5.8.2)': + '@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.30.1(eslint@9.31.0)(typescript@5.8.2) - '@typescript-eslint/scope-manager': 8.30.1 - '@typescript-eslint/type-utils': 8.30.1(eslint@9.31.0)(typescript@5.8.2) - '@typescript-eslint/utils': 8.30.1(eslint@9.31.0)(typescript@5.8.2) - '@typescript-eslint/visitor-keys': 8.30.1 - eslint: 9.31.0 - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.2) - typescript: 5.8.2 + '@typescript-eslint/scope-manager': 8.43.0 + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 8.43.0 + debug: 4.4.1 + eslint: 9.35.0 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.28.0(eslint@9.31.0)(typescript@5.8.2)': + '@typescript-eslint/project-service@8.43.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/scope-manager': 8.28.0 - '@typescript-eslint/types': 8.28.0 - '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.2) - '@typescript-eslint/visitor-keys': 8.28.0 - debug: 4.4.0 - eslint: 9.31.0 - typescript: 5.8.2 + '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2) + '@typescript-eslint/types': 8.43.0 + debug: 4.4.1 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.30.1(eslint@9.31.0)(typescript@5.8.2)': + '@typescript-eslint/scope-manager@8.43.0': dependencies: - '@typescript-eslint/scope-manager': 8.30.1 - '@typescript-eslint/types': 8.30.1 - '@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.2) - '@typescript-eslint/visitor-keys': 8.30.1 - debug: 4.4.0 - eslint: 9.31.0 - typescript: 5.8.2 + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/visitor-keys': 8.43.0 + + '@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.9.2)': + dependencies: + typescript: 5.9.2 + + '@typescript-eslint/type-utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)': + dependencies: + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2) + debug: 4.4.1 + eslint: 9.35.0 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.28.0': + '@typescript-eslint/types@8.43.0': {} + + '@typescript-eslint/typescript-estree@8.43.0(typescript@5.9.2)': dependencies: - '@typescript-eslint/types': 8.28.0 - '@typescript-eslint/visitor-keys': 8.28.0 - - '@typescript-eslint/scope-manager@8.30.1': - dependencies: - '@typescript-eslint/types': 8.30.1 - '@typescript-eslint/visitor-keys': 8.30.1 - - '@typescript-eslint/type-utils@8.28.0(eslint@9.31.0)(typescript@5.8.2)': - dependencies: - '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.2) - '@typescript-eslint/utils': 8.28.0(eslint@9.31.0)(typescript@5.8.2) - debug: 4.4.0 - eslint: 9.31.0 - ts-api-utils: 2.1.0(typescript@5.8.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/type-utils@8.30.1(eslint@9.31.0)(typescript@5.8.2)': - dependencies: - '@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.2) - '@typescript-eslint/utils': 8.30.1(eslint@9.31.0)(typescript@5.8.2) - debug: 4.4.0 - eslint: 9.31.0 - ts-api-utils: 2.1.0(typescript@5.8.2) - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@8.28.0': {} - - '@typescript-eslint/types@8.30.1': {} - - '@typescript-eslint/typescript-estree@8.28.0(typescript@5.8.2)': - dependencies: - '@typescript-eslint/types': 8.28.0 - '@typescript-eslint/visitor-keys': 8.28.0 - debug: 4.4.0 + '@typescript-eslint/project-service': 8.43.0(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2) + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/visitor-keys': 8.43.0 + debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.1 - ts-api-utils: 2.1.0(typescript@5.8.2) - typescript: 5.8.2 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.9.2) + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.30.1(typescript@5.8.2)': + '@typescript-eslint/utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)': dependencies: - '@typescript-eslint/types': 8.30.1 - '@typescript-eslint/visitor-keys': 8.30.1 - debug: 4.4.0 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.1 - ts-api-utils: 2.1.0(typescript@5.8.2) - typescript: 5.8.2 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0) + '@typescript-eslint/scope-manager': 8.43.0 + '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2) + eslint: 9.35.0 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.28.0(eslint@9.31.0)(typescript@5.8.2)': + '@typescript-eslint/visitor-keys@8.43.0': dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.31.0) - '@typescript-eslint/scope-manager': 8.28.0 - '@typescript-eslint/types': 8.28.0 - '@typescript-eslint/typescript-estree': 8.28.0(typescript@5.8.2) - eslint: 9.31.0 - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.30.1(eslint@9.31.0)(typescript@5.8.2)': - dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.31.0) - '@typescript-eslint/scope-manager': 8.30.1 - '@typescript-eslint/types': 8.30.1 - '@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.2) - eslint: 9.31.0 - typescript: 5.8.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@8.28.0': - dependencies: - '@typescript-eslint/types': 8.28.0 - eslint-visitor-keys: 4.2.0 - - '@typescript-eslint/visitor-keys@8.30.1': - dependencies: - '@typescript-eslint/types': 8.30.1 - eslint-visitor-keys: 4.2.0 + '@typescript-eslint/types': 8.43.0 + eslint-visitor-keys: 4.2.1 '@ungap/structured-clone@1.3.0': {} @@ -5071,16 +4867,16 @@ snapshots: '@types/chai': 5.2.2 '@vitest/spy': 3.2.4 '@vitest/utils': 3.2.4 - chai: 5.2.0 + chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0))': + '@vitest/mocker@3.2.4(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 - magic-string: 0.30.17 + magic-string: 0.30.19 optionalDependencies: - vite: 7.0.6(@types/node@22.13.14)(sass@1.86.0) + vite: 7.1.5(@types/node@24.3.1)(sass@1.92.1) '@vitest/pretty-format@3.2.4': dependencies: @@ -5095,7 +4891,7 @@ snapshots: '@vitest/snapshot@3.2.4': dependencies: '@vitest/pretty-format': 3.2.4 - magic-string: 0.30.17 + magic-string: 0.30.19 pathe: 2.0.3 '@vitest/spy@3.2.4': @@ -5108,109 +4904,103 @@ snapshots: fflate: 0.8.2 flatted: 3.3.3 pathe: 2.0.3 - sirv: 3.0.1 - tinyglobby: 0.2.14 + sirv: 3.0.2 + tinyglobby: 0.2.15 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/node@22.13.14)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.86.0) + vitest: 3.2.4(@types/node@24.3.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.92.1) '@vitest/utils@3.2.4': dependencies: '@vitest/pretty-format': 3.2.4 - loupe: 3.1.4 + loupe: 3.2.1 tinyrainbow: 2.0.0 - '@vue/compiler-core@3.5.13': + '@vue/compiler-core@3.5.21': dependencies: - '@babel/parser': 7.28.3 - '@vue/shared': 3.5.13 + '@babel/parser': 7.28.4 + '@vue/shared': 3.5.21 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.13': + '@vue/compiler-dom@3.5.21': dependencies: - '@vue/compiler-core': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-core': 3.5.21 + '@vue/shared': 3.5.21 - '@vue/compiler-sfc@3.5.13': + '@vue/compiler-sfc@3.5.21': dependencies: - '@babel/parser': 7.28.3 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 + '@babel/parser': 7.28.4 + '@vue/compiler-core': 3.5.21 + '@vue/compiler-dom': 3.5.21 + '@vue/compiler-ssr': 3.5.21 + '@vue/shared': 3.5.21 estree-walker: 2.0.2 - magic-string: 0.30.18 + magic-string: 0.30.19 postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.13': + '@vue/compiler-ssr@3.5.21': dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-dom': 3.5.21 + '@vue/shared': 3.5.21 - '@vue/reactivity@3.5.13': + '@vue/reactivity@3.5.21': dependencies: - '@vue/shared': 3.5.13 + '@vue/shared': 3.5.21 - '@vue/runtime-core@3.5.13': + '@vue/runtime-core@3.5.21': dependencies: - '@vue/reactivity': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/reactivity': 3.5.21 + '@vue/shared': 3.5.21 - '@vue/runtime-dom@3.5.13': + '@vue/runtime-dom@3.5.21': dependencies: - '@vue/reactivity': 3.5.13 - '@vue/runtime-core': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/reactivity': 3.5.21 + '@vue/runtime-core': 3.5.21 + '@vue/shared': 3.5.21 csstype: 3.1.3 - '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.8.2))': + '@vue/server-renderer@3.5.21(vue@3.5.21(typescript@5.9.2))': dependencies: - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - vue: 3.5.13(typescript@5.8.2) + '@vue/compiler-ssr': 3.5.21 + '@vue/shared': 3.5.21 + vue: 3.5.21(typescript@5.9.2) - '@vue/shared@3.5.13': {} + '@vue/shared@3.5.21': {} - acorn-import-attributes@1.9.5(acorn@8.14.1): + acorn-import-attributes@1.9.5(acorn@8.15.0): dependencies: - acorn: 8.14.1 - - acorn-jsx@5.3.2(acorn@8.14.1): - dependencies: - acorn: 8.14.1 + acorn: 8.15.0 acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 - acorn@8.14.1: {} - acorn@8.15.0: {} agent-base@6.0.2: dependencies: - debug: 4.4.0 + debug: 4.4.1 transitivePeerDependencies: - supports-color - agent-base@7.1.3: {} + agent-base@7.1.4: {} - ai@2.2.37(react@18.3.1)(solid-js@1.9.5)(svelte@5.25.3)(vue@3.5.13(typescript@5.8.2)): + ai@2.2.37(react@18.3.1)(solid-js@1.9.9)(svelte@5.38.7)(vue@3.5.21(typescript@5.9.2)): dependencies: eventsource-parser: 1.0.0 nanoid: 3.3.6 - solid-swr-store: 0.10.7(solid-js@1.9.5)(swr-store@0.10.6) - sswr: 2.0.0(svelte@5.25.3) + solid-swr-store: 0.10.7(solid-js@1.9.9)(swr-store@0.10.6) + sswr: 2.0.0(svelte@5.38.7) swr: 2.2.0(react@18.3.1) swr-store: 0.10.6 - swrv: 1.0.4(vue@3.5.13(typescript@5.8.2)) + swrv: 1.0.4(vue@3.5.21(typescript@5.9.2)) optionalDependencies: react: 18.3.1 - solid-js: 1.9.5 - svelte: 5.25.3 - vue: 3.5.13(typescript@5.8.2) + solid-js: 1.9.9 + svelte: 5.38.7 + vue: 3.5.21(typescript@5.9.2) ajv@6.12.6: dependencies: @@ -5219,16 +5009,16 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - analytics-utils@1.0.14(@types/dlv@1.1.5): + analytics-utils@1.1.1(@types/dlv@1.1.5): dependencies: - '@analytics/type-utils': 0.6.2 + '@analytics/type-utils': 0.6.4 '@types/dlv': 1.1.5 dlv: 1.1.3 - analytics@0.8.16(@types/dlv@1.1.5): + analytics@0.8.19(@types/dlv@1.1.5): dependencies: - '@analytics/core': 0.12.17(@types/dlv@1.1.5) - '@analytics/storage-utils': 0.4.2 + '@analytics/core': 0.13.2(@types/dlv@1.1.5) + '@analytics/storage-utils': 0.4.4 transitivePeerDependencies: - '@types/dlv' @@ -5284,12 +5074,12 @@ snapshots: binary-extensions@2.3.0: {} - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -5297,12 +5087,12 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.24.4: + browserslist@4.25.4: dependencies: - caniuse-lite: 1.0.30001707 - electron-to-chromium: 1.5.128 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.24.4) + caniuse-lite: 1.0.30001741 + electron-to-chromium: 1.5.215 + node-releases: 2.0.20 + update-browserslist-db: 1.1.3(browserslist@4.25.4) cac@6.7.14: {} @@ -5325,22 +5115,17 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001707: {} + caniuse-lite@1.0.30001741: {} ccount@2.0.1: {} - chai@5.2.0: + chai@5.3.3: dependencies: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.4 - pathval: 2.0.0 - - chalk@3.0.0: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 + loupe: 3.2.1 + pathval: 2.0.1 chalk@4.1.2: dependencies: @@ -5375,9 +5160,9 @@ snapshots: code-red@1.0.4: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - '@types/estree': 1.0.7 - acorn: 8.14.1 + '@jridgewell/sourcemap-codec': 1.5.5 + '@types/estree': 1.0.8 + acorn: 8.15.0 estree-walker: 3.0.3 periscopic: 3.1.0 @@ -5393,14 +5178,14 @@ snapshots: color-name@2.0.0: {} - color-string@2.0.1: + color-string@2.1.0: dependencies: color-name: 2.0.0 color@5.0.0: dependencies: color-convert: 3.1.0 - color-string: 2.0.1 + color-string: 2.1.0 comma-separated-tokens@2.0.3: {} @@ -5414,7 +5199,7 @@ snapshots: cron-parser@4.9.0: dependencies: - luxon: 3.6.0 + luxon: 3.7.2 cross-spawn@7.0.6: dependencies: @@ -5431,9 +5216,9 @@ snapshots: cssesc@3.0.0: {} - cssstyle@4.3.0: + cssstyle@4.6.0: dependencies: - '@asamuzakjp/css-color': 3.1.1 + '@asamuzakjp/css-color': 3.2.0 rrweb-cssom: 0.8.0 csstype@3.1.3: {} @@ -5595,17 +5380,13 @@ snapshots: whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - dayjs@1.11.13: {} - - debug@4.4.0: - dependencies: - ms: 2.1.3 + dayjs@1.11.18: {} debug@4.4.1: dependencies: ms: 2.1.3 - decimal.js@10.5.0: {} + decimal.js@10.6.0: {} deep-eql@5.0.2: {} @@ -5667,7 +5448,7 @@ snapshots: dom-accessibility-api@0.6.3: {} - dotenv@16.4.7: {} + dotenv@16.6.1: {} dunder-proto@1.0.1: dependencies: @@ -5680,12 +5461,14 @@ snapshots: tslib: 2.3.0 zrender: 5.6.1 - electron-to-chromium@1.5.128: {} + electron-to-chromium@1.5.215: {} emoji-regex-xs@1.0.0: {} entities@4.5.0: {} + entities@6.0.1: {} + es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -5708,70 +5491,61 @@ snapshots: dependencies: es-errors: 1.3.0 - esbuild@0.25.1: + esbuild@0.25.9: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.1 - '@esbuild/android-arm': 0.25.1 - '@esbuild/android-arm64': 0.25.1 - '@esbuild/android-x64': 0.25.1 - '@esbuild/darwin-arm64': 0.25.1 - '@esbuild/darwin-x64': 0.25.1 - '@esbuild/freebsd-arm64': 0.25.1 - '@esbuild/freebsd-x64': 0.25.1 - '@esbuild/linux-arm': 0.25.1 - '@esbuild/linux-arm64': 0.25.1 - '@esbuild/linux-ia32': 0.25.1 - '@esbuild/linux-loong64': 0.25.1 - '@esbuild/linux-mips64el': 0.25.1 - '@esbuild/linux-ppc64': 0.25.1 - '@esbuild/linux-riscv64': 0.25.1 - '@esbuild/linux-s390x': 0.25.1 - '@esbuild/linux-x64': 0.25.1 - '@esbuild/netbsd-arm64': 0.25.1 - '@esbuild/netbsd-x64': 0.25.1 - '@esbuild/openbsd-arm64': 0.25.1 - '@esbuild/openbsd-x64': 0.25.1 - '@esbuild/sunos-x64': 0.25.1 - '@esbuild/win32-arm64': 0.25.1 - '@esbuild/win32-ia32': 0.25.1 - '@esbuild/win32-x64': 0.25.1 + '@esbuild/aix-ppc64': 0.25.9 + '@esbuild/android-arm': 0.25.9 + '@esbuild/android-arm64': 0.25.9 + '@esbuild/android-x64': 0.25.9 + '@esbuild/darwin-arm64': 0.25.9 + '@esbuild/darwin-x64': 0.25.9 + '@esbuild/freebsd-arm64': 0.25.9 + '@esbuild/freebsd-x64': 0.25.9 + '@esbuild/linux-arm': 0.25.9 + '@esbuild/linux-arm64': 0.25.9 + '@esbuild/linux-ia32': 0.25.9 + '@esbuild/linux-loong64': 0.25.9 + '@esbuild/linux-mips64el': 0.25.9 + '@esbuild/linux-ppc64': 0.25.9 + '@esbuild/linux-riscv64': 0.25.9 + '@esbuild/linux-s390x': 0.25.9 + '@esbuild/linux-x64': 0.25.9 + '@esbuild/netbsd-arm64': 0.25.9 + '@esbuild/netbsd-x64': 0.25.9 + '@esbuild/openbsd-arm64': 0.25.9 + '@esbuild/openbsd-x64': 0.25.9 + '@esbuild/openharmony-arm64': 0.25.9 + '@esbuild/sunos-x64': 0.25.9 + '@esbuild/win32-arm64': 0.25.9 + '@esbuild/win32-ia32': 0.25.9 + '@esbuild/win32-x64': 0.25.9 escalade@3.2.0: {} escape-string-regexp@4.0.0: {} - eslint-compat-utils@0.6.4(eslint@9.31.0): + eslint-config-prettier@10.1.8(eslint@9.35.0): dependencies: - eslint: 9.31.0 - semver: 7.7.1 + eslint: 9.35.0 - eslint-config-prettier@10.1.1(eslint@9.31.0): + eslint-plugin-svelte@3.12.2(eslint@9.35.0)(svelte@5.38.7): dependencies: - eslint: 9.31.0 - - eslint-plugin-svelte@3.3.3(eslint@9.31.0)(svelte@5.25.3): - dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.31.0) - '@jridgewell/sourcemap-codec': 1.5.0 - eslint: 9.31.0 - eslint-compat-utils: 0.6.4(eslint@9.31.0) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0) + '@jridgewell/sourcemap-codec': 1.5.5 + eslint: 9.35.0 esutils: 2.0.3 - known-css-properties: 0.35.0 - postcss: 8.5.3 - postcss-load-config: 3.1.4(postcss@8.5.3) - postcss-safe-parser: 7.0.1(postcss@8.5.3) - semver: 7.7.1 - svelte-eslint-parser: 1.1.1(svelte@5.25.3) + globals: 16.3.0 + known-css-properties: 0.37.0 + postcss: 8.5.6 + postcss-load-config: 3.1.4(postcss@8.5.6) + postcss-safe-parser: 7.0.1(postcss@8.5.6) + semver: 7.7.2 + svelte-eslint-parser: 1.3.1(svelte@5.38.7) optionalDependencies: - svelte: 5.25.3 + svelte: 5.38.7 transitivePeerDependencies: - ts-node - eslint-scope@8.3.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 @@ -5779,29 +5553,27 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.0: {} - eslint-visitor-keys@4.2.1: {} - eslint@9.31.0: + eslint@9.35.0: dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.31.0) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.21.0 - '@eslint/config-helpers': 0.3.0 - '@eslint/core': 0.15.1 + '@eslint/config-helpers': 0.3.1 + '@eslint/core': 0.15.2 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.31.0 - '@eslint/plugin-kit': 0.3.3 - '@humanfs/node': 0.16.6 + '@eslint/js': 9.35.0 + '@eslint/plugin-kit': 0.3.5 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.2 - '@types/estree': 1.0.7 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0 + debug: 4.4.1 escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -5825,12 +5597,6 @@ snapshots: esm-env@1.2.2: {} - espree@10.3.0: - dependencies: - acorn: 8.14.1 - acorn-jsx: 5.3.2(acorn@8.14.1) - eslint-visitor-keys: 4.2.0 - espree@10.4.0: dependencies: acorn: 8.15.0 @@ -5843,9 +5609,9 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@1.4.5: + esrap@2.1.0: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 esrecurse@4.3.0: dependencies: @@ -5857,13 +5623,13 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 esutils@2.0.3: {} eventsource-parser@1.0.0: {} - eventsource-parser@3.0.0: {} + eventsource-parser@3.0.6: {} expect-type@1.2.2: {} @@ -5885,15 +5651,7 @@ snapshots: dependencies: reusify: 1.1.0 - fdir@6.4.3(picomatch@4.0.3): - optionalDependencies: - picomatch: 4.0.3 - - fdir@6.4.6(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - - fdir@6.4.6(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -5919,7 +5677,7 @@ snapshots: flatted@3.3.3: {} - focus-trap@7.6.4: + focus-trap@7.6.5: dependencies: tabbable: 6.2.0 @@ -5982,11 +5740,9 @@ snapshots: minipass: 4.2.8 path-scurry: 1.11.1 - globals@11.12.0: {} - globals@14.0.0: {} - globals@16.0.0: {} + globals@16.3.0: {} globalyzer@0.1.0: {} @@ -6042,22 +5798,22 @@ snapshots: http-proxy-agent@7.0.2: dependencies: - agent-base: 7.1.3 - debug: 4.4.0 + agent-base: 7.1.4 + debug: 4.4.1 transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.0 + debug: 4.4.1 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.6: dependencies: - agent-base: 7.1.3 - debug: 4.4.0 + agent-base: 7.1.4 + debug: 4.4.1 transitivePeerDependencies: - supports-color @@ -6069,19 +5825,21 @@ snapshots: ignore@6.0.2: {} - immutable@5.1.1: {} + ignore@7.0.5: {} + + immutable@5.1.3: {} import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - import-in-the-middle@1.13.1: + import-in-the-middle@1.14.2: dependencies: - acorn: 8.14.1 - acorn-import-attributes: 1.9.5(acorn@8.14.1) + acorn: 8.15.0 + acorn-import-attributes: 1.9.5(acorn@8.15.0) cjs-module-lexer: 1.4.3 - module-details-from-path: 1.0.3 + module-details-from-path: 1.0.4 imurmurhash@0.1.4: {} @@ -6149,7 +5907,7 @@ snapshots: is-reference@3.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 is-regex@1.2.1: dependencies: @@ -6196,15 +5954,15 @@ snapshots: jsdom@26.1.0: dependencies: - cssstyle: 4.3.0 + cssstyle: 4.6.0 data-urls: 5.0.0 - decimal.js: 10.5.0 + decimal.js: 10.6.0 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.20 - parse5: 7.2.1 + nwsapi: 2.2.22 + parse5: 7.3.0 rrweb-cssom: 0.8.0 saxes: 6.0.0 symbol-tree: 3.2.4 @@ -6214,7 +5972,7 @@ snapshots: whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - ws: 8.18.1 + ws: 8.18.3 xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil @@ -6239,7 +5997,7 @@ snapshots: kleur@4.1.5: {} - known-css-properties@0.35.0: {} + known-css-properties@0.37.0: {} levn@0.4.1: dependencies: @@ -6256,13 +6014,11 @@ snapshots: lodash.merge@4.6.2: {} - lodash@4.17.21: {} - loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 - loupe@3.1.4: {} + loupe@3.2.1: {} lru-cache@10.4.3: {} @@ -6270,30 +6026,26 @@ snapshots: dependencies: yallist: 3.1.1 - luxon@3.6.0: {} + luxon@3.7.2: {} lz-string@1.5.0: {} - magic-string@0.30.17: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - - magic-string@0.30.18: + magic-string@0.30.19: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 magic-string@0.30.7: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 magic-string@0.30.8: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 magicast@0.2.8: dependencies: - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 recast: 0.23.11 math-intrinsics@1.1.0: {} @@ -6340,15 +6092,15 @@ snapshots: minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@8.0.4: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimist@1.2.8: {} @@ -6356,7 +6108,7 @@ snapshots: minipass@7.1.2: {} - module-details-from-path@1.0.3: {} + module-details-from-path@1.0.4: {} mri@1.2.0: {} @@ -6381,11 +6133,11 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-releases@2.0.19: {} + node-releases@2.0.20: {} normalize-path@3.0.0: {} - nwsapi@2.2.20: {} + nwsapi@2.2.22: {} object-inspect@1.13.4: {} @@ -6432,9 +6184,9 @@ snapshots: dependencies: callsites: 3.1.0 - parse5@7.2.1: + parse5@7.3.0: dependencies: - entities: 4.5.0 + entities: 6.0.1 path-exists@4.0.0: {} @@ -6449,17 +6201,17 @@ snapshots: pathe@2.0.3: {} - pathval@2.0.0: {} + pathval@2.0.1: {} periscopic@3.1.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 estree-walker: 3.0.3 is-reference: 3.0.3 pg-int8@1.0.1: {} - pg-protocol@1.8.0: {} + pg-protocol@1.10.3: {} pg-types@2.2.0: dependencies: @@ -6473,17 +6225,15 @@ snapshots: picomatch@2.3.1: {} - picomatch@4.0.2: {} - picomatch@4.0.3: {} plausible-tracker@0.3.9: {} - playwright-core@1.51.1: {} + playwright-core@1.55.0: {} - playwright@1.51.1: + playwright@1.55.0: dependencies: - playwright-core: 1.51.1 + playwright-core: 1.55.0 optionalDependencies: fsevents: 2.3.2 @@ -6496,32 +6246,26 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-load-config@3.1.4(postcss@8.5.3): + postcss-load-config@3.1.4(postcss@8.5.6): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: - postcss: 8.5.3 + postcss: 8.5.6 - postcss-safe-parser@7.0.1(postcss@8.5.3): + postcss-safe-parser@7.0.1(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - postcss-scss@4.0.9(postcss@8.5.3): + postcss-scss@4.0.9(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser@7.1.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.5.3: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -6540,12 +6284,12 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.25.3): + prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.38.7): dependencies: - prettier: 3.5.3 - svelte: 5.25.3 + prettier: 3.6.2 + svelte: 5.38.7 - prettier@3.5.3: {} + prettier@3.6.2: {} pretty-bytes@6.1.1: {} @@ -6592,8 +6336,6 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 - regenerator-runtime@0.14.1: {} - regex-recursion@5.1.1: dependencies: regex: 5.1.1 @@ -6621,8 +6363,8 @@ snapshots: require-in-the-middle@7.5.2: dependencies: - debug: 4.4.0 - module-details-from-path: 1.0.3 + debug: 4.4.1 + module-details-from-path: 1.0.4 resolve: 1.22.10 transitivePeerDependencies: - supports-color @@ -6639,30 +6381,31 @@ snapshots: robust-predicates@3.0.2: {} - rollup@4.46.2: + rollup@4.50.1: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.46.2 - '@rollup/rollup-android-arm64': 4.46.2 - '@rollup/rollup-darwin-arm64': 4.46.2 - '@rollup/rollup-darwin-x64': 4.46.2 - '@rollup/rollup-freebsd-arm64': 4.46.2 - '@rollup/rollup-freebsd-x64': 4.46.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.46.2 - '@rollup/rollup-linux-arm-musleabihf': 4.46.2 - '@rollup/rollup-linux-arm64-gnu': 4.46.2 - '@rollup/rollup-linux-arm64-musl': 4.46.2 - '@rollup/rollup-linux-loongarch64-gnu': 4.46.2 - '@rollup/rollup-linux-ppc64-gnu': 4.46.2 - '@rollup/rollup-linux-riscv64-gnu': 4.46.2 - '@rollup/rollup-linux-riscv64-musl': 4.46.2 - '@rollup/rollup-linux-s390x-gnu': 4.46.2 - '@rollup/rollup-linux-x64-gnu': 4.46.2 - '@rollup/rollup-linux-x64-musl': 4.46.2 - '@rollup/rollup-win32-arm64-msvc': 4.46.2 - '@rollup/rollup-win32-ia32-msvc': 4.46.2 - '@rollup/rollup-win32-x64-msvc': 4.46.2 + '@rollup/rollup-android-arm-eabi': 4.50.1 + '@rollup/rollup-android-arm64': 4.50.1 + '@rollup/rollup-darwin-arm64': 4.50.1 + '@rollup/rollup-darwin-x64': 4.50.1 + '@rollup/rollup-freebsd-arm64': 4.50.1 + '@rollup/rollup-freebsd-x64': 4.50.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.50.1 + '@rollup/rollup-linux-arm-musleabihf': 4.50.1 + '@rollup/rollup-linux-arm64-gnu': 4.50.1 + '@rollup/rollup-linux-arm64-musl': 4.50.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.50.1 + '@rollup/rollup-linux-ppc64-gnu': 4.50.1 + '@rollup/rollup-linux-riscv64-gnu': 4.50.1 + '@rollup/rollup-linux-riscv64-musl': 4.50.1 + '@rollup/rollup-linux-s390x-gnu': 4.50.1 + '@rollup/rollup-linux-x64-gnu': 4.50.1 + '@rollup/rollup-linux-x64-musl': 4.50.1 + '@rollup/rollup-openharmony-arm64': 4.50.1 + '@rollup/rollup-win32-arm64-msvc': 4.50.1 + '@rollup/rollup-win32-ia32-msvc': 4.50.1 + '@rollup/rollup-win32-x64-msvc': 4.50.1 fsevents: 2.3.3 rrweb-cssom@0.8.0: {} @@ -6685,10 +6428,10 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.86.0: + sass@1.92.1: dependencies: chokidar: 4.0.3 - immutable: 5.1.1 + immutable: 5.1.3 source-map-js: 1.2.1 optionalDependencies: '@parcel/watcher': 2.5.1 @@ -6701,9 +6444,9 @@ snapshots: semver@6.3.1: {} - semver@7.7.1: {} + semver@7.7.2: {} - seroval-plugins@1.3.2(seroval@1.3.2): + seroval-plugins@1.3.3(seroval@1.3.2): dependencies: seroval: 1.3.2 @@ -6776,26 +6519,26 @@ snapshots: siginfo@2.0.0: {} - sirv@3.0.1: + sirv@3.0.2: dependencies: - '@polka/url': 1.0.0-next.28 + '@polka/url': 1.0.0-next.29 mrmime: 2.0.1 totalist: 3.0.1 - solid-js@1.9.5: + solid-js@1.9.9: dependencies: csstype: 3.1.3 seroval: 1.3.2 - seroval-plugins: 1.3.2(seroval@1.3.2) + seroval-plugins: 1.3.3(seroval@1.3.2) - solid-swr-store@0.10.7(solid-js@1.9.5)(swr-store@0.10.6): + solid-swr-store@0.10.7(solid-js@1.9.9)(swr-store@0.10.6): dependencies: - solid-js: 1.9.5 + solid-js: 1.9.9 swr-store: 0.10.6 sorcery@1.0.0: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 minimist: 1.2.8 tiny-glob: 0.2.9 @@ -6807,9 +6550,9 @@ snapshots: sprintf-js@1.0.3: {} - sswr@2.0.0(svelte@5.25.3): + sswr@2.0.0(svelte@5.38.7): dependencies: - svelte: 5.25.3 + svelte: 5.38.7 swrev: 4.0.0 stackback@0.0.2: {} @@ -6847,68 +6590,68 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.1.5(picomatch@4.0.3)(svelte@5.25.3)(typescript@5.8.2): + svelte-check@4.3.1(picomatch@4.0.3)(svelte@5.38.7)(typescript@5.9.2): dependencies: - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/trace-mapping': 0.3.30 chokidar: 4.0.3 - fdir: 6.4.3(picomatch@4.0.3) + fdir: 6.5.0(picomatch@4.0.3) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.25.3 - typescript: 5.8.2 + svelte: 5.38.7 + typescript: 5.9.2 transitivePeerDependencies: - picomatch - svelte-confetti@1.4.0(svelte@5.25.3): + svelte-confetti@1.4.0(svelte@5.38.7): dependencies: - svelte: 5.25.3 + svelte: 5.38.7 - svelte-eslint-parser@1.1.1(svelte@5.25.3): + svelte-eslint-parser@1.3.1(svelte@5.38.7): dependencies: - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - postcss: 8.5.3 - postcss-scss: 4.0.9(postcss@8.5.3) + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + postcss: 8.5.6 + postcss-scss: 4.0.9(postcss@8.5.6) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.25.3 + svelte: 5.38.7 - svelte-motion@0.12.2(svelte@5.25.3): + svelte-motion@0.12.2(svelte@5.38.7): dependencies: - '@types/react': 18.3.23 + '@types/react': 18.3.24 framesync: 6.1.2 popmotion: 11.0.5 style-value-types: 5.1.2 - svelte: 5.25.3 + svelte: 5.38.7 tslib: 2.8.1 - svelte-preprocess@6.0.3(@babel/core@7.26.10)(postcss-load-config@3.1.4(postcss@8.5.3))(postcss@8.5.3)(sass@1.86.0)(svelte@5.25.3)(typescript@5.8.2): + svelte-preprocess@6.0.3(@babel/core@7.28.4)(postcss-load-config@3.1.4(postcss@8.5.6))(postcss@8.5.6)(sass@1.92.1)(svelte@5.38.7)(typescript@5.9.2): dependencies: - svelte: 5.25.3 + svelte: 5.38.7 optionalDependencies: - '@babel/core': 7.26.10 - postcss: 8.5.3 - postcss-load-config: 3.1.4(postcss@8.5.3) - sass: 1.86.0 - typescript: 5.8.2 + '@babel/core': 7.28.4 + postcss: 8.5.6 + postcss-load-config: 3.1.4(postcss@8.5.6) + sass: 1.92.1 + typescript: 5.9.2 svelte-sequential-preprocessor@2.0.2: dependencies: - svelte: 4.2.19 + svelte: 4.2.20 tslib: 2.7.0 - svelte-sonner@0.3.28(svelte@5.25.3): + svelte-sonner@0.3.28(svelte@5.38.7): dependencies: - svelte: 5.25.3 + svelte: 5.38.7 - svelte@4.2.19: + svelte@4.2.20: dependencies: '@ampproject/remapping': 2.3.0 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - '@types/estree': 1.0.7 - acorn: 8.14.1 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.30 + '@types/estree': 1.0.8 + acorn: 8.15.0 aria-query: 5.3.2 axobject-query: 4.1.0 code-red: 1.0.4 @@ -6916,24 +6659,24 @@ snapshots: estree-walker: 3.0.3 is-reference: 3.0.3 locate-character: 3.0.0 - magic-string: 0.30.17 + magic-string: 0.30.19 periscopic: 3.1.0 - svelte@5.25.3: + svelte@5.38.7: dependencies: - '@ampproject/remapping': 2.3.0 - '@jridgewell/sourcemap-codec': 1.5.0 - '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) - '@types/estree': 1.0.7 - acorn: 8.14.1 + '@jridgewell/remapping': 2.3.5 + '@jridgewell/sourcemap-codec': 1.5.5 + '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) + '@types/estree': 1.0.8 + acorn: 8.15.0 aria-query: 5.3.2 axobject-query: 4.1.0 clsx: 2.1.1 esm-env: 1.2.2 - esrap: 1.4.5 + esrap: 2.1.0 is-reference: 3.0.3 locate-character: 3.0.0 - magic-string: 0.30.17 + magic-string: 0.30.19 zimmerframe: 1.1.2 swr-store@0.10.6: @@ -6947,9 +6690,9 @@ snapshots: swrev@4.0.0: {} - swrv@1.0.4(vue@3.5.13(typescript@5.8.2)): + swrv@1.0.4(vue@3.5.21(typescript@5.9.2)): dependencies: - vue: 3.5.13(typescript@5.8.2) + vue: 3.5.21(typescript@5.9.2) symbol-tree@3.2.4: {} @@ -6968,10 +6711,10 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.14: + tinyglobby@0.2.15: dependencies: - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 tinypool@1.1.1: {} @@ -6983,17 +6726,17 @@ snapshots: dependencies: '@popperjs/core': 2.11.8 - tldts-core@6.1.85: {} + tldts-core@6.1.86: {} - tldts-core@7.0.7: {} + tldts-core@7.0.13: {} - tldts@6.1.85: + tldts@6.1.86: dependencies: - tldts-core: 6.1.85 + tldts-core: 6.1.86 - tldts@7.0.7: + tldts@7.0.13: dependencies: - tldts-core: 7.0.7 + tldts-core: 7.0.13 to-regex-range@5.0.1: dependencies: @@ -7003,19 +6746,19 @@ snapshots: tough-cookie@5.1.2: dependencies: - tldts: 6.1.85 + tldts: 6.1.86 tr46@0.0.3: {} - tr46@5.1.0: + tr46@5.1.1: dependencies: punycode: 2.3.1 trim-lines@3.0.1: {} - ts-api-utils@2.1.0(typescript@5.8.2): + ts-api-utils@2.1.0(typescript@5.9.2): dependencies: - typescript: 5.8.2 + typescript: 5.9.2 tslib@2.3.0: {} @@ -7029,19 +6772,20 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.30.1(eslint@9.31.0)(typescript@5.8.2): + typescript-eslint@8.43.0(eslint@9.35.0)(typescript@5.9.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.30.1(@typescript-eslint/parser@8.30.1(eslint@9.31.0)(typescript@5.8.2))(eslint@9.31.0)(typescript@5.8.2) - '@typescript-eslint/parser': 8.30.1(eslint@9.31.0)(typescript@5.8.2) - '@typescript-eslint/utils': 8.30.1(eslint@9.31.0)(typescript@5.8.2) - eslint: 9.31.0 - typescript: 5.8.2 + '@typescript-eslint/eslint-plugin': 8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2) + '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2) + '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2) + eslint: 9.35.0 + typescript: 5.9.2 transitivePeerDependencies: - supports-color - typescript@5.8.2: {} + typescript@5.9.2: {} - undici-types@6.20.0: {} + undici-types@7.10.0: {} unist-util-is@6.0.0: dependencies: @@ -7068,14 +6812,14 @@ snapshots: unplugin@1.0.1: dependencies: - acorn: 8.14.1 + acorn: 8.15.0 chokidar: 3.6.0 - webpack-sources: 3.2.3 + webpack-sources: 3.3.3 webpack-virtual-modules: 0.5.0 - update-browserslist-db@1.1.3(browserslist@4.24.4): + update-browserslist-db@1.1.3(browserslist@4.25.4): dependencies: - browserslist: 4.24.4 + browserslist: 4.25.4 escalade: 3.2.0 picocolors: 1.1.1 @@ -7099,13 +6843,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-node@3.2.4(@types/node@22.13.14)(sass@1.86.0): + vite-node@3.2.4(@types/node@24.3.1)(sass@1.92.1): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.6(@types/node@22.13.14)(sass@1.86.0) + vite: 7.1.5(@types/node@24.3.1)(sass@1.92.1) transitivePeerDependencies: - '@types/node' - jiti @@ -7120,50 +6864,50 @@ snapshots: - tsx - yaml - vite@7.0.6(@types/node@22.13.14)(sass@1.86.0): + vite@7.1.5(@types/node@24.3.1)(sass@1.92.1): dependencies: - esbuild: 0.25.1 - fdir: 6.4.6(picomatch@4.0.3) + esbuild: 0.25.9 + fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.46.2 - tinyglobby: 0.2.14 + rollup: 4.50.1 + tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 22.13.14 + '@types/node': 24.3.1 fsevents: 2.3.3 - sass: 1.86.0 + sass: 1.92.1 - vitefu@1.0.6(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)): + vitefu@1.1.1(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)): optionalDependencies: - vite: 7.0.6(@types/node@22.13.14)(sass@1.86.0) + vite: 7.1.5(@types/node@24.3.1)(sass@1.92.1) - vitest@3.2.4(@types/node@22.13.14)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.86.0): + vitest@3.2.4(@types/node@24.3.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.92.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.0.6(@types/node@22.13.14)(sass@1.86.0)) + '@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@24.3.1)(sass@1.92.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 '@vitest/spy': 3.2.4 '@vitest/utils': 3.2.4 - chai: 5.2.0 + chai: 5.3.3 debug: 4.4.1 expect-type: 1.2.2 - magic-string: 0.30.17 + magic-string: 0.30.19 pathe: 2.0.3 picomatch: 4.0.3 std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.6(@types/node@22.13.14)(sass@1.86.0) - vite-node: 3.2.4(@types/node@22.13.14)(sass@1.86.0) + vite: 7.1.5(@types/node@24.3.1)(sass@1.92.1) + vite-node: 3.2.4(@types/node@24.3.1)(sass@1.92.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.14 + '@types/node': 24.3.1 '@vitest/ui': 3.2.4(vitest@3.2.4) jsdom: 26.1.0 transitivePeerDependencies: @@ -7180,15 +6924,15 @@ snapshots: - tsx - yaml - vue@3.5.13(typescript@5.8.2): + vue@3.5.21(typescript@5.9.2): dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-sfc': 3.5.13 - '@vue/runtime-dom': 3.5.13 - '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.8.2)) - '@vue/shared': 3.5.13 + '@vue/compiler-dom': 3.5.21 + '@vue/compiler-sfc': 3.5.21 + '@vue/runtime-dom': 3.5.21 + '@vue/server-renderer': 3.5.21(vue@3.5.21(typescript@5.9.2)) + '@vue/shared': 3.5.21 optionalDependencies: - typescript: 5.8.2 + typescript: 5.9.2 w3c-xmlserializer@5.0.0: dependencies: @@ -7198,7 +6942,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-sources@3.2.3: {} + webpack-sources@3.3.3: {} webpack-virtual-modules@0.5.0: {} @@ -7210,7 +6954,7 @@ snapshots: whatwg-url@14.2.0: dependencies: - tr46: 5.1.0 + tr46: 5.1.1 webidl-conversions: 7.0.0 whatwg-url@5.0.0: @@ -7254,7 +6998,7 @@ snapshots: word-wrap@1.2.5: {} - ws@8.18.1: {} + ws@8.18.3: {} xml-name-validator@5.0.0: {} @@ -7270,11 +7014,11 @@ snapshots: zimmerframe@1.1.2: {} - zod-to-json-schema@3.24.5(zod@3.24.3): + zod-to-json-schema@3.24.6(zod@3.25.76): dependencies: - zod: 3.24.3 + zod: 3.25.76 - zod@3.24.3: {} + zod@3.25.76: {} zrender@5.6.1: dependencies: diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts index ad7f5087f..51a9ee9be 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts @@ -24,7 +24,9 @@ import { IconRelationship, IconText, IconToggle, - IconGlobe + IconPinned, + IconLine, + IconPolygon } from '@appwrite.io/pink-icons-svelte'; import type { ComponentType } from 'svelte'; @@ -124,7 +126,7 @@ export const columnOptions: Option[] = [ type: 'point', create: submitPoint, update: updatePoint, - icon: IconGlobe + icon: IconPinned }, { name: 'Line', @@ -133,7 +135,7 @@ export const columnOptions: Option[] = [ type: 'linestring', create: submitLine, update: updateLine, - icon: IconGlobe + icon: IconLine }, { name: 'Polygon', @@ -142,7 +144,7 @@ export const columnOptions: Option[] = [ type: 'polygon', create: submitPolygon, update: updatePolygon, - icon: IconGlobe + icon: IconPolygon }, { name: 'Email', From 1a899bfb4a8aa53a3c31522a4a913a81d3d0420d Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 9 Sep 2025 18:51:37 +0530 Subject: [PATCH 033/147] tooltp added over disabled --- .../organization-[organization]/+page.svelte | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index 69a84cd8a..3c0da4065 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -84,6 +84,9 @@ (isCloud && $readOnly && !GRACE_PERIOD_OVERRIDE) || !$canWriteProjects; + $: reachedProjectLimit = isCloud && getServiceLimit('projects') <= data.allProjectsCount; + $: projectsLimit = getServiceLimit('projects'); + $: $registerCommands([ { label: 'Create project', @@ -129,13 +132,27 @@ {#if $canWriteProjects} - + {#if projectCreationDisabled && reachedProjectLimit} + +
+ +
+ + You have reached your limit of {projectsLimit} projects. + +
+ {:else} + + {/if} {/if}
From 521b2899f656fd2243b6d4b75bc0a0bf66fda18c Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 9 Sep 2025 18:55:34 +0530 Subject: [PATCH 034/147] fix: project disabled on creating organization --- src/routes/(console)/organization-[organization]/+page.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index 3c0da4065..50ce72fab 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -80,11 +80,11 @@ } $: projectCreationDisabled = - (isCloud && getServiceLimit('projects') <= data.allProjectsCount) || + (isCloud && getServiceLimit('projects') <= data.projects.total) || (isCloud && $readOnly && !GRACE_PERIOD_OVERRIDE) || !$canWriteProjects; - $: reachedProjectLimit = isCloud && getServiceLimit('projects') <= data.allProjectsCount; + $: reachedProjectLimit = isCloud && getServiceLimit('projects') <= data.projects.total; $: projectsLimit = getServiceLimit('projects'); $: $registerCommands([ From 1e99b585f60607f167a527f0a419b599bff9b8a0 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 9 Sep 2025 19:05:29 +0530 Subject: [PATCH 035/147] lint issue --- src/routes/(console)/organization-[organization]/+page.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index 50ce72fab..e223ec1fc 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -141,7 +141,7 @@
- You have reached your limit of {projectsLimit} projects. + You have reached your limit of {projectsLimit} projects. {:else} From 44c69ed916bb13b9b99893b325f274cf4aa5d173 Mon Sep 17 00:00:00 2001 From: Hemachandar Date: Tue, 9 Sep 2025 20:57:11 +0530 Subject: [PATCH 036/147] fix: load projects for dropdown when in projects route --- src/lib/components/breadcrumbs.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/components/breadcrumbs.svelte b/src/lib/components/breadcrumbs.svelte index 0a38e714c..0d79b4820 100644 --- a/src/lib/components/breadcrumbs.svelte +++ b/src/lib/components/breadcrumbs.svelte @@ -105,6 +105,8 @@ async function createProjectsBottomSheet( organization: Organization ): Promise { + const isOnProjects = page.route.id.includes('project-[region]-[project]'); + if (!isOnProjects) return null; isLoadingProjects = true; @@ -216,8 +218,6 @@ $: organizationId = currentProject?.teamId; - $: isOnProjects = page.route.id.includes('project-[region]-[project]'); - $: shouldReloadProjects = isLoadingProjects ? false : currentProject && loadedProjects.projects.length From 3eb3c2c535030189cf60469134438cfdc681711b Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Tue, 9 Sep 2025 21:40:22 +0530 Subject: [PATCH 037/147] * svelte 5 migration * new default toggle during create/edit * pr followups --- src/lib/elements/forms/inputLine.svelte | 37 +++++--- src/lib/elements/forms/inputPoint.svelte | 26 +++-- src/lib/elements/forms/inputPolygon.svelte | 48 ++++++---- .../table-[table]/columns/line.svelte | 72 +++++++------- .../table-[table]/columns/point.svelte | 79 ++++++++------- .../table-[table]/columns/polygon.svelte | 95 +++++++++---------- .../rows/columns/types/line.svelte | 21 +++- .../rows/columns/types/point.svelte | 18 +++- .../rows/columns/types/polygon.svelte | 40 ++++---- .../table-[table]/spreadsheet.svelte | 9 ++ .../table-[table]/store.ts | 9 ++ 11 files changed, 261 insertions(+), 193 deletions(-) diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte index c57fdd738..76b64f220 100644 --- a/src/lib/elements/forms/inputLine.svelte +++ b/src/lib/elements/forms/inputLine.svelte @@ -3,20 +3,32 @@ import InputPoint from './inputPoint.svelte'; import Button from './button.svelte'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; + import type { Snippet } from 'svelte'; - export let values: number[][]; - export let nullable: boolean; - export let minDeletableIndex: number = 2; - export let allowLineDelete: boolean | undefined = undefined; - export let onAddPoint: (index: number) => void; - export let onDeletePoint: (index: number) => void = undefined; - export let onChangePoint: (pointIndex: number, coordIndex: number, newValue: number) => void = - undefined; + type Props = { + values: number[][]; + nullable?: boolean; + minDeletableIndex?: number; + allowLineDelete?: boolean; + onAddPoint: (index: number) => void; + onDeletePoint: (index: number) => void; + onChangePoint: (pointIndex: number, coordIndex: number, newValue: number) => void; + addLineButton?: Snippet; + }; + + let { + values, + nullable = false, + minDeletableIndex = 2, + allowLineDelete, + onAddPoint, + onDeletePoint, + onChangePoint, + addLineButton + }: Props = $props(); function handlePointChange(pointIndex: number, coordIndex: number, newValue: number) { - if (onChangePoint) { - onChangePoint(pointIndex, coordIndex, newValue); - } + onChangePoint?.(pointIndex, coordIndex, newValue); } function isDeleteDisabled(index: number) { @@ -41,12 +53,13 @@ handlePointChange(index, coordIndex, newValue)} /> {/each} + {#if values} - + {@render addLineButton?.()} {/if} diff --git a/src/lib/elements/forms/inputPoint.svelte b/src/lib/elements/forms/inputPoint.svelte index 446a736f8..bd83e7b1b 100644 --- a/src/lib/elements/forms/inputPoint.svelte +++ b/src/lib/elements/forms/inputPoint.svelte @@ -4,13 +4,25 @@ import Button from './button.svelte'; import { IconX } from '@appwrite.io/pink-icons-svelte'; - let nullableSkeletonShape: number[] = [0, 0]; - export let values: number[]; - export let nullable = false; - export let deletePoints = false; - export let onDeletePoint: () => void = undefined; - export let disableDelete = false; - export let onChangePoint: (index: number, newValue: number) => void; + interface Props { + values: number[]; + nullable?: boolean; + deletePoints?: boolean; + onDeletePoint?: () => void; + disableDelete?: boolean; + onChangePoint: (index: number, newValue: number) => void; + } + + const nullableSkeletonShape: number[] = [0, 0]; + + let { + values, + nullable = false, + deletePoints = false, + disableDelete = false, + onDeletePoint, + onChangePoint + }: Props = $props(); diff --git a/src/lib/elements/forms/inputPolygon.svelte b/src/lib/elements/forms/inputPolygon.svelte index 3c3af148d..9a37855b2 100644 --- a/src/lib/elements/forms/inputPolygon.svelte +++ b/src/lib/elements/forms/inputPolygon.svelte @@ -5,18 +5,30 @@ import type { NestedNumberArray } from '$lib/helpers/types'; import InputLine from './inputLine.svelte'; - export let values: NestedNumberArray; - export let nullable; - export let onAddPoint: (index: number) => void; - export let onAddLine: (index: number) => void; - export let onDeletePoint: (index: number) => void = undefined; - export let onChangePoint: ( - lineIndex: number, - pointIndex: number, - coordIndex: number, - newValue: number - ) => void = undefined; - export let minDeletableIndex: number = 4; + type Props = { + values: NestedNumberArray; + nullable?: boolean; + minDeletableIndex?: number; + onAddPoint: (index: number) => void; + onAddLine?: (index: number) => void; + onDeletePoint: (index: number) => void; + onChangePoint: ( + lineIndex: number, + pointIndex: number, + coordIndex: number, + newValue: number + ) => void; + }; + + let { + values, + nullable = false, + minDeletableIndex = 4, + onAddPoint, + onAddLine, + onDeletePoint, + onChangePoint + }: Props = $props(); function handlePointChange( lineIndex: number, @@ -24,15 +36,11 @@ coordIndex: number, newValue: number ) { - if (onChangePoint) { - onChangePoint(lineIndex, pointIndex, coordIndex, newValue); - } + onChangePoint?.(lineIndex, pointIndex, coordIndex, newValue); } function handleAddLineInternal() { - if (onAddLine) { - onAddLine(-1); - } + onAddLine?.(-1); } @@ -48,7 +56,7 @@ handlePointChange(index, pointIndex, coordIndex, newValue)} allowLineDelete={index < 2} {minDeletableIndex}> - + {#snippet addLineButton()} {#if index === values.length - 1} {/if} - + {/snippet} {/each} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index 84e1e6ba6..a9c2bb4cb 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -1,4 +1,4 @@ - { + if (e.detail) defaultChecked = false; + }} description="Indicate whether this column is required" /> + { + if (e.detail) { + $required = false; + } + }} + description="Enable to set a predefined value for this column" /> + - + {#if defaultChecked} Default Optional - {#if !data.default && ((!editing && !defaultLineAdded) || (editing && !showDefaultPointDummyData))} - - {/if} - + {/if} { if (data.default && data.default[pointIndex]) { diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte index 1883ed956..b2c5909f4 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte @@ -1,4 +1,4 @@ - { + if (e.detail) defaultChecked = false; + }} description="Indicate whether this column is required" /> + { + if (e.detail) { + $required = false; + } + }} + description="Enable to set a predefined value for this column" /> + - + {#if defaultChecked} Default Optional - {#if !data.default && ((!editing && !defaultPointAdded) || (editing && !showDefaultPointDummyData))} - - {/if} - + {/if} + { if (data.default) { data.default[index] = newValue; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte index 722fa6f73..3ef93242f 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte @@ -1,4 +1,4 @@ - { + if (e.detail) defaultChecked = false; + }} description="Indicate whether this column is required" /> + { + if (e.detail) { + $required = false; + } + }} + description="Enable to set a predefined value for this column" /> + - + {#if defaultChecked} Default Optional - {#if !data.default && ((!editing && !defaultPolygonAdded) || (editing && !showDefaultPointDummyData))} - - {/if} - + {/if} + { + nullable = !limited ? !column.required : false; + }); const defaultData = getDefaultSpatialData('linestring') as number[][]; function onAddPoint() { @@ -30,7 +39,9 @@ value = getDefaultSpatialData('linestring') as number[][]; } - $: nullable = !limited ? !column.required : false; + $effect(() => { + nullable = !limited ? !column.required : false; + }); diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte index 5ba2f5f88..c02ea332b 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte @@ -6,12 +6,16 @@ import { getDefaultSpatialData } from '../../../store'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; - export let label: string; - export let value: number[]; - export let limited: boolean = false; - export let column: Models.ColumnInteger; + interface Props { + label: string; + value: number[]; + limited: boolean; + column: Models.ColumnPoint; + } - $: nullable = !limited ? !column.required : false; + let { label, value, limited = false, column }: Props = $props(); + + let nullable = $state(false); function handlePointChange(index: number, newValue: number) { if (value) { @@ -22,6 +26,10 @@ function handleAddDefault() { value = getDefaultSpatialData('point') as number[]; } + + $effect(() => { + nullable = !limited ? !column.required : false; + }); diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte index d0cb48a05..d81ddd5c0 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte @@ -3,34 +3,36 @@ import { Button } from '$lib/elements/forms'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; import { Layout, Typography, Icon } from '@appwrite.io/pink-svelte'; - import { getDefaultSpatialData } from '../../../store'; + import { getDefaultSpatialData, getSingleRingPolygon } from '../../../store'; import InputPolygon from '$lib/elements/forms/inputPolygon.svelte'; - export let label: string; - export let value: number[][][]; - export let limited: boolean = false; - export let column: Models.ColumnPolygon; + interface Props { + label: string; + value: number[][][]; + limited: boolean; + column: Models.ColumnPolygon; + } + + let { label, value, limited = false, column }: Props = $props(); + + let nullable = $state(false); function pushCoordinate(ringIndex: number) { - if (!value) return; - - const ring = value.at(ringIndex); + const ring = value[ringIndex]; if (!ring) return; const newPoint = getDefaultSpatialData('point') as number[]; - ring.splice(ring.length - 1, 0, newPoint); - ring[ring.length - 1] = [...ring[0]]; - value = [...value]; + + const newRing = [...ring]; + newRing.splice(newRing.length - 1, 0, newPoint); + newRing[newRing.length - 1] = [...newRing[0]]; + + value = value.map((r, i) => (i === ringIndex ? newRing : r)); } function pushLine() { if (!value) return; - - const p1 = getDefaultSpatialData('point') as number[]; - const p2 = getDefaultSpatialData('point') as number[]; - const p3 = getDefaultSpatialData('point') as number[]; - const ring = [p1, p2, p3, [...p1]]; - value = [...value, ring]; + value = [...value, getSingleRingPolygon()]; } function deleteCoordinate(ringIndex: number) { @@ -61,7 +63,9 @@ value = getDefaultSpatialData('polygon') as number[][][]; } - $: nullable = !limited ? !column.required : false; + $effect(() => { + nullable = !limited ? !column.required : false; + }); diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte index 8e5314f02..7dcccb7a4 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte @@ -66,10 +66,13 @@ IconDotsHorizontal, IconFingerPrint, IconHashtag, + IconLine, IconLink, IconLocationMarker, IconMail, + IconPinned, IconPlus, + IconPolygon, IconRelationship, IconSwitchHorizontal, IconText, @@ -305,6 +308,12 @@ return IconViewList; case 'relationship': return IconRelationship; + case 'point': + return IconPinned; + case 'linestring': + return IconLine; + case 'polygon': + return IconPolygon; } } diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts index be8b019f7..21f828c48 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts @@ -217,3 +217,12 @@ export const getDefaultSpatialData = ( ] ]; }; + +export const getSingleRingPolygon = () => { + return [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ]; +}; From f110ff79e0bc5171593e52cad26bd470247509b5 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Wed, 10 Sep 2025 12:00:16 +0530 Subject: [PATCH 038/147] fix: removed showCreateUser.set(false) --- .../(console)/project-[region]-[project]/auth/+page.svelte | 1 - 1 file changed, 1 deletion(-) diff --git a/src/routes/(console)/project-[region]-[project]/auth/+page.svelte b/src/routes/(console)/project-[region]-[project]/auth/+page.svelte index 80da55e02..d5f5a6021 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/auth/+page.svelte @@ -64,7 +64,6 @@ let deleting = false; async function userCreated(event: CustomEvent>>) { - showCreateUser.set(false); await goto( `${base}/project-${page.params.region}-${page.params.project}/auth/user-${event.detail.$id}` ); From 74129b226e5d813bbee2ad7a39d5a6e06e8fda10 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Wed, 10 Sep 2025 23:58:14 +0530 Subject: [PATCH 039/147] fixed reactivity issues for the updates --- .../table-[table]/rows/columns/types/line.svelte | 2 +- .../table-[table]/rows/columns/types/point.svelte | 2 +- .../table-[table]/rows/columns/types/polygon.svelte | 12 ++++-------- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte index 8b49b43f3..d021277a1 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte @@ -13,7 +13,7 @@ column: Models.ColumnLine; } - let { label, value, limited = false, column }: Props = $props(); + let { label, value = $bindable(), limited = false, column }: Props = $props(); let nullable = $state(false); $effect(() => { diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte index c02ea332b..7f874a158 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte @@ -13,7 +13,7 @@ column: Models.ColumnPoint; } - let { label, value, limited = false, column }: Props = $props(); + let { label, value = $bindable(), limited = false, column }: Props = $props(); let nullable = $state(false); diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte index d81ddd5c0..a979eff8e 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte @@ -13,7 +13,7 @@ column: Models.ColumnPolygon; } - let { label, value, limited = false, column }: Props = $props(); + let { label, value = $bindable(), limited = false, column }: Props = $props(); let nullable = $state(false); @@ -38,13 +38,9 @@ function deleteCoordinate(ringIndex: number) { if (!value) return; - const ring = value.at(ringIndex); - - ring.splice(ring.length - 1, 1); - if (ring.length === 0) { - value.splice(ringIndex, 1); - } - value = [...value]; + value = value + .map((ring, i) => (i === ringIndex ? ring.slice(0, -1) : ring)) + .filter((ring) => ring.length > 0); } function handlePointChange( From e5327757c82ea67f3b186231e18235229959b9e6 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 11 Sep 2025 00:03:45 +0530 Subject: [PATCH 040/147] added inline editing feature for spatial types --- .../table-[table]/rows/columns/column.svelte | 5 +++- .../rows/columns/types/string.svelte | 27 ++++++++++++------- .../table-[table]/spreadsheet.svelte | 3 +-- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte index 05ee1917f..a8865d78d 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/column.svelte @@ -10,6 +10,7 @@ import Point from './types/point.svelte'; import Line from './types/line.svelte'; import Polygon from './types/polygon.svelte'; + import { isSpatialType } from '../store'; export let id: string; export let label: string; @@ -68,7 +69,9 @@ {:else} { - if (array && Array.isArray(value)) { + if (isSpatialType(column) && Array.isArray(value)) { + stringValue = JSON.stringify(value); + } else if (array && Array.isArray(value)) { stringValue = value.map(String).join(', '); } else if (value !== null && value !== undefined) { stringValue = String(value); @@ -82,13 +90,14 @@ .split(',') .map((item) => parseValue(item)) .filter((item) => item !== null); - if (JSON.stringify(newArray) !== JSON.stringify(value)) { value = newArray as string[] | number[] | boolean[]; } } else { - const parsedValue = parseValue(stringValue); - if (parsedValue !== value) { + const parsedValue = isSpatialType(column) + ? JSON.parse(stringValue) + : parseValue(stringValue); + if (JSON.stringify(parsedValue) !== JSON.stringify(value)) { value = parsedValue; } } @@ -123,7 +132,7 @@ }; -{#if columnSize >= 50 || array} +{#if columnSize >= 50 || array || isSpatialType(column)} - {#if array} + {#if array || isSpatialType(column)} Advanced edit {/if} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte index 7dcccb7a4..df1adfe46 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte @@ -968,8 +968,7 @@ {row} column={rowColumn} onRowStructureUpdate={updateRowContents} - noInlineEdit={isRelationshipToMany(rowColumn) || - isSpatialType(rowColumn)} + noInlineEdit={isRelationshipToMany(rowColumn)} onChange={(row) => paginatedRows.update(index, row)} onRevert={(row) => paginatedRows.update(index, row)} openSideSheet={() => { From a13b009570c6e9dfe0e2a3a96874190ed57cb5f7 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 11 Sep 2025 00:35:56 +0530 Subject: [PATCH 041/147] updated spatial index creation flow --- .../table-[table]/indexes/createIndex.svelte | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/createIndex.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/createIndex.svelte index ff9c04f17..cfb0b6d3d 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/createIndex.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/indexes/createIndex.svelte @@ -9,7 +9,7 @@ import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; import { IndexType } from '@appwrite.io/console'; - import { isRelationship } from '../rows/store'; + import { isRelationship, isSpatialType } from '../rows/store'; import { table, indexes } from '../store'; import { Icon, Layout } from '@appwrite.io/pink-svelte'; import { IconPlus, IconX } from '@appwrite.io/pink-icons-svelte'; @@ -56,14 +56,20 @@ } function initialize() { + const column = $table.columns.filter((column) => externalColumnKey === column.key); + const isSpatial = column.length && isSpatialType(column[0]); + const order = isSpatial ? null : 'ASC'; columnList = externalColumnKey - ? [{ value: externalColumnKey, order: 'ASC', length: null }] - : [{ value: '', order: 'ASC', length: null }]; + ? [{ value: externalColumnKey, order, length: null }] + : [{ value: '', order, length: null }]; selectedType = IndexType.Key; key = `index_${$indexes.length + 1}`; } - const addColumnDisabled = $derived(!columnList.at(-1)?.value || !columnList.at(-1)?.order); + const addColumnDisabled = $derived( + !columnList.at(-1)?.value || + (!columnList.at(-1)?.order && columnList.at(-1)?.order !== null) + ); const isOnIndexesPage = $derived(page.route.id?.endsWith('/indexes')); const navigatorPathToIndexes = $derived( @@ -87,14 +93,15 @@ } try { + const orders = columnList.map((a) => a.order).filter((order) => order !== null); await sdk.forProject(page.params.region, page.params.project).tablesDB.createIndex({ databaseId, tableId: $table.$id, key, type: selectedType, columns: columnList.map((a) => a.value), - orders: columnList.map((a) => a.order), - lengths: columnList.map((a) => (a.length ? Number(a.length) : null)) + lengths: columnList.map((a) => (a.length ? Number(a.length) : null)), + ...(orders.length ? { orders } : {}) }); await Promise.allSettled([ @@ -165,7 +172,8 @@ Date: Thu, 11 Sep 2025 12:44:37 +0530 Subject: [PATCH 042/147] 4xx codes use the orange warning badge, and 5xx stay red error --- .../function-[function]/executions/sheet.svelte | 10 ++++++---- .../function-[function]/executions/table.svelte | 10 ++++++---- .../sites/site-[site]/logs/sheet.svelte | 6 ++++-- .../sites/site-[site]/logs/table.svelte | 6 +++++- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/sheet.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/sheet.svelte index e31caff20..328fb80da 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/sheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/sheet.svelte @@ -98,11 +98,13 @@ = 400 + type={selectedLog?.responseStatusCode >= 500 ? 'error' - : selectedLog.responseStatusCode === 0 - ? undefined - : 'success'} /> + : selectedLog.responseStatusCode >= 400 + ? 'warning' + : selectedLog.responseStatusCode === 0 + ? undefined + : 'success'} /> diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/table.svelte b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/table.svelte index 71e45d8be..d439e4037 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/table.svelte +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/executions/table.svelte @@ -96,11 +96,13 @@ {:else if column.id === 'responseStatusCode'} = 400 + type={log.responseStatusCode >= 500 ? 'error' - : log.responseStatusCode === 0 - ? undefined - : 'success'} + : log.responseStatusCode >= 400 + ? 'warning' + : log.responseStatusCode === 0 + ? undefined + : 'success'} content={log.responseStatusCode.toString()} /> {:else if column.id === 'requestMethod'} diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/sheet.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/sheet.svelte index 184406e24..1263905eb 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/sheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/sheet.svelte @@ -99,9 +99,11 @@ = 400 + type={selectedLog?.responseStatusCode >= 500 ? 'error' - : 'success'} /> + : selectedLog.responseStatusCode >= 400 + ? 'warning' + : 'success'} /> diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/table.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/table.svelte index 37afff287..fce977900 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/table.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/logs/table.svelte @@ -87,7 +87,11 @@
= 400 ? 'error' : 'success'} + type={log.responseStatusCode >= 500 + ? 'error' + : log.responseStatusCode >= 400 + ? 'warning' + : 'success'} content={log.responseStatusCode.toString()} />
{:else if column.id === 'requestPath'} From a0f16de158936002a8d62d47f8fbf45c2cd3f20b Mon Sep 17 00:00:00 2001 From: Khushboo Verma Date: Thu, 11 Sep 2025 16:14:34 +0530 Subject: [PATCH 043/147] Show logs when status is verifying or unverified --- src/lib/components/domains/dnsRecordsAction.svelte | 2 +- .../sites/site-[site]/domains/table.svelte | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/components/domains/dnsRecordsAction.svelte b/src/lib/components/domains/dnsRecordsAction.svelte index a1c7845ae..546407c49 100644 --- a/src/lib/components/domains/dnsRecordsAction.svelte +++ b/src/lib/components/domains/dnsRecordsAction.svelte @@ -32,6 +32,6 @@ {#if dnsData} - DNS Records + DNS records {/if} diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte index 630bc90d3..b5b755480 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/table.svelte @@ -102,7 +102,7 @@ - {#if rule.logs && rule.status === 'unverified'} + {#if rule.logs && (rule.status === 'unverified' || rule.status === 'verifying')} { @@ -125,7 +125,7 @@ {/if} - {#if rule.logs && rule.status === 'unverified'} + {#if rule.logs && (rule.status === 'unverified' || rule.status === 'verifying')}
From 259dd91f161893643f620c2c7a2a739f9dd2bf41 Mon Sep 17 00:00:00 2001 From: Darshan Date: Thu, 11 Sep 2025 17:02:57 +0530 Subject: [PATCH 044/147] hotfix: prefs. --- src/lib/stores/preferences.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/stores/preferences.ts b/src/lib/stores/preferences.ts index 4e3e3224f..36419be28 100644 --- a/src/lib/stores/preferences.ts +++ b/src/lib/stores/preferences.ts @@ -220,7 +220,8 @@ function createPreferences() { loadTeamPrefs: loadTeamPreferences, getDisplayNames: (tableId: string) => { - return teamPreferences?.displayNames?.[tableId] ?? ['$id']; + const names = teamPreferences?.displayNames?.[tableId]; + return Array.isArray(names) && names.length > 0 ? names : ['$id']; }, setDisplayNames: async ( From 3d5590a2080fd7c2b83e3b8135f6bfd6f971f42c Mon Sep 17 00:00:00 2001 From: Khushboo Verma Date: Thu, 11 Sep 2025 18:24:01 +0530 Subject: [PATCH 045/147] Remove bind --- .../sites/site-[site]/domains/viewLogsModal.svelte | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/viewLogsModal.svelte b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/viewLogsModal.svelte index 405622516..f41ee5330 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/viewLogsModal.svelte +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/domains/viewLogsModal.svelte @@ -14,9 +14,5 @@ - + From 5f0facd7bfa8a4c8ae15cf28d175964b647cf93f Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 11 Sep 2025 18:32:39 +0530 Subject: [PATCH 046/147] replaced nullable state with derived --- .../table-[table]/rows/columns/types/line.svelte | 9 +-------- .../table-[table]/rows/columns/types/point.svelte | 6 +----- .../table-[table]/rows/columns/types/polygon.svelte | 6 +----- 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte index d021277a1..bfe9c12d7 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte @@ -15,11 +15,6 @@ let { label, value = $bindable(), limited = false, column }: Props = $props(); - let nullable = $state(false); - $effect(() => { - nullable = !limited ? !column.required : false; - }); - const defaultData = getDefaultSpatialData('linestring') as number[][]; function onAddPoint() { value = [...(value || defaultData), getDefaultSpatialData('point') as number[]]; @@ -39,9 +34,7 @@ value = getDefaultSpatialData('linestring') as number[][]; } - $effect(() => { - nullable = !limited ? !column.required : false; - }); + const nullable = $derived(!limited ? !column.required : false); diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte index 7f874a158..9b0d49e29 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte @@ -15,8 +15,6 @@ let { label, value = $bindable(), limited = false, column }: Props = $props(); - let nullable = $state(false); - function handlePointChange(index: number, newValue: number) { if (value) { value[index] = newValue; @@ -27,9 +25,7 @@ value = getDefaultSpatialData('point') as number[]; } - $effect(() => { - nullable = !limited ? !column.required : false; - }); + const nullable = $derived(!limited ? !column.required : false); diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte index a979eff8e..4e204f61a 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/polygon.svelte @@ -15,8 +15,6 @@ let { label, value = $bindable(), limited = false, column }: Props = $props(); - let nullable = $state(false); - function pushCoordinate(ringIndex: number) { const ring = value[ringIndex]; if (!ring) return; @@ -59,9 +57,7 @@ value = getDefaultSpatialData('polygon') as number[][][]; } - $effect(() => { - nullable = !limited ? !column.required : false; - }); + const nullable = $derived(!limited ? !column.required : false); From 45f0ace98e8d14eda1e8115f72970ce9c17e135c Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Thu, 11 Sep 2025 18:58:17 +0530 Subject: [PATCH 047/147] refactor: update pink-icons and pink-svelte dependencies; adjust related components for consistency --- package.json | 4 ++-- pnpm-lock.yaml | 20 ++++++++--------- src/lib/elements/forms/inputLine.svelte | 8 ++----- src/lib/elements/forms/inputPoint.svelte | 4 ++-- src/lib/elements/forms/inputPolygon.svelte | 22 ++++--------------- src/lib/helpers/types.ts | 2 -- .../table-[table]/columns/line.svelte | 15 +++++++------ .../table-[table]/columns/point.svelte | 2 +- .../table-[table]/columns/polygon.svelte | 10 ++++----- .../table-[table]/columns/store.ts | 4 ++-- .../rows/columns/types/line.svelte | 1 + .../rows/columns/types/point.svelte | 1 + .../table-[table]/spreadsheet.svelte | 4 ++-- 13 files changed, 40 insertions(+), 57 deletions(-) diff --git a/package.json b/package.json index bac65a273..3cc76cd37 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,9 @@ "@ai-sdk/svelte": "^1.1.24", "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@964f807", "@appwrite.io/pink-icons": "0.25.0", - "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660", + "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@e1c4a38", "@appwrite.io/pink-legacy": "^1.0.3", - "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed", + "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@e1c4a38", "@faker-js/faker": "^9.9.0", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.38.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e6786cdd..236b0fae3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,14 +18,14 @@ importers: specifier: 0.25.0 version: 0.25.0 '@appwrite.io/pink-icons-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660 - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660(svelte@5.38.7) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@e1c4a38 + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@e1c4a38(svelte@5.38.7) '@appwrite.io/pink-legacy': specifier: ^1.0.3 version: 1.0.3 '@appwrite.io/pink-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed(svelte@5.38.7) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@e1c4a38 + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@e1c4a38(svelte@5.38.7) '@faker-js/faker': specifier: ^9.9.0 version: 9.9.0 @@ -269,8 +269,8 @@ packages: peerDependencies: svelte: ^4.0.0 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660} + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@e1c4a38': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@e1c4a38} version: 2.0.0-RC.1 peerDependencies: svelte: ^4.0.0 @@ -284,8 +284,8 @@ packages: '@appwrite.io/pink-legacy@1.0.3': resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==} - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed} + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@e1c4a38': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@e1c4a38} version: 2.0.0-RC.2 peerDependencies: svelte: ^4.0.0 @@ -3596,7 +3596,7 @@ snapshots: dependencies: svelte: 5.38.7 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@1955660(svelte@5.38.7)': + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@e1c4a38(svelte@5.38.7)': dependencies: svelte: 5.38.7 @@ -3609,7 +3609,7 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@fb8b1ed(svelte@5.38.7)': + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@e1c4a38(svelte@5.38.7)': dependencies: '@appwrite.io/pink-icons-svelte': 2.0.0-RC.1(svelte@5.38.7) '@floating-ui/dom': 1.7.4 diff --git a/src/lib/elements/forms/inputLine.svelte b/src/lib/elements/forms/inputLine.svelte index 76b64f220..3987b3635 100644 --- a/src/lib/elements/forms/inputLine.svelte +++ b/src/lib/elements/forms/inputLine.svelte @@ -27,10 +27,6 @@ addLineButton }: Props = $props(); - function handlePointChange(pointIndex: number, coordIndex: number, newValue: number) { - onChangePoint?.(pointIndex, coordIndex, newValue); - } - function isDeleteDisabled(index: number) { let disable = index < minDeletableIndex; if (allowLineDelete !== undefined) { @@ -46,11 +42,11 @@ onDeletePoint(index)} onChangePoint={(coordIndex, newValue) => - handlePointChange(index, coordIndex, newValue)} /> + onChangePoint?.(index, coordIndex, newValue)} /> {/each} diff --git a/src/lib/elements/forms/inputPoint.svelte b/src/lib/elements/forms/inputPoint.svelte index bd83e7b1b..7f71eada4 100644 --- a/src/lib/elements/forms/inputPoint.svelte +++ b/src/lib/elements/forms/inputPoint.svelte @@ -29,7 +29,7 @@ {#if nullable} {#each nullableSkeletonShape as _, index} - + {/each} {:else} {#each values as _, index} @@ -46,7 +46,7 @@ size="s" secondary disabled={nullable || disableDelete} - on:click={onDeletePoint}> + on:click={() => onDeletePoint?.()}> {/if} diff --git a/src/lib/elements/forms/inputPolygon.svelte b/src/lib/elements/forms/inputPolygon.svelte index 9a37855b2..c2bcbb4db 100644 --- a/src/lib/elements/forms/inputPolygon.svelte +++ b/src/lib/elements/forms/inputPolygon.svelte @@ -2,11 +2,10 @@ import { Icon, Layout } from '@appwrite.io/pink-svelte'; import Button from './button.svelte'; import { IconPlus } from '@appwrite.io/pink-icons-svelte'; - import type { NestedNumberArray } from '$lib/helpers/types'; import InputLine from './inputLine.svelte'; type Props = { - values: NestedNumberArray; + values: number[][][]; nullable?: boolean; minDeletableIndex?: number; onAddPoint: (index: number) => void; @@ -29,31 +28,18 @@ onDeletePoint, onChangePoint }: Props = $props(); - - function handlePointChange( - lineIndex: number, - pointIndex: number, - coordIndex: number, - newValue: number - ) { - onChangePoint?.(lineIndex, pointIndex, coordIndex, newValue); - } - - function handleAddLineInternal() { - onAddLine?.(-1); - } {#each values as value, index} onAddPoint(index)} {nullable} onDeletePoint={() => onDeletePoint(index)} onChangePoint={(pointIndex, coordIndex, newValue) => - handlePointChange(index, pointIndex, coordIndex, newValue)} + onChangePoint(index, pointIndex, coordIndex, newValue)} allowLineDelete={index < 2} {minDeletableIndex}> {#snippet addLineButton()} @@ -62,7 +48,7 @@ disabled={nullable} size="xs" compact - on:click={handleAddLineInternal}> + on:click={() => onAddLine?.(-1)}> Add line {/if} diff --git a/src/lib/helpers/types.ts b/src/lib/helpers/types.ts index df6fba0d9..f1a362777 100644 --- a/src/lib/helpers/types.ts +++ b/src/lib/helpers/types.ts @@ -80,5 +80,3 @@ export type TableRootProp = { addAvailableId: (id: string) => void; removeAvailableId: (id: string) => void; }; - -export type NestedNumberArray = Array; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index a9c2bb4cb..96444e102 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -41,13 +41,13 @@ import { getDefaultSpatialData } from '../store'; interface Props { - data?: Partial; + data?: Partial; } let { data = { required: false, default: null } }: Props = $props(); let savedDefault = $state(data.default); - let defaultChecked = $state(data.default ? true : false); + let defaultChecked = $state(!!data.default); function handleDefaultState(hideDefault: boolean) { if (hideDefault) { @@ -58,7 +58,7 @@ } } - function pushCoordinate(_: number) { + function pushCoordinate() { data.default.push(getDefaultSpatialData('point') as number[]); } @@ -115,11 +115,12 @@ {/if} pushCoordinate()} onDeletePoint={deleteCoordinate} - onChangePoint={(pointIndex, coordIndex, newValue) => { - if (data.default && data.default[pointIndex]) { - data.default[pointIndex][coordIndex] = newValue; + onChangePoint={(index, newValue) => { + if (data.default) { + data.default[index] = newValue; + data.default = [...data.default]; } }} /> diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte index b2c5909f4..db5cbf99b 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/point.svelte @@ -47,7 +47,7 @@ let { data = { required: false, default: null } }: Props = $props(); let savedDefault = $state(data.default); - let defaultChecked = $state(data.default ? true : false); + let defaultChecked = $state(!!data.default); function handleDefaultState(hideDefault: boolean) { if (hideDefault) { diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte index 3ef93242f..b5c7fe62a 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/polygon.svelte @@ -7,7 +7,7 @@ databaseId: string, tableId: string, key: string, - data: Partial + data: Partial ) { await sdk.forProject(page.params.region, page.params.project).tablesDB.createPolygonColumn({ databaseId, @@ -20,7 +20,7 @@ export async function updatePolygon( databaseId: string, tableId: string, - data: Partial, + data: Partial, originalKey?: string ) { await sdk.forProject(page.params.region, page.params.project).tablesDB.updatePolygonColumn({ @@ -41,13 +41,13 @@ import { getDefaultSpatialData, getSingleRingPolygon } from '../store'; interface Props { - data?: Partial; + data?: Partial; } let { data = { required: false, default: null } }: Props = $props(); let savedDefault = $state(data.default); - let defaultChecked = $state(data.default ? true : false); + let defaultChecked = $state(!!data.default); function handleDefaultState(hideDefault: boolean) { if (hideDefault) { @@ -61,7 +61,7 @@ const { stores: { required }, listen - } = createConservative>({ + } = createConservative>({ required: false, ...data }); diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts index 51a9ee9be..0a29d12ef 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/store.ts @@ -24,7 +24,7 @@ import { IconRelationship, IconText, IconToggle, - IconPinned, + IconPoint, IconLine, IconPolygon } from '@appwrite.io/pink-icons-svelte'; @@ -126,7 +126,7 @@ export const columnOptions: Option[] = [ type: 'point', create: submitPoint, update: updatePoint, - icon: IconPinned + icon: IconPoint }, { name: 'Line', diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte index bfe9c12d7..b1d290798 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/line.svelte @@ -27,6 +27,7 @@ function handlePointChange(pointIndex: number, coordIndex: number, newValue: number) { if (value && value[pointIndex]) { value[pointIndex][coordIndex] = newValue; + value = [...value]; } } diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte index 9b0d49e29..e5cf15683 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/point.svelte @@ -18,6 +18,7 @@ function handlePointChange(index: number, newValue: number) { if (value) { value[index] = newValue; + value = [...value]; } } diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte index df1adfe46..b9fbf748d 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte @@ -70,7 +70,7 @@ IconLink, IconLocationMarker, IconMail, - IconPinned, + IconPoint, IconPlus, IconPolygon, IconRelationship, @@ -309,7 +309,7 @@ case 'relationship': return IconRelationship; case 'point': - return IconPinned; + return IconPoint; case 'linestring': return IconLine; case 'polygon': From a729cca8cdc57923f9486773c6037752f67c830c Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Thu, 11 Sep 2025 19:36:48 +0530 Subject: [PATCH 048/147] added modal for email verfication --- .../account/sendVerificationEmailModal.svelte | 44 +++++++++++++++++ .../alerts/emailVerificationBanner.svelte | 48 ++++--------------- src/routes/(console)/+layout.svelte | 5 +- 3 files changed, 53 insertions(+), 44 deletions(-) create mode 100644 src/lib/components/account/sendVerificationEmailModal.svelte diff --git a/src/lib/components/account/sendVerificationEmailModal.svelte b/src/lib/components/account/sendVerificationEmailModal.svelte new file mode 100644 index 000000000..5021cce5d --- /dev/null +++ b/src/lib/components/account/sendVerificationEmailModal.svelte @@ -0,0 +1,44 @@ + + + + + + + To continue using Appwrite Cloud, please verify your email address. An email will be + sent to {$user?.email} + + + + + + + + diff --git a/src/lib/components/alerts/emailVerificationBanner.svelte b/src/lib/components/alerts/emailVerificationBanner.svelte index 51fc4bbab..39c128ddf 100644 --- a/src/lib/components/alerts/emailVerificationBanner.svelte +++ b/src/lib/components/alerts/emailVerificationBanner.svelte @@ -1,55 +1,21 @@ {#if shouldShowEmailBanner} - + To avoid losing access to your projects, make sure - + + {/if} diff --git a/src/routes/(console)/+layout.svelte b/src/routes/(console)/+layout.svelte index 1b0748e12..73846afa2 100644 --- a/src/routes/(console)/+layout.svelte +++ b/src/routes/(console)/+layout.svelte @@ -59,7 +59,6 @@ import type { LayoutData } from './$types'; export let data: LayoutData; - let emailBannerClosed = false; function kebabToSentenceCase(str: string) { return str @@ -347,9 +346,7 @@