tharaday 0.1.1

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 (247) hide show
  1. package/.gitignore +30 -0
  2. package/.prettierrc.json +10 -0
  3. package/.storybook/main.ts +8 -0
  4. package/.storybook/preview.ts +50 -0
  5. package/.versionrc.json +6 -0
  6. package/README.md +73 -0
  7. package/dist/components/Accordion/Accordion.d.ts +2 -0
  8. package/dist/components/Accordion/Accordion.stories.d.ts +14 -0
  9. package/dist/components/Accordion/Accordion.types.d.ts +18 -0
  10. package/dist/components/Avatar/Avatar.d.ts +2 -0
  11. package/dist/components/Avatar/Avatar.stories.d.ts +14 -0
  12. package/dist/components/Avatar/Avatar.types.d.ts +10 -0
  13. package/dist/components/Badge/Badge.d.ts +2 -0
  14. package/dist/components/Badge/Badge.stories.d.ts +33 -0
  15. package/dist/components/Badge/Badge.types.d.ts +9 -0
  16. package/dist/components/Box/Box.d.ts +2 -0
  17. package/dist/components/Box/Box.stories.d.ts +38 -0
  18. package/dist/components/Box/Box.types.d.ts +49 -0
  19. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +3 -0
  20. package/dist/components/Breadcrumbs/Breadcrumbs.stories.d.ts +13 -0
  21. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +11 -0
  22. package/dist/components/Button/Button.d.ts +2 -0
  23. package/dist/components/Button/Button.stories.d.ts +22 -0
  24. package/dist/components/Button/Button.types.d.ts +12 -0
  25. package/dist/components/Card/Card.d.ts +5 -0
  26. package/dist/components/Card/Card.stories.d.ts +27 -0
  27. package/dist/components/Card/Card.types.d.ts +15 -0
  28. package/dist/components/Checkbox/Checkbox.d.ts +2 -0
  29. package/dist/components/Checkbox/Checkbox.stories.d.ts +17 -0
  30. package/dist/components/Checkbox/Checkbox.types.d.ts +6 -0
  31. package/dist/components/Dropdown/Dropdown.d.ts +2 -0
  32. package/dist/components/Dropdown/Dropdown.stories.d.ts +12 -0
  33. package/dist/components/Dropdown/Dropdown.types.d.ts +24 -0
  34. package/dist/components/Header/Header.d.ts +2 -0
  35. package/dist/components/Header/Header.stories.d.ts +18 -0
  36. package/dist/components/Header/Header.types.d.ts +14 -0
  37. package/dist/components/Input/Input.d.ts +2 -0
  38. package/dist/components/Input/Input.stories.d.ts +29 -0
  39. package/dist/components/Input/Input.types.d.ts +8 -0
  40. package/dist/components/Loader/Loader.d.ts +2 -0
  41. package/dist/components/Loader/Loader.stories.d.ts +25 -0
  42. package/dist/components/Loader/Loader.types.d.ts +8 -0
  43. package/dist/components/Modal/Modal.d.ts +2 -0
  44. package/dist/components/Modal/Modal.stories.d.ts +22 -0
  45. package/dist/components/Modal/Modal.types.d.ts +12 -0
  46. package/dist/components/NavBar/NavBar.d.ts +6 -0
  47. package/dist/components/NavBar/NavBar.stories.d.ts +8 -0
  48. package/dist/components/NavBar/NavBar.types.d.ts +34 -0
  49. package/dist/components/Notification/Notification.d.ts +2 -0
  50. package/dist/components/Notification/Notification.stories.d.ts +26 -0
  51. package/dist/components/Notification/Notification.types.d.ts +8 -0
  52. package/dist/components/Pagination/Pagination.d.ts +2 -0
  53. package/dist/components/Pagination/Pagination.stories.d.ts +21 -0
  54. package/dist/components/Pagination/Pagination.types.d.ts +34 -0
  55. package/dist/components/ProgressBar/ProgressBar.d.ts +2 -0
  56. package/dist/components/ProgressBar/ProgressBar.stories.d.ts +32 -0
  57. package/dist/components/ProgressBar/ProgressBar.types.d.ts +12 -0
  58. package/dist/components/RadioButton/RadioButton.d.ts +2 -0
  59. package/dist/components/RadioButton/RadioButton.stories.d.ts +30 -0
  60. package/dist/components/RadioButton/RadioButton.types.d.ts +8 -0
  61. package/dist/components/Select/Select.d.ts +2 -0
  62. package/dist/components/Select/Select.stories.d.ts +29 -0
  63. package/dist/components/Select/Select.types.d.ts +15 -0
  64. package/dist/components/Skeleton/Skeleton.d.ts +2 -0
  65. package/dist/components/Skeleton/Skeleton.stories.d.ts +15 -0
  66. package/dist/components/Skeleton/Skeleton.types.d.ts +8 -0
  67. package/dist/components/Stepper/Step.d.ts +2 -0
  68. package/dist/components/Stepper/Step.types.d.ts +17 -0
  69. package/dist/components/Stepper/Stepper.d.ts +2 -0
  70. package/dist/components/Stepper/Stepper.stories.d.ts +15 -0
  71. package/dist/components/Stepper/Stepper.types.d.ts +13 -0
  72. package/dist/components/Stepper/stepper.utils.d.ts +3 -0
  73. package/dist/components/Switch/Switch.d.ts +2 -0
  74. package/dist/components/Switch/Switch.stories.d.ts +16 -0
  75. package/dist/components/Switch/Switch.types.d.ts +5 -0
  76. package/dist/components/Table/Table.d.ts +8 -0
  77. package/dist/components/Table/Table.stories.d.ts +27 -0
  78. package/dist/components/Table/Table.types.d.ts +17 -0
  79. package/dist/components/Tabs/Tabs.d.ts +2 -0
  80. package/dist/components/Tabs/Tabs.stories.d.ts +14 -0
  81. package/dist/components/Tabs/Tabs.types.d.ts +16 -0
  82. package/dist/components/Text/Text.d.ts +2 -0
  83. package/dist/components/Text/Text.stories.d.ts +35 -0
  84. package/dist/components/Text/Text.types.d.ts +21 -0
  85. package/dist/components/Textarea/Textarea.d.ts +2 -0
  86. package/dist/components/Textarea/Textarea.stories.d.ts +29 -0
  87. package/dist/components/Textarea/Textarea.types.d.ts +9 -0
  88. package/dist/components/Tooltip/Tooltip.d.ts +2 -0
  89. package/dist/components/Tooltip/Tooltip.stories.d.ts +10 -0
  90. package/dist/components/Tooltip/Tooltip.types.d.ts +12 -0
  91. package/dist/ds.css +1 -0
  92. package/dist/ds.js +1930 -0
  93. package/dist/ds.umd.cjs +1 -0
  94. package/dist/index.d.ts +63 -0
  95. package/dist/layouts/AppLayout/AppLayout.d.ts +8 -0
  96. package/dist/layouts/AppLayout/AppLayout.stories.d.ts +19 -0
  97. package/dist/layouts/AppLayout/AppLayout.types.d.ts +50 -0
  98. package/dist/layouts/AuthLayout/AuthLayout.d.ts +2 -0
  99. package/dist/layouts/AuthLayout/AuthLayout.stories.d.ts +12 -0
  100. package/dist/layouts/AuthLayout/AuthLayout.types.d.ts +7 -0
  101. package/dist/layouts/DashboardLayout/DashboardLayout.d.ts +2 -0
  102. package/dist/layouts/DashboardLayout/DashboardLayout.stories.d.ts +17 -0
  103. package/dist/layouts/DashboardLayout/DashboardLayout.types.d.ts +15 -0
  104. package/dist/layouts/SettingsLayout/SettingsLayout.d.ts +2 -0
  105. package/dist/layouts/SettingsLayout/SettingsLayout.stories.d.ts +17 -0
  106. package/dist/layouts/SettingsLayout/SettingsLayout.types.d.ts +14 -0
  107. package/eslint.config.js +45 -0
  108. package/package.json +100 -0
  109. package/src/components/Accordion/Accordion.module.css +158 -0
  110. package/src/components/Accordion/Accordion.stories.tsx +133 -0
  111. package/src/components/Accordion/Accordion.tsx +68 -0
  112. package/src/components/Accordion/Accordion.types.ts +21 -0
  113. package/src/components/Avatar/Avatar.module.css +58 -0
  114. package/src/components/Avatar/Avatar.stories.tsx +41 -0
  115. package/src/components/Avatar/Avatar.tsx +64 -0
  116. package/src/components/Avatar/Avatar.types.ts +12 -0
  117. package/src/components/Badge/Badge.module.css +98 -0
  118. package/src/components/Badge/Badge.stories.tsx +108 -0
  119. package/src/components/Badge/Badge.tsx +22 -0
  120. package/src/components/Badge/Badge.types.ts +11 -0
  121. package/src/components/Box/Box.module.css +638 -0
  122. package/src/components/Box/Box.stories.tsx +109 -0
  123. package/src/components/Box/Box.tsx +95 -0
  124. package/src/components/Box/Box.types.ts +65 -0
  125. package/src/components/Breadcrumbs/Breadcrumbs.module.css +41 -0
  126. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +40 -0
  127. package/src/components/Breadcrumbs/Breadcrumbs.tsx +54 -0
  128. package/src/components/Breadcrumbs/Breadcrumbs.types.ts +13 -0
  129. package/src/components/Button/Button.module.css +247 -0
  130. package/src/components/Button/Button.stories.tsx +93 -0
  131. package/src/components/Button/Button.tsx +31 -0
  132. package/src/components/Button/Button.types.ts +14 -0
  133. package/src/components/Card/Card.module.css +112 -0
  134. package/src/components/Card/Card.stories.tsx +86 -0
  135. package/src/components/Card/Card.tsx +70 -0
  136. package/src/components/Card/Card.types.ts +20 -0
  137. package/src/components/Checkbox/Checkbox.module.css +88 -0
  138. package/src/components/Checkbox/Checkbox.stories.tsx +65 -0
  139. package/src/components/Checkbox/Checkbox.tsx +57 -0
  140. package/src/components/Checkbox/Checkbox.types.ts +7 -0
  141. package/src/components/Dropdown/Dropdown.module.css +140 -0
  142. package/src/components/Dropdown/Dropdown.stories.tsx +86 -0
  143. package/src/components/Dropdown/Dropdown.tsx +251 -0
  144. package/src/components/Dropdown/Dropdown.types.ts +27 -0
  145. package/src/components/Header/Header.module.css +38 -0
  146. package/src/components/Header/Header.stories.tsx +53 -0
  147. package/src/components/Header/Header.tsx +49 -0
  148. package/src/components/Header/Header.types.ts +15 -0
  149. package/src/components/Input/Input.module.css +87 -0
  150. package/src/components/Input/Input.stories.tsx +101 -0
  151. package/src/components/Input/Input.tsx +41 -0
  152. package/src/components/Input/Input.types.ts +10 -0
  153. package/src/components/Loader/Loader.module.css +49 -0
  154. package/src/components/Loader/Loader.stories.tsx +75 -0
  155. package/src/components/Loader/Loader.tsx +15 -0
  156. package/src/components/Loader/Loader.types.ts +9 -0
  157. package/src/components/Modal/Modal.module.css +88 -0
  158. package/src/components/Modal/Modal.stories.tsx +94 -0
  159. package/src/components/Modal/Modal.tsx +115 -0
  160. package/src/components/Modal/Modal.types.ts +13 -0
  161. package/src/components/NavBar/NavBar.module.css +77 -0
  162. package/src/components/NavBar/NavBar.stories.tsx +55 -0
  163. package/src/components/NavBar/NavBar.tsx +50 -0
  164. package/src/components/NavBar/NavBar.types.ts +36 -0
  165. package/src/components/Notification/Notification.module.css +72 -0
  166. package/src/components/Notification/Notification.stories.tsx +81 -0
  167. package/src/components/Notification/Notification.tsx +34 -0
  168. package/src/components/Notification/Notification.types.ts +10 -0
  169. package/src/components/Pagination/Pagination.module.css +31 -0
  170. package/src/components/Pagination/Pagination.stories.tsx +128 -0
  171. package/src/components/Pagination/Pagination.tsx +245 -0
  172. package/src/components/Pagination/Pagination.types.ts +37 -0
  173. package/src/components/ProgressBar/ProgressBar.module.css +67 -0
  174. package/src/components/ProgressBar/ProgressBar.stories.tsx +91 -0
  175. package/src/components/ProgressBar/ProgressBar.tsx +49 -0
  176. package/src/components/ProgressBar/ProgressBar.types.ts +13 -0
  177. package/src/components/RadioButton/RadioButton.module.css +162 -0
  178. package/src/components/RadioButton/RadioButton.stories.tsx +114 -0
  179. package/src/components/RadioButton/RadioButton.tsx +43 -0
  180. package/src/components/RadioButton/RadioButton.types.ts +10 -0
  181. package/src/components/Select/Select.module.css +88 -0
  182. package/src/components/Select/Select.stories.tsx +99 -0
  183. package/src/components/Select/Select.tsx +51 -0
  184. package/src/components/Select/Select.types.ts +18 -0
  185. package/src/components/Skeleton/Skeleton.module.css +71 -0
  186. package/src/components/Skeleton/Skeleton.stories.tsx +54 -0
  187. package/src/components/Skeleton/Skeleton.tsx +32 -0
  188. package/src/components/Skeleton/Skeleton.types.ts +10 -0
  189. package/src/components/Stepper/Step.module.css +162 -0
  190. package/src/components/Stepper/Step.tsx +62 -0
  191. package/src/components/Stepper/Step.types.ts +19 -0
  192. package/src/components/Stepper/Stepper.module.css +39 -0
  193. package/src/components/Stepper/Stepper.stories.tsx +88 -0
  194. package/src/components/Stepper/Stepper.tsx +47 -0
  195. package/src/components/Stepper/Stepper.types.ts +16 -0
  196. package/src/components/Stepper/stepper.utils.ts +41 -0
  197. package/src/components/Switch/Switch.module.css +74 -0
  198. package/src/components/Switch/Switch.stories.tsx +56 -0
  199. package/src/components/Switch/Switch.tsx +36 -0
  200. package/src/components/Switch/Switch.types.ts +6 -0
  201. package/src/components/Table/Table.module.css +78 -0
  202. package/src/components/Table/Table.stories.tsx +124 -0
  203. package/src/components/Table/Table.tsx +75 -0
  204. package/src/components/Table/Table.types.ts +29 -0
  205. package/src/components/Tabs/Tabs.module.css +74 -0
  206. package/src/components/Tabs/Tabs.stories.tsx +48 -0
  207. package/src/components/Tabs/Tabs.tsx +113 -0
  208. package/src/components/Tabs/Tabs.types.ts +18 -0
  209. package/src/components/Text/Text.module.css +126 -0
  210. package/src/components/Text/Text.stories.tsx +128 -0
  211. package/src/components/Text/Text.tsx +50 -0
  212. package/src/components/Text/Text.types.ts +43 -0
  213. package/src/components/Textarea/Textarea.module.css +82 -0
  214. package/src/components/Textarea/Textarea.stories.tsx +99 -0
  215. package/src/components/Textarea/Textarea.tsx +43 -0
  216. package/src/components/Textarea/Textarea.types.ts +11 -0
  217. package/src/components/Tooltip/Tooltip.module.css +125 -0
  218. package/src/components/Tooltip/Tooltip.stories.tsx +68 -0
  219. package/src/components/Tooltip/Tooltip.tsx +87 -0
  220. package/src/components/Tooltip/Tooltip.types.ts +14 -0
  221. package/src/index.ts +132 -0
  222. package/src/layouts/AppLayout/AppLayout.module.css +17 -0
  223. package/src/layouts/AppLayout/AppLayout.stories.tsx +124 -0
  224. package/src/layouts/AppLayout/AppLayout.tsx +46 -0
  225. package/src/layouts/AppLayout/AppLayout.types.ts +50 -0
  226. package/src/layouts/AuthLayout/AuthLayout.module.css +49 -0
  227. package/src/layouts/AuthLayout/AuthLayout.stories.tsx +109 -0
  228. package/src/layouts/AuthLayout/AuthLayout.tsx +27 -0
  229. package/src/layouts/AuthLayout/AuthLayout.types.tsx +8 -0
  230. package/src/layouts/DashboardLayout/DashboardLayout.module.css +37 -0
  231. package/src/layouts/DashboardLayout/DashboardLayout.stories.tsx +144 -0
  232. package/src/layouts/DashboardLayout/DashboardLayout.tsx +41 -0
  233. package/src/layouts/DashboardLayout/DashboardLayout.types.tsx +14 -0
  234. package/src/layouts/SettingsLayout/SettingsLayout.module.css +39 -0
  235. package/src/layouts/SettingsLayout/SettingsLayout.stories.tsx +103 -0
  236. package/src/layouts/SettingsLayout/SettingsLayout.tsx +37 -0
  237. package/src/layouts/SettingsLayout/SettingsLayout.types.tsx +13 -0
  238. package/src/styles/ds.css +12 -0
  239. package/src/styles/semantic.css +56 -0
  240. package/src/styles/themes/dark.css +58 -0
  241. package/src/styles/themes/light.css +58 -0
  242. package/src/styles/themes/retro.css +58 -0
  243. package/src/styles/tokens.css +138 -0
  244. package/tsconfig.app.json +28 -0
  245. package/tsconfig.json +7 -0
  246. package/tsconfig.node.json +26 -0
  247. package/vite.config.ts +33 -0
