@shohojdhara/atomix 0.1.30 → 0.2.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 (469) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/LICENSE +0 -0
  3. package/README.md +151 -39
  4. package/dist/atomix.css +13529 -0
  5. package/dist/atomix.min.css +15 -0
  6. package/dist/index.d.ts +6112 -1757
  7. package/dist/index.esm.js +16852 -8364
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.js +16892 -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 +13241 -0
  14. package/dist/themes/boomdevs.min.css +353 -0
  15. package/dist/themes/esrar.css +15374 -0
  16. package/dist/themes/esrar.min.css +189 -0
  17. package/dist/themes/mashroom.css +28079 -0
  18. package/dist/themes/mashroom.min.css +403 -0
  19. package/dist/themes/shaj-default.css +14203 -0
  20. package/dist/themes/shaj-default.min.css +500 -0
  21. package/dist/themes/yabai.css +13711 -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/Form/Checkbox.stories.tsx +76 -0
  102. package/src/components/Form/Checkbox.tsx +69 -0
  103. package/src/components/Form/Form.stories.tsx +497 -0
  104. package/src/components/Form/Form.tsx +46 -0
  105. package/src/components/Form/FormGroup.stories.tsx +162 -0
  106. package/src/components/Form/FormGroup.tsx +53 -0
  107. package/src/components/Form/Input.stories.tsx +106 -0
  108. package/src/components/Form/Input.tsx +87 -0
  109. package/src/components/Form/Radio.stories.tsx +94 -0
  110. package/src/components/Form/Radio.tsx +65 -0
  111. package/src/components/Form/Select.stories.tsx +151 -0
  112. package/src/components/Form/Select.tsx +191 -0
  113. package/src/components/Form/Textarea.stories.tsx +123 -0
  114. package/src/components/Form/Textarea.tsx +78 -0
  115. package/src/components/Form/index.ts +7 -0
  116. package/src/components/Hero/Hero.stories.tsx +295 -0
  117. package/src/components/Hero/Hero.tsx +175 -0
  118. package/src/components/Hero/index.ts +6 -0
  119. package/src/components/Icon/Icon.tsx +87 -0
  120. package/src/components/Icon/index.ts +2 -0
  121. package/src/components/List/List.stories.tsx +122 -0
  122. package/src/components/List/List.tsx +35 -0
  123. package/src/components/List/ListGroup.tsx +35 -0
  124. package/src/components/List/index.ts +2 -0
  125. package/src/components/Messages/Messages.stories.tsx +160 -0
  126. package/src/components/Messages/Messages.tsx +172 -0
  127. package/src/components/Messages/index.ts +3 -0
  128. package/src/components/Modal/Modal.stories.tsx +284 -0
  129. package/src/components/Modal/Modal.tsx +198 -0
  130. package/src/components/Modal/README.md +169 -0
  131. package/src/components/Modal/index.ts +1 -0
  132. package/src/components/Navigation/Menu/MegaMenu.tsx +109 -0
  133. package/src/components/Navigation/Menu/Menu.stories.tsx +339 -0
  134. package/src/components/Navigation/Menu/Menu.tsx +111 -0
  135. package/src/components/Navigation/Nav/Nav.stories.tsx +456 -0
  136. package/src/components/Navigation/Nav/Nav.tsx +51 -0
  137. package/src/components/Navigation/Nav/NavDropdown.tsx +105 -0
  138. package/src/components/Navigation/Nav/NavItem.tsx +168 -0
  139. package/src/components/Navigation/Navbar/Navbar.stories.tsx +569 -0
  140. package/src/components/Navigation/Navbar/Navbar.tsx +150 -0
  141. package/src/components/Navigation/README.md +314 -0
  142. package/src/components/Navigation/SideMenu/SideMenu.README.md +494 -0
  143. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +609 -0
  144. package/src/components/Navigation/SideMenu/SideMenu.tsx +101 -0
  145. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +103 -0
  146. package/src/components/Navigation/SideMenu/SideMenuList.tsx +41 -0
  147. package/src/components/Navigation/index.ts +23 -0
  148. package/src/components/Pagination/Pagination.stories.tsx +188 -0
  149. package/src/components/Pagination/Pagination.tsx +162 -0
  150. package/src/components/Pagination/index.ts +1 -0
  151. package/src/components/PhotoViewer/PhotoViewer.stories.tsx +397 -0
  152. package/src/components/PhotoViewer/PhotoViewer.tsx +246 -0
  153. package/src/components/PhotoViewer/PhotoViewerHeader.tsx +184 -0
  154. package/src/components/PhotoViewer/PhotoViewerImage.tsx +173 -0
  155. package/src/components/PhotoViewer/PhotoViewerInfo.tsx +91 -0
  156. package/src/components/PhotoViewer/PhotoViewerNavigation.tsx +85 -0
  157. package/src/components/PhotoViewer/PhotoViewerThumbnails.tsx +63 -0
  158. package/src/components/PhotoViewer/README.md +358 -0
  159. package/src/components/PhotoViewer/examples/ImageGallery.tsx +187 -0
  160. package/src/components/PhotoViewer/examples/SimpleGallery.tsx +73 -0
  161. package/src/components/PhotoViewer/examples/index.ts +2 -0
  162. package/src/components/PhotoViewer/index.ts +14 -0
  163. package/src/components/Popover/Popover.stories.tsx +143 -0
  164. package/src/components/Popover/Popover.tsx +137 -0
  165. package/src/components/Popover/index.ts +5 -0
  166. package/src/components/Popover/readme.md +120 -0
  167. package/src/components/ProductReview/ProductReview.stories.tsx +88 -0
  168. package/src/components/ProductReview/ProductReview.tsx +169 -0
  169. package/src/components/ProductReview/index.ts +3 -0
  170. package/src/components/Progress/Progress.stories.tsx +75 -0
  171. package/src/components/Progress/Progress.tsx +45 -0
  172. package/src/components/Progress/index.ts +1 -0
  173. package/src/components/Rating/Rating.stories.tsx +109 -0
  174. package/src/components/Rating/Rating.tsx +286 -0
  175. package/src/components/Rating/index.ts +6 -0
  176. package/src/components/River/River.stories.tsx +230 -0
  177. package/src/components/River/River.tsx +134 -0
  178. package/src/components/River/index.ts +2 -0
  179. package/src/components/SectionIntro/SectionIntro.stories.tsx +143 -0
  180. package/src/components/SectionIntro/SectionIntro.tsx +184 -0
  181. package/src/components/SectionIntro/index.ts +3 -0
  182. package/src/components/Slider/Slider.stories.tsx +241 -0
  183. package/src/components/Slider/Slider.tsx +225 -0
  184. package/src/components/Slider/index.ts +24 -0
  185. package/src/components/Spinner/Spinner.stories.tsx +65 -0
  186. package/src/components/Spinner/Spinner.tsx +36 -0
  187. package/src/components/Spinner/index.ts +2 -0
  188. package/src/components/Steps/Steps.stories.tsx +158 -0
  189. package/src/components/Steps/Steps.tsx +115 -0
  190. package/src/components/Steps/index.ts +3 -0
  191. package/src/components/Tab/Tab.stories.tsx +129 -0
  192. package/src/components/Tab/Tab.tsx +111 -0
  193. package/src/components/Tab/index.ts +2 -0
  194. package/src/components/Testimonial/Testimonial.stories.tsx +180 -0
  195. package/src/components/Testimonial/Testimonial.tsx +138 -0
  196. package/src/components/Testimonial/index.ts +3 -0
  197. package/src/components/Todo/Todo.stories.tsx +103 -0
  198. package/src/components/Todo/Todo.tsx +158 -0
  199. package/src/components/Todo/index.ts +1 -0
  200. package/src/components/Toggle/Toggle.stories.tsx +49 -0
  201. package/src/components/Toggle/Toggle.tsx +84 -0
  202. package/src/components/Toggle/index.ts +2 -0
  203. package/src/components/Tooltip/Tooltip.stories.tsx +115 -0
  204. package/src/components/Tooltip/Tooltip.tsx +150 -0
  205. package/src/components/Tooltip/index.ts +3 -0
  206. package/src/components/Upload/Upload.stories.tsx +220 -0
  207. package/src/components/Upload/Upload.tsx +354 -0
  208. package/src/components/Upload/index.ts +3 -0
  209. package/src/components/VideoPlayer/VideoPlayer.stories.tsx +484 -0
  210. package/src/components/VideoPlayer/VideoPlayer.tsx +574 -0
  211. package/src/components/VideoPlayer/index.ts +7 -0
  212. package/src/components/index.ts +111 -0
  213. package/src/layouts/Grid/Container.tsx +58 -0
  214. package/src/layouts/Grid/Grid.stories.tsx +861 -0
  215. package/src/layouts/Grid/Grid.tsx +68 -0
  216. package/src/layouts/Grid/GridCol.tsx +161 -0
  217. package/src/layouts/Grid/README.md +108 -0
  218. package/src/layouts/Grid/Row.tsx +70 -0
  219. package/src/layouts/Grid/index.ts +8 -0
  220. package/src/layouts/MasonryGrid/MasonryGrid.stories.tsx +387 -0
  221. package/src/layouts/MasonryGrid/MasonryGrid.tsx +408 -0
  222. package/src/layouts/MasonryGrid/MasonryGridItem.tsx +44 -0
  223. package/src/layouts/MasonryGrid/README.md +117 -0
  224. package/src/layouts/MasonryGrid/index.ts +4 -0
  225. package/src/layouts/index.ts +7 -0
  226. package/src/lib/README.md +89 -0
  227. package/src/lib/composables/index.ts +63 -0
  228. package/src/lib/composables/useAccordion.ts +129 -0
  229. package/src/lib/composables/useAmbientMode.ts +90 -0
  230. package/src/lib/composables/useBadge.ts +42 -0
  231. package/src/lib/composables/useBarChart.ts +365 -0
  232. package/src/lib/composables/useBlock.ts +56 -0
  233. package/src/lib/composables/useBreadcrumb.ts +81 -0
  234. package/src/lib/composables/useButton.ts +59 -0
  235. package/src/lib/composables/useCallout.ts +55 -0
  236. package/src/lib/composables/useCard.ts +155 -0
  237. package/src/lib/composables/useChart.ts +1082 -0
  238. package/src/lib/composables/useChartAnalytics.ts +505 -0
  239. package/src/lib/composables/useChartData.ts +38 -0
  240. package/src/lib/composables/useChartExport.ts +392 -0
  241. package/src/lib/composables/useChartInteraction.ts +34 -0
  242. package/src/lib/composables/useChartInteractions.ts +123 -0
  243. package/src/lib/composables/useChartPerformance.ts +323 -0
  244. package/src/lib/composables/useChartScale.ts +48 -0
  245. package/src/lib/composables/useChartToolbar.ts +532 -0
  246. package/src/lib/composables/useCheckbox.ts +70 -0
  247. package/src/lib/composables/useDataTable.ts +208 -0
  248. package/src/lib/composables/useDatePicker.ts +564 -0
  249. package/src/lib/composables/useDropdown.ts +272 -0
  250. package/src/lib/composables/useEdgePanel.ts +261 -0
  251. package/src/lib/composables/useForm.ts +62 -0
  252. package/src/lib/composables/useFormGroup.ts +51 -0
  253. package/src/lib/composables/useHero.ts +250 -0
  254. package/src/lib/composables/useInput.ts +58 -0
  255. package/src/lib/composables/useLineChart.ts +319 -0
  256. package/src/lib/composables/useMessages.ts +77 -0
  257. package/src/lib/composables/useModal.ts +110 -0
  258. package/src/lib/composables/useNavbar.ts +288 -0
  259. package/src/lib/composables/usePagination.ts +101 -0
  260. package/src/lib/composables/usePhotoViewer.ts +937 -0
  261. package/src/lib/composables/usePieChart.ts +362 -0
  262. package/src/lib/composables/usePopover.ts +354 -0
  263. package/src/lib/composables/useProgress.ts +74 -0
  264. package/src/lib/composables/useRadio.ts +47 -0
  265. package/src/lib/composables/useRating.ts +174 -0
  266. package/src/lib/composables/useRiver.ts +205 -0
  267. package/src/lib/composables/useSelect.ts +52 -0
  268. package/src/lib/composables/useSideMenu.ts +197 -0
  269. package/src/lib/composables/useSlider.ts +339 -0
  270. package/src/lib/composables/useSpinner.ts +42 -0
  271. package/src/lib/composables/useTextarea.ts +55 -0
  272. package/src/lib/composables/useTodo.ts +141 -0
  273. package/src/lib/composables/useVideoPlayer.ts +398 -0
  274. package/src/lib/constants/components.ts +1433 -0
  275. package/src/lib/constants/index.ts +4 -0
  276. package/src/lib/index.ts +11 -0
  277. package/src/lib/types/components.ts +4750 -0
  278. package/src/lib/types/index.ts +2 -0
  279. package/src/lib/utils/dom.ts +41 -0
  280. package/src/lib/utils/icons.ts +74 -0
  281. package/src/lib/utils/index.ts +55 -0
  282. package/src/lib/utils/useForkRef.test.tsx +64 -0
  283. package/src/lib/utils/useForkRef.ts +36 -0
  284. package/src/lib/utils.test.ts +14 -0
  285. package/src/styles/01-settings/_index.scss +2 -0
  286. package/src/styles/01-settings/_settings.accordion.scss +7 -5
  287. package/src/styles/01-settings/_settings.animations.scss +0 -0
  288. package/src/styles/01-settings/_settings.avatar-group.scss +6 -3
  289. package/src/styles/01-settings/_settings.avatar.scss +2 -2
  290. package/src/styles/01-settings/_settings.badge.scss +15 -9
  291. package/src/styles/01-settings/_settings.block.scss +11 -0
  292. package/src/styles/01-settings/_settings.border-radius.scss +12 -9
  293. package/src/styles/01-settings/_settings.border.scss +4 -1
  294. package/src/styles/01-settings/_settings.box-shadow.scss +1 -1
  295. package/src/styles/01-settings/_settings.breadcrumb.scss +9 -8
  296. package/src/styles/01-settings/_settings.breakpoints.scss +0 -0
  297. package/src/styles/01-settings/_settings.btn-group.scss +4 -1
  298. package/src/styles/01-settings/_settings.button.scss +19 -21
  299. package/src/styles/01-settings/_settings.callout.scss +42 -24
  300. package/src/styles/01-settings/_settings.card.scss +12 -10
  301. package/src/styles/01-settings/_settings.chart.scss +199 -0
  302. package/src/styles/01-settings/_settings.checkbox-group.scss +0 -0
  303. package/src/styles/01-settings/_settings.checkbox.scss +0 -0
  304. package/src/styles/01-settings/_settings.color-mode.scss +0 -0
  305. package/src/styles/01-settings/_settings.colors.scss +20 -0
  306. package/src/styles/01-settings/_settings.config.scss +1 -1
  307. package/src/styles/01-settings/_settings.countdown.scss +0 -0
  308. package/src/styles/01-settings/_settings.data-table.scss +0 -0
  309. package/src/styles/01-settings/_settings.datepicker.scss +0 -0
  310. package/src/styles/01-settings/_settings.dropdown.scss +0 -0
  311. package/src/styles/01-settings/_settings.edge-panel.scss +0 -0
  312. package/src/styles/01-settings/_settings.fonts.scss +1 -1
  313. package/src/styles/01-settings/_settings.form-group.scss +0 -0
  314. package/src/styles/01-settings/_settings.form.scss +0 -0
  315. package/src/styles/01-settings/_settings.grid.scss +3 -3
  316. package/src/styles/01-settings/_settings.hero.scss +1 -1
  317. package/src/styles/01-settings/_settings.input.scss +1 -1
  318. package/src/styles/01-settings/_settings.link.scss +0 -0
  319. package/src/styles/01-settings/_settings.list-group.scss +0 -0
  320. package/src/styles/01-settings/_settings.list.scss +0 -0
  321. package/src/styles/01-settings/_settings.maps.scss +43 -8
  322. package/src/styles/01-settings/_settings.masonry-grid.scss +0 -0
  323. package/src/styles/01-settings/_settings.menu.scss +0 -0
  324. package/src/styles/01-settings/_settings.messages.scss +0 -0
  325. package/src/styles/01-settings/_settings.modal.scss +1 -1
  326. package/src/styles/01-settings/_settings.nav.scss +0 -0
  327. package/src/styles/01-settings/_settings.navbar.scss +0 -0
  328. package/src/styles/01-settings/_settings.pagination.scss +0 -0
  329. package/src/styles/01-settings/_settings.photoviewer.scss +89 -23
  330. package/src/styles/01-settings/_settings.popover.scss +0 -0
  331. package/src/styles/01-settings/_settings.position.scss +0 -0
  332. package/src/styles/01-settings/_settings.progress.scss +0 -0
  333. package/src/styles/01-settings/_settings.rating.scss +0 -0
  334. package/src/styles/01-settings/_settings.river.scss +0 -0
  335. package/src/styles/01-settings/_settings.sectionintro.scss +0 -0
  336. package/src/styles/01-settings/_settings.select.scss +0 -0
  337. package/src/styles/01-settings/_settings.side-menu.scss +0 -0
  338. package/src/styles/01-settings/_settings.skeleton.scss +0 -0
  339. package/src/styles/01-settings/_settings.slider.scss +59 -0
  340. package/src/styles/01-settings/_settings.spacing.scss +11 -3
  341. package/src/styles/01-settings/_settings.spinner.scss +0 -0
  342. package/src/styles/01-settings/_settings.steps.scss +1 -1
  343. package/src/styles/01-settings/_settings.tabs.scss +4 -4
  344. package/src/styles/01-settings/_settings.testimonials.scss +0 -0
  345. package/src/styles/01-settings/_settings.todo.scss +0 -0
  346. package/src/styles/01-settings/_settings.toggle.scss +1 -1
  347. package/src/styles/01-settings/_settings.tooltip.scss +0 -0
  348. package/src/styles/01-settings/_settings.typography.scss +2 -0
  349. package/src/styles/01-settings/_settings.upload.scss +0 -0
  350. package/src/styles/01-settings/_settings.video-player.scss +64 -0
  351. package/src/styles/01-settings/_settings.z-layers.scss +0 -0
  352. package/src/styles/02-tools/_index.scss +1 -0
  353. package/src/styles/02-tools/_tools.animations.scss +82 -0
  354. package/src/styles/02-tools/_tools.border-radius.scss +0 -0
  355. package/src/styles/02-tools/_tools.breakpoints.scss +0 -0
  356. package/src/styles/02-tools/_tools.button.scss +5 -0
  357. package/src/styles/02-tools/_tools.clearfix.scss +0 -0
  358. package/src/styles/02-tools/_tools.color-functions.scss +0 -0
  359. package/src/styles/02-tools/_tools.color-mode.scss +1 -1
  360. package/src/styles/02-tools/_tools.component.scss +479 -0
  361. package/src/styles/02-tools/_tools.event.scss +0 -0
  362. package/src/styles/02-tools/_tools.grid.scss +0 -0
  363. package/src/styles/02-tools/_tools.hidden-visually.scss +0 -0
  364. package/src/styles/02-tools/_tools.hidden.scss +0 -0
  365. package/src/styles/02-tools/_tools.map-loop.scss +0 -0
  366. package/src/styles/02-tools/_tools.media-queries.scss +0 -0
  367. package/src/styles/02-tools/_tools.object-fit.scss +0 -0
  368. package/src/styles/02-tools/_tools.placeholder.scss +0 -0
  369. package/src/styles/02-tools/_tools.rem.scss +5 -1
  370. package/src/styles/02-tools/_tools.size.scss +0 -0
  371. package/src/styles/02-tools/_tools.spacing.scss +0 -0
  372. package/src/styles/02-tools/_tools.to-rgb.scss +0 -0
  373. package/src/styles/02-tools/_tools.transition.scss +0 -0
  374. package/src/styles/02-tools/_tools.utilities.scss +0 -0
  375. package/src/styles/02-tools/_tools.utility-api.scss +23 -2
  376. package/src/styles/03-generic/_generic.fonts.scss +0 -0
  377. package/src/styles/03-generic/_generic.reset.scss +0 -0
  378. package/src/styles/03-generic/_generic.root.scss +5 -1
  379. package/src/styles/03-generic/_generic.selection.scss +0 -0
  380. package/src/styles/03-generic/_index.scss +0 -0
  381. package/src/styles/04-elements/_elements.all.scss +0 -0
  382. package/src/styles/04-elements/_elements.body.scss +0 -0
  383. package/src/styles/04-elements/_elements.heading.scss +0 -0
  384. package/src/styles/04-elements/_elements.html.scss +0 -0
  385. package/src/styles/04-elements/_elements.links.scss +0 -0
  386. package/src/styles/04-elements/_index.scss +0 -0
  387. package/src/styles/05-objects/_index.scss +1 -0
  388. package/src/styles/05-objects/_objects.block.scss +122 -0
  389. package/src/styles/05-objects/_objects.container.scss +14 -10
  390. package/src/styles/05-objects/_objects.grid.scss +0 -0
  391. package/src/styles/05-objects/_objects.masonry-grid.scss +0 -0
  392. package/src/styles/06-components/_components.accordion.scss +3 -1
  393. package/src/styles/06-components/_components.avatar-group.scss +0 -0
  394. package/src/styles/06-components/_components.avatar.scss +0 -0
  395. package/src/styles/06-components/_components.badge.scss +9 -9
  396. package/src/styles/06-components/_components.breadcrumb.scss +0 -0
  397. package/src/styles/06-components/_components.btn-group.scss +0 -0
  398. package/src/styles/06-components/_components.button.scss +0 -0
  399. package/src/styles/06-components/_components.callout.scss +2 -1
  400. package/src/styles/06-components/_components.card.scss +0 -1
  401. package/src/styles/06-components/_components.chart.scss +2102 -0
  402. package/src/styles/06-components/_components.checkbox-group.scss +0 -0
  403. package/src/styles/06-components/_components.checkbox.scss +0 -0
  404. package/src/styles/06-components/_components.color-mode-toggle.scss +0 -0
  405. package/src/styles/06-components/_components.countdown.scss +0 -0
  406. package/src/styles/06-components/_components.data-table.scss +0 -0
  407. package/src/styles/06-components/_components.datepicker.scss +0 -0
  408. package/src/styles/06-components/_components.dropdown.scss +0 -0
  409. package/src/styles/06-components/_components.edge-panel.scss +0 -0
  410. package/src/styles/06-components/_components.form-group.scss +0 -0
  411. package/src/styles/06-components/_components.form.scss +0 -0
  412. package/src/styles/06-components/_components.hero.scss +1 -0
  413. package/src/styles/06-components/_components.icon.scss +2 -2
  414. package/src/styles/06-components/_components.image-gallery.scss +0 -0
  415. package/src/styles/06-components/_components.input.scss +0 -0
  416. package/src/styles/06-components/_components.list-group.scss +0 -0
  417. package/src/styles/06-components/_components.list.scss +0 -0
  418. package/src/styles/06-components/_components.menu.scss +0 -0
  419. package/src/styles/06-components/_components.messages.scss +0 -0
  420. package/src/styles/06-components/_components.modal.scss +3 -0
  421. package/src/styles/06-components/_components.nav.scss +0 -0
  422. package/src/styles/06-components/_components.navbar.scss +0 -0
  423. package/src/styles/06-components/_components.pagination.scss +0 -0
  424. package/src/styles/06-components/_components.photoviewer.scss +603 -545
  425. package/src/styles/06-components/_components.popover.scss +0 -0
  426. package/src/styles/06-components/_components.product-review.scss +0 -0
  427. package/src/styles/06-components/_components.progress.scss +0 -0
  428. package/src/styles/06-components/_components.rating.scss +0 -0
  429. package/src/styles/06-components/_components.river.scss +0 -0
  430. package/src/styles/06-components/_components.sectionintro.scss +0 -0
  431. package/src/styles/06-components/_components.select.scss +0 -0
  432. package/src/styles/06-components/_components.side-menu.scss +0 -0
  433. package/src/styles/06-components/_components.skeleton.scss +0 -0
  434. package/src/styles/06-components/_components.slider.scss +273 -0
  435. package/src/styles/06-components/_components.spinner.scss +0 -0
  436. package/src/styles/06-components/_components.steps.scss +1 -0
  437. package/src/styles/06-components/_components.tabs.scss +0 -0
  438. package/src/styles/06-components/_components.testimonials.scss +0 -0
  439. package/src/styles/06-components/_components.todo.scss +0 -0
  440. package/src/styles/06-components/_components.toggle.scss +0 -0
  441. package/src/styles/06-components/_components.tooltip.scss +4 -9
  442. package/src/styles/06-components/_components.upload.scss +0 -0
  443. package/src/styles/06-components/_components.video-player.scss +623 -0
  444. package/src/styles/06-components/_index.scss +3 -0
  445. package/src/styles/06-components/old.chart.styles.scss +2819 -0
  446. package/src/styles/99-utilities/_index.scss +0 -0
  447. package/src/styles/99-utilities/_utilities.background.scss +0 -0
  448. package/src/styles/99-utilities/_utilities.border.scss +0 -0
  449. package/src/styles/99-utilities/_utilities.clearfix.scss +0 -0
  450. package/src/styles/99-utilities/_utilities.display.scss +0 -0
  451. package/src/styles/99-utilities/_utilities.flex.scss +0 -0
  452. package/src/styles/99-utilities/_utilities.link.scss +0 -0
  453. package/src/styles/99-utilities/_utilities.object-fit.scss +0 -0
  454. package/src/styles/99-utilities/_utilities.opacity.scss +0 -0
  455. package/src/styles/99-utilities/_utilities.overflow.scss +0 -0
  456. package/src/styles/99-utilities/_utilities.position.scss +0 -0
  457. package/src/styles/99-utilities/_utilities.scss +2 -1
  458. package/src/styles/99-utilities/_utilities.shadow.scss +0 -0
  459. package/src/styles/99-utilities/_utilities.sizes.scss +0 -0
  460. package/src/styles/99-utilities/_utilities.spacing.scss +0 -0
  461. package/src/styles/99-utilities/_utilities.text.scss +5 -0
  462. package/src/styles/99-utilities/_utilities.visibility.scss +0 -0
  463. package/src/styles/99-utilities/_utilities.visually-hidden.scss +0 -0
  464. package/src/styles/99-utilities/_utilities.z-index.scss +0 -0
  465. package/src/styles/css-modules.d.ts +0 -0
  466. package/src/styles/index.scss +0 -0
  467. package/dist/index.css +0 -15
  468. package/dist/index.esm.css +0 -15
  469. package/dist/index.min.css +0 -15
