@shohojdhara/atomix 0.3.14 → 0.3.15

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 (173) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/build-tools/EXAMPLES.md +372 -0
  3. package/build-tools/README.md +242 -0
  4. package/build-tools/__tests__/error-handler.test.js +230 -0
  5. package/build-tools/__tests__/index.test.js +141 -0
  6. package/build-tools/__tests__/rollup-plugin.test.js +194 -0
  7. package/build-tools/__tests__/utils.test.js +161 -0
  8. package/build-tools/__tests__/vite-plugin.test.js +129 -0
  9. package/build-tools/__tests__/webpack-loader.test.js +190 -0
  10. package/build-tools/error-handler.js +308 -0
  11. package/build-tools/index.d.ts +43 -0
  12. package/build-tools/index.js +88 -0
  13. package/build-tools/package.json +67 -0
  14. package/build-tools/rollup-plugin.js +236 -0
  15. package/build-tools/types.d.ts +163 -0
  16. package/build-tools/utils.js +203 -0
  17. package/build-tools/vite-plugin.js +161 -0
  18. package/build-tools/webpack-loader.js +123 -0
  19. package/dist/atomix.css +203 -90
  20. package/dist/atomix.css.map +1 -1
  21. package/dist/atomix.min.css +3 -3
  22. package/dist/atomix.min.css.map +1 -1
  23. package/dist/build-tools/EXAMPLES.md +372 -0
  24. package/dist/build-tools/README.md +242 -0
  25. package/dist/build-tools/__tests__/error-handler.test.js +230 -0
  26. package/dist/build-tools/__tests__/index.test.js +141 -0
  27. package/dist/build-tools/__tests__/rollup-plugin.test.js +194 -0
  28. package/dist/build-tools/__tests__/utils.test.js +161 -0
  29. package/dist/build-tools/__tests__/vite-plugin.test.js +129 -0
  30. package/dist/build-tools/__tests__/webpack-loader.test.js +190 -0
  31. package/dist/build-tools/error-handler.js +308 -0
  32. package/dist/build-tools/index.d.ts +43 -0
  33. package/dist/build-tools/index.js +88 -0
  34. package/dist/build-tools/package.json +67 -0
  35. package/dist/build-tools/rollup-plugin.js +236 -0
  36. package/dist/build-tools/types.d.ts +163 -0
  37. package/dist/build-tools/utils.js +203 -0
  38. package/dist/build-tools/vite-plugin.js +161 -0
  39. package/dist/build-tools/webpack-loader.js +123 -0
  40. package/dist/charts.d.ts +1 -1
  41. package/dist/charts.js +86 -57
  42. package/dist/charts.js.map +1 -1
  43. package/dist/core.d.ts +1 -1
  44. package/dist/core.js +136 -112
  45. package/dist/core.js.map +1 -1
  46. package/dist/forms.d.ts +2 -5
  47. package/dist/forms.js +140 -128
  48. package/dist/forms.js.map +1 -1
  49. package/dist/heavy.d.ts +1 -1
  50. package/dist/heavy.js +136 -112
  51. package/dist/heavy.js.map +1 -1
  52. package/dist/index.d.ts +9 -61
  53. package/dist/index.esm.js +237 -286
  54. package/dist/index.esm.js.map +1 -1
  55. package/dist/index.js +250 -299
  56. package/dist/index.js.map +1 -1
  57. package/dist/index.min.js +1 -1
  58. package/dist/index.min.js.map +1 -1
  59. package/package.json +23 -8
  60. package/scripts/atomix-cli.js +170 -73
  61. package/scripts/cli/__tests__/README.md +81 -0
  62. package/scripts/cli/__tests__/basic.test.js +115 -0
  63. package/scripts/cli/__tests__/component-generator.test.js +332 -0
  64. package/scripts/cli/__tests__/integration.test.js +327 -0
  65. package/scripts/cli/__tests__/test-setup.js +133 -0
  66. package/scripts/cli/__tests__/token-manager.test.js +251 -0
  67. package/scripts/cli/__tests__/utils.test.js +161 -0
  68. package/scripts/cli/component-generator.js +253 -299
  69. package/scripts/cli/dependency-checker.js +355 -0
  70. package/scripts/cli/interactive-init.js +46 -5
  71. package/scripts/cli/template-manager.js +0 -2
  72. package/scripts/cli/templates/common-templates.js +636 -0
  73. package/scripts/cli/templates/composable-templates.js +148 -126
  74. package/scripts/cli/templates/index.js +23 -16
  75. package/scripts/cli/templates/project-templates.js +151 -23
  76. package/scripts/cli/templates/react-templates.js +280 -210
  77. package/scripts/cli/templates/scss-templates.js +90 -91
  78. package/scripts/cli/templates/testing-templates.js +206 -27
  79. package/scripts/cli/templates/testing-utils.js +278 -0
  80. package/scripts/cli/templates/types-templates.js +70 -56
  81. package/scripts/cli/theme-bridge.js +8 -2
  82. package/scripts/cli/token-manager.js +318 -206
  83. package/scripts/cli/utils.js +0 -1
  84. package/src/components/Accordion/Accordion.stories.tsx +369 -870
  85. package/src/components/AtomixGlass/AtomixGlass.tsx +80 -39
  86. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +103 -81
  87. package/src/components/AtomixGlass/__snapshots__/AtomixGlass.test.tsx.snap +8 -7
  88. package/src/components/AtomixGlass/glass-utils.ts +2 -2
  89. package/src/components/AtomixGlass/shader-utils.ts +5 -0
  90. package/src/components/AtomixGlass/stories/Customization.stories.tsx +131 -0
  91. package/src/components/AtomixGlass/stories/Examples.stories.tsx +2957 -2853
  92. package/src/components/AtomixGlass/stories/Modes.stories.tsx +1 -1
  93. package/src/components/AtomixGlass/stories/Overview.stories.tsx +348 -0
  94. package/src/components/AtomixGlass/stories/Performance.stories.tsx +103 -0
  95. package/src/components/AtomixGlass/stories/Playground.stories.tsx +50 -35
  96. package/src/components/AtomixGlass/stories/{ShaderVariants.stories.tsx → Shaders.stories.tsx} +1 -1
  97. package/src/components/AtomixGlass/stories/shared-components.tsx +90 -190
  98. package/src/components/Avatar/Avatar.stories.tsx +213 -1
  99. package/src/components/Badge/Badge.stories.tsx +121 -362
  100. package/src/components/Block/Block.stories.tsx +21 -12
  101. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +141 -23
  102. package/src/components/Button/Button.stories.tsx +463 -1126
  103. package/src/components/Button/Button.test.tsx +107 -0
  104. package/src/components/Button/Button.tsx +46 -50
  105. package/src/components/Button/ButtonGroup.stories.tsx +373 -217
  106. package/src/components/Callout/Callout.stories.tsx +289 -634
  107. package/src/components/Card/Card.stories.tsx +248 -68
  108. package/src/components/Chart/Chart.stories.tsx +150 -8
  109. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +151 -69
  110. package/src/components/Countdown/Countdown.stories.tsx +115 -8
  111. package/src/components/DataTable/DataTable.stories.tsx +346 -146
  112. package/src/components/DatePicker/DatePicker.stories.tsx +325 -1066
  113. package/src/components/Dropdown/Dropdown.stories.tsx +153 -33
  114. package/src/components/EdgePanel/EdgePanel.stories.tsx +230 -21
  115. package/src/components/Footer/Footer.stories.tsx +392 -328
  116. package/src/components/Form/Checkbox.stories.tsx +140 -6
  117. package/src/components/Form/Checkbox.test.tsx +63 -0
  118. package/src/components/Form/Checkbox.tsx +87 -51
  119. package/src/components/Form/Form.stories.tsx +119 -20
  120. package/src/components/Form/FormGroup.stories.tsx +127 -4
  121. package/src/components/Form/Radio.stories.tsx +140 -5
  122. package/src/components/Form/Select.stories.tsx +140 -8
  123. package/src/components/Form/Textarea.stories.tsx +149 -6
  124. package/src/components/Hero/Hero.stories.tsx +333 -32
  125. package/src/components/List/List.stories.tsx +141 -3
  126. package/src/components/Modal/Modal.stories.tsx +181 -42
  127. package/src/components/Popover/Popover.stories.tsx +448 -98
  128. package/src/components/Progress/Progress.stories.tsx +167 -5
  129. package/src/components/River/River.stories.tsx +1 -1
  130. package/src/components/SectionIntro/SectionIntro.stories.tsx +240 -48
  131. package/src/components/Spinner/Spinner.stories.tsx +102 -8
  132. package/src/components/Steps/Steps.stories.tsx +172 -43
  133. package/src/components/Tabs/Tabs.stories.tsx +136 -10
  134. package/src/components/Testimonial/Testimonial.stories.tsx +120 -3
  135. package/src/components/Todo/Todo.stories.tsx +198 -9
  136. package/src/components/Toggle/Toggle.stories.tsx +126 -39
  137. package/src/components/Tooltip/Tooltip.stories.tsx +194 -104
  138. package/src/components/Upload/Upload.stories.tsx +113 -24
  139. package/src/lib/README.md +2 -2
  140. package/src/lib/__tests__/theme-tools.test.ts +193 -0
  141. package/src/lib/composables/index.ts +2 -2
  142. package/src/lib/composables/useAtomixGlass.ts +28 -56
  143. package/src/lib/composables/useChartExport.ts +2 -7
  144. package/src/lib/composables/useDataTable.ts +46 -29
  145. package/src/lib/constants/components.ts +9 -32
  146. package/src/lib/theme/devtools/CLI.ts +1 -1
  147. package/src/lib/types/components.ts +1 -1
  148. package/src/lib/utils/__tests__/csv.test.ts +45 -0
  149. package/src/lib/utils/csv.ts +17 -0
  150. package/src/lib/utils/dataTableExport.ts +1 -10
  151. package/src/styles/01-settings/_index.scss +2 -1
  152. package/src/styles/01-settings/_settings.accordion.scss +28 -7
  153. package/src/styles/01-settings/_settings.colors.scss +11 -11
  154. package/src/styles/01-settings/_settings.typography.scss +5 -5
  155. package/src/styles/02-tools/_tools.utility-api.scss +14 -0
  156. package/src/styles/06-components/_components.accordion.scss +56 -14
  157. package/src/styles/06-components/_components.checkbox.scss +23 -17
  158. package/src/styles/99-utilities/_index.scss +2 -0
  159. package/src/styles/99-utilities/_utilities.scss +3 -1
  160. package/src/styles/99-utilities/_utilities.text-gradient.scss +45 -0
  161. package/themes/dark-complementary/README.md +98 -0
  162. package/themes/dark-complementary/index.scss +158 -0
  163. package/themes/default-light/README.md +81 -0
  164. package/themes/default-light/index.scss +154 -0
  165. package/themes/high-contrast/README.md +105 -0
  166. package/themes/high-contrast/index.scss +172 -0
  167. package/themes/test-theme/README.md +38 -0
  168. package/themes/test-theme/index.scss +47 -0
  169. package/scripts/cli/templates-original-backup.js +0 -1655
  170. package/scripts/cli/templates_backup.js +0 -684
  171. package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +0 -1438
  172. package/src/lib/composables/useButton.ts +0 -93
  173. package/src/lib/composables/useCheckbox.ts +0 -70
