+
Note: The
dialog content defaults to a width of 400px and height auto-adjusts to
content. Use the className prop on DialogContent to customize
@@ -160,7 +160,7 @@ export const HeightLayouts: Story = {
onClose={() => setOpenHug(false)}
/>
-
+
The dialog height adjusts to fit the content, up to a maximum of
560px.
@@ -180,7 +180,7 @@ export const HeightLayouts: Story = {
onClose={() => setOpenFixed(false)}
/>
-
+
The dialog always has a fixed height of 560px, regardless of
content.
@@ -550,7 +550,7 @@ export const WithListsContent: Story = {
Settings
-
+
{Array.from({ length: 12 }).map((_, i) => (
@@ -592,11 +592,11 @@ export const InfoStateVariants: Story = {
/>
-
+
Title
-
Description
+
Description
@@ -623,11 +623,11 @@ export const InfoStateVariants: Story = {
/>
-
+
Title
-
Description
+
Description
diff --git a/libs/ui-react/src/lib/Components/Dialog/Dialog.tsx b/libs/ui-react/src/lib/Components/Dialog/Dialog.tsx
index c278ff036..48607c346 100644
--- a/libs/ui-react/src/lib/Components/Dialog/Dialog.tsx
+++ b/libs/ui-react/src/lib/Components/Dialog/Dialog.tsx
@@ -20,7 +20,7 @@ const [DialogContextProvider, useDialogContext] = createSafeContext<{
const dialogContentVariants = cva(
[
'flex w-400 max-w-[calc(100%-2rem)] flex-col overflow-hidden rounded-2xl bg-canvas-sheet pb-24',
- 'fixed left-[50%] top-[50%] z-dialog-content translate-x-[-50%] translate-y-[-50%]',
+ 'fixed top-[50%] left-[50%] z-dialog-content translate-[-50%]',
'data-[state=closed]:animate-content-hide data-[state=open]:animate-content-show',
],
{
diff --git a/libs/ui-react/src/lib/Components/Dialog/DialogHeader/DialogHeader.tsx b/libs/ui-react/src/lib/Components/Dialog/DialogHeader/DialogHeader.tsx
index 47b4dc790..2b6e4e143 100644
--- a/libs/ui-react/src/lib/Components/Dialog/DialogHeader/DialogHeader.tsx
+++ b/libs/ui-react/src/lib/Components/Dialog/DialogHeader/DialogHeader.tsx
@@ -119,12 +119,12 @@ const DialogHeaderComponent = React.forwardRef<
})}
>
{title && (
-
+
{title}
)}
{description && (
-
+
{description}
)}
@@ -144,7 +144,7 @@ const DialogHeaderComponent = React.forwardRef<
{title &&
{title}
}
{description && (
-
{description}
+
{description}
)}
)}
diff --git a/libs/ui-react/src/lib/Components/Divider/Divider.stories.tsx b/libs/ui-react/src/lib/Components/Divider/Divider.stories.tsx
index 5cdb8ad67..76878477b 100644
--- a/libs/ui-react/src/lib/Components/Divider/Divider.stories.tsx
+++ b/libs/ui-react/src/lib/Components/Divider/Divider.stories.tsx
@@ -32,11 +32,11 @@ export const Base: Story = {
: 'flex w-full flex-col gap-16'
}
>
-
+
{isVertical ? 'Left content' : 'Content above'}
-
+
{isVertical ? 'Right content' : 'Content below'}
@@ -57,20 +57,20 @@ export const OrientationShowcase: Story = {
render: () => (
-
Horizontal (default)
+
Horizontal (default)
-
Content above
+
Content above
-
Content below
+
Content below
-
Vertical
+
Vertical
-
Left content
+
Left content
-
Right content
+
Right content
@@ -94,18 +94,18 @@ export const InList: Story = {
render: () => (
- Item 1
- $100
+ Item 1
+ $100
- Item 2
- $200
+ Item 2
+ $200
- Item 3
- $300
+ Item 3
+ $300
),
diff --git a/libs/ui-react/src/lib/Components/Icon/Icon.stories.tsx b/libs/ui-react/src/lib/Components/Icon/Icon.stories.tsx
index 72bebfdbe..bcf1b724a 100644
--- a/libs/ui-react/src/lib/Components/Icon/Icon.stories.tsx
+++ b/libs/ui-react/src/lib/Components/Icon/Icon.stories.tsx
@@ -52,10 +52,10 @@ const IconCard = ({
onClick={handleClick}
>
-
{name}
+
{name}
{copied && (
- Copied!
+ Copied!
)}
@@ -153,7 +153,7 @@ export const Gallery: StoryObj = {
{/* Results count */}
-
+
{filteredIcons.length} of {Object.keys(Icons).length} icons
{searchTerm && ` matching "${searchTerm}"`}
@@ -170,12 +170,12 @@ export const Gallery: StoryObj = {
{/* No results message */}
{filteredIcons.length === 0 && searchTerm && (
-
+
No icons found matching "{searchTerm}"
diff --git a/libs/ui-react/src/lib/Components/InteractiveIcon/InteractiveIcon.tsx b/libs/ui-react/src/lib/Components/InteractiveIcon/InteractiveIcon.tsx
index 69c136265..724ad9314 100644
--- a/libs/ui-react/src/lib/Components/InteractiveIcon/InteractiveIcon.tsx
+++ b/libs/ui-react/src/lib/Components/InteractiveIcon/InteractiveIcon.tsx
@@ -4,7 +4,7 @@ import React from 'react';
import { InteractiveIconProps } from './types';
const buttonVariants = cva(
- 'inline-flex size-fit items-center justify-center rounded-full text-muted transition-colors hover:text-muted-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus active:text-muted-pressed disabled:text-disabled',
+ 'inline-flex size-fit cursor-pointer items-center justify-center rounded-full text-muted transition-colors hover:text-muted-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus active:text-muted-pressed disabled:text-disabled',
{
variants: {
iconType: {
diff --git a/libs/ui-react/src/lib/Components/Link/Link.stories.tsx b/libs/ui-react/src/lib/Components/Link/Link.stories.tsx
index 1d5a4808a..5c59f75f4 100644
--- a/libs/ui-react/src/lib/Components/Link/Link.stories.tsx
+++ b/libs/ui-react/src/lib/Components/Link/Link.stories.tsx
@@ -314,7 +314,7 @@ import { Link as RouterLink } from 'react-router-dom';
export const InheritVariants: Story = {
render: () => (
-
+
By continuing, you agree to our{' '}
Terms & Conditions
@@ -326,14 +326,14 @@ export const InheritVariants: Story = {
.
-
+
Need help?{' '}
Contact Support
-
+
Learn more about security in our{' '}
Security Guide
@@ -341,7 +341,7 @@ export const InheritVariants: Story = {
.
-
+
Already have an account?{' '}
Sign in
diff --git a/libs/ui-react/src/lib/Components/ListItem/ListItem.stories.tsx b/libs/ui-react/src/lib/Components/ListItem/ListItem.stories.tsx
index 3395b2a0a..4418853f4 100644
--- a/libs/ui-react/src/lib/Components/ListItem/ListItem.stories.tsx
+++ b/libs/ui-react/src/lib/Components/ListItem/ListItem.stories.tsx
@@ -345,7 +345,7 @@ export const DisabledState: Story = {
export const ResponsiveLayout: Story = {
render: () => (
-
Container: 320px wide
+
Container: 320px wide
diff --git a/libs/ui-react/src/lib/Components/ListItem/ListItem.tsx b/libs/ui-react/src/lib/Components/ListItem/ListItem.tsx
index 995f1b96c..0d98ee9c4 100644
--- a/libs/ui-react/src/lib/Components/ListItem/ListItem.tsx
+++ b/libs/ui-react/src/lib/Components/ListItem/ListItem.tsx
@@ -159,7 +159,7 @@ export const ListItemDescription = React.forwardRef<
{/* Search status indicator */}
{isSearching && (
- Searching...
+ Searching...
)}
{/* Results */}
{inputValue.length > 0 && !isSearching && (
{filteredResults.length > 0 ? (
-
+
Found {filteredResults.length} result
{filteredResults.length !== 1 ? 's' : ''} for "{searchQuery}"
@@ -232,8 +232,8 @@ export const DebouncedSearchInput: Story = {
) : (
-
Nothing found
-
+
Nothing found
+
No fruits match "{searchQuery}"
diff --git a/libs/ui-react/src/lib/Components/SearchInput/SearchInput.tsx b/libs/ui-react/src/lib/Components/SearchInput/SearchInput.tsx
index 5a493e7f5..d2568835d 100644
--- a/libs/ui-react/src/lib/Components/SearchInput/SearchInput.tsx
+++ b/libs/ui-react/src/lib/Components/SearchInput/SearchInput.tsx
@@ -64,7 +64,7 @@ export const SearchInput = React.forwardRef
(
size={20}
// Todo: fix gap between search icon and input not showing input-caret on hover
// we need to use paddings around the prefix rather then gaps ( radix ui is doing this )
- className='text-muted group-has-[:disabled]:text-disabled'
+ className='text-muted group-has-disabled:text-disabled'
aria-hidden='true'
/>
);
diff --git a/libs/ui-react/src/lib/Components/Select/Select.stories.tsx b/libs/ui-react/src/lib/Components/Select/Select.stories.tsx
index 2d58e3bd8..162c4d997 100644
--- a/libs/ui-react/src/lib/Components/Select/Select.stories.tsx
+++ b/libs/ui-react/src/lib/Components/Select/Select.stories.tsx
@@ -234,14 +234,14 @@ export const WithDescription: Story = {
className='flex flex-col items-start justify-start gap-2'
>
Option 1
- this is a description
+ this is a description
Option 2
- this is a description
+ this is a description
diff --git a/libs/ui-react/src/lib/Components/Select/Select.tsx b/libs/ui-react/src/lib/Components/Select/Select.tsx
index dffd55b98..036033691 100644
--- a/libs/ui-react/src/lib/Components/Select/Select.tsx
+++ b/libs/ui-react/src/lib/Components/Select/Select.tsx
@@ -24,19 +24,19 @@ function SelectGroup({ ...props }: SelectGroupProps) {
}
const triggerStyles = cn(
- 'group relative flex h-48 w-full items-center justify-between gap-8',
+ 'group relative flex h-48 w-full cursor-pointer items-center justify-between gap-8',
'rounded-sm bg-muted px-16',
- 'text-base body-2',
+ 'body-2 text-base',
'hover:bg-muted-hover',
- 'transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-focus',
+ 'transition-colors duration-200 focus:ring-2 focus:ring-focus focus:outline-hidden',
'disabled:cursor-not-allowed disabled:text-disabled',
);
const labelStyles = cn(
'pointer-events-none absolute left-16 origin-left text-muted transition-all duration-300',
'top-10 -translate-y-4 body-4',
- 'group-data-[placeholder]:top-14 group-data-[placeholder]:translate-y-0 group-data-[placeholder]:body-2',
- 'group-data-[:disabled]:text-disabled disabled:text-disabled group-data-[disabled]:text-disabled group-data-[placeholder][disabled]:text-disabled',
+ 'group-data-placeholder:top-14 group-data-placeholder:translate-y-0 group-data-placeholder:body-2',
+ 'group-data-disabled:text-disabled disabled:text-disabled',
'max-w-[calc(100%-var(--size-56))] truncate',
);
@@ -55,9 +55,9 @@ const SelectTrigger = React.forwardRef<
)}
@@ -66,7 +66,7 @@ const SelectTrigger = React.forwardRef<
@@ -75,13 +75,13 @@ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
const contentStyles = cva(
[
- 'relative z-select max-h-[var(--radix-select-content-available-height)] overflow-y-auto overflow-x-hidden',
+ 'relative z-select max-h-(--radix-select-content-available-height) overflow-x-hidden overflow-y-auto',
'rounded-sm bg-muted',
'shadow-md',
- 'data-[side=bottom]:animate-slide-in-from-top-8',
- 'data-[side=top]:animate-slide-in-from-bottom-8',
- 'data-[side=left]:animate-slide-in-from-right-8',
- 'data-[side=right]:animate-slide-in-from-left-8',
+ 'data-[side=bottom]:animate-slide-in-from-top',
+ 'data-[side=top]:animate-slide-in-from-bottom',
+ 'data-[side=left]:animate-slide-in-from-right',
+ 'data-[side=right]:animate-slide-in-from-left',
],
{
variants: {
@@ -101,7 +101,7 @@ const viewportStyles = cva('p-8', {
variants: {
position: {
popper:
- 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',
+ 'h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)',
'item-aligned': '',
},
},
@@ -139,20 +139,20 @@ const SelectLabel = React.forwardRef<
));
SelectLabel.displayName = SelectPrimitive.Label.displayName;
const itemStyles = cn(
- 'relative flex w-full cursor-default select-none items-center bg-base-transparent',
+ 'relative flex w-full cursor-pointer items-center bg-base-transparent select-none',
'rounded-sm p-8',
- 'text-base body-2',
- 'outline-none',
+ 'body-2 text-base',
+ 'outline-hidden',
'focus:bg-base-transparent-hover',
'active:bg-base-transparent-pressed',
- 'data-[disabled]:cursor-not-allowed data-[disabled]:text-disabled',
+ 'data-disabled:cursor-not-allowed data-disabled:text-disabled',
);
const SelectItem = React.forwardRef<
@@ -193,7 +193,7 @@ const SelectItemText = React.forwardRef<
));
diff --git a/libs/ui-react/src/lib/Components/Spinner/Spinner.stories.tsx b/libs/ui-react/src/lib/Components/Spinner/Spinner.stories.tsx
index de9743192..22657999e 100644
--- a/libs/ui-react/src/lib/Components/Spinner/Spinner.stories.tsx
+++ b/libs/ui-react/src/lib/Components/Spinner/Spinner.stories.tsx
@@ -39,31 +39,31 @@ export const Sizes: Story = {
- 12
+ 12
- 16
+ 16
- 20
+ 20
- 24
+ 24
- 40
+ 40
- 48
+ 48
- 56
+ 56
),
diff --git a/libs/ui-react/src/lib/Components/Subheader/Subheader.stories.tsx b/libs/ui-react/src/lib/Components/Subheader/Subheader.stories.tsx
index 2c46ec8ba..53ccb5311 100644
--- a/libs/ui-react/src/lib/Components/Subheader/Subheader.stories.tsx
+++ b/libs/ui-react/src/lib/Components/Subheader/Subheader.stories.tsx
@@ -246,7 +246,7 @@ export const ContentVariations: Story = {
export const ResponsiveLayout: Story = {
render: () => (
-
+
Container with a fixed width
diff --git a/libs/ui-react/src/lib/Components/Subheader/Subheader.tsx b/libs/ui-react/src/lib/Components/Subheader/Subheader.tsx
index 5e9e257f8..499c7ca0c 100644
--- a/libs/ui-react/src/lib/Components/Subheader/Subheader.tsx
+++ b/libs/ui-react/src/lib/Components/Subheader/Subheader.tsx
@@ -85,7 +85,7 @@ export const Subheader = ({
{...props}
>
-
{title}
+ {title}
{infoSlot}
{actionSlot}
diff --git a/libs/ui-react/src/lib/Components/Switch/Switch.tsx b/libs/ui-react/src/lib/Components/Switch/Switch.tsx
index 415b1550e..bd30c224f 100644
--- a/libs/ui-react/src/lib/Components/Switch/Switch.tsx
+++ b/libs/ui-react/src/lib/Components/Switch/Switch.tsx
@@ -6,10 +6,10 @@ import { SwitchProps } from './types';
const switchVariants = cva(
cn(
- 'group flex items-center rounded-full p-2 transition-colors duration-200 ease-in-out focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus',
+ 'group flex cursor-pointer items-center rounded-full p-2 transition-colors duration-200 ease-in-out focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus',
'[&[data-state=unchecked]:not([data-disabled])]:bg-muted-strong [&[data-state=unchecked]:not([data-disabled])]:hover:bg-muted-strong-hover [&[data-state=unchecked]:not([data-disabled])]:active:bg-muted-strong-pressed',
'[&[data-state=checked]:not([data-disabled])]:bg-active [&[data-state=checked]:not([data-disabled])]:hover:bg-active-hover [&[data-state=checked]:not([data-disabled])]:active:bg-active-pressed',
- 'data-[disabled]:bg-disabled-strong',
+ 'data-disabled:bg-disabled-strong',
),
{
variants: {
@@ -25,7 +25,7 @@ const switchVariants = cva(
);
const thumbVariants = cva(
- 'translate-x-0 rounded-full bg-white transition-transform duration-200 ease-in-out group-data-[disabled]:bg-base',
+ 'translate-x-0 rounded-full bg-white transition-transform duration-200 ease-in-out group-data-disabled:bg-base',
{
variants: {
size: {
diff --git a/libs/ui-react/src/lib/Components/TextInput/TextInput.stories.tsx b/libs/ui-react/src/lib/Components/TextInput/TextInput.stories.tsx
index b3a0d62fb..250500818 100644
--- a/libs/ui-react/src/lib/Components/TextInput/TextInput.stories.tsx
+++ b/libs/ui-react/src/lib/Components/TextInput/TextInput.stories.tsx
@@ -175,7 +175,7 @@ export const HiddenClearButton: Story = {
onChange={(e) => setValue(e.target.value)}
hideClearButton
/>
-
+
Use hideClearButton to prevent the clear button from appearing.
@@ -217,7 +217,7 @@ export const WithError: Story = {
!isValidEmail ? 'Please enter a valid email address' : undefined
}
/>
-
+
Try typing a valid email address or clicking the clear button to
remove the error state
@@ -324,7 +324,7 @@ export const WithCustomElement: Story = {
/>
-
+
The suffix prop allows you to add custom interactive elements like
tooltips, or action buttons
@@ -413,10 +413,10 @@ export const Interactive: Story = {
if (isSubmitted) {
return (
-
+
✓ Form submitted successfully!
-
Resetting form...
+
Resetting form...
);
}
@@ -487,7 +487,7 @@ export const Interactive: Story = {
-
+
This example demonstrates form validation, error handling, clear
buttons, and right elements working together.
diff --git a/libs/ui-react/src/lib/Components/Tile/Tile.stories.tsx b/libs/ui-react/src/lib/Components/Tile/Tile.stories.tsx
index b8ea2ce8c..79b7b0b14 100644
--- a/libs/ui-react/src/lib/Components/Tile/Tile.stories.tsx
+++ b/libs/ui-react/src/lib/Components/Tile/Tile.stories.tsx
@@ -127,7 +127,7 @@ export const VariantsShowcase: Story = {
With Trailing Content
Additional information
-
+7.87%
+
+7.87%
),
diff --git a/libs/ui-react/src/lib/Components/Tile/Tile.tsx b/libs/ui-react/src/lib/Components/Tile/Tile.tsx
index 658a12dd0..abaaa41e9 100644
--- a/libs/ui-react/src/lib/Components/Tile/Tile.tsx
+++ b/libs/ui-react/src/lib/Components/Tile/Tile.tsx
@@ -24,7 +24,7 @@ const tileVariants = {
root: cva(
[
'group relative flex flex-col items-center gap-8 text-base transition-colors',
- 'focus-visible:outline-focus rounded-md focus-visible:outline-2',
+ 'rounded-md focus-visible:outline-2 focus-visible:outline-focus',
],
{
variants: {
@@ -75,7 +75,7 @@ const tileVariants = {
},
),
button: cva(
- 'focus-visible:outline-focus flex w-full flex-col items-center gap-8 rounded-md px-8 py-12 focus-visible:outline-2',
+ 'flex w-full cursor-pointer flex-col items-center gap-8 rounded-md px-8 py-12 focus-visible:outline-2 focus-visible:outline-focus',
),
};
@@ -254,7 +254,7 @@ export const TileTitle = ({
return (
(
-
Compare different delay durations
+
Compare different delay durations
diff --git a/libs/ui-react/src/lib/Components/Tooltip/Tooltip.tsx b/libs/ui-react/src/lib/Components/Tooltip/Tooltip.tsx
index 4778746bd..3f2a4ce6d 100644
--- a/libs/ui-react/src/lib/Components/Tooltip/Tooltip.tsx
+++ b/libs/ui-react/src/lib/Components/Tooltip/Tooltip.tsx
@@ -9,7 +9,7 @@ import {
} from './types';
const tooltipContentVariants = cva(
- 'z-tooltip w-fit select-none text-balance rounded-xs bg-interactive px-8 py-4 text-on-interactive body-3',
+ 'z-tooltip w-fit rounded-xs bg-interactive px-8 py-4 body-3 text-balance text-on-interactive select-none',
{
variants: {
side: {
@@ -166,7 +166,7 @@ export const TooltipContent = ({
className={cn(tooltipContentVariants({ side }), className)}
{...props}
>
-
+
{children}
diff --git a/libs/ui-react/src/styles.css b/libs/ui-react/src/styles.css
index b5c61c956..37eb4665d 100644
--- a/libs/ui-react/src/styles.css
+++ b/libs/ui-react/src/styles.css
@@ -1,3 +1,2 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
+@import 'tailwindcss';
+@config '../tailwind.config.ts';
diff --git a/package-lock.json b/package-lock.json
index e46aee75d..63a8b125c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -78,6 +78,8 @@
"@swc/core": "~1.5.7",
"@swc/helpers": "~0.5.11",
"@swc/jest": "~0.2.36",
+ "@tailwindcss/postcss": "^4.1.17",
+ "@tailwindcss/vite": "^4.1.17",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-native": "^5.4.3",
"@testing-library/react": "16.1.0",
@@ -91,17 +93,16 @@
"@vitejs/plugin-react": "^4.3.4",
"@vitest/coverage-v8": "^3.0.5",
"@vitest/ui": "^3.0.0",
- "autoprefixer": "10.4.13",
"chromatic": "^13.1.2",
"eslint": "^9.36.0",
"eslint-config-prettier": "^10.1.8",
+ "eslint-plugin-better-tailwindcss": "^4.0.0-beta.3",
"eslint-plugin-import": "2.31.0",
"eslint-plugin-jsx-a11y": "6.10.1",
"eslint-plugin-prettier": "^5.5.4",
"eslint-plugin-react": "7.35.0",
"eslint-plugin-react-hooks": "5.0.0",
"eslint-plugin-storybook": "10.0.3",
- "eslint-plugin-tailwindcss": "^3.18.2",
"jest": "^30.2.0",
"jest-environment-node": "^29.7.0",
"jest-react-native": "18.0.0",
@@ -109,7 +110,6 @@
"jsdom": "~22.1.0",
"jsonc-eslint-parser": "^2.1.0",
"nx": "21.2.2",
- "postcss": "^8.4.38",
"prettier": "^3.0.0",
"react": "18.3.1",
"react-dom": "18.3.1",
@@ -125,7 +125,7 @@
"storybook": "10.0.3",
"style-dictionary": "^4.3.3",
"swc-loader": "0.1.15",
- "tailwindcss": "^3.4.3",
+ "tailwindcss": "^4.1.17",
"ts-jest": "^29.1.0",
"ts-node": "10.9.1",
"tslib": "^2.3.0",
@@ -140,7 +140,7 @@
"peerDependencies": {
"react": "18.3.1",
"react-native": "~0.77.3",
- "tailwindcss": "^3.4.3"
+ "tailwindcss": "^4.1.17"
}
},
"apps/app-sandbox-react": {
@@ -172,7 +172,7 @@
"version": "0.0.39",
"license": "Apache-2.0",
"dependencies": {
- "tailwindcss": "^3.4.0",
+ "tailwindcss": "^4.1.17",
"tslib": "^2.3.0"
}
},
@@ -242,6 +242,7 @@
},
"node_modules/@alloc/quick-lru": {
"version": "5.2.0",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@@ -3035,6 +3036,27 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
+ "node_modules/@eslint/css-tree": {
+ "version": "3.6.8",
+ "resolved": "https://registry.npmjs.org/@eslint/css-tree/-/css-tree-3.6.8.tgz",
+ "integrity": "sha512-s0f40zY7dlMp8i0Jf0u6l/aSswS0WRAgkhgETgiCJRcxIWb4S/Sp9uScKHWbkM3BnoFLbJbmOYk5AZUDFVxaLA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.23.0",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@eslint/css-tree/node_modules/mdn-data": {
+ "version": "2.23.0",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.23.0.tgz",
+ "integrity": "sha512-786vq1+4079JSeu2XdcDjrhi/Ry7BWtjDl9WtGPWLiIHb2T66GvIVflZTBoSNZ5JqTtJGYEVMuFA/lbQlMOyDQ==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
"node_modules/@eslint/eslintrc": {
"version": "3.3.1",
"dev": true,
@@ -3640,6 +3662,7 @@
},
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
+ "dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^5.1.2",
@@ -3655,6 +3678,7 @@
},
"node_modules/@isaacs/cliui/node_modules/ansi-styles": {
"version": "6.2.3",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
@@ -3665,6 +3689,7 @@
},
"node_modules/@isaacs/cliui/node_modules/string-width": {
"version": "5.1.2",
+ "dev": true,
"license": "MIT",
"dependencies": {
"eastasianwidth": "^0.2.0",
@@ -3680,6 +3705,7 @@
},
"node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
"version": "8.1.0",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^6.1.0",
@@ -6960,6 +6986,7 @@
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
@@ -6971,6 +6998,7 @@
},
"node_modules/@nodelib/fs.stat": {
"version": "2.0.5",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 8"
@@ -6978,6 +7006,7 @@
},
"node_modules/@nodelib/fs.walk": {
"version": "1.2.8",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
@@ -7579,6 +7608,7 @@
},
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
+ "dev": true,
"license": "MIT",
"optional": true,
"engines": {
@@ -12941,6 +12971,302 @@
"node": ">=14.16"
}
},
+ "node_modules/@tailwindcss/node": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz",
+ "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.4",
+ "enhanced-resolve": "^5.18.3",
+ "jiti": "^2.6.1",
+ "lightningcss": "1.30.2",
+ "magic-string": "^0.30.21",
+ "source-map-js": "^1.2.1",
+ "tailwindcss": "4.1.18"
+ }
+ },
+ "node_modules/@tailwindcss/node/node_modules/jiti": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
+ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
+ }
+ },
+ "node_modules/@tailwindcss/oxide": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz",
+ "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "optionalDependencies": {
+ "@tailwindcss/oxide-android-arm64": "4.1.18",
+ "@tailwindcss/oxide-darwin-arm64": "4.1.18",
+ "@tailwindcss/oxide-darwin-x64": "4.1.18",
+ "@tailwindcss/oxide-freebsd-x64": "4.1.18",
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18",
+ "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18",
+ "@tailwindcss/oxide-linux-arm64-musl": "4.1.18",
+ "@tailwindcss/oxide-linux-x64-gnu": "4.1.18",
+ "@tailwindcss/oxide-linux-x64-musl": "4.1.18",
+ "@tailwindcss/oxide-wasm32-wasi": "4.1.18",
+ "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18",
+ "@tailwindcss/oxide-win32-x64-msvc": "4.1.18"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-android-arm64": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz",
+ "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-arm64": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz",
+ "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-x64": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz",
+ "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-freebsd-x64": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz",
+ "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz",
+ "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz",
+ "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz",
+ "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz",
+ "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-musl": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz",
+ "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-wasm32-wasi": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz",
+ "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==",
+ "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.7.1",
+ "@emnapi/runtime": "^1.7.1",
+ "@emnapi/wasi-threads": "^1.1.0",
+ "@napi-rs/wasm-runtime": "^1.1.0",
+ "@tybys/wasm-util": "^0.10.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz",
+ "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz",
+ "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/postcss": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.18.tgz",
+ "integrity": "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
+ "@tailwindcss/node": "4.1.18",
+ "@tailwindcss/oxide": "4.1.18",
+ "postcss": "^8.4.41",
+ "tailwindcss": "4.1.18"
+ }
+ },
+ "node_modules/@tailwindcss/vite": {
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.18.tgz",
+ "integrity": "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tailwindcss/node": "4.1.18",
+ "@tailwindcss/oxide": "4.1.18",
+ "tailwindcss": "4.1.18"
+ },
+ "peerDependencies": {
+ "vite": "^5.2.0 || ^6 || ^7"
+ }
+ },
"node_modules/@testing-library/dom": {
"version": "10.4.0",
"dev": true,
@@ -14111,6 +14437,16 @@
"win32"
]
},
+ "node_modules/@valibot/to-json-schema": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@valibot/to-json-schema/-/to-json-schema-1.5.0.tgz",
+ "integrity": "sha512-GE7DmSr1C2UCWPiV0upRH6mv0cCPsqYGs819fb6srCS1tWhyXrkGGe+zxUiwzn/L1BOfADH4sNjY/YHCuP8phQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "valibot": "^1.2.0"
+ }
+ },
"node_modules/@verdaccio/auth": {
"version": "8.0.0-next-8.19",
"dev": true,
@@ -15399,10 +15735,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/any-promise": {
- "version": "1.3.0",
- "license": "MIT"
- },
"node_modules/anymatch": {
"version": "3.1.3",
"license": "ISC",
@@ -15480,10 +15812,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/arg": {
- "version": "5.0.2",
- "license": "MIT"
- },
"node_modules/argparse": {
"version": "2.0.1",
"dev": true,
@@ -16227,16 +16555,6 @@
"node": ">=10"
}
},
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/bl": {
"version": "4.1.0",
"dev": true,
@@ -16332,6 +16650,7 @@
},
"node_modules/brace-expansion": {
"version": "2.0.2",
+ "dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
@@ -16621,13 +16940,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/camelcase-css": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/caniuse-api": {
"version": "3.0.0",
"dev": true,
@@ -16712,38 +17024,6 @@
"node": ">= 16"
}
},
- "node_modules/chokidar": {
- "version": "3.6.0",
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/chromatic": {
"version": "13.3.3",
"dev": true,
@@ -17358,6 +17638,7 @@
},
"node_modules/cross-spawn": {
"version": "7.0.6",
+ "dev": true,
"license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
@@ -17483,6 +17764,7 @@
},
"node_modules/cssesc": {
"version": "3.0.0",
+ "dev": true,
"license": "MIT",
"bin": {
"cssesc": "bin/cssesc"
@@ -18027,6 +18309,16 @@
"npm": "1.2.8000 || >= 1.4.16"
}
},
+ "node_modules/detect-libc": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/detect-newline": {
"version": "3.1.0",
"dev": true,
@@ -18056,10 +18348,6 @@
"node": ">= 4.0.0"
}
},
- "node_modules/didyoumean": {
- "version": "1.2.2",
- "license": "Apache-2.0"
- },
"node_modules/diff": {
"version": "4.0.2",
"dev": true,
@@ -18095,10 +18383,6 @@
"node": ">=8"
}
},
- "node_modules/dlv": {
- "version": "1.1.3",
- "license": "MIT"
- },
"node_modules/doctrine": {
"version": "2.1.0",
"dev": true,
@@ -18268,6 +18552,7 @@
},
"node_modules/eastasianwidth": {
"version": "0.2.0",
+ "dev": true,
"license": "MIT"
},
"node_modules/ecc-jsbn": {
@@ -18322,6 +18607,7 @@
},
"node_modules/emoji-regex": {
"version": "9.2.2",
+ "dev": true,
"license": "MIT"
},
"node_modules/emojis-list": {
@@ -18364,7 +18650,9 @@
}
},
"node_modules/enhanced-resolve": {
- "version": "5.18.3",
+ "version": "5.18.4",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz",
+ "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -18823,6 +19111,49 @@
"ms": "^2.1.1"
}
},
+ "node_modules/eslint-plugin-better-tailwindcss": {
+ "version": "4.0.0-rc.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-better-tailwindcss/-/eslint-plugin-better-tailwindcss-4.0.0-rc.0.tgz",
+ "integrity": "sha512-GhVpJvjDt5PpIe3ryyj/ahSVeMfYyd+oRExorluBL/1AYPwL2l0yiKKTIvdqyl2VXFDxD/v3NKMRBZvHkeySFA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint/css-tree": "^3.6.8",
+ "@valibot/to-json-schema": "^1.5.0",
+ "enhanced-resolve": "^5.18.4",
+ "jiti": "^2.6.1",
+ "synckit": "^0.11.11",
+ "tailwind-csstree": "^0.1.4",
+ "tsconfig-paths-webpack-plugin": "^4.2.0",
+ "valibot": "^1.2.0"
+ },
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=23.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
+ "oxlint": "^1.35.0",
+ "tailwindcss": "^3.3.0 || ^4.1.17"
+ },
+ "peerDependenciesMeta": {
+ "eslint": {
+ "optional": true
+ },
+ "oxlint": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-better-tailwindcss/node_modules/jiti": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
+ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
+ }
+ },
"node_modules/eslint-plugin-import": {
"version": "2.31.0",
"dev": true,
@@ -19089,21 +19420,6 @@
"storybook": "^10.0.3"
}
},
- "node_modules/eslint-plugin-tailwindcss": {
- "version": "3.18.2",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-glob": "^3.2.5",
- "postcss": "^8.4.4"
- },
- "engines": {
- "node": ">=18.12.0"
- },
- "peerDependencies": {
- "tailwindcss": "^3.4.0"
- }
- },
"node_modules/eslint-scope": {
"version": "8.4.0",
"dev": true,
@@ -19514,6 +19830,7 @@
},
"node_modules/fast-glob": {
"version": "3.3.3",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
@@ -19528,6 +19845,7 @@
},
"node_modules/fast-glob/node_modules/glob-parent": {
"version": "5.1.2",
+ "dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
@@ -19586,6 +19904,7 @@
},
"node_modules/fastq": {
"version": "1.19.1",
+ "dev": true,
"license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
@@ -20498,6 +20817,7 @@
},
"node_modules/glob-parent": {
"version": "6.0.2",
+ "dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.3"
@@ -21424,16 +21744,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/is-boolean-object": {
"version": "1.2.2",
"dev": true,
@@ -21531,6 +21841,7 @@
},
"node_modules/is-extglob": {
"version": "2.1.1",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -21585,6 +21896,7 @@
},
"node_modules/is-glob": {
"version": "4.0.3",
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
@@ -21884,6 +22196,7 @@
},
"node_modules/isexe": {
"version": "2.0.0",
+ "dev": true,
"license": "ISC"
},
"node_modules/isobject": {
@@ -22055,6 +22368,7 @@
},
"node_modules/jackspeak": {
"version": "3.4.3",
+ "dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
@@ -25336,6 +25650,267 @@
"version": "2.0.0",
"license": "MIT"
},
+ "node_modules/lightningcss": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz",
+ "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==",
+ "dev": true,
+ "license": "MPL-2.0",
+ "dependencies": {
+ "detect-libc": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "lightningcss-android-arm64": "1.30.2",
+ "lightningcss-darwin-arm64": "1.30.2",
+ "lightningcss-darwin-x64": "1.30.2",
+ "lightningcss-freebsd-x64": "1.30.2",
+ "lightningcss-linux-arm-gnueabihf": "1.30.2",
+ "lightningcss-linux-arm64-gnu": "1.30.2",
+ "lightningcss-linux-arm64-musl": "1.30.2",
+ "lightningcss-linux-x64-gnu": "1.30.2",
+ "lightningcss-linux-x64-musl": "1.30.2",
+ "lightningcss-win32-arm64-msvc": "1.30.2",
+ "lightningcss-win32-x64-msvc": "1.30.2"
+ }
+ },
+ "node_modules/lightningcss-android-arm64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz",
+ "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-arm64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz",
+ "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-x64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz",
+ "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-freebsd-x64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz",
+ "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz",
+ "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-gnu": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz",
+ "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-musl": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz",
+ "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-gnu": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz",
+ "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-musl": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz",
+ "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-arm64-msvc": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz",
+ "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-x64-msvc": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz",
+ "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
"node_modules/lilconfig": {
"version": "2.1.0",
"dev": true,
@@ -25777,7 +26352,9 @@
}
},
"node_modules/magic-string": {
- "version": "0.30.18",
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -25895,6 +26472,7 @@
},
"node_modules/merge2": {
"version": "1.4.1",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 8"
@@ -26466,6 +27044,7 @@
},
"node_modules/minipass": {
"version": "7.1.2",
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
@@ -26509,15 +27088,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/mz": {
- "version": "2.7.0",
- "license": "MIT",
- "dependencies": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
"node_modules/nanoid": {
"version": "3.3.11",
"funding": [
@@ -27235,18 +27805,12 @@
},
"node_modules/object-assign": {
"version": "4.1.1",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/object-hash": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/object-inspect": {
"version": "1.13.4",
"dev": true,
@@ -27615,6 +28179,7 @@
},
"node_modules/package-json-from-dist": {
"version": "1.0.1",
+ "dev": true,
"license": "BlueOak-1.0.0"
},
"node_modules/pako": {
@@ -27823,6 +28388,7 @@
},
"node_modules/path-key": {
"version": "3.1.1",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -27834,6 +28400,7 @@
},
"node_modules/path-scurry": {
"version": "1.11.1",
+ "dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
"lru-cache": "^10.2.0",
@@ -27848,6 +28415,7 @@
},
"node_modules/path-scurry/node_modules/lru-cache": {
"version": "10.4.3",
+ "dev": true,
"license": "ISC"
},
"node_modules/path-to-regexp": {
@@ -28209,6 +28777,7 @@
},
"node_modules/postcss": {
"version": "8.5.6",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -28321,38 +28890,6 @@
"postcss": "^8.2.15"
}
},
- "node_modules/postcss-import": {
- "version": "15.1.0",
- "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.0.1",
- "license": "MIT",
- "dependencies": {
- "camelcase-css": "^2.0.1"
- },
- "engines": {
- "node": "^12 || ^14 || >= 16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.4.21"
- }
- },
"node_modules/postcss-load-config": {
"version": "3.1.4",
"dev": true,
@@ -28578,29 +29115,6 @@
"postcss": "^8.1.0"
}
},
- "node_modules/postcss-nested": {
- "version": "6.2.0",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "postcss-selector-parser": "^6.1.1"
- },
- "engines": {
- "node": ">=12.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.14"
- }
- },
"node_modules/postcss-normalize-charset": {
"version": "5.1.0",
"dev": true,
@@ -28783,6 +29297,7 @@
},
"node_modules/postcss-selector-parser": {
"version": "6.1.2",
+ "dev": true,
"license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
@@ -28936,6 +29451,7 @@
},
"node_modules/postcss-value-parser": {
"version": "4.2.0",
+ "dev": true,
"license": "MIT"
},
"node_modules/prelude-ls": {
@@ -29200,6 +29716,7 @@
},
"node_modules/queue-microtask": {
"version": "1.2.3",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -29878,20 +30395,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/read-cache": {
- "version": "1.0.0",
- "license": "MIT",
- "dependencies": {
- "pify": "^2.3.0"
- }
- },
- "node_modules/read-cache/node_modules/pify": {
- "version": "2.3.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/readable-stream": {
"version": "3.6.2",
"dev": true,
@@ -29905,26 +30408,6 @@
"node": ">= 6"
}
},
- "node_modules/readdirp": {
- "version": "3.6.0",
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/readdirp/node_modules/picomatch": {
- "version": "2.3.1",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/readline": {
"version": "1.3.0",
"license": "BSD"
@@ -30105,6 +30588,7 @@
},
"node_modules/resolve": {
"version": "1.22.8",
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-core-module": "^2.13.0",
@@ -30189,6 +30673,7 @@
},
"node_modules/reusify": {
"version": "1.1.0",
+ "dev": true,
"license": "MIT",
"engines": {
"iojs": ">=1.0.0",
@@ -30457,6 +30942,7 @@
},
"node_modules/run-parallel": {
"version": "1.2.0",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -30833,6 +31319,7 @@
},
"node_modules/shebang-command": {
"version": "2.0.0",
+ "dev": true,
"license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
@@ -30843,6 +31330,7 @@
},
"node_modules/shebang-regex": {
"version": "3.0.0",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -31051,6 +31539,7 @@
},
"node_modules/source-map-js": {
"version": "1.2.1",
+ "dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@@ -31847,6 +32336,7 @@
"node_modules/string-width-cjs": {
"name": "string-width",
"version": "4.2.3",
+ "dev": true,
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@@ -31859,10 +32349,12 @@
},
"node_modules/string-width-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
+ "dev": true,
"license": "MIT"
},
"node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -31870,6 +32362,7 @@
},
"node_modules/string-width-cjs/node_modules/strip-ansi": {
"version": "6.0.1",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -32002,6 +32495,7 @@
},
"node_modules/strip-ansi": {
"version": "7.1.2",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
@@ -32016,6 +32510,7 @@
"node_modules/strip-ansi-cjs": {
"name": "strip-ansi",
"version": "6.0.1",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -32026,6 +32521,7 @@
},
"node_modules/strip-ansi/node_modules/ansi-regex": {
"version": "6.2.2",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
@@ -32205,92 +32701,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/sucrase": {
- "version": "3.35.0",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.2",
- "commander": "^4.0.0",
- "glob": "^10.3.10",
- "lines-and-columns": "^1.1.6",
- "mz": "^2.7.0",
- "pirates": "^4.0.1",
- "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",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/sucrase/node_modules/foreground-child": {
- "version": "3.3.1",
- "license": "ISC",
- "dependencies": {
- "cross-spawn": "^7.0.6",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/sucrase/node_modules/glob": {
- "version": "10.4.5",
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/sucrase/node_modules/lines-and-columns": {
- "version": "1.2.4",
- "license": "MIT"
- },
- "node_modules/sucrase/node_modules/minimatch": {
- "version": "9.0.5",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/sucrase/node_modules/signal-exit": {
- "version": "4.1.0",
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/sudo-prompt": {
"version": "9.2.1",
"dev": true,
@@ -32401,6 +32811,20 @@
"url": "https://opencollective.com/synckit"
}
},
+ "node_modules/tailwind-csstree": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/tailwind-csstree/-/tailwind-csstree-0.1.4.tgz",
+ "integrity": "sha512-FzD187HuFIZEyeR7Xy6sJbJll2d4SybS90satC8SKIuaNRC05CxMvdzN7BUsfDQffcnabckRM5OIcfArjsZ0mg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
"node_modules/tailwind-merge": {
"version": "2.6.0",
"license": "MIT",
@@ -32410,89 +32834,10 @@
}
},
"node_modules/tailwindcss": {
- "version": "3.4.17",
- "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.6",
- "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",
- "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"
- }
- },
- "node_modules/tailwindcss/node_modules/jiti": {
- "version": "1.21.7",
- "license": "MIT",
- "bin": {
- "jiti": "bin/jiti.js"
- }
- },
- "node_modules/tailwindcss/node_modules/lilconfig": {
- "version": "3.1.3",
- "license": "MIT",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/antonk52"
- }
- },
- "node_modules/tailwindcss/node_modules/postcss-load-config": {
- "version": "4.0.2",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "lilconfig": "^3.0.0",
- "yaml": "^2.3.4"
- },
- "engines": {
- "node": ">= 14"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
+ "version": "4.1.18",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz",
+ "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==",
+ "license": "MIT"
},
"node_modules/tapable": {
"version": "2.2.3",
@@ -32713,23 +33058,6 @@
"b4a": "^1.6.4"
}
},
- "node_modules/thenify": {
- "version": "3.3.1",
- "license": "MIT",
- "dependencies": {
- "any-promise": "^1.0.0"
- }
- },
- "node_modules/thenify-all": {
- "version": "1.6.0",
- "license": "MIT",
- "dependencies": {
- "thenify": ">= 3.1.0 < 4"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/thingies": {
"version": "2.5.0",
"dev": true,
@@ -33010,10 +33338,6 @@
"node": ">=6.10"
}
},
- "node_modules/ts-interface-checker": {
- "version": "0.1.13",
- "license": "Apache-2.0"
- },
"node_modules/ts-jest": {
"version": "29.4.1",
"dev": true,
@@ -33175,6 +33499,22 @@
"node": ">=6"
}
},
+ "node_modules/tsconfig-paths-webpack-plugin": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.2.0.tgz",
+ "integrity": "sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "enhanced-resolve": "^5.7.0",
+ "tapable": "^2.2.1",
+ "tsconfig-paths": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/tsconfig-paths/node_modules/strip-bom": {
"version": "3.0.0",
"dev": true,
@@ -33723,6 +34063,7 @@
},
"node_modules/util-deprecate": {
"version": "1.0.2",
+ "dev": true,
"license": "MIT"
},
"node_modules/utils-merge": {
@@ -33758,6 +34099,21 @@
"node": ">=10.12.0"
}
},
+ "node_modules/valibot": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/valibot/-/valibot-1.2.0.tgz",
+ "integrity": "sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "typescript": ">=5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
"node_modules/validate-npm-package-name": {
"version": "5.0.1",
"dev": true,
@@ -35045,6 +35401,7 @@
},
"node_modules/which": {
"version": "2.0.2",
+ "dev": true,
"license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
@@ -35199,6 +35556,7 @@
"node_modules/wrap-ansi-cjs": {
"name": "wrap-ansi",
"version": "7.0.0",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
@@ -35214,6 +35572,7 @@
},
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
"version": "6.0.1",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -35306,6 +35665,7 @@
},
"node_modules/yaml": {
"version": "2.8.1",
+ "dev": true,
"license": "ISC",
"bin": {
"yaml": "bin.mjs"
diff --git a/package.json b/package.json
index 9acbb08e9..7eb340a21 100644
--- a/package.json
+++ b/package.json
@@ -84,7 +84,8 @@
"@vitejs/plugin-react": "^4.3.4",
"@vitest/coverage-v8": "^3.0.5",
"@vitest/ui": "^3.0.0",
- "autoprefixer": "10.4.13",
+ "@tailwindcss/postcss": "^4.1.17",
+ "@tailwindcss/vite": "^4.1.17",
"chromatic": "^13.1.2",
"eslint": "^9.36.0",
"eslint-config-prettier": "^10.1.8",
@@ -94,7 +95,7 @@
"eslint-plugin-react": "7.35.0",
"eslint-plugin-react-hooks": "5.0.0",
"eslint-plugin-storybook": "10.0.3",
- "eslint-plugin-tailwindcss": "^3.18.2",
+ "eslint-plugin-better-tailwindcss": "^4.0.0-beta.3",
"jest": "^30.2.0",
"jest-environment-node": "^29.7.0",
"jest-react-native": "18.0.0",
@@ -102,7 +103,6 @@
"jsdom": "~22.1.0",
"jsonc-eslint-parser": "^2.1.0",
"nx": "21.2.2",
- "postcss": "^8.4.38",
"prettier": "^3.0.0",
"react": "18.3.1",
"react-dom": "18.3.1",
@@ -118,7 +118,7 @@
"storybook": "10.0.3",
"style-dictionary": "^4.3.3",
"swc-loader": "0.1.15",
- "tailwindcss": "^3.4.3",
+ "tailwindcss": "^4.1.17",
"ts-jest": "^29.1.0",
"ts-node": "10.9.1",
"tslib": "^2.3.0",
@@ -150,6 +150,6 @@
"peerDependencies": {
"react": "18.3.1",
"react-native": "~0.77.3",
- "tailwindcss": "^3.4.3"
+ "tailwindcss": "^4.1.17"
}
}