@shohojdhara/atomix 0.1.30 → 0.2.2

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 (481) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/LICENSE +0 -0
  3. package/README.md +128 -43
  4. package/dist/atomix.css +15025 -0
  5. package/dist/atomix.min.css +15 -0
  6. package/dist/index.d.ts +6459 -1748
  7. package/dist/index.esm.js +17559 -8364
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.js +17603 -8369
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.min.js +1 -1
  12. package/dist/index.min.js.map +1 -1
  13. package/dist/themes/boomdevs.css +14677 -0
  14. package/dist/themes/boomdevs.min.css +405 -0
  15. package/dist/themes/esrar.css +16870 -0
  16. package/dist/themes/esrar.min.css +189 -0
  17. package/dist/themes/mashroom.css +29578 -0
  18. package/dist/themes/mashroom.min.css +403 -0
  19. package/dist/themes/shaj-default.css +15702 -0
  20. package/dist/themes/shaj-default.min.css +500 -0
  21. package/dist/themes/yabai.css +15207 -0
  22. package/dist/themes/yabai.min.css +189 -0
  23. package/package.json +126 -99
  24. package/src/components/Accordion/Accordion.stories.tsx +271 -0
  25. package/src/components/Accordion/Accordion.tsx +131 -0
  26. package/src/components/Accordion/index.ts +3 -0
  27. package/src/components/AtomixLogo/AtomixLogo.tsx +36 -0
  28. package/src/components/AtomixLogo/index.ts +3 -0
  29. package/src/components/AtomixLogo.tsx +40 -0
  30. package/src/components/Avatar/Avatar.stories.tsx +257 -0
  31. package/src/components/Avatar/Avatar.tsx +68 -0
  32. package/src/components/Avatar/AvatarGroup.tsx +73 -0
  33. package/src/components/Avatar/index.ts +3 -0
  34. package/src/components/Badge/Badge.stories.tsx +371 -0
  35. package/src/components/Badge/Badge.tsx +39 -0
  36. package/src/components/Badge/index.ts +3 -0
  37. package/src/components/Block/Block.stories.tsx +408 -0
  38. package/src/components/Block/Block.tsx +137 -0
  39. package/src/components/Block/index.ts +1 -0
  40. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +106 -0
  41. package/src/components/Breadcrumb/Breadcrumb.tsx +112 -0
  42. package/src/components/Breadcrumb/index.ts +3 -0
  43. package/src/components/Button/Button.stories.tsx +312 -0
  44. package/src/components/Button/Button.tsx +69 -0
  45. package/src/components/Button/index.ts +3 -0
  46. package/src/components/Callout/Callout.stories.tsx +588 -0
  47. package/src/components/Callout/Callout.tsx +78 -0
  48. package/src/components/Callout/index.ts +1 -0
  49. package/src/components/Card/Card.stories.tsx +105 -0
  50. package/src/components/Card/Card.tsx +69 -0
  51. package/src/components/Card/ElevationCard.tsx +47 -0
  52. package/src/components/Card/index.ts +15 -0
  53. package/src/components/Chart/AdvancedChart.tsx +624 -0
  54. package/src/components/Chart/AnimatedChart.tsx +206 -0
  55. package/src/components/Chart/AreaChart.tsx +27 -0
  56. package/src/components/Chart/BarChart.tsx +148 -0
  57. package/src/components/Chart/BubbleChart.tsx +411 -0
  58. package/src/components/Chart/CandlestickChart.tsx +765 -0
  59. package/src/components/Chart/Chart.stories.tsx +527 -0
  60. package/src/components/Chart/Chart.tsx +218 -0
  61. package/src/components/Chart/ChartRenderer.tsx +322 -0
  62. package/src/components/Chart/ChartToolbar.tsx +436 -0
  63. package/src/components/Chart/ChartTooltip.tsx +101 -0
  64. package/src/components/Chart/DonutChart.tsx +370 -0
  65. package/src/components/Chart/FunnelChart.tsx +393 -0
  66. package/src/components/Chart/GaugeChart.tsx +550 -0
  67. package/src/components/Chart/HeatmapChart.tsx +614 -0
  68. package/src/components/Chart/LineChart.tsx +172 -0
  69. package/src/components/Chart/LineChartNew.tsx +167 -0
  70. package/src/components/Chart/MultiAxisChart.tsx +498 -0
  71. package/src/components/Chart/PieChart.tsx +103 -0
  72. package/src/components/Chart/RadarChart.tsx +332 -0
  73. package/src/components/Chart/RealTimeChart.tsx +436 -0
  74. package/src/components/Chart/ScatterChart.tsx +152 -0
  75. package/src/components/Chart/TreemapChart.tsx +574 -0
  76. package/src/components/Chart/WaterfallChart.tsx +450 -0
  77. package/src/components/Chart/index.ts +119 -0
  78. package/src/components/Chart/types.ts +338 -0
  79. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +44 -0
  80. package/src/components/ColorModeToggle/ColorModeToggle.tsx +85 -0
  81. package/src/components/ColorModeToggle/index.ts +2 -0
  82. package/src/components/Countdown/Countdown.stories.tsx +46 -0
  83. package/src/components/Countdown/Countdown.tsx +90 -0
  84. package/src/components/Countdown/index.ts +2 -0
  85. package/src/components/DataTable/DataTable.stories.tsx +248 -0
  86. package/src/components/DataTable/DataTable.tsx +213 -0
  87. package/src/components/DataTable/index.ts +3 -0
  88. package/src/components/DatePicker/DatePicker.stories.tsx +364 -0
  89. package/src/components/DatePicker/DatePicker.tsx +504 -0
  90. package/src/components/DatePicker/index.ts +4 -0
  91. package/src/components/DatePicker/readme.md +106 -0
  92. package/src/components/DatePicker/types.ts +167 -0
  93. package/src/components/DatePicker/utils.ts +185 -0
  94. package/src/components/Dropdown/Dropdown.stories.tsx +358 -0
  95. package/src/components/Dropdown/Dropdown.tsx +352 -0
  96. package/src/components/Dropdown/index.ts +14 -0
  97. package/src/components/Dropdown/readme.md +151 -0
  98. package/src/components/EdgePanel/EdgePanel.stories.tsx +266 -0
  99. package/src/components/EdgePanel/EdgePanel.tsx +73 -0
  100. package/src/components/EdgePanel/index.ts +1 -0
  101. package/src/components/Footer/Footer.stories.tsx +388 -0
  102. package/src/components/Footer/Footer.tsx +197 -0
  103. package/src/components/Footer/FooterLink.tsx +72 -0
  104. package/src/components/Footer/FooterSection.tsx +87 -0
  105. package/src/components/Footer/FooterSocialLink.tsx +117 -0
  106. package/src/components/Footer/README.md +261 -0
  107. package/src/components/Footer/index.ts +13 -0
  108. package/src/components/Form/Checkbox.stories.tsx +76 -0
  109. package/src/components/Form/Checkbox.tsx +69 -0
  110. package/src/components/Form/Form.stories.tsx +497 -0
  111. package/src/components/Form/Form.tsx +46 -0
  112. package/src/components/Form/FormGroup.stories.tsx +162 -0
  113. package/src/components/Form/FormGroup.tsx +53 -0
  114. package/src/components/Form/Input.stories.tsx +106 -0
  115. package/src/components/Form/Input.tsx +87 -0
  116. package/src/components/Form/Radio.stories.tsx +94 -0
  117. package/src/components/Form/Radio.tsx +65 -0
  118. package/src/components/Form/Select.stories.tsx +151 -0
  119. package/src/components/Form/Select.tsx +191 -0
  120. package/src/components/Form/Textarea.stories.tsx +123 -0
  121. package/src/components/Form/Textarea.tsx +78 -0
  122. package/src/components/Form/index.ts +7 -0
  123. package/src/components/Hero/Hero.stories.tsx +295 -0
  124. package/src/components/Hero/Hero.tsx +175 -0
  125. package/src/components/Hero/index.ts +6 -0
  126. package/src/components/Icon/Icon.tsx +87 -0
  127. package/src/components/Icon/index.ts +2 -0
  128. package/src/components/List/List.stories.tsx +122 -0
  129. package/src/components/List/List.tsx +35 -0
  130. package/src/components/List/ListGroup.tsx +35 -0
  131. package/src/components/List/index.ts +2 -0
  132. package/src/components/Messages/Messages.stories.tsx +160 -0
  133. package/src/components/Messages/Messages.tsx +172 -0
  134. package/src/components/Messages/index.ts +3 -0
  135. package/src/components/Modal/Modal.stories.tsx +284 -0
  136. package/src/components/Modal/Modal.tsx +198 -0
  137. package/src/components/Modal/README.md +169 -0
  138. package/src/components/Modal/index.ts +1 -0
  139. package/src/components/Navigation/Menu/MegaMenu.tsx +109 -0
  140. package/src/components/Navigation/Menu/Menu.stories.tsx +339 -0
  141. package/src/components/Navigation/Menu/Menu.tsx +111 -0
  142. package/src/components/Navigation/Nav/Nav.stories.tsx +456 -0
  143. package/src/components/Navigation/Nav/Nav.tsx +51 -0
  144. package/src/components/Navigation/Nav/NavDropdown.tsx +105 -0
  145. package/src/components/Navigation/Nav/NavItem.tsx +168 -0
  146. package/src/components/Navigation/Navbar/Navbar.stories.tsx +569 -0
  147. package/src/components/Navigation/Navbar/Navbar.tsx +150 -0
  148. package/src/components/Navigation/README.md +314 -0
  149. package/src/components/Navigation/SideMenu/SideMenu.README.md +494 -0
  150. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +609 -0
  151. package/src/components/Navigation/SideMenu/SideMenu.tsx +101 -0
  152. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +103 -0
  153. package/src/components/Navigation/SideMenu/SideMenuList.tsx +41 -0
  154. package/src/components/Navigation/index.ts +23 -0
  155. package/src/components/Pagination/Pagination.stories.tsx +188 -0
  156. package/src/components/Pagination/Pagination.tsx +162 -0
  157. package/src/components/Pagination/index.ts +1 -0
  158. package/src/components/PhotoViewer/PhotoViewer.stories.tsx +397 -0
  159. package/src/components/PhotoViewer/PhotoViewer.tsx +246 -0
  160. package/src/components/PhotoViewer/PhotoViewerHeader.tsx +184 -0
  161. package/src/components/PhotoViewer/PhotoViewerImage.tsx +173 -0
  162. package/src/components/PhotoViewer/PhotoViewerInfo.tsx +91 -0
  163. package/src/components/PhotoViewer/PhotoViewerNavigation.tsx +85 -0
  164. package/src/components/PhotoViewer/PhotoViewerThumbnails.tsx +63 -0
  165. package/src/components/PhotoViewer/README.md +358 -0
  166. package/src/components/PhotoViewer/examples/ImageGallery.tsx +187 -0
  167. package/src/components/PhotoViewer/examples/SimpleGallery.tsx +73 -0
  168. package/src/components/PhotoViewer/examples/index.ts +2 -0
  169. package/src/components/PhotoViewer/index.ts +14 -0
  170. package/src/components/Popover/Popover.stories.tsx +143 -0
  171. package/src/components/Popover/Popover.tsx +137 -0
  172. package/src/components/Popover/index.ts +5 -0
  173. package/src/components/Popover/readme.md +120 -0
  174. package/src/components/ProductReview/ProductReview.stories.tsx +88 -0
  175. package/src/components/ProductReview/ProductReview.tsx +169 -0
  176. package/src/components/ProductReview/index.ts +3 -0
  177. package/src/components/Progress/Progress.stories.tsx +75 -0
  178. package/src/components/Progress/Progress.tsx +45 -0
  179. package/src/components/Progress/index.ts +1 -0
  180. package/src/components/Rating/Rating.stories.tsx +109 -0
  181. package/src/components/Rating/Rating.tsx +286 -0
  182. package/src/components/Rating/index.ts +6 -0
  183. package/src/components/River/River.stories.tsx +230 -0
  184. package/src/components/River/River.tsx +134 -0
  185. package/src/components/River/index.ts +2 -0
  186. package/src/components/SectionIntro/SectionIntro.stories.tsx +143 -0
  187. package/src/components/SectionIntro/SectionIntro.tsx +182 -0
  188. package/src/components/SectionIntro/index.ts +3 -0
  189. package/src/components/Slider/Slider.stories.tsx +825 -0
  190. package/src/components/Slider/Slider.tsx +227 -0
  191. package/src/components/Slider/index.ts +24 -0
  192. package/src/components/Spinner/Spinner.stories.tsx +65 -0
  193. package/src/components/Spinner/Spinner.tsx +36 -0
  194. package/src/components/Spinner/index.ts +2 -0
  195. package/src/components/Steps/Steps.stories.tsx +158 -0
  196. package/src/components/Steps/Steps.tsx +115 -0
  197. package/src/components/Steps/index.ts +3 -0
  198. package/src/components/Tab/Tab.stories.tsx +129 -0
  199. package/src/components/Tab/Tab.tsx +111 -0
  200. package/src/components/Tab/index.ts +2 -0
  201. package/src/components/Testimonial/Testimonial.stories.tsx +180 -0
  202. package/src/components/Testimonial/Testimonial.tsx +138 -0
  203. package/src/components/Testimonial/index.ts +3 -0
  204. package/src/components/Todo/Todo.stories.tsx +103 -0
  205. package/src/components/Todo/Todo.tsx +158 -0
  206. package/src/components/Todo/index.ts +1 -0
  207. package/src/components/Toggle/Toggle.stories.tsx +49 -0
  208. package/src/components/Toggle/Toggle.tsx +84 -0
  209. package/src/components/Toggle/index.ts +2 -0
  210. package/src/components/Tooltip/Tooltip.stories.tsx +115 -0
  211. package/src/components/Tooltip/Tooltip.tsx +150 -0
  212. package/src/components/Tooltip/index.ts +3 -0
  213. package/src/components/Upload/Upload.stories.tsx +220 -0
  214. package/src/components/Upload/Upload.tsx +354 -0
  215. package/src/components/Upload/index.ts +3 -0
  216. package/src/components/VideoPlayer/VideoPlayer.stories.tsx +484 -0
  217. package/src/components/VideoPlayer/VideoPlayer.tsx +574 -0
  218. package/src/components/VideoPlayer/index.ts +7 -0
  219. package/src/components/index.ts +124 -0
  220. package/src/layouts/Grid/Container.tsx +58 -0
  221. package/src/layouts/Grid/Grid.stories.tsx +928 -0
  222. package/src/layouts/Grid/Grid.tsx +68 -0
  223. package/src/layouts/Grid/GridCol.tsx +161 -0
  224. package/src/layouts/Grid/README.md +108 -0
  225. package/src/layouts/Grid/Row.tsx +70 -0
  226. package/src/layouts/Grid/index.ts +8 -0
  227. package/src/layouts/MasonryGrid/MasonryGrid.stories.tsx +387 -0
  228. package/src/layouts/MasonryGrid/MasonryGrid.tsx +408 -0
  229. package/src/layouts/MasonryGrid/MasonryGridItem.tsx +44 -0
  230. package/src/layouts/MasonryGrid/README.md +117 -0
  231. package/src/layouts/MasonryGrid/index.ts +4 -0
  232. package/src/layouts/index.ts +7 -0
  233. package/src/lib/README.md +89 -0
  234. package/src/lib/composables/index.ts +63 -0
  235. package/src/lib/composables/useAccordion.ts +129 -0
  236. package/src/lib/composables/useAmbientMode.ts +90 -0
  237. package/src/lib/composables/useBadge.ts +42 -0
  238. package/src/lib/composables/useBarChart.ts +365 -0
  239. package/src/lib/composables/useBlock.ts +56 -0
  240. package/src/lib/composables/useBreadcrumb.ts +81 -0
  241. package/src/lib/composables/useButton.ts +59 -0
  242. package/src/lib/composables/useCallout.ts +55 -0
  243. package/src/lib/composables/useCard.ts +155 -0
  244. package/src/lib/composables/useChart.ts +1082 -0
  245. package/src/lib/composables/useChartAnalytics.ts +505 -0
  246. package/src/lib/composables/useChartData.ts +38 -0
  247. package/src/lib/composables/useChartExport.ts +392 -0
  248. package/src/lib/composables/useChartInteraction.ts +34 -0
  249. package/src/lib/composables/useChartInteractions.ts +123 -0
  250. package/src/lib/composables/useChartPerformance.ts +323 -0
  251. package/src/lib/composables/useChartScale.ts +48 -0
  252. package/src/lib/composables/useChartToolbar.ts +532 -0
  253. package/src/lib/composables/useCheckbox.ts +70 -0
  254. package/src/lib/composables/useDataTable.ts +208 -0
  255. package/src/lib/composables/useDatePicker.ts +564 -0
  256. package/src/lib/composables/useDropdown.ts +272 -0
  257. package/src/lib/composables/useEdgePanel.ts +261 -0
  258. package/src/lib/composables/useFooter.ts +85 -0
  259. package/src/lib/composables/useForm.ts +62 -0
  260. package/src/lib/composables/useFormGroup.ts +51 -0
  261. package/src/lib/composables/useHero.ts +250 -0
  262. package/src/lib/composables/useInput.ts +58 -0
  263. package/src/lib/composables/useLineChart.ts +319 -0
  264. package/src/lib/composables/useMessages.ts +77 -0
  265. package/src/lib/composables/useModal.ts +110 -0
  266. package/src/lib/composables/useNavbar.ts +288 -0
  267. package/src/lib/composables/usePagination.ts +101 -0
  268. package/src/lib/composables/usePhotoViewer.ts +937 -0
  269. package/src/lib/composables/usePieChart.ts +362 -0
  270. package/src/lib/composables/usePopover.ts +354 -0
  271. package/src/lib/composables/useProgress.ts +74 -0
  272. package/src/lib/composables/useRadio.ts +47 -0
  273. package/src/lib/composables/useRating.ts +174 -0
  274. package/src/lib/composables/useRiver.ts +205 -0
  275. package/src/lib/composables/useSelect.ts +52 -0
  276. package/src/lib/composables/useSideMenu.ts +197 -0
  277. package/src/lib/composables/useSlider.ts +526 -0
  278. package/src/lib/composables/useSpinner.ts +42 -0
  279. package/src/lib/composables/useTextarea.ts +55 -0
  280. package/src/lib/composables/useTodo.ts +141 -0
  281. package/src/lib/composables/useVideoPlayer.ts +398 -0
  282. package/src/lib/constants/components.ts +1518 -0
  283. package/src/lib/constants/index.ts +4 -0
  284. package/src/lib/index.ts +11 -0
  285. package/src/lib/types/components.ts +5020 -0
  286. package/src/lib/types/index.ts +2 -0
  287. package/src/lib/utils/dom.ts +41 -0
  288. package/src/lib/utils/icons.ts +74 -0
  289. package/src/lib/utils/index.ts +55 -0
  290. package/src/lib/utils/useForkRef.test.tsx +64 -0
  291. package/src/lib/utils/useForkRef.ts +36 -0
  292. package/src/lib/utils.test.ts +14 -0
  293. package/src/styles/01-settings/_index.scss +3 -0
  294. package/src/styles/01-settings/_settings.accordion.scss +22 -19
  295. package/src/styles/01-settings/_settings.animations.scss +5 -5
  296. package/src/styles/01-settings/_settings.avatar-group.scss +7 -4
  297. package/src/styles/01-settings/_settings.avatar.scss +19 -20
  298. package/src/styles/01-settings/_settings.background.scss +9 -0
  299. package/src/styles/01-settings/_settings.badge.scss +15 -9
  300. package/src/styles/01-settings/_settings.block.scss +11 -0
  301. package/src/styles/01-settings/_settings.border-radius.scss +12 -9
  302. package/src/styles/01-settings/_settings.border.scss +4 -1
  303. package/src/styles/01-settings/_settings.box-shadow.scss +1 -1
  304. package/src/styles/01-settings/_settings.breadcrumb.scss +16 -9
  305. package/src/styles/01-settings/_settings.breakpoints.scss +0 -0
  306. package/src/styles/01-settings/_settings.btn-group.scss +4 -1
  307. package/src/styles/01-settings/_settings.button.scss +19 -21
  308. package/src/styles/01-settings/_settings.callout.scss +42 -24
  309. package/src/styles/01-settings/_settings.card.scss +13 -11
  310. package/src/styles/01-settings/_settings.chart.scss +199 -0
  311. package/src/styles/01-settings/_settings.checkbox-group.scss +5 -2
  312. package/src/styles/01-settings/_settings.checkbox.scss +10 -4
  313. package/src/styles/01-settings/_settings.color-mode.scss +0 -0
  314. package/src/styles/01-settings/_settings.colors.scss +20 -0
  315. package/src/styles/01-settings/_settings.config.scss +1 -1
  316. package/src/styles/01-settings/_settings.countdown.scss +6 -4
  317. package/src/styles/01-settings/_settings.data-table.scss +0 -0
  318. package/src/styles/01-settings/_settings.datepicker.scss +0 -0
  319. package/src/styles/01-settings/_settings.dropdown.scss +9 -7
  320. package/src/styles/01-settings/_settings.edge-panel.scss +3 -2
  321. package/src/styles/01-settings/_settings.fonts.scss +1 -1
  322. package/src/styles/01-settings/_settings.footer.scss +125 -0
  323. package/src/styles/01-settings/_settings.form-group.scss +3 -1
  324. package/src/styles/01-settings/_settings.form.scss +4 -2
  325. package/src/styles/01-settings/_settings.grid.scss +3 -3
  326. package/src/styles/01-settings/_settings.hero.scss +10 -8
  327. package/src/styles/01-settings/_settings.input.scss +9 -7
  328. package/src/styles/01-settings/_settings.link.scss +0 -0
  329. package/src/styles/01-settings/_settings.list-group.scss +4 -2
  330. package/src/styles/01-settings/_settings.list.scss +4 -2
  331. package/src/styles/01-settings/_settings.maps.scss +43 -8
  332. package/src/styles/01-settings/_settings.masonry-grid.scss +0 -0
  333. package/src/styles/01-settings/_settings.menu.scss +10 -8
  334. package/src/styles/01-settings/_settings.messages.scss +19 -17
  335. package/src/styles/01-settings/_settings.modal.scss +7 -5
  336. package/src/styles/01-settings/_settings.nav.scss +6 -4
  337. package/src/styles/01-settings/_settings.navbar.scss +8 -5
  338. package/src/styles/01-settings/_settings.pagination.scss +5 -3
  339. package/src/styles/01-settings/_settings.photoviewer.scss +89 -23
  340. package/src/styles/01-settings/_settings.popover.scss +6 -4
  341. package/src/styles/01-settings/_settings.position.scss +0 -0
  342. package/src/styles/01-settings/_settings.progress.scss +0 -0
  343. package/src/styles/01-settings/_settings.rating.scss +5 -3
  344. package/src/styles/01-settings/_settings.river.scss +8 -6
  345. package/src/styles/01-settings/_settings.sectionintro.scss +8 -6
  346. package/src/styles/01-settings/_settings.select.scss +7 -5
  347. package/src/styles/01-settings/_settings.side-menu.scss +15 -13
  348. package/src/styles/01-settings/_settings.skeleton.scss +0 -0
  349. package/src/styles/01-settings/_settings.slider.scss +59 -0
  350. package/src/styles/01-settings/_settings.spacing.scss +15 -3
  351. package/src/styles/01-settings/_settings.spinner.scss +0 -0
  352. package/src/styles/01-settings/_settings.steps.scss +8 -6
  353. package/src/styles/01-settings/_settings.tabs.scss +11 -9
  354. package/src/styles/01-settings/_settings.testimonials.scss +6 -4
  355. package/src/styles/01-settings/_settings.todo.scss +0 -0
  356. package/src/styles/01-settings/_settings.toggle.scss +4 -2
  357. package/src/styles/01-settings/_settings.tooltip.scss +5 -3
  358. package/src/styles/01-settings/_settings.typography.scss +2 -0
  359. package/src/styles/01-settings/_settings.upload.scss +22 -20
  360. package/src/styles/01-settings/_settings.video-player.scss +64 -0
  361. package/src/styles/01-settings/_settings.z-layers.scss +0 -0
  362. package/src/styles/02-tools/_index.scss +1 -0
  363. package/src/styles/02-tools/_tools.animations.scss +82 -0
  364. package/src/styles/02-tools/_tools.background.scss +85 -0
  365. package/src/styles/02-tools/_tools.border-radius.scss +0 -0
  366. package/src/styles/02-tools/_tools.breakpoints.scss +0 -0
  367. package/src/styles/02-tools/_tools.button.scss +5 -0
  368. package/src/styles/02-tools/_tools.clearfix.scss +0 -0
  369. package/src/styles/02-tools/_tools.color-functions.scss +0 -0
  370. package/src/styles/02-tools/_tools.color-mode.scss +1 -1
  371. package/src/styles/02-tools/_tools.component.scss +479 -0
  372. package/src/styles/02-tools/_tools.event.scss +0 -0
  373. package/src/styles/02-tools/_tools.grid.scss +0 -0
  374. package/src/styles/02-tools/_tools.hidden-visually.scss +0 -0
  375. package/src/styles/02-tools/_tools.hidden.scss +0 -0
  376. package/src/styles/02-tools/_tools.map-loop.scss +0 -0
  377. package/src/styles/02-tools/_tools.media-queries.scss +0 -0
  378. package/src/styles/02-tools/_tools.object-fit.scss +0 -0
  379. package/src/styles/02-tools/_tools.placeholder.scss +0 -0
  380. package/src/styles/02-tools/_tools.rem.scss +19 -2
  381. package/src/styles/02-tools/_tools.size.scss +0 -0
  382. package/src/styles/02-tools/_tools.spacing.scss +0 -0
  383. package/src/styles/02-tools/_tools.to-rgb.scss +0 -0
  384. package/src/styles/02-tools/_tools.transition.scss +0 -0
  385. package/src/styles/02-tools/_tools.utilities.scss +0 -0
  386. package/src/styles/02-tools/_tools.utility-api.scss +55 -28
  387. package/src/styles/03-generic/_generic.fonts.scss +0 -0
  388. package/src/styles/03-generic/_generic.reset.scss +0 -0
  389. package/src/styles/03-generic/_generic.root.scss +19 -3
  390. package/src/styles/03-generic/_generic.selection.scss +0 -0
  391. package/src/styles/03-generic/_index.scss +0 -0
  392. package/src/styles/04-elements/_elements.all.scss +0 -0
  393. package/src/styles/04-elements/_elements.body.scss +24 -0
  394. package/src/styles/04-elements/_elements.heading.scss +0 -0
  395. package/src/styles/04-elements/_elements.html.scss +0 -0
  396. package/src/styles/04-elements/_elements.links.scss +0 -0
  397. package/src/styles/04-elements/_index.scss +0 -0
  398. package/src/styles/05-objects/_index.scss +1 -0
  399. package/src/styles/05-objects/_objects.block.scss +122 -0
  400. package/src/styles/05-objects/_objects.container.scss +14 -10
  401. package/src/styles/05-objects/_objects.grid.scss +0 -0
  402. package/src/styles/05-objects/_objects.masonry-grid.scss +0 -0
  403. package/src/styles/06-components/_components.accordion.scss +10 -4
  404. package/src/styles/06-components/_components.avatar-group.scss +2 -1
  405. package/src/styles/06-components/_components.avatar.scss +2 -1
  406. package/src/styles/06-components/_components.badge.scss +11 -10
  407. package/src/styles/06-components/_components.breadcrumb.scss +2 -1
  408. package/src/styles/06-components/_components.btn-group.scss +0 -0
  409. package/src/styles/06-components/_components.button.scss +4 -3
  410. package/src/styles/06-components/_components.callout.scss +5 -3
  411. package/src/styles/06-components/_components.card.scss +4 -3
  412. package/src/styles/06-components/_components.chart.scss +2103 -0
  413. package/src/styles/06-components/_components.checkbox-group.scss +0 -0
  414. package/src/styles/06-components/_components.checkbox.scss +2 -1
  415. package/src/styles/06-components/_components.color-mode-toggle.scss +3 -2
  416. package/src/styles/06-components/_components.countdown.scss +2 -1
  417. package/src/styles/06-components/_components.data-table.scss +7 -6
  418. package/src/styles/06-components/_components.datepicker.scss +2 -1
  419. package/src/styles/06-components/_components.dropdown.scss +4 -3
  420. package/src/styles/06-components/_components.edge-panel.scss +4 -3
  421. package/src/styles/06-components/_components.footer.scss +825 -0
  422. package/src/styles/06-components/_components.form-group.scss +1 -0
  423. package/src/styles/06-components/_components.form.scss +0 -0
  424. package/src/styles/06-components/_components.hero.scss +4 -2
  425. package/src/styles/06-components/_components.icon.scss +2 -2
  426. package/src/styles/06-components/_components.image-gallery.scss +1 -0
  427. package/src/styles/06-components/_components.input.scss +2 -1
  428. package/src/styles/06-components/_components.list-group.scss +3 -2
  429. package/src/styles/06-components/_components.list.scss +2 -1
  430. package/src/styles/06-components/_components.menu.scss +5 -4
  431. package/src/styles/06-components/_components.messages.scss +8 -7
  432. package/src/styles/06-components/_components.modal.scss +6 -2
  433. package/src/styles/06-components/_components.nav.scss +6 -5
  434. package/src/styles/06-components/_components.navbar.scss +4 -3
  435. package/src/styles/06-components/_components.pagination.scss +2 -1
  436. package/src/styles/06-components/_components.photoviewer.scss +604 -545
  437. package/src/styles/06-components/_components.popover.scss +3 -2
  438. package/src/styles/06-components/_components.product-review.scss +3 -2
  439. package/src/styles/06-components/_components.progress.scss +3 -2
  440. package/src/styles/06-components/_components.rating.scss +0 -0
  441. package/src/styles/06-components/_components.river.scss +3 -2
  442. package/src/styles/06-components/_components.sectionintro.scss +2 -1
  443. package/src/styles/06-components/_components.select.scss +5 -4
  444. package/src/styles/06-components/_components.side-menu.scss +8 -7
  445. package/src/styles/06-components/_components.skeleton.scss +3 -2
  446. package/src/styles/06-components/_components.slider.scss +274 -0
  447. package/src/styles/06-components/_components.spinner.scss +1 -0
  448. package/src/styles/06-components/_components.steps.scss +4 -2
  449. package/src/styles/06-components/_components.tabs.scss +4 -3
  450. package/src/styles/06-components/_components.testimonials.scss +2 -1
  451. package/src/styles/06-components/_components.todo.scss +3 -2
  452. package/src/styles/06-components/_components.toggle.scss +5 -4
  453. package/src/styles/06-components/_components.tooltip.scss +7 -11
  454. package/src/styles/06-components/_components.upload.scss +4 -3
  455. package/src/styles/06-components/_components.video-player.scss +624 -0
  456. package/src/styles/06-components/_index.scss +4 -0
  457. package/src/styles/06-components/old.chart.styles.scss +2819 -0
  458. package/src/styles/99-utilities/_index.scss +0 -0
  459. package/src/styles/99-utilities/_utilities.background.scss +0 -0
  460. package/src/styles/99-utilities/_utilities.border.scss +0 -0
  461. package/src/styles/99-utilities/_utilities.clearfix.scss +0 -0
  462. package/src/styles/99-utilities/_utilities.display.scss +0 -0
  463. package/src/styles/99-utilities/_utilities.flex.scss +0 -0
  464. package/src/styles/99-utilities/_utilities.link.scss +0 -0
  465. package/src/styles/99-utilities/_utilities.object-fit.scss +0 -0
  466. package/src/styles/99-utilities/_utilities.opacity.scss +0 -0
  467. package/src/styles/99-utilities/_utilities.overflow.scss +0 -0
  468. package/src/styles/99-utilities/_utilities.position.scss +0 -0
  469. package/src/styles/99-utilities/_utilities.scss +2 -1
  470. package/src/styles/99-utilities/_utilities.shadow.scss +0 -0
  471. package/src/styles/99-utilities/_utilities.sizes.scss +0 -0
  472. package/src/styles/99-utilities/_utilities.spacing.scss +0 -0
  473. package/src/styles/99-utilities/_utilities.text.scss +5 -0
  474. package/src/styles/99-utilities/_utilities.visibility.scss +0 -0
  475. package/src/styles/99-utilities/_utilities.visually-hidden.scss +0 -0
  476. package/src/styles/99-utilities/_utilities.z-index.scss +0 -0
  477. package/src/styles/css-modules.d.ts +0 -0
  478. package/src/styles/index.scss +0 -0
  479. package/dist/index.css +0 -15
  480. package/dist/index.esm.css +0 -15
  481. package/dist/index.min.css +0 -15
