@shohojdhara/atomix 0.1.21 → 0.1.24

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 (115) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/NPM_PUBLISHING.md +221 -0
  3. package/README.md +50 -124
  4. package/css.d.ts +0 -0
  5. package/dist/css/atomix.css +1 -1
  6. package/dist/js/628.js +1 -0
  7. package/dist/js/atomix.react.cjs.js +1 -0
  8. package/dist/js/atomix.react.esm.js +1 -1
  9. package/dist/js/atomix.react.umd.js +1 -1
  10. package/dist/js/chunks/cjs/202.6e2b9e63a406ff01b151.js +1 -0
  11. package/dist/js/chunks/cjs/308.86b2e7ea63bf439e01b4.js +1 -0
  12. package/dist/js/chunks/cjs/54.54733c458fc7ced6d9ba.js +1 -0
  13. package/dist/js/chunks/cjs/619.8e6863cb2985a3a109af.js +1 -0
  14. package/dist/js/chunks/cjs/690.17522d562f7ebe2fa7b4.js +1 -0
  15. package/dist/js/chunks/cjs/894.6edddf7d4bf7ccb11e25.js +1 -0
  16. package/dist/js/chunks/cjs/897.74f4c88710fe45c1b9e3.js +1 -0
  17. package/dist/types/components/Breadcrumb/index.d.ts +2 -3
  18. package/dist/types/components/River/index.d.ts +1 -1
  19. package/dist/types/components/Tab/index.d.ts +2 -2
  20. package/dist/types/components/Toggle/index.d.ts +2 -2
  21. package/dist/types/components/Tooltip/index.d.ts +2 -3
  22. package/index.d.ts +3 -0
  23. package/package.json +38 -86
  24. package/src/components/Accordion/index.ts +0 -0
  25. package/src/components/AtomixLogo/index.ts +0 -0
  26. package/src/components/Button/index.ts +0 -0
  27. package/src/components/Navigation/Menu/Menu.stories.tsx +0 -0
  28. package/src/components/Navigation/Nav/Nav.stories.tsx +0 -0
  29. package/src/components/Navigation/README.md +0 -0
  30. package/src/components/Navigation/SideMenu/SideMenu.README.md +0 -0
  31. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +0 -0
  32. package/src/components/Navigation/SideMenu/SideMenu.tsx +0 -0
  33. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +0 -0
  34. package/src/components/Navigation/SideMenu/SideMenuList.tsx +0 -0
  35. package/src/components/Navigation/scripts/NavbarInteractions.ts +0 -0
  36. package/src/components/Navigation/scripts/SideMenu.ts +0 -0
  37. package/src/components/Navigation/scripts/SideMenuBundle.ts +0 -0
  38. package/src/components/Navigation/scripts/SideMenuInteractions.ts +0 -0
  39. package/src/components/Navigation/scripts/bundle.ts +0 -0
  40. package/src/components/Navigation/scripts/index.ts +0 -0
  41. package/src/components/PhotoViewer/README.md +0 -0
  42. package/src/components/index.ts +0 -0
  43. package/src/docs/atomix-component-guidelines.mdx +0 -0
  44. package/src/index.ts +10 -5
  45. package/src/layouts/index.ts +5 -0
  46. package/src/lib/README.md +0 -0
  47. package/src/lib/composables/useSideMenu.ts +0 -0
  48. package/src/lib/index.ts +6 -6
  49. package/src/styles/01-settings/_settings.animations.scss +7 -2
  50. package/src/styles/01-settings/_settings.box-shadow.scss +9 -5
  51. package/src/styles/01-settings/_settings.button.scss +5 -0
  52. package/src/styles/01-settings/_settings.card.scss +2 -1
  53. package/src/styles/01-settings/_settings.form.scss +3 -0
  54. package/src/styles/01-settings/_settings.navbar.scss +1 -0
  55. package/src/styles/01-settings/_settings.typography.scss +2 -2
  56. package/src/styles/01-settings/_settings.z-layers.scss +19 -1
  57. package/src/styles/css-modules.d.ts +308 -0
  58. package/CONTRIBUTING.md +0 -151
  59. package/NEXTJS_INTEGRATION.md +0 -389
  60. package/babel.config.js +0 -58
  61. package/dist/types/layouts/Grid/Container.d.ts +0 -38
  62. package/dist/types/layouts/Grid/Grid.d.ts +0 -37
  63. package/dist/types/layouts/Grid/GridCol.d.ts +0 -64
  64. package/dist/types/layouts/Grid/Row.d.ts +0 -38
  65. package/dist/types/layouts/Grid/index.d.ts +0 -8
  66. package/dist/types/layouts/MasonryGrid/MasonryGrid.d.ts +0 -71
  67. package/dist/types/layouts/MasonryGrid/MasonryGridItem.d.ts +0 -24
  68. package/dist/types/layouts/MasonryGrid/index.d.ts +0 -4
  69. package/dist/types/layouts/index.d.ts +0 -2
  70. package/dist/types/lib/composables/index.d.ts +0 -30
  71. package/dist/types/lib/composables/useAccordion.d.ts +0 -30
  72. package/dist/types/lib/composables/useBadge.d.ts +0 -10
  73. package/dist/types/lib/composables/useBreadcrumb.d.ts +0 -13
  74. package/dist/types/lib/composables/useButton.d.ts +0 -11
  75. package/dist/types/lib/composables/useCallout.d.ts +0 -11
  76. package/dist/types/lib/composables/useCard.d.ts +0 -8
  77. package/dist/types/lib/composables/useCheckbox.d.ts +0 -11
  78. package/dist/types/lib/composables/useDataTable.d.ts +0 -66
  79. package/dist/types/lib/composables/useDatePicker.d.ts +0 -91
  80. package/dist/types/lib/composables/useDropdown.d.ts +0 -26
  81. package/dist/types/lib/composables/useEdgePanel.d.ts +0 -15
  82. package/dist/types/lib/composables/useForm.d.ts +0 -12
  83. package/dist/types/lib/composables/useFormGroup.d.ts +0 -10
  84. package/dist/types/lib/composables/useHero.d.ts +0 -53
  85. package/dist/types/lib/composables/useInput.d.ts +0 -12
  86. package/dist/types/lib/composables/useMessages.d.ts +0 -38
  87. package/dist/types/lib/composables/useModal.d.ts +0 -40
  88. package/dist/types/lib/composables/useNavbar.d.ts +0 -59
  89. package/dist/types/lib/composables/usePagination.d.ts +0 -13
  90. package/dist/types/lib/composables/usePhotoViewer.d.ts +0 -57
  91. package/dist/types/lib/composables/usePopover.d.ts +0 -30
  92. package/dist/types/lib/composables/useProgress.d.ts +0 -38
  93. package/dist/types/lib/composables/useRadio.d.ts +0 -10
  94. package/dist/types/lib/composables/useRating.d.ts +0 -52
  95. package/dist/types/lib/composables/useRiver.d.ts +0 -107
  96. package/dist/types/lib/composables/useSelect.d.ts +0 -10
  97. package/dist/types/lib/composables/useSideMenu.d.ts +0 -28
  98. package/dist/types/lib/composables/useSpinner.d.ts +0 -10
  99. package/dist/types/lib/composables/useTextarea.d.ts +0 -10
  100. package/dist/types/lib/composables/useTodo.d.ts +0 -18
  101. package/dist/types/lib/constants/components.d.ts +0 -993
  102. package/dist/types/lib/constants/index.d.ts +0 -1
  103. package/dist/types/lib/index.d.ts +0 -6
  104. package/dist/types/lib/types/components.d.ts +0 -2050
  105. package/dist/types/lib/types/index.d.ts +0 -1
  106. package/dist/types/lib/utils/dom.d.ts +0 -26
  107. package/dist/types/lib/utils/icons.d.ts +0 -20
  108. package/dist/types/lib/utils/index.d.ts +0 -3
  109. package/dist/types/lib/utils/useForkRef.d.ts +0 -10
  110. package/examples/nextjs-example.tsx +0 -271
  111. package/implementation-guide.md +0 -505
  112. package/next.config.js +0 -90
  113. package/postcss.config.js +0 -28
  114. package/tsconfig.json +0 -74
  115. package/webpack.config.js +0 -473
