// App.style.ts
import { style, globalStyle } from '@kaze-style/core';
globalStyle({
html: {
lineHeight: '1.5',
},
});
export const classes = style({
// not Atomic CSS
container: {
margin: '20px',
padding: '20px',
},
// atomic CSS
$base: {
color: 'red',
background: 'black',
},
// atomic CSS
$action: {
color: 'blue',
},
});
// App.tsx
import { mergeStyle } from '@kaze-style/core';
import { classes } from './App.style';
export const App = ({ action }) => {
return (
<div className={style.container}>
<p className={mergeStyle(classes.$base, action && classes.$action)}></p>
</div>
);
};
//next.config.mjs
import { withKazeStyle } from '@kaze-style/next-plugin';
/** @type {import('next').NextConfig} */
const nextConfig = {};
export default withKazeStyle(nextConfig);
KazeStyle was designed with reference to several CSS in JS libraries.