dara-ui 0.1.0
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/LICENSE +21 -0
- package/README.md +185 -0
- package/dist/components/Accordion/Accordion.d.ts +23 -0
- package/dist/components/Accordion/index.d.ts +3 -0
- package/dist/components/AuroraBlobs/AuroraBlobs.d.ts +28 -0
- package/dist/components/AuroraBlobs/index.d.ts +3 -0
- package/dist/components/Avatar/Avatar.d.ts +65 -0
- package/dist/components/Avatar/index.d.ts +3 -0
- package/dist/components/Badge/Badge.d.ts +38 -0
- package/dist/components/Badge/index.d.ts +3 -0
- package/dist/components/BlogCard/BlogCard.d.ts +97 -0
- package/dist/components/BlogCard/index.d.ts +3 -0
- package/dist/components/Button/Button.d.ts +49 -0
- package/dist/components/Button/index.d.ts +3 -0
- package/dist/components/Card/Card.d.ts +43 -0
- package/dist/components/Card/index.d.ts +3 -0
- package/dist/components/CharacterCard/CharacterCard.d.ts +86 -0
- package/dist/components/CharacterCard/index.d.ts +3 -0
- package/dist/components/Checkbox/Checkbox.d.ts +59 -0
- package/dist/components/Checkbox/index.d.ts +3 -0
- package/dist/components/Dropdown/Dropdown.d.ts +90 -0
- package/dist/components/Dropdown/index.d.ts +3 -0
- package/dist/components/GradientRing/GradientRing.d.ts +42 -0
- package/dist/components/GradientRing/index.d.ts +3 -0
- package/dist/components/Icons/Icons.d.ts +192 -0
- package/dist/components/Icons/index.d.ts +1 -0
- package/dist/components/Input/Input.d.ts +61 -0
- package/dist/components/Input/index.d.ts +3 -0
- package/dist/components/LanguageChanger/LanguageChanger.d.ts +168 -0
- package/dist/components/LanguageChanger/index.d.ts +4 -0
- package/dist/components/Modal/Modal.d.ts +53 -0
- package/dist/components/Modal/index.d.ts +3 -0
- package/dist/components/Navbar/Navbar.d.ts +27 -0
- package/dist/components/Navbar/index.d.ts +3 -0
- package/dist/components/NoiseOverlay/NoiseOverlay.d.ts +23 -0
- package/dist/components/NoiseOverlay/index.d.ts +3 -0
- package/dist/components/Particles/Particles.d.ts +43 -0
- package/dist/components/Particles/index.d.ts +3 -0
- package/dist/components/ProductCard/ProductCard.d.ts +104 -0
- package/dist/components/ProductCard/index.d.ts +3 -0
- package/dist/components/Progress/Progress.d.ts +89 -0
- package/dist/components/Progress/index.d.ts +3 -0
- package/dist/components/QuestCard/QuestCard.d.ts +67 -0
- package/dist/components/QuestCard/index.d.ts +3 -0
- package/dist/components/Radio/Radio.d.ts +66 -0
- package/dist/components/Radio/index.d.ts +3 -0
- package/dist/components/Range/Range.d.ts +98 -0
- package/dist/components/Range/index.d.ts +3 -0
- package/dist/components/Sidebar/Sidebar.d.ts +163 -0
- package/dist/components/Sidebar/SidebarMobileTrigger.d.ts +33 -0
- package/dist/components/Sidebar/index.d.ts +5 -0
- package/dist/components/SocialMedia/SocialMedia.d.ts +31 -0
- package/dist/components/SocialMedia/index.d.ts +3 -0
- package/dist/components/StatsWidget/StatsWidget.d.ts +71 -0
- package/dist/components/StatsWidget/index.d.ts +3 -0
- package/dist/components/Switch/Switch.d.ts +62 -0
- package/dist/components/Switch/index.d.ts +3 -0
- package/dist/components/Tabs/Tabs.d.ts +21 -0
- package/dist/components/Tabs/index.d.ts +3 -0
- package/dist/components/ThemeChanger/ThemeChanger.d.ts +98 -0
- package/dist/components/ThemeChanger/index.d.ts +3 -0
- package/dist/components/Toast/Toast.d.ts +54 -0
- package/dist/components/Toast/ToastProvider.d.ts +78 -0
- package/dist/components/Toast/index.d.ts +5 -0
- package/dist/components/Tooltip/Tooltip.d.ts +83 -0
- package/dist/components/Tooltip/index.d.ts +3 -0
- package/dist/components/XPBar/XPBar.d.ts +71 -0
- package/dist/components/XPBar/index.d.ts +3 -0
- package/dist/dara-ui.cjs.js +973 -0
- package/dist/dara-ui.es.js +9522 -0
- package/dist/hooks/useAppTranslation.d.ts +7 -0
- package/dist/hooks/useDirection.d.ts +7 -0
- package/dist/index.d.ts +66 -0
- package/dist/style.css +2 -0
- package/dist/translations/en.d.ts +732 -0
- package/dist/translations/fa.d.ts +732 -0
- package/dist/translations/fr.d.ts +731 -0
- package/dist/translations/index.d.ts +2200 -0
- package/package.json +92 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2011-2026 The Bootstrap Authors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# Dara UI
|
|
2
|
+
|
|
3
|
+
A modern React component library built for interfaces that feel refined and intentional.
|
|
4
|
+
Glassmorphism surfaces, subtle cyberpunk accents, complete RTL support, and a flexible theming system - all in one cohesive package.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
- **Glassmorphism design language** - soft translucency, layered depth, and restrained glow
|
|
11
|
+
- **Three built-in themes** - Nightfall, Daylight, and Dracula
|
|
12
|
+
- **Full RTL support** - layout, icons, scroll direction, and typography adapt automatically
|
|
13
|
+
- **Accessible by default** - keyboard navigation, focus states, and ARIA attributes
|
|
14
|
+
- **Tree-shakeable** - import only what you need
|
|
15
|
+
- **TypeScript-first** - complete type definitions out of the box
|
|
16
|
+
- **Zero-config theming** - CSS variables + simple provider pattern
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install dara-ui
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
or
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
yarn add dara-ui
|
|
30
|
+
pnpm add dara-ui
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Quick Start
|
|
36
|
+
|
|
37
|
+
### 1. Import styles
|
|
38
|
+
|
|
39
|
+
Add the stylesheet once at the root of your application:
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
import "dara-ui/style.css";
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 2. Wrap your app with providers
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
import { ThemeProvider, I18nProvider } from "dara-ui";
|
|
49
|
+
import { translations } from "dara-ui/translations";
|
|
50
|
+
|
|
51
|
+
export default function Root() {
|
|
52
|
+
return (
|
|
53
|
+
<ThemeProvider defaultTheme="nightfall">
|
|
54
|
+
<I18nProvider translations={translations} defaultLanguage="en">
|
|
55
|
+
<App />
|
|
56
|
+
</I18nProvider>
|
|
57
|
+
</ThemeProvider>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Themes
|
|
65
|
+
|
|
66
|
+
Dara UI ships with three carefully tuned themes:
|
|
67
|
+
|
|
68
|
+
| Theme | Description | Default |
|
|
69
|
+
| ----------- | --------------------------------------- | ------- |
|
|
70
|
+
| `nightfall` | Deep charcoal with cyan accents | Yes |
|
|
71
|
+
| `daylight` | Soft light surfaces with muted contrast | No |
|
|
72
|
+
| `dracula` | High-contrast purple-tinted dark mode | No |
|
|
73
|
+
|
|
74
|
+
### Switching themes
|
|
75
|
+
|
|
76
|
+
**Option A - HTML attribute**
|
|
77
|
+
|
|
78
|
+
```html
|
|
79
|
+
<html data-theme="daylight"></html>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Option B - Component**
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
import { ThemeChanger } from "dara-ui";
|
|
86
|
+
|
|
87
|
+
<ThemeChanger />;
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Themes are applied via CSS custom properties, so you can also override individual tokens in your own stylesheet.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Components
|
|
95
|
+
|
|
96
|
+
### Core
|
|
97
|
+
|
|
98
|
+
Button · Badge · Input · Checkbox · Switch · Radio · Range · Avatar · Tooltip · Progress
|
|
99
|
+
|
|
100
|
+
### Layout & Navigation
|
|
101
|
+
|
|
102
|
+
Card · Tabs · Accordion · Dropdown · Modal · Navbar · Sidebar
|
|
103
|
+
|
|
104
|
+
### Data Display
|
|
105
|
+
|
|
106
|
+
XPBar · StatsWidget · QuestCard · CharacterCard · ProductCard · BlogCard
|
|
107
|
+
|
|
108
|
+
### Feedback & Utilities
|
|
109
|
+
|
|
110
|
+
Toast · ThemeChanger · LanguageChanger · SocialMedia
|
|
111
|
+
|
|
112
|
+
### Visual Effects
|
|
113
|
+
|
|
114
|
+
AuroraBlobs · Particles · GradientRing · NoiseOverlay
|
|
115
|
+
|
|
116
|
+
All components accept standard React props and respect the active theme and text direction.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Internationalization
|
|
121
|
+
|
|
122
|
+
Dara UI includes a lightweight `I18nProvider` that works with the built-in translation dictionaries or your own.
|
|
123
|
+
|
|
124
|
+
```tsx
|
|
125
|
+
import { I18nProvider, LanguageChanger } from "dara-ui";
|
|
126
|
+
import { translations } from "dara-ui/translations";
|
|
127
|
+
|
|
128
|
+
<I18nProvider translations={translations} defaultLanguage="en">
|
|
129
|
+
<LanguageChanger />
|
|
130
|
+
{/* your app */}
|
|
131
|
+
</I18nProvider>;
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
RTL is detected automatically from `document.documentElement.dir` and applied across layout, icons, scroll behavior, and spacing.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Sidebar
|
|
139
|
+
|
|
140
|
+
The `Sidebar` component is fully responsive:
|
|
141
|
+
|
|
142
|
+
- **Desktop** - classic vertical navigation with collapse / expand, group labels, nested items, and icon-only mode
|
|
143
|
+
- **Mobile** - horizontal scrollable tab strip with edge arrows that appear only when scrolling is possible
|
|
144
|
+
|
|
145
|
+
```tsx
|
|
146
|
+
import { Sidebar } from "dara-ui";
|
|
147
|
+
|
|
148
|
+
<Sidebar
|
|
149
|
+
groups={[
|
|
150
|
+
{
|
|
151
|
+
label: "Main",
|
|
152
|
+
items: [
|
|
153
|
+
{ id: "dashboard", label: "Dashboard", icon: <IconHome /> },
|
|
154
|
+
{ id: "settings", label: "Settings", icon: <IconSettings /> },
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
]}
|
|
158
|
+
collapsible
|
|
159
|
+
defaultCollapsed={false}
|
|
160
|
+
/>;
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Customization
|
|
166
|
+
|
|
167
|
+
All visual tokens are exposed as CSS variables. Override them globally or per component:
|
|
168
|
+
|
|
169
|
+
```css
|
|
170
|
+
:root {
|
|
171
|
+
--color-primary: #00e5ff;
|
|
172
|
+
--radius-md: 10px;
|
|
173
|
+
--shadow-float: 0 12px 40px rgba(0, 0, 0, 0.35);
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## License
|
|
180
|
+
|
|
181
|
+
MIT © Dara UI
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
Built with care for interfaces that deserve better defaults.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface AccordionItem {
|
|
3
|
+
id: string;
|
|
4
|
+
title: React.ReactNode;
|
|
5
|
+
content: React.ReactNode;
|
|
6
|
+
icon?: React.ReactNode;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface AccordionProps {
|
|
10
|
+
items: AccordionItem[];
|
|
11
|
+
openItems?: string[];
|
|
12
|
+
defaultOpenItems?: string[];
|
|
13
|
+
onOpenChange?: (openItems: string[]) => void;
|
|
14
|
+
multiple?: boolean;
|
|
15
|
+
glass?: boolean;
|
|
16
|
+
className?: string;
|
|
17
|
+
size?: "sm" | "md" | "lg";
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Dara UI Accordion
|
|
21
|
+
*/
|
|
22
|
+
export declare const Accordion: React.FC<AccordionProps>;
|
|
23
|
+
export default Accordion;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface AuroraBlobsProps {
|
|
3
|
+
/**
|
|
4
|
+
* Colors for the three blobs
|
|
5
|
+
* @default ["color-mix(in srgb, var(--color-primary) 25%, transparent)", ...]
|
|
6
|
+
*/
|
|
7
|
+
colors?: [string, string, string];
|
|
8
|
+
/**
|
|
9
|
+
* Sizes for the three blobs in pixels
|
|
10
|
+
* @default [500, 400, 350]
|
|
11
|
+
*/
|
|
12
|
+
sizes?: [number, number, number];
|
|
13
|
+
/**
|
|
14
|
+
* Additional className
|
|
15
|
+
*/
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Dara UI AuroraBlobs - Animated gradient blob background
|
|
20
|
+
*
|
|
21
|
+
* Features:
|
|
22
|
+
* - Three animated gradient blobs
|
|
23
|
+
* - Smooth drifting animation
|
|
24
|
+
* - Theme-aware colors
|
|
25
|
+
* - Used as a subtle atmospheric background effect
|
|
26
|
+
*/
|
|
27
|
+
export declare const AuroraBlobs: React.FC<AuroraBlobsProps>;
|
|
28
|
+
export default AuroraBlobs;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/**
|
|
4
|
+
* Image source URL
|
|
5
|
+
*/
|
|
6
|
+
src?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Alternative text for the image
|
|
9
|
+
*/
|
|
10
|
+
alt?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Avatar size
|
|
13
|
+
* @default "md"
|
|
14
|
+
*/
|
|
15
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
16
|
+
/**
|
|
17
|
+
* Display a fallback icon instead of image
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
fallback?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Fallback text to display (usually initials)
|
|
23
|
+
*/
|
|
24
|
+
fallbackText?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Shape of the avatar
|
|
27
|
+
* @default "circle"
|
|
28
|
+
*/
|
|
29
|
+
shape?: "circle" | "rounded" | "square";
|
|
30
|
+
/**
|
|
31
|
+
* Border style
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
bordered?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Glow effect around the avatar
|
|
37
|
+
*/
|
|
38
|
+
glow?: "primary" | "secondary" | "accent";
|
|
39
|
+
/**
|
|
40
|
+
* Online status indicator
|
|
41
|
+
*/
|
|
42
|
+
status?: "online" | "offline" | "away" | "busy";
|
|
43
|
+
/**
|
|
44
|
+
* Group avatar (multiple avatars stacked)
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
group?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Click handler
|
|
50
|
+
*/
|
|
51
|
+
onClick?: () => void;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Dara UI Avatar - Display user profile images with fallback support
|
|
55
|
+
*
|
|
56
|
+
* Features:
|
|
57
|
+
* - Image support with fallback to initials or icon
|
|
58
|
+
* - Multiple sizes (xs, sm, md, lg, xl)
|
|
59
|
+
* - Shape variants (circle, rounded, square)
|
|
60
|
+
* - Border and glow effects
|
|
61
|
+
* - Online status indicator
|
|
62
|
+
* - Group stacking
|
|
63
|
+
*/
|
|
64
|
+
export declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
|
|
65
|
+
export default Avatar;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
3
|
+
/**
|
|
4
|
+
* Badge color variant
|
|
5
|
+
* @default "primary"
|
|
6
|
+
*/
|
|
7
|
+
variant?: "primary" | "secondary" | "success" | "danger" | "warning";
|
|
8
|
+
/**
|
|
9
|
+
* Badge size
|
|
10
|
+
* @default "md"
|
|
11
|
+
*/
|
|
12
|
+
size?: "sm" | "md" | "lg";
|
|
13
|
+
/**
|
|
14
|
+
* If true, adds glow effect
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
glow?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* If true, outline style
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
outline?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Badge content
|
|
25
|
+
*/
|
|
26
|
+
children: React.ReactNode;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Dara UI Badge - Theme-aware status indicators
|
|
30
|
+
*
|
|
31
|
+
* Features:
|
|
32
|
+
* - Multiple variants with consistent colors
|
|
33
|
+
* - Size variants
|
|
34
|
+
* - Glow and outline options
|
|
35
|
+
* - RTL support via dir attribute
|
|
36
|
+
*/
|
|
37
|
+
export declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
38
|
+
export default Badge;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface BlogCardProps {
|
|
3
|
+
/**
|
|
4
|
+
* Blog post title
|
|
5
|
+
*/
|
|
6
|
+
title: string;
|
|
7
|
+
/**
|
|
8
|
+
* Blog post excerpt
|
|
9
|
+
*/
|
|
10
|
+
excerpt: string;
|
|
11
|
+
/**
|
|
12
|
+
* Cover image URL
|
|
13
|
+
*/
|
|
14
|
+
coverImage?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Author name
|
|
17
|
+
*/
|
|
18
|
+
author?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Author avatar URL
|
|
21
|
+
*/
|
|
22
|
+
authorAvatar?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Publication date
|
|
25
|
+
*/
|
|
26
|
+
date?: string | Date;
|
|
27
|
+
/**
|
|
28
|
+
* Read time in minutes
|
|
29
|
+
*/
|
|
30
|
+
readTime?: number;
|
|
31
|
+
/**
|
|
32
|
+
* Category
|
|
33
|
+
*/
|
|
34
|
+
category?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Tags
|
|
37
|
+
*/
|
|
38
|
+
tags?: string[];
|
|
39
|
+
/**
|
|
40
|
+
* Link to full post
|
|
41
|
+
*/
|
|
42
|
+
link?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Click callback
|
|
45
|
+
*/
|
|
46
|
+
onClick?: () => void;
|
|
47
|
+
/**
|
|
48
|
+
* Featured (larger)
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
featured?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Layout
|
|
54
|
+
* @default "vertical"
|
|
55
|
+
*/
|
|
56
|
+
layout?: "vertical" | "horizontal";
|
|
57
|
+
/**
|
|
58
|
+
* Glow
|
|
59
|
+
* @default "none"
|
|
60
|
+
*/
|
|
61
|
+
glow?: "primary" | "secondary" | "accent" | "none";
|
|
62
|
+
/**
|
|
63
|
+
* Show category badge
|
|
64
|
+
* @default true
|
|
65
|
+
*/
|
|
66
|
+
showCategory?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Show author
|
|
69
|
+
* @default true
|
|
70
|
+
*/
|
|
71
|
+
showAuthor?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Show read time
|
|
74
|
+
* @default true
|
|
75
|
+
*/
|
|
76
|
+
showReadTime?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Additional className
|
|
79
|
+
*/
|
|
80
|
+
className?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Full width on mobile
|
|
83
|
+
* @default false
|
|
84
|
+
*/
|
|
85
|
+
fullWidthMobile?: boolean;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Dara UI BlogCard – glass blog card with 3D tilt, elevation & glow hover
|
|
89
|
+
*
|
|
90
|
+
* Features:
|
|
91
|
+
* - Vertical / horizontal layouts + featured size
|
|
92
|
+
* - 3D tilt + lift + glow on hover
|
|
93
|
+
* - Cover zoom, stable line-clamps, in-flow Read more
|
|
94
|
+
* - RTL-friendly badge (start-*)
|
|
95
|
+
*/
|
|
96
|
+
export declare const BlogCard: React.FC<BlogCardProps>;
|
|
97
|
+
export default BlogCard;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
|
+
/**
|
|
4
|
+
* Button visual style variant
|
|
5
|
+
* @default "primary"
|
|
6
|
+
*/
|
|
7
|
+
variant?: "primary" | "secondary" | "accent" | "glass" | "danger" | "success" | "outline";
|
|
8
|
+
/**
|
|
9
|
+
* Button size
|
|
10
|
+
* @default "md"
|
|
11
|
+
*/
|
|
12
|
+
size?: "sm" | "md" | "lg";
|
|
13
|
+
/**
|
|
14
|
+
* If true, button will take full width
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
fullWidth?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* If true, shows loading spinner
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
loading?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Glow effect color - primary, secondary, or accent
|
|
25
|
+
*/
|
|
26
|
+
glow?: "" | "primary" | "secondary" | "accent";
|
|
27
|
+
/**
|
|
28
|
+
* Icon on the left side
|
|
29
|
+
*/
|
|
30
|
+
leftIcon?: React.ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* Icon on the right side
|
|
33
|
+
*/
|
|
34
|
+
rightIcon?: React.ReactNode;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Dara UI Button - Glassmorphism style with cyberpunk aesthetics
|
|
38
|
+
*
|
|
39
|
+
* Features:
|
|
40
|
+
* - Multiple variants: primary, secondary, accent, glass, danger, success, outline
|
|
41
|
+
* - Three sizes: sm, md, lg
|
|
42
|
+
* - Glow effects with theme-aware shadows
|
|
43
|
+
* - Loading state with spinner
|
|
44
|
+
* - Full width option
|
|
45
|
+
* - Icon support on both sides
|
|
46
|
+
* - Smooth hover animations with scale and lift
|
|
47
|
+
*/
|
|
48
|
+
export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
49
|
+
export default Button;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/**
|
|
4
|
+
* Card visual variant
|
|
5
|
+
* @default "glass"
|
|
6
|
+
*/
|
|
7
|
+
variant?: "glass" | "solid" | "outline";
|
|
8
|
+
/**
|
|
9
|
+
* Card padding
|
|
10
|
+
* @default "md"
|
|
11
|
+
*/
|
|
12
|
+
padding?: "sm" | "md" | "lg" | "none";
|
|
13
|
+
/**
|
|
14
|
+
* Border radius
|
|
15
|
+
* @default "standard"
|
|
16
|
+
*/
|
|
17
|
+
radius?: "sm" | "md" | "standard" | "large" | "xl" | "full";
|
|
18
|
+
/**
|
|
19
|
+
* Float hover effect with 3D tilt
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
float?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Glow effect color
|
|
25
|
+
*/
|
|
26
|
+
glow?: "" | "primary" | "secondary" | "accent";
|
|
27
|
+
/**
|
|
28
|
+
* Card content
|
|
29
|
+
*/
|
|
30
|
+
children?: React.ReactNode;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Dara UI Card
|
|
34
|
+
*
|
|
35
|
+
* Features:
|
|
36
|
+
* - Glass, solid, and outline variants
|
|
37
|
+
* - 3D tilt effect on hover when float is enabled
|
|
38
|
+
* - Smooth animated glow transitions
|
|
39
|
+
* - Theme-aware colors
|
|
40
|
+
* - radius prop wins over .glass border-radius (inline style)
|
|
41
|
+
*/
|
|
42
|
+
export declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
43
|
+
export default Card;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface CharacterStat {
|
|
3
|
+
/**
|
|
4
|
+
* Stat label (e.g., "Force Alignment", "Combat", "Intelligence")
|
|
5
|
+
*/
|
|
6
|
+
label: string;
|
|
7
|
+
/**
|
|
8
|
+
* Stat value (0-100)
|
|
9
|
+
*/
|
|
10
|
+
value: number;
|
|
11
|
+
/**
|
|
12
|
+
* Color variant for the stat ring
|
|
13
|
+
*/
|
|
14
|
+
color?: "primary" | "secondary" | "accent" | "success" | "danger" | "warning";
|
|
15
|
+
}
|
|
16
|
+
export interface CharacterCardProps {
|
|
17
|
+
/**
|
|
18
|
+
* Character name
|
|
19
|
+
*/
|
|
20
|
+
name: string;
|
|
21
|
+
/**
|
|
22
|
+
* Character subtitle (e.g., "Jedi Archivist")
|
|
23
|
+
*/
|
|
24
|
+
subtitle?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Character quote
|
|
27
|
+
*/
|
|
28
|
+
quote?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Portrait image URL
|
|
31
|
+
*/
|
|
32
|
+
portrait?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Custom icon instead of portrait
|
|
35
|
+
*/
|
|
36
|
+
icon?: React.ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* MBTI personality type
|
|
39
|
+
*/
|
|
40
|
+
mbti?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Species
|
|
43
|
+
*/
|
|
44
|
+
species?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Affiliation (e.g., "Jedi Order", "Rebel Alliance")
|
|
47
|
+
*/
|
|
48
|
+
affiliation?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Array of custom traits/props
|
|
51
|
+
*/
|
|
52
|
+
traits?: string[];
|
|
53
|
+
/**
|
|
54
|
+
* Array of stats to display
|
|
55
|
+
*/
|
|
56
|
+
stats?: CharacterStat[];
|
|
57
|
+
/**
|
|
58
|
+
* Glow variant color
|
|
59
|
+
* @default "primary"
|
|
60
|
+
*/
|
|
61
|
+
glow?: "primary" | "secondary" | "accent" | "none";
|
|
62
|
+
/**
|
|
63
|
+
* Layout mode
|
|
64
|
+
* @default "vertical"
|
|
65
|
+
*/
|
|
66
|
+
layout?: "vertical" | "horizontal";
|
|
67
|
+
/**
|
|
68
|
+
* Additional className
|
|
69
|
+
*/
|
|
70
|
+
className?: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Dara UI CharacterCard - RPG-style character profile card
|
|
74
|
+
*
|
|
75
|
+
* Features:
|
|
76
|
+
* - Vertical and horizontal layouts
|
|
77
|
+
* - Portrait with fallback to initials
|
|
78
|
+
* - Name, subtitle, quote
|
|
79
|
+
* - Stats with radial progress rings
|
|
80
|
+
* - 3D tilt effect on hover
|
|
81
|
+
* - Glow variants
|
|
82
|
+
* - Theme-aware colors
|
|
83
|
+
* - Uses Avatar and Badge components
|
|
84
|
+
*/
|
|
85
|
+
export declare const CharacterCard: React.FC<CharacterCardProps>;
|
|
86
|
+
export default CharacterCard;
|