package/CHANGELOG.md CHANGED
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.18] - 2025-07-03
11
+
12
+ ## [0.1.16] - 2025-07-02
13
+
10
14
  ### Added
11
15
  - Initial release of Atomix Design System
12
16
  - Core components library with React and vanilla JavaScript support
@@ -0,0 +1,221 @@
1
+ # Atomix NPM Package
2
+
3
+ This document provides information about the Atomix NPM package structure and how to use the source files and configuration files included in the package.
4
+
5
+ ## Package Structure
6
+
7
+ The Atomix package includes the following directories and files:
8
+
9
+ - `dist/` - Compiled and minified distribution files
10
+ - `css/` - CSS stylesheets
11
+ - `js/` - JavaScript bundles (UMD, CommonJS, ESM)
12
+ - `types/` - TypeScript declaration files
13
+ - `src/` - Source code files
14
+ - `components/` - React component source files
15
+ - `lib/` - Utility functions and helpers
16
+ - `styles/` - SCSS source files
17
+ - Configuration files
18
+ - `tsconfig.json` - TypeScript configuration
19
+ - `webpack.config.js` - Webpack configuration
20
+ - `babel.config.js` - Babel configuration
21
+ - `postcss.config.js` - PostCSS configuration
22
+ - Documentation files
23
+ - `README.md` - Main documentation
24
+ - `CHANGELOG.md` - Version history
25
+ - `LICENSE` - License information
26
+
27
+ ## Using the Distribution Files
28
+
29
+ For most use cases, you should use the pre-built distribution files in the `dist/` directory:
30
+
31
+ ```js
32
+ // Using ES modules
33
+ import { Button } from '@shohojdhara/atomix';
34
+
35
+ // Using CommonJS modules
36
+ const { Button } = require('@shohojdhara/atomix');
37
+
38
+ // Import styles
39
+ import '@shohojdhara/atomix/css';
40
+
41
+ // Using React-specific components
42
+ import AtomixReact from '@shohojdhara/atomix/react';
43
+ ```
44
+
45
+ ### TypeScript Support
46
+
47
+ The package includes TypeScript declarations for all components and utilities:
48
+
49
+ ```typescript
50
+ // Import with full TypeScript support
51
+ import { Button, Card, useColorMode } from '@shohojdhara/atomix';
52
+
53
+ // Component props are fully typed
54
+ const MyButton: React.FC = () => (
55
+ <Button
56
+ variant="primary"
57
+ size="md"
58
+ onClick={() => console.log('Clicked!')}
59
+ >
60
+ Click Me
61
+ </Button>
62
+ );
63
+ ```
64
+
65
+ ## Using Source Files
66
+
67
+ If you need to customize the components or build process, you can use the source files directly:
68
+
69
+ ### Components
70
+
71
+ ```js
72
+ // Import a component directly from source
73
+ import Button from '@shohojdhara/atomix/src/components/Button';
74
+ ```
75
+
76
+ ### Styles
77
+
78
+ ```scss
79
+ // Import all styles
80
+ @import '@shohojdhara/atomix/src/styles/index.scss';
81
+
82
+ // Or import specific component styles
83
+ @import '@shohojdhara/atomix/src/components/Button/Button.scss';
84
+ ```
85
+
86
+ ## Using Configuration Files
87
+
88
+ You can extend or reference the included configuration files in your own project:
89
+
90
+ ### TypeScript Configuration
91
+
92
+ ```json
93
+ // In your tsconfig.json
94
+ {
95
+ "extends": "@shohojdhara/atomix/tsconfig.json",
96
+ "compilerOptions": {
97
+ // Your custom options
98
+ }
99
+ }
100
+ ```
101
+
102
+ ### Webpack Configuration
103
+
104
+ ```js
105
+ // In your webpack.config.js
106
+ const atomixWebpackConfig = require('@shohojdhara/atomix/webpack.config.js');
107
+ const { merge } = require('webpack-merge');
108
+
109
+ module.exports = merge(atomixWebpackConfig, {
110
+ // Your custom webpack configuration
111
+ });
112
+ ```
113
+
114
+ ### Babel Configuration
115
+
116
+ ```js
117
+ // In your babel.config.js
118
+ module.exports = {
119
+ presets: [
120
+ ['@shohojdhara/atomix/babel.config.js'],
121
+ // Your custom presets
122
+ ],
123
+ // Your custom plugins
124
+ };
125
+ ```
126
+
127
+ ## Building from Source
128
+
129
+ If you want to build the package from source:
130
+
131
+ ```bash
132
+ # Clone the repository
133
+ git clone https://github.com/liimonx/atomix.git
134
+ cd atomix
135
+
136
+ # Install dependencies
137
+ npm install
138
+
139
+ # Build all components
140
+ npm run build
141
+ ```
142
+
143
+ ## Developer Experience Improvements
144
+
145
+ ### Dynamic Version Handling
146
+
147
+ The package now supports dynamic version handling through environment variables:
148
+
149
+ ```bash
150
+ # Build with a specific version
151
+ VERSION=0.1.1 npm run build
152
+ ```
153
+
154
+ This allows for easier version management during development and CI/CD pipelines.
155
+
156
+ ### Version Management Scripts
157
+
158
+ The package includes convenient scripts for version management:
159
+
160
+ ```bash
161
+ # Bump patch version (0.1.0 -> 0.1.1)
162
+ npm run version:patch
163
+
164
+ # Bump minor version (0.1.0 -> 0.2.0)
165
+ npm run version:minor
166
+
167
+ # Bump major version (0.1.0 -> 1.0.0)
168
+ npm run version:major
169
+ ```
170
+
171
+ ### Component-Level Imports
172
+
173
+ For better tree-shaking, you can now import individual components directly:
174
+
175
+ ```js
176
+ // Import specific components
177
+ import Button from '@shohojdhara/atomix/Button';
178
+ import Card from '@shohojdhara/atomix/Card';
179
+ ```
180
+
181
+ ### Local Testing
182
+
183
+ To test the package locally in another project:
184
+
185
+ ```bash
186
+ # In the Atomix project directory
187
+ npm run link:local
188
+
189
+ # In your test project directory
190
+ npm link @shohojdhara/atomix
191
+ ```
192
+
193
+ See the [example-project.md](./example-project.md) file for a complete example project that demonstrates how to use the package.
194
+
195
+ ### Release Candidate Workflow
196
+
197
+ For testing before final releases, you can publish release candidates:
198
+
199
+ ```bash
200
+ # Publish as a release candidate
201
+ npm run publish:rc
202
+
203
+ # Later, publish as the latest version
204
+ npm run publish:latest
205
+ ```
206
+
207
+ ## Bundle Analysis
208
+
209
+ To analyze the bundle size and composition:
210
+
211
+ ```bash
212
+ # Run bundle analyzer
213
+ npm run analyze:bundle
214
+
215
+ # Check package size limits
216
+ npm run analyze:size
217
+ ```
218
+
219
+ ## Contributing
220
+
221
+ Contributions are welcome! Please see the [README.md](./README.md) file for more information on how to contribute to the project.
package/README.md CHANGED
@@ -1,146 +1,72 @@
1
- # Atomix Design System
2
-
3
- Atomix is a modern component library for Web, React and Next.js applications with full SSR support. It provides a comprehensive set of UI components built with accessibility, performance, and developer experience in mind.
4
-
5
- ## Features
6
-
7
- - 🚀 **Next.js Compatible** - Full SSR support with App Router
8
- - 🎨 **Modern Design** - Clean and contemporary design aesthetic
9
- - 📱 **Responsive** - Mobile-first responsive components
10
- - 🌓 **Theme Support** - Built-in dark/light theme support
11
- - ♿ **Accessible** - WCAG compliant components
12
- - 🛠️ **Customizable** - Extensive customization options
13
- - 📦 **Tree Shakeable** - Import only what you need
14
- - 🔧 **TypeScript** - Full TypeScript support
15
-
16
- ## Webpack 5 & Next.js Compatibility
17
-
18
- Atomix is fully compatible with Webpack 5 and Next.js (including Turbopack). For projects using Webpack 5 or Next.js, you may need to add the following configuration to handle Node.js core modules:
19
-
20
- ```js
21
- // For Next.js (in next.config.js)
22
- const nextConfig = {
23
- webpack: (config, { isServer }) => {
24
- // Handle TypeScript declaration files
25
- config.module.rules.push({
26
- test: /\.d\.ts$/,
27
- use: ['ignore-loader'],
28
- exclude: /node_modules/,
29
- });
30
-
31
- // Ignore TypeScript declaration file warnings
32
- config.ignoreWarnings = [
33
- ...(config.ignoreWarnings || []),
34
- { module: /\.d\.ts$/ }
35
- ];
36
-
37
- if (!isServer) {
38
- config.resolve.fallback = {
39
- ...config.resolve.fallback,
40
- crypto: false, // Provide empty mock for crypto
41
- };
42
- }
43
- return config;
44
- },
45
- transpilePackages: ['@shohojdhara/atomix'],
46
- };
47
-
48
- // For Webpack 5 (in webpack.config.js)
49
- module.exports = {
50
- resolve: {
51
- fallback: {
52
- crypto: false, // Provide empty mock for crypto
53
- },
54
- },
55
- // Fix TypeScript declaration files issues
56
- ignoreWarnings: [
57
- {
58
- module: /\.d\.ts$/,
59
- },
60
- ],
61
- };
62
- ```
63
1
 
