@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,110 @@
1
+ import { useState, useCallback, useEffect } from 'react';
2
+
3
+ export interface UseModalProps {
4
+ /**
5
+ * Whether the modal is open
6
+ */
7
+ isOpen?: boolean;
8
+
9
+ /**
10
+ * Callback when modal state changes
11
+ */
12
+ onOpenChange?: (isOpen: boolean) => void;
13
+
14
+ /**
15
+ * Callback when modal opens
16
+ */
17
+ onOpen?: () => void;
18
+
19
+ /**
20
+ * Callback when modal closes
21
+ */
22
+ onClose?: () => void;
23
+ }
24
+
25
+ export interface UseModalReturn {
26
+ /**
27
+ * Current open state
28
+ */
29
+ isOpen: boolean;
30
+
31
+ /**
32
+ * Function to open the modal
33
+ */
34
+ open: () => void;
35
+
36
+ /**
37
+ * Function to close the modal
38
+ */
39
+ close: () => void;
40
+
41
+ /**
42
+ * Function to toggle the modal
43
+ */
44
+ toggle: () => void;
45
+ }
46
+
47
+ /**
48
+ * Hook for managing modal state
49
+ */
50
+ export function useModal({
51
+ isOpen: isOpenProp,
52
+ onOpenChange,
53
+ onOpen,
54
+ onClose,
55
+ }: UseModalProps = {}): UseModalReturn {
56
+ // For uncontrolled usage
57
+ const [isOpenState, setIsOpenState] = useState(false);
58
+
59
+ // Determine if we're in controlled or uncontrolled mode
60
+ const isControlled = isOpenProp !== undefined;
61
+ const isOpen = isControlled ? !!isOpenProp : isOpenState;
62
+
63
+ // Update internal state when prop changes (for controlled mode)
64
+ useEffect(() => {
65
+ if (isControlled) {
66
+ setIsOpenState(!!isOpenProp);
67
+ }
68
+ }, [isOpenProp, isControlled]);
69
+
70
+ const updateOpen = useCallback(
71
+ (nextIsOpen: boolean) => {
72
+ // For uncontrolled mode, update internal state
73
+ if (!isControlled) {
74
+ setIsOpenState(nextIsOpen);
75
+ }
76
+
77
+ // Call the change handler in either mode
78
+ if (onOpenChange) {
79
+ onOpenChange(nextIsOpen);
80
+ }
81
+
82
+ // Call the specific handler
83
+ if (nextIsOpen && onOpen) {
84
+ onOpen();
85
+ } else if (!nextIsOpen && onClose) {
86
+ onClose();
87
+ }
88
+ },
89
+ [isControlled, onOpenChange, onOpen, onClose]
90
+ );
91
+
92
+ const open = useCallback(() => {
93
+ updateOpen(true);
94
+ }, [updateOpen]);
95
+
96
+ const close = useCallback(() => {
97
+ updateOpen(false);
98
+ }, [updateOpen]);
99
+
100
+ const toggle = useCallback(() => {
101
+ updateOpen(!isOpen);
102
+ }, [isOpen, updateOpen]);
103
+
104
+ return {
105
+ isOpen,
106
+ open,
107
+ close,
108
+ toggle,
109
+ };
110
+ }
@@ -0,0 +1,288 @@
1
+ import { useState } from 'react';
2
+ import { NavbarProps, NavProps, NavItemProps, NavDropdownProps } from '../types/components';
3
+ import { NAVBAR, NAV } from '../constants/components';
4
+ import React from 'react';
5
+ import { Icon } from '../../components/Icon/Icon';
6
+
7
+ /**
8
+ * Navbar state and functionality
9
+ * @param initialProps - Initial navbar properties
10
+ * @returns Navbar state and methods
11
+ */
12
+ export function useNavbar(initialProps?: Partial<NavbarProps>) {
13
+ // Default navbar properties
14
+ const defaultProps: Partial<NavbarProps> = {
15
+ position: 'static',
16
+ collapsible: true,
17
+ backdrop: false,
18
+ closeOnOutsideClick: true,
19
+ closeOnEscape: true,
20
+ ariaLabel: 'Main navigation',
21
+ ...initialProps,
22
+ };
23
+
24
+ // Local expanded state for when not controlled externally
25
+ const [isExpanded, setIsExpanded] = useState(defaultProps.expanded || false);
26
+
27
+ /**
28
+ * Generate navbar class based on properties
29
+ * @param props - Navbar properties
30
+ * @returns Class string
31
+ */
32
+ const generateNavbarClass = (props: Partial<NavbarProps>): string => {
33
+ const {
34
+ position = defaultProps.position,
35
+ variant,
36
+ collapsible = defaultProps.collapsible,
37
+ className = '',
38
+ } = props;
39
+
40
+ const positionClass = position !== 'static' ? `c-navbar--${position}` : '';
41
+ const variantClass = variant ? `c-navbar--${variant}` : '';
42
+ const collapsibleClass = collapsible ? 'c-navbar--collapsible' : '';
43
+
44
+ return `c-navbar ${positionClass} ${variantClass} ${collapsibleClass} ${className}`.trim();
45
+ };
46
+
47
+ /**
48
+ * Generate container style
49
+ * @param width - Container width
50
+ * @returns Style object
51
+ */
52
+ const generateContainerStyle = (width?: string) => {
53
+ return width ? { maxWidth: width } : {};
54
+ };
55
+
56
+ /**
57
+ * Generate collapse class based on expanded state
58
+ * @param expanded - Whether the collapse is expanded
59
+ * @returns Class string
60
+ */
61
+ const generateCollapseClass = (expanded: boolean): string => {
62
+ return `c-navbar__collapse ${expanded ? 'is-expanded' : ''}`.trim();
63
+ };
64
+
65
+ /**
66
+ * Toggle expanded state
67
+ */
68
+ const toggleExpanded = () => {
69
+ const newState = !isExpanded;
70
+ setIsExpanded(newState);
71
+
72
+ if (defaultProps.onToggle) {
73
+ defaultProps.onToggle(newState);
74
+ }
75
+ };
76
+
77
+ /**
78
+ * Get current expanded state
79
+ * @param controlled - External expanded value if controlled
80
+ * @returns Current expanded state
81
+ */
82
+ const getExpandedState = (controlled?: boolean): boolean => {
83
+ return typeof controlled !== 'undefined' ? controlled : isExpanded;
84
+ };
85
+
86
+ return {
87
+ defaultProps,
88
+ isExpanded,
89
+ setIsExpanded,
90
+ generateNavbarClass,
91
+ generateContainerStyle,
92
+ generateCollapseClass,
93
+ toggleExpanded,
94
+ getExpandedState,
95
+ };
96
+ }
97
+
98
+ /**
99
+ * Nav state and functionality
100
+ * @param initialProps - Initial nav properties
101
+ * @returns Nav state and methods
102
+ */
103
+ export function useNav(initialProps?: Partial<NavProps>) {
104
+ // Default nav properties
105
+ const defaultProps: Partial<NavProps> = {
106
+ alignment: 'start',
107
+ variant: 'default',
108
+ ...initialProps,
109
+ };
110
+
111
+ /**
112
+ * Generate nav class based on properties
113
+ * @param props - Nav properties
114
+ * @returns Class string
115
+ */
116
+ const generateNavClass = (props: Partial<NavProps>): string => {
117
+ const {
118
+ alignment = defaultProps.alignment,
119
+ variant = defaultProps.variant,
120
+ className = '',
121
+ } = props;
122
+
123
+ const alignmentClass = alignment !== 'start' ? `c-nav--${alignment}` : '';
124
+ const variantClass = variant !== 'default' ? `c-nav--${variant}` : '';
125
+
126
+ return `c-nav ${alignmentClass} ${variantClass} ${className}`.trim();
127
+ };
128
+
129
+ return {
130
+ defaultProps,
131
+ generateNavClass,
132
+ };
133
+ }
134
+
135
+ /**
136
+ * Nav item state and functionality
137
+ * @param initialProps - Initial nav item properties
138
+ * @returns Nav item state and methods
139
+ */
140
+ export function useNavItem(initialProps?: Partial<NavItemProps & { megaMenu?: boolean }>) {
141
+ // Default nav item properties
142
+ const defaultProps: Partial<NavItemProps & { megaMenu?: boolean }> = {
143
+ dropdown: false,
144
+ megaMenu: false,
145
+ active: false,
146
+ ...initialProps,
147
+ };
148
+
149
+ /**
150
+ * Generate nav item class based on properties
151
+ * @param props - Nav item properties
152
+ * @returns Class string
153
+ */
154
+ const generateNavItemClass = (props: Partial<NavItemProps & { megaMenu?: boolean }>): string => {
155
+ const {
156
+ dropdown = defaultProps.dropdown,
157
+ megaMenu = defaultProps.megaMenu,
158
+ active = defaultProps.active,
159
+ disabled = defaultProps.disabled,
160
+ className = '',
161
+ } = props;
162
+
163
+ // Apply dropdown class only for regular dropdowns, not mega menus
164
+ const dropdownClass = dropdown && !megaMenu ? NAV.SELECTORS.DROPDOWN.replace('.', '') : '';
165
+ // Add a custom class for mega menu items if needed
166
+ const megaMenuClass = megaMenu ? 'c-nav__item--mega-menu' : '';
167
+ const activeClass = active ? NAV.CLASSES.ACTIVE : '';
168
+ const disabledClass = disabled ? NAV.CLASSES.DISABLED : '';
169
+
170
+ return `c-nav__item ${dropdownClass} ${megaMenuClass} ${activeClass} ${disabledClass} ${className}`.trim();
171
+ };
172
+
173
+ /**
174
+ * Generate nav link class based on properties
175
+ * @param active - Whether link is active
176
+ * @param disabled - Whether link is disabled
177
+ * @param className - Additional class names
178
+ * @returns Class string
179
+ */
180
+ const generateNavLinkClass = (active = false, disabled = false, className = ''): string => {
181
+ const activeClass = active ? NAV.CLASSES.ACTIVE : '';
182
+ const disabledClass = disabled ? 'c-nav__link--disabled' : '';
183
+
184
+ return `c-nav__link ${activeClass} ${disabledClass} ${className}`.trim();
185
+ };
186
+
187
+ /**
188
+ * Handle nav item click with disabled check
189
+ * @param handler - Click handler function
190
+ * @returns Function that respects disabled state
191
+ */
192
+ const handleClick = (handler?: () => void) => {
193
+ return (e: React.MouseEvent) => {
194
+ if (defaultProps.disabled || !handler) {
195
+ e.preventDefault();
196
+ return;
197
+ }
198
+
199
+ handler();
200
+ };
201
+ };
202
+
203
+ return {
204
+ defaultProps,
205
+ generateNavItemClass,
206
+ generateNavLinkClass,
207
+ handleClick,
208
+ };
209
+ }
210
+
211
+ /**
212
+ * Nav dropdown state and functionality
213
+ * @param initialProps - Initial dropdown properties
214
+ * @returns Dropdown state and methods
215
+ */
216
+ export function useNavDropdown(initialProps?: Partial<NavDropdownProps>) {
217
+ // Default dropdown properties
218
+ const defaultProps: Partial<NavDropdownProps> = {
219
+ alignment: 'start',
220
+ megaMenu: false,
221
+ ...initialProps,
222
+ };
223
+
224
+ /**
225
+ * Generate dropdown menu class based on properties
226
+ * @param props - Dropdown properties
227
+ * @returns Class string
228
+ */
229
+ const generateDropdownMenuClass = (props: Partial<NavDropdownProps>): string => {
230
+ const {
231
+ alignment = defaultProps.alignment,
232
+ megaMenu = defaultProps.megaMenu,
233
+ className = '',
234
+ } = props;
235
+
236
+ // Select the base class based on mega menu or regular dropdown
237
+ const baseClass = megaMenu
238
+ ? NAV.SELECTORS.MEGA_MENU.replace('.', '')
239
+ : NAV.SELECTORS.DROPDOWN_MENU.replace('.', '');
240
+
241
+ // Add alignment class if not default 'start'
242
+ let alignmentClass = '';
243
+ if (alignment === 'center') {
244
+ alignmentClass = `${baseClass}--center`;
245
+ } else if (alignment === 'end') {
246
+ alignmentClass = `${baseClass}--end`;
247
+ }
248
+
249
+ return `${baseClass} ${alignmentClass} ${className}`.trim();
250
+ };
251
+
252
+ /**
253
+ * Detect whether we're in a fixed-bottom navbar
254
+ * @returns Boolean indicating if in fixed-bottom navbar
255
+ */
256
+ const isInFixedBottomNavbar = (): boolean => {
257
+ // This would need to be called in the component itself
258
+ // because it requires DOM access
259
+ return document.querySelector('.c-navbar--fixed-bottom') !== null;
260
+ };
261
+
262
+ /**
263
+ * Get the appropriate icon name based on navbar position
264
+ * @param isMegaMenu - Whether it's a mega menu
265
+ * @returns Icon name for the new Icon component
266
+ */
267
+ const getIconName = (isMegaMenu: boolean = false): string => {
268
+ const isFixedBottom = isInFixedBottomNavbar();
269
+ return isFixedBottom ? 'CaretUp' : 'CaretDown';
270
+ };
271
+
272
+ // Keeping this for backward compatibility
273
+ const getIconClass = (isMegaMenu: boolean = false): string => {
274
+ console.warn(
275
+ 'getIconClass is deprecated. Please use the Icon component directly with the getIconName function.'
276
+ );
277
+ const isFixedBottom = isInFixedBottomNavbar();
278
+ return `c-nav__icon ${isFixedBottom ? 'icon-lux-caret-up' : 'icon-lux-caret-down'}`;
279
+ };
280
+
281
+ return {
282
+ defaultProps,
283
+ generateDropdownMenuClass,
284
+ isInFixedBottomNavbar,
285
+ getIconClass,
286
+ getIconName,
287
+ };
288
+ }
@@ -0,0 +1,101 @@
1
+ import { useState, useMemo } from 'react';
2
+ import { PaginationProps } from '../types/components';
3
+
4
+ export const DOTS = '...';
5
+
6
+ const range = (start: number, end: number) => {
7
+ const length = end - start + 1;
8
+ return Array.from({ length }, (_, idx) => idx + start);
9
+ };
10
+
11
+ export const usePagination = ({
12
+ currentPage,
13
+ totalPages,
14
+ siblingCount = 1,
15
+ onPageChange,
16
+ }: Omit<PaginationProps, 'className'>) => {
17
+ const paginationRange = useMemo(() => {
18
+ const totalPageNumbers = siblingCount + 5; // siblingCount + firstPage + lastPage + currentPage + 2*DOTS
19
+
20
+ /*
21
+ Case 1: If the number of pages is less than the page numbers we want to show in our
22
+ paginationComponent, we return the range [1..totalPages]
23
+ */
24
+ if (totalPageNumbers >= totalPages) {
25
+ return range(1, totalPages);
26
+ }
27
+
28
+ const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);
29
+ const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPages);
30
+
31
+ const shouldShowLeftDots = leftSiblingIndex > 2;
32
+ const shouldShowRightDots = rightSiblingIndex < totalPages - 2;
33
+
34
+ const firstPageIndex = 1;
35
+ const lastPageIndex = totalPages;
36
+
37
+ /*
38
+ Case 2: No left dots to show, but rights dots to be shown
39
+ */
40
+ if (!shouldShowLeftDots && shouldShowRightDots) {
41
+ let leftItemCount = 3 + 2 * siblingCount;
42
+ let leftRange = range(1, leftItemCount);
43
+
44
+ return [...leftRange, DOTS, totalPages];
45
+ }
46
+
47
+ /*
48
+ Case 3: No right dots to show, but left dots to be shown
49
+ */
50
+ if (shouldShowLeftDots && !shouldShowRightDots) {
51
+ let rightItemCount = 3 + 2 * siblingCount;
52
+ let rightRange = range(totalPages - rightItemCount + 1, totalPages);
53
+ return [firstPageIndex, DOTS, ...rightRange];
54
+ }
55
+
56
+ /*
57
+ Case 4: Both left and right dots to be shown
58
+ */
59
+ if (shouldShowLeftDots && shouldShowRightDots) {
60
+ let middleRange = range(leftSiblingIndex, rightSiblingIndex);
61
+ return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];
62
+ }
63
+
64
+ // This case should ideally not be reached if logic is correct
65
+ return [];
66
+ }, [totalPages, siblingCount, currentPage]);
67
+
68
+ const goToPage = (page: number) => {
69
+ if (page >= 1 && page <= totalPages && page !== currentPage) {
70
+ onPageChange(page);
71
+ }
72
+ };
73
+
74
+ const nextPage = () => {
75
+ goToPage(currentPage + 1);
76
+ };
77
+
78
+ const prevPage = () => {
79
+ goToPage(currentPage - 1);
80
+ };
81
+
82
+ const firstPage = () => {
83
+ goToPage(1);
84
+ };
85
+
86
+ const lastPage = () => {
87
+ goToPage(totalPages);
88
+ };
89
+
90
+ return {
91
+ paginationRange,
92
+ currentPage,
93
+ totalPages,
94
+ goToPage,
95
+ nextPage,
96
+ prevPage,
97
+ firstPage,
98
+ lastPage,
99
+ DOTS,
100
+ };
101
+ };