@revealui/presentation 0.2.0 → 0.3.2
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 +146 -42
- package/dist/Text-BWMs9_wn.js +196 -0
- package/dist/Text-BWMs9_wn.js.map +1 -0
- package/dist/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +89 -2938
- package/dist/client.js.map +1 -1
- package/dist/components/BuiltWithRevealUI.d.ts +13 -0
- package/dist/components/BuiltWithRevealUI.d.ts.map +1 -0
- package/dist/components/Button.d.ts +3 -1
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Card.d.ts +18 -6
- package/dist/components/Card.d.ts.map +1 -1
- package/dist/components/Checkbox.d.ts +6 -3
- package/dist/components/Checkbox.d.ts.map +1 -1
- package/dist/components/FormLabel.d.ts +5 -1
- package/dist/components/FormLabel.d.ts.map +1 -1
- package/dist/components/Input.d.ts +4 -2
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/Label.d.ts +7 -2
- package/dist/components/Label.d.ts.map +1 -1
- package/dist/components/Pagination.d.ts +12 -23
- package/dist/components/Pagination.d.ts.map +1 -1
- package/dist/components/Select.d.ts +36 -13
- package/dist/components/Select.d.ts.map +1 -1
- package/dist/components/Textarea.d.ts +4 -2
- package/dist/components/Textarea.d.ts.map +1 -1
- package/dist/components/accordion.d.ts.map +1 -1
- package/dist/components/alert.d.ts.map +1 -1
- package/dist/components/auth-layout.d.ts +7 -2
- package/dist/components/auth-layout.d.ts.map +1 -1
- package/dist/components/avatar-group.d.ts.map +1 -1
- package/dist/components/avatar.d.ts +6 -5
- package/dist/components/avatar.d.ts.map +1 -1
- package/dist/components/badge.d.ts +5 -5
- package/dist/components/badge.d.ts.map +1 -1
- package/dist/components/breadcrumb.d.ts.map +1 -1
- package/dist/components/button-headless.d.ts +2 -1
- package/dist/components/button-headless.d.ts.map +1 -1
- package/dist/components/callout.d.ts.map +1 -1
- package/dist/components/checkbox-headless.d.ts.map +1 -1
- package/dist/components/code-block.d.ts.map +1 -1
- package/dist/components/combobox.d.ts.map +1 -1
- package/dist/components/dialog.d.ts.map +1 -1
- package/dist/components/drawer.d.ts.map +1 -1
- package/dist/components/dropdown.d.ts.map +1 -1
- package/dist/components/empty-state.d.ts.map +1 -1
- package/dist/components/fieldset.d.ts.map +1 -1
- package/dist/components/form-field.d.ts +23 -0
- package/dist/components/form-field.d.ts.map +1 -0
- package/dist/components/heading.d.ts.map +1 -1
- package/dist/components/index.d.ts +20 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/input-headless.d.ts +5 -3
- package/dist/components/input-headless.d.ts.map +1 -1
- package/dist/components/kbd.d.ts.map +1 -1
- package/dist/components/link.d.ts +3 -2
- package/dist/components/link.d.ts.map +1 -1
- package/dist/components/listbox.d.ts.map +1 -1
- package/dist/components/navbar.d.ts +5 -5
- package/dist/components/navbar.d.ts.map +1 -1
- package/dist/components/pricing-table.d.ts +23 -0
- package/dist/components/pricing-table.d.ts.map +1 -0
- package/dist/components/progress.d.ts.map +1 -1
- package/dist/components/radio.d.ts.map +1 -1
- package/dist/components/rating.d.ts.map +1 -1
- package/dist/components/select-headless.d.ts +5 -2
- package/dist/components/select-headless.d.ts.map +1 -1
- package/dist/components/sidebar-layout.d.ts.map +1 -1
- package/dist/components/sidebar.d.ts +5 -5
- package/dist/components/sidebar.d.ts.map +1 -1
- package/dist/components/skeleton.d.ts.map +1 -1
- package/dist/components/slider.d.ts.map +1 -1
- package/dist/components/stacked-layout.d.ts.map +1 -1
- package/dist/components/stat.d.ts.map +1 -1
- package/dist/components/stepper.d.ts.map +1 -1
- package/dist/components/switch.d.ts.map +1 -1
- package/dist/components/table.d.ts.map +1 -1
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/text.d.ts.map +1 -1
- package/dist/components/textarea-headless.d.ts +5 -2
- package/dist/components/textarea-headless.d.ts.map +1 -1
- package/dist/components/timeline.d.ts.map +1 -1
- package/dist/components/toast.d.ts.map +1 -1
- package/dist/components/tooltip.d.ts +7 -5
- package/dist/components/tooltip.d.ts.map +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/use-click-outside.d.ts.map +1 -1
- package/dist/hooks/use-close-context.d.ts.map +1 -1
- package/dist/hooks/use-controllable-state.d.ts.map +1 -1
- package/dist/hooks/use-data-interactive.d.ts.map +1 -1
- package/dist/hooks/use-field-context.d.ts.map +1 -1
- package/dist/hooks/use-focus-trap.d.ts.map +1 -1
- package/dist/hooks/use-layout-animation.d.ts.map +1 -1
- package/dist/hooks/use-popover.d.ts.map +1 -1
- package/dist/hooks/use-roving-tabindex.d.ts.map +1 -1
- package/dist/hooks/use-toggle.d.ts.map +1 -1
- package/dist/hooks/use-transition.d.ts.map +1 -1
- package/dist/hooks/use-type-ahead.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +67 -85
- package/dist/index.js.map +1 -1
- package/dist/primitives/Box.d.ts +3 -1
- package/dist/primitives/Box.d.ts.map +1 -1
- package/dist/primitives/Flex.d.ts +3 -1
- package/dist/primitives/Flex.d.ts.map +1 -1
- package/dist/primitives/Grid.d.ts +3 -1
- package/dist/primitives/Grid.d.ts.map +1 -1
- package/dist/primitives/Heading.d.ts +3 -1
- package/dist/primitives/Heading.d.ts.map +1 -1
- package/dist/primitives/Slot.d.ts +3 -1
- package/dist/primitives/Slot.d.ts.map +1 -1
- package/dist/primitives/Text.d.ts +3 -1
- package/dist/primitives/Text.d.ts.map +1 -1
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/server.d.ts +6 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -32
- package/dist/skeleton-Bb51IWbG.js +520 -0
- package/dist/skeleton-Bb51IWbG.js.map +1 -0
- package/dist/tokens.css +265 -0
- package/dist/tooltip-DZGP3hO_.js +3893 -0
- package/dist/tooltip-DZGP3hO_.js.map +1 -0
- package/dist/utils/cn.d.ts.map +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +16 -12
- package/dist/Box-DDhRNK02.js +0 -45
- package/dist/Box-DDhRNK02.js.map +0 -1
- package/dist/Text-BIym7IhD.js +0 -425
- package/dist/Text-BIym7IhD.js.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/tooltip-oH4lAnkn.js +0 -2277
- package/dist/tooltip-oH4lAnkn.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,65 +1,169 @@
|
|
|
1
1
|
# @revealui/presentation
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
50+ native UI components for RevealUI — built with React 19, Tailwind CSS v4, and CVA. Zero external UI library dependencies (only clsx + class-variance-authority).
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Features
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- **48 Components** — Forms, data display, feedback, navigation, media, and layout
|
|
8
|
+
- **6 Primitives** — Low-level building blocks (Box, Flex, Grid, Heading, Text, Slot)
|
|
9
|
+
- **14 Hooks** — Focus trap, click outside, popover, roving tabindex, scroll lock, and more
|
|
10
|
+
- **Headless + Styled** — Many components ship both unstyled (headless) and styled (CVA) variants
|
|
11
|
+
- **Accessible** — WCAG 2.1 patterns with proper ARIA attributes
|
|
12
|
+
- **React 19** — Server components, hooks, and modern patterns
|
|
13
|
+
- **Tailwind CSS v4** — Native v4 utility classes, no v3 compat layer
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
- `apps/mainframe` - Public-facing web application
|
|
11
|
-
- Future applications
|
|
15
|
+
## Installation
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
packages/presentation/
|
|
17
|
-
├── src/
|
|
18
|
-
│ ├── components/ # High-level, styled components
|
|
19
|
-
│ ├── primitives/ # Low-level, base components
|
|
20
|
-
│ └── index.ts # Main entry point
|
|
21
|
-
├── package.json
|
|
22
|
-
├── tsconfig.json
|
|
23
|
-
└── README.md
|
|
17
|
+
```bash
|
|
18
|
+
pnpm add @revealui/presentation
|
|
24
19
|
```
|
|
25
20
|
|
|
26
21
|
## Usage
|
|
27
22
|
|
|
28
|
-
### In Apps
|
|
29
|
-
|
|
30
23
|
```typescript
|
|
31
|
-
|
|
32
|
-
import {
|
|
33
|
-
|
|
34
|
-
// Or import specific modules
|
|
35
|
-
import { Button } from '@revealui/presentation/components';
|
|
24
|
+
import { Button, Card, Input, Badge } from '@revealui/presentation'
|
|
25
|
+
import { Box, Flex } from '@revealui/presentation/primitives'
|
|
26
|
+
import { useClickOutside, useFocusTrap } from '@revealui/presentation/hooks'
|
|
36
27
|
```
|
|
37
28
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
29
|
+
## Components (48)
|
|
30
|
+
|
|
31
|
+
### Layout
|
|
32
|
+
| Component | Description |
|
|
33
|
+
|-----------|-------------|
|
|
34
|
+
| AuthLayout | Authentication page layout |
|
|
35
|
+
| SidebarLayout | Sidebar + content layout |
|
|
36
|
+
| StackedLayout | Stacked page layout |
|
|
37
|
+
| Navbar | Top navigation bar |
|
|
38
|
+
| Sidebar | Side navigation |
|
|
39
|
+
|
|
40
|
+
### Form Controls
|
|
41
|
+
| Component | Description |
|
|
42
|
+
|-----------|-------------|
|
|
43
|
+
| Button / ButtonCVA | Action trigger (headless + styled) |
|
|
44
|
+
| Input / InputCVA | Text input (headless + styled) |
|
|
45
|
+
| Textarea / TextareaCVA | Multi-line text (headless + styled) |
|
|
46
|
+
| Checkbox / CheckboxCVA | Checkbox (headless + styled) |
|
|
47
|
+
| Select / SelectCVA | Dropdown select with subcomponents |
|
|
48
|
+
| Combobox | Searchable select |
|
|
49
|
+
| Listbox | List selection |
|
|
50
|
+
| Radio | Radio group |
|
|
51
|
+
| Switch | Toggle switch |
|
|
52
|
+
| Label / FormLabel | Form labels |
|
|
53
|
+
| Fieldset | Form field grouping |
|
|
54
|
+
|
|
55
|
+
### Data Display
|
|
56
|
+
| Component | Description |
|
|
57
|
+
|-----------|-------------|
|
|
58
|
+
| Card | Content container (header, title, description, content, footer) |
|
|
59
|
+
| Table | Data table |
|
|
60
|
+
| Pagination | Page navigation |
|
|
61
|
+
| Badge | Status indicator |
|
|
62
|
+
| Text | Styled text |
|
|
63
|
+
| Heading | Section heading |
|
|
64
|
+
| Divider | Horizontal rule |
|
|
65
|
+
| DescriptionList | Key-value pairs |
|
|
66
|
+
| Breadcrumb | Navigation trail |
|
|
67
|
+
|
|
68
|
+
### Feedback
|
|
69
|
+
| Component | Description |
|
|
70
|
+
|-----------|-------------|
|
|
71
|
+
| Alert | Inline alert message |
|
|
72
|
+
| Callout | Highlighted information |
|
|
73
|
+
| Toast | Temporary notification (with provider + hook) |
|
|
74
|
+
| Tooltip | Hover information |
|
|
75
|
+
| Progress | Progress bar |
|
|
76
|
+
| Slider | Range input |
|
|
77
|
+
| Skeleton | Loading placeholder |
|
|
78
|
+
| EmptyState | No-data placeholder |
|
|
79
|
+
| Stat | Metric display (with StatGroup) |
|
|
80
|
+
| Rating | Star rating |
|
|
81
|
+
|
|
82
|
+
### Navigation
|
|
83
|
+
| Component | Description |
|
|
84
|
+
|-----------|-------------|
|
|
85
|
+
| Accordion | Collapsible sections |
|
|
86
|
+
| Tabs | Tab panels |
|
|
87
|
+
| Stepper | Step-by-step progress |
|
|
88
|
+
| Timeline | Chronological events |
|
|
89
|
+
| Dropdown | Action menu |
|
|
90
|
+
| Drawer | Slide-out panel |
|
|
91
|
+
| Dialog | Modal dialog |
|
|
92
|
+
|
|
93
|
+
### Media & Misc
|
|
94
|
+
| Component | Description |
|
|
95
|
+
|-----------|-------------|
|
|
96
|
+
| Avatar / AvatarGroup | User avatars |
|
|
97
|
+
| CodeBlock | Syntax-highlighted code |
|
|
98
|
+
| Kbd / KbdShortcut | Keyboard shortcut display |
|
|
99
|
+
| Link | Styled anchor |
|
|
100
|
+
|
|
101
|
+
## Primitives (6)
|
|
102
|
+
|
|
103
|
+
| Primitive | Description |
|
|
104
|
+
|-----------|-------------|
|
|
105
|
+
| Box | Generic container |
|
|
106
|
+
| Flex | Flexbox layout |
|
|
107
|
+
| Grid | CSS Grid layout |
|
|
108
|
+
| Heading | Semantic heading |
|
|
109
|
+
| Text | Text content |
|
|
110
|
+
| Slot | Component composition utility |
|
|
111
|
+
|
|
112
|
+
## Hooks (14)
|
|
113
|
+
|
|
114
|
+
| Hook | Purpose |
|
|
115
|
+
|------|---------|
|
|
116
|
+
| useClickOutside | Detect clicks outside an element |
|
|
117
|
+
| useCloseContext | Shared close handler context |
|
|
118
|
+
| useControllableState | Controlled/uncontrolled state |
|
|
119
|
+
| useDataInteractive | Interactive element data attributes |
|
|
120
|
+
| useEscapeKey | Escape key handler |
|
|
121
|
+
| useFieldContext | Form field context (label, error, description) |
|
|
122
|
+
| useFocusTrap | Trap focus within an element |
|
|
123
|
+
| useLayoutAnimation | Animated layout transitions |
|
|
124
|
+
| usePopover | Popover positioning |
|
|
125
|
+
| useRovingTabindex | Keyboard navigation in groups |
|
|
126
|
+
| useScrollLock | Prevent body scroll |
|
|
127
|
+
| useToggle | Boolean toggle state |
|
|
128
|
+
| useTransition | CSS transitions |
|
|
129
|
+
| useTypeAhead | Type-ahead search in lists |
|
|
130
|
+
|
|
131
|
+
## Exports
|
|
132
|
+
|
|
133
|
+
| Subpath | Contents |
|
|
134
|
+
|---------|----------|
|
|
135
|
+
| `@revealui/presentation` | All components, primitives, and hooks |
|
|
136
|
+
| `@revealui/presentation/server` | Server components |
|
|
137
|
+
| `@revealui/presentation/client` | Client components |
|
|
138
|
+
| `@revealui/presentation/components` | Components only |
|
|
139
|
+
| `@revealui/presentation/primitives` | Primitives only |
|
|
140
|
+
| `@revealui/presentation/hooks` | Hooks only |
|
|
53
141
|
|
|
54
142
|
## Development
|
|
55
143
|
|
|
56
144
|
```bash
|
|
57
145
|
# Build
|
|
58
|
-
pnpm
|
|
146
|
+
pnpm build
|
|
59
147
|
|
|
60
148
|
# Type check
|
|
61
|
-
pnpm
|
|
149
|
+
pnpm typecheck
|
|
62
150
|
|
|
63
151
|
# Watch mode
|
|
64
|
-
pnpm
|
|
152
|
+
pnpm dev
|
|
65
153
|
```
|
|
154
|
+
|
|
155
|
+
## Adding Components
|
|
156
|
+
|
|
157
|
+
1. Create component in `src/components/` (styled) or `src/primitives/` (unstyled)
|
|
158
|
+
2. Export from the respective `index.ts`
|
|
159
|
+
3. Use CVA for variant-based styling
|
|
160
|
+
4. Follow WCAG 2.1 accessibility patterns
|
|
161
|
+
|
|
162
|
+
## Related
|
|
163
|
+
|
|
164
|
+
- [Core Package](../core/README.md) — CMS engine (uses presentation components)
|
|
165
|
+
- [Architecture Guide](../../docs/ARCHITECTURE.md)
|
|
166
|
+
|
|
167
|
+
## License
|
|
168
|
+
|
|
169
|
+
MIT
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { v as cn } from "./skeleton-Bb51IWbG.js";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/auth-layout.tsx
|
|
4
|
+
function AuthLayout({ children, header, footer }) {
|
|
5
|
+
return /* @__PURE__ */ jsx("main", {
|
|
6
|
+
className: "flex min-h-dvh flex-col p-2",
|
|
7
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
8
|
+
className: "flex grow flex-col items-center justify-center gap-6 p-6 lg:rounded-lg lg:bg-white lg:p-10 lg:shadow-xs lg:ring-1 lg:ring-zinc-950/5 dark:lg:bg-zinc-900 dark:lg:ring-white/10",
|
|
9
|
+
children: [
|
|
10
|
+
header,
|
|
11
|
+
children,
|
|
12
|
+
footer
|
|
13
|
+
]
|
|
14
|
+
})
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/components/Card.tsx
|
|
19
|
+
function Card({ className, ref, ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsx("div", {
|
|
21
|
+
className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className),
|
|
22
|
+
ref,
|
|
23
|
+
...props
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function CardHeader({ className, ref, ...props }) {
|
|
27
|
+
return /* @__PURE__ */ jsx("div", {
|
|
28
|
+
className: cn("flex flex-col space-y-1.5 p-6", className),
|
|
29
|
+
ref,
|
|
30
|
+
...props
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function CardTitle({ className, ref, ...props }) {
|
|
34
|
+
return /* @__PURE__ */ jsx("h3", {
|
|
35
|
+
className: cn("text-2xl font-semibold leading-none tracking-tight", className),
|
|
36
|
+
ref,
|
|
37
|
+
...props
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function CardDescription({ className, ref, ...props }) {
|
|
41
|
+
return /* @__PURE__ */ jsx("p", {
|
|
42
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
43
|
+
ref,
|
|
44
|
+
...props
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function CardContent({ className, ref, ...props }) {
|
|
48
|
+
return /* @__PURE__ */ jsx("div", {
|
|
49
|
+
className: cn("p-6 pt-0", className),
|
|
50
|
+
ref,
|
|
51
|
+
...props
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function CardFooter({ className, ref, ...props }) {
|
|
55
|
+
return /* @__PURE__ */ jsx("div", {
|
|
56
|
+
className: cn("flex items-center p-6 pt-0", className),
|
|
57
|
+
ref,
|
|
58
|
+
...props
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src/components/Label.tsx
|
|
63
|
+
function Label({ className, ref, ...props }) {
|
|
64
|
+
return /* @__PURE__ */ jsx("label", {
|
|
65
|
+
ref,
|
|
66
|
+
className: cn("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", className),
|
|
67
|
+
...props
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
Label.displayName = "Label";
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/components/FormLabel.tsx
|
|
73
|
+
function FormLabel({ required, className, children, ref, ...props }) {
|
|
74
|
+
return /* @__PURE__ */ jsxs(Label, {
|
|
75
|
+
ref,
|
|
76
|
+
className: cn(className),
|
|
77
|
+
...props,
|
|
78
|
+
children: [children, required && /* @__PURE__ */ jsx("span", {
|
|
79
|
+
className: "text-destructive ml-1",
|
|
80
|
+
children: "*"
|
|
81
|
+
})]
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
FormLabel.displayName = "FormLabel";
|
|
85
|
+
//#endregion
|
|
86
|
+
//#region src/components/form-field.tsx
|
|
87
|
+
function FormField({ id, label, error, description, required, className, children }) {
|
|
88
|
+
const descriptionId = description ? `${id}-description` : void 0;
|
|
89
|
+
const errorId = error ? `${id}-error` : void 0;
|
|
90
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
91
|
+
className: cn("space-y-1.5", className),
|
|
92
|
+
children: [
|
|
93
|
+
/* @__PURE__ */ jsx(FormLabel, {
|
|
94
|
+
htmlFor: id,
|
|
95
|
+
required,
|
|
96
|
+
children: label
|
|
97
|
+
}),
|
|
98
|
+
children,
|
|
99
|
+
description && !error && /* @__PURE__ */ jsx("p", {
|
|
100
|
+
id: descriptionId,
|
|
101
|
+
className: "text-xs text-zinc-500 dark:text-zinc-400",
|
|
102
|
+
children: description
|
|
103
|
+
}),
|
|
104
|
+
error && /* @__PURE__ */ jsx("p", {
|
|
105
|
+
id: errorId,
|
|
106
|
+
role: "alert",
|
|
107
|
+
className: "text-xs text-red-600 dark:text-red-400",
|
|
108
|
+
children: error
|
|
109
|
+
})
|
|
110
|
+
]
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
FormField.displayName = "FormField";
|
|
114
|
+
//#endregion
|
|
115
|
+
//#region src/components/Input.tsx
|
|
116
|
+
function Input({ type, className, ref, ...props }) {
|
|
117
|
+
return /* @__PURE__ */ jsx("input", {
|
|
118
|
+
className: cn("flex h-10 w-full rounded border border-border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className),
|
|
119
|
+
ref,
|
|
120
|
+
type,
|
|
121
|
+
...props
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
//#endregion
|
|
125
|
+
//#region src/components/Textarea.tsx
|
|
126
|
+
function Textarea({ className, ref, ...props }) {
|
|
127
|
+
return /* @__PURE__ */ jsx("textarea", {
|
|
128
|
+
className: cn("flex min-h-[80px] w-full rounded border border-border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className),
|
|
129
|
+
ref,
|
|
130
|
+
...props
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
//#endregion
|
|
134
|
+
//#region src/primitives/Flex.tsx
|
|
135
|
+
/**
|
|
136
|
+
* Flex primitive - Flexbox container component
|
|
137
|
+
*/
|
|
138
|
+
function Flex({ direction = "row", align, justify, wrap, gap, className, style, ref, ...props }) {
|
|
139
|
+
return /* @__PURE__ */ jsx("div", {
|
|
140
|
+
ref,
|
|
141
|
+
className: cn("flex", direction && `flex-${direction}`, align && `items-${align === "start" ? "start" : align === "end" ? "end" : align}`, justify && `justify-${justify === "start" ? "start" : justify === "end" ? "end" : justify === "between" ? "between" : justify === "around" ? "around" : justify === "evenly" ? "evenly" : "center"}`, wrap === true && "flex-wrap", wrap === "wrap" && "flex-wrap", wrap === "nowrap" && "flex-nowrap", wrap === "wrap-reverse" && "flex-wrap-reverse", className),
|
|
142
|
+
style: {
|
|
143
|
+
...style,
|
|
144
|
+
...gap && { gap: typeof gap === "number" ? `${gap}px` : gap }
|
|
145
|
+
},
|
|
146
|
+
...props
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
//#endregion
|
|
150
|
+
//#region src/primitives/Grid.tsx
|
|
151
|
+
/**
|
|
152
|
+
* Grid primitive - CSS Grid container component
|
|
153
|
+
*/
|
|
154
|
+
function Grid({ cols, rows, gap, className, style, ref, ...props }) {
|
|
155
|
+
const gridStyle = {
|
|
156
|
+
...style,
|
|
157
|
+
...cols && { gridTemplateColumns: typeof cols === "number" ? `repeat(${cols}, 1fr)` : cols },
|
|
158
|
+
...rows && { gridTemplateRows: typeof rows === "number" ? `repeat(${rows}, 1fr)` : rows },
|
|
159
|
+
...gap && { gap: typeof gap === "number" ? `${gap}px` : gap }
|
|
160
|
+
};
|
|
161
|
+
return /* @__PURE__ */ jsx("div", {
|
|
162
|
+
ref,
|
|
163
|
+
className: cn("grid", className),
|
|
164
|
+
style: gridStyle,
|
|
165
|
+
...props
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
//#endregion
|
|
169
|
+
//#region src/primitives/Heading.tsx
|
|
170
|
+
/**
|
|
171
|
+
* Heading primitive - Heading component
|
|
172
|
+
*/
|
|
173
|
+
function Heading({ as, size = "base", className, children, ref, ...props }) {
|
|
174
|
+
return /* @__PURE__ */ jsx(as || "h2", {
|
|
175
|
+
ref,
|
|
176
|
+
className: cn(size === "sm" && "text-sm", size === "base" && "text-base", size === "lg" && "text-lg", size === "xl" && "text-xl", size === "2xl" && "text-2xl", size === "3xl" && "text-3xl", size === "4xl" && "text-4xl", "font-semibold", className),
|
|
177
|
+
...props,
|
|
178
|
+
children
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
//#endregion
|
|
182
|
+
//#region src/primitives/Text.tsx
|
|
183
|
+
/**
|
|
184
|
+
* Text primitive - Typography component
|
|
185
|
+
*/
|
|
186
|
+
function Text({ as: Component = "p", size = "base", weight = "normal", color = "default", className, ref, ...props }) {
|
|
187
|
+
return /* @__PURE__ */ jsx(Component, {
|
|
188
|
+
ref,
|
|
189
|
+
className: cn(size === "xs" && "text-xs", size === "sm" && "text-sm", size === "base" && "text-base", size === "lg" && "text-lg", size === "xl" && "text-xl", size === "2xl" && "text-2xl", weight === "normal" && "font-normal", weight === "medium" && "font-medium", weight === "semibold" && "font-semibold", weight === "bold" && "font-bold", color === "muted" && "text-muted-foreground", color === "primary" && "text-primary", color === "secondary" && "text-secondary-foreground", color === "destructive" && "text-destructive", className),
|
|
190
|
+
...props
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
//#endregion
|
|
194
|
+
export { Textarea as a, FormLabel as c, CardContent as d, CardDescription as f, AuthLayout as g, CardTitle as h, Flex as i, Label as l, CardHeader as m, Heading as n, Input as o, CardFooter as p, Grid as r, FormField as s, Text as t, Card as u };
|
|
195
|
+
|
|
196
|
+
//# sourceMappingURL=Text-BWMs9_wn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text-BWMs9_wn.js","names":[],"sources":["../src/components/auth-layout.tsx","../src/components/Card.tsx","../src/components/Label.tsx","../src/components/FormLabel.tsx","../src/components/form-field.tsx","../src/components/Input.tsx","../src/components/Textarea.tsx","../src/primitives/Flex.tsx","../src/primitives/Grid.tsx","../src/primitives/Heading.tsx","../src/primitives/Text.tsx"],"sourcesContent":["import type React from 'react';\n\nexport interface AuthLayoutProps {\n children: React.ReactNode;\n /** Optional branding slot rendered above the auth form */\n header?: React.ReactNode;\n /** Optional branding slot rendered below the auth form */\n footer?: React.ReactNode;\n}\n\nexport function AuthLayout({ children, header, footer }: AuthLayoutProps) {\n return (\n <main className=\"flex min-h-dvh flex-col p-2\">\n <div className=\"flex grow flex-col items-center justify-center gap-6 p-6 lg:rounded-lg lg:bg-white lg:p-10 lg:shadow-xs lg:ring-1 lg:ring-zinc-950/5 dark:lg:bg-zinc-900 dark:lg:ring-white/10\">\n {header}\n {children}\n {footer}\n </div>\n </main>\n );\n}\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nfunction Card({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement> }) {\n return (\n <div\n className={cn('rounded-lg border bg-card text-card-foreground shadow-sm', className)}\n ref={ref}\n {...props}\n />\n );\n}\n\nfunction CardHeader({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement> }) {\n return <div className={cn('flex flex-col space-y-1.5 p-6', className)} ref={ref} {...props} />;\n}\n\nfunction CardTitle({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLHeadingElement> & { ref?: React.Ref<HTMLParagraphElement> }) {\n return (\n <h3\n className={cn('text-2xl font-semibold leading-none tracking-tight', className)}\n ref={ref}\n {...props}\n />\n );\n}\n\nfunction CardDescription({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLParagraphElement> & { ref?: React.Ref<HTMLParagraphElement> }) {\n return <p className={cn('text-sm text-muted-foreground', className)} ref={ref} {...props} />;\n}\n\nfunction CardContent({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement> }) {\n return <div className={cn('p-6 pt-0', className)} ref={ref} {...props} />;\n}\n\nfunction CardFooter({\n className,\n ref,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> & { ref?: React.Ref<HTMLDivElement> }) {\n return <div className={cn('flex items-center p-6 pt-0', className)} ref={ref} {...props} />;\n}\n\nexport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport type LabelProps = React.LabelHTMLAttributes<HTMLLabelElement> & {\n ref?: React.Ref<HTMLLabelElement>;\n};\n\nfunction Label({ className, ref, ...props }: LabelProps) {\n return (\n // biome-ignore lint/a11y/noLabelWithoutControl: label associations are provided by consumers.\n <label\n ref={ref}\n className={cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className,\n )}\n {...props}\n />\n );\n}\n\nLabel.displayName = 'Label';\n\nexport { Label };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\nimport { Label, type LabelProps } from './Label.js';\n\nexport interface FormLabelProps extends LabelProps {\n required?: boolean;\n ref?: React.Ref<HTMLLabelElement>;\n}\n\nfunction FormLabel({ required, className, children, ref, ...props }: FormLabelProps) {\n return (\n <Label ref={ref} className={cn(className)} {...props}>\n {children}\n {required && <span className=\"text-destructive ml-1\">*</span>}\n </Label>\n );\n}\n\nFormLabel.displayName = 'FormLabel';\n\nexport { FormLabel };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\nimport { FormLabel } from './FormLabel.js';\n\nexport interface FormFieldProps {\n /** Unique ID linking label to input — must match the input's `id` prop */\n id: string;\n /** Label text */\n label: string;\n /** Error message — when set, field shows error styling */\n error?: string;\n /** Helper text shown below the input */\n description?: string;\n /** Show required asterisk on label */\n required?: boolean;\n /** Additional class on wrapper */\n className?: string;\n /** The input/select/textarea element */\n children: React.ReactNode;\n}\n\nfunction FormField({\n id,\n label,\n error,\n description,\n required,\n className,\n children,\n}: FormFieldProps) {\n const descriptionId = description ? `${id}-description` : undefined;\n const errorId = error ? `${id}-error` : undefined;\n\n return (\n <div className={cn('space-y-1.5', className)}>\n <FormLabel htmlFor={id} required={required}>\n {label}\n </FormLabel>\n {children}\n {description && !error && (\n <p id={descriptionId} className=\"text-xs text-zinc-500 dark:text-zinc-400\">\n {description}\n </p>\n )}\n {error && (\n <p id={errorId} role=\"alert\" className=\"text-xs text-red-600 dark:text-red-400\">\n {error}\n </p>\n )}\n </div>\n );\n}\n\nFormField.displayName = 'FormField';\n\nexport { FormField };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport type InputProps = React.InputHTMLAttributes<HTMLInputElement> & {\n ref?: React.Ref<HTMLInputElement>;\n};\n\nfunction Input({ type, className, ref, ...props }: InputProps) {\n return (\n <input\n className={cn(\n 'flex h-10 w-full rounded border border-border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n ref={ref}\n type={type}\n {...props}\n />\n );\n}\n\nexport { Input };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n ref?: React.Ref<HTMLTextAreaElement>;\n};\n\nfunction Textarea({ className, ref, ...props }: TextareaProps) {\n return (\n <textarea\n className={cn(\n 'flex min-h-[80px] w-full rounded border border-border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport interface FlexProps extends React.HTMLAttributes<HTMLDivElement> {\n direction?: 'row' | 'column' | 'row-reverse' | 'column-reverse';\n align?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';\n justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n wrap?: boolean | 'wrap' | 'nowrap' | 'wrap-reverse';\n gap?: number | string;\n ref?: React.Ref<HTMLDivElement>;\n}\n\n/**\n * Flex primitive - Flexbox container component\n */\nfunction Flex({\n direction = 'row',\n align,\n justify,\n wrap,\n gap,\n className,\n style,\n ref,\n ...props\n}: FlexProps) {\n const flexClasses = cn(\n 'flex',\n direction && `flex-${direction}`,\n align && `items-${align === 'start' ? 'start' : align === 'end' ? 'end' : align}`,\n justify &&\n `justify-${justify === 'start' ? 'start' : justify === 'end' ? 'end' : justify === 'between' ? 'between' : justify === 'around' ? 'around' : justify === 'evenly' ? 'evenly' : 'center'}`,\n wrap === true && 'flex-wrap',\n wrap === 'wrap' && 'flex-wrap',\n wrap === 'nowrap' && 'flex-nowrap',\n wrap === 'wrap-reverse' && 'flex-wrap-reverse',\n className,\n );\n\n const flexStyle = {\n ...style,\n ...(gap && { gap: typeof gap === 'number' ? `${gap}px` : gap }),\n };\n\n return <div ref={ref} className={flexClasses} style={flexStyle} {...props} />;\n}\n\nexport { Flex };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport interface GridProps extends React.HTMLAttributes<HTMLDivElement> {\n cols?: number | string;\n rows?: number | string;\n gap?: number | string;\n ref?: React.Ref<HTMLDivElement>;\n}\n\n/**\n * Grid primitive - CSS Grid container component\n */\nfunction Grid({ cols, rows, gap, className, style, ref, ...props }: GridProps) {\n const gridStyle: React.CSSProperties = {\n ...style,\n ...(cols && {\n gridTemplateColumns: typeof cols === 'number' ? `repeat(${cols}, 1fr)` : cols,\n }),\n ...(rows && {\n gridTemplateRows: typeof rows === 'number' ? `repeat(${rows}, 1fr)` : rows,\n }),\n ...(gap && { gap: typeof gap === 'number' ? `${gap}px` : gap }),\n };\n\n return <div ref={ref} className={cn('grid', className)} style={gridStyle} {...props} />;\n}\n\nexport { Grid };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n size?: 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';\n ref?: React.Ref<HTMLHeadingElement>;\n}\n\n/**\n * Heading primitive - Heading component\n */\nfunction Heading({ as, size = 'base', className, children, ref, ...props }: HeadingProps) {\n const Component = as || 'h2';\n\n const headingClasses = cn(\n size === 'sm' && 'text-sm',\n size === 'base' && 'text-base',\n size === 'lg' && 'text-lg',\n size === 'xl' && 'text-xl',\n size === '2xl' && 'text-2xl',\n size === '3xl' && 'text-3xl',\n size === '4xl' && 'text-4xl',\n 'font-semibold',\n className,\n );\n\n return (\n <Component ref={ref} className={headingClasses} {...props}>\n {children}\n </Component>\n );\n}\n\nexport { Heading };\n","import type React from 'react';\nimport { cn } from '../utils/cn.js';\n\nexport interface TextProps extends React.HTMLAttributes<HTMLParagraphElement> {\n as?: 'p' | 'span' | 'div';\n size?: 'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl';\n weight?: 'normal' | 'medium' | 'semibold' | 'bold';\n color?: 'default' | 'muted' | 'primary' | 'secondary' | 'destructive';\n ref?: React.Ref<HTMLParagraphElement>;\n}\n\n/**\n * Text primitive - Typography component\n */\nfunction Text({\n as: Component = 'p',\n size = 'base',\n weight = 'normal',\n color = 'default',\n className,\n ref,\n ...props\n}: TextProps) {\n const textClasses = cn(\n size === 'xs' && 'text-xs',\n size === 'sm' && 'text-sm',\n size === 'base' && 'text-base',\n size === 'lg' && 'text-lg',\n size === 'xl' && 'text-xl',\n size === '2xl' && 'text-2xl',\n weight === 'normal' && 'font-normal',\n weight === 'medium' && 'font-medium',\n weight === 'semibold' && 'font-semibold',\n weight === 'bold' && 'font-bold',\n color === 'muted' && 'text-muted-foreground',\n color === 'primary' && 'text-primary',\n color === 'secondary' && 'text-secondary-foreground',\n color === 'destructive' && 'text-destructive',\n className,\n );\n\n return <Component ref={ref} className={textClasses} {...props} />;\n}\n\nexport { Text };\n"],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Client-only components that use React hooks and must be used in Client Components.
|
|
5
5
|
*/
|
|
6
6
|
export { Accordion, AccordionItem } from './components/accordion.js';
|
|
7
|
-
export { Alert, AlertActions, AlertBody, AlertDescription, AlertTitle } from './components/alert.js';
|
|
7
|
+
export { Alert, AlertActions, AlertBody, AlertDescription, AlertTitle, } from './components/alert.js';
|
|
8
8
|
export { Avatar } from './components/avatar.js';
|
|
9
9
|
export { AvatarGroup } from './components/avatar-group.js';
|
|
10
10
|
export { Badge } from './components/badge.js';
|
|
@@ -28,6 +28,8 @@ export { Kbd, KbdShortcut } from './components/kbd.js';
|
|
|
28
28
|
export { Link } from './components/link.js';
|
|
29
29
|
export { Listbox, ListboxDescription, ListboxLabel, ListboxOption, } from './components/listbox.js';
|
|
30
30
|
export { Navbar, NavbarDivider, NavbarItem, NavbarLabel, NavbarSection, NavbarSpacer, } from './components/navbar.js';
|
|
31
|
+
export { Pagination, PaginationContent, PaginationEllipsis, type PaginationEllipsisProps, PaginationItem, PaginationLink, type PaginationLinkProps, PaginationNext, type PaginationNextProps, PaginationPrevious, type PaginationPreviousProps, type PaginationProps, } from './components/Pagination.js';
|
|
32
|
+
export { PricingTable, type PricingTableProps, type PricingTier, } from './components/pricing-table.js';
|
|
31
33
|
export { Progress } from './components/progress.js';
|
|
32
34
|
export { Radio, RadioField, RadioGroup } from './components/radio.js';
|
|
33
35
|
export { Rating } from './components/rating.js';
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|