diff --git a/apps/web/package.json b/apps/web/package.json index 66b00f0..0f10d76 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -83,6 +83,7 @@ "plyr": "^3.8.4", "svelte-boring-avatars": "^1.2.6", "svelte-maplibre-gl": "^1.0.3", - "valibot": "^1.3.1" + "valibot": "^1.3.1", + "yaml": "^2.8.1" } } diff --git a/apps/web/scripts/demo-talks/README.md b/apps/web/scripts/demo-talks/README.md new file mode 100644 index 0000000..b8eb744 --- /dev/null +++ b/apps/web/scripts/demo-talks/README.md @@ -0,0 +1,32 @@ +# Demo talk imports + +Sample files for the conference talk uploader +(`/p//e//talks`). They all describe the same one-day, two-room +schedule (Main Hall + Workshop Room) so you can compare formats. + +To try them: open an event you own → **Set up as conference** (set the timezone +to **America/New_York** to match the JSON's offsets) → upload a file → check the +preview → save. Each file maps to the same six talks, keyed by a stable `id`, so +re-uploading any of them **updates in place** instead of creating duplicates. + +| File | Shows off | +|------|-----------| +| `talks.csv` | Standard headers (auto-mapped), quoted fields with commas, `Name ` speakers, an `info` (Lunch) row. Times are wall-clock in the conference timezone. | +| `talks-alt-headers.csv` | Different column names (`slug`, `day`, `time`, `mins`, `track`, `kind`, `presenters`) that still auto-detect; 12-hour times (`9:00 AM`); **duration** in minutes instead of an end time. | +| `talks.yaml` | A `talks:` list with **native speaker arrays** — both `{name, handle}` objects and plain name strings. | +| `talks.json` | An array of objects with **full ISO datetimes** (explicit `-04:00` offset, so no timezone conversion needed) and array speakers. | +| `siam-ls26.csv` | A real, large program — the 2026 SIAM Conference on the Life Sciences (175 sessions, 5 days, ~25 rooms). A good stress test of the multi-room grid. Generated by `siam-ls26.ts` (`bun run scripts/demo-talks/siam-ls26.ts`), which maps SIAM session types onto the grid vocabulary and uses session codes (MS2, IP1, …) as upsert ids. Set the conference timezone to the venue's zone when uploading. | + +## Field notes + +- **Times** — CSV/YAML use wall-clock `date` + `start`/`end` (or `duration`), + interpreted in the conference timezone. JSON uses absolute ISO instants with + an offset. The parser is tolerant: `09:00`, `9:00 AM`, `0900`, and + `2026-09-01 09:00` all work. +- **Speakers** — in CSV, one column separated by `;`, with an optional + `` that becomes a Bluesky link. In JSON/YAML, a real array of + strings and/or `{ name, handle }` objects. +- **id** — any stable string; it's turned into a deterministic, conference-scoped + record key so updates are idempotent. Drop the `id` column to always create new. +- **room** — `none` (or blank) marks a full-width row like a break; it won't get + its own column in the grid. diff --git a/apps/web/src/lib/conference-import/parse.ts b/apps/web/src/lib/conference-import/parse.ts index 26a09c7..8d42b18 100644 --- a/apps/web/src/lib/conference-import/parse.ts +++ b/apps/web/src/lib/conference-import/parse.ts @@ -4,7 +4,7 @@ * onto talk-event fields. Kept format-agnostic on purpose so different * conferences can bring whatever export they already have. */ -import yaml from 'js-yaml'; +import { parse as parseYaml } from 'yaml'; export type ImportFormat = 'csv' | 'json' | 'yaml'; @@ -31,7 +31,7 @@ export function parseFile(filename: string, text: string): ParsedFile { if (format === 'json') { rows = coerceRows(JSON.parse(text)); } else if (format === 'yaml') { - rows = coerceRows(yaml.load(text)); + rows = coerceRows(parseYaml(text)); } else { rows = parseCsv(text); } diff --git a/apps/web/src/lib/conference-import/transform.ts b/apps/web/src/lib/conference-import/transform.ts new file mode 100644 index 0000000..a01ed81 --- /dev/null +++ b/apps/web/src/lib/conference-import/transform.ts @@ -0,0 +1,266 @@ +/** + * Turn a parsed file row into a talk event record, given a user-defined field + * mapping and the conference (uri / rkey / timezone). Times are parsed + * tolerantly (full ISO, "YYYY-MM-DD HH:mm", "9:00 AM", separate date + time + * columns, or a duration) and interpreted in the conference timezone unless an + * explicit offset is present. Returns validation errors per row so the UI can + * preview before anything is written. + */ +import { datetimeLocalToISO } from '@atmo-dev/events-ui/date-format'; + +export const EVENT_COLLECTION = 'community.lexicon.calendar.event'; + +export interface FieldMapping { + name?: string; + type?: string; + /** Constant type used when no type column is mapped (or a row's cell is blank). */ + typeDefault?: string; + room?: string; + description?: string; + /** Stable id column → deterministic rkey (re-upload updates in place). */ + id?: string; + /** Optional separate date column, combined with start/end time cells. */ + date?: string; + start?: string; + end?: string; + /** Duration in minutes; alternative to an end column. */ + duration?: string; + speakers?: string; + speakerDelimiter?: string; + extractHandles?: boolean; +} + +export interface Conference { + uri: string; + rkey: string; + tz: string; +} + +export interface Speaker { + name: string; + id?: string; +} + +export interface BuiltTalk { + /** Set when an id column is mapped → upsert via putRecord; else createRecord. */ + rkey?: string; + record: Record; + preview: { + name: string; + type: string; + room?: string; + startsAt?: string; + endsAt?: string; + speakers: Speaker[]; + id?: string; + }; + errors: string[]; +} + +const pad = (n: number) => String(n).padStart(2, '0'); + +function cell(row: Record, col?: string): unknown { + if (!col) return undefined; + return row[col]; +} + +function str(row: Record, col?: string): string { + const v = cell(row, col); + return v == null ? '' : String(v).trim(); +} + +function normalizeDate(s: string): string { + const m = s.trim().match(/^(\d{4})[-/.](\d{1,2})[-/.](\d{1,2})$/); + return m ? `${m[1]}-${pad(+m[2])}-${pad(+m[3])}` : ''; +} + +/** Normalize a time string to "HH:mm", or null if unparseable. */ +function normalizeTime(s: string): string | null { + s = s.trim(); + let m = s.match(/^(\d{1,2}):(\d{2})\s*([AaPp][Mm])?$/); + if (m) { + let h = +m[1]; + const min = +m[2]; + const ap = m[3]?.toLowerCase(); + if (ap === 'pm' && h < 12) h += 12; + if (ap === 'am' && h === 12) h = 0; + return `${pad(h)}:${pad(min)}`; + } + m = s.match(/^(\d{1,2})\s*([AaPp][Mm])$/); + if (m) { + let h = +m[1]; + const ap = m[2].toLowerCase(); + if (ap === 'pm' && h < 12) h += 12; + if (ap === 'am' && h === 12) h = 0; + return `${pad(h)}:00`; + } + m = s.match(/^(\d{2})(\d{2})$/); + if (m) return `${m[1]}:${m[2]}`; + m = s.match(/^(\d{1,2})$/); + if (m) return `${pad(+m[1])}:00`; + return null; +} + +/** Parse a (date, time) pair into a UTC ISO instant, interpreted in `tz`. */ +function parseWhen( + dateRaw: string, + timeRaw: string, + tz: string +): { iso?: string; error?: string } { + const raw = timeRaw.trim(); + if (!raw && !dateRaw) return { error: 'missing time' }; + + // Explicit offset / Z → an absolute instant, use as-is. + if (/(\d{2}:?\d{2}|[zZ])$/.test(raw) && /[zZ]$|[+-]\d{2}:?\d{2}$/.test(raw)) { + const d = new Date(raw); + if (isNaN(d.getTime())) return { error: `unparseable datetime "${raw}"` }; + return { iso: d.toISOString() }; + } + + let datePart = normalizeDate(dateRaw); + let timePart: string | null = ''; + + const combined = raw.match(/^(\d{4}[-/.]\d{1,2}[-/.]\d{1,2})[ T](.+)$/); + if (combined) { + datePart = normalizeDate(combined[1]); + timePart = normalizeTime(combined[2]); + } else if (/^\d{4}[-/.]\d{1,2}[-/.]\d{1,2}$/.test(raw) && !dateRaw) { + datePart = normalizeDate(raw); + timePart = '00:00'; + } else { + timePart = normalizeTime(raw); + } + + if (!datePart) return { error: 'missing or unparseable date' }; + if (timePart == null) return { error: `unparseable time "${raw}"` }; + + try { + return { iso: datetimeLocalToISO(`${datePart}T${timePart}`, tz) }; + } catch { + return { error: `bad date/time "${datePart}T${timePart}"` }; + } +} + +function parseSpeakerString(s: string, extractHandles: boolean): Speaker | null { + const trimmed = s.trim(); + if (!trimmed) return null; + if (extractHandles) { + const m = trimmed.match(/^(.*?)\s*<([^>]+)>\s*$/); + if (m && m[1].trim()) return { name: m[1].trim(), id: m[2].trim() }; + } + return { name: trimmed }; +} + +function parseSpeakers(value: unknown, delimiter: string, extractHandles: boolean): Speaker[] { + if (Array.isArray(value)) { + return value + .map((v): Speaker | null => { + if (typeof v === 'string') return parseSpeakerString(v, extractHandles); + if (v && typeof v === 'object') { + const o = v as Record; + const name = String(o.name ?? o.displayName ?? '').trim(); + const id = (o.id ?? o.handle ?? o.did) as string | undefined; + return name ? { name, ...(id ? { id: String(id) } : {}) } : null; + } + return null; + }) + .filter((s): s is Speaker => !!s); + } + const text = value == null ? '' : String(value); + if (!text.trim()) return []; + return text + .split(delimiter || ';') + .map((s) => parseSpeakerString(s, extractHandles)) + .filter((s): s is Speaker => !!s); +} + +/** Deterministic, conference-scoped rkey from a stable id (for upsert). */ +export function deterministicRkey(conferenceRkey: string, id: string): string | undefined { + const slug = id + .toLowerCase() + .replace(/[^a-z0-9._~-]+/g, '-') + .replace(/-+/g, '-') + .replace(/^-|-$/g, '') + .slice(0, 40); + if (!slug) return undefined; + return `${conferenceRkey}-${slug}`.slice(0, 80); +} + +export function buildTalk( + row: Record, + mapping: FieldMapping, + conf: Conference +): BuiltTalk { + const errors: string[] = []; + + const name = str(row, mapping.name); + if (!name) errors.push('missing name'); + + const typeCell = str(row, mapping.type); + const type = typeCell || mapping.typeDefault || 'talk'; + const room = str(row, mapping.room) || undefined; + const description = str(row, mapping.description) || undefined; + const id = str(row, mapping.id) || undefined; + + const dateRaw = str(row, mapping.date); + const start = parseWhen(dateRaw, str(row, mapping.start), conf.tz); + if (start.error) errors.push(`start: ${start.error}`); + + let endsAt: string | undefined; + if (mapping.duration) { + const mins = parseFloat(str(row, mapping.duration)); + if (start.iso && Number.isFinite(mins) && mins > 0) { + endsAt = new Date(new Date(start.iso).getTime() + mins * 60_000).toISOString(); + } + } else if (mapping.end) { + const end = parseWhen(dateRaw, str(row, mapping.end), conf.tz); + if (end.error) errors.push(`end: ${end.error}`); + endsAt = end.iso; + } + + const speakers = mapping.speakers + ? parseSpeakers(cell(row, mapping.speakers), mapping.speakerDelimiter ?? ';', mapping.extractHandles ?? true) + : []; + + const additionalData: Record = { + type, + parentEvent: { uri: conf.uri } + }; + if (room) additionalData.room = room; + if (speakers.length) additionalData.speakers = speakers; + + const record: Record = { + $type: EVENT_COLLECTION, + createdAt: new Date().toISOString(), + name, + startsAt: start.iso ?? '', + timezone: conf.tz, + additionalData + }; + if (description) record.description = description; + if (endsAt) record.endsAt = endsAt; + + return { + rkey: id ? deterministicRkey(conf.rkey, id) : undefined, + record, + preview: { name, type, room, startsAt: start.iso, endsAt, speakers, id }, + errors + }; +} + +/** Auto-pick a column whose normalized name matches one of `candidates`. */ +export function autoDetect(columns: string[], candidates: string[]): string | undefined { + const norm = (s: string) => s.toLowerCase().replace(/[^a-z0-9]/g, ''); + const cols = columns.map((c) => ({ raw: c, n: norm(c) })); + for (const cand of candidates) { + const cn = norm(cand); + const exact = cols.find((c) => c.n === cn); + if (exact) return exact.raw; + } + for (const cand of candidates) { + const cn = norm(cand); + const partial = cols.find((c) => c.n.includes(cn)); + if (partial) return partial.raw; + } + return undefined; +} diff --git a/apps/web/src/routes/(app)/p/[actor]/e/[rkey]/talks/+page.server.ts b/apps/web/src/routes/(app)/p/[actor]/e/[rkey]/talks/+page.server.ts new file mode 100644 index 0000000..2af1022 --- /dev/null +++ b/apps/web/src/routes/(app)/p/[actor]/e/[rkey]/talks/+page.server.ts @@ -0,0 +1,63 @@ +import { error } from '@sveltejs/kit'; +import type { Did } from '@atcute/lexicons'; +import { actorToDid } from '$lib/atproto/methods'; +import { + flattenEventRecord, + flattenEventRecords, + getEventRecordFromContrail, + getServerClient, + listConferenceTalksFromContrail +} from '$lib/contrail'; +import { isConferenceEvent } from '@atmo-dev/events-ui/conference'; + +export async function load({ params, locals, platform }) { + const client = getServerClient(platform!.env.DB); + const { rkey } = params; + + let did: Did; + try { + did = await actorToDid(params.actor); + } catch { + throw error(503, 'Could not resolve this profile right now — please try again.'); + } + + // Managing talks writes to the event owner's repo, so gate to the owner. + if (!locals.did) throw error(401, 'Sign in to manage talks.'); + if (locals.did !== did) throw error(403, 'You can only manage talks for your own events.'); + + const rec = await getEventRecordFromContrail(client, { did, rkey }).catch(() => null); + const eventData = rec ? flattenEventRecord(rec) : null; + if (!eventData) throw error(404, 'Event not found'); + + const uri = `at://${did}/community.lexicon.calendar.event/${rkey}`; + const isConference = isConferenceEvent(eventData); + + const talksResp = isConference + ? await listConferenceTalksFromContrail(client, { parentUri: uri, actor: did }).catch(() => null) + : null; + const talks = (talksResp ? flattenEventRecords(talksResp.records) : []).map((t) => { + const ad = (t.additionalData ?? {}) as Record; + return { + uri: t.uri, + rkey: t.rkey, + name: t.name, + startsAt: t.startsAt, + endsAt: t.endsAt, + type: (ad.type as string) ?? 'talk', + room: ad.room as string | undefined + }; + }); + + return { + actor: params.actor, + did, + rkey, + uri, + eventName: eventData.name, + timezone: eventData.timezone ?? null, + isConference, + conferenceRooms: ((eventData.additionalData as Record | undefined)?.rooms ?? + null) as string[] | null, + talks + }; +} diff --git a/apps/web/src/routes/(app)/p/[actor]/e/[rkey]/talks/+page.svelte b/apps/web/src/routes/(app)/p/[actor]/e/[rkey]/talks/+page.svelte new file mode 100644 index 0000000..fcb6105 --- /dev/null +++ b/apps/web/src/routes/(app)/p/[actor]/e/[rkey]/talks/+page.svelte @@ -0,0 +1,396 @@ + + +Manage talks — {data.eventName} + +
+ + ← {data.eventName} + +

