@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.
Files changed (148) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +150 -0
  3. package/dist/ComponentShowcase.d.ts +8 -0
  4. package/dist/ComponentShowcase.d.ts.map +1 -0
  5. package/dist/components/Alert/Alert.d.ts +28 -0
  6. package/dist/components/Alert/Alert.d.ts.map +1 -0
  7. package/dist/components/Alert/Alert.types.d.ts +53 -0
  8. package/dist/components/Alert/Alert.types.d.ts.map +1 -0
  9. package/dist/components/Alert/index.d.ts +6 -0
  10. package/dist/components/Alert/index.d.ts.map +1 -0
  11. package/dist/components/Avatar/Avatar.d.ts +17 -0
  12. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  13. package/dist/components/Avatar/Avatar.types.d.ts +54 -0
  14. package/dist/components/Avatar/Avatar.types.d.ts.map +1 -0
  15. package/dist/components/Avatar/index.d.ts +6 -0
  16. package/dist/components/Avatar/index.d.ts.map +1 -0
  17. package/dist/components/Badge/Badge.d.ts +17 -0
  18. package/dist/components/Badge/Badge.d.ts.map +1 -0
  19. package/dist/components/Badge/Badge.types.d.ts +46 -0
  20. package/dist/components/Badge/Badge.types.d.ts.map +1 -0
  21. package/dist/components/Badge/index.d.ts +6 -0
  22. package/dist/components/Badge/index.d.ts.map +1 -0
  23. package/dist/components/Breadcrumb/Breadcrumb.d.ts +34 -0
  24. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  25. package/dist/components/Breadcrumb/Breadcrumb.types.d.ts +92 -0
  26. package/dist/components/Breadcrumb/Breadcrumb.types.d.ts.map +1 -0
  27. package/dist/components/Breadcrumb/index.d.ts +6 -0
  28. package/dist/components/Breadcrumb/index.d.ts.map +1 -0
  29. package/dist/components/Button/Button.d.ts +21 -0
  30. package/dist/components/Button/Button.d.ts.map +1 -0
  31. package/dist/components/Button/Button.types.d.ts +64 -0
  32. package/dist/components/Button/Button.types.d.ts.map +1 -0
  33. package/dist/components/Button/index.d.ts +6 -0
  34. package/dist/components/Button/index.d.ts.map +1 -0
  35. package/dist/components/Card/Card.d.ts +28 -0
  36. package/dist/components/Card/Card.d.ts.map +1 -0
  37. package/dist/components/Card/Card.types.d.ts +66 -0
  38. package/dist/components/Card/Card.types.d.ts.map +1 -0
  39. package/dist/components/Card/index.d.ts +6 -0
  40. package/dist/components/Card/index.d.ts.map +1 -0
  41. package/dist/components/Checkbox/Checkbox.d.ts +31 -0
  42. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  43. package/dist/components/Checkbox/Checkbox.types.d.ts +44 -0
  44. package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -0
  45. package/dist/components/Checkbox/index.d.ts +6 -0
  46. package/dist/components/Checkbox/index.d.ts.map +1 -0
  47. package/dist/components/Field/Field.d.ts +24 -0
  48. package/dist/components/Field/Field.d.ts.map +1 -0
  49. package/dist/components/Field/Field.types.d.ts +57 -0
  50. package/dist/components/Field/Field.types.d.ts.map +1 -0
  51. package/dist/components/Field/index.d.ts +6 -0
  52. package/dist/components/Field/index.d.ts.map +1 -0
  53. package/dist/components/Modal/Modal.d.ts +31 -0
  54. package/dist/components/Modal/Modal.d.ts.map +1 -0
  55. package/dist/components/Modal/Modal.types.d.ts +84 -0
  56. package/dist/components/Modal/Modal.types.d.ts.map +1 -0
  57. package/dist/components/Modal/index.d.ts +6 -0
  58. package/dist/components/Modal/index.d.ts.map +1 -0
  59. package/dist/components/Navbar/Navbar.d.ts +47 -0
  60. package/dist/components/Navbar/Navbar.d.ts.map +1 -0
  61. package/dist/components/Navbar/Navbar.types.d.ts +92 -0
  62. package/dist/components/Navbar/Navbar.types.d.ts.map +1 -0
  63. package/dist/components/Navbar/index.d.ts +6 -0
  64. package/dist/components/Navbar/index.d.ts.map +1 -0
  65. package/dist/components/ProgressBar/ProgressBar.d.ts +17 -0
  66. package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -0
  67. package/dist/components/ProgressBar/ProgressBar.types.d.ts +61 -0
  68. package/dist/components/ProgressBar/ProgressBar.types.d.ts.map +1 -0
  69. package/dist/components/ProgressBar/index.d.ts +6 -0
  70. package/dist/components/ProgressBar/index.d.ts.map +1 -0
  71. package/dist/components/Radio/Radio.d.ts +22 -0
  72. package/dist/components/Radio/Radio.d.ts.map +1 -0
  73. package/dist/components/Radio/Radio.types.d.ts +39 -0
  74. package/dist/components/Radio/Radio.types.d.ts.map +1 -0
  75. package/dist/components/Radio/index.d.ts +6 -0
  76. package/dist/components/Radio/index.d.ts.map +1 -0
  77. package/dist/components/Select/Select.d.ts +27 -0
  78. package/dist/components/Select/Select.d.ts.map +1 -0
  79. package/dist/components/Select/Select.types.d.ts +71 -0
  80. package/dist/components/Select/Select.types.d.ts.map +1 -0
  81. package/dist/components/Select/index.d.ts +6 -0
  82. package/dist/components/Select/index.d.ts.map +1 -0
  83. package/dist/components/Spinner/Spinner.d.ts +16 -0
  84. package/dist/components/Spinner/Spinner.d.ts.map +1 -0
  85. package/dist/components/Spinner/Spinner.types.d.ts +47 -0
  86. package/dist/components/Spinner/Spinner.types.d.ts.map +1 -0
  87. package/dist/components/Spinner/index.d.ts +6 -0
  88. package/dist/components/Spinner/index.d.ts.map +1 -0
  89. package/dist/components/Switch/Switch.d.ts +25 -0
  90. package/dist/components/Switch/Switch.d.ts.map +1 -0
  91. package/dist/components/Switch/Switch.types.d.ts +35 -0
  92. package/dist/components/Switch/Switch.types.d.ts.map +1 -0
  93. package/dist/components/Switch/index.d.ts +6 -0
  94. package/dist/components/Switch/index.d.ts.map +1 -0
  95. package/dist/components/Table/Table.d.ts +44 -0
  96. package/dist/components/Table/Table.d.ts.map +1 -0
  97. package/dist/components/Table/Table.types.d.ts +141 -0
  98. package/dist/components/Table/Table.types.d.ts.map +1 -0
  99. package/dist/components/Table/index.d.ts +6 -0
  100. package/dist/components/Table/index.d.ts.map +1 -0
  101. package/dist/components/Tabs/Tabs.d.ts +36 -0
  102. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  103. package/dist/components/Tabs/Tabs.types.d.ts +77 -0
  104. package/dist/components/Tabs/Tabs.types.d.ts.map +1 -0
  105. package/dist/components/Tabs/index.d.ts +6 -0
  106. package/dist/components/Tabs/index.d.ts.map +1 -0
  107. package/dist/components/Textarea/Textarea.d.ts +31 -0
  108. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  109. package/dist/components/Textarea/Textarea.types.d.ts +63 -0
  110. package/dist/components/Textarea/Textarea.types.d.ts.map +1 -0
  111. package/dist/components/Textarea/index.d.ts +6 -0
  112. package/dist/components/Textarea/index.d.ts.map +1 -0
  113. package/dist/components/ThemeController/ThemeController.d.ts +24 -0
  114. package/dist/components/ThemeController/ThemeController.d.ts.map +1 -0
  115. package/dist/components/ThemeController/ThemeController.types.d.ts +57 -0
  116. package/dist/components/ThemeController/ThemeController.types.d.ts.map +1 -0
  117. package/dist/components/ThemeController/index.d.ts +6 -0
  118. package/dist/components/ThemeController/index.d.ts.map +1 -0
  119. package/dist/components/Tooltip/Tooltip.d.ts +20 -0
  120. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  121. package/dist/components/Tooltip/Tooltip.types.d.ts +50 -0
  122. package/dist/components/Tooltip/Tooltip.types.d.ts.map +1 -0
  123. package/dist/components/Tooltip/index.d.ts +6 -0
  124. package/dist/components/Tooltip/index.d.ts.map +1 -0
  125. package/dist/contexts/ThemeContext.d.ts +68 -0
  126. package/dist/contexts/ThemeContext.d.ts.map +1 -0
  127. package/dist/contexts/index.d.ts +8 -0
  128. package/dist/contexts/index.d.ts.map +1 -0
  129. package/dist/hooks/index.d.ts +6 -0
  130. package/dist/hooks/index.d.ts.map +1 -0
  131. package/dist/hooks/useTheme.d.ts +73 -0
  132. package/dist/hooks/useTheme.d.ts.map +1 -0
  133. package/dist/index.cjs +18 -0
  134. package/dist/index.cjs.map +1 -0
  135. package/dist/index.d.ts +77 -0
  136. package/dist/index.d.ts.map +1 -0
  137. package/dist/index.mjs +24559 -0
  138. package/dist/index.mjs.map +1 -0
  139. package/dist/main.d.ts +2 -0
  140. package/dist/main.d.ts.map +1 -0
  141. package/dist/react.css +1 -0
  142. package/dist/test/setup.d.ts +2 -0
  143. package/dist/test/setup.d.ts.map +1 -0
  144. package/dist/utils/icons.d.ts +79 -0
  145. package/dist/utils/icons.d.ts.map +1 -0
  146. package/dist/utils/index.d.ts +7 -0
  147. package/dist/utils/index.d.ts.map +1 -0
  148. 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