64
- ## Installation
2
+ # Atomix
65
3
 
66
- ```bash
67
- npm install @shohojdhara/atomix
68
- # or
69
- yarn add @shohojdhara/atomix
70
- # or
71
- pnpm add @shohojdhara/atomix
72
- ```
4
+ **Atomix** is a modern component library for Web, React and Next.js applications with full SSR support. It provides a comprehensive set of UI components built with accessibility, performance, and developer experience in mind.
73
5
 
74
- ## Usage
6
+ ## ✨ Features
75
7
 
76
- ```tsx
77
- import { Button } from '@shohojdhara/atomix';
78
- import '@shohojdhara/atomix/css'; // Import styles
8
+ - **Comprehensive Component Library**: A rich set of UI components to build modern web applications.
9
+ - **Full SSR Support**: Seamless integration with server-side rendering frameworks like Next.js.
10
+ - **Accessibility First**: Built with accessibility in mind, following WAI-ARIA standards.
11
+ - **High Performance**: Optimized for performance with a small bundle size.
12
+ - **Developer Friendly**: Easy to use with a simple and intuitive API.
13
+ - **Themeable**: Easily customize the look and feel to match your brand.
14
+ - **TypeScript Support**: Written in TypeScript with predictable static types.
79
15
 
80
- function App() {
81
- return (
82
- <Button variant="primary">Click Me</Button>
83
- );
84
- }
85
- ```
86
-
87
- ## CSS Variables
88
-
89
- ```css
90
- :root {
91
- /* Primary Colors */
92
- --atomix-primary-50: #eff6ff;
93
- --atomix-primary-500: #3b82f6;
94
- --atomix-primary-900: #1e3a8a;
95
-
96
- /* Spacing */
97
- --atomix-spacing-xs: 0.25rem;
98
- --atomix-spacing-sm: 0.5rem;
99
- --atomix-spacing-md: 1rem;
100
- }
101
- ```
16
+ ## 📦 Installation
102
17
 