Manage talks

+ + {#if needsSetup} + +
+

Set up as conference

+

+ This marks {data.eventName} as a conference so talks can be attached to it + and shown as a timetable. Talks are laid out in the conference's timezone. +

+ + +
+ {:else} + +
+
+

Upload talks

+ Times in {data.timezone} +
+

+ Upload a CSV, JSON or YAML file, then map its columns to talk fields. Rows with an + ID update existing talks; rows without one are created new. +

+ + {#if parseError} +

Couldn't parse file: {parseError}

+ {/if} + + {#if parsed} +

+ {parsed.rows.length} rows · {parsed.columns.length} columns ({parsed.format.toUpperCase()}) +

+ + +
+ {#each FIELDS as f (f.key)} + + {/each} +
+ + +
+ + {#if mapping.speakers} + + + {/if} +
+ + +
+
+

Preview

+ + {validCount} ready{invalidCount ? ` · ${invalidCount} with errors` : ''} + +
+
+ + + + + + + + + + + + + {#each builtTalks as t, i (i)} + + + + + + + + + {/each} + +
NameTypeRoomStartEndSpeakers
+ {t.preview.name || '—'} + {#if t.errors.length} + {t.errors.join('; ')} + {/if} + {t.preview.type}{t.preview.room ?? '—'}{fmt(t.preview.startsAt)}{fmt(t.preview.endsAt)}{t.preview.speakers.map((s) => s.name).join(', ') || '—'}
+
+ +
+ + {#if result} + + Saved {result.created}{result.failed.length ? `, ${result.failed.length} failed` : ''}. + + {/if} +
+
+ {/if} +
+ + +
+
+

+ Current talks ({data.talks.length}) +

+ {#if data.talks.length} + + {/if} +
+ {#if data.talks.length === 0} +

No talks yet.

+ {:else} +
+ {#each data.talks as t (t.rkey)} +
+
+ + {t.name} + + + {t.type}{t.room ? ` · ${t.room}` : ''} · {fmt(t.startsAt)} + +
+ +
+ {/each} +
+ {/if} +
+ {/if} +
diff --git a/packages/ui/src/EventView.svelte b/packages/ui/src/EventView.svelte index f049860..4f6363c 100644 --- a/packages/ui/src/EventView.svelte +++ b/packages/ui/src/EventView.svelte @@ -255,6 +255,11 @@ {/if} {#if isOwner} + {#if isConference && !data.spaceUri} + + {/if} {#if data.spaceUri} - -
- {#each rooms as room, i} + +
+ + {#if roomMenuOpen} +
    - {room} - - {/each} + {#each rooms as room, i (room)} +
  • + +
  • + {/each} +
+ {/if}
@@ -97,7 +156,7 @@
{#if (grid.minTime + i * SLOT) % 60 === 0}
{formatHour(grid.minTime + i * SLOT)}
@@ -184,7 +243,7 @@
{#if (grid.minTime + i * SLOT) % 60 === 0}
{formatHour(grid.minTime + i * SLOT)}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9e4913e..cee8f3d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,25 +37,25 @@ importers: version: link:../../packages/ui '@ethercorps/sveltekit-og': specifier: ^4.2.1 - version: 4.2.1(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0))) + version: 4.2.1(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0))) '@foxui/colors': specifier: ^0.8.5 - version: 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@foxui/core': specifier: ^0.9.1 - version: 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@foxui/social': specifier: ^0.8.10 - version: 0.8.10(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.8.10(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2) '@foxui/text': specifier: ^0.8.5 - version: 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2) '@foxui/time': specifier: ^0.8.5 - version: 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@foxui/visual': specifier: ^0.8.7 - version: 0.8.7(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.8.7(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@internationalized/date': specifier: ^3.12.0 version: 3.12.0 @@ -92,6 +92,9 @@ importers: valibot: specifier: ^1.3.1 version: 1.3.1(typescript@6.0.2) + yaml: + specifier: ^2.8.1 + version: 2.9.0 devDependencies: '@atcute/atproto': specifier: ^3.1.10 @@ -137,22 +140,22 @@ importers: version: 10.0.1(eslint@10.1.0(jiti@2.6.1)) '@sveltejs/adapter-cloudflare': specifier: ^7.2.8 - version: 7.2.8(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(wrangler@4.77.0(@cloudflare/workers-types@4.20260317.1)) + version: 7.2.8(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(wrangler@4.77.0(@cloudflare/workers-types@4.20260317.1)) '@sveltejs/kit': specifier: ^2.55.0 - version: 2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)) + version: 2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)) '@sveltejs/vite-plugin-svelte': specifier: ^7.0.0 - version: 7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)) + version: 7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)) '@tailwindcss/forms': specifier: ^0.5.11 version: 0.5.11(tailwindcss@4.2.2) '@tailwindcss/vite': specifier: ^4.2.2 - version: 4.2.2(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)) + version: 4.2.2(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)) bits-ui: specifier: ^2.16.3 - version: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + version: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) eslint: specifier: ^10.1.0 version: 10.1.0(jiti@2.6.1) @@ -188,7 +191,7 @@ importers: version: 8.57.2(eslint@10.1.0(jiti@2.6.1))(typescript@6.0.2) vite: specifier: ^8.0.3 - version: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0) + version: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0) wrangler: specifier: ^4.77.0 version: 4.77.0(@cloudflare/workers-types@4.20260317.1) @@ -231,31 +234,31 @@ importers: devDependencies: '@foxui/core': specifier: ^0.9.1 - version: 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@foxui/social': specifier: ^0.8.10 - version: 0.8.10(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.8.10(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2) '@foxui/text': specifier: ^0.8.5 - version: 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2) '@foxui/time': specifier: ^0.8.5 - version: 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@foxui/visual': specifier: ^0.8.7 - version: 0.8.7(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + version: 0.8.7(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@sveltejs/kit': specifier: ^2.55.0 - version: 2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)) + version: 2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)) '@sveltejs/package': specifier: ^2.5.5 version: 2.5.7(svelte@5.55.0)(typescript@6.0.2) '@sveltejs/vite-plugin-svelte': specifier: ^7.0.0 - version: 7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)) + version: 7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)) bits-ui: specifier: ^2.16.3 - version: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + version: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) hls.js: specifier: ^1.6.15 version: 1.6.15 @@ -285,7 +288,7 @@ importers: version: 6.0.2 vite: specifier: ^8.0.3 - version: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0) + version: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0) packages: @@ -3446,6 +3449,11 @@ packages: resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} engines: {node: '>= 6'} + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + engines: {node: '>= 14.6'} + hasBin: true + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -4070,10 +4078,10 @@ snapshots: '@eslint/core': 1.1.1 levn: 0.4.1 - '@ethercorps/sveltekit-og@4.2.1(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))': + '@ethercorps/sveltekit-og@4.2.1(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))': dependencies: '@resvg/resvg-wasm': 2.6.2 - '@sveltejs/kit': 2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)) + '@sveltejs/kit': 2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)) '@takumi-rs/helpers': 0.55.4 '@takumi-rs/image-response': 0.55.4 '@takumi-rs/wasm': 0.55.4 @@ -4097,12 +4105,12 @@ snapshots: '@fontsource-variable/geist@5.2.8': {} - '@foxui/colors@0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2)': + '@foxui/colors@0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2)': dependencies: - '@foxui/core': 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + '@foxui/core': 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@texel/color': 1.1.11 '@use-gesture/vanilla': 10.3.1 - bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) svelte: 5.55.0 tailwindcss: 4.2.2 transitivePeerDependencies: @@ -4112,14 +4120,14 @@ snapshots: - react-dom - vue - '@foxui/core@0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2)': + '@foxui/core@0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2)': dependencies: '@fontsource-variable/geist': 5.2.8 '@fontsource-variable/geist-mono': 5.2.7 '@jis3r/icons': 2.7.0(svelte@5.55.0) '@lucide/svelte': 1.8.0(svelte@5.55.0) '@number-flow/svelte': 0.4.0(svelte@5.55.0) - bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) clsx: 2.1.1 dompurify: 3.3.3 mode-watcher: 1.1.0(svelte@5.55.0) @@ -4136,15 +4144,15 @@ snapshots: - react-dom - vue - '@foxui/social@0.8.10(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2)': + '@foxui/social@0.8.10(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2)': dependencies: '@atcute/bluesky': 3.3.0 '@atcute/bluesky-richtext-segmenter': 3.0.0 - '@foxui/core': 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) - '@foxui/text': 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2) - '@foxui/time': 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + '@foxui/core': 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + '@foxui/text': 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2) + '@foxui/time': 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@use-gesture/vanilla': 10.3.1 - bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) emoji-picker-element: 1.29.1 hls.js: 1.6.15 is-emoji-supported: 0.0.5 @@ -4161,10 +4169,10 @@ snapshots: - react-dom - vue - '@foxui/text@0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2)': + '@foxui/text@0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/extensions@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(highlight.js@11.11.1)(svelte@5.55.0)(tailwindcss@4.2.2)': dependencies: '@floating-ui/dom': 1.7.6 - '@foxui/core': 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + '@foxui/core': 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@tiptap/core': 3.22.5(@tiptap/pm@3.20.5) '@tiptap/extension-bubble-menu': 3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5) '@tiptap/extension-code-block-lowlight': 3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/extension-code-block@3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5)(highlight.js@11.11.1)(lowlight@3.3.0) @@ -4184,7 +4192,7 @@ snapshots: '@tiptap/pm': 3.20.5 '@tiptap/starter-kit': 3.20.5 '@tiptap/suggestion': 3.20.5(@tiptap/core@3.22.5(@tiptap/pm@3.20.5))(@tiptap/pm@3.20.5) - bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) lowlight: 3.3.0 state: link:@tiptap/pm/state svelte: 5.55.0 @@ -4200,11 +4208,11 @@ snapshots: - react-dom - vue - '@foxui/time@0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2)': + '@foxui/time@0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2)': dependencies: - '@foxui/core': 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + '@foxui/core': 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@number-flow/svelte': 0.4.0(svelte@5.55.0) - bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) svelte: 5.55.0 tailwindcss: 4.2.2 transitivePeerDependencies: @@ -4214,12 +4222,12 @@ snapshots: - react-dom - vue - '@foxui/visual@0.8.7(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2)': + '@foxui/visual@0.8.7(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2)': dependencies: - '@foxui/colors': 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) - '@foxui/core': 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + '@foxui/colors': 0.8.5(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) + '@foxui/core': 0.9.1(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(tailwindcss@4.2.2) '@lottiefiles/dotlottie-web': 0.71.0 - bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + bits-ui: 2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) canvas-confetti: 1.9.4 cheerio: 1.2.0 lottie-web: 5.13.0 @@ -4571,18 +4579,18 @@ snapshots: dependencies: acorn: 8.16.0 - '@sveltejs/adapter-cloudflare@7.2.8(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(wrangler@4.77.0(@cloudflare/workers-types@4.20260317.1))': + '@sveltejs/adapter-cloudflare@7.2.8(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(wrangler@4.77.0(@cloudflare/workers-types@4.20260317.1))': dependencies: '@cloudflare/workers-types': 4.20260317.1 - '@sveltejs/kit': 2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)) + '@sveltejs/kit': 2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)) worktop: 0.8.0-next.18 wrangler: 4.77.0(@cloudflare/workers-types@4.20260317.1) - '@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0))': + '@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0))': dependencies: '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) - '@sveltejs/vite-plugin-svelte': 7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)) + '@sveltejs/vite-plugin-svelte': 7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)) '@types/cookie': 0.6.0 acorn: 8.16.0 cookie: 0.6.0 @@ -4594,7 +4602,7 @@ snapshots: set-cookie-parser: 3.1.0 sirv: 3.0.2 svelte: 5.55.0 - vite: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0) + vite: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0) optionalDependencies: typescript: 6.0.2 @@ -4609,14 +4617,14 @@ snapshots: transitivePeerDependencies: - typescript - '@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0))': + '@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0))': dependencies: deepmerge: 4.3.1 magic-string: 0.30.21 obug: 2.1.1 svelte: 5.55.0 - vite: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0) - vitefu: 1.1.2(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)) + vite: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0) + vitefu: 1.1.2(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)) '@swc/helpers@0.5.20': dependencies: @@ -4693,12 +4701,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.2.2 - '@tailwindcss/vite@4.2.2(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0))': + '@tailwindcss/vite@4.2.2(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0))': dependencies: '@tailwindcss/node': 4.2.2 '@tailwindcss/oxide': 4.2.2 tailwindcss: 4.2.2 - vite: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0) + vite: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0) '@takumi-rs/core-darwin-arm64@0.55.4': optional: true @@ -5112,15 +5120,15 @@ snapshots: dependencies: is-windows: 1.0.2 - bits-ui@2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0): + bits-ui@2.16.3(@internationalized/date@3.12.0)(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0): dependencies: '@floating-ui/core': 1.7.5 '@floating-ui/dom': 1.7.6 '@internationalized/date': 3.12.0 esm-env: 1.2.2 - runed: 0.35.1(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + runed: 0.35.1(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) svelte: 5.55.0 - svelte-toolbelt: 0.10.6(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + svelte-toolbelt: 0.10.6(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) tabbable: 6.4.0 transitivePeerDependencies: - '@sveltejs/kit' @@ -6206,14 +6214,14 @@ snapshots: esm-env: 1.2.2 svelte: 5.55.0 - runed@0.35.1(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0): + runed@0.35.1(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0): dependencies: dequal: 2.0.3 esm-env: 1.2.2 lz-string: 1.5.0 svelte: 5.55.0 optionalDependencies: - '@sveltejs/kit': 2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)) + '@sveltejs/kit': 2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)) rw@1.3.3: {} @@ -6367,10 +6375,10 @@ snapshots: '@tiptap/pm': 3.20.5 svelte: 5.55.0 - svelte-toolbelt@0.10.6(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0): + svelte-toolbelt@0.10.6(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0): dependencies: clsx: 2.1.1 - runed: 0.35.1(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)))(svelte@5.55.0) + runed: 0.35.1(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.0)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0)(typescript@6.0.2)(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)))(svelte@5.55.0) style-to-object: 1.0.14 svelte: 5.55.0 transitivePeerDependencies: @@ -6520,7 +6528,7 @@ snapshots: optionalDependencies: typescript: 6.0.2 - vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0): + vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -6532,10 +6540,11 @@ snapshots: fsevents: 2.3.3 jiti: 2.6.1 tsx: 4.21.0 + yaml: 2.9.0 - vitefu@1.1.2(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)): + vitefu@1.1.2(vite@8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0)): optionalDependencies: - vite: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0) + vite: 8.0.3(esbuild@0.27.4)(jiti@2.6.1)(tsx@4.21.0)(yaml@2.9.0) w3c-keyname@2.2.8: {} @@ -6589,6 +6598,8 @@ snapshots: yaml@1.10.3: {} + yaml@2.9.0: {} + yocto-queue@0.1.0: {} yocto-queue@1.2.2: {}