+ [![TypeScript](https://img.shields.io/badge/TypeScript-100%25-blue)](https://www.typescriptlang.org/)
8
+ [![Tests](https://img.shields.io/badge/tests-passing-brightgreen)](#)
9
+ [![Bundle Size](https://img.shields.io/badge/bundle-~27kB%20gzipped-success)](#)
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,8 @@
1
+ /**
2
+ * Component Showcase
3
+ *
4
+ * Demonstration page showing all Orion React components.
5
+ */
6
+ import React from 'react';
7
+ export declare const ComponentShowcase: React.FC;
8
+ //# sourceMappingURL=ComponentShowcase.d.ts.map
@@ -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,6 @@
1
+ /**
2
+ * Alert Component Exports
3
+ */
4
+ export { Alert } from './Alert';
5
+ export type { AlertProps, AlertVariant } from './Alert.types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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,6 @@
1
+ /**
2
+ * Avatar Component Exports
3
+ */
4
+ export { Avatar } from './Avatar';
5
+ export type { AvatarProps, AvatarSize } from './Avatar.types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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,6 @@
1
+ /**
2
+ * Badge Component Exports
3
+ */
4
+ export { Badge } from './Badge';
5
+ export type { BadgeProps, BadgeVariant, BadgeSize } from './Badge.types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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,6 @@
1
+ /**
2
+ * Breadcrumb Component Exports
3
+ */
4
+ export { Breadcrumb } from './Breadcrumb';
5
+ export type { BreadcrumbProps, BreadcrumbItem, BreadcrumbSize, BreadcrumbSeparator, } from './Breadcrumb.types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}