@orion-ds/react 1.0.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 +150 -0
- package/dist/ComponentShowcase.d.ts +8 -0
- package/dist/ComponentShowcase.d.ts.map +1 -0
- package/dist/components/Alert/Alert.d.ts +28 -0
- package/dist/components/Alert/Alert.d.ts.map +1 -0
- package/dist/components/Alert/Alert.types.d.ts +53 -0
- package/dist/components/Alert/Alert.types.d.ts.map +1 -0
- package/dist/components/Alert/index.d.ts +6 -0
- package/dist/components/Alert/index.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.d.ts +17 -0
- package/dist/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.types.d.ts +54 -0
- package/dist/components/Avatar/Avatar.types.d.ts.map +1 -0
- package/dist/components/Avatar/index.d.ts +6 -0
- package/dist/components/Avatar/index.d.ts.map +1 -0
- package/dist/components/Badge/Badge.d.ts +17 -0
- package/dist/components/Badge/Badge.d.ts.map +1 -0
- package/dist/components/Badge/Badge.types.d.ts +46 -0
- package/dist/components/Badge/Badge.types.d.ts.map +1 -0
- package/dist/components/Badge/index.d.ts +6 -0
- package/dist/components/Badge/index.d.ts.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +34 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.types.d.ts +92 -0
- package/dist/components/Breadcrumb/Breadcrumb.types.d.ts.map +1 -0
- package/dist/components/Breadcrumb/index.d.ts +6 -0
- package/dist/components/Breadcrumb/index.d.ts.map +1 -0
- package/dist/components/Button/Button.d.ts +21 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/Button.types.d.ts +64 -0
- package/dist/components/Button/Button.types.d.ts.map +1 -0
- package/dist/components/Button/index.d.ts +6 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Card/Card.d.ts +28 -0
- package/dist/components/Card/Card.d.ts.map +1 -0
- package/dist/components/Card/Card.types.d.ts +66 -0
- package/dist/components/Card/Card.types.d.ts.map +1 -0
- package/dist/components/Card/index.d.ts +6 -0
- package/dist/components/Card/index.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +31 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.types.d.ts +44 -0
- package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -0
- package/dist/components/Checkbox/index.d.ts +6 -0
- package/dist/components/Checkbox/index.d.ts.map +1 -0
- package/dist/components/Field/Field.d.ts +24 -0
- package/dist/components/Field/Field.d.ts.map +1 -0
- package/dist/components/Field/Field.types.d.ts +57 -0
- package/dist/components/Field/Field.types.d.ts.map +1 -0
- package/dist/components/Field/index.d.ts +6 -0
- package/dist/components/Field/index.d.ts.map +1 -0
- package/dist/components/Modal/Modal.d.ts +31 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -0
- package/dist/components/Modal/Modal.types.d.ts +84 -0
- package/dist/components/Modal/Modal.types.d.ts.map +1 -0
- package/dist/components/Modal/index.d.ts +6 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/Navbar/Navbar.d.ts +47 -0
- package/dist/components/Navbar/Navbar.d.ts.map +1 -0
- package/dist/components/Navbar/Navbar.types.d.ts +92 -0
- package/dist/components/Navbar/Navbar.types.d.ts.map +1 -0
- package/dist/components/Navbar/index.d.ts +6 -0
- package/dist/components/Navbar/index.d.ts.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts +17 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.types.d.ts +61 -0
- package/dist/components/ProgressBar/ProgressBar.types.d.ts.map +1 -0
- package/dist/components/ProgressBar/index.d.ts +6 -0
- package/dist/components/ProgressBar/index.d.ts.map +1 -0
- package/dist/components/Radio/Radio.d.ts +22 -0
- package/dist/components/Radio/Radio.d.ts.map +1 -0
- package/dist/components/Radio/Radio.types.d.ts +39 -0
- package/dist/components/Radio/Radio.types.d.ts.map +1 -0
- package/dist/components/Radio/index.d.ts +6 -0
- package/dist/components/Radio/index.d.ts.map +1 -0
- package/dist/components/Select/Select.d.ts +27 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/Select.types.d.ts +71 -0
- package/dist/components/Select/Select.types.d.ts.map +1 -0
- package/dist/components/Select/index.d.ts +6 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/Spinner/Spinner.d.ts +16 -0
- package/dist/components/Spinner/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner/Spinner.types.d.ts +47 -0
- package/dist/components/Spinner/Spinner.types.d.ts.map +1 -0
- package/dist/components/Spinner/index.d.ts +6 -0
- package/dist/components/Spinner/index.d.ts.map +1 -0
- package/dist/components/Switch/Switch.d.ts +25 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -0
- package/dist/components/Switch/Switch.types.d.ts +35 -0
- package/dist/components/Switch/Switch.types.d.ts.map +1 -0
- package/dist/components/Switch/index.d.ts +6 -0
- package/dist/components/Switch/index.d.ts.map +1 -0
- package/dist/components/Table/Table.d.ts +44 -0
- package/dist/components/Table/Table.d.ts.map +1 -0
- package/dist/components/Table/Table.types.d.ts +141 -0
- package/dist/components/Table/Table.types.d.ts.map +1 -0
- package/dist/components/Table/index.d.ts +6 -0
- package/dist/components/Table/index.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.d.ts +36 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.types.d.ts +77 -0
- package/dist/components/Tabs/Tabs.types.d.ts.map +1 -0
- package/dist/components/Tabs/index.d.ts +6 -0
- package/dist/components/Tabs/index.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.d.ts +31 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.types.d.ts +63 -0
- package/dist/components/Textarea/Textarea.types.d.ts.map +1 -0
- package/dist/components/Textarea/index.d.ts +6 -0
- package/dist/components/Textarea/index.d.ts.map +1 -0
- package/dist/components/ThemeController/ThemeController.d.ts +24 -0
- package/dist/components/ThemeController/ThemeController.d.ts.map +1 -0
- package/dist/components/ThemeController/ThemeController.types.d.ts +57 -0
- package/dist/components/ThemeController/ThemeController.types.d.ts.map +1 -0
- package/dist/components/ThemeController/index.d.ts +6 -0
- package/dist/components/ThemeController/index.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts +20 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.types.d.ts +50 -0
- package/dist/components/Tooltip/Tooltip.types.d.ts.map +1 -0
- package/dist/components/Tooltip/index.d.ts +6 -0
- package/dist/components/Tooltip/index.d.ts.map +1 -0
- package/dist/contexts/ThemeContext.d.ts +68 -0
- package/dist/contexts/ThemeContext.d.ts.map +1 -0
- package/dist/contexts/index.d.ts +8 -0
- package/dist/contexts/index.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useTheme.d.ts +73 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/index.cjs +18 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +24559 -0
- package/dist/index.mjs.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/react.css +1 -0
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/utils/icons.d.ts +79 -0
- package/dist/utils/icons.d.ts.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/package.json +94 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Orion Design System
|
|
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 all
|
|
13
|
+
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 THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# @orion/react
|
|
2
|
+
|
|
3
|
+
> **Orion Design System** - React Component Library
|
|
4
|
+
|
|
5
|
+
TypeScript-first React component library built on the Orion Design System tokens. Features 22 production-ready components with full type safety, theme switching, and multi-brand support.
|
|
6
|
+
|
|
7
|
+
[](https://www.typescriptlang.org/)
|
|
8
|
+
[](#)
|
|
9
|
+
[](#)
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- ✅ **22 TypeScript Components** - Fully typed with IntelliSense support
|
|
14
|
+
- 🎨 **Theme Switching** - Light/Dark modes with CSS variables
|
|
15
|
+
- 🏢 **Multi-Brand** - Orion, UVM, Unitec, Laureate brands
|
|
16
|
+
- 🎯 **Lucide Icons** - 5000+ icons built-in (icon support in Button, Field, Alert, etc.)
|
|
17
|
+
- ♿ **Accessible** - WCAG AA compliant, keyboard navigation
|
|
18
|
+
- 📦 **Tree-Shakeable** - Import only what you need (ESM + CJS)
|
|
19
|
+
- 🎭 **CSS Modules** - Scoped styling, no conflicts
|
|
20
|
+
- 🧪 **Tested** - 19+ unit tests with Vitest
|
|
21
|
+
- 📚 **Documented** - 50+ Storybook stories
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
\`\`\`bash
|
|
26
|
+
npm install @orion/react @orion/core
|
|
27
|
+
# or
|
|
28
|
+
pnpm add @orion/react @orion/core
|
|
29
|
+
# or
|
|
30
|
+
yarn add @orion/react @orion/core
|
|
31
|
+
\`\`\`
|
|
32
|
+
|
|
33
|
+
## Quick Start
|
|
34
|
+
|
|
35
|
+
\`\`\`tsx
|
|
36
|
+
import { Button, Card, Field, useTheme } from '@orion/react';
|
|
37
|
+
import '@orion/core/theme.css';
|
|
38
|
+
|
|
39
|
+
function App() {
|
|
40
|
+
const { theme, toggleTheme } = useTheme();
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<Card>
|
|
44
|
+
<Card.Header>Welcome to Orion</Card.Header>
|
|
45
|
+
<Card.Body>
|
|
46
|
+
<Field label="Email" type="email" placeholder="your@email.com" />
|
|
47
|
+
<Button onClick={toggleTheme}>
|
|
48
|
+
Switch to {theme === 'light' ? 'dark' : 'light'} mode
|
|
49
|
+
</Button>
|
|
50
|
+
</Card.Body>
|
|
51
|
+
</Card>
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
\`\`\`
|
|
55
|
+
|
|
56
|
+
## Components
|
|
57
|
+
|
|
58
|
+
### Forms
|
|
59
|
+
- **Button** - Primary, secondary, ghost variants
|
|
60
|
+
- **Field** - Text input with label, helper, error states
|
|
61
|
+
- **Select** - Dropdown with options
|
|
62
|
+
- **Switch** - Toggle switch
|
|
63
|
+
- **Checkbox** - Checkbox input
|
|
64
|
+
- **Radio** - Radio button
|
|
65
|
+
- **Textarea** - Multi-line text input
|
|
66
|
+
|
|
67
|
+
### Layout
|
|
68
|
+
- **Card** - Container with header, body, footer
|
|
69
|
+
- **Modal** - Overlay dialog
|
|
70
|
+
- **Navbar** - Navigation bar with brand, links, actions
|
|
71
|
+
|
|
72
|
+
### Feedback
|
|
73
|
+
- **Alert** - Info, success, warning, error messages
|
|
74
|
+
- **Badge** - Status indicators
|
|
75
|
+
- **Spinner** - Loading indicator
|
|
76
|
+
- **ProgressBar** - Progress visualization
|
|
77
|
+
- **Tooltip** - Hover information
|
|
78
|
+
|
|
79
|
+
### Data Display
|
|
80
|
+
- **Avatar** - User profile picture
|
|
81
|
+
- **Table** - Data table with sorting
|
|
82
|
+
- **Tabs** - Tab navigation
|
|
83
|
+
- **Breadcrumb** - Navigation breadcrumbs
|
|
84
|
+
|
|
85
|
+
### Utilities
|
|
86
|
+
- **ThemeController** - Theme & brand selector
|
|
87
|
+
- **useTheme** - Theme management hook
|
|
88
|
+
|
|
89
|
+
## Lucide Icons
|
|
90
|
+
|
|
91
|
+
All components support **Lucide icons** - 5000+ beautiful, consistent icons.
|
|
92
|
+
|
|
93
|
+
\`\`\`tsx
|
|
94
|
+
import { Button, Field, Alert } from '@orion/react';
|
|
95
|
+
import { Search, Download, AlertCircle } from 'lucide-react';
|
|
96
|
+
|
|
97
|
+
// Icon in button (left side)
|
|
98
|
+
<Button icon={<Search size={20} />}>Search</Button>
|
|
99
|
+
|
|
100
|
+
// Icon in button (right side)
|
|
101
|
+
<Button iconRight={<Download size={20} />}>Download</Button>
|
|
102
|
+
|
|
103
|
+
// Icon-only button (must have aria-label)
|
|
104
|
+
<Button iconOnly icon={<Download size={20} />} aria-label="Download" />
|
|
105
|
+
|
|
106
|
+
// Icon in form field
|
|
107
|
+
<Field placeholder="Search..." icon={<Search size={18} />} />
|
|
108
|
+
|
|
109
|
+
// Icon in alert
|
|
110
|
+
<Alert variant="error" icon={<AlertCircle size={20} />}>
|
|
111
|
+
Something went wrong
|
|
112
|
+
</Alert>
|
|
113
|
+
\`\`\`
|
|
114
|
+
|
|
115
|
+
**Browse all icons**: https://lucide.dev
|
|
116
|
+
|
|
117
|
+
**Size reference**: `size={16}` (small), `size={20}` (default), `size={24}` (medium), `size={32}` (large)
|
|
118
|
+
|
|
119
|
+
See [LUCIDE_ICONS.md](./LUCIDE_ICONS.md) for complete icon documentation.
|
|
120
|
+
|
|
121
|
+
## Theme & Brand Switching
|
|
122
|
+
|
|
123
|
+
### Using the Hook
|
|
124
|
+
|
|
125
|
+
\`\`\`tsx
|
|
126
|
+
import { useTheme } from '@orion/react';
|
|
127
|
+
|
|
128
|
+
function ThemeSwitcher() {
|
|
129
|
+
const { theme, brand, setTheme, setBrand, toggleTheme } = useTheme();
|
|
130
|
+
|
|
131
|
+
return (
|
|
132
|
+
<>
|
|
133
|
+
<button onClick={toggleTheme}>
|
|
134
|
+
Current: {theme}
|
|
135
|
+
</button>
|
|
136
|
+
<button onClick={() => setBrand('uvm')}>
|
|
137
|
+
Switch to UVM Brand
|
|
138
|
+
</button>
|
|
139
|
+
</>
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
\`\`\`
|
|
143
|
+
|
|
144
|
+
## License
|
|
145
|
+
|
|
146
|
+
MIT © Orion Team
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
**Built with ❤️ using TypeScript, React, and Vite**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComponentShowcase.d.ts","sourceRoot":"","sources":["../src/ComponentShowcase.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAqDxC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EA2YrC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Alert Component
|
|
3
|
+
*
|
|
4
|
+
* Notification and message alert component with status variants.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Alert variant="success" title="Success!">
|
|
9
|
+
* Your changes have been saved successfully.
|
|
10
|
+
* </Alert>
|
|
11
|
+
*
|
|
12
|
+
* <Alert variant="error" dismissible onClose={() => console.log('closed')}>
|
|
13
|
+
* An error occurred while processing your request.
|
|
14
|
+
* </Alert>
|
|
15
|
+
*
|
|
16
|
+
* <Alert variant="warning" title="Warning">
|
|
17
|
+
* This action cannot be undone.
|
|
18
|
+
* </Alert>
|
|
19
|
+
*
|
|
20
|
+
* <Alert variant="info" icon={<InfoIcon />}>
|
|
21
|
+
* Custom icon example
|
|
22
|
+
* </Alert>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import React from 'react';
|
|
26
|
+
import type { AlertProps } from './Alert.types';
|
|
27
|
+
export declare const Alert: React.FC<AlertProps>;
|
|
28
|
+
//# sourceMappingURL=Alert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../src/components/Alert/Alert.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAWhD,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAsDtC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Alert Component Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the Orion Alert component.
|
|
5
|
+
*/
|
|
6
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
7
|
+
/**
|
|
8
|
+
* Alert variants (status types)
|
|
9
|
+
*/
|
|
10
|
+
export type AlertVariant = 'success' | 'error' | 'warning' | 'info';
|
|
11
|
+
/**
|
|
12
|
+
* Alert component props
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <Alert variant="success" title="Success!">
|
|
17
|
+
* Your changes have been saved.
|
|
18
|
+
* </Alert>
|
|
19
|
+
*
|
|
20
|
+
* <Alert variant="error" onClose={() => {}}>
|
|
21
|
+
* An error occurred.
|
|
22
|
+
* </Alert>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export interface AlertProps extends HTMLAttributes<HTMLDivElement> {
|
|
26
|
+
/**
|
|
27
|
+
* Alert variant (status type)
|
|
28
|
+
* @default 'info'
|
|
29
|
+
*/
|
|
30
|
+
variant?: AlertVariant;
|
|
31
|
+
/**
|
|
32
|
+
* Alert title (optional)
|
|
33
|
+
*/
|
|
34
|
+
title?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Show close button
|
|
37
|
+
* @default false
|
|
38
|
+
*/
|
|
39
|
+
dismissible?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Close button callback
|
|
42
|
+
*/
|
|
43
|
+
onClose?: () => void;
|
|
44
|
+
/**
|
|
45
|
+
* Custom icon (overrides default status icon)
|
|
46
|
+
*/
|
|
47
|
+
icon?: ReactNode;
|
|
48
|
+
/**
|
|
49
|
+
* Alert content
|
|
50
|
+
*/
|
|
51
|
+
children?: ReactNode;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=Alert.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert.types.d.ts","sourceRoot":"","sources":["../../../src/components/Alert/Alert.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,cAAc,CAAC;IAChE;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Alert/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Avatar Component
|
|
3
|
+
*
|
|
4
|
+
* User profile picture or initials display with status indicators.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Avatar src="/user.jpg" alt="John Doe" />
|
|
9
|
+
* <Avatar initials="JD" size="lg" />
|
|
10
|
+
* <Avatar icon={<UserIcon />} status="online" />
|
|
11
|
+
* <Avatar src="/user.jpg" status="away" interactive />
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
import React from 'react';
|
|
15
|
+
import type { AvatarProps } from './Avatar.types';
|
|
16
|
+
export declare const Avatar: React.FC<AvatarProps>;
|
|
17
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA2DxC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Avatar Component Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the Orion Avatar component.
|
|
5
|
+
*/
|
|
6
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
7
|
+
/**
|
|
8
|
+
* Avatar sizes
|
|
9
|
+
*/
|
|
10
|
+
export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
11
|
+
/**
|
|
12
|
+
* Avatar component props
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <Avatar src="/user.jpg" alt="John Doe" />
|
|
17
|
+
* <Avatar initials="JD" />
|
|
18
|
+
* <Avatar icon={<UserIcon />} />
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export interface AvatarProps extends HTMLAttributes<HTMLDivElement> {
|
|
22
|
+
/**
|
|
23
|
+
* Avatar image source
|
|
24
|
+
*/
|
|
25
|
+
src?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Alt text for image
|
|
28
|
+
*/
|
|
29
|
+
alt?: string;
|
|
30
|
+
/**
|
|
31
|
+
* User initials (fallback if no image)
|
|
32
|
+
*/
|
|
33
|
+
initials?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Icon element (fallback if no image or initials)
|
|
36
|
+
*/
|
|
37
|
+
icon?: ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* Avatar size
|
|
40
|
+
* @default 'md'
|
|
41
|
+
*/
|
|
42
|
+
size?: AvatarSize;
|
|
43
|
+
/**
|
|
44
|
+
* Show online status indicator
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
status?: 'online' | 'offline' | 'away' | 'busy';
|
|
48
|
+
/**
|
|
49
|
+
* Make avatar clickable
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
52
|
+
interactive?: boolean;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=Avatar.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.types.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAElE;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,cAAc,CAAC;IACjE;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAEhD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Badge Component
|
|
3
|
+
*
|
|
4
|
+
* Status indicator and label component.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Badge variant="success">Active</Badge>
|
|
9
|
+
* <Badge variant="error" size="sm">Error</Badge>
|
|
10
|
+
* <Badge variant="brand" dot>New Feature</Badge>
|
|
11
|
+
* <Badge variant="info">3 pending</Badge>
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
import React from 'react';
|
|
15
|
+
import type { BadgeProps } from './Badge.types';
|
|
16
|
+
export declare const Badge: React.FC<BadgeProps>;
|
|
17
|
+
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAkBtC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Badge Component Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the Orion Badge component.
|
|
5
|
+
*/
|
|
6
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
7
|
+
/**
|
|
8
|
+
* Badge variants (status colors)
|
|
9
|
+
*/
|
|
10
|
+
export type BadgeVariant = 'primary' | 'secondary' | 'neutral' | 'success' | 'error' | 'warning' | 'info' | 'brand';
|
|
11
|
+
/**
|
|
12
|
+
* Badge sizes
|
|
13
|
+
*/
|
|
14
|
+
export type BadgeSize = 'sm' | 'md' | 'lg';
|
|
15
|
+
/**
|
|
16
|
+
* Badge component props
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <Badge variant="success">Active</Badge>
|
|
21
|
+
* <Badge variant="error" size="sm">Error</Badge>
|
|
22
|
+
* <Badge variant="brand" dot>New</Badge>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
26
|
+
/**
|
|
27
|
+
* Badge visual variant
|
|
28
|
+
* @default 'neutral'
|
|
29
|
+
*/
|
|
30
|
+
variant?: BadgeVariant;
|
|
31
|
+
/**
|
|
32
|
+
* Badge size
|
|
33
|
+
* @default 'md'
|
|
34
|
+
*/
|
|
35
|
+
size?: BadgeSize;
|
|
36
|
+
/**
|
|
37
|
+
* Show dot indicator
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
dot?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Badge content
|
|
43
|
+
*/
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=Badge.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.types.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,eAAe,CAAC;IACjE;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Breadcrumb Component
|
|
3
|
+
*
|
|
4
|
+
* Navigation breadcrumbs showing current page location in site hierarchy.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Breadcrumb
|
|
9
|
+
* items={[
|
|
10
|
+
* { label: 'Home', href: '/' },
|
|
11
|
+
* { label: 'Products', href: '/products' },
|
|
12
|
+
* { label: 'Laptop' }
|
|
13
|
+
* ]}
|
|
14
|
+
* />
|
|
15
|
+
*
|
|
16
|
+
* <Breadcrumb
|
|
17
|
+
* items={breadcrumbs}
|
|
18
|
+
* separator="slash"
|
|
19
|
+
* showHomeIcon
|
|
20
|
+
* maxItems={3}
|
|
21
|
+
* size="lg"
|
|
22
|
+
* />
|
|
23
|
+
*
|
|
24
|
+
* <Breadcrumb
|
|
25
|
+
* items={items}
|
|
26
|
+
* separator="custom"
|
|
27
|
+
* customSeparator={<Icon name="arrow-right" />}
|
|
28
|
+
* />
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import React from 'react';
|
|
32
|
+
import type { BreadcrumbProps } from './Breadcrumb.types';
|
|
33
|
+
export declare const Breadcrumb: React.FC<BreadcrumbProps>;
|
|
34
|
+
//# sourceMappingURL=Breadcrumb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,oBAAoB,CAAC;AAG1E,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoHhD,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Breadcrumb Component Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the Orion Breadcrumb component.
|
|
5
|
+
*/
|
|
6
|
+
import type { ReactNode, AnchorHTMLAttributes } from 'react';
|
|
7
|
+
/**
|
|
8
|
+
* Breadcrumb sizes
|
|
9
|
+
*/
|
|
10
|
+
export type BreadcrumbSize = 'sm' | 'md' | 'lg';
|
|
11
|
+
/**
|
|
12
|
+
* Breadcrumb separator type
|
|
13
|
+
*/
|
|
14
|
+
export type BreadcrumbSeparator = 'chevron' | 'slash' | 'custom';
|
|
15
|
+
/**
|
|
16
|
+
* Individual breadcrumb item
|
|
17
|
+
*/
|
|
18
|
+
export interface BreadcrumbItem {
|
|
19
|
+
/**
|
|
20
|
+
* Item label
|
|
21
|
+
*/
|
|
22
|
+
label: string;
|
|
23
|
+
/**
|
|
24
|
+
* Link href (if undefined, renders as span)
|
|
25
|
+
*/
|
|
26
|
+
href?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional icon
|
|
29
|
+
*/
|
|
30
|
+
icon?: ReactNode;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Breadcrumb component props
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* <Breadcrumb
|
|
38
|
+
* items={[
|
|
39
|
+
* { label: 'Home', href: '/' },
|
|
40
|
+
* { label: 'Products', href: '/products' },
|
|
41
|
+
* { label: 'Laptop' }
|
|
42
|
+
* ]}
|
|
43
|
+
* />
|
|
44
|
+
*
|
|
45
|
+
* <Breadcrumb
|
|
46
|
+
* items={items}
|
|
47
|
+
* separator="slash"
|
|
48
|
+
* showHomeIcon
|
|
49
|
+
* size="lg"
|
|
50
|
+
* />
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export interface BreadcrumbProps {
|
|
54
|
+
/**
|
|
55
|
+
* Breadcrumb items
|
|
56
|
+
*/
|
|
57
|
+
items: BreadcrumbItem[];
|
|
58
|
+
/**
|
|
59
|
+
* Separator type
|
|
60
|
+
* @default 'chevron'
|
|
61
|
+
*/
|
|
62
|
+
separator?: BreadcrumbSeparator;
|
|
63
|
+
/**
|
|
64
|
+
* Custom separator element
|
|
65
|
+
* (only used if separator is 'custom')
|
|
66
|
+
*/
|
|
67
|
+
customSeparator?: ReactNode;
|
|
68
|
+
/**
|
|
69
|
+
* Show home icon for first item
|
|
70
|
+
* @default false
|
|
71
|
+
*/
|
|
72
|
+
showHomeIcon?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Maximum number of items to display
|
|
75
|
+
* (items in middle will be collapsed if exceeded)
|
|
76
|
+
*/
|
|
77
|
+
maxItems?: number;
|
|
78
|
+
/**
|
|
79
|
+
* Breadcrumb size
|
|
80
|
+
* @default 'md'
|
|
81
|
+
*/
|
|
82
|
+
size?: BreadcrumbSize;
|
|
83
|
+
/**
|
|
84
|
+
* Additional CSS class
|
|
85
|
+
*/
|
|
86
|
+
className?: string;
|
|
87
|
+
/**
|
|
88
|
+
* Link props (applied to all anchor elements)
|
|
89
|
+
*/
|
|
90
|
+
linkProps?: Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=Breadcrumb.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumb.types.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumb/Breadcrumb.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,cAAc,EAAE,CAAC;IAExB;;;OAGG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC;CACnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumb/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Button Component
|
|
3
|
+
*
|
|
4
|
+
* A type-safe, accessible button component that uses the Orion Design System tokens.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Button variant="primary" size="md">
|
|
9
|
+
* Click me
|
|
10
|
+
* </Button>
|
|
11
|
+
*
|
|
12
|
+
* <Button variant="secondary" icon={<SearchIcon />}>
|
|
13
|
+
* Search
|
|
14
|
+
* </Button>
|
|
15
|
+
*
|
|
16
|
+
* <Button variant="ghost" iconOnly icon={<MenuIcon />} aria-label="Menu" />
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import type { ButtonProps } from './Button.types';
|
|
20
|
+
export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
21
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,eAAO,MAAM,MAAM,2GAkElB,CAAC"}
|