@hua-labs/ui 2.1.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -67
- package/dist/{ComponentLayout-btJq4TjA.d.mts → ComponentLayout-DrZpz0yv.d.mts} +1 -1
- package/dist/Section-BWzyshgX.d.mts +67 -0
- package/dist/advanced/dashboard.d.ts.map +1 -1
- package/dist/advanced-dashboard.d.mts +1 -1
- package/dist/advanced-dashboard.js +4 -4
- package/dist/advanced-dashboard.js.map +1 -1
- package/dist/advanced-dashboard.mjs +3 -3
- package/dist/advanced-dashboard.mjs.map +1 -1
- package/dist/advanced-emotion.js +1 -1
- package/dist/advanced-emotion.js.map +1 -1
- package/dist/advanced-emotion.mjs +1 -1
- package/dist/advanced-motion.d.mts +65 -1
- package/dist/advanced-motion.js +14 -14
- package/dist/advanced-motion.js.map +1 -1
- package/dist/advanced-motion.mjs +1 -1
- package/dist/advanced.d.mts +4 -4
- package/dist/advanced.js +16 -16
- package/dist/advanced.js.map +1 -1
- package/dist/advanced.mjs +3 -3
- package/dist/advanced.mjs.map +1 -1
- package/dist/chunk-3CCF7U3P.mjs +3 -0
- package/dist/{chunk-IFSEJVOR.mjs.map → chunk-3CCF7U3P.mjs.map} +1 -1
- package/dist/chunk-3GAUTZXQ.mjs +3 -0
- package/dist/{chunk-X7ZIWYRC.mjs.map → chunk-3GAUTZXQ.mjs.map} +1 -1
- package/dist/chunk-42RGFEL2.mjs +3 -0
- package/dist/chunk-42RGFEL2.mjs.map +1 -0
- package/dist/chunk-4NJE7D6X.mjs +3 -0
- package/dist/chunk-4NJE7D6X.mjs.map +1 -0
- package/dist/chunk-6HVJFEDA.mjs +3 -0
- package/dist/chunk-6HVJFEDA.mjs.map +1 -0
- package/dist/chunk-7OYT3QSY.mjs +3 -0
- package/dist/chunk-7OYT3QSY.mjs.map +1 -0
- package/dist/chunk-ANYZ56VB.mjs +3 -0
- package/dist/{chunk-QQCELXFD.mjs.map → chunk-ANYZ56VB.mjs.map} +1 -1
- package/dist/chunk-AOSXB5JJ.mjs +4 -0
- package/dist/{chunk-GLZKT7JN.mjs.map → chunk-AOSXB5JJ.mjs.map} +1 -1
- package/dist/chunk-B544MRF7.mjs +3 -0
- package/dist/{chunk-SDFHJ4GB.mjs.map → chunk-B544MRF7.mjs.map} +1 -1
- package/dist/chunk-CVWWS25A.mjs +3 -0
- package/dist/chunk-CVWWS25A.mjs.map +1 -0
- package/dist/chunk-DYNBM24D.mjs +3 -0
- package/dist/{chunk-OSCMSA2Q.mjs.map → chunk-DYNBM24D.mjs.map} +1 -1
- package/dist/{chunk-NBJUE7NR.mjs → chunk-FX57OSYG.mjs} +2 -2
- package/dist/{chunk-NBJUE7NR.mjs.map → chunk-FX57OSYG.mjs.map} +1 -1
- package/dist/chunk-IJSYSNM5.mjs +3 -0
- package/dist/{chunk-IN7RWQCJ.mjs.map → chunk-IJSYSNM5.mjs.map} +1 -1
- package/dist/chunk-KJZGOL2Z.mjs +3 -0
- package/dist/{chunk-LOYAJIWO.mjs.map → chunk-KJZGOL2Z.mjs.map} +1 -1
- package/dist/chunk-KYRIUUQP.mjs +3 -0
- package/dist/{chunk-PAEKNQWW.mjs.map → chunk-KYRIUUQP.mjs.map} +1 -1
- package/dist/chunk-LSA7DU3N.mjs +73 -0
- package/dist/chunk-LSA7DU3N.mjs.map +1 -0
- package/dist/chunk-MDLCJASB.mjs +3 -0
- package/dist/{chunk-LH77I6HO.mjs.map → chunk-MDLCJASB.mjs.map} +1 -1
- package/dist/chunk-N56BUOCD.mjs +3 -0
- package/dist/{chunk-XV3Y7QVU.mjs.map → chunk-N56BUOCD.mjs.map} +1 -1
- package/dist/chunk-OFYITQXI.mjs +13 -0
- package/dist/chunk-OFYITQXI.mjs.map +1 -0
- package/dist/chunk-OZNST3EZ.mjs +3 -0
- package/dist/{chunk-SGEP3CQE.mjs.map → chunk-OZNST3EZ.mjs.map} +1 -1
- package/dist/chunk-RS6RKW5U.mjs +13 -0
- package/dist/{chunk-6KTHJ3EL.mjs.map → chunk-RS6RKW5U.mjs.map} +1 -1
- package/dist/{chunk-C4OACMTB.mjs → chunk-TXBZZJNR.mjs} +2 -2
- package/dist/{chunk-C4OACMTB.mjs.map → chunk-TXBZZJNR.mjs.map} +1 -1
- package/dist/chunk-TZ4YSHMC.mjs +3 -0
- package/dist/{chunk-UWHCM3S6.mjs.map → chunk-TZ4YSHMC.mjs.map} +1 -1
- package/dist/chunk-U6CTBZ2U.mjs +3 -0
- package/dist/chunk-U6CTBZ2U.mjs.map +1 -0
- package/dist/{chunk-PYBYZVSL.mjs → chunk-WP7VFE77.mjs} +2 -2
- package/dist/{chunk-PYBYZVSL.mjs.map → chunk-WP7VFE77.mjs.map} +1 -1
- package/dist/{chunk-FFH4ZFKS.mjs → chunk-XCZMLKPK.mjs} +2 -2
- package/dist/{chunk-FFH4ZFKS.mjs.map → chunk-XCZMLKPK.mjs.map} +1 -1
- package/dist/chunk-XGHT7WMO.mjs +3 -0
- package/dist/chunk-XGHT7WMO.mjs.map +1 -0
- package/dist/chunk-XL4KTJ4L.mjs +3 -0
- package/dist/{chunk-VWSBJUNI.mjs.map → chunk-XL4KTJ4L.mjs.map} +1 -1
- package/dist/chunk-Z74YUUVT.mjs +3 -0
- package/dist/chunk-Z74YUUVT.mjs.map +1 -0
- package/dist/chunk-ZXZIHU7J.mjs +8 -0
- package/dist/{chunk-N7M6RIN4.mjs.map → chunk-ZXZIHU7J.mjs.map} +1 -1
- package/dist/components/Card.d.ts.map +1 -1
- package/dist/components/DatePicker.d.ts.map +1 -1
- package/dist/components/Modal.d.ts.map +1 -1
- package/dist/components/Popover.d.ts +2 -0
- package/dist/components/Popover.d.ts.map +1 -1
- package/dist/components/Progress.d.ts +1 -0
- package/dist/components/Progress.d.ts.map +1 -1
- package/dist/components/Section.d.ts +44 -0
- package/dist/components/Section.d.ts.map +1 -0
- package/dist/components/advanced/AnimatedGradient.d.ts.map +1 -1
- package/dist/components/advanced/DotNav.d.ts +26 -0
- package/dist/components/advanced/DotNav.d.ts.map +1 -0
- package/dist/components/advanced/HorizontalScroll.d.ts +20 -0
- package/dist/components/advanced/HorizontalScroll.d.ts.map +1 -0
- package/dist/components/advanced/ImageReveal.d.ts +24 -0
- package/dist/components/advanced/ImageReveal.d.ts.map +1 -0
- package/dist/components/advanced/index.d.ts +6 -0
- package/dist/components/advanced/index.d.ts.map +1 -1
- package/dist/data.mjs +2 -2
- package/dist/data.mjs.map +1 -1
- package/dist/feedback.mjs +1 -1
- package/dist/form.js +3 -3
- package/dist/form.js.map +1 -1
- package/dist/form.mjs +4 -4
- package/dist/form.mjs.map +1 -1
- package/dist/{icons-Bj_nr8Ba.d.mts → icons-DmhQEH_E.d.mts} +6 -1
- package/dist/iconsax-extended.js +1 -1
- package/dist/iconsax-extended.js.map +1 -1
- package/dist/iconsax-extended.mjs +1 -1
- package/dist/iconsax-extended.mjs.map +1 -1
- package/dist/index.d.mts +9 -27
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/interactive.js +1 -1
- package/dist/interactive.js.map +1 -1
- package/dist/interactive.mjs +1 -1
- package/dist/interactive.mjs.map +1 -1
- package/dist/landing/LandingAbout.d.ts +3 -0
- package/dist/landing/LandingAbout.d.ts.map +1 -0
- package/dist/landing/LandingCTA.d.ts +3 -0
- package/dist/landing/LandingCTA.d.ts.map +1 -0
- package/dist/landing/LandingContact.d.ts +3 -0
- package/dist/landing/LandingContact.d.ts.map +1 -0
- package/dist/landing/LandingExperience.d.ts +3 -0
- package/dist/landing/LandingExperience.d.ts.map +1 -0
- package/dist/landing/LandingFeatures.d.ts +3 -0
- package/dist/landing/LandingFeatures.d.ts.map +1 -0
- package/dist/landing/LandingHero.d.ts +3 -0
- package/dist/landing/LandingHero.d.ts.map +1 -0
- package/dist/landing/LandingLogoCloud.d.ts +3 -0
- package/dist/landing/LandingLogoCloud.d.ts.map +1 -0
- package/dist/landing/LandingMetrics.d.ts +3 -0
- package/dist/landing/LandingMetrics.d.ts.map +1 -0
- package/dist/landing/LandingProjects.d.ts +3 -0
- package/dist/landing/LandingProjects.d.ts.map +1 -0
- package/dist/landing/LandingProvider.d.ts +4 -0
- package/dist/landing/LandingProvider.d.ts.map +1 -0
- package/dist/landing/LandingShowcase.d.ts +3 -0
- package/dist/landing/LandingShowcase.d.ts.map +1 -0
- package/dist/landing/LandingSkills.d.ts +3 -0
- package/dist/landing/LandingSkills.d.ts.map +1 -0
- package/dist/landing/LandingStats.d.ts +3 -0
- package/dist/landing/LandingStats.d.ts.map +1 -0
- package/dist/landing/LandingTestimonials.d.ts +3 -0
- package/dist/landing/LandingTestimonials.d.ts.map +1 -0
- package/dist/landing/index.d.ts +47 -0
- package/dist/landing/index.d.ts.map +1 -0
- package/dist/landing/themes/app.d.ts +3 -0
- package/dist/landing/themes/app.d.ts.map +1 -0
- package/dist/landing/themes/corporate.d.ts +3 -0
- package/dist/landing/themes/corporate.d.ts.map +1 -0
- package/dist/landing/themes/dashboard.d.ts +3 -0
- package/dist/landing/themes/dashboard.d.ts.map +1 -0
- package/dist/landing/themes/immersive.d.ts +3 -0
- package/dist/landing/themes/immersive.d.ts.map +1 -0
- package/dist/landing/themes/index.d.ts +15 -0
- package/dist/landing/themes/index.d.ts.map +1 -0
- package/dist/landing/themes/marketing.d.ts +3 -0
- package/dist/landing/themes/marketing.d.ts.map +1 -0
- package/dist/landing/themes/portfolio.d.ts +3 -0
- package/dist/landing/themes/portfolio.d.ts.map +1 -0
- package/dist/landing/themes/product.d.ts +3 -0
- package/dist/landing/themes/product.d.ts.map +1 -0
- package/dist/landing/types.d.ts +346 -0
- package/dist/landing/types.d.ts.map +1 -0
- package/dist/landing.d.mts +417 -0
- package/dist/landing.js +100 -0
- package/dist/landing.js.map +1 -0
- package/dist/landing.mjs +31 -0
- package/dist/landing.mjs.map +1 -0
- package/dist/lib/icons.d.ts +6 -1
- package/dist/lib/icons.d.ts.map +1 -1
- package/dist/navigation.d.mts +1 -1
- package/dist/navigation.js +2 -2
- package/dist/navigation.js.map +1 -1
- package/dist/navigation.mjs +1 -1
- package/dist/navigation.mjs.map +1 -1
- package/dist/overlay.d.mts +2 -0
- package/dist/overlay.js +1 -1
- package/dist/overlay.js.map +1 -1
- package/dist/overlay.mjs +1 -1
- package/dist/overlay.mjs.map +1 -1
- package/dist/sdui.js +4 -4
- package/dist/sdui.js.map +1 -1
- package/dist/sdui.mjs +1 -1
- package/dist/sdui.mjs.map +1 -1
- package/package.json +16 -10
- package/src/styles/landing.css +107 -0
- package/src/styles/utilities.css +58 -0
- package/dist/chunk-6KTHJ3EL.mjs +0 -13
- package/dist/chunk-BXX2TZUB.mjs +0 -3
- package/dist/chunk-BXX2TZUB.mjs.map +0 -1
- package/dist/chunk-COR6CDMA.mjs +0 -83
- package/dist/chunk-COR6CDMA.mjs.map +0 -1
- package/dist/chunk-GLZKT7JN.mjs +0 -4
- package/dist/chunk-HN5LSP6L.mjs +0 -3
- package/dist/chunk-HN5LSP6L.mjs.map +0 -1
- package/dist/chunk-IFSEJVOR.mjs +0 -3
- package/dist/chunk-IN7RWQCJ.mjs +0 -3
- package/dist/chunk-LH77I6HO.mjs +0 -3
- package/dist/chunk-LOYAJIWO.mjs +0 -3
- package/dist/chunk-LPAG7DCA.mjs +0 -3
- package/dist/chunk-LPAG7DCA.mjs.map +0 -1
- package/dist/chunk-N7M6RIN4.mjs +0 -8
- package/dist/chunk-OSCMSA2Q.mjs +0 -3
- package/dist/chunk-PAEKNQWW.mjs +0 -3
- package/dist/chunk-QQCELXFD.mjs +0 -3
- package/dist/chunk-RPUS7G7Q.mjs +0 -3
- package/dist/chunk-RPUS7G7Q.mjs.map +0 -1
- package/dist/chunk-SDFHJ4GB.mjs +0 -3
- package/dist/chunk-SGEP3CQE.mjs +0 -3
- package/dist/chunk-UUHAXGMO.mjs +0 -3
- package/dist/chunk-UUHAXGMO.mjs.map +0 -1
- package/dist/chunk-UWHCM3S6.mjs +0 -3
- package/dist/chunk-VWSBJUNI.mjs +0 -3
- package/dist/chunk-X7ZIWYRC.mjs +0 -3
- package/dist/chunk-XV3Y7QVU.mjs +0 -3
package/README.md
CHANGED
|
@@ -1,42 +1,31 @@
|
|
|
1
1
|
# @hua-labs/ui
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
모던 React UI 컴포넌트 라이브러리 — 접근성, 테마, 프로덕션 레디.
|
|
3
|
+
Accessible, TypeScript-first component library for React applications. Provides 70+ production-ready components with modular entry points for optimal bundle size, dark mode support, and Tailwind CSS integration.
|
|
5
4
|
|
|
6
5
|
[](https://www.npmjs.com/package/@hua-labs/ui)
|
|
7
|
-
[](https://www.npmjs.com/package/@hua-labs/ui)
|
|
8
7
|
[](https://github.com/HUA-Labs/HUA-Labs-public/blob/main/LICENSE)
|
|
9
8
|
[](https://www.typescriptlang.org/)
|
|
10
9
|
[](https://reactjs.org/)
|
|
11
10
|
|
|
12
|
-
> **Alpha**: APIs may change before stable release. | **알파**: 안정 릴리스 전 API가 변경될 수 있습니다.
|
|
13
|
-
|
|
14
|
-
## Overview | 개요
|
|
15
|
-
|
|
16
|
-
Accessible, TypeScript-first component library for React applications. Provides 50+ production-ready components with modular entry points for optimal bundle size, dark mode support, and Tailwind CSS integration.
|
|
17
|
-
|
|
18
|
-
React 애플리케이션을 위한 접근성 우선 TypeScript 컴포넌트 라이브러리입니다. 50개 이상의 프로덕션 레디 컴포넌트를 모듈식 진입점, 다크 모드, Tailwind CSS 통합과 함께 제공합니다.
|
|
19
|
-
|
|
20
11
|
## Features
|
|
21
12
|
|
|
22
|
-
- **
|
|
23
|
-
- **Modular entry points
|
|
24
|
-
- **Accessible
|
|
25
|
-
- **Dark mode
|
|
26
|
-
- **Tailwind CSS
|
|
27
|
-
- **Tree-shakeable
|
|
13
|
+
- **70+ components — Buttons, forms, tables, modals, overlays, and more**
|
|
14
|
+
- **Modular entry points — Import only what you need for optimal bundle size**
|
|
15
|
+
- **Accessible — ARIA attributes, keyboard navigation, WCAG compliant**
|
|
16
|
+
- **Dark mode — Built-in dark mode support**
|
|
17
|
+
- **Tailwind CSS — Utility-first styling with class variance authority**
|
|
18
|
+
- **Tree-shakeable — Side-effect free (except CSS)**
|
|
28
19
|
|
|
29
|
-
## Installation
|
|
20
|
+
## Installation
|
|
30
21
|
|
|
31
22
|
```bash
|
|
32
23
|
pnpm add @hua-labs/ui
|
|
33
24
|
```
|
|
34
25
|
|
|
35
|
-
Peer dependencies:
|
|
26
|
+
> Peer dependencies: @dnd-kit/core ^6.3.1, @dnd-kit/sortable ^10.0.0, @dnd-kit/utilities ^3.2.2, @hua-labs/motion-core >=2.0.0, react >=19.0.0, react-dom >=19.0.0
|
|
36
27
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
## Quick Start | 빠른 시작
|
|
28
|
+
## Quick Start
|
|
40
29
|
|
|
41
30
|
```tsx
|
|
42
31
|
import { Button, Card, CardHeader, CardTitle, CardContent } from '@hua-labs/ui';
|
|
@@ -55,53 +44,52 @@ function App() {
|
|
|
55
44
|
</Card>
|
|
56
45
|
);
|
|
57
46
|
}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Entry Points | 진입점
|
|
61
|
-
|
|
62
|
-
| Path | Components |
|
|
63
|
-
|------|------------|
|
|
64
|
-
| `@hua-labs/ui` | Button, Card, Badge, Alert, Modal, Drawer, Table, Avatar, etc. |
|
|
65
|
-
| `@hua-labs/ui/form` | Input, Select, DatePicker, Upload, Autocomplete, ColorPicker, etc. |
|
|
66
|
-
| `@hua-labs/ui/navigation` | PageNavigation, PageTransition |
|
|
67
|
-
| `@hua-labs/ui/feedback` | ToastProvider, useToast |
|
|
68
|
-
| `@hua-labs/ui/overlay` | Modal, Drawer, Popover, Dropdown, BottomSheet, ConfirmModal |
|
|
69
|
-
| `@hua-labs/ui/data` | Table, Badge, Progress, Skeleton |
|
|
70
|
-
| `@hua-labs/ui/interactive` | Accordion, Tabs, Menu, ContextMenu, Command |
|
|
71
|
-
| `@hua-labs/ui/sdui` | Server-driven UI components |
|
|
72
|
-
| `@hua-labs/ui/advanced` | Advanced components (dashboard, motion, emotion) |
|
|
73
|
-
| `@hua-labs/ui/styles/*` | CSS files (base, toast, codeblock, theme) |
|
|
74
|
-
| `@hua-labs/ui/icons` | Icon components |
|
|
75
47
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
| Category | Components |
|
|
79
|
-
|----------|------------|
|
|
80
|
-
| Basic UI | Button, Icon, Avatar, Link, Badge |
|
|
81
|
-
| Layout | Container, Grid, Stack, Card, Panel, Divider |
|
|
82
|
-
| Form | Input, NumberInput, Select, Checkbox, Radio, Switch, Slider, Textarea, DatePicker, Upload, Autocomplete, ColorPicker |
|
|
83
|
-
| Overlay | Modal, Drawer, Popover, Dropdown, BottomSheet, ConfirmModal |
|
|
84
|
-
| Data | Table, Progress, Skeleton |
|
|
85
|
-
| Feedback | Alert, Toast, LoadingSpinner, Tooltip |
|
|
86
|
-
| Interactive | Accordion, Tabs, Menu, ContextMenu, Command |
|
|
87
|
-
| Navigation | Breadcrumb, Pagination, PageNavigation, PageTransition |
|
|
88
|
-
| Theme | ThemeProvider, ThemeToggle |
|
|
89
|
-
| Utilities | `cn`, `merge`, `mergeIf`, `mergeMap` |
|
|
90
|
-
|
|
91
|
-
## Documentation | 문서
|
|
92
|
-
|
|
93
|
-
- [📚 Documentation Site | 문서 사이트](https://docs.hua-labs.com)
|
|
94
|
-
|
|
95
|
-
## Related Packages | 관련 패키지
|
|
96
|
-
|
|
97
|
-
- [`@hua-labs/hua`](https://www.npmjs.com/package/@hua-labs/hua) — Framework (UI + Motion + i18n)
|
|
98
|
-
- [`@hua-labs/ui-dashboard`](https://www.npmjs.com/package/@hua-labs/ui-dashboard) — Dashboard domain components
|
|
99
|
-
- [`@hua-labs/motion-core`](https://www.npmjs.com/package/@hua-labs/motion-core) — Animation hooks
|
|
100
|
-
|
|
101
|
-
## Requirements | 요구사항
|
|
48
|
+
```
|
|
102
49
|
|
|
103
|
-
|
|
50
|
+
## API
|
|
51
|
+
|
|
52
|
+
| Export | Type | Description |
|
|
53
|
+
|--------|------|-------------|
|
|
54
|
+
| `Button` | component | Primary action button with variants, sizes, and loading state |
|
|
55
|
+
| `Action` | component | Compact icon action button |
|
|
56
|
+
| `Input` | component | Text input with validation, prefix/suffix, and error states |
|
|
57
|
+
| `NumberInput` | component | Numeric input with increment/decrement controls |
|
|
58
|
+
| `Link` | component | Styled anchor with router integration |
|
|
59
|
+
| `Icon` | component | Universal icon component (Lucide, Phosphor, custom) |
|
|
60
|
+
| `Avatar` | component | User avatar with image fallback |
|
|
61
|
+
| `Modal` | component | Dialog overlay with backdrop and focus trap |
|
|
62
|
+
| `Container` | component | Responsive max-width container |
|
|
63
|
+
| `Grid` | component | CSS Grid layout wrapper |
|
|
64
|
+
| `Stack` | component | Flex stack layout (vertical/horizontal) |
|
|
65
|
+
| `Divider` | component | Visual separator (horizontal/vertical) |
|
|
66
|
+
| `Card` | component | Content container with header, body, footer slots |
|
|
67
|
+
| `Panel` | component | Collapsible content panel |
|
|
68
|
+
| `Badge` | component | Status badge with color variants |
|
|
69
|
+
| `Progress` | component | Progress bar with percentage |
|
|
70
|
+
| `Skeleton` | component | Content placeholder during loading |
|
|
71
|
+
| `Alert` | component | Inline alert with success/warning/error/info variants |
|
|
72
|
+
| `ToastProvider` | component | Toast notification provider |
|
|
73
|
+
| `useToast` | hook | Imperative toast API — toast.success(), toast.error() |
|
|
74
|
+
| `LoadingSpinner` | component | Animated loading indicator |
|
|
75
|
+
| `Tooltip` | component | Hover tooltip with positioning |
|
|
76
|
+
| `Label` | component | Form label with required indicator |
|
|
77
|
+
| `Switch` | component | Toggle switch for boolean values |
|
|
78
|
+
| `Toggle` | component | Pressable toggle button |
|
|
79
|
+
| `ScrollArea` | component | Custom scrollbar container |
|
|
80
|
+
| `ScrollToTop` | component | Scroll-to-top floating button |
|
|
81
|
+
| `ThemeProvider` | component | Dark/light theme context provider |
|
|
82
|
+
| `ThemeToggle` | component | Theme switch button |
|
|
83
|
+
| `useTheme` | hook | Theme context hook — { theme, setTheme } |
|
|
84
|
+
| `IconProvider` | component | Icon configuration context provider |
|
|
85
|
+
| `cn` | function | Tailwind-safe class name merging (clsx + tailwind-merge) |
|
|
86
|
+
| `Slot` | component | Polymorphic slot for asChild pattern |
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
## Related Packages
|
|
90
|
+
|
|
91
|
+
- [`@hua-labs/hua`](https://www.npmjs.com/package/@hua-labs/hua)
|
|
104
92
|
|
|
105
93
|
## License
|
|
106
94
|
|
|
107
|
-
MIT — [HUA Labs](https://
|
|
95
|
+
MIT — [HUA Labs](https://hua-labs.com)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Container 컴포넌트의 props
|
|
7
|
+
*/
|
|
8
|
+
interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
9
|
+
size?: "sm" | "md" | "lg" | "xl" | "full";
|
|
10
|
+
padding?: "none" | "sm" | "md" | "lg" | "xl";
|
|
11
|
+
centered?: boolean;
|
|
12
|
+
fluid?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Container 컴포넌트
|
|
16
|
+
*
|
|
17
|
+
* 콘텐츠를 감싸는 컨테이너 컴포넌트입니다.
|
|
18
|
+
* 반응형 최대 너비와 패딩을 제공하여 일관된 레이아웃을 구성합니다.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* <Container><h1>제목</h1></Container>
|
|
22
|
+
* <Container size="sm" padding="none"><div>콘텐츠</div></Container>
|
|
23
|
+
* <Container fluid padding="xl"><div>전체 너비</div></Container>
|
|
24
|
+
*/
|
|
25
|
+
declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>;
|
|
26
|
+
|
|
27
|
+
declare const sectionVariants: (props?: ({
|
|
28
|
+
spacing?: "sm" | "md" | "lg" | "xl" | "none" | null | undefined;
|
|
29
|
+
background?: "none" | "primary" | "muted" | "accent" | null | undefined;
|
|
30
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
31
|
+
interface SectionHeaderConfig {
|
|
32
|
+
title: string;
|
|
33
|
+
subtitle?: string;
|
|
34
|
+
action?: React.ReactNode;
|
|
35
|
+
/** section-line 데코레이터 표시 @default true */
|
|
36
|
+
decorator?: boolean;
|
|
37
|
+
/** 텍스트 정렬 @default 'center' */
|
|
38
|
+
align?: 'left' | 'center';
|
|
39
|
+
}
|
|
40
|
+
interface SectionProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof sectionVariants> {
|
|
41
|
+
/** Container 사이즈 @default 'lg' */
|
|
42
|
+
container?: ContainerProps['size'];
|
|
43
|
+
/** Container 패딩 @default 'none' */
|
|
44
|
+
containerPadding?: ContainerProps['padding'];
|
|
45
|
+
/** 섹션 헤더 설정 */
|
|
46
|
+
header?: SectionHeaderConfig;
|
|
47
|
+
/** 풀위드 모드 (Container 없이 직접) */
|
|
48
|
+
fullWidth?: boolean;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Section 컴포넌트
|
|
52
|
+
*
|
|
53
|
+
* 랜딩 페이지 섹션의 보일러플레이트를 줄이는 시맨틱 래퍼.
|
|
54
|
+
* 내부적으로 Container를 사용하며, header prop으로 제목/부제/데코레이터를 자동 생성합니다.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* <Section header={{ title: "제목", subtitle: "부제" }}>
|
|
58
|
+
* {children}
|
|
59
|
+
* </Section>
|
|
60
|
+
*
|
|
61
|
+
* <Section spacing="xl" background="muted" fullWidth>
|
|
62
|
+
* {fullWidthContent}
|
|
63
|
+
* </Section>
|
|
64
|
+
*/
|
|
65
|
+
declare const Section: React.ForwardRefExoticComponent<SectionProps & React.RefAttributes<HTMLElement>>;
|
|
66
|
+
|
|
67
|
+
export { Container as C, type SectionProps as S, type ContainerProps as a, Section as b, type SectionHeaderConfig as c, sectionVariants as s };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/advanced/dashboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/advanced/dashboard.ts"],"names":[],"mappings":"AAEA,cAAc,yBAAyB,CAAC;AACxC,mBAAmB,yBAAyB,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React$1 from 'react';
|
|
2
|
-
import { I as IconName } from './icons-
|
|
2
|
+
import { I as IconName } from './icons-DmhQEH_E.mjs';
|
|
3
3
|
import { C as Color, E as ExtendedVariant } from './common-YLvZxA_K.mjs';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import '@phosphor-icons/react';
|