@shohojdhara/atomix 0.5.5 β 0.5.7
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 +43 -21
- package/dist/atomix.css +1016 -1681
- package/dist/atomix.css.map +1 -1
- package/dist/atomix.min.css +5 -5
- package/dist/atomix.min.css.map +1 -1
- package/dist/core.d.ts +102 -9
- package/dist/core.js +89 -79
- package/dist/core.js.map +1 -1
- package/dist/forms.js +1 -7
- package/dist/forms.js.map +1 -1
- package/dist/heavy.js +7 -3
- package/dist/heavy.js.map +1 -1
- package/dist/index.d.ts +181 -55
- package/dist/index.esm.js +112 -99
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +112 -99
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Accordion/Accordion.tsx +40 -25
- package/src/components/Breadcrumb/Breadcrumb.tsx +23 -14
- package/src/components/Button/Button.tsx +4 -5
- package/src/components/Callout/Callout.tsx +98 -96
- package/src/components/Card/Card.tsx +117 -103
- package/src/components/Card/index.ts +7 -5
- package/src/components/Dropdown/Dropdown.tsx +27 -8
- package/src/components/EdgePanel/EdgePanel.tsx +7 -2
- package/src/components/Modal/Modal.tsx +27 -8
- package/src/components/Spinner/Spinner.tsx +60 -43
- package/src/components/Tabs/Tabs.tsx +163 -149
- package/src/lib/composables/useInput.ts +11 -9
- package/src/lib/types/components.ts +84 -0
- package/src/styles/01-settings/_settings.background.scss +2 -1
- package/src/styles/02-tools/_tools.background.scss +100 -294
- package/src/styles/06-components/_components.avatar-group.scss +1 -3
- package/src/styles/06-components/_components.avatar.scss +1 -1
- package/src/styles/06-components/_components.badge.scss +2 -2
- package/src/styles/06-components/_components.button.scss +3 -3
- package/src/styles/06-components/_components.callout.scss +5 -5
- package/src/styles/06-components/_components.card.scss +4 -7
- package/src/styles/06-components/_components.checkbox.scss +1 -1
- package/src/styles/06-components/_components.data-table.scss +1 -1
- package/src/styles/06-components/_components.datepicker.scss +1 -1
- package/src/styles/06-components/_components.dropdown.scss +3 -3
- package/src/styles/06-components/_components.edge-panel.scss +5 -9
- package/src/styles/06-components/_components.footer.scss +12 -13
- package/src/styles/06-components/_components.hero.scss +2 -2
- package/src/styles/06-components/_components.input.scss +3 -3
- package/src/styles/06-components/_components.list.scss +1 -1
- package/src/styles/06-components/_components.menu.scss +2 -2
- package/src/styles/06-components/_components.messages.scss +16 -18
- package/src/styles/06-components/_components.modal.scss +6 -6
- package/src/styles/06-components/_components.nav.scss +0 -3
- package/src/styles/06-components/_components.navbar.scss +3 -3
- package/src/styles/06-components/_components.pagination.scss +3 -3
- package/src/styles/06-components/_components.photoviewer.scss +3 -3
- package/src/styles/06-components/_components.popover.scss +3 -3
- package/src/styles/06-components/_components.product-review.scss +2 -2
- package/src/styles/06-components/_components.progress.scss +2 -2
- package/src/styles/06-components/_components.river.scss +1 -1
- package/src/styles/06-components/_components.sectionintro.scss +1 -1
- package/src/styles/06-components/_components.select.scss +5 -6
- package/src/styles/06-components/_components.side-menu.scss +6 -6
- package/src/styles/06-components/_components.skeleton.scss +8 -8
- package/src/styles/06-components/_components.slider.scss +6 -6
- package/src/styles/06-components/_components.steps.scss +2 -2
- package/src/styles/06-components/_components.tabs.scss +2 -2
- package/src/styles/06-components/_components.todo.scss +1 -1
- package/src/styles/06-components/_components.toggle.scss +3 -5
- package/src/styles/06-components/_components.tooltip.scss +2 -4
- package/src/styles/06-components/_components.upload.scss +1 -2
- package/src/styles/06-components/_components.video-player.scss +2 -2
- package/src/styles/99-utilities/_utilities.link.scss +4 -5
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Atomix Design System
|
|
2
2
|
|
|
3
|
-
> A modern, extensible design system for building
|
|
3
|
+
> A premium, modern, and extensible design system for building next-generation web applications.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@shohojdhara/atomix)
|
|
6
6
|
[](LICENSE)
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
## Table of Contents
|
|
10
10
|
|
|
11
|
+
- [Built for Modern Frontend](#built-for-modern-frontend)
|
|
11
12
|
- [Features](#features)
|
|
12
13
|
- [Installation](#installation)
|
|
13
14
|
- [Usage](#usage)
|
|
@@ -15,21 +16,30 @@
|
|
|
15
16
|
- [Theming](#theming)
|
|
16
17
|
- [React Integration](#react-integration)
|
|
17
18
|
- [Components](#components)
|
|
19
|
+
- [Utility Classes](#utility-classes)
|
|
18
20
|
- [API](#api)
|
|
19
21
|
- [Migration Guide](#migration-guide)
|
|
20
22
|
- [Contributing](#contributing)
|
|
21
23
|
- [License](#license)
|
|
22
24
|
|
|
25
|
+
## Built for Modern Frontend
|
|
26
|
+
|
|
27
|
+
Atomix isn't just another UI libraryβit's built to address the **viral and bleeding-edge trends** where top tech companies and frontend communities are currently focusing:
|
|
28
|
+
|
|
29
|
+
- **AI-Ready Interfaces:** Pre-optimized layouts and interaction patterns designed specifically for LLM chat interfaces, generative AI dashboards, and agentic workflows.
|
|
30
|
+
- **Premium Aesthetics & Glassmorphism:** Move past generic flat design with baked-in support for stunning, hardware-accelerated **Glass UI** (`glass={true}`) and highly refined micro-animations that deliver an instant "wow" factor out-of-the-box.
|
|
31
|
+
- **Enterprise SaaS & B2B Scalability:** Carefully crafted for data-dense environments. Atomix excels natively in complex CRMs, high-frequency B2B marketplaces, and sprawling admin dashboards without compromising on performance.
|
|
32
|
+
- **Polymorphic Architecture:** Extreme flexibility out of the box. Using the `as` prop, you can seamlessly adapt any component to native HTML or third-party Link components (e.g., Next.js `<Link>`, React Router) while maintaining perfect SEO and semantic structure.
|
|
33
|
+
|
|
23
34
|
## Features
|
|
24
35
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
- π **Framework Agnostic** - Works with React, Vue, vanilla JS, etc.
|
|
36
|
+
- π§ **Premium Glassmorphism** - Built-in background blurs, sub-borders, and advanced layer compositions right off the shelf.
|
|
37
|
+
- πͺ **Micro-Interactions** - Silky smooth, highly refined CSS animations that feel native and responsive.
|
|
38
|
+
- π¨ **Advanced Theming Engine** - Deep CSS variable integration supporting instant light/dark toggles and dynamic color generation.
|
|
39
|
+
- βΏ **A11y-First Development** - Built closely alongside strict WCAG guidelines guaranteeing keyboard navigation and rich ARIA compliance.
|
|
40
|
+
- ποΈ **Polymorphic Components** - Total control over rendered DOM nodes via the polymorphic `as` prop.
|
|
41
|
+
- β‘ **Fast & Lightweight** - Aggressively tree-shakable with an extremely minimal bundle footprint.
|
|
42
|
+
- π **Framework Agnostic Core** - Write once, use everywhere (React, Vue, Vanilla JS, and modern SSR architectures like Next.js and Remix).
|
|
33
43
|
|
|
34
44
|
## Installation
|
|
35
45
|
|
|
@@ -45,13 +55,20 @@ pnpm add @shohojdhara/atomix
|
|
|
45
55
|
|
|
46
56
|
### Basic Usage
|
|
47
57
|
|
|
58
|
+
Our components come with semantic props to handle layout states easily, reducing the need for arbitrary CSS classes:
|
|
59
|
+
|
|
48
60
|
```tsx
|
|
49
61
|
import { Button } from '@shohojdhara/atomix/components';
|
|
50
62
|
import '@shohojdhara/atomix/styles/index.css';
|
|
51
63
|
|
|
52
64
|
function App() {
|
|
53
65
|
return (
|
|
54
|
-
<Button
|
|
66
|
+
<Button
|
|
67
|
+
variant="primary"
|
|
68
|
+
glass={true}
|
|
69
|
+
className="u-m-4"
|
|
70
|
+
onClick={() => console.log('Welcome to Atomix!')}
|
|
71
|
+
>
|
|
55
72
|
Click me
|
|
56
73
|
</Button>
|
|
57
74
|
);
|
|
@@ -60,7 +77,7 @@ function App() {
|
|
|
60
77
|
|
|
61
78
|
### Theming
|
|
62
79
|
|
|
63
|
-
Atomix provides a
|
|
80
|
+
Atomix provides a scalable theme system built on top of CSS variables, allowing robust and dynamic runtime customization:
|
|
64
81
|
|
|
65
82
|
```tsx
|
|
66
83
|
import { ThemeProvider, createTheme } from '@shohojdhara/atomix/theme';
|
|
@@ -99,20 +116,21 @@ function App() {
|
|
|
99
116
|
|
|
100
117
|
### React Integration
|
|
101
118
|
|
|
102
|
-
|
|
119
|
+
We provide complete foundational context hooks ensuring your entire React app naturally cascades themes and configs:
|
|
103
120
|
|
|
104
121
|
```tsx
|
|
105
122
|
import { useTheme } from '@shohojdhara/atomix/theme';
|
|
106
123
|
|
|
107
|
-
function
|
|
124
|
+
function ThemeSwitcher() {
|
|
108
125
|
const { theme, setTheme, availableThemes } = useTheme();
|
|
109
126
|
|
|
110
127
|
return (
|
|
111
|
-
<div>
|
|
112
|
-
<p>Current theme: {theme}</p>
|
|
128
|
+
<div className="u-flex u-items-center u-gap-4">
|
|
129
|
+
<p className="u-text-primary">Current theme: {theme}</p>
|
|
113
130
|
<select
|
|
114
131
|
value={theme}
|
|
115
132
|
onChange={(e) => setTheme(e.target.value)}
|
|
133
|
+
className="u-bg-dark u-text-primary u-border u-rounded-sm u-p-2"
|
|
116
134
|
>
|
|
117
135
|
{availableThemes.map(t => (
|
|
118
136
|
<option key={t.class} value={t.class}>
|
|
@@ -127,16 +145,20 @@ function MyComponent() {
|
|
|
127
145
|
|
|
128
146
|
## Components
|
|
129
147
|
|
|
130
|
-
The library includes over 50+ components
|
|
148
|
+
The library includes over 50+ polymorphic components ensuring absolute layout flexibility out-of-the-box:
|
|
131
149
|
|
|
132
|
-
- **Layout**: Grid, Container, Section
|
|
150
|
+
- **Layout**: Grid, Container, Section, EdgePanel (with baked-in glass UI)
|
|
133
151
|
- **Navigation**: Navbar, Breadcrumb, Pagination
|
|
134
152
|
- **Forms**: Input, Button, Select, Checkbox, Radio
|
|
135
|
-
- **Feedback**: Alert, Modal, Tooltip, Toast
|
|
136
|
-
- **Data Display**: Table, Card, Badge, Avatar
|
|
153
|
+
- **Feedback**: Alert, Modal, Tooltip, Toast, Loader
|
|
154
|
+
- **Data Display**: Table, Card, Badge, Avatar, Masonry Grid
|
|
137
155
|
- **Surfaces**: Accordion, Tabs, Expansion Panel
|
|
138
156
|
|
|
139
|
-
For a complete list, see [
|
|
157
|
+
For a complete list, see our [Components Documentation](./src/components/).
|
|
158
|
+
|
|
159
|
+
## Utility Classes
|
|
160
|
+
|
|
161
|
+
Following our strict utility specification, layout modifications and spacing should be done via `u-*` prefixed classes (e.g., `u-m-4`, `u-flex-column`). DO NOT manually write component-specific `.c-*` CSS overrides. Use the component's API primarily, and supplement with our utility directory safely.
|
|
140
162
|
|
|
141
163
|
## API
|
|
142
164
|
|
|
@@ -147,7 +169,7 @@ For a complete list, see [components documentation](./src/components/).
|
|
|
147
169
|
|
|
148
170
|
## Contributing
|
|
149
171
|
|
|
150
|
-
We welcome
|
|
172
|
+
We welcome structural ideas, architectures, accessibility (A11y) improvements, and premium visual implementations. Please see our [Contributing Guide](CONTRIBUTING.md) for more details.
|
|
151
173
|
|
|
152
174
|
## License
|
|
153
175
|
|