@@ -1,4 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
+ import { fn } from '@storybook/test';
2
3
  import { Textarea } from './Textarea';
3
4
  import { SIZES, THEME_COLORS } from '../../lib/constants/components';
4
5
 
@@ -9,8 +10,74 @@ const meta = {
9
10
  layout: 'centered',
10
11
  docs: {
11
12
  description: {
12
- component:
13
- 'The Textarea component provides a multi-line text input field for longer content. It supports various sizes, validation states, and can be customized with different variants. Textareas are ideal for comments, descriptions, or any content requiring multiple lines of input.',
13
+ component: `
14
+ # Textarea
15
+
16
+ ## Overview
17
+
18
+ Textarea component provides a multi-line text input field for longer content. It supports various sizes, validation states, and can be customized with different variants. Textareas are ideal for comments, descriptions, or any content requiring multiple lines of input.
19
+
20
+ ## Features
21
+
22
+ - Multi-line text input
23
+ - Various size options
24
+ - Color variants
25
+ - Validation states (valid/invalid)
26
+ - Placeholder support
27
+ - Disabled state
28
+ - Glass morphism effect
29
+ - Accessible design
30
+ - Responsive behavior
31
+
32
+ ## Accessibility
33
+
34
+ - Keyboard support: Navigate and input text with keyboard
35
+ - Screen reader: Label and content announced properly
36
+ - ARIA support: Proper roles and properties for textarea components
37
+ - Focus management: Visible focus indicators maintained
38
+
39
+ ## Usage Examples
40
+
41
+ ### Basic Usage
42
+
43
+ \`\`\`tsx
44
+ <Textarea
45
+ placeholder="Enter your text here"
46
+ rows={4}
47
+ onChange={handleChange}
48
+ />
49
+ \`\`\`
50
+
51
+ ### With Value
52
+
53
+ \`\`\`tsx
54
+ <Textarea
55
+ value={textValue}
56
+ placeholder="Enter your text here"
57
+ rows={6}
58
+ onChange={handleChange}
59
+ />
60
+ \`\`\`
61
+
62
+ ## API Reference
63
+
64
+ ### Props
65
+
66
+ | Prop | Type | Default | Description |
67
+ | ---- | ---- | ------- | ----------- |
68
+ | value | string | - | Textarea value |
69
+ | placeholder | string | - | Placeholder text |
70
+ | rows | number | 2 | Number of visible text lines |
71
+ | cols | number | - | Number of average character widths |
72
+ | size | 'sm' \\| 'md' \\| 'lg' | 'md' | Size of the textarea |
73
+ | variant | ThemeColor | 'secondary' | Color variant of the textarea |
74
+ | disabled | boolean | false | Whether the textarea is disabled |
75
+ | invalid | boolean | false | Whether the textarea is invalid |
76
+ | valid | boolean | false | Whether the textarea is valid |
77
+ | glass | boolean | false | Enable glass morphism effect |
78
+ | defaultValue | string | - | Initial value for uncontrolled textarea |
79
+ | onChange | (event: ChangeEvent) => void | - | Callback when textarea value changes |
80
+ `,
14
81
  },
15
82
  },
16
83
  },
