diff --git a/apps/yaak-client/components/core/KeyValueRow.tsx b/apps/yaak-client/components/core/KeyValueRow.tsx
index 04742014..75847fcd 100644
--- a/apps/yaak-client/components/core/KeyValueRow.tsx
+++ b/apps/yaak-client/components/core/KeyValueRow.tsx
@@ -73,7 +73,7 @@ export function KeyValueRow({
<>
|
|
-
+
{leftSlot ?? }
{children}
{resolvedRightSlot ? (
diff --git a/apps/yaak-client/components/core/Label.tsx b/apps/yaak-client/components/core/Label.tsx
index 3bcb65a0..a1f2cbb3 100644
--- a/apps/yaak-client/components/core/Label.tsx
+++ b/apps/yaak-client/components/core/Label.tsx
@@ -27,7 +27,7 @@ export function Label({
className={classNames(
className,
visuallyHidden && "sr-only",
- "flex-shrink-0 text-sm",
+ "shrink-0 text-sm",
"text-text-subtle whitespace-nowrap flex items-center gap-1 mb-0.5",
)}
{...props}
diff --git a/apps/yaak-client/components/core/PairEditor.tsx b/apps/yaak-client/components/core/PairEditor.tsx
index 1ba22a93..f16fbc04 100644
--- a/apps/yaak-client/components/core/PairEditor.tsx
+++ b/apps/yaak-client/components/core/PairEditor.tsx
@@ -566,7 +566,7 @@ export function PairEditorRow({
title={pair.enabled ? "Disable item" : "Enable item"}
disabled={isLast || disabled}
checked={isLast ? false : !!pair.enabled}
- className={classNames(isLast && "!opacity-disabled")}
+ className={classNames(isLast && "opacity-disabled!")}
onChange={handleChangeEnabled}
/>
{!isLast && !disableDrag ? (
@@ -586,7 +586,7 @@ export function PairEditorRow({
@@ -830,7 +830,7 @@ function MultilineEditDialog({
const [value, setValue] = useState (defaultValue);
const language = languageFromContentType(contentType, value);
return (
-
+
setUseBulk((b) => !b)}
diff --git a/apps/yaak-client/components/core/PillButton.tsx b/apps/yaak-client/components/core/PillButton.tsx
index fe8b40cc..ba2b6425 100644
--- a/apps/yaak-client/components/core/PillButton.tsx
+++ b/apps/yaak-client/components/core/PillButton.tsx
@@ -7,7 +7,7 @@ export function PillButton({ className, ...props }: ButtonProps) {
);
diff --git a/apps/yaak-client/components/core/PlainInput.tsx b/apps/yaak-client/components/core/PlainInput.tsx
index 0aba672a..a476258f 100644
--- a/apps/yaak-client/components/core/PlainInput.tsx
+++ b/apps/yaak-client/components/core/PlainInput.tsx
@@ -116,7 +116,7 @@ export const PlainInput = forwardRef<{ focus: () => void }, PlainInputProps>(fun
const id = useRef(`input-${generateId()}`);
const commonClassName = classNames(
className,
- "!bg-transparent min-w-0 w-full focus:outline-none placeholder:text-placeholder",
+ "bg-transparent! min-w-0 w-full focus:outline-hidden placeholder:text-placeholder",
"px-2 text-xs font-mono cursor-text",
);
@@ -167,7 +167,7 @@ export const PlainInput = forwardRef<{ focus: () => void }, PlainInputProps>(fun
"overflow-hidden",
focused && !disabled ? "border-border-focus" : "border-border-subtle",
disabled && "border-dotted",
- hasChanged && "has-[:invalid]:border-danger", // For built-in HTML validation
+ hasChanged && "has-invalid:border-danger", // For built-in HTML validation
size === "md" && "min-h-md",
size === "sm" && "min-h-sm",
size === "xs" && "min-h-xs",
@@ -225,7 +225,7 @@ export const PlainInput = forwardRef<{ focus: () => void }, PlainInputProps>(fun
: `Obscure ${typeof label === "string" ? label : "field"}`
}
size="xs"
- className="mr-0.5 group/obscure !h-auto my-0.5"
+ className="mr-0.5 group/obscure h-auto! my-0.5"
iconClassName="group-hover/obscure:text"
iconSize="sm"
icon={obscured ? "eye" : "eye_closed"}
diff --git a/apps/yaak-client/components/core/RadioCards.tsx b/apps/yaak-client/components/core/RadioCards.tsx
index 4caa581a..c787642a 100644
--- a/apps/yaak-client/components/core/RadioCards.tsx
+++ b/apps/yaak-client/components/core/RadioCards.tsx
@@ -43,7 +43,7 @@ export function RadioCards({
/>
({
role="radio"
tabIndex={isSelected ? 0 : -1}
className={classNames(
- isActive && "!text-text",
+ isActive && "text-text!",
"focus:ring-1 focus:ring-border-focus",
)}
onClick={() => onChange(o.value)}
@@ -111,8 +111,8 @@ export function SegmentedControl ({
role="radio"
tabIndex={isSelected ? 0 : -1}
className={classNames(
- isActive && "!text-text",
- "!px-1.5 !w-auto",
+ isActive && "text-text!",
+ "px-1.5! w-auto!",
"focus:ring-border-focus",
)}
title={o.label}
diff --git a/apps/yaak-client/components/core/Select.tsx b/apps/yaak-client/components/core/Select.tsx
index 424365e5..6a646fd8 100644
--- a/apps/yaak-client/components/core/Select.tsx
+++ b/apps/yaak-client/components/core/Select.tsx
@@ -90,8 +90,8 @@ export function Select({
onBlur={() => setFocused(false)}
disabled={disabled}
className={classNames(
- "pr-7 w-full outline-none bg-transparent disabled:opacity-disabled",
- "leading-[1] rounded-none", // Center the text better vertically
+ "pr-7 w-full outline-hidden bg-transparent disabled:opacity-disabled",
+ "leading-none rounded-none", // Center the text better vertically
)}
>
{isInvalidSelection && }
diff --git a/apps/yaak-client/components/core/SettingRow.tsx b/apps/yaak-client/components/core/SettingRow.tsx
index a8ab01b2..bc463e61 100644
--- a/apps/yaak-client/components/core/SettingRow.tsx
+++ b/apps/yaak-client/components/core/SettingRow.tsx
@@ -189,7 +189,7 @@ export function ModelSettingRowBoolean({
name,
onChange,
options,
- selectClassName = "!w-48",
+ selectClassName = "w-48!",
title,
value,
...props
@@ -393,7 +393,7 @@ export function SettingSelectControl({
name,
onChange,
options,
- selectClassName = "!w-48",
+ selectClassName = "w-48!",
value,
}: {
defaultValue?: T;
diff --git a/apps/yaak-client/components/core/Tabs/Tabs.tsx b/apps/yaak-client/components/core/Tabs/Tabs.tsx
index e287ae55..2ff69ec7 100644
--- a/apps/yaak-client/components/core/Tabs/Tabs.tsx
+++ b/apps/yaak-client/components/core/Tabs/Tabs.tsx
@@ -342,7 +342,7 @@ export const Tabs = forwardRef(function Tabs(
{tabButtons}
@@ -456,9 +456,9 @@ function TabButton({
onChangeValue?.(tab.value);
},
className: classNames(
- "flex items-center rounded whitespace-nowrap",
- "!px-2 ml-[1px]",
- "outline-none",
+ "flex items-center rounded-sm whitespace-nowrap",
+ "px-2! ml-px",
+ "outline-hidden",
"ring-none",
"focus-visible-or-class:outline-2",
addBorders && "border focus-visible:bg-surface-highlight",
@@ -468,7 +468,7 @@ function TabButton({
: layout === "vertical"
? "border-border-subtle"
: "border-transparent",
- layout === "horizontal" && "min-w-[10rem]",
+ layout === "horizontal" && "min-w-40",
isDragging && "opacity-50",
overlay && "opacity-80",
),
diff --git a/apps/yaak-client/components/core/Toast.tsx b/apps/yaak-client/components/core/Toast.tsx
index 261d6dd9..e8f5b8ea 100644
--- a/apps/yaak-client/components/core/Toast.tsx
+++ b/apps/yaak-client/components/core/Toast.tsx
@@ -54,11 +54,11 @@ export function Toast({ children, open, onClose, timeout, action, icon, color }:
`x-theme-toast x-theme-toast--${color}`,
"pointer-events-auto overflow-hidden",
"relative pointer-events-auto bg-surface text-text rounded-lg",
- "border border-border shadow-lg w-[25rem]",
+ "border border-border shadow-lg w-100",
)}
>
-
- {toastIcon && }
+
+ {toastIcon && }
{children}
{action?.({ hide: onClose })}
@@ -68,7 +68,7 @@ export function Toast({ children, open, onClose, timeout, action, icon, color }:
Triangle
diff --git a/apps/yaak-client/components/git/FileHistoryDialog.tsx b/apps/yaak-client/components/git/FileHistoryDialog.tsx
index e38e08fc..6bc7e6e2 100644
--- a/apps/yaak-client/components/git/FileHistoryDialog.tsx
+++ b/apps/yaak-client/components/git/FileHistoryDialog.tsx
@@ -117,7 +117,7 @@ function CommitListItem({
@@ -786,8 +786,8 @@ function GqlSchemaSearch({
className={classNames(
className,
"relative flex items-center bg-surface z-20 min-w-0",
- !focused && "max-w-[6rem] ml-auto",
- focused && "!absolute top-0 left-1.5 right-1.5 bottom-0 pt-1.5",
+ !focused && "max-w-24 ml-auto",
+ focused && "absolute! top-0 left-1.5 right-1.5 bottom-0 pt-1.5",
)}
>
{children}
+ {children}
);
}
diff --git a/apps/yaak-client/components/graphql/GraphQLEditor.tsx b/apps/yaak-client/components/graphql/GraphQLEditor.tsx
index 8a6b0dcf..e66fc41e 100644
--- a/apps/yaak-client/components/graphql/GraphQLEditor.tsx
+++ b/apps/yaak-client/components/graphql/GraphQLEditor.tsx
@@ -77,8 +77,8 @@ function GraphQLEditorInner({ request, onChange, baseRequest, ...extraEditorProp
const actions = useMemo(
() => [
-
-
+
+
{schema === undefined ? null /* Initializing */ : (
-
+
Variables
diff --git a/apps/yaak-client/components/responseViewers/EventStreamViewer.tsx b/apps/yaak-client/components/responseViewers/EventStreamViewer.tsx
index 5ce8a26e..7a19e951 100644
--- a/apps/yaak-client/components/responseViewers/EventStreamViewer.tsx
+++ b/apps/yaak-client/components/responseViewers/EventStreamViewer.tsx
@@ -298,7 +298,7 @@ function SseSummaryFooter({
{summary}
) : (
-
+
{summary}
)
diff --git a/apps/yaak-client/components/responseViewers/MultipartViewer.tsx b/apps/yaak-client/components/responseViewers/MultipartViewer.tsx
index c3258af1..821b3378 100644
--- a/apps/yaak-client/components/responseViewers/MultipartViewer.tsx
+++ b/apps/yaak-client/components/responseViewers/MultipartViewer.tsx
@@ -63,7 +63,7 @@ export function MultipartViewer({ data, boundary, idPrefix = "multipart" }: Prop
) : part.filename ? (
@@ -76,7 +76,7 @@ export function MultipartViewer({ data, boundary, idPrefix = "multipart" }: Prop
// oxlint-disable-next-line react/no-array-index-key -- Nothing else to key on
key={idPrefix + part.name + i}
value={tabValue(part, i)}
- className="pl-3 !pt-0"
+ className="pl-3 pt-0!"
>
diff --git a/apps/yaak-client/components/responseViewers/TextViewer.tsx b/apps/yaak-client/components/responseViewers/TextViewer.tsx
index ffd56185..4784daf1 100644
--- a/apps/yaak-client/components/responseViewers/TextViewer.tsx
+++ b/apps/yaak-client/components/responseViewers/TextViewer.tsx
@@ -72,7 +72,7 @@ export function TextViewer({
if (isSearching) {
nodes.push(
-
+
,
);
diff --git a/apps/yaak-client/hooks/useToggleCommandPalette.tsx b/apps/yaak-client/hooks/useToggleCommandPalette.tsx
index 764623b1..4aead1bc 100644
--- a/apps/yaak-client/hooks/useToggleCommandPalette.tsx
+++ b/apps/yaak-client/hooks/useToggleCommandPalette.tsx
@@ -8,7 +8,7 @@ export function useToggleCommandPalette() {
id: "command_palette",
size: "dynamic",
hideX: true,
- className: "mb-auto mt-[4rem] !max-h-[min(30rem,calc(100vh-4rem))]",
+ className: "mb-auto mt-16 max-h-[min(30rem,calc(100vh-4rem))]!",
vAlign: "top",
noPadding: true,
noScroll: true,
diff --git a/apps/yaak-client/lib/editEnvironment.tsx b/apps/yaak-client/lib/editEnvironment.tsx
index c358b147..cb1fc8a7 100644
--- a/apps/yaak-client/lib/editEnvironment.tsx
+++ b/apps/yaak-client/lib/editEnvironment.tsx
@@ -45,7 +45,7 @@ export async function editEnvironment(
id: "environment-editor",
noPadding: true,
size: "lg",
- className: "h-[90vh] max-h-[60rem]",
+ className: "h-[90vh] max-h-240",
render: () => (
(
{
@@ -206,7 +206,7 @@ async function showUpdateAvailableToast(updateInfo: UpdateInfo) {
{
await emit(replyEventId, {
@@ -259,7 +259,7 @@ function showPluginUpdatesToast(updateInfo: PluginUpdateNotification) {
{
const updated = await updateAllPlugins();
@@ -311,7 +311,7 @@ function showNotificationToast(n: YaakNotification) {
}
onClick={() => {
hide();
diff --git a/apps/yaak-client/lib/toast.tsx b/apps/yaak-client/lib/toast.tsx
index f76bcf6f..e02d86b3 100644
--- a/apps/yaak-client/lib/toast.tsx
+++ b/apps/yaak-client/lib/toast.tsx
@@ -61,7 +61,7 @@ export function showErrorToast({
message: (
{title}
- {String(message)}
+ {String(message)}
),
});
diff --git a/apps/yaak-client/main.css b/apps/yaak-client/main.css
index 88e60514..e77317a0 100644
--- a/apps/yaak-client/main.css
+++ b/apps/yaak-client/main.css
@@ -1,6 +1,6 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
+@import "tailwindcss";
+@import "../../packages/tailwind-config/index.css";
+@source "../../packages/ui/src";
@layer base {
html,
@@ -50,7 +50,7 @@
a,
a[href] * {
- @apply cursor-pointer !important;
+ @apply cursor-pointer!;
}
table th {
@@ -72,14 +72,14 @@
}
&::-webkit-scrollbar-thumb:hover {
- @apply opacity-40 !important;
+ @apply opacity-40!;
}
}
.hide-scrollbars {
&::-webkit-scrollbar-corner,
&::-webkit-scrollbar {
- @apply hidden !important;
+ @apply hidden!;
}
}
diff --git a/apps/yaak-client/package.json b/apps/yaak-client/package.json
index 144fbfd9..83750ffa 100644
--- a/apps/yaak-client/package.json
+++ b/apps/yaak-client/package.json
@@ -79,8 +79,6 @@
"devDependencies": {
"@lezer/generator": "^1.8.0",
"@rolldown/plugin-babel": "^0.2.3",
- "@tailwindcss/container-queries": "^0.1.1",
- "@tailwindcss/nesting": "^0.0.0-insiders.565cd3e",
"@tanstack/router-plugin": "^1.127.5",
"@types/babel__core": "^7.20.5",
"@types/node": "^24.0.13",
@@ -94,14 +92,10 @@
"@vitejs/plugin-react": "^6.0.1",
"@yaakapp-internal/theme": "^1.0.0",
"@yaakapp-internal/ui": "^1.0.0",
- "autoprefixer": "^10.4.21",
"babel-plugin-react-compiler": "^1.0.0",
"decompress": "^4.2.1",
"internal-ip": "^8.0.0",
- "postcss": "^8.5.14",
- "postcss-nesting": "^13.0.2",
"rollup": "^4.60.3",
- "tailwindcss": "^3.4.17",
"vite": "npm:@voidzero-dev/vite-plus-core@^0.2.1",
"vite-plugin-static-copy": "^3.3.0",
"vite-plugin-svgr": "^4.5.0",
diff --git a/apps/yaak-client/postcss.config.cjs b/apps/yaak-client/postcss.config.cjs
index 5b832920..972e9962 100644
--- a/apps/yaak-client/postcss.config.cjs
+++ b/apps/yaak-client/postcss.config.cjs
@@ -1,7 +1,3 @@
module.exports = {
- plugins: [
- require("@tailwindcss/nesting")(require("postcss-nesting")),
- require("tailwindcss"),
- require("autoprefixer"),
- ],
+ plugins: [require("@tailwindcss/postcss")],
};
diff --git a/apps/yaak-client/tailwind.config.cjs b/apps/yaak-client/tailwind.config.cjs
deleted file mode 100644
index d8800fb8..00000000
--- a/apps/yaak-client/tailwind.config.cjs
+++ /dev/null
@@ -1,16 +0,0 @@
-const sharedConfig = require("@yaakapp-internal/tailwind-config");
-
-/** @type {import('tailwindcss').Config} */
-module.exports = {
- ...sharedConfig,
- content: [
- "./*.{html,ts,tsx}",
- "./commands/**/*.{ts,tsx}",
- "./components/**/*.{ts,tsx}",
- "./hooks/**/*.{ts,tsx}",
- "./init/**/*.{ts,tsx}",
- "./lib/**/*.{ts,tsx}",
- "./routes/**/*.{ts,tsx}",
- "../../packages/ui/src/**/*.{ts,tsx}",
- ],
-};
diff --git a/apps/yaak-proxy/main.css b/apps/yaak-proxy/main.css
index dff6389f..da1e53f1 100644
--- a/apps/yaak-proxy/main.css
+++ b/apps/yaak-proxy/main.css
@@ -1,6 +1,6 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
+@import "tailwindcss";
+@import "../../packages/tailwind-config/index.css";
+@source "../../packages/ui/src";
@layer base {
html,
@@ -46,7 +46,7 @@
a,
a[href] * {
- @apply cursor-pointer !important;
+ @apply cursor-pointer!;
}
table th {
@@ -68,14 +68,14 @@
}
&::-webkit-scrollbar-thumb:hover {
- @apply opacity-40 !important;
+ @apply opacity-40!;
}
}
.hide-scrollbars {
&::-webkit-scrollbar-corner,
&::-webkit-scrollbar {
- @apply hidden !important;
+ @apply hidden!;
}
}
diff --git a/apps/yaak-proxy/postcss.config.cjs b/apps/yaak-proxy/postcss.config.cjs
index 5b832920..972e9962 100644
--- a/apps/yaak-proxy/postcss.config.cjs
+++ b/apps/yaak-proxy/postcss.config.cjs
@@ -1,7 +1,3 @@
module.exports = {
- plugins: [
- require("@tailwindcss/nesting")(require("postcss-nesting")),
- require("tailwindcss"),
- require("autoprefixer"),
- ],
+ plugins: [require("@tailwindcss/postcss")],
};
diff --git a/apps/yaak-proxy/tailwind.config.cjs b/apps/yaak-proxy/tailwind.config.cjs
deleted file mode 100644
index 05484d2f..00000000
--- a/apps/yaak-proxy/tailwind.config.cjs
+++ /dev/null
@@ -1,7 +0,0 @@
-const sharedConfig = require("@yaakapp-internal/tailwind-config");
-
-/** @type {import('tailwindcss').Config} */
-module.exports = {
- ...sharedConfig,
- content: ["./**/*.{html,ts,tsx}", "../../packages/ui/src/**/*.{ts,tsx}"],
-};
diff --git a/package-lock.json b/package-lock.json
index d1be45b0..1e151561 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -79,6 +79,7 @@
},
"devDependencies": {
"@rolldown/plugin-babel": "^0.2.3",
+ "@tailwindcss/postcss": "^4.3.2",
"@tauri-apps/cli": "^2.11.1",
"@types/babel__core": "^7.20.5",
"@vitejs/plugin-react": "^6.0.1",
@@ -87,6 +88,8 @@
"dotenv-cli": "^11.0.0",
"nodejs-file-downloader": "^4.13.0",
"npm-run-all": "^4.1.5",
+ "postcss": "^8.5.16",
+ "tailwindcss": "^4.3.2",
"typescript": "^5.8.3",
"vite": "npm:@voidzero-dev/vite-plus-core@^0.2.1",
"vite-plus": "^0.2.1",
@@ -167,8 +170,6 @@
"devDependencies": {
"@lezer/generator": "^1.8.0",
"@rolldown/plugin-babel": "^0.2.3",
- "@tailwindcss/container-queries": "^0.1.1",
- "@tailwindcss/nesting": "^0.0.0-insiders.565cd3e",
"@tanstack/router-plugin": "^1.127.5",
"@types/babel__core": "^7.20.5",
"@types/node": "^24.0.13",
@@ -182,14 +183,10 @@
"@vitejs/plugin-react": "^6.0.1",
"@yaakapp-internal/theme": "^1.0.0",
"@yaakapp-internal/ui": "^1.0.0",
- "autoprefixer": "^10.4.21",
"babel-plugin-react-compiler": "^1.0.0",
"decompress": "^4.2.1",
"internal-ip": "^8.0.0",
- "postcss": "^8.5.14",
- "postcss-nesting": "^13.0.2",
"rollup": "^4.60.3",
- "tailwindcss": "^3.4.17",
"vite": "npm:@voidzero-dev/vite-plus-core@^0.2.1",
"vite-plugin-static-copy": "^3.3.0",
"vite-plugin-svgr": "^4.5.0",
@@ -223,54 +220,6 @@
"node": "^18 || >=20"
}
},
- "apps/yaak-client/node_modules/postcss": {
- "version": "8.5.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz",
- "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "nanoid": "^3.3.11",
- "picocolors": "^1.1.1",
- "source-map-js": "^1.2.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "apps/yaak-client/node_modules/postcss/node_modules/nanoid": {
- "version": "3.3.12",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz",
- "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
"apps/yaak-client/node_modules/uuid": {
"version": "14.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz",
@@ -395,6 +344,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@@ -1567,6 +1517,7 @@
"version": "0.3.13",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
"integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.5.0",
@@ -1588,6 +1539,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=6.0.0"
@@ -1603,6 +1555,7 @@
"version": "0.3.31",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
"integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
@@ -3967,26 +3920,275 @@
"dev": true,
"license": "Apache-2.0"
},
- "node_modules/@tailwindcss/container-queries": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/container-queries/-/container-queries-0.1.1.tgz",
- "integrity": "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==",
- "license": "MIT",
- "peerDependencies": {
- "tailwindcss": ">=3.2.0"
- }
- },
- "node_modules/@tailwindcss/nesting": {
- "version": "0.0.0-insiders.565cd3e",
- "resolved": "https://registry.npmjs.org/@tailwindcss/nesting/-/nesting-0.0.0-insiders.565cd3e.tgz",
- "integrity": "sha512-WhHoFBx19TnH/c+xLwT/sxei6+4RpdfiyG3MYXfmLaMsADmVqBkF7B6lDalgZD9YdM459MF7DtxVbWkOrV7IaQ==",
+ "node_modules/@tailwindcss/node": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.2.tgz",
+ "integrity": "sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "postcss-nested": "^5.0.5"
+ "@jridgewell/remapping": "^2.3.5",
+ "enhanced-resolve": "5.21.6",
+ "jiti": "^2.7.0",
+ "lightningcss": "1.32.0",
+ "magic-string": "^0.30.21",
+ "source-map-js": "^1.2.1",
+ "tailwindcss": "4.3.2"
+ }
+ },
+ "node_modules/@tailwindcss/oxide": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.2.tgz",
+ "integrity": "sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 20"
},
- "peerDependencies": {
- "postcss": "^8.2.15"
+ "optionalDependencies": {
+ "@tailwindcss/oxide-android-arm64": "4.3.2",
+ "@tailwindcss/oxide-darwin-arm64": "4.3.2",
+ "@tailwindcss/oxide-darwin-x64": "4.3.2",
+ "@tailwindcss/oxide-freebsd-x64": "4.3.2",
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.2",
+ "@tailwindcss/oxide-linux-arm64-gnu": "4.3.2",
+ "@tailwindcss/oxide-linux-arm64-musl": "4.3.2",
+ "@tailwindcss/oxide-linux-x64-gnu": "4.3.2",
+ "@tailwindcss/oxide-linux-x64-musl": "4.3.2",
+ "@tailwindcss/oxide-wasm32-wasi": "4.3.2",
+ "@tailwindcss/oxide-win32-arm64-msvc": "4.3.2",
+ "@tailwindcss/oxide-win32-x64-msvc": "4.3.2"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-android-arm64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.2.tgz",
+ "integrity": "sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-arm64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.2.tgz",
+ "integrity": "sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-x64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.2.tgz",
+ "integrity": "sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-freebsd-x64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.2.tgz",
+ "integrity": "sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.2.tgz",
+ "integrity": "sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.2.tgz",
+ "integrity": "sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.2.tgz",
+ "integrity": "sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.2.tgz",
+ "integrity": "sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-musl": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.2.tgz",
+ "integrity": "sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-wasm32-wasi": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.2.tgz",
+ "integrity": "sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==",
+ "bundleDependencies": [
+ "@napi-rs/wasm-runtime",
+ "@emnapi/core",
+ "@emnapi/runtime",
+ "@tybys/wasm-util",
+ "@emnapi/wasi-threads",
+ "tslib"
+ ],
+ "cpu": [
+ "wasm32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/core": "^1.11.1",
+ "@emnapi/runtime": "^1.11.1",
+ "@emnapi/wasi-threads": "^1.2.2",
+ "@napi-rs/wasm-runtime": "^1.1.4",
+ "@tybys/wasm-util": "^0.10.2",
+ "tslib": "^2.8.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.2.tgz",
+ "integrity": "sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.2.tgz",
+ "integrity": "sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/postcss": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.3.2.tgz",
+ "integrity": "sha512-rjVWYCa7Ngbi5AarT6k8TkxUG3Wl1QKzHdIZVsjZSzf36Jmo2IKZt/NHRAwly8oDkbBOH0YTu+CHuf9jPxMc+g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
+ "@tailwindcss/node": "4.3.2",
+ "@tailwindcss/oxide": "4.3.2",
+ "postcss": "^8.5.15",
+ "tailwindcss": "4.3.2"
}
},
"node_modules/@tanstack/history": {
@@ -5813,16 +6015,11 @@
"node": ">=14"
}
},
- "node_modules/any-promise": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
- "license": "MIT"
- },
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
@@ -5836,6 +6033,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8.6"
@@ -5844,12 +6042,6 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/arg": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
- "license": "MIT"
- },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -5956,43 +6148,6 @@
"node": ">= 0.4"
}
},
- "node_modules/autoprefixer": {
- "version": "10.4.23",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz",
- "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.28.1",
- "caniuse-lite": "^1.0.30001760",
- "fraction.js": "^5.3.4",
- "picocolors": "^1.1.1",
- "postcss-value-parser": "^4.2.0"
- },
- "bin": {
- "autoprefixer": "bin/autoprefixer"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
"node_modules/available-typed-arrays": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
@@ -6088,6 +6243,7 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -6337,15 +6493,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/camelcase-css": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/caniuse-lite": {
"version": "1.0.30001763",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001763.tgz",
@@ -6455,6 +6602,7 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
@@ -7030,18 +7178,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "license": "MIT",
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/csstype": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
@@ -7429,12 +7565,6 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/didyoumean": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
- "license": "Apache-2.0"
- },
"node_modules/diff": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-8.0.2.tgz",
@@ -7473,12 +7603,6 @@
"integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==",
"license": "MIT"
},
- "node_modules/dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
- "license": "MIT"
- },
"node_modules/dom-accessibility-api": {
"version": "0.5.16",
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
@@ -7639,6 +7763,20 @@
"once": "^1.4.0"
}
},
+ "node_modules/enhanced-resolve": {
+ "version": "5.21.6",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz",
+ "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
@@ -8238,6 +8376,7 @@
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
"integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=12.0.0"
@@ -8402,20 +8541,6 @@
"node": ">= 0.6"
}
},
- "node_modules/fraction.js": {
- "version": "5.3.4",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz",
- "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/rawify"
- }
- },
"node_modules/framer-motion": {
"version": "12.25.0",
"resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.25.0.tgz",
@@ -8478,6 +8603,7 @@
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
"hasInstallScript": true,
"license": "MIT",
"optional": true,
@@ -9458,6 +9584,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"binary-extensions": "^2.0.0"
@@ -9498,6 +9625,7 @@
"version": "2.16.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
"integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"hasown": "^2.0.2"
@@ -9929,12 +10057,13 @@
}
},
"node_modules/jiti": {
- "version": "1.21.7",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
- "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
+ "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
+ "dev": true,
"license": "MIT",
"bin": {
- "jiti": "bin/jiti.js"
+ "jiti": "lib/jiti-cli.mjs"
}
},
"node_modules/jose": {
@@ -10498,18 +10627,6 @@
"url": "https://opencollective.com/parcel"
}
},
- "node_modules/lilconfig": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
- "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
- "license": "MIT",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/antonk52"
- }
- },
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
@@ -11902,17 +12019,6 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
- "node_modules/mz": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
- "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
- "license": "MIT",
- "dependencies": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
"node_modules/nano-css": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/nano-css/-/nano-css-5.6.2.tgz",
@@ -11934,9 +12040,10 @@
}
},
"node_modules/nanoid": {
- "version": "3.3.11",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "version": "3.3.15",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz",
+ "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -12094,6 +12201,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -13137,6 +13245,7 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true,
"license": "MIT"
},
"node_modules/path-scurry": {
@@ -13223,6 +13332,7 @@
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
@@ -13277,15 +13387,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/pirates": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
- "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/pkce-challenge": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz",
@@ -13315,9 +13416,10 @@
}
},
"node_modules/postcss": {
- "version": "8.5.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
- "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "version": "8.5.16",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz",
+ "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -13334,7 +13436,7 @@
],
"license": "MIT",
"dependencies": {
- "nanoid": "^3.3.11",
+ "nanoid": "^3.3.12",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
@@ -13342,217 +13444,6 @@
"node": "^10 || ^12 || >=14"
}
},
- "node_modules/postcss-import": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
- "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.0.0",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "postcss": "^8.0.0"
- }
- },
- "node_modules/postcss-js": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz",
- "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "camelcase-css": "^2.0.1"
- },
- "engines": {
- "node": "^12 || ^14 || >= 16"
- },
- "peerDependencies": {
- "postcss": "^8.4.21"
- }
- },
- "node_modules/postcss-load-config": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz",
- "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "lilconfig": "^3.1.1"
- },
- "engines": {
- "node": ">= 18"
- },
- "peerDependencies": {
- "jiti": ">=1.21.0",
- "postcss": ">=8.0.9",
- "tsx": "^4.8.1",
- "yaml": "^2.4.2"
- },
- "peerDependenciesMeta": {
- "jiti": {
- "optional": true
- },
- "postcss": {
- "optional": true
- },
- "tsx": {
- "optional": true
- },
- "yaml": {
- "optional": true
- }
- }
- },
- "node_modules/postcss-nested": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
- "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-selector-parser": "^6.0.6"
- },
- "engines": {
- "node": ">=12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.2.14"
- }
- },
- "node_modules/postcss-nesting": {
- "version": "13.0.2",
- "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.2.tgz",
- "integrity": "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT-0",
- "dependencies": {
- "@csstools/selector-resolve-nested": "^3.1.0",
- "@csstools/selector-specificity": "^5.0.0",
- "postcss-selector-parser": "^7.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "postcss": "^8.4"
- }
- },
- "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz",
- "integrity": "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT-0",
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "postcss-selector-parser": "^7.0.0"
- }
- },
- "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
- "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT-0",
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "postcss-selector-parser": "^7.0.0"
- }
- },
- "node_modules/postcss-nesting/node_modules/postcss-selector-parser": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
- "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
- "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "license": "MIT"
- },
"node_modules/postman-collection": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-5.2.0.tgz",
@@ -13961,24 +13852,6 @@
"react-dom": "*"
}
},
- "node_modules/read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "license": "MIT",
- "dependencies": {
- "pify": "^2.3.0"
- }
- },
- "node_modules/read-cache/node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/read-pkg": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
@@ -14028,6 +13901,7 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"picomatch": "^2.2.1"
@@ -14040,6 +13914,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8.6"
@@ -14268,6 +14143,7 @@
"version": "1.22.11",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
"integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-core-module": "^2.16.1",
@@ -15033,6 +14909,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -15480,37 +15357,6 @@
"minimist": "^1.1.0"
}
},
- "node_modules/sucrase": {
- "version": "3.35.1",
- "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz",
- "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.2",
- "commander": "^4.0.0",
- "lines-and-columns": "^1.1.6",
- "mz": "^2.7.0",
- "pirates": "^4.0.1",
- "tinyglobby": "^0.2.11",
- "ts-interface-checker": "^0.1.9"
- },
- "bin": {
- "sucrase": "bin/sucrase",
- "sucrase-node": "bin/sucrase-node"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/sucrase/node_modules/commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/super-regex": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/super-regex/-/super-regex-0.2.0.tgz",
@@ -15546,6 +15392,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -15745,77 +15592,24 @@
"license": "MIT"
},
"node_modules/tailwindcss": {
- "version": "3.4.19",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz",
- "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==",
- "license": "MIT",
- "dependencies": {
- "@alloc/quick-lru": "^5.2.0",
- "arg": "^5.0.2",
- "chokidar": "^3.6.0",
- "didyoumean": "^1.2.2",
- "dlv": "^1.1.3",
- "fast-glob": "^3.3.2",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "jiti": "^1.21.7",
- "lilconfig": "^3.1.3",
- "micromatch": "^4.0.8",
- "normalize-path": "^3.0.0",
- "object-hash": "^3.0.0",
- "picocolors": "^1.1.1",
- "postcss": "^8.4.47",
- "postcss-import": "^15.1.0",
- "postcss-js": "^4.0.1",
- "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0",
- "postcss-nested": "^6.2.0",
- "postcss-selector-parser": "^6.1.2",
- "resolve": "^1.22.8",
- "sucrase": "^3.35.0"
- },
- "bin": {
- "tailwind": "lib/cli.js",
- "tailwindcss": "lib/cli.js"
- },
- "engines": {
- "node": ">=14.0.0"
- }
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.2.tgz",
+ "integrity": "sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/tailwindcss/node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/tailwindcss/node_modules/postcss-nested": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
- "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
+ "node_modules/tapable": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz",
+ "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "postcss-selector-parser": "^6.1.1"
- },
"engines": {
- "node": ">=12.0"
+ "node": ">=6"
},
- "peerDependencies": {
- "postcss": "^8.2.14"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
"node_modules/tar-stream": {
@@ -15837,27 +15631,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/thenify": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
- "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
- "license": "MIT",
- "dependencies": {
- "any-promise": "^1.0.0"
- }
- },
- "node_modules/thenify-all": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
- "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
- "license": "MIT",
- "dependencies": {
- "thenify": ">= 3.1.0 < 4"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/throttle-debounce": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz",
@@ -15923,6 +15696,7 @@
"version": "0.2.15",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
"integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"fdir": "^6.5.0",
@@ -16049,12 +15823,6 @@
"integrity": "sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==",
"license": "Unlicense"
},
- "node_modules/ts-interface-checker": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
- "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
- "license": "Apache-2.0"
- },
"node_modules/tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
@@ -16460,6 +16228,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true,
"license": "MIT"
},
"node_modules/uuid": {
@@ -17353,11 +17122,7 @@
},
"packages/tailwind-config": {
"name": "@yaakapp-internal/tailwind-config",
- "version": "1.0.0",
- "dependencies": {
- "@tailwindcss/container-queries": "^0.1.1",
- "tailwindcss": "^3.4.17"
- }
+ "version": "1.0.0"
},
"packages/theme": {
"name": "@yaakapp-internal/theme",
diff --git a/package.json b/package.json
index 28946ad4..b6b4e4c3 100644
--- a/package.json
+++ b/package.json
@@ -112,6 +112,7 @@
},
"devDependencies": {
"@rolldown/plugin-babel": "^0.2.3",
+ "@tailwindcss/postcss": "^4.3.2",
"@tauri-apps/cli": "^2.11.1",
"@types/babel__core": "^7.20.5",
"@vitejs/plugin-react": "^6.0.1",
@@ -120,6 +121,8 @@
"dotenv-cli": "^11.0.0",
"nodejs-file-downloader": "^4.13.0",
"npm-run-all": "^4.1.5",
+ "postcss": "^8.5.16",
+ "tailwindcss": "^4.3.2",
"typescript": "^5.8.3",
"vite": "npm:@voidzero-dev/vite-plus-core@^0.2.1",
"vite-plus": "^0.2.1",
diff --git a/packages/tailwind-config/index.cjs b/packages/tailwind-config/index.cjs
deleted file mode 100644
index 3d8ddcae..00000000
--- a/packages/tailwind-config/index.cjs
+++ /dev/null
@@ -1,134 +0,0 @@
-const plugin = require("tailwindcss/plugin");
-
-const sizes = {
- "2xs": "1.4rem",
- xs: "1.8rem",
- sm: "2.0rem",
- md: "2.3rem",
- lg: "2.6rem",
-};
-
-/** @type {import('tailwindcss').Config} */
-module.exports = {
- darkMode: ["class", '[data-resolved-appearance="dark"]'],
- theme: {
- extend: {
- keyframes: {
- blinkRing: {
- "0%, 49%": { "--tw-ring-color": "var(--primary)" },
- "50%, 99%": { "--tw-ring-color": "transparent" },
- "100%": { "--tw-ring-color": "var(--primary)" },
- },
- },
- animation: {
- blinkRing: "blinkRing 150ms step-start 400ms infinite",
- },
- opacity: {
- disabled: "0.3",
- },
- fontSize: {
- xs: "0.8rem",
- },
- height: sizes,
- width: sizes,
- minHeight: sizes,
- minWidth: sizes,
- lineHeight: {
- // HACK: Minus 2 to account for borders inside inputs
- xs: "calc(1.75rem - 2px)",
- sm: "calc(2.0rem - 2px)",
- md: "calc(2.5rem - 2px)",
- },
- transitionProperty: {
- grid: "grid",
- },
- },
- fontFamily: {
- mono: [
- "var(--font-family-editor)",
- "JetBrains Mono",
- "ui-monospace",
- "SFMono-Regular",
- "Menlo",
- "Monaco",
- "Fira Code",
- "Ubuntu Mono",
- "Consolas",
- "Liberation Mono",
- "Courier New",
- "DejaVu Sans Mono",
- "Hack",
- "monospace",
- ],
- sans: [
- "var(--font-family-interface)",
- "Inter UI",
- "-apple-system",
- "BlinkMacSystemFont",
- "Segoe UI",
- "Roboto",
- "Oxygen-Sans",
- "Ubuntu",
- "Cantarell",
- "Helvetica Neue",
- "sans-serif",
- "Apple Color Emoji",
- "Segoe UI Emoji",
- "Segoe UI Symbol",
- ],
- },
- fontSize: {
- "4xs": "0.6rem",
- "3xs": "0.675rem",
- "2xs": "0.75rem",
- xs: "0.8rem",
- sm: "0.9rem",
- base: "1rem",
- lg: "1.12rem",
- xl: "1.25rem",
- "2xl": "1.5rem",
- "3xl": "2rem",
- "4xl": "2.5rem",
- "5xl": "3rem",
- editor: "var(--editor-font-size)",
- shrink: "0.8em",
- },
- boxShadow: {
- DEFAULT: "0 1px 3px 0 var(--shadow)",
- lg: "0 10px 15px -3px var(--shadow)",
- },
- colors: {
- transparent: "transparent",
- placeholder: "var(--textSubtlest)",
- shadow: "var(--shadow)",
- backdrop: "var(--backdrop)",
- selection: "var(--selection)",
-
- // New theme values
- surface: "var(--surface)",
- "surface-highlight": "var(--surfaceHighlight)",
- "surface-active": "var(--surfaceActive)",
- text: "var(--text)",
- "text-subtle": "var(--textSubtle)",
- "text-subtlest": "var(--textSubtlest)",
- border: "var(--border)",
- "border-subtle": "var(--borderSubtle)",
- "border-focus": "var(--borderFocus)",
- primary: "var(--primary)",
- danger: "var(--danger)",
- secondary: "var(--secondary)",
- success: "var(--success)",
- info: "var(--info)",
- notice: "var(--notice)",
- warning: "var(--warning)",
- },
- },
- plugins: [
- require("@tailwindcss/container-queries"),
- // oxlint-disable-next-line unbound-method -- destructured from plugin API
- plugin(({ addVariant }) => {
- addVariant("hocus", ["&:hover", "&:focus-visible", "&.focus:focus"]);
- addVariant("focus-visible-or-class", ["&:focus-visible", "&.focus:focus"]);
- }),
- ],
-};
diff --git a/packages/tailwind-config/index.css b/packages/tailwind-config/index.css
new file mode 100644
index 00000000..20163ecf
--- /dev/null
+++ b/packages/tailwind-config/index.css
@@ -0,0 +1,124 @@
+@custom-variant dark (&:is([data-resolved-appearance="dark"] *));
+@custom-variant hocus (&:hover, &:focus-visible, &.focus:focus);
+@custom-variant focus-visible-or-class (&:focus-visible, &.focus:focus);
+
+@theme inline {
+ --font-mono:
+ var(--font-family-editor), JetBrains Mono, ui-monospace, SFMono-Regular,
+ Menlo, Monaco, Fira Code, Ubuntu Mono, Consolas, Liberation Mono,
+ Courier New, DejaVu Sans Mono, Hack, monospace;
+ --font-sans:
+ var(--font-family-interface), Inter UI, -apple-system, BlinkMacSystemFont,
+ Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue,
+ sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
+ --font-serif: initial;
+
+ --text-*: initial;
+ --text-4xs: 0.6rem;
+ --text-3xs: 0.675rem;
+ --text-2xs: 0.75rem;
+ --text-xs: 0.8rem;
+ --text-sm: 0.9rem;
+ --text-base: 1rem;
+ --text-lg: 1.12rem;
+ --text-xl: 1.25rem;
+ --text-2xl: 1.5rem;
+ --text-3xl: 2rem;
+ --text-4xl: 2.5rem;
+ --text-5xl: 3rem;
+ --text-editor: var(--editor-font-size);
+ --text-shrink: 0.8em;
+
+ --shadow-*: initial;
+ --shadow: 0 1px 3px 0 var(--shadow);
+ --shadow-lg: 0 10px 15px -3px var(--shadow);
+
+ --color-*: initial;
+ --color-transparent: transparent;
+ --color-placeholder: var(--textSubtlest);
+ --color-shadow: var(--shadow);
+ --color-backdrop: var(--backdrop);
+ --color-selection: var(--selection);
+ --color-surface: var(--surface);
+ --color-surface-highlight: var(--surfaceHighlight);
+ --color-surface-active: var(--surfaceActive);
+ --color-text: var(--text);
+ --color-text-subtle: var(--textSubtle);
+ --color-text-subtlest: var(--textSubtlest);
+ --color-border: var(--border);
+ --color-border-subtle: var(--borderSubtle);
+ --color-border-focus: var(--borderFocus);
+ --color-primary: var(--primary);
+ --color-danger: var(--danger);
+ --color-secondary: var(--secondary);
+ --color-success: var(--success);
+ --color-info: var(--info);
+ --color-notice: var(--notice);
+ --color-warning: var(--warning);
+
+ --animate-blinkRing: blinkRing 150ms step-start 400ms infinite;
+
+ --opacity-disabled: 30%;
+
+ --height-2xs: 1.4rem;
+ --height-xs: 1.8rem;
+ --height-sm: 2rem;
+ --height-md: 2.3rem;
+ --height-lg: 2.6rem;
+
+ --width-2xs: 1.4rem;
+ --width-xs: 1.8rem;
+ --width-sm: 2rem;
+ --width-md: 2.3rem;
+ --width-lg: 2.6rem;
+
+ --min-height-2xs: 1.4rem;
+ --min-height-xs: 1.8rem;
+ --min-height-sm: 2rem;
+ --min-height-md: 2.3rem;
+ --min-height-lg: 2.6rem;
+
+ --min-width-2xs: 1.4rem;
+ --min-width-xs: 1.8rem;
+ --min-width-sm: 2rem;
+ --min-width-md: 2.3rem;
+ --min-width-lg: 2.6rem;
+
+ --leading-xs: calc(1.75rem - 2px);
+ --leading-sm: calc(2rem - 2px);
+ --leading-md: calc(2.5rem - 2px);
+
+ --transition-property-grid: grid;
+
+ @keyframes blinkRing {
+ 0%,
+ 49% {
+ --tw-ring-color: var(--primary);
+ }
+ 50%,
+ 99% {
+ --tw-ring-color: transparent;
+ }
+ 100% {
+ --tw-ring-color: var(--primary);
+ }
+ }
+}
+
+/*
+ The default border color has changed to `currentcolor` in Tailwind CSS v4,
+ so we've added these compatibility styles to make sure everything still
+ looks the same as it did with Tailwind CSS v3.
+
+ If we ever want to remove these styles, we need to add an explicit border
+ color utility to any element that depends on these defaults.
+*/
+@layer base {
+ *,
+ ::after,
+ ::before,
+ ::backdrop,
+ ::file-selector-button {
+ border-color: var(--color-gray-200, currentcolor);
+ }
+}
diff --git a/packages/tailwind-config/index.d.ts b/packages/tailwind-config/index.d.ts
deleted file mode 100644
index 3f71c5dd..00000000
--- a/packages/tailwind-config/index.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import type { Config } from "tailwindcss";
-
-declare const config: Config;
-
-export = config;
diff --git a/packages/tailwind-config/package.json b/packages/tailwind-config/package.json
index f09f219d..eee96c8f 100644
--- a/packages/tailwind-config/package.json
+++ b/packages/tailwind-config/package.json
@@ -2,10 +2,5 @@
"name": "@yaakapp-internal/tailwind-config",
"version": "1.0.0",
"private": true,
- "main": "index.cjs",
- "types": "index.d.ts",
- "dependencies": {
- "@tailwindcss/container-queries": "^0.1.1",
- "tailwindcss": "^3.4.17"
- }
+ "style": "index.css"
}
diff --git a/packages/ui/src/components/Button.tsx b/packages/ui/src/components/Button.tsx
index a1f57aa2..7cea25e7 100644
--- a/packages/ui/src/components/Button.tsx
+++ b/packages/ui/src/components/Button.tsx
@@ -61,8 +61,8 @@ export const Button = forwardRef(function Button
"border",
"max-w-full min-w-0",
"hocus:opacity-100",
- "whitespace-nowrap outline-none",
- "flex-shrink-0 flex items-center",
+ "whitespace-nowrap outline-hidden",
+ "shrink-0 flex items-center",
"outline-0",
isDisabled ? "pointer-events-none opacity-disabled" : "pointer-events-auto",
justify === "start" && "justify-start",
@@ -70,7 +70,7 @@ export const Button = forwardRef(function Button
size === "md" && "h-md px-3 rounded-md",
size === "sm" && "h-sm px-2.5 rounded-md",
size === "xs" && "h-xs px-2 text-sm rounded-md",
- size === "2xs" && "h-2xs px-2 text-xs rounded",
+ size === "2xs" && "h-2xs px-2 text-xs rounded-sm",
size === "auto" && "px-3 py-2 rounded-md",
variant === "solid" && "border-transparent",
variant === "solid" &&
diff --git a/packages/ui/src/components/DropMarker.tsx b/packages/ui/src/components/DropMarker.tsx
index f3a1f8dd..8f8866d5 100644
--- a/packages/ui/src/components/DropMarker.tsx
+++ b/packages/ui/src/components/DropMarker.tsx
@@ -23,8 +23,8 @@ export const DropMarker = memo(
diff --git a/packages/ui/src/components/FormattedError.tsx b/packages/ui/src/components/FormattedError.tsx
index 72fbb92f..07c02559 100644
--- a/packages/ui/src/components/FormattedError.tsx
+++ b/packages/ui/src/components/FormattedError.tsx
@@ -12,8 +12,8 @@ export function FormattedError({ children, className }: Props) {
className={classNames(
className,
"cursor-text select-auto",
- "[&_*]:cursor-text [&_*]:select-auto",
- "font-mono text-sm w-full bg-surface-highlight p-3 rounded",
+ "**:cursor-text **:select-auto",
+ "font-mono text-sm w-full bg-surface-highlight p-3 rounded-sm",
"whitespace-pre-wrap border border-danger border-dashed overflow-x-auto",
)}
>
diff --git a/packages/ui/src/components/HeaderSize.tsx b/packages/ui/src/components/HeaderSize.tsx
index 47f504e6..79c13a72 100644
--- a/packages/ui/src/components/HeaderSize.tsx
+++ b/packages/ui/src/components/HeaderSize.tsx
@@ -67,7 +67,7 @@ export function HeaderSize({
style={finalStyle}
className={classNames(
className,
- "pt-[1px]", // Make up for bottom border
+ "pt-px", // Make up for bottom border
"select-none relative flex items-center",
"w-full border-b border-border-subtle min-w-0",
)}
diff --git a/packages/ui/src/components/Icon.tsx b/packages/ui/src/components/Icon.tsx
index 6dcaf194..675b46e8 100644
--- a/packages/ui/src/components/Icon.tsx
+++ b/packages/ui/src/components/Icon.tsx
@@ -319,7 +319,7 @@ export const Icon = memo(function Icon({
className,
!spin && "transform-gpu",
spin && "animate-spin",
- "flex-shrink-0",
+ "shrink-0",
size === "xl" && "h-6 w-6",
size === "lg" && "h-5 w-5",
size === "md" && "h-4 w-4",
diff --git a/packages/ui/src/components/IconButton.tsx b/packages/ui/src/components/IconButton.tsx
index d3bf16cf..4cf5aa45 100644
--- a/packages/ui/src/components/IconButton.tsx
+++ b/packages/ui/src/components/IconButton.tsx
@@ -60,8 +60,8 @@ export const IconButton = forwardRef (functio
type={type}
className={classNames(
className,
- "group/button relative flex-shrink-0",
- "!px-0",
+ "group/button relative shrink-0",
+ "px-0!",
size === "md" && "w-md",
size === "sm" && "w-sm",
size === "xs" && "w-xs",
@@ -85,7 +85,7 @@ export const IconButton = forwardRef(functio
className={classNames(
iconClassName,
"group-hover/button:text-text",
- confirmed && "!text-success",
+ confirmed && "text-success!",
props.disabled && "opacity-70",
)}
/>
diff --git a/packages/ui/src/components/InlineCode.tsx b/packages/ui/src/components/InlineCode.tsx
index 7a117efe..aeb87f29 100644
--- a/packages/ui/src/components/InlineCode.tsx
+++ b/packages/ui/src/components/InlineCode.tsx
@@ -6,8 +6,8 @@ export function InlineCode({ className, ...props }: HTMLAttributes
diff --git a/packages/ui/src/components/LoadingIcon.tsx b/packages/ui/src/components/LoadingIcon.tsx
index ccdb119a..edaa8852 100644
--- a/packages/ui/src/components/LoadingIcon.tsx
+++ b/packages/ui/src/components/LoadingIcon.tsx
@@ -8,7 +8,7 @@ interface Props {
export function LoadingIcon({ size = "md", className }: Props) {
const classes = classNames(
className,
- "text-inherit flex-shrink-0",
+ "text-inherit shrink-0",
size === "xl" && "h-6 w-6",
size === "lg" && "h-5 w-5",
size === "md" && "h-4 w-4",
diff --git a/packages/ui/src/components/Overlay.tsx b/packages/ui/src/components/Overlay.tsx
index ca349b75..c22e61e4 100644
--- a/packages/ui/src/components/Overlay.tsx
+++ b/packages/ui/src/components/Overlay.tsx
@@ -72,7 +72,7 @@ export function Overlay({
onClick={onClose}
className={classNames(
"absolute inset-0",
- variant === "default" && "bg-backdrop backdrop-blur-sm",
+ variant === "default" && "bg-backdrop backdrop-blur-xs",
)}
/>
diff --git a/packages/ui/src/components/ResizeHandle.tsx b/packages/ui/src/components/ResizeHandle.tsx
index aceed36a..73cc23da 100644
--- a/packages/ui/src/components/ResizeHandle.tsx
+++ b/packages/ui/src/components/ResizeHandle.tsx
@@ -101,7 +101,7 @@ export function ResizeHandle({
{isResizing && (
@@ -119,7 +119,7 @@ export function TableHeaderCell({
|
{children}
diff --git a/packages/ui/src/components/WindowControls.tsx b/packages/ui/src/components/WindowControls.tsx
index 76e1beba..6f9700e1 100644
--- a/packages/ui/src/components/WindowControls.tsx
+++ b/packages/ui/src/components/WindowControls.tsx
@@ -38,7 +38,7 @@ export function WindowControls({
{!onlyX && (
<>
| |