@jacshuo/onyx 0.1.4 → 0.1.6

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/README.md CHANGED
@@ -7,12 +7,23 @@
7
7
 
8
8
  # @jacshuo/onyx
9
9
 
10
- A cross-platform **React UI component library** built with Tailwind CSS v4 — works in web browsers and Electron. Ships ESM + CJS bundles with full TypeScript declarations.
10
+ A cross-platform **React UI component library** built with Tailwind CSS v4 — designed for web browsers and Electron desktop apps. Ships ESM + CJS bundles with full TypeScript declarations.
11
+
12
+ Born out of a personal passion for **cross-platform desktop development**, Onyx focuses on delivering a polished, consistent look and feel across Electron and web — the kind of UI toolkit I always wished existed when building desktop apps with web technologies.
11
13
 
12
14
  > **Live Demo →** [jacshuo.github.io/jac-ui](https://jacshuo.github.io/jac-ui)
13
15
 
14
16
  ---
15
17
 
18
+ ## Why Onyx?
19
+
20
+ - **Desktop-first philosophy** — Unlike most React UI libraries that target mobile or generic web, Onyx is crafted with desktop and Electron apps as a first-class concern. Components are optimized for pointer interactions, keyboard navigation, and desktop-sized viewports.
21
+ - **Production-ready out of the box** — Dark mode, design tokens, accessibility, and keyboard shortcuts are built in from day one — not bolted on as an afterthought.
22
+ - **Minimal footprint, maximum control** — No runtime CSS-in-JS. Just Tailwind CSS v4 utility classes and CSS custom properties. Override any token without ejecting or fighting specificity wars.
23
+ - **Rich, specialized components** — Beyond the usual buttons and inputs, Onyx includes `CinePlayer`, `MiniPlayer`, `FileExplorer`, and `DataTable` — components that are hard to find in general-purpose libraries but essential for desktop-class applications.
24
+
25
+ ---
26
+
16
27
  ## Features
17
28
 
18
29
  - 🎨 **30+ components** — from Button → DataTable → CinePlayer
@@ -20,8 +31,10 @@ A cross-platform **React UI component library** built with Tailwind CSS v4 — w
20
31
  - 🎯 **CSS variable design tokens** — override any color via `--cp-*`, `--mp-*`, `--fe-*` custom properties
21
32
  - ⚡ **Tailwind CSS v4** — zero config, `@theme` tokens, `color-mix()` accent support
22
33
  - 📦 **Tree-shakeable** — ESM + CJS dual output, `sideEffects: ["*.css"]`
23
- - 🖥️ **Cross-platform** — built with web & Electron in mind
34
+ - 🖥️ **Cross-platform** — built for web & Electron desktop apps
35
+ - ⌨️ **Keyboard-first** — comprehensive keyboard shortcuts for CinePlayer, FileExplorer, and more
24
36
  - 🔤 **Full TypeScript** — every prop, event, and variant is typed
37
+ - 🧩 **Composable API** — compound component patterns (e.g., `Dialog` → `DialogContent` + `DialogHeader` + `DialogFooter`) let you assemble exactly what you need
25
38
 
26
39
  ---
27
40
 
@@ -482,6 +495,29 @@ jac-ui/
482
495
 
483
496
  ---
484
497
 
498
+ ## Roadmap
499
+
500
+ ### Responsiveness & Mobile Support
501
+
502
+ > **Current status: not supported**
503
+
504
+ Onyx is a **desktop-first** library. All components are currently designed for desktop-sized viewports and pointer-based interactions. Responsive / mobile layouts are **not yet available**.
505
+
506
+ This is a personal side project, and my day job keeps me quite busy. My primary interest lies in **cross-platform desktop application development** (Electron + web), which is where I spend most of my limited spare time. As a result, responsive design and mobile device support have not been prioritized — and there is **no concrete timeline** for adding them.
507
+
508
+ That said, responsiveness is absolutely a worthwhile direction. If this is something you need, **pull requests are very welcome!** The rough areas that would benefit from community contributions include:
509
+
510
+ - **Fluid layouts** — Making `Card`, `DataTable`, `Dialog`, etc. adapt to narrow viewports via container queries or relative units.
511
+ - **Responsive typography** — Auto-scaling font sizes and spacing based on viewport width.
512
+ - **Touch-friendly interactions** — Larger tap targets, swipe gestures for `CinePlayer` / `MiniPlayer`, touch-optimized drag handles.
513
+ - **Adaptive component variants** — `DataTable` → card list on mobile, `SideNav` → slide-over drawer, `Header` → hamburger menu.
514
+ - **Breakpoint-aware props** — e.g., `<Button size={{ base: 'sm', md: 'lg' }}>` aligned with Tailwind CSS v4 breakpoints.
515
+ - **Mobile-first CSS refactor** — Layering complexity at wider breakpoints instead of overriding desktop defaults.
516
+
517
+ If you're interested in contributing any of these, check out the [Contributing](#contributing) section — I'd love the help! 🙌
518
+
519
+ ---
520
+
485
521
  ## Contributing
486
522
 
487
523
  1. Fork the repository