@liiift-studio/mac-os9-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/ATTRIBUTION.md ADDED
@@ -0,0 +1,100 @@
1
+ # Attribution
2
+
3
+ ## Design Credits
4
+
5
+ This component library is based on the **Mac OS 9 UI Kit** created by **Michael Feeney**.
6
+
7
+ ### Original Design Information
8
+
9
+ - **Project**: Mac OS 9 UI Kit (Macostalgia)
10
+ - **Creator**: Michael Feeney
11
+ - **Website**: https://swallowmygraphicdesign.com/project/macostalgia
12
+ - **Figma Community File**: https://www.figma.com/design/vy2T5MCXFz7QWf4Ba86eqN/Mac-OS-9--UI-Kit--Community-
13
+
14
+ ### License
15
+
16
+ The original Mac OS 9 UI Kit designs are licensed under **Creative Commons Attribution 4.0 International License (CC BY 4.0)**.
17
+
18
+ **License URL**: https://creativecommons.org/licenses/by/4.0/
19
+
20
+ #### What this means:
21
+
22
+ You are free to:
23
+ - ✅ **Share** — copy and redistribute the material in any medium or format
24
+ - ✅ **Adapt** — remix, transform, and build upon the material for any purpose, even commercially
25
+
26
+ Under the following terms:
27
+ - ⚠️ **Attribution** — You must give appropriate credit to Michael Feeney, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
28
+
29
+ ## Implementation
30
+
31
+ This React/TypeScript component library (`mac-os9-ui`) implements Michael Feeney's designs as functional web components with:
32
+
33
+ - Pixel-accurate visual fidelity to the original designs
34
+ - Modern accessibility features (ARIA, keyboard navigation)
35
+ - TypeScript type definitions
36
+ - Comprehensive testing and documentation
37
+
38
+ ### Changes Made
39
+
40
+ From the original Figma designs, this library has:
41
+
42
+ 1. **Added**: Full accessibility support (ARIA attributes, keyboard navigation, focus management)
43
+ 2. **Added**: Responsive behavior for modern web applications
44
+ 3. **Added**: TypeScript type definitions for all components
45
+ 4. **Adapted**: CSS implementations using modern web standards (CSS Modules, CSS Custom Properties)
46
+ 5. **Enhanced**: Interactive states with proper event handling
47
+
48
+ All visual design decisions remain faithful to Michael Feeney's original Mac OS 9 UI Kit.
49
+
50
+ ## How to Attribute
51
+
52
+ When using this library in your projects, please include attribution to both:
53
+
54
+ ### 1. This Library (mac-os9-ui)
55
+
56
+ ```
57
+ Built with mac-os9-ui component library
58
+ https://github.com/Liiift-Studio/Mac-OS-9-React
59
+ Licensed under MIT License
60
+ ```
61
+
62
+ ### 2. Original Designs (Michael Feeney)
63
+
64
+ ```
65
+ Designs by Michael Feeney
66
+ Mac OS 9 UI Kit (Macostalgia)
67
+ https://swallowmygraphicdesign.com/project/macostalgia
68
+ Licensed under CC BY 4.0
69
+ ```
70
+
71
+ ### Recommended Attribution Format
72
+
73
+ For websites or applications:
74
+
75
+ ```html
76
+ <!-- Footer or About section -->
77
+ <p>
78
+ UI components powered by
79
+ <a href="https://github.com/Liiift-Studio/Mac-OS-9-React">mac-os9-ui</a>.
80
+ Original designs by
81
+ <a href="https://swallowmygraphicdesign.com/project/macostalgia">Michael Feeney</a>
82
+ licensed under
83
+ <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
84
+ </p>
85
+ ```
86
+
87
+ For documentation or README:
88
+
89
+ ```markdown
90
+ ## Credits
91
+
92
+ - UI Components: [mac-os9-ui](https://github.com/Liiift-Studio/Mac-OS-9-React) (MIT License)
93
+ - Original Designs: [Michael Feeney - Mac OS 9 UI Kit](https://swallowmygraphicdesign.com/project/macostalgia) (CC BY 4.0)
94
+ ```
95
+
96
+ ## Thank You
97
+
98
+ Special thanks to Michael Feeney for creating and sharing this beautiful Mac OS 9 UI Kit with the design community. His work preserves an important piece of computing history and enables developers to bring that nostalgic aesthetic to modern web applications.
99
+
100
+ Visit his website to see more of his excellent work: https://swallowmygraphicdesign.com/
package/LICENSE ADDED
@@ -0,0 +1,50 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Liiift Studio
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.
22
+
23
+ ---
24
+
25
+ DESIGN ATTRIBUTION
26
+
27
+ The Mac OS 9 UI designs implemented in this library are based on the
28
+ "Mac OS 9 UI Kit" created by Michael Feeney.
29
+
30
+ Original Design: Mac OS 9 UI Kit
31
+ Creator: Michael Feeney
32
+ Website: https://swallowmygraphicdesign.com/project/macostalgia
33
+ Figma File: https://www.figma.com/design/vy2T5MCXFz7QWf4Ba86eqN/Mac-OS-9--UI-Kit--Community-
34
+
35
+ The original designs are licensed under Creative Commons Attribution 4.0
36
+ International License (CC BY 4.0).
37
+ https://creativecommons.org/licenses/by/4.0/
38
+
39
+ This means you are free to:
40
+ - Share — copy and redistribute the material in any medium or format
41
+ - Adapt — remix, transform, and build upon the material for any purpose,
42
+ even commercially
43
+
44
+ Under the following terms:
45
+ - Attribution — You must give appropriate credit to Michael Feeney, provide
46
+ a link to the license, and indicate if changes were made.
47
+
48
+ When using this library, please include attribution to both:
49
+ 1. This library (mac-os9-ui) under MIT License
50
+ 2. Michael Feeney's original Mac OS 9 UI Kit designs under CC BY 4.0
package/README.md ADDED
@@ -0,0 +1,243 @@
1
+ # Mac OS 9 UI Component Library
2
+
3
+ A pixel-perfect Mac OS 9 UI component library for React and TypeScript. Bring authentic retro Mac OS 9 styling to your web applications with accessible, well-typed components.
4
+
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
+
7
+ ## Features
8
+
9
+ - 🎨 **Pixel-Perfect Design** - Faithful recreation of Mac OS 9 UI elements based on the original design system
10
+ - 📦 **TypeScript First** - Full TypeScript support with complete type definitions
11
+ - ♿ **Accessible** - WCAG 2.1 AA compliant components with proper ARIA attributes
12
+ - 🎭 **Dual Module Support** - ESM and CommonJS builds included
13
+ - 📖 **Storybook Docs** - Interactive component documentation and examples
14
+ - 🧪 **Fully Tested** - Comprehensive test coverage with Vitest
15
+
16
+ ## Installation
17
+
18
+ ```bash
19
+ npm install mac-os9-ui
20
+ ```
21
+
22
+ ## Quick Start
23
+
24
+ ```tsx
25
+ import { Button, Window } from 'mac-os9-ui';
26
+ import 'mac-os9-ui/styles';
27
+
28
+ function App() {
29
+ return (
30
+ <Window title="My Application">
31
+ <div style={{ padding: '16px' }}>
32
+ <Button variant="primary">Click Me</Button>
33
+ </div>
34
+ </Window>
35
+ );
36
+ }
37
+ ```
38
+
39
+ ## Components
40
+
41
+ ### Form Controls
42
+ - **Button** - Classic Mac OS 9 buttons with variants (primary, default, cancel)
43
+ - **Checkbox** - Mac OS 9 style checkboxes
44
+ - **Radio** - Radio button groups
45
+ - **TextField** - Text input fields
46
+ - **Select** - Dropdown select menus
47
+
48
+ ### Layout & Chrome
49
+ - **Window** - Classic Mac OS 9 window container
50
+ - **MenuBar** - Application menu bar with dropdown menus
51
+ - **Tabs** - Tabbed navigation component
52
+ - **Dialog** - Modal dialog windows
53
+
54
+ ### Lists & Navigation
55
+ - **ListView** - List view with Mac OS 9 styling
56
+ - **FolderList** - Hierarchical folder/file list view
57
+ - **Scrollbar** - Custom Mac OS 9 styled scrollbars
58
+
59
+ ### Utilities
60
+ - **Icon** - System icons (folder, document, trash, etc.)
61
+ - **IconButton** - Icon-only button variant
62
+
63
+ ## Usage Examples
64
+
65
+ ### Creating a Window with Menu Bar
66
+
67
+ ```tsx
68
+ import { Window, MenuBar } from 'mac-os9-ui';
69
+ import 'mac-os9-ui/styles';
70
+
71
+ function MyApp() {
72
+ const menuItems = [
73
+ {
74
+ label: 'File',
75
+ items: [
76
+ { label: 'New', onClick: () => console.log('New') },
77
+ { label: 'Open...', onClick: () => console.log('Open') },
78
+ { type: 'separator' },
79
+ { label: 'Quit', onClick: () => console.log('Quit') },
80
+ ],
81
+ },
82
+ {
83
+ label: 'Edit',
84
+ items: [
85
+ { label: 'Cut', onClick: () => console.log('Cut') },
86
+ { label: 'Copy', onClick: () => console.log('Copy') },
87
+ { label: 'Paste', onClick: () => console.log('Paste') },
88
+ ],
89
+ },
90
+ ];
91
+
92
+ return (
93
+ <Window title="My Application">
94
+ <MenuBar items={menuItems} />
95
+ {/* Your content here */}
96
+ </Window>
97
+ );
98
+ }
99
+ ```
100
+
101
+ ### Using Form Controls
102
+
103
+ ```tsx
104
+ import { Button, Checkbox, TextField, Select } from 'mac-os9-ui';
105
+ import { useState } from 'react';
106
+
107
+ function MyForm() {
108
+ const [checked, setChecked] = useState(false);
109
+ const [text, setText] = useState('');
110
+ const [selected, setSelected] = useState('');
111
+
112
+ return (
113
+ <div>
114
+ <TextField
115
+ label="Name"
116
+ value={text}
117
+ onChange={(e) => setText(e.target.value)}
118
+ />
119
+
120
+ <Checkbox
121
+ label="I agree to the terms"
122
+ checked={checked}
123
+ onChange={(e) => setChecked(e.target.checked)}
124
+ />
125
+
126
+ <Select
127
+ label="Choose an option"
128
+ value={selected}
129
+ onChange={(e) => setSelected(e.target.value)}
130
+ options={[
131
+ { value: 'option1', label: 'Option 1' },
132
+ { value: 'option2', label: 'Option 2' },
133
+ { value: 'option3', label: 'Option 3' },
134
+ ]}
135
+ />
136
+
137
+ <Button variant="primary" onClick={() => console.log('Submit')}>
138
+ Submit
139
+ </Button>
140
+ </div>
141
+ );
142
+ }
143
+ ```
144
+
145
+ ### Creating a Dialog
146
+
147
+ ```tsx
148
+ import { Dialog, Button } from 'mac-os9-ui';
149
+ import { useState } from 'react';
150
+
151
+ function MyComponent() {
152
+ const [open, setOpen] = useState(false);
153
+
154
+ return (
155
+ <>
156
+ <Button onClick={() => setOpen(true)}>Open Dialog</Button>
157
+
158
+ <Dialog
159
+ open={open}
160
+ onClose={() => setOpen(false)}
161
+ title="Confirm Action"
162
+ >
163
+ <p>Are you sure you want to proceed?</p>
164
+ <div style={{ display: 'flex', gap: '8px', marginTop: '16px' }}>
165
+ <Button variant="primary" onClick={() => setOpen(false)}>
166
+ OK
167
+ </Button>
168
+ <Button onClick={() => setOpen(false)}>Cancel</Button>
169
+ </div>
170
+ </Dialog>
171
+ </>
172
+ );
173
+ }
174
+ ```
175
+
176
+ ## Styling
177
+
178
+ The library includes CSS files that need to be imported in your application:
179
+
180
+ ```tsx
181
+ import 'mac-os9-ui/styles';
182
+ ```
183
+
184
+ This imports the theme variables and base styles. All components use CSS Modules internally, so styles are scoped and won't conflict with your application's CSS.
185
+
186
+ ## TypeScript Support
187
+
188
+ All components are written in TypeScript and include full type definitions. Import types as needed:
189
+
190
+ ```tsx
191
+ import type { ButtonProps, WindowProps } from 'mac-os9-ui';
192
+ ```
193
+
194
+ ## Browser Support
195
+
196
+ - Chrome/Edge (latest)
197
+ - Firefox (latest)
198
+ - Safari (latest)
199
+
200
+ ## Development
201
+
202
+ ```bash
203
+ # Install dependencies
204
+ npm install
205
+
206
+ # Run Storybook for development
207
+ npm run dev
208
+
209
+ # Build the library
210
+ npm run build
211
+
212
+ # Run tests
213
+ npm test
214
+
215
+ # Run linting
216
+ npm run lint
217
+ ```
218
+
219
+ ## Attribution
220
+
221
+ This component library is based on the **Mac OS 9 UI Kit** created by [Michael Feeney](https://swallowmygraphicdesign.com/project/macostalgia).
222
+
223
+ Original Figma design: [Mac OS 9 UI Kit](https://www.figma.com/design/vy2T5MCXFz7QWf4Ba86eqN/Mac-OS-9--UI-Kit--Community-)
224
+
225
+ Design licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)
226
+
227
+ ## License
228
+
229
+ MIT License - see [LICENSE](./LICENSE) file for details.
230
+
231
+ ## Contributing
232
+
233
+ Contributions are welcome! Please feel free to submit a Pull Request.
234
+
235
+ ## Links
236
+
237
+ - [GitHub Repository](https://github.com/Liiift-Studio/Mac-OS-9-React)
238
+ - [Report Issues](https://github.com/Liiift-Studio/Mac-OS-9-React/issues)
239
+ - [Changelog](./CHANGELOG.md)
240
+
241
+ ---
242
+
243
+ Made with 💾 by [Liiift Studio](https://github.com/Liiift-Studio)