103
- ### Theme Support
18
+ To install Atomix, you can use npm or yarn:
104
19
 
105
- ```tsx
106
- // Set theme programmatically
107
- document.documentElement.setAttribute('data-atomix-theme', 'dark')
20
+ ```bash
21
+ npm install @shohojdhara/atomix
22
+ ```
108
23
 
109
- // Or use CSS
110
- html[data-atomix-theme="dark"] {
111
- /* Dark theme styles */
112
- }
24
+ ```bash
25
+ yarn add @shohojdhara/atomix
113
26
  ```
114
27
 
115
- ## Browser Support
28
+ ## 🚀 Usage
116
29
 
117
- - Chrome (latest)
118
- - Firefox (latest)
119
- - Safari (latest)
120
- - Edge (latest)
30
+ To start using Atomix, import the CSS and the components you need.
121
31
 
122
- ## Documentation
32
+ ### CSS
123
33
 
124
- - 📚 [Full Documentation](https://liimonx.github.io/atomix)
125
- - 🎨 [Storybook](https://liimonx.github.io/atomix/storybook)
126
- - 🚀 [Next.js Integration Guide](./NEXTJS_INTEGRATION.md)
127
- - 📝 [Contributing Guide](./CONTRIBUTING.md)
34
+ Import the CSS file in your main application file:
128
35
 
129
- ## Contributing
36
+ ```javascript
37
+ import '@shohojdhara/atomix/dist/css/atomix.css';
38
+ ```
130
39
 
131
- We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details.
40
+ ### Components
132
41
 
133
- ## License
42
+ Import the components you want to use:
134
43
 
135
- MIT © [liimonx](https://github.com/liimonx)
44
+ ```javascript
45
+ import { Button, Card } from '@shohojdhara/atomix';
46
+
47
+ function App() {
48
+ return (
49
+ <div>
50
+ <Button>Click me</Button>
51
+ <Card>
52
+ <h2>Card Title</h2>
53
+ <p>This is a simple card component.</p>
54
+ </Card>
55
+ </div>
56
+ );
57
+ }
58
+ ```
136
59
 
137
- ## Support
60
+ ## 🤝 Contributing
138
61
 
139
- - [GitHub Issues](https://github.com/liimonx/atomix/issues)
140
- - [Discussions](https://github.com/liimonx/atomix/discussions)
62
+ We welcome contributions from the community. If you'd like to contribute, please follow these steps:
141
63
 
142
- ## Quick Start
64
+ 1. **Fork the repository**: Fork the repository to your own GitHub account.
65
+ 2. **Create a branch**: Create a new branch for your feature or bug fix.
66
+ 3. **Make your changes**: Make your changes and commit them with a clear and concise message.
67
+ 4. **Push your changes**: Push your changes to your forked repository.
68
+ 5. **Create a pull request**: Create a pull request to the main repository.
143
69
 
144
- ### Next.js Integration
70
+ ## 📝 License
145
71
 
146
- ```
72
+ Atomix is licensed under the [Apache-2.0 License](LICENSE).
package/css.d.ts CHANGED
File without changes