@@ -0,0 +1,569 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { AtomixLogo } from '../../AtomixLogo';
3
+ import { Icon } from '../../Icon';
4
+ import { MegaMenu, MegaMenuColumn, MegaMenuLink } from '../Menu/MegaMenu';
5
+ import { Menu, MenuDivider, MenuItem } from '../Menu/Menu';
6
+ import { Nav } from '../Nav/Nav';
7
+ import { NavDropdown } from '../Nav/NavDropdown';
8
+ import { NavItem } from '../Nav/NavItem';
9
+ import { Navbar } from './Navbar';
10
+
11
+ const meta = {
12
+ title: 'Components/Navigation/Navbar',
13
+ component: Navbar,
14
+ parameters: {
15
+ layout: 'fullscreen',
16
+ docs: {
17
+ description: {
18
+ component: `
19
+ The Navbar component provides a responsive navigation header with brand, navigation items, and collapsible mobile menu functionality. It follows the Atomix design system guidelines and includes both React and vanilla JavaScript implementations.
20
+
21
+ ## Features
22
+
23
+ - **Responsive Design**: Automatically collapses on mobile devices
24
+ - **Multiple Positions**: Static, fixed top, or fixed bottom positioning
25
+ - **Theme Variants**: Support for all theme colors
26
+ - **Accessibility**: Full keyboard navigation and screen reader support
27
+ - **Dropdown & Mega Menus**: Support for both regular dropdowns and full-width mega menus
28
+ - **Vanilla JS Support**: Complete vanilla JavaScript implementation available
29
+
30
+ ## Usage
31
+
32
+ ### Basic Navbar
33
+ \`\`\`tsx
34
+ <Navbar brand="My App">
35
+ <Nav>
36
+ <NavItem href="/">Home</NavItem>
37
+ <NavItem href="/about">About</NavItem>
38
+ </Nav>
39
+ </Navbar>
40
+ \`\`\`
41
+
42
+ ### With Dropdown
43
+ \`\`\`tsx
44
+ <Navbar brand="My App">
45
+ <Nav>
46
+ <NavDropdown title="Services">
47
+ <Menu>
48
+ <MenuItem href="/web">Web Design</MenuItem>
49
+ <MenuItem href="/mobile">Mobile Apps</MenuItem>
50
+ </Menu>
51
+ </NavDropdown>
52
+ </Nav>
53
+ </Navbar>
54
+ \`\`\`
55
+
56
+ ### Vanilla JavaScript
57
+ \`\`\`html
58
+ <nav class="c-navbar" data-navbar data-collapsible="true">
59
+ <div class="c-navbar__container">
60
+ <a href="/" class="c-navbar__brand">My App</a>
61
+ <button class="c-navbar__toggler" aria-expanded="false">
62
+ <span class="c-navbar__toggler-icon"></span>
63
+ </button>
64
+ <div class="c-navbar__collapse">
65
+ <!-- Navigation content -->
66
+ </div>
67
+ </div>
68
+ </nav>
69
+ \`\`\`
70
+ `,
71
+ },
72
+ },
73
+ },
74
+ argTypes: {
75
+ position: {
76
+ control: { type: 'select' },
77
+ options: ['static', 'fixed', 'fixed-bottom'],
78
+ description: 'Position of the navbar',
79
+ table: {
80
+ type: { summary: 'string' },
81
+ defaultValue: { summary: 'static' },
82
+ },
83
+ },
84
+ variant: {
85
+ control: { type: 'select' },
86
+ options: [
87
+ 'primary',
88
+ 'secondary',
89
+ 'tertiary',
90
+ 'invert',
91
+ 'brand',
92
+ 'success',
93
+ 'error',
94
+ 'warning',
95
+ 'info',
96
+ 'light',
97
+ 'dark',
98
+ ],
99
+ description: 'The color variant of the navbar',
100
+ table: {
101
+ type: { summary: 'ThemeColor' },
102
+ defaultValue: { summary: 'undefined' },
103
+ },
104
+ },
105
+ collapsible: {
106
+ control: 'boolean',
107
+ description: 'Whether the navbar should collapse on small screens',
108
+ table: {
109
+ type: { summary: 'boolean' },
110
+ defaultValue: { summary: 'true' },
111
+ },
112
+ },
113
+ containerWidth: {
114
+ control: 'text',
115
+ description: 'Custom width for the navbar container',
116
+ table: {
117
+ type: { summary: 'string' },
118
+ defaultValue: { summary: 'undefined' },
119
+ },
120
+ },
121
+ backdrop: {
122
+ control: 'boolean',
123
+ description: 'Whether to show backdrop when expanded on mobile',
124
+ table: {
125
+ type: { summary: 'boolean' },
126
+ defaultValue: { summary: 'false' },
127
+ },
128
+ },
129
+ closeOnOutsideClick: {
130
+ control: 'boolean',
131
+ description: 'Whether to close navbar when clicking outside',
132
+ table: {
133
+ type: { summary: 'boolean' },
134
+ defaultValue: { summary: 'true' },
135
+ },
136
+ },
137
+ closeOnEscape: {
138
+ control: 'boolean',
139
+ description: 'Whether to close navbar on escape key press',
140
+ table: {
141
+ type: { summary: 'boolean' },
142
+ defaultValue: { summary: 'true' },
143
+ },
144
+ },
145
+ },
146
+ } satisfies Meta<typeof Navbar>;
147
+
148
+ export default meta;
149
+ type Story = StoryObj<typeof Navbar>;
150
+
151
+ // Brand logo component
152
+ const LogoBrand = () => <AtomixLogo height={40} />;
153
+
154
+ // Default Navbar
155
+ export const Default: Story = {
156
+ args: {
157
+ brand: <LogoBrand />,
158
+ children: (
159
+ <Nav alignment="end">
160
+ <NavItem>Home</NavItem>
161
+ <NavItem>About</NavItem>
162
+ <NavItem>Services</NavItem>
163
+ <NavItem>Contact</NavItem>
164
+ <NavDropdown title="Dropdown">
165
+ <Menu>
166
+ <MenuItem href="#" icon="icon-lux-circle">
167
+ Menu Item 1
168
+ </MenuItem>
169
+ <MenuItem href="#" icon="icon-lux-circle">
170
+ Menu Item 2
171
+ </MenuItem>
172
+ <MenuItem href="#" icon="icon-lux-circle">
173
+ Menu Item 3
174
+ </MenuItem>
175
+ <MenuDivider />
176
+ <MenuItem href="#" icon="icon-lux-circle">
177
+ Menu Item 4
178
+ </MenuItem>
179
+ <MenuItem href="#" icon="icon-lux-circle">
180
+ Menu Item 5
181
+ </MenuItem>
182
+ </Menu>
183
+ </NavDropdown>
184
+ </Nav>
185
+ ),
186
+ position: 'static',
187
+ variant: 'primary',
188
+ collapsible: true,
189
+ },
190
+ };
191
+
192
+ // Fixed Navbar
193
+ export const Fixed: Story = {
194
+ args: {
195
+ ...Default.args,
196
+ position: 'fixed',
197
+ },
198
+ };
199
+
200
+ // Fixed Bottom Navbar
201
+ export const FixedBottom: Story = {
202
+ args: {
203
+ ...Default.args,
204
+ position: 'fixed-bottom',
205
+ },
206
+ };
207
+
208
+ // Navbar with different variants
209
+ export const Variants: Story = {
210
+ render: () => (
211
+ <div className="u-d-flex u-flex-column u-gap-3">
212
+ <Navbar brand={<LogoBrand />} variant="primary">
213
+ <Nav alignment="end">
214
+ <NavItem>Link 1</NavItem>
215
+ <NavItem>Link 2</NavItem>
216
+ </Nav>
217
+ </Navbar>
218
+
219
+ <Navbar brand={<LogoBrand />} variant="secondary">
220
+ <Nav alignment="end">
221
+ <NavItem>Link 1</NavItem>
222
+ <NavItem>Link 2</NavItem>
223
+ </Nav>
224
+ </Navbar>
225
+
226
+ <Navbar brand={<LogoBrand />} variant="tertiary">
227
+ <Nav alignment="end">
228
+ <NavItem>Link 1</NavItem>
229
+ <NavItem>Link 2</NavItem>
230
+ </Nav>
231
+ </Navbar>
232
+
233
+ <Navbar brand={<LogoBrand />} variant="invert">
234
+ <Nav alignment="end">
235
+ <NavItem>Link 1</NavItem>
236
+ <NavItem>Link 2</NavItem>
237
+ </Nav>
238
+ </Navbar>
239
+
240
+ <Navbar brand={<LogoBrand />} variant="brand">
241
+ <Nav alignment="end">
242
+ <NavItem>Link 1</NavItem>
243
+ <NavItem>Link 2</NavItem>
244
+ </Nav>
245
+ </Navbar>
246
+
247
+ <Navbar brand={<LogoBrand />} variant="success">
248
+ <Nav alignment="end">
249
+ <NavItem>Link 1</NavItem>
250
+ <NavItem>Link 2</NavItem>
251
+ </Nav>
252
+ </Navbar>
253
+
254
+ <Navbar brand={<LogoBrand />} variant="error">
255
+ <Nav alignment="end">
256
+ <NavItem>Link 1</NavItem>
257
+ <NavItem>Link 2</NavItem>
258
+ </Nav>
259
+ </Navbar>
260
+
261
+ <Navbar brand={<LogoBrand />} variant="warning">
262
+ <Nav alignment="end">
263
+ <NavItem>Link 1</NavItem>
264
+ <NavItem>Link 2</NavItem>
265
+ </Nav>
266
+ </Navbar>
267
+
268
+ <Navbar brand={<LogoBrand />} variant="info">
269
+ <Nav alignment="end">
270
+ <NavItem>Link 1</NavItem>
271
+ <NavItem>Link 2</NavItem>
272
+ </Nav>
273
+ </Navbar>
274
+
275
+ <Navbar brand={<LogoBrand />} variant="light">
276
+ <Nav alignment="end">
277
+ <NavItem>Link 1</NavItem>
278
+ <NavItem>Link 2</NavItem>
279
+ </Nav>
280
+ </Navbar>
281
+
282
+ <Navbar brand={<LogoBrand />} variant="dark">
283
+ <Nav alignment="end">
284
+ <NavItem>Link 1</NavItem>
285
+ <NavItem>Link 2</NavItem>
286
+ </Nav>
287
+ </Navbar>
288
+ </div>
289
+ ),
290
+ };
291
+
292
+ // Navbar with different nav alignments
293
+ export const NavAlignments: Story = {
294
+ render: () => (
295
+ <div className="u-d-flex u-flex-column u-gap-3">
296
+ <Navbar brand={<LogoBrand />}>
297
+ <Nav alignment="start">
298
+ <NavItem>Link 1</NavItem>
299
+ <NavItem>Link 2</NavItem>
300
+ <NavItem>Link 3</NavItem>
301
+ </Nav>
302
+ </Navbar>
303
+
304
+ <Navbar brand={<LogoBrand />}>
305
+ <Nav alignment="center">
306
+ <NavItem>Link 1</NavItem>
307
+ <NavItem>Link 2</NavItem>
308
+ <NavItem>Link 3</NavItem>
309
+ </Nav>
310
+ </Navbar>
311
+
312
+ <Navbar brand={<LogoBrand />}>
313
+ <Nav alignment="end">
314
+ <NavItem>Link 1</NavItem>
315
+ <NavItem>Link 2</NavItem>
316
+ <NavItem>Link 3</NavItem>
317
+ </Nav>
318
+ </Navbar>
319
+ </div>
320
+ ),
321
+ };
322
+
323
+ // Navbar with mega menu
324
+ export const WithMegaMenu: Story = {
325
+ render: () => (
326
+ <Navbar brand={<LogoBrand />}>
327
+ <Nav alignment="end">
328
+ <NavItem>Link 1</NavItem>
329
+ <NavItem>Link 2</NavItem>
330
+ <NavDropdown title="Mega Menu" megaMenu>
331
+ <MegaMenu>
332
+ <MegaMenuColumn title="Column 1" icon="icon-lux-circle">
333
+ <MegaMenuLink href="#">Sub Menu 1</MegaMenuLink>
334
+ <MegaMenuLink href="#">Sub Menu 2</MegaMenuLink>
335
+ <MegaMenuLink href="#">Sub Menu 3</MegaMenuLink>
336
+ </MegaMenuColumn>
337
+
338
+ <MegaMenuColumn title="Column 2" icon="icon-lux-circle">
339
+ <MegaMenuLink href="#">Sub Menu 1</MegaMenuLink>
340
+ <MegaMenuLink href="#">Sub Menu 2</MegaMenuLink>
341
+ <MegaMenuLink href="#">Sub Menu 3</MegaMenuLink>
342
+ </MegaMenuColumn>
343
+
344
+ <MegaMenuColumn title="Column 3" icon="icon-lux-circle">
345
+ <MegaMenuLink href="#">Sub Menu 1</MegaMenuLink>
346
+ <MegaMenuLink href="#">Sub Menu 2</MegaMenuLink>
347
+ <MegaMenuLink href="#">Sub Menu 3</MegaMenuLink>
348
+ </MegaMenuColumn>
349
+ </MegaMenu>
350
+ </NavDropdown>
351
+ </Nav>
352
+ </Navbar>
353
+ ),
354
+ };
355
+
356
+ // Navbar with active and disabled items
357
+ export const WithStateModifiers: Story = {
358
+ render: () => (
359
+ <Navbar brand={<LogoBrand />}>
360
+ <Nav alignment="end">
361
+ <NavItem active>Active Link</NavItem>
362
+ <NavItem disabled>Disabled Link</NavItem>
363
+ <NavDropdown title="Dropdown">
364
+ <Menu>
365
+ <MenuItem href="#" active>
366
+ Active Item
367
+ </MenuItem>
368
+ <MenuItem href="#" disabled>
369
+ Disabled Item
370
+ </MenuItem>
371
+ <MenuItem href="#">Regular Item</MenuItem>
372
+ </Menu>
373
+ </NavDropdown>
374
+ </Nav>
375
+ </Navbar>
376
+ ),
377
+ };
378
+
379
+ // Navbar with search field
380
+ export const WithSearchField: Story = {
381
+ render: () => (
382
+ <Navbar brand={<LogoBrand />}>
383
+ <Nav alignment="start">
384
+ <NavItem>Link 1</NavItem>
385
+ <NavItem>Link 2</NavItem>
386
+ <NavItem>Link 3</NavItem>
387
+ </Nav>
388
+ <div className="u-ms-auto u-d-flex u-align-items-center">
389
+ <div className="c-search-form u-d-flex u-gap-2">
390
+ <input type="text" className="c-input c-input--sm" placeholder="Search..." />
391
+ <button className="c-btn c-btn--primary c-btn--sm">
392
+ <Icon name="MagnifyingGlass" size="sm" />
393
+ </button>
394
+ </div>
395
+ </div>
396
+ </Navbar>
397
+ ),
398
+ };
399
+
400
+ // Navbar with avatar dropdown
401
+ export const WithAvatarDropdown: Story = {
402
+ render: () => (
403
+ <Navbar brand={<LogoBrand />}>
404
+ <Nav alignment="start">
405
+ <NavItem>Link 1</NavItem>
406
+ <NavItem>Link 2</NavItem>
407
+ <NavItem>Link 3</NavItem>
408
+ </Nav>
409
+ <Nav alignment="end">
410
+ <NavDropdown
411
+ title={
412
+ <>
413
+ <div
414
+ className="c-avatar c-avatar--sm c-avatar--circle"
415
+ style={{
416
+ backgroundColor: '#7C3AED',
417
+ display: 'flex',
418
+ alignItems: 'center',
419
+ justifyContent: 'center',
420
+ color: 'white',
421
+ fontSize: '12px',
422
+ fontWeight: 'bold',
423
+ }}
424
+ >
425
+ JD
426
+ </div>
427
+ <span className="u-ms-2">User Name</span>
428
+ </>
429
+ }
430
+ >
431
+ <Menu>
432
+ <MenuItem href="#" icon="icon-lux-user">
433
+ Profile
434
+ </MenuItem>
435
+ <MenuItem href="#" icon="icon-lux-settings">
436
+ Settings
437
+ </MenuItem>
438
+ <MenuDivider />
439
+ <MenuItem href="#" icon="icon-lux-sign-out">
440
+ Logout
441
+ </MenuItem>
442
+ </Menu>
443
+ </NavDropdown>
444
+ </Nav>
445
+ </Navbar>
446
+ ),
447
+ };
448
+
449
+ // Responsive Navbar
450
+ export const ResponsiveNavbar: Story = {
451
+ render: () => (
452
+ <Navbar brand={<LogoBrand />} collapsible={true}>
453
+ <Nav alignment="start">
454
+ <NavItem>Home</NavItem>
455
+ <NavItem>Products</NavItem>
456
+ <NavDropdown title="Services">
457
+ <Menu>
458
+ <MenuItem href="#">Service 1</MenuItem>
459
+ <MenuItem href="#">Service 2</MenuItem>
460
+ <MenuItem href="#">Service 3</MenuItem>
461
+ </Menu>
462
+ </NavDropdown>
463
+ <NavDropdown title="Resources" megaMenu>
464
+ <MegaMenu>
465
+ <MegaMenuColumn title="Documentation" icon="icon-lux-file">
466
+ <MegaMenuLink href="#">Getting Started</MegaMenuLink>
467
+ <MegaMenuLink href="#">Components</MegaMenuLink>
468
+ <MegaMenuLink href="#">API Reference</MegaMenuLink>
469
+ </MegaMenuColumn>
470
+ <MegaMenuColumn title="Resources" icon="icon-lux-bookmark">
471
+ <MegaMenuLink href="#">Blog</MegaMenuLink>
472
+ <MegaMenuLink href="#">Tutorials</MegaMenuLink>
473
+ <MegaMenuLink href="#">Examples</MegaMenuLink>
474
+ </MegaMenuColumn>
475
+ <MegaMenuColumn title="Support" icon="icon-lux-question-circle">
476
+ <MegaMenuLink href="#">FAQs</MegaMenuLink>
477
+ <MegaMenuLink href="#">Community</MegaMenuLink>
478
+ <MegaMenuLink href="#">Contact Us</MegaMenuLink>
479
+ </MegaMenuColumn>
480
+ </MegaMenu>
481
+ </NavDropdown>
482
+ <NavItem>Contact</NavItem>
483
+ </Nav>
484
+ <Nav alignment="end">
485
+ <NavItem>
486
+ <Icon name="Bell" size="sm" className="u-me-2" />
487
+ Notifications
488
+ </NavItem>
489
+ <NavDropdown
490
+ title={
491
+ <>
492
+ <div
493
+ className="c-avatar c-avatar--sm c-avatar--circle"
494
+ style={{
495
+ backgroundColor: '#7C3AED',
496
+ display: 'flex',
497
+ alignItems: 'center',
498
+ justifyContent: 'center',
499
+ color: 'white',
500
+ fontSize: '12px',
501
+ fontWeight: 'bold',
502
+ }}
503
+ >
504
+ JD
505
+ </div>
506
+ </>
507
+ }
508
+ >
509
+ <Menu>
510
+ <MenuItem href="#" icon="icon-lux-user">
511
+ Profile
512
+ </MenuItem>
513
+ <MenuItem href="#" icon="icon-lux-settings">
514
+ Settings
515
+ </MenuItem>
516
+ <MenuDivider />
517
+ <MenuItem href="#" icon="icon-lux-sign-out">
518
+ Logout
519
+ </MenuItem>
520
+ </Menu>
521
+ </NavDropdown>
522
+ </Nav>
523
+ </Navbar>
524
+ ),
525
+ };
526
+
527
+ // Mega Menu vs Dropdown Comparison
528
+ export const MegaMenuVsDropdown: Story = {
529
+ render: () => (
530
+ <div className="u-d-flex u-flex-column u-gap-3">
531
+ <div>
532
+ <h4 className="u-mb-3">Regular Dropdown</h4>
533
+ <Navbar brand={<LogoBrand />}>
534
+ <Nav alignment="start">
535
+ <NavItem>Home</NavItem>
536
+ <NavDropdown title="Regular Dropdown" megaMenu={false}>
537
+ <Menu>
538
+ <MenuItem href="#">Menu Item 1</MenuItem>
539
+ <MenuItem href="#">Menu Item 2</MenuItem>
540
+ <MenuItem href="#">Menu Item 3</MenuItem>
541
+ </Menu>
542
+ </NavDropdown>
543
+ </Nav>
544
+ </Navbar>
545
+ </div>
546
+
547
+ <div>
548
+ <h4 className="u-mb-3">Mega Menu</h4>
549
+ <Navbar brand={<LogoBrand />}>
550
+ <Nav alignment="start">
551
+ <NavItem>Home</NavItem>
552
+ <NavDropdown title="Mega Menu" megaMenu={true}>
553
+ <MegaMenu>
554
+ <MegaMenuColumn title="Column 1" icon="icon-lux-circle">
555
+ <MegaMenuLink href="#">Link 1</MegaMenuLink>
556
+ <MegaMenuLink href="#">Link 2</MegaMenuLink>
557
+ </MegaMenuColumn>
558
+ <MegaMenuColumn title="Column 2" icon="icon-lux-circle">
559
+ <MegaMenuLink href="#">Link 1</MegaMenuLink>
560
+ <MegaMenuLink href="#">Link 2</MegaMenuLink>
561
+ </MegaMenuColumn>
562
+ </MegaMenu>
563
+ </NavDropdown>
564
+ </Nav>
565
+ </Navbar>
566
+ </div>
567
+ </div>
568
+ ),
569
+ };