@machinemetrics/mm-react-components 0.1.1-1 → 0.2.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/CHANGELOG.md +61 -0
- package/README.md +218 -0
- package/dist/App.d.ts +3 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/components/ui/button.d.ts +23 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/checkbox.d.ts +17 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/input.d.ts +18 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/label.d.ts +14 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/radio-group.d.ts +25 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/lib/theme-utils.d.ts +104 -0
- package/dist/lib/theme-utils.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/mm-react-components.es.js +4873 -26
- package/dist/mm-react-components.es.js.map +1 -0
- package/dist/mm-react-components.umd.js +36 -1
- package/dist/mm-react-components.umd.js.map +1 -0
- package/dist/preview/ButtonPreview.d.ts +2 -0
- package/dist/preview/ButtonPreview.d.ts.map +1 -0
- package/dist/preview/CheckboxPreview.d.ts +2 -0
- package/dist/preview/CheckboxPreview.d.ts.map +1 -0
- package/dist/preview/InputPreview.d.ts +2 -0
- package/dist/preview/InputPreview.d.ts.map +1 -0
- package/dist/preview/LabelPreview.d.ts +2 -0
- package/dist/preview/LabelPreview.d.ts.map +1 -0
- package/dist/preview/RadioGroupPreview.d.ts +2 -0
- package/dist/preview/RadioGroupPreview.d.ts.map +1 -0
- package/package.json +88 -15
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Initial component library setup
|
|
13
|
+
- Button component with multiple variants
|
|
14
|
+
- Input component with validation states
|
|
15
|
+
- TypeScript support with full type definitions
|
|
16
|
+
- Tailwind CSS integration
|
|
17
|
+
- ESLint and Prettier configuration
|
|
18
|
+
- Playwright testing setup
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- N/A
|
|
23
|
+
|
|
24
|
+
### Deprecated
|
|
25
|
+
|
|
26
|
+
- N/A
|
|
27
|
+
|
|
28
|
+
### Removed
|
|
29
|
+
|
|
30
|
+
- N/A
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- N/A
|
|
35
|
+
|
|
36
|
+
### Security
|
|
37
|
+
|
|
38
|
+
- N/A
|
|
39
|
+
|
|
40
|
+
## [0.1.0] - 2025-01-27
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
|
|
44
|
+
- Initial release of @machinemetrics/mm-react-components
|
|
45
|
+
- Button component with variants: default, primary, secondary, outline, destructive
|
|
46
|
+
- Input component with type support
|
|
47
|
+
- Utility functions for class name merging
|
|
48
|
+
- Comprehensive TypeScript configuration
|
|
49
|
+
- Modern build system with Vite
|
|
50
|
+
- ESLint and Prettier for code quality
|
|
51
|
+
- Playwright for end-to-end testing
|
|
52
|
+
- NPM distribution configuration
|
|
53
|
+
|
|
54
|
+
### Technical Details
|
|
55
|
+
|
|
56
|
+
- Built on React 19.1.1
|
|
57
|
+
- Uses shadcn/ui as component foundation
|
|
58
|
+
- Tailwind CSS for styling
|
|
59
|
+
- ES modules and UMD bundle support
|
|
60
|
+
- Tree-shakable architecture
|
|
61
|
+
- WCAG 2.1 AA accessibility compliance
|
package/README.md
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# @machinemetrics/mm-react-components
|
|
2
|
+
|
|
3
|
+
A comprehensive React component library designed specifically for MachineMetrics industrial and manufacturing applications.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- 🏭 **Industrial-Focused**: Components designed for manufacturing and industrial environments
|
|
8
|
+
- 🎨 **Modern Design**: Built on shadcn/ui with Tailwind CSS for consistent, accessible UI
|
|
9
|
+
- 📦 **Tree-Shakable**: ES modules with full tree-shaking support
|
|
10
|
+
- 🔧 **TypeScript**: Full TypeScript support with comprehensive type definitions
|
|
11
|
+
- ♿ **Accessible**: WCAG 2.1 AA compliant components
|
|
12
|
+
- 🚀 **Performance**: Optimized for real-time data display and monitoring
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @machinemetrics/mm-react-components
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
```tsx
|
|
23
|
+
import { Button, Input } from '@machinemetrics/mm-react-components';
|
|
24
|
+
import '@machinemetrics/mm-react-components/styles';
|
|
25
|
+
|
|
26
|
+
function App() {
|
|
27
|
+
return (
|
|
28
|
+
<div>
|
|
29
|
+
<Button variant='primary'>Start Monitoring</Button>
|
|
30
|
+
<Input placeholder='Enter machine ID...' />
|
|
31
|
+
</div>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Theme System
|
|
37
|
+
|
|
38
|
+
The component library includes a comprehensive theme system with two main themes:
|
|
39
|
+
|
|
40
|
+
### Base Theme (OKLCH)
|
|
41
|
+
|
|
42
|
+
- Modern OKLCH color space for better perceptual uniformity
|
|
43
|
+
- Professional typography with Noto Sans and Inconsolata fonts
|
|
44
|
+
- Complete dark mode support
|
|
45
|
+
- Chart and sidebar color systems
|
|
46
|
+
|
|
47
|
+
### Carbide Theme (Industrial)
|
|
48
|
+
|
|
49
|
+
- Manufacturing-appropriate color palette
|
|
50
|
+
- MachineMetrics brand colors (green, grey)
|
|
51
|
+
- Enhanced component styling for industrial applications
|
|
52
|
+
- Complete dark mode support
|
|
53
|
+
|
|
54
|
+
### Using Themes
|
|
55
|
+
|
|
56
|
+
#### Option 1: Import CSS Files Directly
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
// In your main.tsx or App.tsx
|
|
60
|
+
import '@machinemetrics/mm-react-components/themes/base';
|
|
61
|
+
import '@machinemetrics/mm-react-components/themes/carbide';
|
|
62
|
+
|
|
63
|
+
// Add carbide class to activate Carbide theme
|
|
64
|
+
document.documentElement.classList.add('carbide');
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### Option 2: Use Theme Utilities
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
import {
|
|
71
|
+
activateCarbideTheme,
|
|
72
|
+
toggleDarkMode,
|
|
73
|
+
isCarbideThemeActive,
|
|
74
|
+
} from '@machinemetrics/mm-react-components';
|
|
75
|
+
|
|
76
|
+
// Activate Carbide theme
|
|
77
|
+
activateCarbideTheme();
|
|
78
|
+
|
|
79
|
+
// Toggle dark mode
|
|
80
|
+
toggleDarkMode();
|
|
81
|
+
|
|
82
|
+
// Check theme status
|
|
83
|
+
const isCarbideActive = isCarbideThemeActive();
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### Option 3: Manual CSS Import
|
|
87
|
+
|
|
88
|
+
```css
|
|
89
|
+
/* In your CSS file */
|
|
90
|
+
@import '@machinemetrics/mm-react-components/themes/base';
|
|
91
|
+
@import '@machinemetrics/mm-react-components/themes/carbide';
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Theme Classes
|
|
95
|
+
|
|
96
|
+
The theme system uses CSS classes for activation:
|
|
97
|
+
|
|
98
|
+
- **Base theme**: Active by default
|
|
99
|
+
- **Carbide theme**: Add `carbide` class to `<html>` element
|
|
100
|
+
- **Dark mode**: Add `dark` class to `<html>` element
|
|
101
|
+
|
|
102
|
+
```html
|
|
103
|
+
<!-- Base theme -->
|
|
104
|
+
<html>
|
|
105
|
+
<!-- Carbide theme -->
|
|
106
|
+
<html class="carbide">
|
|
107
|
+
<!-- Carbide theme + dark mode -->
|
|
108
|
+
<html class="carbide dark"></html>
|
|
109
|
+
</html>
|
|
110
|
+
</html>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Available Theme Utilities
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
import {
|
|
117
|
+
// Carbide theme utilities
|
|
118
|
+
activateCarbideTheme,
|
|
119
|
+
deactivateCarbideTheme,
|
|
120
|
+
toggleCarbideTheme,
|
|
121
|
+
isCarbideThemeActive,
|
|
122
|
+
|
|
123
|
+
// Dark mode utilities
|
|
124
|
+
activateDarkMode,
|
|
125
|
+
deactivateDarkMode,
|
|
126
|
+
toggleDarkMode,
|
|
127
|
+
isDarkModeActive,
|
|
128
|
+
} from '@machinemetrics/mm-react-components';
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Components
|
|
132
|
+
|
|
133
|
+
### Button
|
|
134
|
+
|
|
135
|
+
A versatile button component with multiple variants for different use cases.
|
|
136
|
+
|
|
137
|
+
```tsx
|
|
138
|
+
import { Button } from '@machinemetrics/mm-react-components';
|
|
139
|
+
|
|
140
|
+
// Basic usage
|
|
141
|
+
<Button>Default</Button>
|
|
142
|
+
|
|
143
|
+
// Variants
|
|
144
|
+
<Button variant="primary">Primary</Button>
|
|
145
|
+
<Button variant="secondary">Secondary</Button>
|
|
146
|
+
<Button variant="outline">Outline</Button>
|
|
147
|
+
<Button variant="destructive">Destructive</Button>
|
|
148
|
+
|
|
149
|
+
// Sizes
|
|
150
|
+
<Button size="sm">Small</Button>
|
|
151
|
+
<Button size="lg">Large</Button>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Input
|
|
155
|
+
|
|
156
|
+
Form input component with built-in validation states.
|
|
157
|
+
|
|
158
|
+
```tsx
|
|
159
|
+
import { Input } from '@machinemetrics/mm-react-components';
|
|
160
|
+
|
|
161
|
+
<Input placeholder="Enter value..." />
|
|
162
|
+
<Input type="email" placeholder="Email address" />
|
|
163
|
+
<Input type="password" placeholder="Password" />
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Styling
|
|
167
|
+
|
|
168
|
+
The component library uses Tailwind CSS. Make sure to include the styles in your application:
|
|
169
|
+
|
|
170
|
+
```tsx
|
|
171
|
+
import '@machinemetrics/mm-react-components/styles';
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
If you're using Tailwind CSS in your project, you can also import the component styles directly:
|
|
175
|
+
|
|
176
|
+
```css
|
|
177
|
+
@import '@machinemetrics/mm-react-components/styles';
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## TypeScript Support
|
|
181
|
+
|
|
182
|
+
This library is built with TypeScript and provides full type definitions:
|
|
183
|
+
|
|
184
|
+
```tsx
|
|
185
|
+
import { Button, type ButtonProps } from '@machinemetrics/mm-react-components';
|
|
186
|
+
|
|
187
|
+
const CustomButton: React.FC<ButtonProps> = props => {
|
|
188
|
+
return <Button {...props} />;
|
|
189
|
+
};
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Requirements
|
|
193
|
+
|
|
194
|
+
- React 18.0.0 or higher
|
|
195
|
+
- Node.js 20.0.0 or higher
|
|
196
|
+
|
|
197
|
+
## Browser Support
|
|
198
|
+
|
|
199
|
+
- Chrome (latest)
|
|
200
|
+
- Firefox (latest)
|
|
201
|
+
- Safari (latest)
|
|
202
|
+
- Edge (latest)
|
|
203
|
+
|
|
204
|
+
## Contributing
|
|
205
|
+
|
|
206
|
+
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
207
|
+
|
|
208
|
+
## License
|
|
209
|
+
|
|
210
|
+
MIT License - see [LICENSE](LICENSE) file for details.
|
|
211
|
+
|
|
212
|
+
## Support
|
|
213
|
+
|
|
214
|
+
For support and questions, please contact the MachineMetrics development team.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
Built with ❤️ by the MachineMetrics team for industrial applications.
|
package/dist/App.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AA0CA,iBAAS,GAAG,4CA+IX;AAED,eAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const buttonVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
|
+
size?: "default" | "sm" | "lg" | "icon" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
/**
|
|
8
|
+
* Button component with multiple variants and sizes
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <Button variant="default" size="lg" onClick={() => console.log('clicked')}>
|
|
13
|
+
* Click me
|
|
14
|
+
* </Button>
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
18
|
+
/** Render as a different element using Radix Slot */
|
|
19
|
+
asChild?: boolean;
|
|
20
|
+
}
|
|
21
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
22
|
+
export { Button, buttonVariants };
|
|
23
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;;8EA2BnB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,uFAWX,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
3
|
+
/**
|
|
4
|
+
* Checkbox component with checked, unchecked, and indeterminate states
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Checkbox
|
|
9
|
+
* id="terms"
|
|
10
|
+
* checked={checked}
|
|
11
|
+
* onCheckedChange={(value) => setChecked(value)}
|
|
12
|
+
* />
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
declare function Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export { Checkbox };
|
|
17
|
+
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAK9D;;;;;;;;;;;GAWG;AACH,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,2CAkBrD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Input component for text, email, password, and other input types
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* <Input
|
|
8
|
+
* type="email"
|
|
9
|
+
* placeholder="Enter your email"
|
|
10
|
+
* value={email}
|
|
11
|
+
* onChange={(e) => setEmail(e.target.value)}
|
|
12
|
+
* />
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export type InputProps = React.InputHTMLAttributes<HTMLInputElement>;
|
|
16
|
+
declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
17
|
+
export { Input };
|
|
18
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/ui/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AAErE,QAAA,MAAM,KAAK,qFAcV,CAAC;AAGF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
3
|
+
/**
|
|
4
|
+
* Label component for form inputs and accessibility
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <Label htmlFor="email">Email Address</Label>
|
|
9
|
+
* <Input id="email" type="email" />
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
declare function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export { Label };
|
|
14
|
+
//# sourceMappingURL=label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../src/components/ui/label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAIxD;;;;;;;;GAQG;AACH,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,2CAWlD;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
|
|
3
|
+
/**
|
|
4
|
+
* RadioGroup component for single selection from multiple options
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* <RadioGroup value={selected} onValueChange={setSelected}>
|
|
9
|
+
* <RadioGroupItem value="option1" id="option1" />
|
|
10
|
+
* <Label htmlFor="option1">Option 1</Label>
|
|
11
|
+
* </RadioGroup>
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
declare function RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
/**
|
|
16
|
+
* Individual radio button item within a RadioGroup
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <RadioGroupItem value="option1" id="option1" />
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
declare function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export { RadioGroup, RadioGroupItem };
|
|
25
|
+
//# sourceMappingURL=radio-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../src/components/ui/radio-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AAKnE;;;;;;;;;;GAUG;AACH,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,2CAQvD;AAED;;;;;;;GAOG;AACH,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,IAAI,CAAC,2CAkBvD;AAED,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { cn } from './lib/utils';
|
|
2
|
+
export { Button, buttonVariants } from './components/ui/button';
|
|
3
|
+
export { Input } from './components/ui/input';
|
|
4
|
+
export { activateCarbideTheme } from './lib/theme-utils';
|
|
5
|
+
export { Label } from './components/ui/label';
|
|
6
|
+
export { Checkbox } from './components/ui/checkbox';
|
|
7
|
+
export { RadioGroup, RadioGroupItem } from './components/ui/radio-group';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme utilities for mm-react-components
|
|
3
|
+
*
|
|
4
|
+
* These utilities help consuming applications integrate the Carbide theme system.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Activates the Carbide theme by adding the 'carbide' class to the document element.
|
|
8
|
+
* This should be called once when your application initializes.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import { activateCarbideTheme } from '@machinemetrics/mm-react-components';
|
|
13
|
+
*
|
|
14
|
+
* // In your main.tsx or App.tsx
|
|
15
|
+
* activateCarbideTheme();
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare function activateCarbideTheme(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Deactivates the Carbide theme by removing the 'carbide' class from the document element.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* import { deactivateCarbideTheme } from '@machinemetrics/mm-react-components';
|
|
25
|
+
*
|
|
26
|
+
* // To switch back to base theme
|
|
27
|
+
* deactivateCarbideTheme();
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function deactivateCarbideTheme(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Toggles the Carbide theme on/off.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```tsx
|
|
36
|
+
* import { toggleCarbideTheme } from '@machinemetrics/mm-react-components';
|
|
37
|
+
*
|
|
38
|
+
* // Toggle theme
|
|
39
|
+
* toggleCarbideTheme();
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function toggleCarbideTheme(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Checks if the Carbide theme is currently active.
|
|
45
|
+
*
|
|
46
|
+
* @returns true if Carbide theme is active, false otherwise
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```tsx
|
|
50
|
+
* import { isCarbideThemeActive } from '@machinemetrics/mm-react-components';
|
|
51
|
+
*
|
|
52
|
+
* const isActive = isCarbideThemeActive();
|
|
53
|
+
* console.log('Carbide theme is active:', isActive);
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export declare function isCarbideThemeActive(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Activates dark mode by adding the 'dark' class to the document element.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```tsx
|
|
62
|
+
* import { activateDarkMode } from '@machinemetrics/mm-react-components';
|
|
63
|
+
*
|
|
64
|
+
* activateDarkMode();
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function activateDarkMode(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Deactivates dark mode by removing the 'dark' class from the document element.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```tsx
|
|
73
|
+
* import { deactivateDarkMode } from '@machinemetrics/mm-react-components';
|
|
74
|
+
*
|
|
75
|
+
* deactivateDarkMode();
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare function deactivateDarkMode(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Toggles dark mode on/off.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```tsx
|
|
84
|
+
* import { toggleDarkMode } from '@machinemetrics/mm-react-components';
|
|
85
|
+
*
|
|
86
|
+
* toggleDarkMode();
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare function toggleDarkMode(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Checks if dark mode is currently active.
|
|
92
|
+
*
|
|
93
|
+
* @returns true if dark mode is active, false otherwise
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```tsx
|
|
97
|
+
* import { isDarkModeActive } from '@machinemetrics/mm-react-components';
|
|
98
|
+
*
|
|
99
|
+
* const isDark = isDarkModeActive();
|
|
100
|
+
* console.log('Dark mode is active:', isDark);
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function isDarkModeActive(): boolean;
|
|
104
|
+
//# sourceMappingURL=theme-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-utils.d.ts","sourceRoot":"","sources":["../../src/lib/theme-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAI3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAK9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAK1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
|
package/dist/main.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":"AAGA,OAAO,aAAa,CAAC;AACrB,OAAO,sBAAsB,CAAC"}
|