@@ -0,0 +1,638 @@
1
+ .box {
2
+ box-sizing: border-box;
3
+ }
4
+
5
+ .fullWidth {
6
+ width: 100%;
7
+ }
8
+
9
+ /* Display */
10
+ .display-block {
11
+ display: block;
12
+ }
13
+ .display-flex {
14
+ display: flex;
15
+ }
16
+ .display-inline-flex {
17
+ display: inline-flex;
18
+ }
19
+ .display-grid {
20
+ display: grid;
21
+ }
22
+ .display-inline-block {
23
+ display: inline-block;
24
+ }
25
+ .display-none {
26
+ display: none;
27
+ }
28
+
29
+ /* Flex Direction */
30
+ .flexDirection-row {
31
+ flex-direction: row;
32
+ }
33
+ .flexDirection-column {
34
+ flex-direction: column;
35
+ }
36
+ .flexDirection-row-reverse {
37
+ flex-direction: row-reverse;
38
+ }
39
+ .flexDirection-column-reverse {
40
+ flex-direction: column-reverse;
41
+ }
42
+
43
+ /* Align Items */
44
+ .alignItems-stretch {
45
+ align-items: stretch;
46
+ }
47
+ .alignItems-flex-start {
48
+ align-items: flex-start;
49
+ }
50
+ .alignItems-center {
51
+ align-items: center;
52
+ }
53
+ .alignItems-flex-end {
54
+ align-items: flex-end;
55
+ }
56
+ .alignItems-baseline {
57
+ align-items: baseline;
58
+ }
59
+
60
+ /* Justify Content */
61
+ .justifyContent-flex-start {
62
+ justify-content: flex-start;
63
+ }
64
+ .justifyContent-center {
65
+ justify-content: center;
66
+ }
67
+ .justifyContent-flex-end {
68
+ justify-content: flex-end;
69
+ }
70
+ .justifyContent-space-between {
71
+ justify-content: space-between;
72
+ }
73
+ .justifyContent-space-around {
74
+ justify-content: space-around;
75
+ }
76
+ .justifyContent-space-evenly {
77
+ justify-content: space-evenly;
78
+ }
79
+
80
+ /* Flex Wrap */
81
+ .flexWrap-nowrap {
82
+ flex-wrap: nowrap;
83
+ }
84
+ .flexWrap-wrap {
85
+ flex-wrap: wrap;
86
+ }
87
+ .flexWrap-wrap-reverse {
88
+ flex-wrap: wrap-reverse;
89
+ }
90
+
91
+ /* Text Align */
92
+ .textAlign-left {
93
+ text-align: left;
94
+ }
95
+ .textAlign-center {
96
+ text-align: center;
97
+ }
98
+ .textAlign-right {
99
+ text-align: right;
100
+ }
101
+ .textAlign-justify {
102
+ text-align: justify;
103
+ }
104
+
105
+ /* Padding */
106
+ .p-0 {
107
+ padding: 0;
108
+ }
109
+ .p-1 {
110
+ padding: var(--ds-space-1);
111
+ }
112
+ .p-2 {
113
+ padding: var(--ds-space-2);
114
+ }
115
+ .p-3 {
116
+ padding: var(--ds-space-3);
117
+ }
118
+ .p-4 {
119
+ padding: var(--ds-space-4);
120
+ }
121
+ .p-6 {
122
+ padding: var(--ds-space-6);
123
+ }
124
+ .p-8 {
125
+ padding: var(--ds-space-8);
126
+ }
127
+ .p-12 {
128
+ padding: var(--ds-space-12);
129
+ }
130
+ .p-14 {
131
+ padding: var(--ds-space-14);
132
+ }
133
+
134
+ .px-0 {
135
+ padding-left: 0;
136
+ padding-right: 0;
137
+ }
138
+ .px-1 {
139
+ padding-left: var(--ds-space-1);
140
+ padding-right: var(--ds-space-1);
141
+ }
142
+ .px-2 {
143
+ padding-left: var(--ds-space-2);
144
+ padding-right: var(--ds-space-2);
145
+ }
146
+ .px-3 {
147
+ padding-left: var(--ds-space-3);
148
+ padding-right: var(--ds-space-3);
149
+ }
150
+ .px-4 {
151
+ padding-left: var(--ds-space-4);
152
+ padding-right: var(--ds-space-4);
153
+ }
154
+ .px-6 {
155
+ padding-left: var(--ds-space-6);
156
+ padding-right: var(--ds-space-6);
157
+ }
158
+ .px-8 {
159
+ padding-left: var(--ds-space-8);
160
+ padding-right: var(--ds-space-8);
161
+ }
162
+ .px-12 {
163
+ padding-left: var(--ds-space-12);
164
+ padding-right: var(--ds-space-12);
165
+ }
166
+ .px-14 {
167
+ padding-left: var(--ds-space-14);
168
+ padding-right: var(--ds-space-14);
169
+ }
170
+
171
+ .py-0 {
172
+ padding-top: 0;
173
+ padding-bottom: 0;
174
+ }
175
+ .py-1 {
176
+ padding-top: var(--ds-space-1);
177
+ padding-bottom: var(--ds-space-1);
178
+ }
179
+ .py-2 {
180
+ padding-top: var(--ds-space-2);
181
+ padding-bottom: var(--ds-space-2);
182
+ }
183
+ .py-3 {
184
+ padding-top: var(--ds-space-3);
185
+ padding-bottom: var(--ds-space-3);
186
+ }
187
+ .py-4 {
188
+ padding-top: var(--ds-space-4);
189
+ padding-bottom: var(--ds-space-4);
190
+ }
191
+ .py-6 {
192
+ padding-top: var(--ds-space-6);
193
+ padding-bottom: var(--ds-space-6);
194
+ }
195
+ .py-8 {
196
+ padding-top: var(--ds-space-8);
197
+ padding-bottom: var(--ds-space-8);
198
+ }
199
+ .py-12 {
200
+ padding-top: var(--ds-space-12);
201
+ padding-bottom: var(--ds-space-12);
202
+ }
203
+ .py-14 {
204
+ padding-top: var(--ds-space-14);
205
+ padding-bottom: var(--ds-space-14);
206
+ }
207
+
208
+ .pt-0 {
209
+ padding-top: 0;
210
+ }
211
+ .pt-1 {
212
+ padding-top: var(--ds-space-1);
213
+ }
214
+ .pt-2 {
215
+ padding-top: var(--ds-space-2);
216
+ }
217
+ .pt-3 {
218
+ padding-top: var(--ds-space-3);
219
+ }
220
+ .pt-4 {
221
+ padding-top: var(--ds-space-4);
222
+ }
223
+ .pt-6 {
224
+ padding-top: var(--ds-space-6);
225
+ }
226
+ .pt-8 {
227
+ padding-top: var(--ds-space-8);
228
+ }
229
+ .pt-12 {
230
+ padding-top: var(--ds-space-12);
231
+ }
232
+ .pt-14 {
233
+ padding-top: var(--ds-space-14);
234
+ }
235
+
236
+ .pb-0 {
237
+ padding-bottom: 0;
238
+ }
239
+ .pb-1 {
240
+ padding-bottom: var(--ds-space-1);
241
+ }
242
+ .pb-2 {
243
+ padding-bottom: var(--ds-space-2);
244
+ }
245
+ .pb-3 {
246
+ padding-bottom: var(--ds-space-3);
247
+ }
248
+ .pb-4 {
249
+ padding-bottom: var(--ds-space-4);
250
+ }
251
+ .pb-6 {
252
+ padding-bottom: var(--ds-space-6);
253
+ }
254
+ .pb-8 {
255
+ padding-bottom: var(--ds-space-8);
256
+ }
257
+ .pb-12 {
258
+ padding-bottom: var(--ds-space-12);
259
+ }
260
+ .pb-14 {
261
+ padding-bottom: var(--ds-space-14);
262
+ }
263
+
264
+ .pl-0 {
265
+ padding-left: 0;
266
+ }
267
+ .pl-1 {
268
+ padding-left: var(--ds-space-1);
269
+ }
270
+ .pl-2 {
271
+ padding-left: var(--ds-space-2);
272
+ }
273
+ .pl-3 {
274
+ padding-left: var(--ds-space-3);
275
+ }
276
+ .pl-4 {
277
+ padding-left: var(--ds-space-4);
278
+ }
279
+ .pl-6 {
280
+ padding-left: var(--ds-space-6);
281
+ }
282
+ .pl-8 {
283
+ padding-left: var(--ds-space-8);
284
+ }
285
+ .pl-12 {
286
+ padding-left: var(--ds-space-12);
287
+ }
288
+ .pl-14 {
289
+ padding-left: var(--ds-space-14);
290
+ }
291
+
292
+ .pr-0 {
293
+ padding-right: 0;
294
+ }
295
+ .pr-1 {
296
+ padding-right: var(--ds-space-1);
297
+ }
298
+ .pr-2 {
299
+ padding-right: var(--ds-space-2);
300
+ }
301
+ .pr-3 {
302
+ padding-right: var(--ds-space-3);
303
+ }
304
+ .pr-4 {
305
+ padding-right: var(--ds-space-4);
306
+ }
307
+ .pr-6 {
308
+ padding-right: var(--ds-space-6);
309
+ }
310
+ .pr-8 {
311
+ padding-right: var(--ds-space-8);
312
+ }
313
+ .pr-12 {
314
+ padding-right: var(--ds-space-12);
315
+ }
316
+ .pr-14 {
317
+ padding-right: var(--ds-space-14);
318
+ }
319
+
320
+ /* Gap */
321
+ .gap-0 {
322
+ gap: 0;
323
+ }
324
+ .gap-1 {
325
+ gap: var(--ds-space-1);
326
+ }
327
+ .gap-2 {
328
+ gap: var(--ds-space-2);
329
+ }
330
+ .gap-3 {
331
+ gap: var(--ds-space-3);
332
+ }
333
+ .gap-4 {
334
+ gap: var(--ds-space-4);
335
+ }
336
+ .gap-6 {
337
+ gap: var(--ds-space-6);
338
+ }
339
+ .gap-8 {
340
+ gap: var(--ds-space-8);
341
+ }
342
+ .gap-12 {
343
+ gap: var(--ds-space-12);
344
+ }
345
+ .gap-14 {
346
+ gap: var(--ds-space-14);
347
+ }
348
+
349
+ /* Margin */
350
+ .m-0 {
351
+ margin: 0;
352
+ }
353
+ .m-1 {
354
+ margin: var(--ds-space-1);
355
+ }
356
+ .m-2 {
357
+ margin: var(--ds-space-2);
358
+ }
359
+ .m-3 {
360
+ margin: var(--ds-space-3);
361
+ }
362
+ .m-4 {
363
+ margin: var(--ds-space-4);
364
+ }
365
+ .m-6 {
366
+ margin: var(--ds-space-6);
367
+ }
368
+ .m-8 {
369
+ margin: var(--ds-space-8);
370
+ }
371
+ .m-12 {
372
+ margin: var(--ds-space-12);
373
+ }
374
+ .m-14 {
375
+ margin: var(--ds-space-14);
376
+ }
377
+
378
+ .mx-0 {
379
+ margin-left: 0;
380
+ margin-right: 0;
381
+ }
382
+ .mx-1 {
383
+ margin-left: var(--ds-space-1);
384
+ margin-right: var(--ds-space-1);
385
+ }
386
+ .mx-2 {
387
+ margin-left: var(--ds-space-2);
388
+ margin-right: var(--ds-space-2);
389
+ }
390
+ .mx-3 {
391
+ margin-left: var(--ds-space-3);
392
+ margin-right: var(--ds-space-3);
393
+ }
394
+ .mx-4 {
395
+ margin-left: var(--ds-space-4);
396
+ margin-right: var(--ds-space-4);
397
+ }
398
+ .mx-6 {
399
+ margin-left: var(--ds-space-6);
400
+ margin-right: var(--ds-space-6);
401
+ }
402
+ .mx-8 {
403
+ margin-left: var(--ds-space-8);
404
+ margin-right: var(--ds-space-8);
405
+ }
406
+ .mx-12 {
407
+ margin-left: var(--ds-space-12);
408
+ margin-right: var(--ds-space-12);
409
+ }
410
+ .mx-14 {
411
+ margin-left: var(--ds-space-14);
412
+ margin-right: var(--ds-space-14);
413
+ }
414
+
415
+ .my-0 {
416
+ margin-top: 0;
417
+ margin-bottom: 0;
418
+ }
419
+ .my-1 {
420
+ margin-top: var(--ds-space-1);
421
+ margin-bottom: var(--ds-space-1);
422
+ }
423
+ .my-2 {
424
+ margin-top: var(--ds-space-2);
425
+ margin-bottom: var(--ds-space-2);
426
+ }
427
+ .my-3 {
428
+ margin-top: var(--ds-space-3);
429
+ margin-bottom: var(--ds-space-3);
430
+ }
431
+ .my-4 {
432
+ margin-top: var(--ds-space-4);
433
+ margin-bottom: var(--ds-space-4);
434
+ }
435
+ .my-6 {
436
+ margin-top: var(--ds-space-6);
437
+ margin-bottom: var(--ds-space-6);
438
+ }
439
+ .my-8 {
440
+ margin-top: var(--ds-space-8);
441
+ margin-bottom: var(--ds-space-8);
442
+ }
443
+ .my-12 {
444
+ margin-top: var(--ds-space-12);
445
+ margin-bottom: var(--ds-space-12);
446
+ }
447
+ .my-14 {
448
+ margin-top: var(--ds-space-14);
449
+ margin-bottom: var(--ds-space-14);
450
+ }
451
+
452
+ .mt-0 {
453
+ margin-top: 0;
454
+ }
455
+ .mt-1 {
456
+ margin-top: var(--ds-space-1);
457
+ }
458
+ .mt-2 {
459
+ margin-top: var(--ds-space-2);
460
+ }
461
+ .mt-3 {
462
+ margin-top: var(--ds-space-3);
463
+ }
464
+ .mt-4 {
465
+ margin-top: var(--ds-space-4);
466
+ }
467
+ .mt-6 {
468
+ margin-top: var(--ds-space-6);
469
+ }
470
+ .mt-8 {
471
+ margin-top: var(--ds-space-8);
472
+ }
473
+ .mt-12 {
474
+ margin-top: var(--ds-space-12);
475
+ }
476
+ .mt-14 {
477
+ margin-top: var(--ds-space-14);
478
+ }
479
+
480
+ .mb-0 {
481
+ margin-bottom: 0;
482
+ }
483
+ .mb-1 {
484
+ margin-bottom: var(--ds-space-1);
485
+ }
486
+ .mb-2 {
487
+ margin-bottom: var(--ds-space-2);
488
+ }
489
+ .mb-3 {
490
+ margin-bottom: var(--ds-space-3);
491
+ }
492
+ .mb-4 {
493
+ margin-bottom: var(--ds-space-4);
494
+ }
495
+ .mb-6 {
496
+ margin-bottom: var(--ds-space-6);
497
+ }
498
+ .mb-8 {
499
+ margin-bottom: var(--ds-space-8);
500
+ }
501
+ .mb-12 {
502
+ margin-bottom: var(--ds-space-12);
503
+ }
504
+ .mb-14 {
505
+ margin-bottom: var(--ds-space-14);
506
+ }
507
+
508
+ .ml-0 {
509
+ margin-left: 0;
510
+ }
511
+ .ml-1 {
512
+ margin-left: var(--ds-space-1);
513
+ }
514
+ .ml-2 {
515
+ margin-left: var(--ds-space-2);
516
+ }
517
+ .ml-3 {
518
+ margin-left: var(--ds-space-3);
519
+ }
520
+ .ml-4 {
521
+ margin-left: var(--ds-space-4);
522
+ }
523
+ .ml-6 {
524
+ margin-left: var(--ds-space-6);
525
+ }
526
+ .ml-8 {
527
+ margin-left: var(--ds-space-8);
528
+ }
529
+ .ml-12 {
530
+ margin-left: var(--ds-space-12);
531
+ }
532
+ .ml-14 {
533
+ margin-left: var(--ds-space-14);
534
+ }
535
+
536
+ .mr-0 {
537
+ margin-right: 0;
538
+ }
539
+ .mr-1 {
540
+ margin-right: var(--ds-space-1);
541
+ }
542
+ .mr-2 {
543
+ margin-right: var(--ds-space-2);
544
+ }
545
+ .mr-3 {
546
+ margin-right: var(--ds-space-3);
547
+ }
548
+ .mr-4 {
549
+ margin-right: var(--ds-space-4);
550
+ }
551
+ .mr-6 {
552
+ margin-right: var(--ds-space-6);
553
+ }
554
+ .mr-8 {
555
+ margin-right: var(--ds-space-8);
556
+ }
557
+ .mr-12 {
558
+ margin-right: var(--ds-space-12);
559
+ }
560
+ .mr-14 {
561
+ margin-right: var(--ds-space-14);
562
+ }
563
+
564
+ /* Background Color */
565
+ .bg-main {
566
+ background-color: var(--ds-surface-0);
567
+ }
568
+ .bg-subtle {
569
+ background-color: var(--ds-surface-1);
570
+ }
571
+ .bg-info-subtle {
572
+ background-color: var(--ds-info-subtle, var(--ds-info));
573
+ }
574
+ .bg-success-subtle {
575
+ background-color: var(--ds-success-subtle, var(--ds-success));
576
+ }
577
+ .bg-warning-subtle {
578
+ background-color: var(--ds-warning-subtle, var(--ds-warning));
579
+ }
580
+ .bg-danger-subtle {
581
+ background-color: var(--ds-danger-subtle, var(--ds-danger));
582
+ }
583
+
584
+ /* Border */
585
+ .border {
586
+ border: 1px solid var(--ds-border-1);
587
+ }
588
+ .borderBottom {
589
+ border-bottom: 1px solid var(--ds-border-1);
590
+ }
591
+
592
+ /* Border Color */
593
+ .borderColor-main {
594
+ border-color: var(--ds-border-1);
595
+ }
596
+ .borderColor-subtle {
597
+ border-color: var(--ds-border-2);
598
+ }
599
+ .borderColor-danger {
600
+ border-color: var(--ds-danger);
601
+ }
602
+
603
+ /* Background Color */
604
+ .backgroundColor-none {
605
+ background-color: transparent;
606
+ }
607
+ .backgroundColor-subtle {
608
+ background-color: var(--ds-surface-1);
609
+ }
610
+ .backgroundColor-danger-subtle {
611
+ background-color: var(--ds-danger-subtle);
612
+ }
613
+ .backgroundColor-success-subtle {
614
+ background-color: var(--ds-success-subtle);
615
+ }
616
+ .backgroundColor-warning-subtle {
617
+ background-color: var(--ds-warning-subtle);
618
+ }
619
+ .backgroundColor-info-subtle {
620
+ background-color: var(--ds-info-subtle);
621
+ }
622
+
623
+ /* Border Radius */
624
+ .borderRadius-none {
625
+ border-radius: 0;
626
+ }
627
+ .borderRadius-sm {
628
+ border-radius: var(--ds-radius-sm);
629
+ }
630
+ .borderRadius-md {
631
+ border-radius: var(--ds-radius-md);
632
+ }
633
+ .borderRadius-lg {
634
+ border-radius: var(--ds-radius-lg);
635
+ }
636
+ .borderRadius-full {
637
+ border-radius: var(--ds-radius-full);
638
+ }
@@ -0,0 +1,109 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+
3
+ import { Box } from './Box.tsx';
4
+
5
+ const meta = {
6
+ title: 'Components/Box',
7
+ component: Box,
8
+ tags: ['autodocs'],
9
+ argTypes: {
10
+ display: {
11
+ control: 'select',
12
+ options: ['block', 'flex', 'inline-flex', 'grid', 'inline-block', 'none'],
13
+ },
14
+ padding: {
15
+ control: 'select',
16
+ options: [0, 1, 2, 3, 4, 6, 8, 12, 14],
17
+ },
18
+ gap: {
19
+ control: 'select',
20
+ options: [0, 1, 2, 3, 4, 6, 8, 12, 14],
21
+ },
22
+ flexDirection: {
23
+ control: 'select',
24
+ options: ['row', 'column', 'row-reverse', 'column-reverse'],
25
+ },
26
+ alignItems: {
27
+ control: 'select',
28
+ options: ['stretch', 'flex-start', 'center', 'flex-end', 'baseline'],
29
+ },
30
+ justifyContent: {
31
+ control: 'select',
32
+ options: [
33
+ 'flex-start',
34
+ 'center',
35
+ 'flex-end',
36
+ 'space-between',
37
+ 'space-around',
38
+ 'space-evenly',
39
+ ],
40
+ },
41
+ },
42
+ } satisfies Meta<typeof Box>;
43
+
44
+ export default meta;
45
+ type Story = StoryObj<typeof meta>;
46
+
47
+ export const Default: Story = {
48
+ args: {
49
+ children: 'This is a Box component',
50
+ padding: 4,
51
+ border: true,
52
+ },
53
+ };
54
+
55
+ export const FlexRow: Story = {
56
+ args: {
57
+ display: 'flex',
58
+ flexDirection: 'row',
59
+ gap: 4,
60
+ padding: 4,
61
+ border: true,
62
+ children: (
63
+ <>
64
+ <Box padding={3} backgroundColor="subtle">
65
+ Item 1
66
+ </Box>
67
+ <Box padding={3} backgroundColor="subtle">
68
+ Item 2
69
+ </Box>
70
+ <Box padding={3} backgroundColor="subtle">
71
+ Item 3
72
+ </Box>
73
+ </>
74
+ ),
75
+ },
76
+ };
77
+
78
+ export const FlexColumn: Story = {
79
+ args: {
80
+ display: 'flex',
81
+ flexDirection: 'column',
82
+ gap: 2,
83
+ padding: 4,
84
+ border: true,
85
+ children: (
86
+ <>
87
+ <Box padding={3} backgroundColor="subtle">
88
+ Item 1
89
+ </Box>
90
+ <Box padding={3} backgroundColor="subtle">
91
+ Item 2
92
+ </Box>
93
+ <Box padding={3} backgroundColor="subtle">
94
+ Item 3
95
+ </Box>
96
+ </>
97
+ ),
98
+ },
99
+ };
100
+
101
+ export const CustomElement: Story = {
102
+ args: {
103
+ as: 'section',
104
+ padding: 8,
105
+ backgroundColor: 'subtle',
106
+ borderRadius: 'md',
107
+ children: 'This box is rendered as a <section> element',
108
+ },
109
+ };