Openstatus www.openstatus.dev

bump: tailwind v4 (#1269)

* bump: tailwind v4

* fix: docs and react package

* ci: apply automated fixes

* fix: outline-solid

* fix: font-cal

* fix: font-cal

* fix: margin

* ci: apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

authored by

Maximilian Kaske
autofix-ci[bot]
and committed by
GitHub
381553cd c3c6fbab

+1141 -1018
+20 -12
apps/docs/astro.config.mjs
··· 1 1 import sitemap from "@astrojs/sitemap"; 2 2 import starlight from "@astrojs/starlight"; 3 - import tailwind from "@astrojs/tailwind"; 3 + import tailwindcss from "@tailwindcss/vite"; 4 4 import { defineConfig, envField } from "astro/config"; 5 5 import starlightSidebarTopics from "starlight-sidebar-topics"; 6 6 import Icons from "unplugin-icons/vite"; ··· 9 9 export default defineConfig({ 10 10 site: "https://docs.openstatus.dev", 11 11 vite: { 12 - plugins: [Icons({ compiler: "astro" })], 12 + plugins: [Icons({ compiler: "astro" }), tailwindcss()], 13 13 }, 14 14 env: { 15 15 schema: { ··· 24 24 starlight({ 25 25 title: "OpenStatus Documentation", 26 26 favicon: "/favicon.ico", 27 - social: { 28 - github: "https://github.com/openstatusHQ/openstatus", 29 - blueSky: "https://bsky.app/profile/openstatus.dev", 30 - discord: "https://www.openstatus.dev/discord", 31 - }, 27 + social: [ 28 + { 29 + icon: "github", 30 + label: "GitHub", 31 + href: "https://github.com/openstatusHQ/openstatus", 32 + }, 33 + { 34 + icon: "discord", 35 + label: "Discord", 36 + href: "https://www.openstatus.dev/discord", 37 + }, 38 + { 39 + icon: "blueSky", 40 + label: "BlueSky", 41 + href: "https://bsky.app/profile/openstatus.dev", 42 + }, 43 + ], 32 44 components: { 33 45 SiteTitle: "./src/components/SiteTitle.astro", 34 46 Head: "./src/components/Head.astro", ··· 40 52 }, 41 53 customCss: [ 42 54 // Path to your Tailwind base styles: 43 - "./src/tailwind.css", 55 + "./src/global.css", 44 56 "./src/custom.css", 45 57 ], 46 58 plugins: [ ··· 247 259 }, 248 260 ]), 249 261 ], 250 - }), 251 - tailwind({ 252 - // Disable the default base styles: 253 - applyBaseStyles: false, 254 262 }), 255 263 ], 256 264 });
+4 -3
apps/docs/package.json
··· 13 13 "@astrojs/check": "0.9.4", 14 14 "@astrojs/react": "4.2.3", 15 15 "@astrojs/sitemap": "3.2.1", 16 - "@astrojs/starlight": "0.32.6", 17 - "@astrojs/starlight-tailwind": "3.0.1", 18 - "@astrojs/tailwind": "6.0.0", 16 + "@astrojs/starlight": "0.34.3", 17 + "@astrojs/starlight-tailwind": "4.0.1", 19 18 "@openpanel/astro": "1.0.1", 19 + "@tailwindcss/vite": "4.1.8", 20 20 "astro": "5.6.1", 21 21 "sharp": "0.33.5", 22 22 "starlight-showcases": "0.3.0", 23 23 "starlight-sidebar-topics": "0.6.0", 24 + "tailwindcss": "4.1.8", 24 25 "unplugin-icons": "22.1.0" 25 26 }, 26 27 "devDependencies": {
+1 -1
apps/docs/src/components/Hero.astro
··· 11 11 > 12 12 <div class="flex flex-col gap-6"> 13 13 <h1 14 - class="font-cal text-4xl md:text-6xl bg-gradient-to-tl from-0% from-[hsl(var(--muted))] to-40% to-[hsl(var(--foreground))] bg-clip-text text-transparent" 14 + class="font-cal text-4xl md:text-6xl bg-linear-to-tl from-0% from-[hsl(var(--muted))] to-40% to-[hsl(var(--foreground))] bg-clip-text text-transparent" 15 15 data-page-title 16 16 set:html={title} 17 17 />
+9 -5
apps/docs/src/tailwind.css apps/docs/src/global.css
··· 1 - @font-face { 1 + @import 'tailwindcss'; 2 + 3 + @theme { 4 + --font-cal: "calsans", "sans-serif"; 5 + } 6 + 7 + @layer base { 8 + @font-face { 2 9 font-family: 'calsans'; 3 10 src: url('/fonts/CalSans-SemiBold.ttf') format('truetype'); 4 11 font-weight: 600; 5 12 font-style: normal; 6 13 font-display: swap; 7 14 } 8 - 9 - @tailwind base; 10 - @tailwind components; 11 - @tailwind utilities; 15 + } 12 16 13 17 @layer base { 14 18 :root[data-theme='light'] {
-65
apps/docs/tailwind.config.mjs
··· 1 - import starlightPlugin from "@astrojs/starlight-tailwind"; 2 - import colors from "tailwindcss/colors"; 3 - import { fontFamily } from "tailwindcss/defaultTheme"; 4 - 5 - /** @type {import('tailwindcss').Config} */ 6 - export default { 7 - content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], 8 - theme: { 9 - extend: { 10 - fontFamily: { 11 - sans: ["var(--font-sans)", ...fontFamily.sans], 12 - cal: ["CalSanS"], 13 - }, 14 - colors: { 15 - border: "hsl(var(--border))", 16 - input: "hsl(var(--input))", 17 - ring: "hsl(var(--ring))", 18 - background: "hsl(var(--background))", 19 - foreground: "hsl(var(--foreground))", 20 - primary: { 21 - DEFAULT: "hsl(var(--primary))", 22 - foreground: "hsl(var(--primary-foreground))", 23 - }, 24 - secondary: { 25 - DEFAULT: "hsl(var(--secondary))", 26 - foreground: "hsl(var(--secondary-foreground))", 27 - }, 28 - destructive: { 29 - DEFAULT: "hsl(var(--destructive))", 30 - foreground: "hsl(var(--destructive-foreground))", 31 - }, 32 - muted: { 33 - DEFAULT: "hsl(var(--muted))", 34 - foreground: "hsl(var(--muted-foreground))", 35 - }, 36 - accent: { 37 - DEFAULT: "hsl(var(--accent))", 38 - foreground: "hsl(var(--accent-foreground))", 39 - }, 40 - popover: { 41 - DEFAULT: "hsl(var(--popover))", 42 - foreground: "hsl(var(--popover-foreground))", 43 - }, 44 - card: { 45 - DEFAULT: "hsl(var(--card))", 46 - foreground: "hsl(var(--card-foreground))", 47 - }, 48 - // colors: { 49 - // // Your preferred accent color. Indigo is closest to Starlight’s defaults. 50 - // accent: colors.stone, 51 - // // // Your preferred gray scale. Zinc is closest to Starlight’s defaults. 52 - // gray: colors.zinc, 53 - // }, 54 - // fontFamily: { 55 - // // Your preferred text font. Starlight uses a system font stack by default. 56 - // sans: ['"Atkinson Hyperlegible"'], 57 - // // Your preferred code font. Starlight uses system monospace fonts by default. 58 - // mono: ['"IBM Plex Mono"'], 59 - // }, 60 - }, 61 - }, 62 - }, 63 - 64 - plugins: [starlightPlugin()], 65 - };
+1 -1
apps/web/content-collections.ts
··· 15 15 }, 16 16 properties: { 17 17 className: [ 18 - "no-underline group-hover:after:content-['#'] after:text-muted-foreground/30 after:hover:text-muted-foreground ml-1 after:p-1", 18 + "no-underline group-hover:after:content-['#'] after:text-muted-foreground/30 hover:after:text-muted-foreground ml-1 after:p-1", 19 19 ], 20 20 "aria-hidden": "true", 21 21 },
+2 -2
apps/web/package.json
··· 95 95 "@content-collections/mdx": "0.2.0", 96 96 "@content-collections/next": "0.2.4", 97 97 "@openstatus/tsconfig": "workspace:*", 98 + "@tailwindcss/postcss": "^4.1.8", 98 99 "@types/node": "20.14.8", 99 100 "@types/react": "19.1.0", 100 101 "@types/react-dom": "19.1.1", 101 - "autoprefixer": "10.4.19", 102 102 "postcss": "8.4.38", 103 103 "rehype-autolink-headings": "7.1.0", 104 104 "rehype-slug": "5.1.0", 105 - "tailwindcss": "3.4.3", 105 + "tailwindcss": "4.1.8", 106 106 "typescript": "5.6.2", 107 107 "unified": "10.1.2" 108 108 }
+1 -2
apps/web/postcss.config.js
··· 1 1 module.exports = { 2 2 plugins: { 3 - tailwindcss: {}, 4 - autoprefixer: {}, 3 + "@tailwindcss/postcss": {}, 5 4 }, 6 5 };
+1 -1
apps/web/src/app/(content)/compare/_components/comparison-table.tsx
··· 48 48 > 49 49 {description} 50 50 {/* FIXME: arrow is not `text-foreground` when hovered */} 51 - <ArrowUpRight className="h-4 w-4 flex-shrink-0 text-transparent group-hover/row:text-muted-foreground group-hover:text-foreground" /> 51 + <ArrowUpRight className="h-4 w-4 shrink-0 text-transparent group-hover/row:text-muted-foreground group-hover:text-foreground" /> 52 52 </a> 53 53 ) : ( 54 54 <span className="hidden font-normal text-muted-foreground text-sm sm:block">
+1 -1
apps/web/src/app/_components/background.tsx
··· 10 10 <div className="-z-50 fixed top-0 left-0"> 11 11 <div className="sticky top-0 left-0 h-screen w-screen overflow-hidden"> 12 12 <div className="absolute inset-0 z-[-1] bg-muted-foreground/15" /> 13 - <div className="-translate-x-1/2 -translate-y-1/2 absolute top-[--y] left-[--x] z-[-1] h-56 w-56 rounded-full bg-gradient-radial from-0% from-muted-foreground/40 to-90% to-transparent blur-md" /> 13 + <div className="-translate-x-1/2 -translate-y-1/2 absolute top-(--y) left-(--x) z-[-1] h-56 w-56 rounded-full bg-gradient-radial from-0% from-muted-foreground/40 to-90% to-transparent blur-md" /> 14 14 <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"> 15 15 <defs> 16 16 <pattern
+1 -1
apps/web/src/app/about/page.tsx
··· 34 34 <li /> 35 35 </ul> 36 36 <Separator className="my-2" /> 37 - <Shell className="mx-auto w-auto shadow sm:px-8 sm:py-8 md:px-12 md:py-12 dark:border-card-foreground/30"> 37 + <Shell className="mx-auto w-auto shadow-sm sm:px-8 sm:py-8 md:px-12 md:py-12 dark:border-card-foreground/30"> 38 38 {story ? ( 39 39 <Mdx 40 40 code={story.mdx}
+1 -1
apps/web/src/app/app/[workspaceSlug]/(dashboard)/settings/api-token/_components/card.tsx
··· 26 26 } 27 27 > 28 28 {value ? ( 29 - <dl className="grid gap-2 [&>*]:text-sm [&_dt]:font-light [&_dt]:text-muted-foreground"> 29 + <dl className="grid gap-2 *:text-sm [&_dt]:font-light [&_dt]:text-muted-foreground"> 30 30 <div className="flex min-w-0 items-center justify-between gap-3"> 31 31 <dt>Token</dt> 32 32 <dd className="font-mono">{value.start}...</dd>
+6 -6
apps/web/src/app/app/[workspaceSlug]/(dashboard)/settings/appearance/page.tsx
··· 53 53 )} 54 54 > 55 55 <div className="space-y-2 rounded-sm bg-[#ecedef] p-2"> 56 - <div className="space-y-2 rounded-md bg-white p-2 shadow-sm"> 56 + <div className="space-y-2 rounded-md bg-white p-2 shadow-xs"> 57 57 <div className="h-2 w-[80px] rounded-lg bg-[#ecedef]" /> 58 58 <div className="h-2 w-[100px] rounded-lg bg-[#ecedef]" /> 59 59 </div> 60 - <div className="flex items-center space-x-2 rounded-md bg-white p-2 shadow-sm"> 60 + <div className="flex items-center space-x-2 rounded-md bg-white p-2 shadow-xs"> 61 61 <div className="h-4 w-4 rounded-full bg-[#ecedef]" /> 62 62 <div className="h-2 w-[100px] rounded-lg bg-[#ecedef]" /> 63 63 </div> 64 - <div className="flex items-center space-x-2 rounded-md bg-white p-2 shadow-sm"> 64 + <div className="flex items-center space-x-2 rounded-md bg-white p-2 shadow-xs"> 65 65 <div className="h-4 w-4 rounded-full bg-[#ecedef]" /> 66 66 <div className="h-2 w-[100px] rounded-lg bg-[#ecedef]" /> 67 67 </div> ··· 79 79 )} 80 80 > 81 81 <div className="space-y-2 rounded-sm bg-slate-950 p-2"> 82 - <div className="space-y-2 rounded-md bg-slate-800 p-2 shadow-sm"> 82 + <div className="space-y-2 rounded-md bg-slate-800 p-2 shadow-xs"> 83 83 <div className="h-2 w-[80px] rounded-lg bg-slate-400" /> 84 84 <div className="h-2 w-[100px] rounded-lg bg-slate-400" /> 85 85 </div> 86 - <div className="flex items-center space-x-2 rounded-md bg-slate-800 p-2 shadow-sm"> 86 + <div className="flex items-center space-x-2 rounded-md bg-slate-800 p-2 shadow-xs"> 87 87 <div className="h-4 w-4 rounded-full bg-slate-400" /> 88 88 <div className="h-2 w-[100px] rounded-lg bg-slate-400" /> 89 89 </div> 90 - <div className="flex items-center space-x-2 rounded-md bg-slate-800 p-2 shadow-sm"> 90 + <div className="flex items-center space-x-2 rounded-md bg-slate-800 p-2 shadow-xs"> 91 91 <div className="h-4 w-4 rounded-full bg-slate-400" /> 92 92 <div className="h-2 w-[100px] rounded-lg bg-slate-400" /> 93 93 </div>
+1 -1
apps/web/src/app/layout.tsx
··· 22 22 23 23 const calSans = LocalFont({ 24 24 src: "../public/fonts/CalSans-SemiBold.ttf", 25 - variable: "--font-calsans", 25 + variable: "--font-cal", 26 26 }); 27 27 28 28 export const metadata: Metadata = {
+4 -4
apps/web/src/app/play/checker/_components/checker-form.tsx
··· 248 248 </FormItem> 249 249 )} 250 250 /> 251 - <div className="col-span-full mt-2 sm:col-span-1"> 251 + <div className="col-span-full sm:col-span-1"> 252 252 <Button disabled={isPending} className="group h-10 w-full"> 253 253 {isPending ? ( 254 254 <LoadingAnimation /> 255 255 ) : ( 256 256 <> 257 257 Check{" "} 258 - <Gauge className="[&>*:first-child]:-rotate-90 ml-1 h-4 w-4 [&>*:first-child]:origin-[12px_14px] [&>*:first-child]:transition-transform [&>*:first-child]:duration-500 [&>*:first-child]:ease-out [&>*:first-child]:group-hover:rotate-0" /> 258 + <Gauge className="[&>*:first-child]:-rotate-90 ml-1 h-4 w-4 [&>*:first-child]:origin-[12px_14px] [&>*:first-child]:transition-transform [&>*:first-child]:duration-500 [&>*:first-child]:ease-out group-hover:[&>*:first-child]:rotate-0" /> 259 259 </> 260 260 )} 261 261 </Button> ··· 292 292 <Button variant="secondary" className="group" asChild> 293 293 <Link href={`/play/checker/${id}`}> 294 294 <span className="mr-1">Response Details</span> 295 - <ArrowRight className="relative mb-[1px] inline h-4 w-0 transition-all group-hover:w-4" /> 296 - <ChevronRight className="relative mb-[1px] inline h-4 w-4 transition-all group-hover:w-0" /> 295 + <ArrowRight className="relative mb-px inline h-4 w-0 transition-all group-hover:w-4" /> 296 + <ChevronRight className="relative mb-px inline h-4 w-4 transition-all group-hover:w-0" /> 297 297 </Link> 298 298 </Button> 299 299 ) : null}
+2 -2
apps/web/src/app/play/checker/_components/floating-action.tsx
··· 14 14 <Button asChild> 15 15 <Link href={`/play/checker/${id}`}> 16 16 <span className="mr-1">Response Details</span> 17 - <ArrowRight className="relative mb-[1px] inline h-4 w-0 transition-all group-hover:w-4" /> 18 - <ChevronRight className="relative mb-[1px] inline h-4 w-4 transition-all group-hover:w-0" /> 17 + <ArrowRight className="relative mb-px inline h-4 w-0 transition-all group-hover:w-4" /> 18 + <ChevronRight className="relative mb-px inline h-4 w-4 transition-all group-hover:w-0" /> 19 19 </Link> 20 20 </Button> 21 21 </div>
+1 -1
apps/web/src/app/play/checker/_components/global-monitoring.tsx
··· 48 48 <CardFeature key={i} {...feature} /> 49 49 ))} 50 50 </ul> 51 - <div className="order-first flex items-center justify-center gap-2 text-center md:order-none"> 51 + <div className="order-first flex items-center justify-center gap-2 text-center md:order-0"> 52 52 <Button variant="outline" className="rounded-full" asChild> 53 53 <Link href="/features/status-page">Status Page</Link> 54 54 </Button>
+1 -1
apps/web/src/app/public/monitors/[id]/page.tsx
··· 74 74 75 75 return ( 76 76 <div className="relative flex w-full flex-col gap-6"> 77 - <Shell className="sticky top-2 z-10 flex items-center justify-between gap-2 bg-background/80 backdrop-blur-sm"> 77 + <Shell className="sticky top-2 z-10 flex items-center justify-between gap-2 bg-background/80 backdrop-blur-xs"> 78 78 <div className="min-w-0"> 79 79 <p className="font-semibold text-sm">{monitor.name}</p> 80 80 <a
+1 -1
apps/web/src/components/billing/pro-feature-hover-card.tsx
··· 55 55 className="group inline-flex items-center font-medium text-foreground underline underline-offset-4 hover:no-underline" 56 56 > 57 57 Upgrade now 58 - <ArrowUpRight className="ml-1 h-4 w-4 flex-shrink-0 text-muted-foreground group-hover:text-foreground" /> 58 + <ArrowUpRight className="ml-1 h-4 w-4 shrink-0 text-muted-foreground group-hover:text-foreground" /> 59 59 </Link> 60 60 </p> 61 61 </HoverCardContent>
+2 -2
apps/web/src/components/data-table/data-table-faceted-input-dropdown.tsx
··· 32 32 }; 33 33 34 34 return ( 35 - <div className="group flex h-8 items-center overflow-hidden rounded-md border border-input border-dashed bg-transparent text-sm ring-offset-background focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2"> 35 + <div className="group flex h-8 items-center overflow-hidden rounded-md border border-input border-dashed bg-transparent text-sm ring-offset-background focus-within:outline-hidden focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2"> 36 36 <Select 37 37 value={selectedValue?.select || ""} 38 38 onValueChange={(value) => { ··· 72 72 </Select> 73 73 <Separator orientation="vertical" className="h-4" /> 74 74 <input 75 - className="w-24 rounded-md bg-background px-3 py-2 placeholder:text-muted-foreground focus:outline-none disabled:cursor-not-allowed disabled:opacity-50" 75 + className="w-24 rounded-md bg-background px-3 py-2 placeholder:text-muted-foreground focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50" 76 76 type="number" 77 77 placeholder="4000" 78 78 min={0}
+3 -3
apps/web/src/components/data-table/data-table-skeleton.tsx
··· 44 44 // biome-ignore lint: only one row 45 45 <TableRow key={i} className="hover:bg-transparent"> 46 46 <TableCell> 47 - <Skeleton className="my-1.5 h-4 w-full max-w-[10rem]" /> 47 + <Skeleton className="my-1.5 h-4 w-full max-w-40" /> 48 48 </TableCell> 49 49 <TableCell className="hidden sm:table-cell"> 50 - <Skeleton className="my-1.5 h-4 w-full max-w-[13rem]" /> 50 + <Skeleton className="my-1.5 h-4 w-full max-w-52" /> 51 51 </TableCell> 52 52 <TableCell className="hidden md:table-cell"> 53 53 <Skeleton className="my-1.5 h-4 w-24" /> 54 54 </TableCell> 55 55 <TableCell> 56 - <Skeleton className="my-1.5 h-4 w-full max-w-[10rem]" /> 56 + <Skeleton className="my-1.5 h-4 w-full max-w-40" /> 57 57 </TableCell> 58 58 <TableCell className="flex justify-end"> 59 59 <Skeleton className="my-1.5 h-5 w-5" />
+1 -1
apps/web/src/components/data-table/monitor/data-table-floating-actions.tsx
··· 183 183 return ( 184 184 <Portal.Root> 185 185 <div className="fixed inset-x-0 bottom-4 z-50 mx-auto w-fit px-4"> 186 - <div className="flex flex-wrap items-center gap-2 rounded-md border bg-background px-4 py-2 shadow"> 186 + <div className="flex flex-wrap items-center gap-2 rounded-md border bg-background px-4 py-2 shadow-sm"> 187 187 <TooltipProvider> 188 188 <Tooltip> 189 189 <TooltipTrigger asChild>
+2 -2
apps/web/src/components/data-table/status-page/columns.tsx
··· 69 69 <span className="max-w-[125px] truncate font-mono group-hover:underline"> 70 70 {row.getValue("slug")} 71 71 </span> 72 - <ArrowUpRight className="h-4 w-4 flex-shrink-0 text-muted-foreground group-hover:text-foreground" /> 72 + <ArrowUpRight className="h-4 w-4 shrink-0 text-muted-foreground group-hover:text-foreground" /> 73 73 </a> 74 74 </TooltipTrigger> 75 75 <TooltipContent>Visit page</TooltipContent> ··· 112 112 <span className="group-hover:text-muted-foreground/70"> 113 113 {formatDate(date)} 114 114 </span> 115 - <div className="-inset-x-2 -inset-y-1 invisible absolute flex items-center px-2 py-1 backdrop-blur-sm group-hover:visible"> 115 + <div className="-inset-x-2 -inset-y-1 invisible absolute flex items-center px-2 py-1 backdrop-blur-xs group-hover:visible"> 116 116 <Link 117 117 href={`./status-pages/${row.original.id}/reports/${lastReport.id}`} 118 118 className="hover:underline"
+1 -1
apps/web/src/components/forms/monitor/request-test-button.tsx
··· 85 85 86 86 return ( 87 87 <Dialog open={!!check} onOpenChange={() => setCheck(undefined)}> 88 - <div className="group flex h-10 items-center rounded-md bg-transparent text-sm ring-offset-background focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2"> 88 + <div className="group flex h-10 items-center rounded-md bg-transparent text-sm ring-offset-background focus-within:outline-hidden focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2"> 89 89 <Select 90 90 value={value} 91 91 onValueChange={(value: MonitorFlyRegion) => setValue(value)}
+1 -1
apps/web/src/components/forms/monitor/tags-multi-box.tsx
··· 150 150 </Button> 151 151 </PopoverTrigger> 152 152 <PopoverContent className="w-full p-0"> 153 - <Command className="w-[var(--radix-popover-trigger-width)]" loop> 153 + <Command className="w-(--radix-popover-trigger-width)" loop> 154 154 <CommandInput 155 155 ref={inputRef} 156 156 placeholder="Search tag..."
+1 -1
apps/web/src/components/forms/shared/checkbox-label.tsx
··· 36 36 <Label 37 37 htmlFor={`${name}-${id}`} 38 38 className={cn( 39 - "flex h-full items-center gap-1 rounded-md border border-border bg-popover p-4 pr-10 hover:bg-accent hover:text-accent-foreground peer-disabled:text-muted-foreground peer-disabled:hover:bg-background peer-data-[state=checked]:border-primary [&:has([data-state=checked])]:border-primary", 39 + "flex h-full items-center gap-1 rounded-md border border-border bg-popover p-4 pr-10 hover:bg-accent hover:text-accent-foreground peer-disabled:text-muted-foreground hover:peer-disabled:bg-background peer-data-[state=checked]:border-primary [&:has([data-state=checked])]:border-primary", 40 40 className, 41 41 )} 42 42 >
+1 -1
apps/web/src/components/forms/status-page/section-advanced.tsx
··· 182 182 <MousePointer2 className="h-3 w-3" /> 183 183 <p className="text-sm">Hover State</p> 184 184 </div> 185 - <div className="mx-auto max-w-[15rem]"> 185 + <div className="mx-auto max-w-60"> 186 186 <BarDescription 187 187 label="Operational" 188 188 day={new Date().toISOString()}
+2 -2
apps/web/src/components/forms/status-page/section-monitor.tsx
··· 116 116 value={fields} 117 117 onMove={({ activeIndex, overIndex }) => move(activeIndex, overIndex)} 118 118 // overlay={ 119 - // <div className="grid grid-cols-[0.5fr,1fr,auto] items-center gap-2"> 119 + // <div className="grid grid-cols-[0.5fr_1fr_auto] items-center gap-2"> 120 120 // <Skeleton className="h-8 w-full rounded-sm" /> 121 121 // <Skeleton className="h-8 w-full rounded-sm" /> 122 122 // <Skeleton className="size-8 shrink-0 rounded-sm" /> ··· 131 131 if (!monitor) return null; 132 132 return ( 133 133 <SortableItem key={field.id} value={field.id} asChild> 134 - <div className="grid grid-cols-[0.5fr,1fr,auto] items-center gap-2"> 134 + <div className="grid grid-cols-[0.5fr_1fr_auto] items-center gap-2"> 135 135 <div className="flex items-center gap-2 truncate"> 136 136 <StatusDot 137 137 active={monitor.active}
+1 -1
apps/web/src/components/kbd.tsx
··· 5 5 import { cn } from "@/lib/utils"; 6 6 7 7 const kbdVariants = cva( 8 - "select-none rounded border px-1.5 py-px font-mono text-[0.7rem] font-normal shadow-sm disabled:opacity-50", 8 + "select-none rounded border px-1.5 py-px font-mono text-[0.7rem] font-normal shadow-xs disabled:opacity-50", 9 9 { 10 10 variants: { 11 11 variant: {
+1 -1
apps/web/src/components/layout/app-menu.tsx
··· 30 30 <span className="font-medium text-foreground"> 31 31 {activeChild?.title} 32 32 </span> 33 - <span className="inline-flex h-9 w-9 items-center justify-center rounded-md font-medium text-sm transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"> 33 + <span className="inline-flex h-9 w-9 items-center justify-center rounded-md font-medium text-sm transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"> 34 34 <ChevronsUpDown className="h-4 w-4" /> 35 35 </span> 36 36 </CollapsibleTrigger>
+1 -1
apps/web/src/components/layout/header/app-header.tsx
··· 58 58 <Button variant="link" asChild> 59 59 <Link href="/docs" target="_blank" className="group"> 60 60 Docs 61 - <ArrowUpRight className="ml-1 h-4 w-4 flex-shrink-0 text-muted-foreground group-hover:text-foreground" /> 61 + <ArrowUpRight className="ml-1 h-4 w-4 shrink-0 text-muted-foreground group-hover:text-foreground" /> 62 62 </Link> 63 63 </Button> 64 64 </li>
+3 -3
apps/web/src/components/layout/header/user-nav.tsx
··· 45 45 `${session.data.user?.firstName} ${session.data.user?.lastName}` 46 46 } 47 47 /> 48 - <AvatarFallback className="bg-gradient-to-br from-foreground via-muted-foreground to-muted opacity-70" /> 48 + <AvatarFallback className="bg-linear-to-br from-foreground via-muted-foreground to-muted opacity-70" /> 49 49 </Avatar> 50 50 </Button> 51 51 </DropdownMenuTrigger> ··· 74 74 <DropdownMenuGroup> 75 75 <DropdownMenuSub> 76 76 {/* REMINDER: consider using that the data-state styles as default */} 77 - <DropdownMenuSubTrigger className="gap-1 [&_svg]:text-muted-foreground [&_svg]:data-[highlighted]:text-foreground [&_svg]:data-[state=open]:text-foreground"> 77 + <DropdownMenuSubTrigger className="gap-1 [&_svg]:text-muted-foreground data-highlighted:[&_svg]:text-foreground data-[state=open]:[&_svg]:text-foreground"> 78 78 <div className="flex w-full flex-row items-center justify-between"> 79 79 <span>Switch theme</span> 80 80 <ThemeIcon theme={theme} /> ··· 88 88 key={option} 89 89 checked={theme === option} 90 90 onClick={() => setTheme(option)} 91 - className="justify-between capitalize [&_svg]:text-muted-foreground [&_svg]:data-[highlighted]:text-foreground [&_svg]:data-[state=open]:text-foreground" 91 + className="justify-between capitalize [&_svg]:text-muted-foreground data-highlighted:[&_svg]:text-foreground data-[state=open]:[&_svg]:text-foreground" 92 92 > 93 93 {option} 94 94 <ThemeIcon theme={option} />
+1 -1
apps/web/src/components/layout/marketing-footer.tsx
··· 124 124 {...externalProps} 125 125 > 126 126 {label} 127 - {isExternal ? <ArrowUpRight className="h-4 w-4 flex-shrink-0" /> : null} 127 + {isExternal ? <ArrowUpRight className="h-4 w-4 shrink-0" /> : null} 128 128 </Link> 129 129 ); 130 130 }
+1 -1
apps/web/src/components/layout/marketing-header.tsx
··· 121 121 <Link 122 122 ref={ref} 123 123 className={cn( 124 - "flex select-none gap-3 space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground", 124 + "flex select-none gap-3 space-y-1 rounded-md p-3 leading-none no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground", 125 125 className, 126 126 )} 127 127 {...props}
+1 -1
apps/web/src/components/layout/marketing-menu.tsx
··· 133 133 <Link 134 134 ref={ref} 135 135 className={cn( 136 - "flex select-none items-center gap-2 space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground", 136 + "flex select-none items-center gap-2 space-y-1 rounded-md p-3 leading-none no-underline outline-hidden transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground", 137 137 className, 138 138 )} 139 139 {...props}
+1 -1
apps/web/src/components/marketing/alert/timeline.tsx
··· 6 6 7 7 export function TimelineContainer({ children }: { children: ReactNode }) { 8 8 return ( 9 - // first:md:order-2 does not work 9 + // md:first:order-2 does not work 10 10 <div className="mx-auto flex max-w-md flex-col justify-center gap-3 md:order-2"> 11 11 {children} 12 12 </div>
+2 -2
apps/web/src/components/marketing/card.tsx
··· 8 8 9 9 export function CardContainer({ children }: { children: React.ReactNode }) { 10 10 return ( 11 - <Shell className="flex flex-col gap-6 bg-gradient-to-br from-0% from-[hsl(var(--muted))] to-20% to-transparent"> 11 + <Shell className="flex flex-col gap-6 bg-linear-to-br from-0% from-[hsl(var(--muted))] to-20% to-transparent"> 12 12 {children} 13 13 </Shell> 14 14 ); ··· 33 33 34 34 export function CardTitle({ children }: { children: React.ReactNode }) { 35 35 return ( 36 - <h3 className="bg-gradient-to-tl from-0% from-[hsl(var(--muted))] to-40% to-[hsl(var(--foreground))] bg-clip-text text-center font-cal text-3xl text-transparent"> 36 + <h3 className="bg-linear-to-tl from-0% from-[hsl(var(--muted))] to-40% to-[hsl(var(--foreground))] bg-clip-text text-center font-cal text-3xl text-transparent"> 37 37 {children} 38 38 </h3> 39 39 );
+1 -1
apps/web/src/components/marketing/feature/interactive-feature.tsx
··· 100 100 function Gradient() { 101 101 return ( 102 102 <div className="absolute inset-x-0 bottom-0 z-10 h-16 w-full overflow-hidden rounded-b-xl"> 103 - <div className="h-full w-full bg-gradient-to-b from-transparent to-background" /> 103 + <div className="h-full w-full bg-linear-to-b from-transparent to-background" /> 104 104 </div> 105 105 ); 106 106 }
+1 -1
apps/web/src/components/marketing/hero.tsx
··· 29 29 <h1 30 30 className={cn( 31 31 "font-cal text-4xl text-foreground md:text-6xl", 32 - "bg-gradient-to-tl from-0% from-[hsl(var(--muted))] to-40% to-[hsl(var(--foreground))] bg-clip-text text-transparent", 32 + "bg-linear-to-tl from-0% from-[hsl(var(--muted))] to-40% to-[hsl(var(--foreground))] bg-clip-text text-transparent", 33 33 )} 34 34 > 35 35 A better way to monitor your services.
+1 -1
apps/web/src/components/marketing/monitor/card.tsx
··· 30 30 // biome-ignore lint/suspicious/noArrayIndexKey: <explanation> 31 31 <CardFeature key={i} {...feature} /> 32 32 ))} 33 - <div className="order-first flex items-center justify-center gap-2 text-center md:order-none"> 33 + <div className="order-first flex items-center justify-center gap-2 text-center md:order-0"> 34 34 <Button variant="outline" className="rounded-full" asChild> 35 35 <Link href="/features/monitoring">Learn more</Link> 36 36 </Button>
+5 -5
apps/web/src/components/marketing/partners.tsx
··· 18 18 rel="noreferrer" 19 19 className="group inline-flex items-center justify-center" 20 20 > 21 - <Hanko className="h-6 w-[3.75rem] sm:h-8 sm:w-24" /> 22 - <ArrowUpRight className="ml-1 h-4 w-4 flex-shrink-0 text-muted-foreground group-hover:text-foreground" /> 21 + <Hanko className="h-6 w-15 sm:h-8 sm:w-24" /> 22 + <ArrowUpRight className="ml-1 h-4 w-4 shrink-0 text-muted-foreground group-hover:text-foreground" /> 23 23 </a> 24 24 </div> 25 25 <div className="flex items-center justify-center"> ··· 30 30 className="group inline-flex items-center justify-center" 31 31 > 32 32 <Documenso className="h-6 w-24 sm:h-8 sm:w-32" /> 33 - <ArrowUpRight className="ml-1 h-4 w-4 flex-shrink-0 text-muted-foreground group-hover:text-foreground" /> 33 + <ArrowUpRight className="ml-1 h-4 w-4 shrink-0 text-muted-foreground group-hover:text-foreground" /> 34 34 </a> 35 35 </div> 36 36 <div className="flex items-center justify-center"> ··· 41 41 className="group inline-flex items-center justify-center" 42 42 > 43 43 <Midday className="h-6 w-24 sm:h-8 sm:w-24" /> 44 - <ArrowUpRight className="ml-1 h-4 w-4 flex-shrink-0 text-muted-foreground group-hover:text-foreground" /> 44 + <ArrowUpRight className="ml-1 h-4 w-4 shrink-0 text-muted-foreground group-hover:text-foreground" /> 45 45 </a> 46 46 </div> 47 47 <div className="flex items-center justify-center"> ··· 53 53 className="group inline-flex items-center justify-center" 54 54 > 55 55 <span className="font-cal text-2xl">Cal.com</span> 56 - <ArrowUpRight className="ml-1 h-4 w-4 flex-shrink-0 text-muted-foreground group-hover:text-foreground" /> 56 + <ArrowUpRight className="ml-1 h-4 w-4 shrink-0 text-muted-foreground group-hover:text-foreground" /> 57 57 </a> 58 58 </p> 59 59 </div>
+1 -1
apps/web/src/components/marketing/speed-checker-button.tsx
··· 8 8 <Button className={cn("group rounded-full", className)} asChild {...props}> 9 9 <Link href="/play/checker"> 10 10 Speed Checker{" "} 11 - <Icons.gauge className="[&>*:first-child]:-rotate-90 ml-1 h-4 w-4 [&>*:first-child]:origin-[12px_14px] [&>*:first-child]:transition-transform [&>*:first-child]:duration-500 [&>*:first-child]:ease-out [&>*:first-child]:group-hover:rotate-0" /> 11 + <Icons.gauge className="[&>*:first-child]:-rotate-90 ml-1 h-4 w-4 [&>*:first-child]:origin-[12px_14px] [&>*:first-child]:transition-transform [&>*:first-child]:duration-500 [&>*:first-child]:ease-out group-hover:[&>*:first-child]:rotate-0" /> 12 12 </Link> 13 13 </Button> 14 14 );
+1 -1
apps/web/src/components/monitor-charts/chart.tsx
··· 70 70 formatter={(value, name) => ( 71 71 <> 72 72 <div 73 - className="h-full w-1 shrink-0 self-center rounded-[2px] bg-[--color-bg]" 73 + className="h-full w-1 shrink-0 self-center rounded-[2px] bg-(--color-bg)" 74 74 style={ 75 75 { 76 76 "--color-bg": `var(--color-${name})`,
+1 -1
apps/web/src/components/monitor-charts/simple-chart.tsx
··· 48 48 formatter={(value, name) => ( 49 49 <> 50 50 <div 51 - className="h-full w-1 shrink-0 self-center rounded-[2px] bg-[--color-bg]" 51 + className="h-full w-1 shrink-0 self-center rounded-[2px] bg-(--color-bg)" 52 52 style={ 53 53 { 54 54 "--color-bg": `var(--color-${name})`,
+4 -4
apps/web/src/components/monitor/status-dot.tsx
··· 17 17 if (maintenance) { 18 18 return ( 19 19 <span className="relative flex h-2 w-2"> 20 - <span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-status-monitoring/80 opacity-75 duration-[2000ms]" /> 20 + <span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-status-monitoring/80 opacity-75 duration-2000" /> 21 21 <span className="relative inline-flex h-2 w-2 rounded-full bg-status-monitoring" /> 22 22 </span> 23 23 ); ··· 25 25 if (status === "error") { 26 26 return ( 27 27 <span className="relative flex h-2 w-2"> 28 - <span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-status-down/80 opacity-75 duration-[2000ms]" /> 28 + <span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-status-down/80 opacity-75 duration-2000" /> 29 29 <span className="absolute inline-flex h-2 w-2 rounded-full bg-status-down" /> 30 30 </span> 31 31 ); ··· 33 33 if (status === "degraded") { 34 34 return ( 35 35 <span className="relative flex h-2 w-2"> 36 - <span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-status-degraded/80 opacity-75 duration-[2000ms]" /> 36 + <span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-status-degraded/80 opacity-75 duration-2000" /> 37 37 <span className="relative inline-flex h-2 w-2 rounded-full bg-status-degraded" /> 38 38 </span> 39 39 ); ··· 41 41 42 42 return ( 43 43 <span className="relative flex h-2 w-2"> 44 - <span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-status-operational/80 opacity-75 duration-[2000ms]" /> 44 + <span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-status-operational/80 opacity-75 duration-2000" /> 45 45 <span className="relative inline-flex h-2 w-2 rounded-full bg-status-operational" /> 46 46 </span> 47 47 );
+1 -1
apps/web/src/components/play/card.tsx
··· 37 37 return ( 38 38 <Shell 39 39 className={cn( 40 - "group flex flex-col gap-3 hover:shadow hover:dark:border-card-foreground/30", 40 + "group flex flex-col gap-3 hover:shadow-sm dark:hover:border-card-foreground/30", 41 41 shellClassName, 42 42 className, 43 43 )}
+1 -1
apps/web/src/components/support/bubble.tsx
··· 29 29 setOpen(value); 30 30 }} 31 31 > 32 - <PopoverTrigger className="rounded-full border p-2 shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"> 32 + <PopoverTrigger className="rounded-full border p-2 shadow-sm focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring"> 33 33 <MessageCircle className="h-6 w-6" /> 34 34 </PopoverTrigger> 35 35 <PopoverContent
+1 -1
apps/web/src/components/tracker/tracker.tsx
··· 225 225 <div className="grid flex-1 gap-1"> 226 226 <div className="flex justify-between gap-8 text-sm"> 227 227 <p className="font-semibold">{label}</p> 228 - <p className="flex-shrink-0 text-muted-foreground"> 228 + <p className="shrink-0 text-muted-foreground"> 229 229 {format(new Date(day), "MMM d")} 230 230 </p> 231 231 </div>
+1 -1
apps/web/src/content/posts/data-table-redesign.mdx
··· 73 73 74 74 To **highlight the table rows**, we added negative outlines to fit within the container. This prevents the table overflow from cutting off the outline. We couldn't use the border attribute since the table's left-hand border serves as a separator between filter controls and main content (including cmd k, chart, and toggles). 75 75 76 - Used tailwindcss classes: `focus-visible:outline outline-1 -outline-offset-1 outline-primary focus-visible:bg-muted/50 data-[state=selected]:outline` 76 + Used tailwindcss classes: `focus-visible:outline-solid outline-1 -outline-offset-1 outline-primary focus-visible:bg-muted/50 data-[state=selected]:outline-solid` 77 77 78 78 > In general, whenever there are outline issues due to `overflow-hidden`, I often tend to add negative margin with the same positive padding to the element `-m-* p-*`. 79 79
+108 -3
apps/web/src/styles/globals.css
··· 1 - @tailwind base; 2 - @tailwind components; 3 - @tailwind utilities; 1 + @import 'tailwindcss'; 2 + 3 + @plugin 'tailwindcss-animate'; 4 + @plugin '@tailwindcss/container-queries'; 5 + @plugin '@tailwindcss/typography'; 6 + 7 + @source '../../../../packages/ui/**/*.{ts,tsx}'; 8 + @source '../../../../packages/tracker/**/*.{ts,tsx}'; 9 + @source '../../node_modules/@openstatus/react/**/*.{js,ts,jsx,tsx}'; 10 + 11 + @custom-variant dark (&:is(.dark *)); 12 + 13 + @theme { 14 + --background-image-gradient-radial: radial-gradient(var(--tw-gradient-stops)); 15 + 16 + --color-border: hsl(var(--border)); 17 + --color-input: hsl(var(--input)); 18 + --color-ring: hsl(var(--ring)); 19 + --color-background: hsl(var(--background)); 20 + --color-foreground: hsl(var(--foreground)); 21 + 22 + --color-primary: hsl(var(--primary)); 23 + --color-primary-foreground: hsl(var(--primary-foreground)); 24 + 25 + --color-secondary: hsl(var(--secondary)); 26 + --color-secondary-foreground: hsl(var(--secondary-foreground)); 27 + 28 + --color-destructive: hsl(var(--destructive)); 29 + --color-destructive-foreground: hsl(var(--destructive-foreground)); 30 + 31 + --color-muted: hsl(var(--muted)); 32 + --color-muted-foreground: hsl(var(--muted-foreground)); 33 + 34 + --color-accent: hsl(var(--accent)); 35 + --color-accent-foreground: hsl(var(--accent-foreground)); 36 + 37 + --color-popover: hsl(var(--popover)); 38 + --color-popover-foreground: hsl(var(--popover-foreground)); 39 + 40 + --color-card: hsl(var(--card)); 41 + --color-card-foreground: hsl(var(--card-foreground)); 42 + 43 + --color-status-operational: hsl(var(--status-operational)); 44 + 45 + --color-status-degraded: hsl(var(--status-degraded)); 46 + 47 + --color-status-down: hsl(var(--status-down)); 48 + 49 + --color-status-monitoring: hsl(var(--status-monitoring)); 50 + 51 + --radius-lg: var(--radius); 52 + --radius-md: calc(var(--radius) - 2px); 53 + --radius-sm: calc(var(--radius) - 4px); 54 + 55 + --font-sans: 56 + var(--font-sans), ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 57 + 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; 58 + --font-cal: var(--font-calsans); 59 + 60 + --animate-accordion-down: accordion-down 0.2s ease-out; 61 + --animate-accordion-up: accordion-up 0.2s ease-out; 62 + 63 + @keyframes accordion-down { 64 + from { 65 + height: 0; 66 + } 67 + to { 68 + height: var(--radix-accordion-content-height); 69 + } 70 + } 71 + @keyframes accordion-up { 72 + from { 73 + height: var(--radix-accordion-content-height); 74 + } 75 + to { 76 + height: 0; 77 + } 78 + } 79 + } 80 + 81 + @utility container { 82 + margin-inline: auto; 83 + padding-inline: 2rem; 84 + @media (width >= --theme(--breakpoint-sm)) { 85 + max-width: none; 86 + } 87 + @media (width >= 1400px) { 88 + max-width: 1400px; 89 + } 90 + } 91 + 92 + /* 93 + The default border color has changed to `currentcolor` in Tailwind CSS v4, 94 + so we've added these compatibility styles to make sure everything still 95 + looks the same as it did with Tailwind CSS v3. 96 + 97 + If we ever want to remove these styles, we need to add an explicit border 98 + color utility to any element that depends on these defaults. 99 + */ 100 + @layer base { 101 + *, 102 + ::after, 103 + ::before, 104 + ::backdrop, 105 + ::file-selector-button { 106 + border-color: var(--color-gray-200, currentcolor); 107 + } 108 + } 4 109 5 110 @layer base { 6 111 :root {
-108
apps/web/tailwind.config.ts
··· 1 - // eslint-disable-next-line @typescript-eslint/no-var-requires 2 - const { fontFamily } = require("tailwindcss/defaultTheme"); 3 - 4 - /** @type {import('tailwindcss').Config} */ 5 - module.exports = { 6 - darkMode: ["class"], 7 - content: [ 8 - "src/**/*.{ts,tsx}", 9 - // our vercel integration 10 - "../../packages/integrations/**/*.{ts,tsx}", 11 - "../../packages/ui/**/*.{ts,tsx}", 12 - "../../packages/tracker/**/*.{ts,tsx}", 13 - "./node_modules/@openstatus/react/**/*.{js,ts,jsx,tsx}", 14 - ], 15 - theme: { 16 - container: { 17 - center: true, 18 - padding: "2rem", 19 - screens: { 20 - "2xl": "1400px", 21 - }, 22 - }, 23 - extend: { 24 - // REMINDER: added for background.tsx 25 - backgroundImage: { 26 - "gradient-radial": "radial-gradient(var(--tw-gradient-stops))", 27 - }, 28 - colors: { 29 - border: "hsl(var(--border))", 30 - input: "hsl(var(--input))", 31 - ring: "hsl(var(--ring))", 32 - background: "hsl(var(--background))", 33 - foreground: "hsl(var(--foreground))", 34 - primary: { 35 - DEFAULT: "hsl(var(--primary))", 36 - foreground: "hsl(var(--primary-foreground))", 37 - }, 38 - secondary: { 39 - DEFAULT: "hsl(var(--secondary))", 40 - foreground: "hsl(var(--secondary-foreground))", 41 - }, 42 - destructive: { 43 - DEFAULT: "hsl(var(--destructive))", 44 - foreground: "hsl(var(--destructive-foreground))", 45 - }, 46 - muted: { 47 - DEFAULT: "hsl(var(--muted))", 48 - foreground: "hsl(var(--muted-foreground))", 49 - }, 50 - accent: { 51 - DEFAULT: "hsl(var(--accent))", 52 - foreground: "hsl(var(--accent-foreground))", 53 - }, 54 - popover: { 55 - DEFAULT: "hsl(var(--popover))", 56 - foreground: "hsl(var(--popover-foreground))", 57 - }, 58 - card: { 59 - DEFAULT: "hsl(var(--card))", 60 - foreground: "hsl(var(--card-foreground))", 61 - }, 62 - /* Status Tracker */ 63 - status: { 64 - operational: { 65 - DEFAULT: "hsl(var(--status-operational))", 66 - }, 67 - degraded: { 68 - DEFAULT: "hsl(var(--status-degraded))", 69 - }, 70 - down: { 71 - DEFAULT: "hsl(var(--status-down))", 72 - }, 73 - monitoring: { 74 - DEFAULT: "hsl(var(--status-monitoring))", 75 - }, 76 - }, 77 - }, 78 - borderRadius: { 79 - lg: "var(--radius)", 80 - md: "calc(var(--radius) - 2px)", 81 - sm: "calc(var(--radius) - 4px)", 82 - }, 83 - fontFamily: { 84 - sans: ["var(--font-sans)", ...fontFamily.sans], 85 - cal: ["var(--font-calsans)"], 86 - }, 87 - keyframes: { 88 - "accordion-down": { 89 - from: { height: 0 }, 90 - to: { height: "var(--radix-accordion-content-height)" }, 91 - }, 92 - "accordion-up": { 93 - from: { height: "var(--radix-accordion-content-height)" }, 94 - to: { height: 0 }, 95 - }, 96 - }, 97 - animation: { 98 - "accordion-down": "accordion-down 0.2s ease-out", 99 - "accordion-up": "accordion-up 0.2s ease-out", 100 - }, 101 - }, 102 - }, 103 - plugins: [ 104 - require("tailwindcss-animate"), 105 - require("@tailwindcss/container-queries"), 106 - require("@tailwindcss/typography"), 107 - ], 108 - };
+4 -3
packages/react/package.json
··· 14 14 "license": "MIT", 15 15 "scripts": { 16 16 "dev": "tsup --watch && pnpm run dev:tailwind", 17 - "dev:tailwind": "tailwindcss -i ./src/styles.css -o ./dist/styles.css --watch", 18 - "build:tailwind": "tailwindcss -i ./src/styles.css -o ./dist/styles.css --minify", 17 + "dev:tailwind": "npx @tailwindcss/cli -i ./src/styles.css -o ./dist/styles.css --watch", 18 + "build:tailwind": "npx @tailwindcss/cli -i ./src/styles.css -o ./dist/styles.css --minify", 19 19 "build": "tsup && pnpm run build:tailwind" 20 20 }, 21 21 "devDependencies": { 22 22 "@openstatus/tsconfig": "workspace:*", 23 + "@tailwindcss/cli": "4.1.8", 23 24 "@types/node": "20.8.0", 24 25 "@types/react": "18.3.3", 25 - "tailwindcss": "3.4.3", 26 + "tailwindcss": "4.1.8", 26 27 "tsup": "7.2.0", 27 28 "typescript": "5.6.2" 28 29 },
+19 -3
packages/react/src/styles.css
··· 1 - @tailwind base; 2 - @tailwind components; 3 - @tailwind utilities; 1 + @import 'tailwindcss'; 2 + 3 + /* 4 + The default border color has changed to `currentcolor` in Tailwind CSS v4, 5 + so we've added these compatibility styles to make sure everything still 6 + looks the same as it did with Tailwind CSS v3. 7 + 8 + If we ever want to remove these styles, we need to add an explicit border 9 + color utility to any element that depends on these defaults. 10 + */ 11 + @layer base { 12 + *, 13 + ::after, 14 + ::before, 15 + ::backdrop, 16 + ::file-selector-button { 17 + border-color: var(--color-gray-200, currentcolor); 18 + } 19 + }
-8
packages/react/tailwind.config.js
··· 1 - /** @type {import('tailwindcss').Config} */ 2 - module.exports = { 3 - content: ["./src/**/*.{ts,tsx}"], 4 - theme: { 5 - extend: {}, 6 - }, 7 - plugins: [], 8 - };
+1 -1
packages/ui/package.json
··· 14 14 "@types/node": "22.10.2", 15 15 "@types/react": "19.1.0", 16 16 "@types/react-dom": "19.1.1", 17 - "tailwindcss": "3.4.3", 17 + "tailwindcss": "4.1.8", 18 18 "typescript": "5.6.2" 19 19 }, 20 20 "dependencies": {
+6 -6
packages/ui/src/components/alert-dialog.tsx
··· 23 23 >(({ className, children, ...props }, ref) => ( 24 24 <AlertDialogPrimitive.Overlay 25 25 className={cn( 26 - "bg-background/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm", 27 - className, 26 + "bg-background/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-xs", 27 + className 28 28 )} 29 29 {...props} 30 30 ref={ref} ··· 42 42 ref={ref} 43 43 className={cn( 44 44 "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg md:w-full", 45 - className, 45 + className 46 46 )} 47 47 {...props} 48 48 /> ··· 57 57 <div 58 58 className={cn( 59 59 "flex flex-col space-y-2 text-center sm:text-left", 60 - className, 60 + className 61 61 )} 62 62 {...props} 63 63 /> ··· 71 71 <div 72 72 className={cn( 73 73 "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", 74 - className, 74 + className 75 75 )} 76 76 {...props} 77 77 /> ··· 124 124 className={cn( 125 125 buttonVariants({ variant: "outline" }), 126 126 "mt-2 sm:mt-0", 127 - className, 127 + className 128 128 )} 129 129 {...props} 130 130 />
+1 -1
packages/ui/src/components/badge.tsx
··· 4 4 import { cn } from "../lib/utils"; 5 5 6 6 const badgeVariants = cva( 7 - "inline-flex items-center border rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", 7 + "inline-flex items-center border rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2", 8 8 { 9 9 variants: { 10 10 variant: {
+5 -5
packages/ui/src/components/button.tsx
··· 6 6 import { cn } from "../lib/utils"; 7 7 8 8 const buttonVariants = cva( 9 - "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", 9 + "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", 10 10 { 11 11 variants: { 12 12 variant: { 13 13 default: 14 - "bg-primary text-primary-foreground shadow hover:bg-primary/90", 14 + "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90", 15 15 destructive: 16 - "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", 16 + "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90", 17 17 outline: 18 - "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", 18 + "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground", 19 19 secondary: 20 - "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", 20 + "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", 21 21 ghost: "hover:bg-accent hover:text-accent-foreground", 22 22 link: "text-primary underline-offset-4 hover:underline", 23 23 },
+1 -1
packages/ui/src/components/card.tsx
··· 9 9 <div 10 10 ref={ref} 11 11 className={cn( 12 - "bg-card text-card-foreground rounded-xl border shadow", 12 + "bg-card text-card-foreground rounded-xl border shadow-sm", 13 13 className, 14 14 )} 15 15 {...props}
+3 -3
packages/ui/src/components/chart.tsx
··· 52 52 data-chart={chartId} 53 53 ref={ref} 54 54 className={cn( 55 - "flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none", 55 + "flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden", 56 56 className 57 57 )} 58 58 {...props} ··· 179 179 <div 180 180 ref={ref} 181 181 className={cn( 182 - "grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl", 182 + "grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl", 183 183 className 184 184 )} 185 185 > ··· 208 208 !hideIndicator && ( 209 209 <div 210 210 className={cn( 211 - "shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]", 211 + "shrink-0 rounded-[2px] border-border bg-(--color-bg)", 212 212 { 213 213 "h-2.5 w-2.5": indicator === "dot", 214 214 "w-1": indicator === "line",
+1 -1
packages/ui/src/components/checkbox.tsx
··· 13 13 <CheckboxPrimitive.Root 14 14 ref={ref} 15 15 className={cn( 16 - "border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground peer h-4 w-4 shrink-0 rounded-sm border focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 16 + "border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground peer h-4 w-4 shrink-0 rounded-sm border focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 17 17 className, 18 18 )} 19 19 {...props}
+2 -2
packages/ui/src/components/command.tsx
··· 46 46 <CommandPrimitive.Input 47 47 ref={ref} 48 48 className={cn( 49 - "placeholder:text-foreground-muted flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50", 49 + "placeholder:text-foreground-muted flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", 50 50 className 51 51 )} 52 52 {...props} ··· 117 117 <CommandPrimitive.Item 118 118 ref={ref} 119 119 className={cn( 120 - "aria-selected:bg-accent aria-selected:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled='true']:pointer-events-none data-[disabled='true']:opacity-50", 120 + "aria-selected:bg-accent aria-selected:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled='true']:pointer-events-none data-[disabled='true']:opacity-50", 121 121 className 122 122 )} 123 123 {...props}
+6 -6
packages/ui/src/components/context-menu.tsx
··· 27 27 <ContextMenuPrimitive.SubTrigger 28 28 ref={ref} 29 29 className={cn( 30 - "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none", 30 + "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden", 31 31 inset && "pl-8", 32 32 className, 33 33 )} ··· 46 46 <ContextMenuPrimitive.SubContent 47 47 ref={ref} 48 48 className={cn( 49 - "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", 49 + "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 overflow-hidden rounded-md border p-1 shadow-md", 50 50 className, 51 51 )} 52 52 {...props} ··· 62 62 <ContextMenuPrimitive.Content 63 63 ref={ref} 64 64 className={cn( 65 - "bg-popover text-popover-foreground animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", 65 + "bg-popover text-popover-foreground animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 overflow-hidden rounded-md border p-1 shadow-md", 66 66 className, 67 67 )} 68 68 {...props} ··· 80 80 <ContextMenuPrimitive.Item 81 81 ref={ref} 82 82 className={cn( 83 - "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50", 83 + "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50", 84 84 inset && "pl-8", 85 85 className, 86 86 )} ··· 96 96 <ContextMenuPrimitive.CheckboxItem 97 97 ref={ref} 98 98 className={cn( 99 - "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50", 99 + "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50", 100 100 className, 101 101 )} 102 102 checked={checked} ··· 120 120 <ContextMenuPrimitive.RadioItem 121 121 ref={ref} 122 122 className={cn( 123 - "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50", 123 + "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50", 124 124 className, 125 125 )} 126 126 {...props}
+1 -1
packages/ui/src/components/date-picker.tsx
··· 22 22 variant={"outline"} 23 23 className={cn( 24 24 "w-full justify-start text-left font-normal", 25 - !date && "text-muted-foreground", 25 + !date && "text-muted-foreground" 26 26 )} 27 27 > 28 28 <CalendarIcon className="mr-2 h-4 w-4" />
+2 -2
packages/ui/src/components/date-time-picker-popover.tsx
··· 25 25 className, 26 26 }: DateTimePickerProps) { 27 27 const [selectedDateTime, setSelectedDateTime] = React.useState<DateTime>( 28 - DateTime.fromJSDate(date), 28 + DateTime.fromJSDate(date) 29 29 ); 30 30 31 31 const handleSelect: SelectSingleEventHandler = (_day, selected) => { ··· 57 57 className={cn( 58 58 "w-[280px] justify-start text-left font-normal", 59 59 !date && "text-muted-foreground", 60 - className, 60 + className 61 61 )} 62 62 suppressHydrationWarning // because timestamp is not same, server and client 63 63 >
+1 -1
packages/ui/src/components/dialog.tsx
··· 44 44 {...props} 45 45 > 46 46 {children} 47 - <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"> 47 + <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"> 48 48 <X className="h-4 w-4" /> 49 49 <span className="sr-only">Close</span> 50 50 </DialogPrimitive.Close>
+6 -6
packages/ui/src/components/dropdown-menu.tsx
··· 27 27 <DropdownMenuPrimitive.SubTrigger 28 28 ref={ref} 29 29 className={cn( 30 - "focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none", 30 + "focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden", 31 31 inset && "pl-8", 32 32 className, 33 33 )} ··· 47 47 <DropdownMenuPrimitive.SubContent 48 48 ref={ref} 49 49 className={cn( 50 - "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg", 50 + "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 overflow-hidden rounded-md border p-1 shadow-lg", 51 51 className, 52 52 )} 53 53 {...props} ··· 65 65 ref={ref} 66 66 sideOffset={sideOffset} 67 67 className={cn( 68 - "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md", 68 + "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 overflow-hidden rounded-md border p-1 shadow-md", 69 69 className, 70 70 )} 71 71 {...props} ··· 83 83 <DropdownMenuPrimitive.Item 84 84 ref={ref} 85 85 className={cn( 86 - "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50", 86 + "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors data-disabled:pointer-events-none data-disabled:opacity-50", 87 87 inset && "pl-8", 88 88 className, 89 89 )} ··· 99 99 <DropdownMenuPrimitive.CheckboxItem 100 100 ref={ref} 101 101 className={cn( 102 - "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50", 102 + "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors data-disabled:pointer-events-none data-disabled:opacity-50", 103 103 className, 104 104 )} 105 105 checked={checked} ··· 123 123 <DropdownMenuPrimitive.RadioItem 124 124 ref={ref} 125 125 className={cn( 126 - "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50", 126 + "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors data-disabled:pointer-events-none data-disabled:opacity-50", 127 127 className, 128 128 )} 129 129 {...props}
+1 -1
packages/ui/src/components/hover-card.tsx
··· 22 22 align={align} 23 23 sideOffset={sideOffset} 24 24 className={cn( 25 - "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 rounded-md border p-4 shadow-md outline-none", 25 + "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 rounded-md border p-4 shadow-md outline-hidden", 26 26 className, 27 27 )} 28 28 {...props}
+2 -2
packages/ui/src/components/input-with-addons.tsx
··· 13 13 InputWithAddonsProps 14 14 >(({ leading, trailing, className, ...props }, ref) => { 15 15 return ( 16 - <div className="border-input ring-offset-background focus-within:ring-ring group flex h-10 w-full rounded-md border bg-transparent text-sm focus-within:outline-none focus-within:ring-2 focus-within:ring-offset-2"> 16 + <div className="border-input ring-offset-background focus-within:ring-ring group flex h-10 w-full rounded-md border bg-transparent text-sm focus-within:outline-hidden focus-within:ring-2 focus-within:ring-offset-2"> 17 17 {leading ? ( 18 18 <div className="border-input bg-muted border-r px-3 py-2"> 19 19 {leading} ··· 21 21 ) : null} 22 22 <input 23 23 className={cn( 24 - "bg-background placeholder:text-muted-foreground w-full rounded-md px-3 py-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50", 24 + "bg-background placeholder:text-muted-foreground w-full rounded-md px-3 py-2 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50", 25 25 className 26 26 )} 27 27 ref={ref}
+1 -1
packages/ui/src/components/input.tsx
··· 10 10 <input 11 11 type={type} 12 12 className={cn( 13 - "border-input ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border bg-transparent px-3 py-2 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 13 + "border-input ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border bg-transparent px-3 py-2 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 14 14 className, 15 15 )} 16 16 ref={ref}
+3 -3
packages/ui/src/components/multi-select.tsx
··· 70 70 {option.label} 71 71 <button 72 72 type="button" 73 - className="ring-offset-background focus:ring-ring ml-1 rounded-full outline-none focus:ring-2 focus:ring-offset-2" 73 + className="ring-offset-background focus:ring-ring ml-1 rounded-full outline-hidden focus:ring-2 focus:ring-offset-2" 74 74 onKeyDown={(e) => { 75 75 if (e.key === "Enter") { 76 76 handleUnselect(option); ··· 94 94 onValueChange={setInputValue} 95 95 onBlur={() => setOpen(false)} 96 96 onFocus={() => setOpen(true)} 97 - className="placeholder:text-muted-foreground ml-2 flex-1 bg-transparent outline-none" 97 + className="placeholder:text-muted-foreground ml-2 flex-1 bg-transparent outline-hidden" 98 98 {...props} 99 99 /> 100 100 </div> 101 101 </div> 102 102 <div className="relative mt-2"> 103 103 {open && selectables.length > 0 ? ( 104 - <div className="bg-popover text-popover-foreground animate-in absolute top-0 z-10 w-full rounded-md border shadow-md outline-none"> 104 + <div className="bg-popover text-popover-foreground animate-in absolute top-0 z-10 w-full rounded-md border shadow-md outline-hidden"> 105 105 <CommandList> 106 106 <CommandGroup className="h-full overflow-auto"> 107 107 {selectables.map((option) => {
+4 -4
packages/ui/src/components/navigation-menu.tsx
··· 41 41 const NavigationMenuItem = NavigationMenuPrimitive.Item; 42 42 43 43 const navigationMenuTriggerStyle = cva( 44 - "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50" 44 + "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-active:bg-accent/50 data-[state=open]:bg-accent/50" 45 45 ); 46 46 47 47 const NavigationMenuTrigger = React.forwardRef< ··· 55 55 > 56 56 {children}{" "} 57 57 <ChevronDown 58 - className="relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180" 58 + className="relative top-px ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180" 59 59 aria-hidden="true" 60 60 /> 61 61 </NavigationMenuPrimitive.Trigger> ··· 86 86 <div className={cn("absolute left-0 top-full flex justify-center")}> 87 87 <NavigationMenuPrimitive.Viewport 88 88 className={cn( 89 - "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]", 89 + "origin-top-center relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-(--radix-navigation-menu-viewport-width)", 90 90 className 91 91 )} 92 92 ref={ref} ··· 104 104 <NavigationMenuPrimitive.Indicator 105 105 ref={ref} 106 106 className={cn( 107 - "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in", 107 + "top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in", 108 108 className 109 109 )} 110 110 {...props}
+1 -1
packages/ui/src/components/popover.tsx
··· 19 19 align={align} 20 20 sideOffset={sideOffset} 21 21 className={cn( 22 - "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none", 22 + "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-hidden", 23 23 className, 24 24 )} 25 25 {...props}
+1 -1
packages/ui/src/components/radio-group.tsx
··· 28 28 <RadioGroupPrimitive.Item 29 29 ref={ref} 30 30 className={cn( 31 - "border-primary text-primary ring-offset-background focus-visible:ring-ring aspect-square h-4 w-4 rounded-full border focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 31 + "border-primary text-primary ring-offset-background focus-visible:ring-ring aspect-square h-4 w-4 rounded-full border focus:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 32 32 className, 33 33 )} 34 34 {...props}
+4 -4
packages/ui/src/components/select.tsx
··· 14 14 const SelectValue = SelectPrimitive.Value; 15 15 16 16 const selectVariants = cva( 17 - "flex w-full h-10 items-center justify-between px-3 rounded-md border border-input ring-offset-background py-2 text-sm placeholder:text-muted-foreground focus:ring-ring focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 17 + "flex w-full h-10 items-center justify-between px-3 rounded-md border border-input ring-offset-background py-2 text-sm placeholder:text-muted-foreground focus:ring-ring focus:outline-hidden focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 18 18 { 19 19 variants: { 20 20 variant: { ··· 57 57 <SelectPrimitive.Content 58 58 ref={ref} 59 59 className={cn( 60 - "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 min-w-[8rem] overflow-hidden rounded-md border shadow-md", 60 + "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 min-w-32 overflow-hidden rounded-md border shadow-md", 61 61 position === "popper" && 62 62 "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", 63 63 className ··· 69 69 className={cn( 70 70 "p-1", 71 71 position === "popper" && 72 - "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]" 72 + "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)" 73 73 )} 74 74 > 75 75 {children} ··· 98 98 <SelectPrimitive.Item 99 99 ref={ref} 100 100 className={cn( 101 - "focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50", 101 + "focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50", 102 102 className 103 103 )} 104 104 {...props}
+1 -1
packages/ui/src/components/separator.tsx
··· 19 19 orientation={orientation} 20 20 className={cn( 21 21 "bg-border shrink-0", 22 - orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", 22 + orientation === "horizontal" ? "h-px w-full" : "h-full w-px", 23 23 className, 24 24 )} 25 25 {...props}
+1 -1
packages/ui/src/components/sheet.tsx
··· 65 65 {...props} 66 66 > 67 67 {children} 68 - <SheetPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary"> 68 + <SheetPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary"> 69 69 <X className="h-4 w-4" /> 70 70 <span className="sr-only">Close</span> 71 71 </SheetPrimitive.Close>
+1 -1
packages/ui/src/components/slider.tsx
··· 20 20 <SliderPrimitive.Track className="relative h-2 w-full grow overflow-hidden rounded-full bg-secondary"> 21 21 <SliderPrimitive.Range className="absolute h-full bg-primary" /> 22 22 </SliderPrimitive.Track> 23 - <SliderPrimitive.Thumb className="block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" /> 23 + <SliderPrimitive.Thumb className="block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" /> 24 24 </SliderPrimitive.Root> 25 25 )); 26 26 Slider.displayName = SliderPrimitive.Root.displayName;
+1 -1
packages/ui/src/components/switch.tsx
··· 11 11 >(({ className, ...props }, ref) => ( 12 12 <SwitchPrimitives.Root 13 13 className={cn( 14 - "focus-visible:ring-ring focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-input peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 14 + "focus-visible:ring-ring focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-input peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 15 15 className, 16 16 )} 17 17 {...props}
+2 -2
packages/ui/src/components/tabs.tsx
··· 29 29 <TabsPrimitive.Trigger 30 30 ref={ref} 31 31 className={cn( 32 - "ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm", 32 + "ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-xs", 33 33 className, 34 34 )} 35 35 {...props} ··· 44 44 <TabsPrimitive.Content 45 45 ref={ref} 46 46 className={cn( 47 - "ring-offset-background focus-visible:ring-ring mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2", 47 + "ring-offset-background focus-visible:ring-ring mt-2 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2", 48 48 className, 49 49 )} 50 50 {...props}
+1 -1
packages/ui/src/components/textarea.tsx
··· 9 9 return ( 10 10 <textarea 11 11 className={cn( 12 - "border-input ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 12 + "border-input ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-sm focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", 13 13 className, 14 14 )} 15 15 ref={ref}
+1 -1
packages/ui/src/components/toggle.tsx
··· 8 8 import { cn } from "@/lib/utils"; 9 9 10 10 const toggleVariants = cva( 11 - "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground", 11 + "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground", 12 12 { 13 13 variants: { 14 14 variant: {
packages/ui/src/styles.css

This is a binary file and will not be displayed.

+846 -676
pnpm-lock.yaml
··· 34 34 version: 0.9.4(prettier@3.5.3)(typescript@5.6.2) 35 35 '@astrojs/react': 36 36 specifier: 4.2.3 37 - version: 4.2.3(@types/node@22.10.2)(@types/react-dom@19.1.1(@types/react@19.1.0))(@types/react@19.1.0)(jiti@1.21.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(terser@5.37.0)(yaml@2.6.1) 37 + version: 4.2.3(@types/node@22.10.2)(@types/react-dom@19.1.1(@types/react@19.1.0))(@types/react@19.1.0)(jiti@2.4.2)(lightningcss@1.30.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(terser@5.37.0)(yaml@2.6.1) 38 38 '@astrojs/sitemap': 39 39 specifier: 3.2.1 40 40 version: 3.2.1 41 41 '@astrojs/starlight': 42 - specifier: 0.32.6 43 - version: 0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 42 + specifier: 0.34.3 43 + version: 0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 44 44 '@astrojs/starlight-tailwind': 45 - specifier: 3.0.1 46 - version: 3.0.1(@astrojs/starlight@0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)))(@astrojs/tailwind@6.0.0(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)))(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2))) 47 - '@astrojs/tailwind': 48 - specifier: 6.0.0 49 - version: 6.0.0(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)))(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)) 45 + specifier: 4.0.1 46 + version: 4.0.1(@astrojs/starlight@0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)))(tailwindcss@4.1.8) 50 47 '@openpanel/astro': 51 48 specifier: 1.0.1 52 - version: 1.0.1(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 49 + version: 1.0.1(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 50 + '@tailwindcss/vite': 51 + specifier: 4.1.8 52 + version: 4.1.8(vite@6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1)) 53 53 astro: 54 54 specifier: 5.6.1 55 - version: 5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 55 + version: 5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 56 56 sharp: 57 57 specifier: 0.33.5 58 58 version: 0.33.5 59 59 starlight-showcases: 60 60 specifier: 0.3.0 61 - version: 0.3.0(@astrojs/starlight@0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)))(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 61 + version: 0.3.0(@astrojs/starlight@0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)))(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 62 62 starlight-sidebar-topics: 63 63 specifier: 0.6.0 64 - version: 0.6.0(@astrojs/starlight@0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))) 64 + version: 0.6.0(@astrojs/starlight@0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))) 65 + tailwindcss: 66 + specifier: 4.1.8 67 + version: 4.1.8 65 68 unplugin-icons: 66 69 specifier: 22.1.0 67 70 version: 22.1.0(@vue/compiler-sfc@3.5.13) ··· 83 86 version: 0.2.1(hono@4.5.3)(zod@3.23.8) 84 87 '@libsql/client': 85 88 specifier: 0.14.0 86 - version: 0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3) 89 + version: 0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.5) 87 90 '@openstatus/db': 88 91 specifier: workspace:* 89 92 version: link:../../packages/db ··· 98 101 version: 2.6.2 99 102 drizzle-orm: 100 103 specifier: 0.35.3 101 - version: 0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.7.0)(bun-types@1.2.15)(react@19.1.0) 104 + version: 0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.5))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.7.0)(bun-types@1.2.13)(react@19.1.0) 102 105 hono: 103 106 specifier: 4.5.3 104 107 version: 4.5.3 ··· 211 214 version: 3.9.1(react-hook-form@7.54.1(react@19.1.0)) 212 215 '@libsql/client': 213 216 specifier: 0.14.0 214 - version: 0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3) 217 + version: 0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.5) 215 218 '@openpanel/nextjs': 216 219 specifier: ^1.0.8 217 220 version: 1.0.8(next@15.2.4(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) ··· 289 292 version: 0.7.0(typescript@5.6.2)(zod@3.23.8) 290 293 '@tailwindcss/container-queries': 291 294 specifier: 0.1.1 292 - version: 0.1.1(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2))) 295 + version: 0.1.1(tailwindcss@4.1.8) 293 296 '@tailwindcss/typography': 294 297 specifier: 0.5.10 295 - version: 0.5.10(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2))) 298 + version: 0.5.10(tailwindcss@4.1.8) 296 299 '@tanstack/react-query': 297 300 specifier: 5.62.8 298 301 version: 5.62.8(react@19.1.0) ··· 427 430 version: 1.14.0 428 431 tailwindcss-animate: 429 432 specifier: 1.0.7 430 - version: 1.0.7(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2))) 433 + version: 1.0.7(tailwindcss@4.1.8) 431 434 zod: 432 435 specifier: 3.23.8 433 436 version: 3.23.8 ··· 444 447 '@openstatus/tsconfig': 445 448 specifier: workspace:* 446 449 version: link:../../packages/tsconfig 450 + '@tailwindcss/postcss': 451 + specifier: ^4.1.8 452 + version: 4.1.8 447 453 '@types/node': 448 454 specifier: 20.14.8 449 455 version: 20.14.8 ··· 453 459 '@types/react-dom': 454 460 specifier: 19.1.1 455 461 version: 19.1.1(@types/react@19.1.0) 456 - autoprefixer: 457 - specifier: 10.4.19 458 - version: 10.4.19(postcss@8.4.38) 459 462 postcss: 460 463 specifier: 8.4.38 461 464 version: 8.4.38 ··· 466 469 specifier: 5.1.0 467 470 version: 5.1.0 468 471 tailwindcss: 469 - specifier: 3.4.3 470 - version: 3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2)) 472 + specifier: 4.1.8 473 + version: 4.1.8 471 474 typescript: 472 475 specifier: 5.6.2 473 476 version: 5.6.2 ··· 540 543 version: link:../../packages/tsconfig 541 544 '@types/bun': 542 545 specifier: latest 543 - version: 1.2.15 546 + version: 1.2.13 544 547 typescript: 545 548 specifier: 5.6.2 546 549 version: 5.6.2 ··· 654 657 version: 0.7.0(typescript@5.6.2)(zod@3.23.8) 655 658 drizzle-orm: 656 659 specifier: 0.35.3 657 - version: 0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.4.0)(bun-types@1.2.15)(react@19.1.0) 660 + version: 0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.4.0)(bun-types@1.2.13)(react@19.1.0) 658 661 drizzle-zod: 659 662 specifier: 0.5.1 660 - version: 0.5.1(drizzle-orm@0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.4.0)(bun-types@1.2.15)(react@19.1.0))(zod@3.23.8) 663 + version: 0.5.1(drizzle-orm@0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.4.0)(bun-types@1.2.13)(react@19.1.0))(zod@3.23.8) 661 664 zod: 662 665 specifier: 3.23.8 663 666 version: 3.23.8 ··· 988 991 '@openstatus/tsconfig': 989 992 specifier: workspace:* 990 993 version: link:../tsconfig 994 + '@tailwindcss/cli': 995 + specifier: 4.1.8 996 + version: 4.1.8 991 997 '@types/node': 992 998 specifier: 20.8.0 993 999 version: 20.8.0 ··· 995 1001 specifier: 18.3.3 996 1002 version: 18.3.3 997 1003 tailwindcss: 998 - specifier: 3.4.3 999 - version: 3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2)) 1004 + specifier: 4.1.8 1005 + version: 4.1.8 1000 1006 tsup: 1001 1007 specifier: 7.2.0 1002 - version: 7.2.0(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2))(typescript@5.6.2) 1008 + version: 7.2.0(postcss@8.5.3)(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2))(typescript@5.6.2) 1003 1009 typescript: 1004 1010 specifier: 5.6.2 1005 1011 version: 5.6.2 ··· 1174 1180 version: 2.5.5 1175 1181 tailwindcss-animate: 1176 1182 specifier: 1.0.7 1177 - version: 1.0.7(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2))) 1183 + version: 1.0.7(tailwindcss@4.1.8) 1178 1184 zod: 1179 1185 specifier: 3.23.8 1180 1186 version: 3.23.8 ··· 1198 1204 specifier: 19.1.1 1199 1205 version: 19.1.1(@types/react@19.1.0) 1200 1206 tailwindcss: 1201 - specifier: 3.4.3 1202 - version: 3.4.3(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)) 1207 + specifier: 4.1.8 1208 + version: 4.1.8 1203 1209 typescript: 1204 1210 specifier: 5.6.2 1205 1211 version: 5.6.2 ··· 1311 1317 prettier-plugin-astro: 1312 1318 optional: true 1313 1319 1314 - '@astrojs/markdown-remark@6.1.0': 1315 - resolution: {integrity: sha512-emZNNSTPGgPc3V399Cazpp5+snogjaF04ocOSQn9vy3Kw/eIC4vTQjXOrWDEoSEy+AwPDZX9bQ4wd3bxhpmGgQ==} 1316 - 1317 1320 '@astrojs/markdown-remark@6.3.1': 1318 1321 resolution: {integrity: sha512-c5F5gGrkczUaTVgmMW9g1YMJGzOtRvjjhw6IfGuxarM6ct09MpwysP10US729dy07gg8y+ofVifezvP3BNsWZg==} 1319 1322 1320 - '@astrojs/mdx@4.0.8': 1321 - resolution: {integrity: sha512-/aiLr2yQ55W9AbpyOgfMtFXk7g2t7XoWdC2Avps/NqxAx4aYONDLneX43D79QwgqdjFhin7o3cIPp/vVppMbaA==} 1322 - engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0} 1323 + '@astrojs/markdown-remark@6.3.2': 1324 + resolution: {integrity: sha512-bO35JbWpVvyKRl7cmSJD822e8YA8ThR/YbUsciWNA7yTcqpIAL2hJDToWP5KcZBWxGT6IOdOkHSXARSNZc4l/Q==} 1325 + 1326 + '@astrojs/mdx@4.3.0': 1327 + resolution: {integrity: sha512-OGX2KvPeBzjSSKhkCqrUoDMyzFcjKt5nTE5SFw3RdoLf0nrhyCXBQcCyclzWy1+P+XpOamn+p+hm1EhpCRyPxw==} 1328 + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} 1323 1329 peerDependencies: 1324 1330 astro: ^5.0.0 1325 1331 ··· 1327 1333 resolution: {integrity: sha512-GilTHKGCW6HMq7y3BUv9Ac7GMe/MO9gi9GW62GzKtth0SwukCu/qp2wLiGpEujhY+VVhaG9v7kv/5vFzvf4NYw==} 1328 1334 engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0} 1329 1335 1336 + '@astrojs/prism@3.3.0': 1337 + resolution: {integrity: sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==} 1338 + engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0} 1339 + 1330 1340 '@astrojs/react@4.2.3': 1331 1341 resolution: {integrity: sha512-icL1hCnW1v+w+NCAz8REfsh9R1aGMW75fYBoeLjyhrVDxXQHiFbTfyBIHkgH79qqID7SM81+hPxHlqcgCuBP8w==} 1332 1342 engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0} ··· 1339 1349 '@astrojs/sitemap@3.2.1': 1340 1350 resolution: {integrity: sha512-uxMfO8f7pALq0ADL6Lk68UV6dNYjJ2xGUzyjjVj60JLBs5a6smtlkBYv3tQ0DzoqwS7c9n4FUx5lgv0yPo/fgA==} 1341 1351 1342 - '@astrojs/starlight-tailwind@3.0.1': 1343 - resolution: {integrity: sha512-9gPBaglNYuD3gLSF+4RvmbO3DxMMMby/AYFuwZkS+BLo67WQWyBIdYtmof814Gi750qSnt0sCvhqFAURqbA1Cw==} 1344 - peerDependencies: 1345 - '@astrojs/starlight': '>=0.30.0' 1346 - '@astrojs/tailwind': ^5.1.3 || ^6.0.0 1347 - tailwindcss: ^3.3.3 1352 + '@astrojs/sitemap@3.4.1': 1353 + resolution: {integrity: sha512-VjZvr1e4FH6NHyyHXOiQgLiw94LnCVY4v06wN/D0gZKchTMkg71GrAHJz81/huafcmavtLkIv26HnpfDq6/h/Q==} 1348 1354 1349 - '@astrojs/starlight@0.32.6': 1350 - resolution: {integrity: sha512-ASWGwNzq+0TmJ+GJFFxFFxx6Yra7BqIIMQbvOy/cweTHjqejB6mcaEWtS3Mag12LM7tXCES7v/fzmdPgjz8Yxw==} 1355 + '@astrojs/starlight-tailwind@4.0.1': 1356 + resolution: {integrity: sha512-AOOEWTGqJ7fG66U04xTmZQZ40oZnUYe4Qljpr+No88ozKywtsD1DiXOrGTeHCnZu0hRtMbRtBGB1fZsf0L62iw==} 1351 1357 peerDependencies: 1352 - astro: ^5.1.5 1358 + '@astrojs/starlight': '>=0.34.0' 1359 + tailwindcss: ^4.0.0 1353 1360 1354 - '@astrojs/tailwind@6.0.0': 1355 - resolution: {integrity: sha512-GbEK2/h0nvY8i6g1GZT5ddHAgj71lQIf34/j7+jPLhUti3xDxKcWElApDe2jWvqAaKl2oKEh045ITSm8mU9BVQ==} 1361 + '@astrojs/starlight@0.34.3': 1362 + resolution: {integrity: sha512-MAuD3NF+E+QXJJuVKofoR6xcPTP4BJmYWeOBd03udVdubNGVnPnSWVZAi+ZtnTofES4+mJdp8BNGf+ubUxkiiA==} 1356 1363 peerDependencies: 1357 - astro: ^3.0.0 || ^4.0.0 || ^5.0.0 1358 - tailwindcss: ^3.0.24 1364 + astro: ^5.5.0 1359 1365 1360 1366 '@astrojs/telemetry@3.2.0': 1361 1367 resolution: {integrity: sha512-wxhSKRfKugLwLlr4OFfcqovk+LIFtKwLyGPqMsv+9/ibqqnW3Gv7tBhtKEb0gAyUAC4G9BTVQeQahqnQAhd6IQ==} ··· 2595 2601 cpu: [x64] 2596 2602 os: [win32] 2597 2603 2598 - '@expressive-code/core@0.40.2': 2599 - resolution: {integrity: sha512-gXY3v7jbgz6nWKvRpoDxK4AHUPkZRuJsM79vHX/5uhV9/qX6Qnctp/U/dMHog/LCVXcuOps+5nRmf1uxQVPb3w==} 2604 + '@expressive-code/core@0.41.2': 2605 + resolution: {integrity: sha512-AJW5Tp9czbLqKMzwudL9Rv4js9afXBxkSGLmCNPq1iRgAYcx9NkTPJiSNCesjKRWoVC328AdSu6fqrD22zDgDg==} 2600 2606 2601 - '@expressive-code/plugin-frames@0.40.2': 2602 - resolution: {integrity: sha512-aLw5IlDlZWb10Jo/TTDCVsmJhKfZ7FJI83Zo9VDrV0OBlmHAg7klZqw68VDz7FlftIBVAmMby53/MNXPnMjTSQ==} 2607 + '@expressive-code/plugin-frames@0.41.2': 2608 + resolution: {integrity: sha512-pfy0hkJI4nbaONjmksFDcuHmIuyPTFmi1JpABe4q2ajskiJtfBf+WDAL2pg595R9JNoPrrH5+aT9lbkx2noicw==} 2603 2609 2604 - '@expressive-code/plugin-shiki@0.40.2': 2605 - resolution: {integrity: sha512-t2HMR5BO6GdDW1c1ISBTk66xO503e/Z8ecZdNcr6E4NpUfvY+MRje+LtrcvbBqMwWBBO8RpVKcam/Uy+1GxwKQ==} 2610 + '@expressive-code/plugin-shiki@0.41.2': 2611 + resolution: {integrity: sha512-xD4zwqAkDccXqye+235BH5bN038jYiSMLfUrCOmMlzxPDGWdxJDk5z4uUB/aLfivEF2tXyO2zyaarL3Oqht0fQ==} 2606 2612 2607 - '@expressive-code/plugin-text-markers@0.40.2': 2608 - resolution: {integrity: sha512-/XoLjD67K9nfM4TgDlXAExzMJp6ewFKxNpfUw4F7q5Ecy+IU3/9zQQG/O70Zy+RxYTwKGw2MA9kd7yelsxnSmw==} 2613 + '@expressive-code/plugin-text-markers@0.41.2': 2614 + resolution: {integrity: sha512-JFWBz2qYxxJOJkkWf96LpeolbnOqJY95TvwYc0hXIHf9oSWV0h0SY268w/5N3EtQaD9KktzDE+VIVwb9jdb3nw==} 2609 2615 2610 2616 '@fal-works/esbuild-plugin-global-externals@2.1.2': 2611 2617 resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} ··· 2788 2794 '@isaacs/cliui@8.0.2': 2789 2795 resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 2790 2796 engines: {node: '>=12'} 2797 + 2798 + '@isaacs/fs-minipass@4.0.1': 2799 + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} 2800 + engines: {node: '>=18.0.0'} 2791 2801 2792 2802 '@jridgewell/gen-mapping@0.3.5': 2793 2803 resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} ··· 3246 3256 cpu: [arm64] 3247 3257 os: [android] 3248 3258 3259 + '@parcel/watcher-android-arm64@2.5.1': 3260 + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} 3261 + engines: {node: '>= 10.0.0'} 3262 + cpu: [arm64] 3263 + os: [android] 3264 + 3249 3265 '@parcel/watcher-darwin-arm64@2.4.1': 3250 3266 resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} 3251 3267 engines: {node: '>= 10.0.0'} 3252 3268 cpu: [arm64] 3253 3269 os: [darwin] 3254 3270 3271 + '@parcel/watcher-darwin-arm64@2.5.1': 3272 + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} 3273 + engines: {node: '>= 10.0.0'} 3274 + cpu: [arm64] 3275 + os: [darwin] 3276 + 3255 3277 '@parcel/watcher-darwin-x64@2.4.1': 3256 3278 resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} 3257 3279 engines: {node: '>= 10.0.0'} 3258 3280 cpu: [x64] 3259 3281 os: [darwin] 3260 3282 3283 + '@parcel/watcher-darwin-x64@2.5.1': 3284 + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} 3285 + engines: {node: '>= 10.0.0'} 3286 + cpu: [x64] 3287 + os: [darwin] 3288 + 3261 3289 '@parcel/watcher-freebsd-x64@2.4.1': 3262 3290 resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} 3291 + engines: {node: '>= 10.0.0'} 3292 + cpu: [x64] 3293 + os: [freebsd] 3294 + 3295 + '@parcel/watcher-freebsd-x64@2.5.1': 3296 + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} 3263 3297 engines: {node: '>= 10.0.0'} 3264 3298 cpu: [x64] 3265 3299 os: [freebsd] ··· 3270 3304 cpu: [arm] 3271 3305 os: [linux] 3272 3306 3307 + '@parcel/watcher-linux-arm-glibc@2.5.1': 3308 + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} 3309 + engines: {node: '>= 10.0.0'} 3310 + cpu: [arm] 3311 + os: [linux] 3312 + 3313 + '@parcel/watcher-linux-arm-musl@2.5.1': 3314 + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} 3315 + engines: {node: '>= 10.0.0'} 3316 + cpu: [arm] 3317 + os: [linux] 3318 + 3273 3319 '@parcel/watcher-linux-arm64-glibc@2.4.1': 3274 3320 resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} 3275 3321 engines: {node: '>= 10.0.0'} 3276 3322 cpu: [arm64] 3277 3323 os: [linux] 3278 3324 3325 + '@parcel/watcher-linux-arm64-glibc@2.5.1': 3326 + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} 3327 + engines: {node: '>= 10.0.0'} 3328 + cpu: [arm64] 3329 + os: [linux] 3330 + 3279 3331 '@parcel/watcher-linux-arm64-musl@2.4.1': 3280 3332 resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} 3333 + engines: {node: '>= 10.0.0'} 3334 + cpu: [arm64] 3335 + os: [linux] 3336 + 3337 + '@parcel/watcher-linux-arm64-musl@2.5.1': 3338 + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} 3281 3339 engines: {node: '>= 10.0.0'} 3282 3340 cpu: [arm64] 3283 3341 os: [linux] ··· 3288 3346 cpu: [x64] 3289 3347 os: [linux] 3290 3348 3349 + '@parcel/watcher-linux-x64-glibc@2.5.1': 3350 + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} 3351 + engines: {node: '>= 10.0.0'} 3352 + cpu: [x64] 3353 + os: [linux] 3354 + 3291 3355 '@parcel/watcher-linux-x64-musl@2.4.1': 3292 3356 resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} 3293 3357 engines: {node: '>= 10.0.0'} 3294 3358 cpu: [x64] 3295 3359 os: [linux] 3296 3360 3361 + '@parcel/watcher-linux-x64-musl@2.5.1': 3362 + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} 3363 + engines: {node: '>= 10.0.0'} 3364 + cpu: [x64] 3365 + os: [linux] 3366 + 3297 3367 '@parcel/watcher-win32-arm64@2.4.1': 3298 3368 resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} 3299 3369 engines: {node: '>= 10.0.0'} 3300 3370 cpu: [arm64] 3301 3371 os: [win32] 3302 3372 3373 + '@parcel/watcher-win32-arm64@2.5.1': 3374 + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} 3375 + engines: {node: '>= 10.0.0'} 3376 + cpu: [arm64] 3377 + os: [win32] 3378 + 3303 3379 '@parcel/watcher-win32-ia32@2.4.1': 3304 3380 resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} 3305 3381 engines: {node: '>= 10.0.0'} 3306 3382 cpu: [ia32] 3307 3383 os: [win32] 3308 3384 3385 + '@parcel/watcher-win32-ia32@2.5.1': 3386 + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} 3387 + engines: {node: '>= 10.0.0'} 3388 + cpu: [ia32] 3389 + os: [win32] 3390 + 3309 3391 '@parcel/watcher-win32-x64@2.4.1': 3310 3392 resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} 3311 3393 engines: {node: '>= 10.0.0'} 3312 3394 cpu: [x64] 3313 3395 os: [win32] 3314 3396 3397 + '@parcel/watcher-win32-x64@2.5.1': 3398 + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} 3399 + engines: {node: '>= 10.0.0'} 3400 + cpu: [x64] 3401 + os: [win32] 3402 + 3315 3403 '@parcel/watcher@2.4.1': 3316 3404 resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} 3405 + engines: {node: '>= 10.0.0'} 3406 + 3407 + '@parcel/watcher@2.5.1': 3408 + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} 3317 3409 engines: {node: '>= 10.0.0'} 3318 3410 3319 3411 '@pkgjs/parseargs@0.11.0': ··· 4296 4388 peerDependencies: 4297 4389 webpack: '>=4.40.0' 4298 4390 4299 - '@shikijs/core@1.29.2': 4300 - resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==} 4301 - 4302 4391 '@shikijs/core@3.2.1': 4303 4392 resolution: {integrity: sha512-FhsdxMWYu/C11sFisEp7FMGBtX/OSSbnXZDMBhGuUDBNTdsoZlMSgQv5f90rwvzWAdWIW6VobD+G3IrazxA6dQ==} 4304 4393 4305 - '@shikijs/engine-javascript@1.29.2': 4306 - resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==} 4394 + '@shikijs/core@3.6.0': 4395 + resolution: {integrity: sha512-9By7Xb3olEX0o6UeJyPLI1PE1scC4d3wcVepvtv2xbuN9/IThYN4Wcwh24rcFeASzPam11MCq8yQpwwzCgSBRw==} 4307 4396 4308 4397 '@shikijs/engine-javascript@3.2.1': 4309 4398 resolution: {integrity: sha512-eMdcUzN3FMQYxOmRf2rmU8frikzoSHbQDFH2hIuXsrMO+IBOCI9BeeRkCiBkcLDHeRKbOCtYMJK3D6U32ooU9Q==} 4310 4399 4311 - '@shikijs/engine-oniguruma@1.29.2': 4312 - resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==} 4400 + '@shikijs/engine-javascript@3.6.0': 4401 + resolution: {integrity: sha512-7YnLhZG/TU05IHMG14QaLvTW/9WiK8SEYafceccHUSXs2Qr5vJibUwsDfXDLmRi0zHdzsxrGKpSX6hnqe0k8nA==} 4313 4402 4314 4403 '@shikijs/engine-oniguruma@3.2.1': 4315 4404 resolution: {integrity: sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ==} 4316 4405 4317 - '@shikijs/langs@1.29.2': 4318 - resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==} 4406 + '@shikijs/engine-oniguruma@3.6.0': 4407 + resolution: {integrity: sha512-nmOhIZ9yT3Grd+2plmW/d8+vZ2pcQmo/UnVwXMUXAKTXdi+LK0S08Ancrz5tQQPkxvjBalpMW2aKvwXfelauvA==} 4319 4408 4320 4409 '@shikijs/langs@3.2.1': 4321 4410 resolution: {integrity: sha512-If0iDHYRSGbihiA8+7uRsgb1er1Yj11pwpX1c6HLYnizDsKAw5iaT3JXj5ZpaimXSWky/IhxTm7C6nkiYVym+A==} 4322 4411 4323 - '@shikijs/themes@1.29.2': 4324 - resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==} 4412 + '@shikijs/langs@3.6.0': 4413 + resolution: {integrity: sha512-IdZkQJaLBu1LCYCwkr30hNuSDfllOT8RWYVZK1tD2J03DkiagYKRxj/pDSl8Didml3xxuyzUjgtioInwEQM/TA==} 4325 4414 4326 4415 '@shikijs/themes@3.2.1': 4327 4416 resolution: {integrity: sha512-k5DKJUT8IldBvAm8WcrDT5+7GA7se6lLksR+2E3SvyqGTyFMzU2F9Gb7rmD+t+Pga1MKrYFxDIeyWjMZWM6uBQ==} 4328 4417 4329 - '@shikijs/types@1.29.2': 4330 - resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==} 4418 + '@shikijs/themes@3.6.0': 4419 + resolution: {integrity: sha512-Fq2j4nWr1DF4drvmhqKq8x5vVQ27VncF8XZMBuHuQMZvUSS3NBgpqfwz/FoGe36+W6PvniZ1yDlg2d4kmYDU6w==} 4331 4420 4332 4421 '@shikijs/types@3.2.1': 4333 4422 resolution: {integrity: sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA==} 4423 + 4424 + '@shikijs/types@3.6.0': 4425 + resolution: {integrity: sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==} 4334 4426 4335 4427 '@shikijs/vscode-textmate@10.0.2': 4336 4428 resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} ··· 4570 4662 typescript: 4571 4663 optional: true 4572 4664 4665 + '@tailwindcss/cli@4.1.8': 4666 + resolution: {integrity: sha512-+6lkjXSr/68zWiabK3mVYVHmOq/SAHjJ13mR8spyB4LgUWZbWzU9kCSErlAUo+gK5aVfgqe8kY6Ltz9+nz5XYA==} 4667 + hasBin: true 4668 + 4573 4669 '@tailwindcss/container-queries@0.1.1': 4574 4670 resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==} 4575 4671 peerDependencies: 4576 4672 tailwindcss: '>=3.2.0' 4577 4673 4674 + '@tailwindcss/node@4.1.8': 4675 + resolution: {integrity: sha512-OWwBsbC9BFAJelmnNcrKuf+bka2ZxCE2A4Ft53Tkg4uoiE67r/PMEYwCsourC26E+kmxfwE0hVzMdxqeW+xu7Q==} 4676 + 4677 + '@tailwindcss/oxide-android-arm64@4.1.8': 4678 + resolution: {integrity: sha512-Fbz7qni62uKYceWYvUjRqhGfZKwhZDQhlrJKGtnZfuNtHFqa8wmr+Wn74CTWERiW2hn3mN5gTpOoxWKk0jRxjg==} 4679 + engines: {node: '>= 10'} 4680 + cpu: [arm64] 4681 + os: [android] 4682 + 4683 + '@tailwindcss/oxide-darwin-arm64@4.1.8': 4684 + resolution: {integrity: sha512-RdRvedGsT0vwVVDztvyXhKpsU2ark/BjgG0huo4+2BluxdXo8NDgzl77qh0T1nUxmM11eXwR8jA39ibvSTbi7A==} 4685 + engines: {node: '>= 10'} 4686 + cpu: [arm64] 4687 + os: [darwin] 4688 + 4689 + '@tailwindcss/oxide-darwin-x64@4.1.8': 4690 + resolution: {integrity: sha512-t6PgxjEMLp5Ovf7uMb2OFmb3kqzVTPPakWpBIFzppk4JE4ix0yEtbtSjPbU8+PZETpaYMtXvss2Sdkx8Vs4XRw==} 4691 + engines: {node: '>= 10'} 4692 + cpu: [x64] 4693 + os: [darwin] 4694 + 4695 + '@tailwindcss/oxide-freebsd-x64@4.1.8': 4696 + resolution: {integrity: sha512-g8C8eGEyhHTqwPStSwZNSrOlyx0bhK/V/+zX0Y+n7DoRUzyS8eMbVshVOLJTDDC+Qn9IJnilYbIKzpB9n4aBsg==} 4697 + engines: {node: '>= 10'} 4698 + cpu: [x64] 4699 + os: [freebsd] 4700 + 4701 + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.8': 4702 + resolution: {integrity: sha512-Jmzr3FA4S2tHhaC6yCjac3rGf7hG9R6Gf2z9i9JFcuyy0u79HfQsh/thifbYTF2ic82KJovKKkIB6Z9TdNhCXQ==} 4703 + engines: {node: '>= 10'} 4704 + cpu: [arm] 4705 + os: [linux] 4706 + 4707 + '@tailwindcss/oxide-linux-arm64-gnu@4.1.8': 4708 + resolution: {integrity: sha512-qq7jXtO1+UEtCmCeBBIRDrPFIVI4ilEQ97qgBGdwXAARrUqSn/L9fUrkb1XP/mvVtoVeR2bt/0L77xx53bPZ/Q==} 4709 + engines: {node: '>= 10'} 4710 + cpu: [arm64] 4711 + os: [linux] 4712 + 4713 + '@tailwindcss/oxide-linux-arm64-musl@4.1.8': 4714 + resolution: {integrity: sha512-O6b8QesPbJCRshsNApsOIpzKt3ztG35gfX9tEf4arD7mwNinsoCKxkj8TgEE0YRjmjtO3r9FlJnT/ENd9EVefQ==} 4715 + engines: {node: '>= 10'} 4716 + cpu: [arm64] 4717 + os: [linux] 4718 + 4719 + '@tailwindcss/oxide-linux-x64-gnu@4.1.8': 4720 + resolution: {integrity: sha512-32iEXX/pXwikshNOGnERAFwFSfiltmijMIAbUhnNyjFr3tmWmMJWQKU2vNcFX0DACSXJ3ZWcSkzNbaKTdngH6g==} 4721 + engines: {node: '>= 10'} 4722 + cpu: [x64] 4723 + os: [linux] 4724 + 4725 + '@tailwindcss/oxide-linux-x64-musl@4.1.8': 4726 + resolution: {integrity: sha512-s+VSSD+TfZeMEsCaFaHTaY5YNj3Dri8rST09gMvYQKwPphacRG7wbuQ5ZJMIJXN/puxPcg/nU+ucvWguPpvBDg==} 4727 + engines: {node: '>= 10'} 4728 + cpu: [x64] 4729 + os: [linux] 4730 + 4731 + '@tailwindcss/oxide-wasm32-wasi@4.1.8': 4732 + resolution: {integrity: sha512-CXBPVFkpDjM67sS1psWohZ6g/2/cd+cq56vPxK4JeawelxwK4YECgl9Y9TjkE2qfF+9/s1tHHJqrC4SS6cVvSg==} 4733 + engines: {node: '>=14.0.0'} 4734 + cpu: [wasm32] 4735 + bundledDependencies: 4736 + - '@napi-rs/wasm-runtime' 4737 + - '@emnapi/core' 4738 + - '@emnapi/runtime' 4739 + - '@tybys/wasm-util' 4740 + - '@emnapi/wasi-threads' 4741 + - tslib 4742 + 4743 + '@tailwindcss/oxide-win32-arm64-msvc@4.1.8': 4744 + resolution: {integrity: sha512-7GmYk1n28teDHUjPlIx4Z6Z4hHEgvP5ZW2QS9ygnDAdI/myh3HTHjDqtSqgu1BpRoI4OiLx+fThAyA1JePoENA==} 4745 + engines: {node: '>= 10'} 4746 + cpu: [arm64] 4747 + os: [win32] 4748 + 4749 + '@tailwindcss/oxide-win32-x64-msvc@4.1.8': 4750 + resolution: {integrity: sha512-fou+U20j+Jl0EHwK92spoWISON2OBnCazIc038Xj2TdweYV33ZRkS9nwqiUi2d/Wba5xg5UoHfvynnb/UB49cQ==} 4751 + engines: {node: '>= 10'} 4752 + cpu: [x64] 4753 + os: [win32] 4754 + 4755 + '@tailwindcss/oxide@4.1.8': 4756 + resolution: {integrity: sha512-d7qvv9PsM5N3VNKhwVUhpK6r4h9wtLkJ6lz9ZY9aeZgrUWk1Z8VPyqyDT9MZlem7GTGseRQHkeB1j3tC7W1P+A==} 4757 + engines: {node: '>= 10'} 4758 + 4759 + '@tailwindcss/postcss@4.1.8': 4760 + resolution: {integrity: sha512-vB/vlf7rIky+w94aWMw34bWW1ka6g6C3xIOdICKX2GC0VcLtL6fhlLiafF0DVIwa9V6EHz8kbWMkS2s2QvvNlw==} 4761 + 4578 4762 '@tailwindcss/typography@0.5.10': 4579 4763 resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} 4580 4764 peerDependencies: 4581 4765 tailwindcss: '>=3.0.0 || insiders' 4766 + 4767 + '@tailwindcss/vite@4.1.8': 4768 + resolution: {integrity: sha512-CQ+I8yxNV5/6uGaJjiuymgw0kEQiNKRinYbZXPdx1fk5WgiyReG0VaUx/Xq6aVNSUNJFzxm6o8FNKS5aMaim5A==} 4769 + peerDependencies: 4770 + vite: ^5.2.0 || ^6 4582 4771 4583 4772 '@tanstack/query-core@5.62.8': 4584 4773 resolution: {integrity: sha512-4fV31vDsUyvNGrKIOUNPrZztoyL187bThnoQOvAXEVlZbSiuPONpfx53634MKKdvsDir5NyOGm80ShFaoHS/mw==} ··· 4696 4885 '@types/babel__traverse@7.20.6': 4697 4886 resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} 4698 4887 4699 - '@types/bun@1.2.15': 4700 - resolution: {integrity: sha512-U1ljPdBEphF0nw1MIk0hI7kPg7dFdPyM7EenHsp6W5loNHl7zqy6JQf/RKCgnUn2KDzUpkBwHPnEJEjII594bA==} 4888 + '@types/bun@1.2.13': 4889 + resolution: {integrity: sha512-u6vXep/i9VBxoJl3GjZsl/BFIsvML8DfVDO0RYLEwtSZSp981kEO1V5NwRcO1CPJ7AmvpbnDCiMKo3JvbDEjAg==} 4701 4890 4702 4891 '@types/caseless@0.12.4': 4703 4892 resolution: {integrity: sha512-2in/lrHRNmDvHPgyormtEralhPcN3An1gLjJzj2Bw145VBxkQ75JEXW6CTdMAwShiHQcYsl2d10IjQSdJSJz4g==} ··· 5168 5357 resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} 5169 5358 hasBin: true 5170 5359 5171 - astro-expressive-code@0.40.2: 5172 - resolution: {integrity: sha512-yJMQId0yXSAbW9I6yqvJ3FcjKzJ8zRL7elbJbllkv1ZJPlsI0NI83Pxn1YL1IapEM347EvOOkSW2GL+2+NO61w==} 5360 + astro-expressive-code@0.41.2: 5361 + resolution: {integrity: sha512-HN0jWTnhr7mIV/2e6uu4PPRNNo/k4UEgTLZqbp3MrHU+caCARveG2yZxaZVBmxyiVdYqW5Pd3u3n2zjnshixbw==} 5173 5362 peerDependencies: 5174 5363 astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 5175 5364 ··· 5183 5372 5184 5373 asynckit@0.4.0: 5185 5374 resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 5186 - 5187 - autoprefixer@10.4.19: 5188 - resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} 5189 - engines: {node: ^10 || ^12 || >=14} 5190 - hasBin: true 5191 - peerDependencies: 5192 - postcss: ^8.1.0 5193 - 5194 - autoprefixer@10.4.20: 5195 - resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} 5196 - engines: {node: ^10 || ^12 || >=14} 5197 - hasBin: true 5198 - peerDependencies: 5199 - postcss: ^8.1.0 5200 5375 5201 5376 axobject-query@4.1.0: 5202 5377 resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} ··· 5275 5450 resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 5276 5451 engines: {node: '>=8'} 5277 5452 5278 - browserslist@4.23.0: 5279 - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} 5280 - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 5281 - hasBin: true 5282 - 5283 5453 browserslist@4.24.2: 5284 5454 resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} 5285 5455 engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 5286 5456 hasBin: true 5287 5457 5288 - browserslist@4.24.3: 5289 - resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} 5458 + browserslist@4.25.0: 5459 + resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==} 5290 5460 engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 5291 5461 hasBin: true 5292 5462 ··· 5312 5482 bun-types@1.0.8: 5313 5483 resolution: {integrity: sha512-2dNB+dBwAcFW7RSd4y5vKycRjouKVklSwPk4EjBKWvcMYUBOqZGGNzV7+b2tfKBG3BeRXnozbnegVKR1azuATg==} 5314 5484 5315 - bun-types@1.2.15: 5316 - resolution: {integrity: sha512-NarRIaS+iOaQU1JPfyKhZm4AsUOrwUOqRNHY0XxI8GI8jYxiLXLcdjYMG9UKS+fwWasc1uw1htV9AX24dD+p4w==} 5485 + bun-types@1.2.13: 5486 + resolution: {integrity: sha512-rRjA1T6n7wto4gxhAO/ErZEtOXyEZEmnIHQfl0Dt1QQSB4QV0iP6BZ9/YB5fZaHFQ2dwHFrmPaRQ9GGMX01k9Q==} 5317 5487 5318 5488 bundle-require@4.0.2: 5319 5489 resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} ··· 5339 5509 camel-case@3.0.0: 5340 5510 resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} 5341 5511 5342 - camelcase-css@2.0.1: 5343 - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 5344 - engines: {node: '>= 6'} 5345 - 5346 5512 camelcase@8.0.0: 5347 5513 resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} 5348 5514 engines: {node: '>=16'} 5349 5515 5350 - caniuse-lite@1.0.30001612: 5351 - resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==} 5352 - 5353 5516 caniuse-lite@1.0.30001689: 5354 5517 resolution: {integrity: sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g==} 5518 + 5519 + caniuse-lite@1.0.30001721: 5520 + resolution: {integrity: sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==} 5355 5521 5356 5522 ccount@2.0.1: 5357 5523 resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} ··· 5409 5575 chownr@1.1.4: 5410 5576 resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 5411 5577 5578 + chownr@3.0.0: 5579 + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} 5580 + engines: {node: '>=18'} 5581 + 5412 5582 chrome-trace-event@1.0.4: 5413 5583 resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} 5414 5584 engines: {node: '>=6.0'} ··· 5766 5936 resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 5767 5937 engines: {node: '>=8'} 5768 5938 5939 + detect-libc@2.0.4: 5940 + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} 5941 + engines: {node: '>=8'} 5942 + 5769 5943 detect-node-es@1.1.0: 5770 5944 resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} 5771 5945 ··· 5778 5952 5779 5953 devlop@1.1.0: 5780 5954 resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} 5781 - 5782 - didyoumean@1.2.2: 5783 - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 5784 5955 5785 5956 diff@4.0.2: 5786 5957 resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} ··· 5945 6116 engines: {node: '>=14'} 5946 6117 hasBin: true 5947 6118 5948 - electron-to-chromium@1.4.750: 5949 - resolution: {integrity: sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA==} 6119 + electron-to-chromium@1.5.165: 6120 + resolution: {integrity: sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw==} 5950 6121 5951 6122 electron-to-chromium@1.5.64: 5952 6123 resolution: {integrity: sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ==} 5953 6124 5954 - electron-to-chromium@1.5.74: 5955 - resolution: {integrity: sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==} 5956 - 5957 6125 emmet@2.4.11: 5958 6126 resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==} 5959 6127 ··· 5983 6151 resolution: {integrity: sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==} 5984 6152 engines: {node: '>=10.2.0'} 5985 6153 5986 - enhanced-resolve@5.17.1: 5987 - resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} 6154 + enhanced-resolve@5.18.1: 6155 + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} 5988 6156 engines: {node: '>=10.13.0'} 5989 6157 5990 6158 entities@4.5.0: ··· 6029 6197 resolution: {integrity: sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==} 6030 6198 engines: {node: '>=18'} 6031 6199 hasBin: true 6032 - 6033 - escalade@3.1.1: 6034 - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 6035 - engines: {node: '>=6'} 6036 6200 6037 6201 escalade@3.1.2: 6038 6202 resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} ··· 6133 6297 resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} 6134 6298 engines: {node: '>=6'} 6135 6299 6136 - expressive-code@0.40.2: 6137 - resolution: {integrity: sha512-1zIda2rB0qiDZACawzw2rbdBQiWHBT56uBctS+ezFe5XMAaFaHLnnSYND/Kd+dVzO9HfCXRDpzH3d+3fvOWRcw==} 6300 + expressive-code@0.41.2: 6301 + resolution: {integrity: sha512-aLZiZaqorRtNExtGpUjK9zFH9aTpWeoTXMyLo4b4IcuXfPqtLPPxhRm/QlPb8QqIcMMXnSiGRHSFpQfX0m7HJw==} 6138 6302 6139 6303 extend-shallow@2.0.1: 6140 6304 resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} ··· 6165 6329 resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 6166 6330 engines: {node: '>=8.6.0'} 6167 6331 6168 - fast-glob@3.3.3: 6169 - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 6170 - engines: {node: '>=8.6.0'} 6171 - 6172 6332 fast-json-stable-stringify@2.1.0: 6173 6333 resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 6174 6334 ··· 6269 6429 forwarded-parse@2.1.2: 6270 6430 resolution: {integrity: sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==} 6271 6431 6272 - fraction.js@4.3.7: 6273 - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} 6274 - 6275 6432 fs-constants@1.0.0: 6276 6433 resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 6277 6434 ··· 6347 6504 resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 6348 6505 engines: {node: '>= 6'} 6349 6506 6350 - glob-parent@6.0.2: 6351 - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 6352 - engines: {node: '>=10.13.0'} 6353 - 6354 6507 glob-to-regexp@0.4.1: 6355 6508 resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 6356 6509 ··· 6506 6659 6507 6660 hast-util-to-html@9.0.3: 6508 6661 resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} 6509 - 6510 - hast-util-to-html@9.0.4: 6511 - resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} 6512 6662 6513 6663 hast-util-to-html@9.0.5: 6514 6664 resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} ··· 6802 6952 resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} 6803 6953 hasBin: true 6804 6954 6805 - jiti@1.21.7: 6806 - resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} 6955 + jiti@2.4.2: 6956 + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} 6807 6957 hasBin: true 6808 6958 6809 6959 jose@5.2.4: ··· 6927 7077 6928 7078 libsql@0.4.5: 6929 7079 resolution: {integrity: sha512-sorTJV6PNt94Wap27Sai5gtVLIea4Otb2LUiAUyr3p6BPOScGMKGt5F1b5X/XgkNtcsDKeX5qfeBDj+PdShclQ==} 6930 - cpu: [x64, arm64, wasm32] 6931 7080 os: [darwin, linux, win32] 6932 7081 7082 + lightningcss-darwin-arm64@1.30.1: 7083 + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} 7084 + engines: {node: '>= 12.0.0'} 7085 + cpu: [arm64] 7086 + os: [darwin] 7087 + 7088 + lightningcss-darwin-x64@1.30.1: 7089 + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} 7090 + engines: {node: '>= 12.0.0'} 7091 + cpu: [x64] 7092 + os: [darwin] 7093 + 7094 + lightningcss-freebsd-x64@1.30.1: 7095 + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} 7096 + engines: {node: '>= 12.0.0'} 7097 + cpu: [x64] 7098 + os: [freebsd] 7099 + 7100 + lightningcss-linux-arm-gnueabihf@1.30.1: 7101 + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} 7102 + engines: {node: '>= 12.0.0'} 7103 + cpu: [arm] 7104 + os: [linux] 7105 + 7106 + lightningcss-linux-arm64-gnu@1.30.1: 7107 + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} 7108 + engines: {node: '>= 12.0.0'} 7109 + cpu: [arm64] 7110 + os: [linux] 7111 + 7112 + lightningcss-linux-arm64-musl@1.30.1: 7113 + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} 7114 + engines: {node: '>= 12.0.0'} 7115 + cpu: [arm64] 7116 + os: [linux] 7117 + 7118 + lightningcss-linux-x64-gnu@1.30.1: 7119 + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} 7120 + engines: {node: '>= 12.0.0'} 7121 + cpu: [x64] 7122 + os: [linux] 7123 + 7124 + lightningcss-linux-x64-musl@1.30.1: 7125 + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} 7126 + engines: {node: '>= 12.0.0'} 7127 + cpu: [x64] 7128 + os: [linux] 7129 + 7130 + lightningcss-win32-arm64-msvc@1.30.1: 7131 + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} 7132 + engines: {node: '>= 12.0.0'} 7133 + cpu: [arm64] 7134 + os: [win32] 7135 + 7136 + lightningcss-win32-x64-msvc@1.30.1: 7137 + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} 7138 + engines: {node: '>= 12.0.0'} 7139 + cpu: [x64] 7140 + os: [win32] 7141 + 7142 + lightningcss@1.30.1: 7143 + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} 7144 + engines: {node: '>= 12.0.0'} 7145 + 6933 7146 lilconfig@2.1.0: 6934 7147 resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 6935 7148 engines: {node: '>=10'} 6936 - 6937 - lilconfig@3.1.3: 6938 - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 6939 - engines: {node: '>=14'} 6940 7149 6941 7150 limiter@3.0.0: 6942 7151 resolution: {integrity: sha512-hev7DuXojsTFl2YwyzUJMDnZ/qBDd3yZQLSH3aD4tdL1cqfc3TMnoecEJtWFaQFdErZsKoFMBTxF/FBSkgDbEg==} ··· 7381 7590 resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 7382 7591 engines: {node: '>=16 || 14 >=14.17'} 7383 7592 7593 + minizlib@3.0.2: 7594 + resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} 7595 + engines: {node: '>= 18'} 7596 + 7384 7597 mitt@3.0.1: 7385 7598 resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} 7386 7599 ··· 7391 7604 resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} 7392 7605 hasBin: true 7393 7606 7607 + mkdirp@3.0.1: 7608 + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} 7609 + engines: {node: '>=10'} 7610 + hasBin: true 7611 + 7394 7612 mlly@1.7.3: 7395 7613 resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} 7396 7614 ··· 7551 7769 node-domexception@1.0.0: 7552 7770 resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 7553 7771 engines: {node: '>=10.5.0'} 7554 - deprecated: Use your platform's native DOMException instead 7555 7772 7556 7773 node-fetch-native@1.6.6: 7557 7774 resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} ··· 7584 7801 resolution: {integrity: sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==} 7585 7802 engines: {node: '>=8.9.4'} 7586 7803 7587 - node-releases@2.0.14: 7588 - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 7589 - 7590 7804 node-releases@2.0.18: 7591 7805 resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} 7592 7806 ··· 7600 7814 7601 7815 normalize-path@3.0.0: 7602 7816 resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 7603 - engines: {node: '>=0.10.0'} 7604 - 7605 - normalize-range@0.1.2: 7606 - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 7607 7817 engines: {node: '>=0.10.0'} 7608 7818 7609 7819 npm-run-path@4.0.1: ··· 7671 7881 resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 7672 7882 engines: {node: '>=6'} 7673 7883 7884 + oniguruma-parser@0.12.1: 7885 + resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} 7886 + 7674 7887 oniguruma-parser@0.5.4: 7675 7888 resolution: {integrity: sha512-yNxcQ8sKvURiTwP0mV6bLQCYE7NKfKRRWunhbZnXgxSmB1OXa1lHrN3o4DZd+0Si0kU5blidK7BcROO8qv5TZA==} 7676 7889 7677 - oniguruma-to-es@2.3.0: 7678 - resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} 7679 - 7680 7890 oniguruma-to-es@4.1.0: 7681 7891 resolution: {integrity: sha512-SNwG909cSLo4vPyyPbU/VJkEc9WOXqu2ycBlfd1UCXLqk1IijcQktSBb2yRQ2UFPsDhpkaf+C1dtT3PkLK/yWA==} 7892 + 7893 + oniguruma-to-es@4.3.3: 7894 + resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==} 7682 7895 7683 7896 openapi3-ts@4.1.2: 7684 7897 resolution: {integrity: sha512-B7gOkwsYMZO7BZXwJzXCuVagym2xhqsrilVvV0dnq2Di4+iLUXKVX9gOK23ZqaAHZOwABXN0QTdW8QnkUTX6DA==} ··· 7850 8063 resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 7851 8064 engines: {node: '>=12'} 7852 8065 7853 - pify@2.3.0: 7854 - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 7855 - engines: {node: '>=0.10.0'} 7856 - 7857 8066 pirates@4.0.6: 7858 8067 resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 7859 8068 engines: {node: '>= 6'} ··· 7875 8084 resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 7876 8085 engines: {node: '>=4'} 7877 8086 7878 - postcss-import@15.1.0: 7879 - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 7880 - engines: {node: '>=14.0.0'} 7881 - peerDependencies: 7882 - postcss: ^8.0.0 7883 - 7884 - postcss-js@4.0.1: 7885 - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 7886 - engines: {node: ^12 || ^14 || >= 16} 7887 - peerDependencies: 7888 - postcss: ^8.4.21 7889 - 7890 8087 postcss-load-config@4.0.1: 7891 8088 resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} 7892 8089 engines: {node: '>= 14'} ··· 7899 8096 ts-node: 7900 8097 optional: true 7901 8098 7902 - postcss-load-config@4.0.2: 7903 - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 7904 - engines: {node: '>= 14'} 7905 - peerDependencies: 7906 - postcss: '>=8.0.9' 7907 - ts-node: '>=9.0.0' 7908 - peerDependenciesMeta: 7909 - postcss: 7910 - optional: true 7911 - ts-node: 7912 - optional: true 7913 - 7914 8099 postcss-nested@6.2.0: 7915 8100 resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 7916 8101 engines: {node: '>=12.0'} ··· 7925 8110 resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 7926 8111 engines: {node: '>=4'} 7927 8112 7928 - postcss-value-parser@4.2.0: 7929 - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 7930 - 7931 8113 postcss@8.4.31: 7932 8114 resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 7933 8115 engines: {node: ^10 || ^12 || >=14} 7934 8116 7935 8117 postcss@8.4.38: 7936 8118 resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} 7937 - engines: {node: ^10 || ^12 || >=14} 7938 - 7939 - postcss@8.5.2: 7940 - resolution: {integrity: sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==} 7941 8119 engines: {node: ^10 || ^12 || >=14} 7942 8120 7943 8121 postcss@8.5.3: ··· 8189 8367 resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} 8190 8368 engines: {node: '>=0.10.0'} 8191 8369 8192 - read-cache@1.0.0: 8193 - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 8194 - 8195 8370 readable-stream@3.6.2: 8196 8371 resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 8197 8372 engines: {node: '>= 6'} ··· 8232 8407 regenerator-runtime@0.14.1: 8233 8408 resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 8234 8409 8235 - regex-recursion@5.1.1: 8236 - resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} 8237 - 8238 8410 regex-recursion@6.0.2: 8239 8411 resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} 8240 8412 8241 8413 regex-utilities@2.3.0: 8242 8414 resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} 8243 8415 8244 - regex@5.1.1: 8245 - resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} 8246 - 8247 8416 regex@6.0.1: 8248 8417 resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} 8249 8418 ··· 8257 8426 rehype-autolink-headings@7.1.0: 8258 8427 resolution: {integrity: sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==} 8259 8428 8260 - rehype-expressive-code@0.40.2: 8261 - resolution: {integrity: sha512-+kn+AMGCrGzvtH8Q5lC6Y5lnmTV/r33fdmi5QU/IH1KPHKobKr5UnLwJuqHv5jBTSN/0v2wLDS7RTM73FVzqmQ==} 8429 + rehype-expressive-code@0.41.2: 8430 + resolution: {integrity: sha512-vHYfWO9WxAw6kHHctddOt+P4266BtyT1mrOIuxJD+1ELuvuJAa5uBIhYt0OVMyOhlvf57hzWOXJkHnMhpaHyxw==} 8262 8431 8263 8432 rehype-format@5.0.0: 8264 8433 resolution: {integrity: sha512-kM4II8krCHmUhxrlvzFSptvaWh280Fr7UGNJU5DCMuvmAwGCNmGfi9CvFAQK6JDjsNoRMWQStglK3zKJH685Wg==} ··· 8322 8491 remark-rehype@11.1.1: 8323 8492 resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} 8324 8493 8494 + remark-rehype@11.1.2: 8495 + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} 8496 + 8325 8497 remark-smartypants@3.0.2: 8326 8498 resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} 8327 8499 engines: {node: '>=16.0.0'} ··· 8513 8685 shiki@0.14.4: 8514 8686 resolution: {integrity: sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ==} 8515 8687 8516 - shiki@1.29.2: 8517 - resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==} 8518 - 8519 8688 shiki@3.2.1: 8520 8689 resolution: {integrity: sha512-VML/2o1/KGYkEf/stJJ+s9Ypn7jUKQPomGLGYso4JJFMFxVDyPNsjsI3MB3KLjlMOeH44gyaPdXC6rik2WXvUQ==} 8690 + 8691 + shiki@3.6.0: 8692 + resolution: {integrity: sha512-tKn/Y0MGBTffQoklaATXmTqDU02zx8NYBGQ+F6gy87/YjKbizcLd+Cybh/0ZtOBX9r1NEnAy/GTRDKtOsc1L9w==} 8521 8693 8522 8694 shimmer@1.2.1: 8523 8695 resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} ··· 8732 8904 sucrase@3.34.0: 8733 8905 resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} 8734 8906 engines: {node: '>=8'} 8735 - hasBin: true 8736 - 8737 - sucrase@3.35.0: 8738 - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 8739 - engines: {node: '>=16 || 14 >=14.17'} 8740 8907 hasBin: true 8741 8908 8742 8909 summary@2.1.0: ··· 8781 8948 peerDependencies: 8782 8949 tailwindcss: '>=3.0.0 || insiders' 8783 8950 8784 - tailwindcss@3.4.17: 8785 - resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} 8786 - engines: {node: '>=14.0.0'} 8787 - hasBin: true 8788 - 8789 - tailwindcss@3.4.3: 8790 - resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} 8791 - engines: {node: '>=14.0.0'} 8792 - hasBin: true 8951 + tailwindcss@4.1.8: 8952 + resolution: {integrity: sha512-kjeW8gjdxasbmFKpVGrGd5T4i40mV5J2Rasw48QARfYeQ8YS9x02ON9SFWax3Qf616rt4Cp3nVNIj6Hd1mP3og==} 8793 8953 8794 8954 tapable@2.2.1: 8795 8955 resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} ··· 8802 8962 resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 8803 8963 engines: {node: '>=6'} 8804 8964 8965 + tar@7.4.3: 8966 + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} 8967 + engines: {node: '>=18'} 8968 + 8805 8969 teeny-request@9.0.0: 8806 8970 resolution: {integrity: sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g==} 8807 8971 engines: {node: '>=14'} ··· 9221 9385 uploadthing: 9222 9386 optional: true 9223 9387 9224 - update-browserslist-db@1.0.13: 9225 - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} 9388 + update-browserslist-db@1.1.1: 9389 + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} 9226 9390 hasBin: true 9227 9391 peerDependencies: 9228 9392 browserslist: '>= 4.21.0' 9229 9393 9230 - update-browserslist-db@1.1.1: 9231 - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} 9394 + update-browserslist-db@1.1.3: 9395 + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} 9232 9396 hasBin: true 9233 9397 peerDependencies: 9234 9398 browserslist: '>= 4.21.0' ··· 9615 9779 yallist@4.0.0: 9616 9780 resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 9617 9781 9782 + yallist@5.0.0: 9783 + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} 9784 + engines: {node: '>=18'} 9785 + 9618 9786 yaml-language-server@1.15.0: 9619 9787 resolution: {integrity: sha512-N47AqBDCMQmh6mBLmI6oqxryHRzi33aPFPsJhYy3VTUGCdLHYjGh4FZzpUjRlphaADBBkDmnkM/++KNIOHi5Rw==} 9620 9788 hasBin: true ··· 9698 9866 9699 9867 '@ampproject/remapping@2.3.0': 9700 9868 dependencies: 9701 - '@jridgewell/gen-mapping': 0.3.5 9869 + '@jridgewell/gen-mapping': 0.3.8 9702 9870 '@jridgewell/trace-mapping': 0.3.25 9703 9871 9704 9872 '@antfu/install-pkg@1.0.0': ··· 9713 9881 openapi3-ts: 4.1.2 9714 9882 zod: 3.23.8 9715 9883 9716 - '@astro-community/astro-embed-twitter@0.5.8(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))': 9884 + '@astro-community/astro-embed-twitter@0.5.8(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))': 9717 9885 dependencies: 9718 9886 '@astro-community/astro-embed-utils': 0.1.3 9719 - astro: 5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 9887 + astro: 5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 9720 9888 9721 9889 '@astro-community/astro-embed-utils@0.1.3': 9722 9890 dependencies: 9723 9891 linkedom: 0.14.26 9724 9892 9725 - '@astro-community/astro-embed-youtube@0.5.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))': 9893 + '@astro-community/astro-embed-youtube@0.5.6(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))': 9726 9894 dependencies: 9727 - astro: 5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 9895 + astro: 5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 9728 9896 lite-youtube-embed: 0.3.3 9729 9897 9730 9898 '@astrojs/check@0.9.4(prettier@3.5.3)(typescript@5.6.2)': ··· 9769 9937 transitivePeerDependencies: 9770 9938 - typescript 9771 9939 9772 - '@astrojs/markdown-remark@6.1.0': 9940 + '@astrojs/markdown-remark@6.3.1': 9773 9941 dependencies: 9942 + '@astrojs/internal-helpers': 0.6.1 9774 9943 '@astrojs/prism': 3.2.0 9775 9944 github-slugger: 2.0.0 9776 9945 hast-util-from-html: 2.0.3 ··· 9784 9953 remark-parse: 11.0.0 9785 9954 remark-rehype: 11.1.1 9786 9955 remark-smartypants: 3.0.2 9787 - shiki: 1.29.2 9956 + shiki: 3.2.1 9788 9957 smol-toml: 1.3.1 9789 9958 unified: 11.0.5 9790 9959 unist-util-remove-position: 5.0.0 ··· 9794 9963 transitivePeerDependencies: 9795 9964 - supports-color 9796 9965 9797 - '@astrojs/markdown-remark@6.3.1': 9966 + '@astrojs/markdown-remark@6.3.2': 9798 9967 dependencies: 9799 9968 '@astrojs/internal-helpers': 0.6.1 9800 - '@astrojs/prism': 3.2.0 9969 + '@astrojs/prism': 3.3.0 9801 9970 github-slugger: 2.0.0 9802 9971 hast-util-from-html: 2.0.3 9803 9972 hast-util-to-text: 4.0.2 ··· 9808 9977 rehype-stringify: 10.0.1 9809 9978 remark-gfm: 4.0.1 9810 9979 remark-parse: 11.0.0 9811 - remark-rehype: 11.1.1 9980 + remark-rehype: 11.1.2 9812 9981 remark-smartypants: 3.0.2 9813 9982 shiki: 3.2.1 9814 9983 smol-toml: 1.3.1 ··· 9820 9989 transitivePeerDependencies: 9821 9990 - supports-color 9822 9991 9823 - '@astrojs/mdx@4.0.8(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))': 9992 + '@astrojs/mdx@4.3.0(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))': 9824 9993 dependencies: 9825 - '@astrojs/markdown-remark': 6.1.0 9826 - '@mdx-js/mdx': 3.1.0(acorn@8.14.0) 9827 - acorn: 8.14.0 9828 - astro: 5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 9994 + '@astrojs/markdown-remark': 6.3.2 9995 + '@mdx-js/mdx': 3.1.0(acorn@8.14.1) 9996 + acorn: 8.14.1 9997 + astro: 5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 9829 9998 es-module-lexer: 1.6.0 9830 9999 estree-util-visit: 2.0.0 9831 - hast-util-to-html: 9.0.4 10000 + hast-util-to-html: 9.0.5 9832 10001 kleur: 4.1.5 9833 10002 rehype-raw: 7.0.0 9834 10003 remark-gfm: 4.0.1 ··· 9843 10012 dependencies: 9844 10013 prismjs: 1.29.0 9845 10014 9846 - '@astrojs/react@4.2.3(@types/node@22.10.2)(@types/react-dom@19.1.1(@types/react@19.1.0))(@types/react@19.1.0)(jiti@1.21.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(terser@5.37.0)(yaml@2.6.1)': 10015 + '@astrojs/prism@3.3.0': 10016 + dependencies: 10017 + prismjs: 1.30.0 10018 + 10019 + '@astrojs/react@4.2.3(@types/node@22.10.2)(@types/react-dom@19.1.1(@types/react@19.1.0))(@types/react@19.1.0)(jiti@2.4.2)(lightningcss@1.30.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(terser@5.37.0)(yaml@2.6.1)': 9847 10020 dependencies: 9848 10021 '@types/react': 19.1.0 9849 10022 '@types/react-dom': 19.1.1(@types/react@19.1.0) 9850 - '@vitejs/plugin-react': 4.3.4(vite@6.2.5(@types/node@22.10.2)(jiti@1.21.7)(terser@5.37.0)(yaml@2.6.1)) 10023 + '@vitejs/plugin-react': 4.3.4(vite@6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1)) 9851 10024 react: 19.1.0 9852 10025 react-dom: 19.1.0(react@19.1.0) 9853 10026 ultrahtml: 1.5.3 9854 - vite: 6.2.5(@types/node@22.10.2)(jiti@1.21.7)(terser@5.37.0)(yaml@2.6.1) 10027 + vite: 6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1) 9855 10028 transitivePeerDependencies: 9856 10029 - '@types/node' 9857 10030 - jiti ··· 9872 10045 stream-replace-string: 2.0.0 9873 10046 zod: 3.24.1 9874 10047 9875 - '@astrojs/starlight-tailwind@3.0.1(@astrojs/starlight@0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)))(@astrojs/tailwind@6.0.0(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)))(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)))': 10048 + '@astrojs/sitemap@3.4.1': 9876 10049 dependencies: 9877 - '@astrojs/starlight': 0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 9878 - '@astrojs/tailwind': 6.0.0(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)))(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)) 9879 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)) 10050 + sitemap: 8.0.0 10051 + stream-replace-string: 2.0.0 10052 + zod: 3.24.2 9880 10053 9881 - '@astrojs/starlight@0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))': 10054 + '@astrojs/starlight-tailwind@4.0.1(@astrojs/starlight@0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)))(tailwindcss@4.1.8)': 9882 10055 dependencies: 9883 - '@astrojs/mdx': 4.0.8(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 9884 - '@astrojs/sitemap': 3.2.1 10056 + '@astrojs/starlight': 0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 10057 + tailwindcss: 4.1.8 10058 + 10059 + '@astrojs/starlight@0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))': 10060 + dependencies: 10061 + '@astrojs/markdown-remark': 6.3.1 10062 + '@astrojs/mdx': 4.3.0(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 10063 + '@astrojs/sitemap': 3.4.1 9885 10064 '@pagefind/default-ui': 1.3.0 9886 10065 '@types/hast': 3.0.4 9887 10066 '@types/js-yaml': 4.0.9 9888 10067 '@types/mdast': 4.0.4 9889 - astro: 5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 9890 - astro-expressive-code: 0.40.2(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 10068 + astro: 5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 10069 + astro-expressive-code: 0.41.2(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 9891 10070 bcp-47: 2.1.0 9892 10071 hast-util-from-html: 2.0.3 9893 10072 hast-util-select: 6.0.3 ··· 9903 10082 rehype: 13.0.2 9904 10083 rehype-format: 5.0.0 9905 10084 remark-directive: 3.0.0 10085 + ultrahtml: 1.6.0 9906 10086 unified: 11.0.5 9907 10087 unist-util-visit: 5.0.0 9908 10088 vfile: 6.0.3 9909 10089 transitivePeerDependencies: 9910 10090 - supports-color 9911 - 9912 - '@astrojs/tailwind@6.0.0(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)))(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2))': 9913 - dependencies: 9914 - astro: 5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 9915 - autoprefixer: 10.4.20(postcss@8.5.2) 9916 - postcss: 8.5.2 9917 - postcss-load-config: 4.0.2(postcss@8.5.2)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)) 9918 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)) 9919 - transitivePeerDependencies: 9920 - - ts-node 9921 10091 9922 10092 '@astrojs/telemetry@3.2.0': 9923 10093 dependencies: ··· 10508 10678 dependencies: 10509 10679 '@babel/parser': 7.26.3 10510 10680 '@babel/types': 7.26.3 10511 - '@jridgewell/gen-mapping': 0.3.5 10681 + '@jridgewell/gen-mapping': 0.3.8 10512 10682 '@jridgewell/trace-mapping': 0.3.25 10513 10683 jsesc: 3.0.2 10514 10684 ··· 11189 11359 '@esbuild/win32-x64@0.25.2': 11190 11360 optional: true 11191 11361 11192 - '@expressive-code/core@0.40.2': 11362 + '@expressive-code/core@0.41.2': 11193 11363 dependencies: 11194 11364 '@ctrl/tinycolor': 4.1.0 11195 11365 hast-util-select: 6.0.3 11196 - hast-util-to-html: 9.0.4 11366 + hast-util-to-html: 9.0.5 11197 11367 hast-util-to-text: 4.0.2 11198 11368 hastscript: 9.0.0 11199 11369 postcss: 8.4.38 ··· 11201 11371 unist-util-visit: 5.0.0 11202 11372 unist-util-visit-parents: 6.0.1 11203 11373 11204 - '@expressive-code/plugin-frames@0.40.2': 11374 + '@expressive-code/plugin-frames@0.41.2': 11205 11375 dependencies: 11206 - '@expressive-code/core': 0.40.2 11376 + '@expressive-code/core': 0.41.2 11207 11377 11208 - '@expressive-code/plugin-shiki@0.40.2': 11378 + '@expressive-code/plugin-shiki@0.41.2': 11209 11379 dependencies: 11210 - '@expressive-code/core': 0.40.2 11211 - shiki: 1.29.2 11380 + '@expressive-code/core': 0.41.2 11381 + shiki: 3.6.0 11212 11382 11213 - '@expressive-code/plugin-text-markers@0.40.2': 11383 + '@expressive-code/plugin-text-markers@0.41.2': 11214 11384 dependencies: 11215 - '@expressive-code/core': 0.40.2 11385 + '@expressive-code/core': 0.41.2 11216 11386 11217 11387 '@fal-works/esbuild-plugin-global-externals@2.1.2': {} 11218 11388 ··· 11383 11553 wrap-ansi: 8.1.0 11384 11554 wrap-ansi-cjs: wrap-ansi@7.0.0 11385 11555 11556 + '@isaacs/fs-minipass@4.0.1': 11557 + dependencies: 11558 + minipass: 7.1.2 11559 + 11386 11560 '@jridgewell/gen-mapping@0.3.5': 11387 11561 dependencies: 11388 11562 '@jridgewell/set-array': 1.2.1 11389 - '@jridgewell/sourcemap-codec': 1.4.15 11563 + '@jridgewell/sourcemap-codec': 1.5.0 11390 11564 '@jridgewell/trace-mapping': 0.3.25 11391 11565 11392 11566 '@jridgewell/gen-mapping@0.3.8': ··· 11434 11608 - bufferutil 11435 11609 - utf-8-validate 11436 11610 11611 + '@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.5)': 11612 + dependencies: 11613 + '@libsql/core': 0.14.0 11614 + '@libsql/hrana-client': 0.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.5) 11615 + js-base64: 3.7.5 11616 + libsql: 0.4.5 11617 + promise-limit: 2.7.0 11618 + transitivePeerDependencies: 11619 + - bufferutil 11620 + - utf-8-validate 11621 + 11437 11622 '@libsql/core@0.14.0': 11438 11623 dependencies: 11439 11624 js-base64: 3.7.5 ··· 11454 11639 - bufferutil 11455 11640 - utf-8-validate 11456 11641 11642 + '@libsql/hrana-client@0.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.5)': 11643 + dependencies: 11644 + '@libsql/isomorphic-fetch': 0.3.1 11645 + '@libsql/isomorphic-ws': 0.1.5(bufferutil@4.0.8)(utf-8-validate@6.0.5) 11646 + js-base64: 3.7.5 11647 + node-fetch: 3.3.2 11648 + transitivePeerDependencies: 11649 + - bufferutil 11650 + - utf-8-validate 11651 + 11457 11652 '@libsql/isomorphic-fetch@0.3.1': {} 11458 11653 11459 11654 '@libsql/isomorphic-ws@0.1.5(bufferutil@4.0.8)(utf-8-validate@6.0.3)': ··· 11464 11659 - bufferutil 11465 11660 - utf-8-validate 11466 11661 11662 + '@libsql/isomorphic-ws@0.1.5(bufferutil@4.0.8)(utf-8-validate@6.0.5)': 11663 + dependencies: 11664 + '@types/ws': 8.5.13 11665 + ws: 8.17.0(bufferutil@4.0.8)(utf-8-validate@6.0.5) 11666 + transitivePeerDependencies: 11667 + - bufferutil 11668 + - utf-8-validate 11669 + 11467 11670 '@libsql/linux-arm64-gnu@0.4.5': 11468 11671 optional: true 11469 11672 ··· 11525 11728 - acorn 11526 11729 - supports-color 11527 11730 11731 + '@mdx-js/mdx@3.1.0(acorn@8.14.1)': 11732 + dependencies: 11733 + '@types/estree': 1.0.6 11734 + '@types/estree-jsx': 1.0.2 11735 + '@types/hast': 3.0.4 11736 + '@types/mdx': 2.0.9 11737 + collapse-white-space: 2.1.0 11738 + devlop: 1.1.0 11739 + estree-util-is-identifier-name: 3.0.0 11740 + estree-util-scope: 1.0.0 11741 + estree-walker: 3.0.3 11742 + hast-util-to-jsx-runtime: 2.3.2 11743 + markdown-extensions: 2.0.0 11744 + recma-build-jsx: 1.0.0 11745 + recma-jsx: 1.0.0(acorn@8.14.1) 11746 + recma-stringify: 1.0.0 11747 + rehype-recma: 1.0.0 11748 + remark-mdx: 3.1.0 11749 + remark-parse: 11.0.0 11750 + remark-rehype: 11.1.1 11751 + source-map: 0.7.4 11752 + unified: 11.0.5 11753 + unist-util-position-from-estree: 2.0.0 11754 + unist-util-stringify-position: 4.0.0 11755 + unist-util-visit: 5.0.0 11756 + vfile: 6.0.3 11757 + transitivePeerDependencies: 11758 + - acorn 11759 + - supports-color 11760 + 11528 11761 '@neon-rs/load@0.0.4': {} 11529 11762 11530 11763 '@next/env@15.2.4': {} ··· 11579 11812 11580 11813 '@one-ini/wasm@0.1.1': {} 11581 11814 11582 - '@openpanel/astro@1.0.1(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))': 11815 + '@openpanel/astro@1.0.1(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))': 11583 11816 dependencies: 11584 11817 '@openpanel/web': 1.0.1 11585 - astro: 5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 11818 + astro: 5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 11586 11819 11587 11820 '@openpanel/nextjs@1.0.8(next@15.2.4(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': 11588 11821 dependencies: ··· 11903 12136 '@parcel/watcher-android-arm64@2.4.1': 11904 12137 optional: true 11905 12138 12139 + '@parcel/watcher-android-arm64@2.5.1': 12140 + optional: true 12141 + 11906 12142 '@parcel/watcher-darwin-arm64@2.4.1': 11907 12143 optional: true 11908 12144 12145 + '@parcel/watcher-darwin-arm64@2.5.1': 12146 + optional: true 12147 + 11909 12148 '@parcel/watcher-darwin-x64@2.4.1': 11910 12149 optional: true 11911 12150 12151 + '@parcel/watcher-darwin-x64@2.5.1': 12152 + optional: true 12153 + 11912 12154 '@parcel/watcher-freebsd-x64@2.4.1': 12155 + optional: true 12156 + 12157 + '@parcel/watcher-freebsd-x64@2.5.1': 11913 12158 optional: true 11914 12159 11915 12160 '@parcel/watcher-linux-arm-glibc@2.4.1': 11916 12161 optional: true 11917 12162 12163 + '@parcel/watcher-linux-arm-glibc@2.5.1': 12164 + optional: true 12165 + 12166 + '@parcel/watcher-linux-arm-musl@2.5.1': 12167 + optional: true 12168 + 11918 12169 '@parcel/watcher-linux-arm64-glibc@2.4.1': 11919 12170 optional: true 11920 12171 12172 + '@parcel/watcher-linux-arm64-glibc@2.5.1': 12173 + optional: true 12174 + 11921 12175 '@parcel/watcher-linux-arm64-musl@2.4.1': 11922 12176 optional: true 11923 12177 12178 + '@parcel/watcher-linux-arm64-musl@2.5.1': 12179 + optional: true 12180 + 11924 12181 '@parcel/watcher-linux-x64-glibc@2.4.1': 12182 + optional: true 12183 + 12184 + '@parcel/watcher-linux-x64-glibc@2.5.1': 11925 12185 optional: true 11926 12186 11927 12187 '@parcel/watcher-linux-x64-musl@2.4.1': 12188 + optional: true 12189 + 12190 + '@parcel/watcher-linux-x64-musl@2.5.1': 11928 12191 optional: true 11929 12192 11930 12193 '@parcel/watcher-win32-arm64@2.4.1': 11931 12194 optional: true 11932 12195 12196 + '@parcel/watcher-win32-arm64@2.5.1': 12197 + optional: true 12198 + 11933 12199 '@parcel/watcher-win32-ia32@2.4.1': 11934 12200 optional: true 11935 12201 12202 + '@parcel/watcher-win32-ia32@2.5.1': 12203 + optional: true 12204 + 11936 12205 '@parcel/watcher-win32-x64@2.4.1': 12206 + optional: true 12207 + 12208 + '@parcel/watcher-win32-x64@2.5.1': 11937 12209 optional: true 11938 12210 11939 12211 '@parcel/watcher@2.4.1': ··· 11955 12227 '@parcel/watcher-win32-arm64': 2.4.1 11956 12228 '@parcel/watcher-win32-ia32': 2.4.1 11957 12229 '@parcel/watcher-win32-x64': 2.4.1 12230 + 12231 + '@parcel/watcher@2.5.1': 12232 + dependencies: 12233 + detect-libc: 1.0.3 12234 + is-glob: 4.0.3 12235 + micromatch: 4.0.8 12236 + node-addon-api: 7.1.1 12237 + optionalDependencies: 12238 + '@parcel/watcher-android-arm64': 2.5.1 12239 + '@parcel/watcher-darwin-arm64': 2.5.1 12240 + '@parcel/watcher-darwin-x64': 2.5.1 12241 + '@parcel/watcher-freebsd-x64': 2.5.1 12242 + '@parcel/watcher-linux-arm-glibc': 2.5.1 12243 + '@parcel/watcher-linux-arm-musl': 2.5.1 12244 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 12245 + '@parcel/watcher-linux-arm64-musl': 2.5.1 12246 + '@parcel/watcher-linux-x64-glibc': 2.5.1 12247 + '@parcel/watcher-linux-x64-musl': 2.5.1 12248 + '@parcel/watcher-win32-arm64': 2.5.1 12249 + '@parcel/watcher-win32-ia32': 2.5.1 12250 + '@parcel/watcher-win32-x64': 2.5.1 11958 12251 11959 12252 '@pkgjs/parseargs@0.11.0': 11960 12253 optional: true ··· 12991 13284 - encoding 12992 13285 - supports-color 12993 13286 12994 - '@shikijs/core@1.29.2': 12995 - dependencies: 12996 - '@shikijs/engine-javascript': 1.29.2 12997 - '@shikijs/engine-oniguruma': 1.29.2 12998 - '@shikijs/types': 1.29.2 12999 - '@shikijs/vscode-textmate': 10.0.2 13000 - '@types/hast': 3.0.4 13001 - hast-util-to-html: 9.0.4 13002 - 13003 13287 '@shikijs/core@3.2.1': 13004 13288 dependencies: 13005 13289 '@shikijs/types': 3.2.1 ··· 13007 13291 '@types/hast': 3.0.4 13008 13292 hast-util-to-html: 9.0.5 13009 13293 13010 - '@shikijs/engine-javascript@1.29.2': 13294 + '@shikijs/core@3.6.0': 13011 13295 dependencies: 13012 - '@shikijs/types': 1.29.2 13296 + '@shikijs/types': 3.6.0 13013 13297 '@shikijs/vscode-textmate': 10.0.2 13014 - oniguruma-to-es: 2.3.0 13298 + '@types/hast': 3.0.4 13299 + hast-util-to-html: 9.0.5 13015 13300 13016 13301 '@shikijs/engine-javascript@3.2.1': 13017 13302 dependencies: ··· 13019 13304 '@shikijs/vscode-textmate': 10.0.2 13020 13305 oniguruma-to-es: 4.1.0 13021 13306 13022 - '@shikijs/engine-oniguruma@1.29.2': 13307 + '@shikijs/engine-javascript@3.6.0': 13023 13308 dependencies: 13024 - '@shikijs/types': 1.29.2 13309 + '@shikijs/types': 3.6.0 13025 13310 '@shikijs/vscode-textmate': 10.0.2 13311 + oniguruma-to-es: 4.3.3 13026 13312 13027 13313 '@shikijs/engine-oniguruma@3.2.1': 13028 13314 dependencies: 13029 13315 '@shikijs/types': 3.2.1 13030 13316 '@shikijs/vscode-textmate': 10.0.2 13031 13317 13032 - '@shikijs/langs@1.29.2': 13318 + '@shikijs/engine-oniguruma@3.6.0': 13033 13319 dependencies: 13034 - '@shikijs/types': 1.29.2 13320 + '@shikijs/types': 3.6.0 13321 + '@shikijs/vscode-textmate': 10.0.2 13035 13322 13036 13323 '@shikijs/langs@3.2.1': 13037 13324 dependencies: 13038 13325 '@shikijs/types': 3.2.1 13039 13326 13040 - '@shikijs/themes@1.29.2': 13327 + '@shikijs/langs@3.6.0': 13041 13328 dependencies: 13042 - '@shikijs/types': 1.29.2 13329 + '@shikijs/types': 3.6.0 13043 13330 13044 13331 '@shikijs/themes@3.2.1': 13045 13332 dependencies: 13046 13333 '@shikijs/types': 3.2.1 13047 13334 13048 - '@shikijs/types@1.29.2': 13335 + '@shikijs/themes@3.6.0': 13336 + dependencies: 13337 + '@shikijs/types': 3.6.0 13338 + 13339 + '@shikijs/types@3.2.1': 13049 13340 dependencies: 13050 13341 '@shikijs/vscode-textmate': 10.0.2 13051 13342 '@types/hast': 3.0.4 13052 13343 13053 - '@shikijs/types@3.2.1': 13344 + '@shikijs/types@3.6.0': 13054 13345 dependencies: 13055 13346 '@shikijs/vscode-textmate': 10.0.2 13056 13347 '@types/hast': 3.0.4 ··· 13418 13709 optionalDependencies: 13419 13710 typescript: 5.6.2 13420 13711 13421 - '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2)))': 13712 + '@tailwindcss/cli@4.1.8': 13713 + dependencies: 13714 + '@parcel/watcher': 2.5.1 13715 + '@tailwindcss/node': 4.1.8 13716 + '@tailwindcss/oxide': 4.1.8 13717 + enhanced-resolve: 5.18.1 13718 + mri: 1.2.0 13719 + picocolors: 1.1.1 13720 + tailwindcss: 4.1.8 13721 + 13722 + '@tailwindcss/container-queries@0.1.1(tailwindcss@4.1.8)': 13723 + dependencies: 13724 + tailwindcss: 4.1.8 13725 + 13726 + '@tailwindcss/node@4.1.8': 13727 + dependencies: 13728 + '@ampproject/remapping': 2.3.0 13729 + enhanced-resolve: 5.18.1 13730 + jiti: 2.4.2 13731 + lightningcss: 1.30.1 13732 + magic-string: 0.30.17 13733 + source-map-js: 1.2.1 13734 + tailwindcss: 4.1.8 13735 + 13736 + '@tailwindcss/oxide-android-arm64@4.1.8': 13737 + optional: true 13738 + 13739 + '@tailwindcss/oxide-darwin-arm64@4.1.8': 13740 + optional: true 13741 + 13742 + '@tailwindcss/oxide-darwin-x64@4.1.8': 13743 + optional: true 13744 + 13745 + '@tailwindcss/oxide-freebsd-x64@4.1.8': 13746 + optional: true 13747 + 13748 + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.8': 13749 + optional: true 13750 + 13751 + '@tailwindcss/oxide-linux-arm64-gnu@4.1.8': 13752 + optional: true 13753 + 13754 + '@tailwindcss/oxide-linux-arm64-musl@4.1.8': 13755 + optional: true 13756 + 13757 + '@tailwindcss/oxide-linux-x64-gnu@4.1.8': 13758 + optional: true 13759 + 13760 + '@tailwindcss/oxide-linux-x64-musl@4.1.8': 13761 + optional: true 13762 + 13763 + '@tailwindcss/oxide-wasm32-wasi@4.1.8': 13764 + optional: true 13765 + 13766 + '@tailwindcss/oxide-win32-arm64-msvc@4.1.8': 13767 + optional: true 13768 + 13769 + '@tailwindcss/oxide-win32-x64-msvc@4.1.8': 13770 + optional: true 13771 + 13772 + '@tailwindcss/oxide@4.1.8': 13773 + dependencies: 13774 + detect-libc: 2.0.4 13775 + tar: 7.4.3 13776 + optionalDependencies: 13777 + '@tailwindcss/oxide-android-arm64': 4.1.8 13778 + '@tailwindcss/oxide-darwin-arm64': 4.1.8 13779 + '@tailwindcss/oxide-darwin-x64': 4.1.8 13780 + '@tailwindcss/oxide-freebsd-x64': 4.1.8 13781 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.8 13782 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.8 13783 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.8 13784 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.8 13785 + '@tailwindcss/oxide-linux-x64-musl': 4.1.8 13786 + '@tailwindcss/oxide-wasm32-wasi': 4.1.8 13787 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.8 13788 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.8 13789 + 13790 + '@tailwindcss/postcss@4.1.8': 13422 13791 dependencies: 13423 - tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2)) 13792 + '@alloc/quick-lru': 5.2.0 13793 + '@tailwindcss/node': 4.1.8 13794 + '@tailwindcss/oxide': 4.1.8 13795 + postcss: 8.5.3 13796 + tailwindcss: 4.1.8 13424 13797 13425 - '@tailwindcss/typography@0.5.10(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2)))': 13798 + '@tailwindcss/typography@0.5.10(tailwindcss@4.1.8)': 13426 13799 dependencies: 13427 13800 lodash.castarray: 4.4.0 13428 13801 lodash.isplainobject: 4.0.6 13429 13802 lodash.merge: 4.6.2 13430 13803 postcss-selector-parser: 6.0.10 13431 - tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2)) 13804 + tailwindcss: 4.1.8 13805 + 13806 + '@tailwindcss/vite@4.1.8(vite@6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1))': 13807 + dependencies: 13808 + '@tailwindcss/node': 4.1.8 13809 + '@tailwindcss/oxide': 4.1.8 13810 + tailwindcss: 4.1.8 13811 + vite: 6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1) 13432 13812 13433 13813 '@tanstack/query-core@5.62.8': {} 13434 13814 ··· 13561 13941 dependencies: 13562 13942 '@babel/types': 7.26.3 13563 13943 13564 - '@types/bun@1.2.15': 13944 + '@types/bun@1.2.13': 13565 13945 dependencies: 13566 - bun-types: 1.2.15 13946 + bun-types: 1.2.13 13567 13947 13568 13948 '@types/caseless@0.12.4': {} 13569 13949 ··· 13810 14190 is-buffer: 2.0.5 13811 14191 undici: 5.28.4 13812 14192 13813 - '@vitejs/plugin-react@4.3.4(vite@6.2.5(@types/node@22.10.2)(jiti@1.21.7)(terser@5.37.0)(yaml@2.6.1))': 14193 + '@vitejs/plugin-react@4.3.4(vite@6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1))': 13814 14194 dependencies: 13815 14195 '@babel/core': 7.26.0 13816 14196 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) 13817 14197 '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) 13818 14198 '@types/babel__core': 7.20.5 13819 14199 react-refresh: 0.14.2 13820 - vite: 6.2.5(@types/node@22.10.2)(jiti@1.21.7)(terser@5.37.0)(yaml@2.6.1) 14200 + vite: 6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1) 13821 14201 transitivePeerDependencies: 13822 14202 - supports-color 13823 14203 ··· 14007 14387 dependencies: 14008 14388 acorn: 8.14.0 14009 14389 14390 + acorn-jsx@5.3.2(acorn@8.14.1): 14391 + dependencies: 14392 + acorn: 8.14.1 14393 + 14010 14394 acorn-walk@8.3.2: {} 14011 14395 14012 14396 acorn@8.11.3: {} ··· 14129 14513 14130 14514 astring@1.8.6: {} 14131 14515 14132 - astro-expressive-code@0.40.2(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)): 14516 + astro-expressive-code@0.41.2(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)): 14133 14517 dependencies: 14134 - astro: 5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 14135 - rehype-expressive-code: 0.40.2 14518 + astro: 5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1) 14519 + rehype-expressive-code: 0.41.2 14136 14520 14137 - astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1): 14521 + astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1): 14138 14522 dependencies: 14139 14523 '@astrojs/compiler': 2.11.0 14140 14524 '@astrojs/internal-helpers': 0.6.1 ··· 14185 14569 unist-util-visit: 5.0.0 14186 14570 unstorage: 1.15.0 14187 14571 vfile: 6.0.3 14188 - vite: 6.2.5(@types/node@22.10.2)(jiti@1.21.7)(terser@5.37.0)(yaml@2.6.1) 14189 - vitefu: 1.0.6(vite@6.2.5(@types/node@22.10.2)(jiti@1.21.7)(terser@5.37.0)(yaml@2.6.1)) 14572 + vite: 6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1) 14573 + vitefu: 1.0.6(vite@6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1)) 14190 14574 xxhash-wasm: 1.1.0 14191 14575 yargs-parser: 21.1.1 14192 14576 yocto-spinner: 0.2.1 ··· 14235 14619 14236 14620 asynckit@0.4.0: {} 14237 14621 14238 - autoprefixer@10.4.19(postcss@8.4.38): 14239 - dependencies: 14240 - browserslist: 4.23.0 14241 - caniuse-lite: 1.0.30001612 14242 - fraction.js: 4.3.7 14243 - normalize-range: 0.1.2 14244 - picocolors: 1.0.0 14245 - postcss: 8.4.38 14246 - postcss-value-parser: 4.2.0 14247 - 14248 - autoprefixer@10.4.20(postcss@8.5.2): 14249 - dependencies: 14250 - browserslist: 4.24.3 14251 - caniuse-lite: 1.0.30001689 14252 - fraction.js: 4.3.7 14253 - normalize-range: 0.1.2 14254 - picocolors: 1.1.1 14255 - postcss: 8.5.2 14256 - postcss-value-parser: 4.2.0 14257 - 14258 14622 axobject-query@4.1.0: {} 14259 14623 14260 14624 babylon@6.18.0: {} ··· 14336 14700 dependencies: 14337 14701 fill-range: 7.1.1 14338 14702 14339 - browserslist@4.23.0: 14340 - dependencies: 14341 - caniuse-lite: 1.0.30001612 14342 - electron-to-chromium: 1.4.750 14343 - node-releases: 2.0.14 14344 - update-browserslist-db: 1.0.13(browserslist@4.23.0) 14345 - 14346 14703 browserslist@4.24.2: 14347 14704 dependencies: 14348 14705 caniuse-lite: 1.0.30001689 ··· 14350 14707 node-releases: 2.0.18 14351 14708 update-browserslist-db: 1.1.1(browserslist@4.24.2) 14352 14709 14353 - browserslist@4.24.3: 14710 + browserslist@4.25.0: 14354 14711 dependencies: 14355 - caniuse-lite: 1.0.30001689 14356 - electron-to-chromium: 1.5.74 14712 + caniuse-lite: 1.0.30001721 14713 + electron-to-chromium: 1.5.165 14357 14714 node-releases: 2.0.19 14358 - update-browserslist-db: 1.1.1(browserslist@4.24.3) 14715 + update-browserslist-db: 1.1.3(browserslist@4.25.0) 14359 14716 14360 14717 buffer-equal-constant-time@1.0.1: {} 14361 14718 ··· 14378 14735 14379 14736 bun-types@1.0.8: {} 14380 14737 14381 - bun-types@1.2.15: 14738 + bun-types@1.2.13: 14382 14739 dependencies: 14383 14740 '@types/node': 22.10.2 14384 14741 ··· 14406 14763 no-case: 2.3.2 14407 14764 upper-case: 1.1.3 14408 14765 14409 - camelcase-css@2.0.1: {} 14410 - 14411 14766 camelcase@8.0.0: {} 14412 14767 14413 - caniuse-lite@1.0.30001612: {} 14768 + caniuse-lite@1.0.30001689: {} 14414 14769 14415 - caniuse-lite@1.0.30001689: {} 14770 + caniuse-lite@1.0.30001721: {} 14416 14771 14417 14772 ccount@2.0.1: {} 14418 14773 ··· 14498 14853 readdirp: 4.0.2 14499 14854 14500 14855 chownr@1.1.4: {} 14856 + 14857 + chownr@3.0.0: {} 14501 14858 14502 14859 chrome-trace-event@1.0.4: {} 14503 14860 ··· 14797 15154 14798 15155 detect-libc@2.0.3: {} 14799 15156 15157 + detect-libc@2.0.4: {} 15158 + 14800 15159 detect-node-es@1.1.0: {} 14801 15160 14802 15161 deterministic-object-hash@2.0.2: ··· 14808 15167 devlop@1.1.0: 14809 15168 dependencies: 14810 15169 dequal: 2.0.3 14811 - 14812 - didyoumean@1.2.2: {} 14813 15170 14814 15171 diff@4.0.2: {} 14815 15172 ··· 14861 15218 transitivePeerDependencies: 14862 15219 - supports-color 14863 15220 14864 - drizzle-orm@0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.4.0)(bun-types@1.2.15)(react@19.1.0): 15221 + drizzle-orm@0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.4.0)(bun-types@1.2.13)(react@19.1.0): 14865 15222 dependencies: 14866 15223 '@libsql/client-wasm': 0.14.0 14867 15224 optionalDependencies: ··· 14871 15228 '@types/pg': 8.11.10 14872 15229 '@types/react': 19.1.0 14873 15230 better-sqlite3: 11.4.0 14874 - bun-types: 1.2.15 15231 + bun-types: 1.2.13 14875 15232 react: 19.1.0 14876 15233 14877 - drizzle-orm@0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0)(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.7.0)(bun-types@1.2.15)(react@19.1.0): 15234 + drizzle-orm@0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.5))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.7.0)(bun-types@1.2.13)(react@19.1.0): 14878 15235 dependencies: 14879 15236 '@libsql/client-wasm': 0.14.0 14880 15237 optionalDependencies: 14881 15238 '@cloudflare/workers-types': 4.20250303.0 14882 - '@libsql/client': 0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3) 15239 + '@libsql/client': 0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.5) 14883 15240 '@opentelemetry/api': 1.9.0 14884 15241 '@types/pg': 8.11.10 14885 15242 '@types/react': 19.1.0 14886 15243 better-sqlite3: 11.7.0 14887 - bun-types: 1.2.15 15244 + bun-types: 1.2.13 14888 15245 react: 19.1.0 14889 15246 14890 - drizzle-zod@0.5.1(drizzle-orm@0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.4.0)(bun-types@1.2.15)(react@19.1.0))(zod@3.23.8): 15247 + drizzle-zod@0.5.1(drizzle-orm@0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.4.0)(bun-types@1.2.13)(react@19.1.0))(zod@3.23.8): 14891 15248 dependencies: 14892 - drizzle-orm: 0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.4.0)(bun-types@1.2.15)(react@19.1.0) 15249 + drizzle-orm: 0.35.3(@cloudflare/workers-types@4.20250303.0)(@libsql/client-wasm@0.14.0)(@libsql/client@0.14.0(bufferutil@4.0.8)(utf-8-validate@6.0.3))(@opentelemetry/api@1.9.0)(@types/pg@8.11.10)(@types/react@19.1.0)(better-sqlite3@11.4.0)(bun-types@1.2.13)(react@19.1.0) 14893 15250 zod: 3.23.8 14894 15251 14895 15252 dset@3.1.4: {} ··· 14920 15277 minimatch: 9.0.1 14921 15278 semver: 7.6.3 14922 15279 14923 - electron-to-chromium@1.4.750: {} 15280 + electron-to-chromium@1.5.165: {} 14924 15281 14925 15282 electron-to-chromium@1.5.64: {} 14926 - 14927 - electron-to-chromium@1.5.74: {} 14928 15283 14929 15284 emmet@2.4.11: 14930 15285 dependencies: ··· 14966 15321 - supports-color 14967 15322 - utf-8-validate 14968 15323 14969 - enhanced-resolve@5.17.1: 15324 + enhanced-resolve@5.18.1: 14970 15325 dependencies: 14971 15326 graceful-fs: 4.2.11 14972 15327 tapable: 2.2.1 ··· 15129 15484 '@esbuild/win32-ia32': 0.25.2 15130 15485 '@esbuild/win32-x64': 0.25.2 15131 15486 15132 - escalade@3.1.1: {} 15133 - 15134 15487 escalade@3.1.2: {} 15135 15488 15136 15489 escalade@3.2.0: {} ··· 15227 15580 15228 15581 expand-template@2.0.3: {} 15229 15582 15230 - expressive-code@0.40.2: 15583 + expressive-code@0.41.2: 15231 15584 dependencies: 15232 - '@expressive-code/core': 0.40.2 15233 - '@expressive-code/plugin-frames': 0.40.2 15234 - '@expressive-code/plugin-shiki': 0.40.2 15235 - '@expressive-code/plugin-text-markers': 0.40.2 15585 + '@expressive-code/core': 0.41.2 15586 + '@expressive-code/plugin-frames': 0.41.2 15587 + '@expressive-code/plugin-shiki': 0.41.2 15588 + '@expressive-code/plugin-text-markers': 0.41.2 15236 15589 15237 15590 extend-shallow@2.0.1: 15238 15591 dependencies: ··· 15268 15621 merge2: 1.4.1 15269 15622 micromatch: 4.0.5 15270 15623 15271 - fast-glob@3.3.3: 15272 - dependencies: 15273 - '@nodelib/fs.stat': 2.0.5 15274 - '@nodelib/fs.walk': 1.2.8 15275 - glob-parent: 5.1.2 15276 - merge2: 1.4.1 15277 - micromatch: 4.0.8 15278 - 15279 15624 fast-json-stable-stringify@2.1.0: {} 15280 15625 15281 15626 fast-uri@3.0.3: {} ··· 15364 15709 15365 15710 forwarded-parse@2.1.2: {} 15366 15711 15367 - fraction.js@4.3.7: {} 15368 - 15369 15712 fs-constants@1.0.0: {} 15370 15713 15371 15714 fs-extra@10.1.0: ··· 15443 15786 github-slugger@2.0.0: {} 15444 15787 15445 15788 glob-parent@5.1.2: 15446 - dependencies: 15447 - is-glob: 4.0.3 15448 - 15449 - glob-parent@6.0.2: 15450 15789 dependencies: 15451 15790 is-glob: 4.0.3 15452 15791 ··· 15759 16098 stringify-entities: 4.0.3 15760 16099 zwitch: 2.0.4 15761 16100 15762 - hast-util-to-html@9.0.4: 15763 - dependencies: 15764 - '@types/hast': 3.0.4 15765 - '@types/unist': 3.0.2 15766 - ccount: 2.0.1 15767 - comma-separated-tokens: 2.0.3 15768 - hast-util-whitespace: 3.0.0 15769 - html-void-elements: 3.0.0 15770 - mdast-util-to-hast: 13.2.0 15771 - property-information: 6.3.0 15772 - space-separated-tokens: 2.0.2 15773 - stringify-entities: 4.0.3 15774 - zwitch: 2.0.4 15775 - 15776 16101 hast-util-to-html@9.0.5: 15777 16102 dependencies: 15778 16103 '@types/hast': 3.0.4 ··· 16119 16444 16120 16445 jiti@1.21.0: {} 16121 16446 16122 - jiti@1.21.7: {} 16447 + jiti@2.4.2: {} 16123 16448 16124 16449 jose@5.2.4: {} 16125 16450 ··· 16249 16574 '@libsql/linux-x64-musl': 0.4.5 16250 16575 '@libsql/win32-x64-msvc': 0.4.5 16251 16576 16252 - lilconfig@2.1.0: {} 16577 + lightningcss-darwin-arm64@1.30.1: 16578 + optional: true 16579 + 16580 + lightningcss-darwin-x64@1.30.1: 16581 + optional: true 16582 + 16583 + lightningcss-freebsd-x64@1.30.1: 16584 + optional: true 16585 + 16586 + lightningcss-linux-arm-gnueabihf@1.30.1: 16587 + optional: true 16588 + 16589 + lightningcss-linux-arm64-gnu@1.30.1: 16590 + optional: true 16591 + 16592 + lightningcss-linux-arm64-musl@1.30.1: 16593 + optional: true 16594 + 16595 + lightningcss-linux-x64-gnu@1.30.1: 16596 + optional: true 16597 + 16598 + lightningcss-linux-x64-musl@1.30.1: 16599 + optional: true 16600 + 16601 + lightningcss-win32-arm64-msvc@1.30.1: 16602 + optional: true 16603 + 16604 + lightningcss-win32-x64-msvc@1.30.1: 16605 + optional: true 16606 + 16607 + lightningcss@1.30.1: 16608 + dependencies: 16609 + detect-libc: 2.0.4 16610 + optionalDependencies: 16611 + lightningcss-darwin-arm64: 1.30.1 16612 + lightningcss-darwin-x64: 1.30.1 16613 + lightningcss-freebsd-x64: 1.30.1 16614 + lightningcss-linux-arm-gnueabihf: 1.30.1 16615 + lightningcss-linux-arm64-gnu: 1.30.1 16616 + lightningcss-linux-arm64-musl: 1.30.1 16617 + lightningcss-linux-x64-gnu: 1.30.1 16618 + lightningcss-linux-x64-musl: 1.30.1 16619 + lightningcss-win32-arm64-msvc: 1.30.1 16620 + lightningcss-win32-x64-msvc: 1.30.1 16253 16621 16254 - lilconfig@3.1.3: {} 16622 + lilconfig@2.1.0: {} 16255 16623 16256 16624 limiter@3.0.0: {} 16257 16625 ··· 17078 17446 17079 17447 minipass@7.1.2: {} 17080 17448 17449 + minizlib@3.0.2: 17450 + dependencies: 17451 + minipass: 7.1.2 17452 + 17081 17453 mitt@3.0.1: {} 17082 17454 17083 17455 mkdirp-classic@0.5.3: {} ··· 17085 17457 mkdirp@0.5.6: 17086 17458 dependencies: 17087 17459 minimist: 1.2.8 17460 + 17461 + mkdirp@3.0.1: {} 17088 17462 17089 17463 mlly@1.7.3: 17090 17464 dependencies: ··· 17245 17619 mkdirp: 0.5.6 17246 17620 resolve: 1.22.9 17247 17621 17248 - node-releases@2.0.14: {} 17249 - 17250 17622 node-releases@2.0.18: {} 17251 17623 17252 17624 node-releases@2.0.19: {} ··· 17256 17628 abbrev: 2.0.0 17257 17629 17258 17630 normalize-path@3.0.0: {} 17259 - 17260 - normalize-range@0.1.2: {} 17261 17631 17262 17632 npm-run-path@4.0.1: 17263 17633 dependencies: ··· 17309 17679 dependencies: 17310 17680 mimic-fn: 2.1.0 17311 17681 17312 - oniguruma-parser@0.5.4: {} 17682 + oniguruma-parser@0.12.1: {} 17313 17683 17314 - oniguruma-to-es@2.3.0: 17315 - dependencies: 17316 - emoji-regex-xs: 1.0.0 17317 - regex: 5.1.1 17318 - regex-recursion: 5.1.1 17684 + oniguruma-parser@0.5.4: {} 17319 17685 17320 17686 oniguruma-to-es@4.1.0: 17321 17687 dependencies: ··· 17324 17690 regex: 6.0.1 17325 17691 regex-recursion: 6.0.2 17326 17692 17693 + oniguruma-to-es@4.3.3: 17694 + dependencies: 17695 + oniguruma-parser: 0.12.1 17696 + regex: 6.0.1 17697 + regex-recursion: 6.0.2 17698 + 17327 17699 openapi3-ts@4.1.2: 17328 17700 dependencies: 17329 17701 yaml: 2.6.1 ··· 17524 17896 17525 17897 picomatch@4.0.2: {} 17526 17898 17527 - pify@2.3.0: {} 17528 - 17529 17899 pirates@4.0.6: {} 17530 17900 17531 17901 pkg-types@1.3.1: ··· 17544 17914 17545 17915 pluralize@8.0.0: {} 17546 17916 17547 - postcss-import@15.1.0(postcss@8.4.38): 17548 - dependencies: 17549 - postcss: 8.4.38 17550 - postcss-value-parser: 4.2.0 17551 - read-cache: 1.0.0 17552 - resolve: 1.22.9 17553 - 17554 - postcss-import@15.1.0(postcss@8.5.3): 17555 - dependencies: 17556 - postcss: 8.5.3 17557 - postcss-value-parser: 4.2.0 17558 - read-cache: 1.0.0 17559 - resolve: 1.22.9 17560 - 17561 - postcss-js@4.0.1(postcss@8.4.38): 17562 - dependencies: 17563 - camelcase-css: 2.0.1 17564 - postcss: 8.4.38 17565 - 17566 - postcss-js@4.0.1(postcss@8.5.3): 17567 - dependencies: 17568 - camelcase-css: 2.0.1 17569 - postcss: 8.5.3 17570 - 17571 - postcss-load-config@4.0.1(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2)): 17917 + postcss-load-config@4.0.1(postcss@8.5.3)(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2)): 17572 17918 dependencies: 17573 17919 lilconfig: 2.1.0 17574 17920 yaml: 2.3.3 17575 17921 optionalDependencies: 17576 - postcss: 8.4.38 17922 + postcss: 8.5.3 17577 17923 ts-node: 10.9.2(@types/node@20.8.0)(typescript@5.6.2) 17578 17924 17579 17925 postcss-load-config@4.0.1(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)): ··· 17584 17930 postcss: 8.5.3 17585 17931 ts-node: 10.9.2(@types/node@22.10.2)(typescript@5.6.2) 17586 17932 17587 - postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2)): 17588 - dependencies: 17589 - lilconfig: 3.1.3 17590 - yaml: 2.6.1 17591 - optionalDependencies: 17592 - postcss: 8.4.38 17593 - ts-node: 10.9.2(@types/node@20.14.8)(typescript@5.6.2) 17594 - 17595 - postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2)): 17596 - dependencies: 17597 - lilconfig: 3.1.3 17598 - yaml: 2.6.1 17599 - optionalDependencies: 17600 - postcss: 8.4.38 17601 - ts-node: 10.9.2(@types/node@20.8.0)(typescript@5.6.2) 17602 - 17603 - postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)): 17604 - dependencies: 17605 - lilconfig: 3.1.3 17606 - yaml: 2.6.1 17607 - optionalDependencies: 17608 - postcss: 8.4.38 17609 - ts-node: 10.9.2(@types/node@22.10.2)(typescript@5.6.2) 17610 - 17611 - postcss-load-config@4.0.2(postcss@8.5.2)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)): 17612 - dependencies: 17613 - lilconfig: 3.1.3 17614 - yaml: 2.6.1 17615 - optionalDependencies: 17616 - postcss: 8.5.2 17617 - ts-node: 10.9.2(@types/node@22.10.2)(typescript@5.6.2) 17618 - 17619 - postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)): 17620 - dependencies: 17621 - lilconfig: 3.1.3 17622 - yaml: 2.6.1 17623 - optionalDependencies: 17624 - postcss: 8.5.3 17625 - ts-node: 10.9.2(@types/node@22.10.2)(typescript@5.6.2) 17626 - 17627 17933 postcss-nested@6.2.0(postcss@8.4.38): 17628 17934 dependencies: 17629 17935 postcss: 8.4.38 17630 17936 postcss-selector-parser: 6.1.2 17631 17937 17632 - postcss-nested@6.2.0(postcss@8.5.3): 17633 - dependencies: 17634 - postcss: 8.5.3 17635 - postcss-selector-parser: 6.1.2 17636 - 17637 17938 postcss-selector-parser@6.0.10: 17638 17939 dependencies: 17639 17940 cssesc: 3.0.0 ··· 17643 17944 dependencies: 17644 17945 cssesc: 3.0.0 17645 17946 util-deprecate: 1.0.2 17646 - 17647 - postcss-value-parser@4.2.0: {} 17648 17947 17649 17948 postcss@8.4.31: 17650 17949 dependencies: ··· 17657 17956 nanoid: 3.3.7 17658 17957 picocolors: 1.0.0 17659 17958 source-map-js: 1.2.0 17660 - 17661 - postcss@8.5.2: 17662 - dependencies: 17663 - nanoid: 3.3.8 17664 - picocolors: 1.1.1 17665 - source-map-js: 1.2.1 17666 17959 17667 17960 postcss@8.5.3: 17668 17961 dependencies: ··· 17727 18020 17728 18021 prebuild-install@7.1.2: 17729 18022 dependencies: 17730 - detect-libc: 2.0.3 18023 + detect-libc: 2.0.4 17731 18024 expand-template: 2.0.3 17732 18025 github-from-package: 0.0.0 17733 18026 minimist: 1.2.8 ··· 17956 18249 17957 18250 react@19.1.0: {} 17958 18251 17959 - read-cache@1.0.0: 17960 - dependencies: 17961 - pify: 2.3.0 17962 - 17963 18252 readable-stream@3.6.2: 17964 18253 dependencies: 17965 18254 inherits: 2.0.4 ··· 18007 18296 transitivePeerDependencies: 18008 18297 - acorn 18009 18298 18299 + recma-jsx@1.0.0(acorn@8.14.1): 18300 + dependencies: 18301 + acorn-jsx: 5.3.2(acorn@8.14.1) 18302 + estree-util-to-js: 2.0.0 18303 + recma-parse: 1.0.0 18304 + recma-stringify: 1.0.0 18305 + unified: 11.0.5 18306 + transitivePeerDependencies: 18307 + - acorn 18308 + 18010 18309 recma-parse@1.0.0: 18011 18310 dependencies: 18012 18311 '@types/estree': 1.0.6 ··· 18023 18322 18024 18323 regenerator-runtime@0.14.1: {} 18025 18324 18026 - regex-recursion@5.1.1: 18027 - dependencies: 18028 - regex: 5.1.1 18029 - regex-utilities: 2.3.0 18030 - 18031 18325 regex-recursion@6.0.2: 18032 18326 dependencies: 18033 18327 regex-utilities: 2.3.0 18034 18328 18035 18329 regex-utilities@2.3.0: {} 18036 18330 18037 - regex@5.1.1: 18038 - dependencies: 18039 - regex-utilities: 2.3.0 18040 - 18041 18331 regex@6.0.1: 18042 18332 dependencies: 18043 18333 regex-utilities: 2.3.0 ··· 18060 18350 unified: 11.0.4 18061 18351 unist-util-visit: 5.0.0 18062 18352 18063 - rehype-expressive-code@0.40.2: 18353 + rehype-expressive-code@0.41.2: 18064 18354 dependencies: 18065 - expressive-code: 0.40.2 18355 + expressive-code: 0.41.2 18066 18356 18067 18357 rehype-format@5.0.0: 18068 18358 dependencies: ··· 18212 18502 unified: 10.1.2 18213 18503 18214 18504 remark-rehype@11.1.1: 18505 + dependencies: 18506 + '@types/hast': 3.0.4 18507 + '@types/mdast': 4.0.4 18508 + mdast-util-to-hast: 13.2.0 18509 + unified: 11.0.5 18510 + vfile: 6.0.3 18511 + 18512 + remark-rehype@11.1.2: 18215 18513 dependencies: 18216 18514 '@types/hast': 3.0.4 18217 18515 '@types/mdast': 4.0.4 ··· 18475 18773 jsonc-parser: 3.2.0 18476 18774 vscode-oniguruma: 1.7.0 18477 18775 vscode-textmate: 8.0.0 18478 - 18479 - shiki@1.29.2: 18480 - dependencies: 18481 - '@shikijs/core': 1.29.2 18482 - '@shikijs/engine-javascript': 1.29.2 18483 - '@shikijs/engine-oniguruma': 1.29.2 18484 - '@shikijs/langs': 1.29.2 18485 - '@shikijs/themes': 1.29.2 18486 - '@shikijs/types': 1.29.2 18487 - '@shikijs/vscode-textmate': 10.0.2 18488 - '@types/hast': 3.0.4 18489 18776 18490 18777 shiki@3.2.1: 18491 18778 dependencies: ··· 18498 18785 '@shikijs/vscode-textmate': 10.0.2 18499 18786 '@types/hast': 3.0.4 18500 18787 18788 + shiki@3.6.0: 18789 + dependencies: 18790 + '@shikijs/core': 3.6.0 18791 + '@shikijs/engine-javascript': 3.6.0 18792 + '@shikijs/engine-oniguruma': 3.6.0 18793 + '@shikijs/langs': 3.6.0 18794 + '@shikijs/themes': 3.6.0 18795 + '@shikijs/types': 3.6.0 18796 + '@shikijs/vscode-textmate': 10.0.2 18797 + '@types/hast': 3.0.4 18798 + 18501 18799 shimmer@1.2.1: {} 18502 18800 18503 18801 side-channel@1.0.4: ··· 18620 18918 dependencies: 18621 18919 type-fest: 0.7.1 18622 18920 18623 - starlight-showcases@0.3.0(@astrojs/starlight@0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)))(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)): 18921 + starlight-showcases@0.3.0(@astrojs/starlight@0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)))(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)): 18624 18922 dependencies: 18625 - '@astro-community/astro-embed-twitter': 0.5.8(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 18626 - '@astro-community/astro-embed-youtube': 0.5.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 18627 - '@astrojs/starlight': 0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 18923 + '@astro-community/astro-embed-twitter': 0.5.8(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 18924 + '@astro-community/astro-embed-youtube': 0.5.6(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 18925 + '@astrojs/starlight': 0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 18628 18926 transitivePeerDependencies: 18629 18927 - astro 18630 18928 18631 - starlight-sidebar-topics@0.6.0(@astrojs/starlight@0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))): 18929 + starlight-sidebar-topics@0.6.0(@astrojs/starlight@0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1))): 18632 18930 dependencies: 18633 - '@astrojs/starlight': 0.32.6(astro@5.6.1(@types/node@22.10.2)(jiti@1.21.7)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 18931 + '@astrojs/starlight': 0.34.3(astro@5.6.1(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.34.8)(terser@5.37.0)(typescript@5.6.2)(yaml@2.6.1)) 18634 18932 picomatch: 4.0.2 18635 18933 18636 18934 stream-events@1.0.5: ··· 18720 19018 pirates: 4.0.6 18721 19019 ts-interface-checker: 0.1.13 18722 19020 18723 - sucrase@3.35.0: 18724 - dependencies: 18725 - '@jridgewell/gen-mapping': 0.3.8 18726 - commander: 4.1.1 18727 - glob: 10.4.5 18728 - lines-and-columns: 1.2.4 18729 - mz: 2.7.0 18730 - pirates: 4.0.6 18731 - ts-interface-checker: 0.1.13 18732 - 18733 19021 summary@2.1.0: {} 18734 19022 18735 19023 superjson@1.13.3: ··· 18765 19053 18766 19054 tailwind-merge@2.5.5: {} 18767 19055 18768 - tailwindcss-animate@1.0.7(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2))): 18769 - dependencies: 18770 - tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2)) 18771 - 18772 - tailwindcss-animate@1.0.7(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2))): 18773 - dependencies: 18774 - tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)) 18775 - 18776 - tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)): 18777 - dependencies: 18778 - '@alloc/quick-lru': 5.2.0 18779 - arg: 5.0.2 18780 - chokidar: 3.6.0 18781 - didyoumean: 1.2.2 18782 - dlv: 1.1.3 18783 - fast-glob: 3.3.3 18784 - glob-parent: 6.0.2 18785 - is-glob: 4.0.3 18786 - jiti: 1.21.7 18787 - lilconfig: 3.1.3 18788 - micromatch: 4.0.8 18789 - normalize-path: 3.0.0 18790 - object-hash: 3.0.0 18791 - picocolors: 1.1.1 18792 - postcss: 8.5.3 18793 - postcss-import: 15.1.0(postcss@8.5.3) 18794 - postcss-js: 4.0.1(postcss@8.5.3) 18795 - postcss-load-config: 4.0.2(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)) 18796 - postcss-nested: 6.2.0(postcss@8.5.3) 18797 - postcss-selector-parser: 6.1.2 18798 - resolve: 1.22.9 18799 - sucrase: 3.35.0 18800 - transitivePeerDependencies: 18801 - - ts-node 18802 - 18803 - tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2)): 19056 + tailwindcss-animate@1.0.7(tailwindcss@4.1.8): 18804 19057 dependencies: 18805 - '@alloc/quick-lru': 5.2.0 18806 - arg: 5.0.2 18807 - chokidar: 3.6.0 18808 - didyoumean: 1.2.2 18809 - dlv: 1.1.3 18810 - fast-glob: 3.3.2 18811 - glob-parent: 6.0.2 18812 - is-glob: 4.0.3 18813 - jiti: 1.21.7 18814 - lilconfig: 2.1.0 18815 - micromatch: 4.0.8 18816 - normalize-path: 3.0.0 18817 - object-hash: 3.0.0 18818 - picocolors: 1.1.1 18819 - postcss: 8.4.38 18820 - postcss-import: 15.1.0(postcss@8.4.38) 18821 - postcss-js: 4.0.1(postcss@8.4.38) 18822 - postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2)) 18823 - postcss-nested: 6.2.0(postcss@8.4.38) 18824 - postcss-selector-parser: 6.1.2 18825 - resolve: 1.22.9 18826 - sucrase: 3.35.0 18827 - transitivePeerDependencies: 18828 - - ts-node 18829 - 18830 - tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2)): 18831 - dependencies: 18832 - '@alloc/quick-lru': 5.2.0 18833 - arg: 5.0.2 18834 - chokidar: 3.6.0 18835 - didyoumean: 1.2.2 18836 - dlv: 1.1.3 18837 - fast-glob: 3.3.2 18838 - glob-parent: 6.0.2 18839 - is-glob: 4.0.3 18840 - jiti: 1.21.7 18841 - lilconfig: 2.1.0 18842 - micromatch: 4.0.8 18843 - normalize-path: 3.0.0 18844 - object-hash: 3.0.0 18845 - picocolors: 1.1.1 18846 - postcss: 8.4.38 18847 - postcss-import: 15.1.0(postcss@8.4.38) 18848 - postcss-js: 4.0.1(postcss@8.4.38) 18849 - postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2)) 18850 - postcss-nested: 6.2.0(postcss@8.4.38) 18851 - postcss-selector-parser: 6.1.2 18852 - resolve: 1.22.9 18853 - sucrase: 3.35.0 18854 - transitivePeerDependencies: 18855 - - ts-node 19058 + tailwindcss: 4.1.8 18856 19059 18857 - tailwindcss@3.4.3(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)): 18858 - dependencies: 18859 - '@alloc/quick-lru': 5.2.0 18860 - arg: 5.0.2 18861 - chokidar: 3.6.0 18862 - didyoumean: 1.2.2 18863 - dlv: 1.1.3 18864 - fast-glob: 3.3.2 18865 - glob-parent: 6.0.2 18866 - is-glob: 4.0.3 18867 - jiti: 1.21.7 18868 - lilconfig: 2.1.0 18869 - micromatch: 4.0.8 18870 - normalize-path: 3.0.0 18871 - object-hash: 3.0.0 18872 - picocolors: 1.1.1 18873 - postcss: 8.4.38 18874 - postcss-import: 15.1.0(postcss@8.4.38) 18875 - postcss-js: 4.0.1(postcss@8.4.38) 18876 - postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.6.2)) 18877 - postcss-nested: 6.2.0(postcss@8.4.38) 18878 - postcss-selector-parser: 6.1.2 18879 - resolve: 1.22.9 18880 - sucrase: 3.35.0 18881 - transitivePeerDependencies: 18882 - - ts-node 19060 + tailwindcss@4.1.8: {} 18883 19061 18884 19062 tapable@2.2.1: {} 18885 19063 ··· 18897 19075 fs-constants: 1.0.0 18898 19076 inherits: 2.0.4 18899 19077 readable-stream: 3.6.2 19078 + 19079 + tar@7.4.3: 19080 + dependencies: 19081 + '@isaacs/fs-minipass': 4.0.1 19082 + chownr: 3.0.0 19083 + minipass: 7.1.2 19084 + minizlib: 3.0.2 19085 + mkdirp: 3.0.1 19086 + yallist: 5.0.0 18900 19087 18901 19088 teeny-request@9.0.0(encoding@0.1.13): 18902 19089 dependencies: ··· 19003 19190 19004 19191 ts-interface-checker@0.1.13: {} 19005 19192 19006 - ts-node@10.9.2(@types/node@20.14.8)(typescript@5.6.2): 19007 - dependencies: 19008 - '@cspotcode/source-map-support': 0.8.1 19009 - '@tsconfig/node10': 1.0.11 19010 - '@tsconfig/node12': 1.0.11 19011 - '@tsconfig/node14': 1.0.3 19012 - '@tsconfig/node16': 1.0.4 19013 - '@types/node': 20.14.8 19014 - acorn: 8.11.3 19015 - acorn-walk: 8.3.2 19016 - arg: 4.1.3 19017 - create-require: 1.1.1 19018 - diff: 4.0.2 19019 - make-error: 1.3.6 19020 - typescript: 5.6.2 19021 - v8-compile-cache-lib: 3.0.1 19022 - yn: 3.1.1 19023 - optional: true 19024 - 19025 19193 ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2): 19026 19194 dependencies: 19027 19195 '@cspotcode/source-map-support': 0.8.1 ··· 19069 19237 19070 19238 tslib@2.8.1: {} 19071 19239 19072 - tsup@7.2.0(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2))(typescript@5.6.2): 19240 + tsup@7.2.0(postcss@8.5.3)(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2))(typescript@5.6.2): 19073 19241 dependencies: 19074 19242 bundle-require: 4.0.2(esbuild@0.18.20) 19075 19243 cac: 6.7.14 ··· 19079 19247 execa: 5.1.1 19080 19248 globby: 11.1.0 19081 19249 joycon: 3.1.1 19082 - postcss-load-config: 4.0.1(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2)) 19250 + postcss-load-config: 4.0.1(postcss@8.5.3)(ts-node@10.9.2(@types/node@20.8.0)(typescript@5.6.2)) 19083 19251 resolve-from: 5.0.0 19084 19252 rollup: 3.29.4 19085 19253 source-map: 0.8.0-beta.0 19086 19254 sucrase: 3.34.0 19087 19255 tree-kill: 1.2.2 19088 19256 optionalDependencies: 19089 - postcss: 8.4.38 19257 + postcss: 8.5.3 19090 19258 typescript: 5.6.2 19091 19259 transitivePeerDependencies: 19092 19260 - supports-color ··· 19342 19510 ofetch: 1.4.1 19343 19511 ufo: 1.5.4 19344 19512 19345 - update-browserslist-db@1.0.13(browserslist@4.23.0): 19346 - dependencies: 19347 - browserslist: 4.23.0 19348 - escalade: 3.1.1 19349 - picocolors: 1.1.1 19350 - 19351 19513 update-browserslist-db@1.1.1(browserslist@4.24.2): 19352 19514 dependencies: 19353 19515 browserslist: 4.24.2 19354 19516 escalade: 3.2.0 19355 19517 picocolors: 1.1.1 19356 19518 19357 - update-browserslist-db@1.1.1(browserslist@4.24.3): 19519 + update-browserslist-db@1.1.3(browserslist@4.25.0): 19358 19520 dependencies: 19359 - browserslist: 4.24.3 19521 + browserslist: 4.25.0 19360 19522 escalade: 3.2.0 19361 19523 picocolors: 1.1.1 19362 19524 ··· 19468 19630 d3-time: 3.1.0 19469 19631 d3-timer: 3.0.1 19470 19632 19471 - vite@6.2.5(@types/node@22.10.2)(jiti@1.21.7)(terser@5.37.0)(yaml@2.6.1): 19633 + vite@6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1): 19472 19634 dependencies: 19473 19635 esbuild: 0.25.2 19474 19636 postcss: 8.5.3 ··· 19476 19638 optionalDependencies: 19477 19639 '@types/node': 22.10.2 19478 19640 fsevents: 2.3.3 19479 - jiti: 1.21.7 19641 + jiti: 2.4.2 19642 + lightningcss: 1.30.1 19480 19643 terser: 5.37.0 19481 19644 yaml: 2.6.1 19482 19645 19483 - vitefu@1.0.6(vite@6.2.5(@types/node@22.10.2)(jiti@1.21.7)(terser@5.37.0)(yaml@2.6.1)): 19646 + vitefu@1.0.6(vite@6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1)): 19484 19647 optionalDependencies: 19485 - vite: 6.2.5(@types/node@22.10.2)(jiti@1.21.7)(terser@5.37.0)(yaml@2.6.1) 19648 + vite: 6.2.5(@types/node@22.10.2)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(yaml@2.6.1) 19486 19649 19487 19650 vlq@0.2.3: {} 19488 19651 ··· 19631 19794 '@webassemblyjs/wasm-edit': 1.14.1 19632 19795 '@webassemblyjs/wasm-parser': 1.14.1 19633 19796 acorn: 8.14.1 19634 - browserslist: 4.24.3 19797 + browserslist: 4.25.0 19635 19798 chrome-trace-event: 1.0.4 19636 - enhanced-resolve: 5.17.1 19799 + enhanced-resolve: 5.18.1 19637 19800 es-module-lexer: 1.6.0 19638 19801 eslint-scope: 5.1.1 19639 19802 events: 3.3.0 ··· 19709 19872 bufferutil: 4.0.8 19710 19873 utf-8-validate: 6.0.3 19711 19874 19875 + ws@8.17.0(bufferutil@4.0.8)(utf-8-validate@6.0.5): 19876 + optionalDependencies: 19877 + bufferutil: 4.0.8 19878 + utf-8-validate: 6.0.5 19879 + 19712 19880 ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.5): 19713 19881 optionalDependencies: 19714 19882 bufferutil: 4.0.8 ··· 19727 19895 yallist@3.1.1: {} 19728 19896 19729 19897 yallist@4.0.0: {} 19898 + 19899 + yallist@5.0.0: {} 19730 19900 19731 19901 yaml-language-server@1.15.0: 19732 19902 dependencies: