0.1.6 • Published 5 months ago
basic-styled v0.1.6
basic-styled 는 기초적인 스타일링 기능을 제공하는 React 전용 CSS-in-JS 라이브러리예요. 고급 스타일링이나 성능이 중요하지 않은 간단한 프로젝트라면 한 번 사용해 보세요!
🚀 특징
- 간단한 사용
- 의존성 없음
- Theming 지원
- Server-Side Rendering 지원
- Next.js 호환
설치 및 시작
pnpm add basic-styled
import styled from 'basic-styled';
function App() {
return (
<Box>App</Box>
);
}
export default App;
const Box = styled.div`
border: 1px solid;
`;
예시
Theming
// App.tsx
import ThemeProvider from 'basic-styled/setup/ThemeProvider';
const theme = {
palette: {
primary: '#007bff',
}
};
function App() {
return (
<ThemeProvider theme={theme}>
App
</ThemeProvider>
);
}
export default App;
// with TypeScript
import "basic-styled";
declare module "basic-styled" {
export interface BasicTheme {
palette: {
primary: string;
};
}
}
Next.js
// layout.tsx
import createBuilder from "basic-styled/setup/createBuilder";
import Providers from "./providers";
const theme = {
palette: {
primary: '#007bff',
}
};
createBuilder({
prefix: 'basic-styled', // prefix for class name, default is 'basic-styled'
theme
});
async function RootLayout({ children }: PropsWithChildren) {
return (
<html lang="ko">
<body>
<Providers>
{children}
</Providers>
</body>
</html>
);
}
export default RootLayout;
// providers.tsx
'use client';
import ThemeProvider from 'basic-styled/setup/ThemeProvider';
const theme = {
palette: {
primary: '#007bff',
}
};
function Providers({ children }: PropsWithChildren) {
return (
<ThemeProvider theme={theme}>
{children}
</ThemeProvider>
);
}
export default Providers;
ResetStyle
// App.tsx
import ThemeProvider from 'basic-styled/setup/ThemeProvider';
import ResetStyle from 'basic-styled/setup/ResetStyle';
const theme = {
palette: {
primary: '#007bff',
}
};
function App() {
return (
<ThemeProvider theme={theme}>
<ResetStyle />
App
</ThemeProvider>
);
}
export default App;
GlobalStyle
// App.tsx
import styled from "basic-styled";
import ThemeProvider from 'basic-styled/setup/ThemeProvider';
import ResetStyle from 'basic-styled/setup/ResetStyle';
const theme = {
palette: {
primary: '#007bff',
}
};
function App() {
return (
<ThemeProvider theme={theme}>
<ResetStyle />
<GlobalStyle />
App
</ThemeProvider>
);
}
export default App;
function GlobalStyle() {
return <StyledGlobal globalStyle />;
}
const StyledGlobal = styled.style`
html,
body {
height: 100%;
}
#root {
min-height: 100%;
}
`;
데모
0.0.15
5 months ago
0.1.0
5 months ago
0.1.2
5 months ago
0.1.1
5 months ago
0.1.4
5 months ago
0.1.3
5 months ago
0.1.6
5 months ago
0.1.5
5 months ago
0.0.14
6 months ago
0.0.12
6 months ago
0.0.13
6 months ago
0.0.11
7 months ago
0.0.10
8 months ago
0.0.9
10 months ago
0.0.8
10 months ago
0.0.7
10 months ago
0.0.6
10 months ago
0.0.5
11 months ago
0.0.4
11 months ago
0.0.3
11 months ago
0.0.2
11 months ago
0.0.1
11 months ago
0.0.0
11 months ago