diff --git a/package.json b/package.json index 0999631..b389d84 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ }, "devDependencies": { "@tailwindcss/forms": "^0.5.11", + "@tailwindcss/postcss": "^4.2.0", "@types/node": "^25.3.0", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", @@ -40,10 +41,10 @@ "postcss": "^8.5.6", "postcss-nested": "^7.0.2", "sass": "^1.97.3", - "tailwindcss": "^3.4.17", + "tailwindcss": "^4.2.0", "typescript": "^5.9.3", "typescript-eslint": "^8.56.0", "vite": "^7.3.1", "vite-tsconfig-paths": "^6.1.1" } -} \ No newline at end of file +} diff --git a/postcss.config.js b/postcss.config.js index 9855208..f16a034 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -2,7 +2,7 @@ module.exports = { plugins: { - tailwindcss: {}, + '@tailwindcss/postcss': {}, autoprefixer: {} } } diff --git a/src/common/Base.tsx b/src/common/Base.tsx index a2747c6..1e18c0c 100644 --- a/src/common/Base.tsx +++ b/src/common/Base.tsx @@ -37,9 +37,9 @@ export const Base: FC> = props => if(fitV) newClassNames.push('vw-full', 'vh-full'); - if(grow) newClassNames.push('!flex-grow'); + if(grow) newClassNames.push('grow!'); - if(shrink) newClassNames.push('!flex-shrink-0'); + if(shrink) newClassNames.push('shrink-0!'); if(overflow) newClassNames.push('overflow-' + overflow); diff --git a/src/common/Button.tsx b/src/common/Button.tsx index 5caca6c..6b7d454 100644 --- a/src/common/Button.tsx +++ b/src/common/Button.tsx @@ -19,7 +19,7 @@ export const Button: FC = props => // fucked up method i know (i dont have a clue what im doing because im a ninja) - const newClassNames: string[] = [ 'pointer-events-auto inline-block font-normal leading-normal text-[#fff] text-center no-underline align-middle cursor-pointer select-none border-[1px] border-[solid] border-[transparent] px-[.75rem] py-[.375rem] text-[.9rem] rounded-[.25rem] [transition:color_.15s_ease-in-out,_background-color_.15s_ease-in-out,_border-color_.15s_ease-in-out,_box-shadow_.15s_ease-in-out]' ]; + const newClassNames: string[] = [ 'pointer-events-auto inline-block font-normal leading-normal text-[#fff] text-center no-underline align-middle cursor-pointer select-none border border-[solid] border-transparent px-[.75rem] py-[.375rem] text-[.9rem] rounded-[.25rem] [transition:color_.15s_ease-in-out,background-color_.15s_ease-in-out,border-color_.15s_ease-in-out,box-shadow_.15s_ease-in-out]' ]; if(variant) { @@ -40,7 +40,7 @@ export const Button: FC = props => newClassNames.push('text-white bg-[#000] border-[#000] [box-shadow:inset_0_2px_#ffffff26,inset_0_-2px_#0000001a,0_1px_#0000001a] hover:text-white hover:bg-[#000] hover:border-[#000]'); if(variant == 'secondary') - newClassNames.push('text-white bg-[#185d79] border-[#185d79] [box-shadow:inset_0_2px_#ffffff26,_inset_0_-2px_#0000001a,_0_1px_#0000001a] hover:text-white hover:bg-[#144f67] hover:border-[#134a61]'); + newClassNames.push('text-white bg-[#185d79] border-[#185d79] [box-shadow:inset_0_2px_#ffffff26,inset_0_-2px_#0000001a,0_1px_#0000001a] hover:text-white hover:bg-[#144f67] hover:border-[#134a61]'); if(variant == 'dark') newClassNames.push('text-white bg-dark [box-shadow:inset_0_2px_#ffffff26,inset_0_-2px_#0000001a,0_1px_#0000001a] hover:text-white hover:bg-[#18181bfb] hover:border-[#161619fb]'); @@ -54,7 +54,7 @@ export const Button: FC = props => { if(size == 'sm') { - newClassNames.push('!px-[.5rem] !py-[.25rem] !text-[.7875rem] !rounded-[.2rem] !min-h-[28px]'); + newClassNames.push('px-[.5rem]! py-[.25rem]! text-[.7875rem]! rounded-[.2rem]! min-h-[28px]!'); } } diff --git a/src/common/Grid.tsx b/src/common/Grid.tsx index 441db8a..9bf81b0 100644 --- a/src/common/Grid.tsx +++ b/src/common/Grid.tsx @@ -25,12 +25,12 @@ export const Grid: FC = props => if(inline) newClassNames.push('inline-grid'); - else newClassNames.push('grid grid-rows-[repeat(var(--bs-rows,_1),_1fr)] grid-cols-[repeat(var(--bs-columns,_12),_1fr)]'); + else newClassNames.push('grid grid-rows-[repeat(var(--bs-rows,1),1fr)] grid-cols-[repeat(var(--bs-columns,12),1fr)]'); if(gap) newClassNames.push('gap-' + gap); else if(gap === 0) newClassNames.push('gap-0'); - if(maxContent) newClassNames.push('[flex-basis:max-content]'); + if(maxContent) newClassNames.push('basis-[max-content]'); if(alignSelf) newClassNames.push('self-' + alignSelf); diff --git a/src/common/Popover.tsx b/src/common/Popover.tsx index 5a7c5c8..c6a1b7c 100644 --- a/src/common/Popover.tsx +++ b/src/common/Popover.tsx @@ -43,7 +43,7 @@ export const ReactPopover: FC