@@ -19,48 +86,96 @@ const meta = {
19
86
  value: {
20
87
  control: 'text',
21
88
  description: 'Textarea value',
89
+ table: {
90
+ type: { summary: 'string' },
91
+ defaultValue: { summary: '-' },
92
+ },
22
93
  },
23
94
  placeholder: {
24
95
  control: 'text',
25
96
  description: 'Placeholder text',
97
+ table: {
98
+ type: { summary: 'string' },
99
+ defaultValue: { summary: '-' },
100
+ },
26
101
  },
27
102
  rows: {
28
103
  control: 'number',
29
104
  description: 'Number of visible text lines',
105
+ table: {
106
+ type: { summary: 'number' },
107
+ defaultValue: { summary: 2 },
108
+ },
30
109
  },
31
110
  cols: {
32
111
  control: 'number',
33
112
  description: 'Number of average character widths',
113
+ table: {
114
+ type: { summary: 'number' },
115
+ defaultValue: { summary: '-' },
116
+ },
34
117
  },
35
118
  size: {
36
119
  control: { type: 'select' },
37
120
  options: SIZES,
38
121
  description: 'Size of the textarea',
122
+ table: {
123
+ type: { summary: '"sm" | "md" | "lg"' },
124
+ defaultValue: { summary: 'md' },
125
+ },
39
126
  },
40
127
  variant: {
41
128
  control: { type: 'select' },
42
129
  options: THEME_COLORS,
43
130
  description: 'Color variant of the textarea',
131
+ table: {
132
+ type: { summary: 'ThemeColor' },
133
+ defaultValue: { summary: 'secondary' },
134
+ },
44
135
  },
45
136
  disabled: {
46
137
  control: 'boolean',
47
138
  description: 'Whether the textarea is disabled',
139
+ table: {
140
+ type: { summary: 'boolean' },
141
+ defaultValue: { summary: false },
142
+ },
48
143
  },
49
144
  invalid: {
50
145
  control: 'boolean',
51
146
  description: 'Whether the textarea is invalid',
147
+ table: {
148
+ type: { summary: 'boolean' },
149
+ defaultValue: { summary: false },
150
+ },
52
151
  },
53
152
  valid: {
54
153
  control: 'boolean',
55
154
  description: 'Whether the textarea is valid',
155
+ table: {
156
+ type: { summary: 'boolean' },
157
+ defaultValue: { summary: false },
158
+ },
56
159
  },
57
160
  glass: {
58
161
  control: 'boolean',
59
162
  description: 'Enable glass morphism effect',
163
+ table: {
164
+ type: { summary: 'boolean' },
165
+ defaultValue: { summary: false },
166
+ },
60
167
  },
61
168
  defaultValue: {
62
169
  control: 'text',
63
170
  description: 'Initial value for uncontrolled textarea',
171
+ table: {
172
+ type: { summary: 'string' },
173
+ defaultValue: { summary: '-' },
174
+ },
175
+ },
176
+ onChange: {
177
+ action: 'changed',
178
+ description: 'Callback when textarea value changes',
64
179
  },
65
180
  },