@@ -0,0 +1,928 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import React from 'react';
3
+ import { Container } from './Container';
4
+ import { Grid } from './Grid';
5
+ import { GridCol } from './GridCol';
6
+ import { Row } from './Row';
7
+ import { Button } from '../../components/Button';
8
+ import { Card } from '../../components/Card';
9
+ import { Callout } from '../../components/Callout';
10
+
11
+ const meta: Meta<typeof Grid> = {
12
+ title: 'Layouts/Grid',
13
+ component: Grid,
14
+ parameters: {
15
+ layout: 'fullscreen',
16
+ docs: {
17
+ description: {
18
+ component:
19
+ 'A responsive grid system for creating flexible layouts. Based on a 12-column system with responsive breakpoints.',
20
+ },
21
+ },
22
+ },
23
+ decorators: [
24
+ Story => (
25
+ <div className="u-p-4">
26
+ <Story />
27
+ </div>
28
+ ),
29
+ ],
30
+ };
31
+
32
+ export default meta;
33
+ type Story = StoryObj<typeof Grid>;
34
+
35
+ // Modern demo components with better visual hierarchy using Atomix components
36
+ const DemoCard: React.FC<{
37
+ children: React.ReactNode;
38
+ variant?: 'primary' | 'secondary' | 'accent';
39
+ height?: 'auto' | 'sm' | 'md' | 'lg';
40
+ }> = ({ children, variant = 'primary', height = 'auto' }) => {
41
+ const heightStyles = {
42
+ auto: undefined,
43
+ sm: '80px',
44
+ md: '120px',
45
+ lg: '160px',
46
+ };
47
+
48
+ const variantMap = {
49
+ primary: { cardVariant: 'default' as const, badgeVariant: 'primary' as const },
50
+ secondary: { cardVariant: 'success' as const, badgeVariant: 'success' as const },
51
+ accent: { cardVariant: 'info' as const, badgeVariant: 'info' as const },
52
+ };
53
+
54
+ const { cardVariant, badgeVariant } = variantMap[variant];
55
+
56
+ return (
57
+ <Card
58
+ className={`u-h-100 ${variant === 'primary' ? 'u-bg-brand-subtle' : ''} ${
59
+ variant === 'secondary' ? 'u-bg-success-subtle' : ''
60
+ } ${variant === 'accent' ? 'u-bg-info-subtle' : ''}`}
61
+ >
62
+ <div
63
+ className="u-d-flex u-flex-column u-h-100"
64
+ style={{ minHeight: heightStyles[height] }}
65
+ >
66
+ <div className="u-flex-grow-1 u-d-flex u-align-items-center u-justify-content-center">
67
+ <div className="u-text-center">{children}</div>
68
+ </div>
69
+ </div>
70
+ </Card>
71
+ );
72
+ };
73
+
74
+ const CodeSnippet: React.FC<{ children: React.ReactNode }> = ({ children }) => (
75
+ <Card className="u-mb-4">
76
+ <pre
77
+ className="u-bg-dark u-text-light u-p-3 u-rounded u-fs-sm u-fw-normal u-overflow-auto"
78
+ style={{ fontFamily: 'monospace' }}
79
+ >
80
+ {children}
81
+ </pre>
82
+ </Card>
83
+ );
84
+
85
+ /**
86
+ * ## Getting Started
87
+ *
88
+ * The Grid system uses a 12-column layout with responsive breakpoints.
89
+ * Start with these basic examples to understand the fundamentals.
90
+ */
91
+ export const GettingStarted: Story = {
92
+ render: () => (
93
+ <div className="u-mb-8">
94
+ <div className="u-mb-6">
95
+ <h1 className="u-mb-3 u-text-brand-emphasis">Grid System</h1>
96
+ <p className="u-mb-4 u-text-secondary-emphasis u-fs-lg">
97
+ A responsive 12-column grid system for creating flexible layouts.
98
+ </p>
99
+ <Callout variant="info" className="u-mb-4">
100
+ Resize your browser window to see how the columns adapt to different screen sizes.
101
+ </Callout>
102
+ </div>
103
+
104
+ <h2 className="u-mb-4 u-text-brand-emphasis u-border-bottom u-pb-2">Basic Grid Layout</h2>
105
+ <p className="u-mb-4 u-text-secondary-emphasis">
106
+ Equal columns that stack on mobile and expand on larger screens:
107
+ </p>
108
+
109
+ <Grid className="u-mb-4">
110
+ <GridCol xs={12} md={4}>
111
+ <DemoCard>Column 1</DemoCard>
112
+ </GridCol>
113
+ <GridCol xs={12} md={4}>
114
+ <DemoCard>Column 2</DemoCard>
115
+ </GridCol>
116
+ <GridCol xs={12} md={4}>
117
+ <DemoCard>Column 3</DemoCard>
118
+ </GridCol>
119
+ </Grid>
120
+
121
+ <CodeSnippet>
122
+ {`<Grid>
123
+ <GridCol xs={12} md={4}>Column 1</GridCol>
124
+ <GridCol xs={12} md={4}>Column 2</GridCol>
125
+ <GridCol xs={12} md={4}>Column 3</GridCol>
126
+ </Grid>`}
127
+ </CodeSnippet>
128
+
129
+ <div className="u-mt-6">
130
+ <h3 className="u-mb-4 u-text-brand-emphasis">Responsive Behavior</h3>
131
+ <p className="u-mb-4 u-text-secondary-emphasis">
132
+ Columns automatically adjust at different screen sizes:
133
+ </p>
134
+
135
+ <Grid className="u-mb-4">
136
+ <GridCol xs={12} sm={6} md={4} lg={3}>
137
+ <DemoCard variant="secondary">
138
+ <div>Mobile: Full width</div>
139
+ <div>Tablet: Half width</div>
140
+ <div>Desktop: 1/3 width</div>
141
+ <div>Large: 1/4 width</div>
142
+ </DemoCard>
143
+ </GridCol>
144
+ <GridCol xs={12} sm={6} md={4} lg={3}>
145
+ <DemoCard variant="secondary">Responsive</DemoCard>
146
+ </GridCol>
147
+ <GridCol xs={12} sm={6} md={4} lg={3}>
148
+ <DemoCard variant="secondary">Columns</DemoCard>
149
+ </GridCol>
150
+ <GridCol xs={12} sm={6} md={4} lg={3}>
151
+ <DemoCard variant="secondary">Example</DemoCard>
152
+ </GridCol>
153
+ </Grid>
154
+
155
+ <CodeSnippet>
156
+ {`<GridCol xs={12} sm={6} md={4} lg={3}>
157
+ Responsive column
158
+ </GridCol>`}
159
+ </CodeSnippet>
160
+ </div>
161
+ </div>
162
+ ),
163
+ };
164
+
165
+ /**
166
+ * ## Layout Patterns
167
+ *
168
+ * Common layout patterns for real-world applications.
169
+ */
170
+ export const LayoutPatterns: Story = {
171
+ render: () => (
172
+ <div className="u-mb-8">
173
+ <h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Common Layout Patterns</h1>
174
+
175
+ {/* Sidebar Layout */}
176
+ <div className="u-mb-8">
177
+ <h2 className="u-mb-4 u-text-brand-emphasis">Sidebar Layout</h2>
178
+ <p className="u-mb-4 u-text-secondary-emphasis">
179
+ Perfect for dashboards and admin interfaces:
180
+ </p>
181
+
182
+ <Grid className="u-mb-4">
183
+ <GridCol xs={12} md={3}>
184
+ <DemoCard variant="accent" height="lg">
185
+ <div className="u-fs-lg u-fw-bold">Sidebar</div>
186
+ <div className="u-fs-sm u-mt-2">Navigation, filters, etc.</div>
187
+ </DemoCard>
188
+ </GridCol>
189
+ <GridCol xs={12} md={9}>
190
+ <DemoCard height="lg">
191
+ <div className="u-fs-lg u-fw-bold">Main Content</div>
192
+ <div className="u-fs-sm u-mt-2">Primary content area</div>
193
+ </DemoCard>
194
+ </GridCol>
195
+ </Grid>
196
+
197
+ <Card className="u-mb-6">
198
+ <div className="u-d-flex u-flex-wrap u-gap-2">
199
+ <Button variant="primary">Save Changes</Button>
200
+ <Button variant="secondary">Cancel</Button>
201
+ </div>
202
+ </Card>
203
+ </div>
204
+
205
+ {/* Hero + Features */}
206
+ <div className="u-mb-8">
207
+ <h2 className="u-mb-4 u-text-brand-emphasis">Hero + Features</h2>
208
+ <p className="u-mb-4 u-text-secondary-emphasis">
209
+ Landing page layout with hero section and feature cards:
210
+ </p>
211
+
212
+ <Grid className="u-mb-4">
213
+ <GridCol xs={12}>
214
+ <DemoCard variant="accent" height="md">
215
+ <div className="u-fs-lg u-fw-bold">Hero Section</div>
216
+ <div className="u-fs-sm u-mt-2">Full-width banner</div>
217
+ </DemoCard>
218
+ </GridCol>
219
+ </Grid>
220
+
221
+ <Grid className="u-mb-4">
222
+ <GridCol xs={12} sm={6} lg={4}>
223
+ <DemoCard variant="secondary">
224
+ <div className="u-fs-md u-fw-bold">Feature 1</div>
225
+ <div className="u-fs-sm u-mt-2">Description of feature 1</div>
226
+ </DemoCard>
227
+ </GridCol>
228
+ <GridCol xs={12} sm={6} lg={4}>
229
+ <DemoCard variant="secondary">
230
+ <div className="u-fs-md u-fw-bold">Feature 2</div>
231
+ <div className="u-fs-sm u-mt-2">Description of feature 2</div>
232
+ </DemoCard>
233
+ </GridCol>
234
+ <GridCol xs={12} sm={12} lg={4}>
235
+ <DemoCard variant="secondary">
236
+ <div className="u-fs-md u-fw-bold">Feature 3</div>
237
+ <div className="u-fs-sm u-mt-2">Description of feature 3</div>
238
+ </DemoCard>
239
+ </GridCol>
240
+ </Grid>
241
+ </div>
242
+
243
+ {/* Article Layout */}
244
+ <div className="u-mb-8">
245
+ <h2 className="u-mb-4 u-text-brand-emphasis">Article Layout</h2>
246
+ <p className="u-mb-4 u-text-secondary-emphasis">
247
+ Centered content with optional sidebar:
248
+ </p>
249
+
250
+ <Grid className="u-mb-4">
251
+ <GridCol xs={12} md={8} offsetMd={2}>
252
+ <DemoCard height="lg">
253
+ <div className="u-fs-lg u-fw-bold">Article Content</div>
254
+ <div className="u-fs-sm u-text-secondary-emphasis u-mt-2">
255
+ Centered, readable width
256
+ </div>
257
+ </DemoCard>
258
+ </GridCol>
259
+ </Grid>
260
+ </div>
261
+ </div>
262
+ ),
263
+ };
264
+
265
+ /**
266
+ * ## Column Sizing
267
+ *
268
+ * Flexible column sizing options for different content needs.
269
+ */
270
+ export const ColumnSizing: Story = {
271
+ render: () => (
272
+ <div className="u-mb-8">
273
+ <h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Column Sizing Options</h1>
274
+
275
+ {/* Fixed Sizes */}
276
+ <div className="u-mb-8">
277
+ <h2 className="u-mb-4 u-text-brand-emphasis">Fixed Column Sizes</h2>
278
+ <p className="u-mb-4 u-text-secondary-emphasis">
279
+ Specify exact column widths (1-12):
280
+ </p>
281
+
282
+ <Grid className="u-mb-4">
283
+ <GridCol xs={2}>
284
+ <DemoCard variant="secondary">2 cols</DemoCard>
285
+ </GridCol>
286
+ <GridCol xs={10}>
287
+ <DemoCard>10 cols</DemoCard>
288
+ </GridCol>
289
+ </Grid>
290
+
291
+ <Grid className="u-mb-4">
292
+ <GridCol xs={4}>
293
+ <DemoCard variant="secondary">4 cols</DemoCard>
294
+ </GridCol>
295
+ <GridCol xs={8}>
296
+ <DemoCard>8 cols</DemoCard>
297
+ </GridCol>
298
+ </Grid>
299
+
300
+ <Grid className="u-mb-4">
301
+ <GridCol xs={6}>
302
+ <DemoCard variant="secondary">6 cols</DemoCard>
303
+ </GridCol>
304
+ <GridCol xs={6}>
305
+ <DemoCard>6 cols</DemoCard>
306
+ </GridCol>
307
+ </Grid>
308
+ </div>
309
+
310
+ {/* Auto Sizing */}
311
+ <div className="u-mb-8">
312
+ <h2 className="u-mb-4 u-text-brand-emphasis">Auto-Sizing Columns</h2>
313
+ <p className="u-mb-4 u-text-secondary-emphasis">
314
+ Columns that automatically size based on content:
315
+ </p>
316
+
317
+ <Grid className="u-mb-4">
318
+ <GridCol>
319
+ <DemoCard variant="accent">Auto</DemoCard>
320
+ </GridCol>
321
+ <GridCol>
322
+ <DemoCard variant="accent">Auto Width</DemoCard>
323
+ </GridCol>
324
+ <GridCol>
325
+ <DemoCard variant="accent">Auto</DemoCard>
326
+ </GridCol>
327
+ </Grid>
328
+
329
+ <Grid className="u-mb-4">
330
+ <GridCol xs={4}>
331
+ <DemoCard variant="secondary">Fixed (4 cols)</DemoCard>
332
+ </GridCol>
333
+ <GridCol>
334
+ <DemoCard variant="accent">Auto (fills remaining)</DemoCard>
335
+ </GridCol>
336
+ <GridCol>
337
+ <DemoCard variant="accent">Auto</DemoCard>
338
+ </GridCol>
339
+ </Grid>
340
+ </div>
341
+
342
+ {/* Mixed Sizes */}
343
+ <div className="u-mb-8">
344
+ <h2 className="u-mb-4 u-text-brand-emphasis">Mixed Sizing</h2>
345
+ <p className="u-mb-4 u-text-secondary-emphasis">
346
+ Combine fixed and auto sizing for flexible layouts:
347
+ </p>
348
+
349
+ <Grid className="u-mb-4">
350
+ <GridCol xs={12} sm={6} md={4} lg="auto">
351
+ <DemoCard variant="secondary">
352
+ <div>Responsive</div>
353
+ <div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=auto</div>
354
+ </DemoCard>
355
+ </GridCol>
356
+ <GridCol xs={12} sm={6} md={4} lg="auto">
357
+ <DemoCard variant="secondary">
358
+ <div>Responsive</div>
359
+ <div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=auto</div>
360
+ </DemoCard>
361
+ </GridCol>
362
+ <GridCol xs={12} sm={12} md={4} lg="auto">
363
+ <DemoCard variant="secondary">
364
+ <div>Responsive</div>
365
+ <div className="u-fs-sm u-mt-2">xs=12, sm=12, md=4, lg=auto</div>
366
+ </DemoCard>
367
+ </GridCol>
368
+ </Grid>
369
+ </div>
370
+ </div>
371
+ ),
372
+ };
373
+
374
+ /**
375
+ * ## Column Offsets
376
+ *
377
+ * Create spacing and alignment using column offsets.
378
+ */
379
+ export const ColumnOffsets: Story = {
380
+ render: () => (
381
+ <div className="u-mb-8">
382
+ <h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Column Offsets</h1>
383
+
384
+ {/* Basic Offsets */}
385
+ <div className="u-mb-8">
386
+ <h2 className="u-mb-4 u-text-brand-emphasis">Basic Offsets</h2>
387
+ <p className="u-mb-4 u-text-secondary-emphasis">
388
+ Push columns to the right using offsets:
389
+ </p>
390
+
391
+ <Grid className="u-mb-4">
392
+ <GridCol xs={4}>
393
+ <DemoCard variant="secondary">4 columns</DemoCard>
394
+ </GridCol>
395
+ <GridCol xs={4} offsetXs={4}>
396
+ <DemoCard>4 columns, offset 4</DemoCard>
397
+ </GridCol>
398
+ </Grid>
399
+
400
+ <Grid className="u-mb-4">
401
+ <GridCol xs={3} offsetXs={3}>
402
+ <DemoCard variant="secondary">3 cols, offset 3</DemoCard>
403
+ </GridCol>
404
+ <GridCol xs={3} offsetXs={3}>
405
+ <DemoCard>3 cols, offset 3</DemoCard>
406
+ </GridCol>
407
+ </Grid>
408
+ </div>
409
+
410
+ {/* Centering */}
411
+ <div className="u-mb-8">
412
+ <h2 className="u-mb-4 u-text-brand-emphasis">Centering Content</h2>
413
+ <p className="u-mb-4 u-text-secondary-emphasis">
414
+ Center columns using equal offsets:
415
+ </p>
416
+
417
+ <Grid className="u-mb-4">
418
+ <GridCol xs={6} offsetXs={3}>
419
+ <DemoCard variant="accent">Centered (6 cols, offset 3)</DemoCard>
420
+ </GridCol>
421
+ </Grid>
422
+
423
+ <Grid className="u-mb-4">
424
+ <GridCol xs={8} offsetXs={2}>
425
+ <DemoCard variant="accent">Centered (8 cols, offset 2)</DemoCard>
426
+ </GridCol>
427
+ </Grid>
428
+ </div>
429
+
430
+ {/* Responsive Offsets */}
431
+ <div className="u-mb-8">
432
+ <h2 className="u-mb-4 u-text-brand-emphasis">Responsive Offsets</h2>
433
+ <p className="u-mb-4 u-text-secondary-emphasis">
434
+ Different offsets at different screen sizes:
435
+ </p>
436
+
437
+ <Grid className="u-mb-4">
438
+ <GridCol xs={12} sm={6} offsetSm={3} md={4} offsetMd={4} lg={3} offsetLg={3}>
439
+ <DemoCard variant="secondary">
440
+ <div className="u-fs-md u-fw-bold">Responsive Offsets</div>
441
+ <div className="u-fs-sm u-mt-2">Changes at each breakpoint</div>
442
+ </DemoCard>
443
+ </GridCol>
444
+ </Grid>
445
+ </div>
446
+ </div>
447
+ ),
448
+ };
449
+
450
+ /**
451
+ * ## Containers
452
+ *
453
+ * Container components for controlling max-width and centering content.
454
+ */
455
+ export const Containers: Story = {
456
+ render: () => (
457
+ <div className="u-mb-8">
458
+ <h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Container Types</h1>
459
+
460
+ {/* Default Container */}
461
+ <div className="u-mb-8">
462
+ <h2 className="u-mb-4 u-text-brand-emphasis">Default Container</h2>
463
+ <p className="u-mb-4 u-text-secondary-emphasis">
464
+ Responsive container with max-width at each breakpoint:
465
+ </p>
466
+
467
+ <Container className="u-mb-4">
468
+ <DemoCard variant="accent" height="md">
469
+ <div className="u-fs-lg u-fw-bold">Default Container</div>
470
+ <div className="u-fs-sm u-text-secondary-emphasis u-mt-2">
471
+ Responsive max-width, centered
472
+ </div>
473
+ </DemoCard>
474
+ </Container>
475
+ </div>
476
+
477
+ {/* Fluid Container */}
478
+ <div className="u-mb-8">
479
+ <h2 className="u-mb-4 u-text-brand-emphasis">Fluid Container</h2>
480
+ <p className="u-mb-4 u-text-secondary-emphasis">
481
+ Full-width container that spans the entire viewport:
482
+ </p>
483
+
484
+ <Container type="fluid" className="u-mb-4">
485
+ <DemoCard variant="secondary" height="md">
486
+ <div className="u-fs-lg u-fw-bold">Fluid Container</div>
487
+ <div className="u-fs-sm u-text-secondary-emphasis u-mt-2">
488
+ Full viewport width
489
+ </div>
490
+ </DemoCard>
491
+ </Container>
492
+ </div>
493
+
494
+ {/* Breakpoint Containers */}
495
+ <div className="u-mb-8">
496
+ <h2 className="u-mb-4 u-text-brand-emphasis">Breakpoint Containers</h2>
497
+ <p className="u-mb-4 u-text-secondary-emphasis">
498
+ Containers with max-width at specific breakpoints:
499
+ </p>
500
+
501
+ <div className="u-mb-4">
502
+ <Callout variant="info" className="u-mb-4">
503
+ Each container below has a different max-width based on its type.
504
+ </Callout>
505
+ </div>
506
+
507
+ <Container type="sm" className="u-mb-4">
508
+ <DemoCard variant="secondary">Small Container (max-width: sm)</DemoCard>
509
+ </Container>
510
+
511
+ <Container type="md" className="u-mb-4">
512
+ <DemoCard variant="secondary">Medium Container (max-width: md)</DemoCard>
513
+ </Container>
514
+
515
+ <Container type="lg" className="u-mb-4">
516
+ <DemoCard variant="secondary">Large Container (max-width: lg)</DemoCard>
517
+ </Container>
518
+ </div>
519
+
520
+ {/* Container with Grid */}
521
+ <div className="u-mb-8">
522
+ <h2 className="u-mb-4 u-text-brand-emphasis">Container with Grid</h2>
523
+ <p className="u-mb-4 u-text-secondary-emphasis">
524
+ Combine containers with grids for structured layouts:
525
+ </p>
526
+
527
+ <Container className="u-mb-4">
528
+ <Grid>
529
+ <GridCol xs={12} md={4}>
530
+ <DemoCard>Column 1</DemoCard>
531
+ </GridCol>
532
+ <GridCol xs={12} md={4}>
533
+ <DemoCard>Column 2</DemoCard>
534
+ </GridCol>
535
+ <GridCol xs={12} md={4}>
536
+ <DemoCard>Column 3</DemoCard>
537
+ </GridCol>
538
+ </Grid>
539
+ </Container>
540
+ </div>
541
+ </div>
542
+ ),
543
+ };
544
+
545
+ /**
546
+ * ## Alignment & Spacing
547
+ *
548
+ * Control alignment and spacing within grids and rows.
549
+ */
550
+ export const AlignmentAndSpacing: Story = {
551
+ render: () => (
552
+ <div className="u-mb-8">
553
+ <h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Alignment & Spacing</h1>
554
+
555
+ {/* Horizontal Alignment */}
556
+ <div className="u-mb-8">
557
+ <h2 className="u-mb-4 u-text-brand-emphasis">Horizontal Alignment</h2>
558
+ <p className="u-mb-4 u-text-secondary-emphasis">
559
+ Control how columns are distributed horizontally:
560
+ </p>
561
+
562
+ <div className="u-mb-6">
563
+ <h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">justify-content="start"</h3>
564
+ <Row justifyContent="start" className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
565
+ <GridCol xs={3}>
566
+ <DemoCard variant="secondary">Col 1</DemoCard>
567
+ </GridCol>
568
+ <GridCol xs={3}>
569
+ <DemoCard variant="secondary">Col 2</DemoCard>
570
+ </GridCol>
571
+ </Row>
572
+ </div>
573
+
574
+ <div className="u-mb-6">
575
+ <h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">justify-content="center"</h3>
576
+ <Row justifyContent="center" className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
577
+ <GridCol xs={3}>
578
+ <DemoCard variant="secondary">Col 1</DemoCard>
579
+ </GridCol>
580
+ <GridCol xs={3}>
581
+ <DemoCard variant="secondary">Col 2</DemoCard>
582
+ </GridCol>
583
+ </Row>
584
+ </div>
585
+
586
+ <div className="u-mb-6">
587
+ <h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">
588
+ justify-content="between"
589
+ </h3>
590
+ <Row justifyContent="between" className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
591
+ <GridCol xs={3}>
592
+ <DemoCard variant="secondary">Col 1</DemoCard>
593
+ </GridCol>
594
+ <GridCol xs={3}>
595
+ <DemoCard variant="secondary">Col 2</DemoCard>
596
+ </GridCol>
597
+ </Row>
598
+ </div>
599
+
600
+ <div className="u-mb-6">
601
+ <h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">justify-content="around"</h3>
602
+ <Row justifyContent="around" className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
603
+ <GridCol xs={3}>
604
+ <DemoCard variant="secondary">Col 1</DemoCard>
605
+ </GridCol>
606
+ <GridCol xs={3}>
607
+ <DemoCard variant="secondary">Col 2</DemoCard>
608
+ </GridCol>
609
+ </Row>
610
+ </div>
611
+ </div>
612
+
613
+ {/* Vertical Alignment */}
614
+ <div className="u-mb-8">
615
+ <h2 className="u-mb-4 u-text-brand-emphasis">Vertical Alignment</h2>
616
+ <p className="u-mb-4 u-text-secondary-emphasis">
617
+ Control how columns align vertically when they have different heights:
618
+ </p>
619
+
620
+ <div className="u-mb-6">
621
+ <h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">align-items="start"</h3>
622
+ <Row
623
+ alignItems="start"
624
+ className="u-mb-4 u-bg-brand-subtle u-rounded u-p-3"
625
+ style={{ minHeight: '180px' }}
626
+ >
627
+ <GridCol xs={4}>
628
+ <DemoCard height="sm">Short</DemoCard>
629
+ </GridCol>
630
+ <GridCol xs={4}>
631
+ <DemoCard height="md">Medium</DemoCard>
632
+ </GridCol>
633
+ <GridCol xs={4}>
634
+ <DemoCard height="lg">Tall</DemoCard>
635
+ </GridCol>
636
+ </Row>
637
+ </div>
638
+
639
+ <div className="u-mb-6">
640
+ <h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">align-items="center"</h3>
641
+ <Row
642
+ alignItems="center"
643
+ className="u-mb-4 u-bg-brand-subtle u-rounded u-p-3"
644
+ style={{ minHeight: '180px' }}
645
+ >
646
+ <GridCol xs={4}>
647
+ <DemoCard height="sm">Short</DemoCard>
648
+ </GridCol>
649
+ <GridCol xs={4}>
650
+ <DemoCard height="md">Medium</DemoCard>
651
+ </GridCol>
652
+ <GridCol xs={4}>
653
+ <DemoCard height="lg">Tall</DemoCard>
654
+ </GridCol>
655
+ </Row>
656
+ </div>
657
+
658
+ <div className="u-mb-6">
659
+ <h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">align-items="end"</h3>
660
+ <Row
661
+ alignItems="end"
662
+ className="u-mb-4 u-bg-brand-subtle u-rounded u-p-3"
663
+ style={{ minHeight: '180px' }}
664
+ >
665
+ <GridCol xs={4}>
666
+ <DemoCard height="sm">Short</DemoCard>
667
+ </GridCol>
668
+ <GridCol xs={4}>
669
+ <DemoCard height="md">Medium</DemoCard>
670
+ </GridCol>
671
+ <GridCol xs={4}>
672
+ <DemoCard height="lg">Tall</DemoCard>
673
+ </GridCol>
674
+ </Row>
675
+ </div>
676
+ </div>
677
+
678
+ {/* No Gutters */}
679
+ <div className="u-mb-8">
680
+ <h2 className="u-mb-4 u-text-brand-emphasis">No Gutters</h2>
681
+ <p className="u-mb-4 u-text-secondary-emphasis">
682
+ Remove spacing between columns:
683
+ </p>
684
+
685
+ <div className="u-mb-6">
686
+ <h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">With gutters (default)</h3>
687
+ <Row className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
688
+ <GridCol xs={4}>
689
+ <DemoCard variant="secondary">Column 1</DemoCard>
690
+ </GridCol>
691
+ <GridCol xs={4}>
692
+ <DemoCard variant="secondary">Column 2</DemoCard>
693
+ </GridCol>
694
+ <GridCol xs={4}>
695
+ <DemoCard variant="secondary">Column 3</DemoCard>
696
+ </GridCol>
697
+ </Row>
698
+ </div>
699
+
700
+ <div className="u-mb-6">
701
+ <h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">No gutters</h3>
702
+ <Row noGutters className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
703
+ <GridCol xs={4}>
704
+ <DemoCard variant="accent">Column 1</DemoCard>
705
+ </GridCol>
706
+ <GridCol xs={4}>
707
+ <DemoCard variant="accent">Column 2</DemoCard>
708
+ </GridCol>
709
+ <GridCol xs={4}>
710
+ <DemoCard variant="accent">Column 3</DemoCard>
711
+ </GridCol>
712
+ </Row>
713
+ </div>
714
+ </div>
715
+ </div>
716
+ ),
717
+ };
718
+
719
+ /**
720
+ * ## Nested Grids
721
+ *
722
+ * Create complex layouts by nesting grids within columns.
723
+ */
724
+ export const NestedGrids: Story = {
725
+ render: () => (
726
+ <div className="u-mb-8">
727
+ <h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Nested Grids</h1>
728
+ <p className="u-mb-6 u-text-secondary-emphasis">
729
+ Create complex layouts by nesting grids within columns. Each nested grid starts fresh with
730
+ 12 columns.
731
+ </p>
732
+
733
+ <Grid className="u-mb-6">
734
+ <GridCol xs={12} md={6}>
735
+ <Card className="u-mb-4 u-bg-info-subtle">
736
+ <h3 className="u-mb-4 u-text-info-emphasis">Left Section</h3>
737
+ <Grid>
738
+ <GridCol xs={12} className="u-mb-4">
739
+ <DemoCard variant="secondary">Nested Full Width</DemoCard>
740
+ </GridCol>
741
+ <GridCol xs={6}>
742
+ <DemoCard variant="secondary">Nested 1/2</DemoCard>
743
+ </GridCol>
744
+ <GridCol xs={6}>
745
+ <DemoCard variant="secondary">Nested 1/2</DemoCard>
746
+ </GridCol>
747
+ </Grid>
748
+ </Card>
749
+ </GridCol>
750
+
751
+ <GridCol xs={12} md={6}>
752
+ <Card className="u-mb-4 u-bg-success-subtle">
753
+ <h3 className="u-mb-4 u-text-success-emphasis">Right Section</h3>
754
+ <Grid>
755
+ <GridCol xs={4}>
756
+ <DemoCard variant="accent">1/3</DemoCard>
757
+ </GridCol>
758
+ <GridCol xs={4}>
759
+ <DemoCard variant="accent">1/3</DemoCard>
760
+ </GridCol>
761
+ <GridCol xs={4}>
762
+ <DemoCard variant="accent">1/3</DemoCard>
763
+ </GridCol>
764
+ </Grid>
765
+ </Card>
766
+ </GridCol>
767
+ </Grid>
768
+
769
+ <div className="u-mt-8">
770
+ <h2 className="u-mb-4 u-text-brand-emphasis">Complex Nested Example</h2>
771
+ <p className="u-mb-4 u-text-brand-emphasis">
772
+ Dashboard-style layout with multiple levels of nesting:
773
+ </p>
774
+
775
+ <Grid>
776
+ <GridCol xs={12}>
777
+ <Card className="u-mb-4 u-bg-warning-subtle">
778
+ <h3 className="u-mb-4 u-text-warning-emphasis">Header</h3>
779
+ <Grid>
780
+ <GridCol xs={12} sm={6} md={8}>
781
+ <DemoCard variant="secondary">Logo & Navigation</DemoCard>
782
+ </GridCol>
783
+ <GridCol xs={12} sm={6} md={4}>
784
+ <DemoCard variant="secondary">User Actions</DemoCard>
785
+ </GridCol>
786
+ </Grid>
787
+ </Card>
788
+ </GridCol>
789
+
790
+ <GridCol xs={12} md={3}>
791
+ <Card className="u-mb-4 u-bg-info-subtle">
792
+ <h3 className="u-mb-4 u-text-info-emphasis">Sidebar</h3>
793
+ <Grid>
794
+ <GridCol xs={12} className="u-mb-2">
795
+ <DemoCard variant="accent" height="sm">
796
+ Menu Item 1
797
+ </DemoCard>
798
+ </GridCol>
799
+ <GridCol xs={12} className="u-mb-2">
800
+ <DemoCard variant="accent" height="sm">
801
+ Menu Item 2
802
+ </DemoCard>
803
+ </GridCol>
804
+ <GridCol xs={12}>
805
+ <DemoCard variant="accent" height="sm">
806
+ Menu Item 3
807
+ </DemoCard>
808
+ </GridCol>
809
+ </Grid>
810
+ </Card>
811
+ </GridCol>
812
+
813
+ <GridCol xs={12} md={9}>
814
+ <Card className="u-bg-success-subtle">
815
+ <h3 className="u-mb-4 u-text-success-emphasis">Main Content</h3>
816
+ <Grid>
817
+ <GridCol xs={12} className="u-mb-4">
818
+ <DemoCard height="sm">Content Header</DemoCard>
819
+ </GridCol>
820
+ <GridCol xs={12} sm={6} lg={4}>
821
+ <DemoCard variant="secondary">Widget 1</DemoCard>
822
+ </GridCol>
823
+ <GridCol xs={12} sm={6} lg={4}>
824
+ <DemoCard variant="secondary">Widget 2</DemoCard>
825
+ </GridCol>
826
+ <GridCol xs={12} sm={12} lg={4}>
827
+ <DemoCard variant="secondary">Widget 3</DemoCard>
828
+ </GridCol>
829
+ </Grid>
830
+ </Card>
831
+ </GridCol>
832
+ </Grid>
833
+ </div>
834
+ </div>
835
+ ),
836
+ };
837
+
838
+ /**
839
+ * ## Breakpoint Reference
840
+ *
841
+ * Visual reference for how the grid system responds at different screen sizes.
842
+ */
843
+ export const BreakpointReference: Story = {
844
+ render: () => (
845
+ <div className="u-mb-8">
846
+ <h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Breakpoint Reference</h1>
847
+ <p className="u-mb-6 u-text-secondary-emphasis">
848
+ The grid system uses these breakpoints. Resize your browser to see how columns adapt.
849
+ </p>
850
+
851
+ <Card className="u-mb-6">
852
+ <h3 className="u-mb-4 u-text-brand-emphasis">Breakpoint Sizes</h3>
853
+ <ul className="u-text-secondary-emphasis">
854
+ <li className="u-mb-2">
855
+ <strong>xs:</strong> 0px and up (all devices)
856
+ </li>
857
+ <li className="u-mb-2">
858
+ <strong>sm:</strong> 576px and up (tablets)
859
+ </li>
860
+ <li className="u-mb-2">
861
+ <strong>md:</strong> 768px and up (small laptops)
862
+ </li>
863
+ <li className="u-mb-2">
864
+ <strong>lg:</strong> 992px and up (large laptops)
865
+ </li>
866
+ <li className="u-mb-2">
867
+ <strong>xl:</strong> 1200px and up (desktops)
868
+ </li>
869
+ <li>
870
+ <strong>xxl:</strong> 1440px and up (large desktops)
871
+ </li>
872
+ </ul>
873
+ </Card>
874
+
875
+ <h2 className="u-mb-4 u-text-brand-emphasis">Responsive Behavior Demo</h2>
876
+ <p className="u-mb-4 u-text-secondary-emphasis">
877
+ These columns show different layouts at each breakpoint:
878
+ </p>
879
+
880
+ <Grid className="u-mb-6">
881
+ <GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
882
+ <DemoCard variant="secondary">
883
+ <div className="u-fw-bold">Column 1</div>
884
+ <div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
885
+ </DemoCard>
886
+ </GridCol>
887
+ <GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
888
+ <DemoCard variant="secondary">
889
+ <div className="u-fw-bold">Column 2</div>
890
+ <div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
891
+ </DemoCard>
892
+ </GridCol>
893
+ <GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
894
+ <DemoCard variant="secondary">
895
+ <div className="u-fw-bold">Column 3</div>
896
+ <div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
897
+ </DemoCard>
898
+ </GridCol>
899
+ <GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
900
+ <DemoCard variant="secondary">
901
+ <div className="u-fw-bold">Column 4</div>
902
+ <div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
903
+ </DemoCard>
904
+ </GridCol>
905
+ <GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
906
+ <DemoCard variant="secondary">
907
+ <div className="u-fw-bold">Column 5</div>
908
+ <div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
909
+ </DemoCard>
910
+ </GridCol>
911
+ <GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
912
+ <DemoCard variant="secondary">
913
+ <div className="u-fw-bold">Column 6</div>
914
+ <div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
915
+ </DemoCard>
916
+ </GridCol>
917
+ </Grid>
918
+
919
+ <Card>
920
+ <h3 className="u-mb-3 u-text-brand-emphasis">Current Breakpoint</h3>
921
+ <p className="u-text-secondary-emphasis u-mb-0">
922
+ Resize your browser window to see how the columns above adapt to different screen sizes.
923
+ The grid system automatically adjusts the layout based on the available space.
924
+ </p>
925
+ </Card>
926
+ </div>
927
+ ),
928
+ };