66
181
  } satisfies Meta<typeof Textarea>;
@@ -69,11 +184,18 @@ export default meta;
69
184
  type Story = StoryObj<typeof meta>;
70
185
 
71
186
  // Basic textarea
72
- export const Basic: Story = {
187
+ export const BasicUsage: Story = {
73
188
  args: {
74
189
  placeholder: 'Enter text here',
75
190
  rows: 4,
76
191
  },
192
+ parameters: {
193
+ docs: {
194
+ description: {
195
+ story: 'Basic textarea with placeholder and 4 rows.',
196
+ },
197
+ },
198
+ },
77
199
  };
78
200
 
79
201
  /**
@@ -85,6 +207,13 @@ export const Uncontrolled: Story = {
85
207
  placeholder: 'Type something...',
86
208
  rows: 4,
87
209
  },
210
+ parameters: {
211
+ docs: {
212
+ description: {
213
+ story: 'Uncontrolled textarea with initial value.',
214
+ },
215
+ },
216
+ },
88
217
  };
89
218
 
90
219
  // With value
@@ -93,17 +222,31 @@ export const WithValue: Story = {
93
222
  value: 'This is some sample text in the textarea.',
94
223
  rows: 4,
95
224
  },
225
+ parameters: {
226
+ docs: {
227
+ description: {
228
+ story: 'Textarea with pre-filled value.',
229
+ },
230
+ },
231
+ },
96
232
  };
97
233
 
98
234
  // Textarea sizes
99
235
  export const Sizes: Story = {
100
236
  render: () => (
101
237
  <div className="u-flex u-flex-column u-gap-3" style={{ width: '300px' }}>
102
- <Textarea size="sm" placeholder="Small textarea" rows={3} />
103
- <Textarea size="md" placeholder="Medium textarea (default)" rows={3} />
104
- <Textarea size="lg" placeholder="Large textarea" rows={3} />
238
+ <Textarea placeholder="Small textarea" size="sm" rows={2} />
239
+ <Textarea placeholder="Medium textarea" size="md" rows={3} />
240
+ <Textarea placeholder="Large textarea" size="lg" rows={4} />
105
241
  </div>
106
242
  ),
243
+ parameters: {
244
+ docs: {
245
+ description: {
246
+ story: 'Textarea in all available sizes.',
247
+ },
248
+ },
249
+ },
107
250
  };
108
251
 
109
252
  // Textarea rows