robobyte-front-builder 1.0.17 → 1.0.21

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 (516) hide show
  1. package/README.md +211 -0
  2. package/next.config.js +19 -48
  3. package/package.json +39 -85
  4. package/src/context/BuilderContext.jsx +134 -6
  5. package/src/context/SystemContext.js +2 -2
  6. package/src/hooks/useGlobalStore.js +36 -0
  7. package/src/hooks/useTimerEngine.js +54 -0
  8. package/src/lib/index.js +11 -3
  9. package/src/lib/layouts/BlankLayout.jsx +13 -0
  10. package/src/lib/providers/RoboByteFrontBuilderProvider.jsx +59 -1
  11. package/src/lib/themes/builderTheme.js +41 -0
  12. package/src/pages/_app.js +32 -134
  13. package/src/pages/api/ai.js +87 -0
  14. package/src/pages/builders/report/index.js +1 -0
  15. package/src/pages/builders/report/list/index.js +1 -0
  16. package/src/pages/builders/report/viewer/index.js +1 -0
  17. package/src/pages/index.js +88 -37
  18. package/src/pages/printBuilder/index.jsx +263 -0
  19. package/src/pages/printBuilder/layouts/index.jsx +298 -0
  20. package/src/pages/reportModule/reportBuilder/index.js +723 -563
  21. package/src/pages/reportModule/reportBuilder/reportViewer/index.js +137 -71
  22. package/src/pages/reportModule/reportBuilder/reports/index.js +51 -13
  23. package/src/pages/reportModule/reportBuilder/reportsPermissions/index.js +126 -0
  24. package/src/pages/viewBuilder/index.jsx +117 -32
  25. package/src/pages/viewBuilder/views/index.js +3 -3
  26. package/src/pages/viewer/[id]/index.js +2 -1
  27. package/src/services/DeleteService.js +31 -60
  28. package/src/services/Endpoints/PrintLayoutEndpoints.js +42 -0
  29. package/src/services/Endpoints.js +2 -0
  30. package/src/services/GetService.js +33 -54
  31. package/src/services/PatchService.js +38 -65
  32. package/src/services/PostService.js +37 -63
  33. package/src/services/UpdateService.js +39 -65
  34. package/src/services/builderHelper/actionExecutor.js +141 -25
  35. package/src/services/builderHelper/builderHelper.js +92 -0
  36. package/src/services/builderHelper/colorSchema.js +95 -0
  37. package/src/services/builderHelper/iconResolver.js +50 -0
  38. package/src/services/builderHelper/jsExecutor.js +212 -46
  39. package/src/services/builderHelper/nodeFactory.js +32 -15
  40. package/src/services/builderHelper/numberFormat.js +123 -0
  41. package/src/services/builderHelper/resolveProps.js +73 -4
  42. package/src/services/builderHelper/thresholdEngine.js +77 -0
  43. package/src/services/builderHelper/tree.js +31 -0
  44. package/src/services/components/agGridAutoComplete.js +5 -9
  45. package/src/services/config.js +9 -1
  46. package/src/services/globalStore.js +80 -0
  47. package/src/services/helper/multiSelectEditor.js +5 -9
  48. package/src/services/helper/multiSelectEditorByBuilder.js +241 -0
  49. package/src/services/helper/reportSessionHelper.js +83 -0
  50. package/src/services/reportData/fetchReportData.js +69 -28
  51. package/src/services/routerRef.js +35 -0
  52. package/src/views/ConfirmDialog.js +2 -2
  53. package/src/views/builder/JSEditor.js +105 -107
  54. package/src/views/builder/inspector/Inspector.jsx +6 -9
  55. package/src/views/builder/inspector/Tabs/ComponentActionsTab.jsx +7 -13
  56. package/src/views/builder/inspector/Tabs/MainTab.jsx +143 -25
  57. package/src/views/builder/inspector/Tabs/RulesTab.jsx +9 -24
  58. package/src/views/builder/inspector/Tabs/StyleTab.jsx +9 -24
  59. package/src/views/builder/inspector/definitions/autocomplete/main.js +4 -6
  60. package/src/views/builder/inspector/definitions/banner/actions.js +7 -0
  61. package/src/views/builder/inspector/definitions/banner/main.js +22 -0
  62. package/src/views/builder/inspector/definitions/banner/rules.js +1 -0
  63. package/src/views/builder/inspector/definitions/banner/style.js +1 -0
  64. package/src/views/builder/inspector/definitions/breadcrumb/main.js +43 -6
  65. package/src/views/builder/inspector/definitions/button/main.js +11 -12
  66. package/src/views/builder/inspector/definitions/button/style.js +18 -30
  67. package/src/views/builder/inspector/definitions/checkbox/actions.js +3 -1
  68. package/src/views/builder/inspector/definitions/checkbox/main.js +4 -6
  69. package/src/views/builder/inspector/definitions/common/main.js +13 -2
  70. package/src/views/builder/inspector/definitions/dataGrid/main.js +23 -0
  71. package/src/views/builder/inspector/definitions/dataTableViewer/main.js +46 -0
  72. package/src/views/builder/inspector/definitions/datepicker/actions.js +3 -1
  73. package/src/views/builder/inspector/definitions/datepicker/main.js +6 -14
  74. package/src/views/builder/inspector/definitions/dialog/main.js +36 -0
  75. package/src/views/builder/inspector/definitions/dropdown/main.js +5 -8
  76. package/src/views/builder/inspector/definitions/excelUpload/actions.js +23 -0
  77. package/src/views/builder/inspector/definitions/excelUpload/main.js +17 -0
  78. package/src/views/builder/inspector/definitions/excelUpload/rules.js +1 -0
  79. package/src/views/builder/inspector/definitions/excelUpload/style.js +45 -0
  80. package/src/views/builder/inspector/definitions/header/main.js +10 -1
  81. package/src/views/builder/inspector/definitions/index.js +106 -19
  82. package/src/views/builder/inspector/definitions/input/actions.js +4 -1
  83. package/src/views/builder/inspector/definitions/input/main.js +20 -11
  84. package/src/views/builder/inspector/definitions/kpi/avatarGroup.js +22 -0
  85. package/src/views/builder/inspector/definitions/kpi/badge.js +17 -0
  86. package/src/views/builder/inspector/definitions/kpi/bulletChart.js +47 -0
  87. package/src/views/builder/inspector/definitions/kpi/chart.js +55 -0
  88. package/src/views/builder/inspector/definitions/kpi/colorScale.js +60 -0
  89. package/src/views/builder/inspector/definitions/kpi/comparisonBars.js +41 -0
  90. package/src/views/builder/inspector/definitions/kpi/countdown.js +46 -0
  91. package/src/views/builder/inspector/definitions/kpi/donut.js +51 -0
  92. package/src/views/builder/inspector/definitions/kpi/funnel.js +25 -0
  93. package/src/views/builder/inspector/definitions/kpi/gauge.js +39 -0
  94. package/src/views/builder/inspector/definitions/kpi/heatmapGrid.js +96 -0
  95. package/src/views/builder/inspector/definitions/kpi/iconBox.js +20 -0
  96. package/src/views/builder/inspector/definitions/kpi/metric.js +45 -0
  97. package/src/views/builder/inspector/definitions/kpi/rating.js +27 -0
  98. package/src/views/builder/inspector/definitions/kpi/statusDot.js +18 -0
  99. package/src/views/builder/inspector/definitions/kpi/stepStage.js +65 -0
  100. package/src/views/builder/inspector/definitions/kpi/tagList.js +32 -0
  101. package/src/views/builder/inspector/definitions/kpi/timeline.js +80 -0
  102. package/src/views/builder/inspector/definitions/kpi/trend.js +20 -0
  103. package/src/views/builder/inspector/definitions/label/main.js +10 -1
  104. package/src/views/builder/inspector/definitions/layout/main.js +27 -3
  105. package/src/views/builder/inspector/definitions/number/main.js +6 -14
  106. package/src/views/builder/inspector/definitions/pageNumber/main.js +21 -0
  107. package/src/views/builder/inspector/definitions/popover/main.js +71 -0
  108. package/src/views/builder/inspector/definitions/radio/main.js +5 -8
  109. package/src/views/builder/inspector/definitions/repeater/main.js +31 -0
  110. package/src/views/builder/inspector/definitions/reportViewer/main.js +15 -1
  111. package/src/views/builder/inspector/definitions/richtext/main.js +5 -8
  112. package/src/views/builder/inspector/definitions/signature/main.js +4 -1
  113. package/src/views/builder/inspector/definitions/tag/main.js +5 -8
  114. package/src/views/builder/inspector/definitions/textarea/actions.js +4 -1
  115. package/src/views/builder/inspector/definitions/textarea/main.js +5 -7
  116. package/src/views/builder/inspector/definitions/time/main.js +5 -8
  117. package/src/views/builder/inspector/definitions/toggle/main.js +5 -19
  118. package/src/views/builder/inspector/definitions/treeView/main.js +61 -0
  119. package/src/views/builder/inspector/definitions/viewRenderer/main.js +53 -0
  120. package/src/views/builder/inspector/definitions/wizard/main.js +68 -0
  121. package/src/views/builder/inspector/definitions/wizard-step/main.js +25 -0
  122. package/src/views/builder/inspector/fields/ActionsConfigEditor.jsx +426 -0
  123. package/src/views/builder/inspector/fields/ColorSchemaField.jsx +140 -0
  124. package/src/views/builder/inspector/fields/ColumnFunctionEditor.jsx +238 -0
  125. package/src/views/builder/inspector/fields/ColumnMappingEditor.jsx +105 -0
  126. package/src/views/builder/inspector/fields/ColumnsConfigEditor.jsx +506 -0
  127. package/src/views/builder/inspector/fields/DonutRingsEditorField.jsx +337 -0
  128. package/src/views/builder/inspector/fields/ExtraColsEditor.jsx +618 -0
  129. package/src/views/builder/inspector/fields/FunctionHelpPopover.jsx +295 -0
  130. package/src/views/builder/inspector/fields/IconEditor.jsx +64 -0
  131. package/src/views/builder/inspector/fields/KpiActionField.jsx +223 -0
  132. package/src/views/builder/inspector/fields/MarkersEditorField.jsx +173 -0
  133. package/src/views/builder/inspector/fields/SelectEditor.jsx +9 -5
  134. package/src/views/builder/inspector/fields/SeriesEditorField.jsx +363 -0
  135. package/src/views/builder/inspector/fields/TableColumnsEditor.jsx +104 -0
  136. package/src/views/builder/inspector/fields/ThresholdsEditor.jsx +247 -0
  137. package/src/views/builder/inspector/fields/ValueFunctionsRefPanel.jsx +217 -0
  138. package/src/views/builder/inspector/fields/columnEditorShared.jsx +217 -0
  139. package/src/views/builder/sidebar/Sidebar.jsx +4 -2
  140. package/src/views/builder/sidebar/SidebarTabs.jsx +28 -17
  141. package/src/views/builder/sidebar/tabs/ActionsTab.jsx +7 -3
  142. package/src/views/builder/sidebar/tabs/AiTab/AiPreviewDialog.jsx +193 -0
  143. package/src/views/builder/sidebar/tabs/AiTab/aiProvider.js +49 -0
  144. package/src/views/builder/sidebar/tabs/AiTab/index.jsx +409 -0
  145. package/src/views/builder/sidebar/tabs/AiTab/schemaTransformer.js +102 -0
  146. package/src/views/builder/sidebar/tabs/AiTab/schemaValidator.js +64 -0
  147. package/src/views/builder/sidebar/tabs/AiTab/systemPrompt.js +1151 -0
  148. package/src/views/builder/sidebar/tabs/Components/ComponentsTab.jsx +31 -31
  149. package/src/views/builder/sidebar/tabs/Components/componentCatalog.js +43 -21
  150. package/src/views/builder/sidebar/tabs/Components/printComponentCatalog.js +81 -0
  151. package/src/views/builder/sidebar/tabs/TimersTab.jsx +338 -0
  152. package/src/views/builder/sidebar/tabs/TreeTab.jsx +13 -4
  153. package/src/views/builder/sidebar/tabs/ViewTab.jsx +1 -1
  154. package/src/views/builder/viewer/AdornedLabel.jsx +82 -0
  155. package/src/views/builder/viewer/ComponentRenderer.jsx +98 -24
  156. package/src/views/builder/viewer/DialogsZone.jsx +259 -0
  157. package/src/views/builder/viewer/FieldLabel.jsx +106 -0
  158. package/src/views/builder/viewer/PrintDialog.jsx +481 -0
  159. package/src/views/builder/viewer/ProductionViewer.jsx +80 -5
  160. package/src/views/builder/viewer/Viewer.jsx +106 -8
  161. package/src/views/builder/viewer/ViewerComponentWrapper.jsx +61 -4
  162. package/src/views/builder/viewer/ViewerToolbar.jsx +273 -59
  163. package/src/views/builder/viewer/renderers/AutoCompleteRenderer.jsx +26 -22
  164. package/src/views/builder/viewer/renderers/AvatarGroupRenderer.jsx +112 -0
  165. package/src/views/builder/viewer/renderers/BadgeRenderer.jsx +79 -0
  166. package/src/views/builder/viewer/renderers/BannerRenderer.jsx +62 -0
  167. package/src/views/builder/viewer/renderers/BreadcrumbRenderer.jsx +203 -15
  168. package/src/views/builder/viewer/renderers/BulletChartRenderer.jsx +147 -0
  169. package/src/views/builder/viewer/renderers/ButtonRenderer.jsx +98 -39
  170. package/src/views/builder/viewer/renderers/CardRenderer.jsx +1 -1
  171. package/src/views/builder/viewer/renderers/ChartRenderer.jsx +388 -0
  172. package/src/views/builder/viewer/renderers/CheckboxRenderer.jsx +17 -9
  173. package/src/views/builder/viewer/renderers/ColorScaleRenderer.jsx +300 -0
  174. package/src/views/builder/viewer/renderers/ComparisonBarsRenderer.jsx +133 -0
  175. package/src/views/builder/viewer/renderers/ContainerRenderer.jsx +3 -1
  176. package/src/views/builder/viewer/renderers/CountdownRenderer.jsx +249 -0
  177. package/src/views/builder/viewer/renderers/DataGridRenderer.jsx +380 -0
  178. package/src/views/builder/viewer/renderers/DataTableViewerRenderer.jsx +240 -0
  179. package/src/views/builder/viewer/renderers/DatePickerRenderer.jsx +25 -24
  180. package/src/views/builder/viewer/renderers/DialogRenderer.jsx +327 -0
  181. package/src/views/builder/viewer/renderers/DividerRenderer.jsx +1 -1
  182. package/src/views/builder/viewer/renderers/DonutRenderer.jsx +294 -0
  183. package/src/views/builder/viewer/renderers/DropdownRenderer.jsx +36 -44
  184. package/src/views/builder/viewer/renderers/ExcelUploadRenderer.jsx +639 -0
  185. package/src/views/builder/viewer/renderers/FunnelRenderer.jsx +93 -0
  186. package/src/views/builder/viewer/renderers/GaugeRenderer.jsx +159 -0
  187. package/src/views/builder/viewer/renderers/HeaderRenderer.jsx +31 -9
  188. package/src/views/builder/viewer/renderers/HeatmapGridRenderer.jsx +432 -0
  189. package/src/views/builder/viewer/renderers/IconBoxRenderer.jsx +59 -0
  190. package/src/views/builder/viewer/renderers/ImageRenderer.jsx +1 -1
  191. package/src/views/builder/viewer/renderers/InputRenderer.jsx +75 -18
  192. package/src/views/builder/viewer/renderers/LabelRenderer.jsx +35 -9
  193. package/src/views/builder/viewer/renderers/LayoutCellRenderer.jsx +102 -40
  194. package/src/views/builder/viewer/renderers/LayoutContextMenu.jsx +8 -8
  195. package/src/views/builder/viewer/renderers/LayoutRenderer.jsx +48 -6
  196. package/src/views/builder/viewer/renderers/LinkRenderer.jsx +1 -1
  197. package/src/views/builder/viewer/renderers/MenuRenderer.jsx +2 -2
  198. package/src/views/builder/viewer/renderers/MetricRenderer.jsx +80 -0
  199. package/src/views/builder/viewer/renderers/NumberFormatRenderer.jsx +21 -30
  200. package/src/views/builder/viewer/renderers/PageNumberRenderer.jsx +76 -0
  201. package/src/views/builder/viewer/renderers/PopoverRenderer.jsx +350 -0
  202. package/src/views/builder/viewer/renderers/ProgressCircleRenderer.jsx +1 -1
  203. package/src/views/builder/viewer/renderers/ProgressLineRenderer.jsx +1 -1
  204. package/src/views/builder/viewer/renderers/RadioGroupRenderer.jsx +28 -39
  205. package/src/views/builder/viewer/renderers/RatingRenderer.jsx +80 -0
  206. package/src/views/builder/viewer/renderers/RepeaterRenderer.jsx +297 -38
  207. package/src/views/builder/viewer/renderers/ReportViewerRenderer.jsx +219 -5
  208. package/src/views/builder/viewer/renderers/RichTextRenderer.jsx +60 -66
  209. package/src/views/builder/viewer/renderers/RowActionsCell.jsx +308 -0
  210. package/src/views/builder/viewer/renderers/SignatureRenderer.jsx +33 -62
  211. package/src/views/builder/viewer/renderers/StatusDotRenderer.jsx +75 -0
  212. package/src/views/builder/viewer/renderers/StepStageRenderer.jsx +348 -0
  213. package/src/views/builder/viewer/renderers/TagListRenderer.jsx +115 -0
  214. package/src/views/builder/viewer/renderers/TagPickerRenderer.jsx +31 -45
  215. package/src/views/builder/viewer/renderers/TextAreaRenderer.jsx +25 -18
  216. package/src/views/builder/viewer/renderers/TextRenderer.jsx +7 -1
  217. package/src/views/builder/viewer/renderers/TimePickerRenderer.jsx +25 -24
  218. package/src/views/builder/viewer/renderers/TimelineRenderer.jsx +525 -0
  219. package/src/views/builder/viewer/renderers/ToggleRenderer.jsx +21 -27
  220. package/src/views/builder/viewer/renderers/TreeViewRenderer.jsx +832 -0
  221. package/src/views/builder/viewer/renderers/TrendRenderer.jsx +66 -0
  222. package/src/views/builder/viewer/renderers/ViewRendererRenderer.jsx +315 -0
  223. package/src/views/builder/viewer/renderers/WizardRenderer.jsx +380 -64
  224. package/src/views/builder/viewer/renderers/WizardStepRenderer.jsx +21 -12
  225. package/src/views/builder/viewer/renderers/dataGridComponents.jsx +824 -0
  226. package/src/views/customFilter/CustomFilterDialog.js +1023 -660
  227. package/src/views/customFilter/FixedFilterDialog.js +649 -0
  228. package/src/views/customFilter/SearchFilterDialog.js +248 -0
  229. package/src/views/genericTable/BuilderExpressionParams.js +3 -3
  230. package/src/views/genericTable/ColumnConfiguratorDialog.js +771 -0
  231. package/src/views/genericTable/FixedFilterDialog.js +3 -2
  232. package/src/views/genericTable/FormattingSettingsDialog.js +551 -0
  233. package/src/views/genericTable/ReportSettingsDialog.js +151 -0
  234. package/src/views/genericTable/SGrid.js +1061 -247
  235. package/src/views/genericTable/SearchFilterDialog.js +3 -2
  236. package/src/views/genericTable/TAGGrid.js +83 -69
  237. package/src/views/genericTable/cellEditors/autocompleteEditor.js +5 -9
  238. package/src/views/genericTable/convertStringFunctions.js +336 -0
  239. package/src/views/genericTable/statusBar/rowCountStatusBar.js +3 -1
  240. package/src/views/genericTable/updateRefHelpers.js +424 -0
  241. package/src/views/printBuilder/PrintBuilderViewer.jsx +607 -0
  242. package/src/views/printBuilder/PrintPreviewCanvas.jsx +157 -0
  243. package/src/views/rolePermissions/UpdateReportPermissionDialog.js +316 -0
  244. package/src/@core/components/auth/AclGuard.js +0 -55
  245. package/src/@core/components/auth/AuthGuard.js +0 -40
  246. package/src/@core/components/auth/GuestGuard.js +0 -30
  247. package/src/@core/components/custom-inputs/Horizontal.jsx +0 -143
  248. package/src/@core/components/custom-inputs/Image.jsx +0 -78
  249. package/src/@core/components/custom-inputs/Vertical.jsx +0 -113
  250. package/src/@core/components/customizer/index.jsx +0 -470
  251. package/src/@core/components/customizer/styles.module.css +0 -169
  252. package/src/@core/components/mui/Avatar.jsx +0 -41
  253. package/src/@core/components/mui/Badge.jsx +0 -20
  254. package/src/@core/components/mui/IconButton.jsx +0 -74
  255. package/src/@core/components/mui/TabList.jsx +0 -60
  256. package/src/@core/components/option-menu/index.jsx +0 -137
  257. package/src/@core/components/scroll-to-top/index.jsx +0 -43
  258. package/src/@core/components/spinner/index.js +0 -26
  259. package/src/@core/components/window-wrapper/index.js +0 -27
  260. package/src/@core/contexts/settingsContext.jsx +0 -98
  261. package/src/@core/hooks/useBgColor.js +0 -63
  262. package/src/@core/hooks/useImageVariant.js +0 -27
  263. package/src/@core/hooks/useLayoutInit.js +0 -37
  264. package/src/@core/hooks/useObjectCookie.js +0 -18
  265. package/src/@core/hooks/useSettings.jsx +0 -15
  266. package/src/@core/layouts/BlankLayout.js +0 -37
  267. package/src/@core/layouts/BlankLayoutWithAppBar.js +0 -51
  268. package/src/@core/layouts/HorizontalLayout.jsx +0 -151
  269. package/src/@core/layouts/Layout.js +0 -39
  270. package/src/@core/layouts/VerticalLayout.jsx +0 -124
  271. package/src/@core/layouts/components/blank-layout-with-appBar/index.js +0 -115
  272. package/src/@core/layouts/components/horizontal/app-bar-content/index.js +0 -67
  273. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavGroup.js +0 -352
  274. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavItems.js +0 -21
  275. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavLink.js +0 -195
  276. package/src/@core/layouts/components/horizontal/navigation/index.js +0 -31
  277. package/src/@core/layouts/components/shared-components/LanguageDropdown.js +0 -96
  278. package/src/@core/layouts/components/shared-components/ModeToggler.js +0 -32
  279. package/src/@core/layouts/components/shared-components/NotificationDropdown.js +0 -226
  280. package/src/@core/layouts/components/shared-components/UserDropdown.js +0 -177
  281. package/src/@core/layouts/components/shared-components/footer/FooterContent.js +0 -46
  282. package/src/@core/layouts/components/shared-components/footer/index.js +0 -61
  283. package/src/@core/layouts/components/vertical/appBar/index.js +0 -74
  284. package/src/@core/layouts/components/vertical/navigation/Drawer.js +0 -122
  285. package/src/@core/layouts/components/vertical/navigation/VerticalNavGroup.js +0 -435
  286. package/src/@core/layouts/components/vertical/navigation/VerticalNavHeader.js +0 -180
  287. package/src/@core/layouts/components/vertical/navigation/VerticalNavItems.js +0 -26
  288. package/src/@core/layouts/components/vertical/navigation/VerticalNavLink.js +0 -258
  289. package/src/@core/layouts/components/vertical/navigation/VerticalNavSectionTitle.js +0 -102
  290. package/src/@core/layouts/components/vertical/navigation/index.js +0 -169
  291. package/src/@core/layouts/utils.js +0 -69
  292. package/src/@core/styles/Table.module.css +0 -93
  293. package/src/@core/styles/horizontal/menuItemStyles.js +0 -100
  294. package/src/@core/styles/horizontal/menuRootStyles.js +0 -19
  295. package/src/@core/styles/libs/fullcalendar/index.js +0 -461
  296. package/src/@core/styles/libs/keen-slider/index.js +0 -111
  297. package/src/@core/styles/libs/react-apexcharts/index.js +0 -107
  298. package/src/@core/styles/libs/react-cleave/index.js +0 -33
  299. package/src/@core/styles/libs/react-credit-cards/index.js +0 -11
  300. package/src/@core/styles/libs/react-datepicker/index.js +0 -388
  301. package/src/@core/styles/libs/react-draft-wysiwyg/index.js +0 -144
  302. package/src/@core/styles/libs/react-dropzone/index.js +0 -76
  303. package/src/@core/styles/libs/react-hot-toast/index.js +0 -37
  304. package/src/@core/styles/libs/recharts/index.js +0 -47
  305. package/src/@core/styles/stepper.js +0 -103
  306. package/src/@core/styles/vertical/menuItemStyles.js +0 -138
  307. package/src/@core/styles/vertical/menuSectionStyles.js +0 -54
  308. package/src/@core/styles/vertical/navigationCustomStyles.js +0 -62
  309. package/src/@core/svg/ContentCompact.jsx +0 -17
  310. package/src/@core/svg/ContentWide.jsx +0 -17
  311. package/src/@core/svg/DirectionLtr.jsx +0 -93
  312. package/src/@core/svg/DirectionRtl.jsx +0 -93
  313. package/src/@core/svg/LayoutCollapsed.jsx +0 -59
  314. package/src/@core/svg/LayoutHorizontal.jsx +0 -42
  315. package/src/@core/svg/LayoutVertical.jsx +0 -59
  316. package/src/@core/svg/Logo.jsx +0 -76
  317. package/src/@core/svg/SkinBordered.jsx +0 -54
  318. package/src/@core/svg/SkinDefault.jsx +0 -59
  319. package/src/@core/tailwind/plugin.js +0 -78
  320. package/src/@core/theme/ThemeComponent.js +0 -63
  321. package/src/@core/theme/ThemeOptions.js +0 -71
  322. package/src/@core/theme/breakpoints/index.js +0 -11
  323. package/src/@core/theme/colorSchemes.js +0 -326
  324. package/src/@core/theme/customShadows.js +0 -11
  325. package/src/@core/theme/globalStyles.js +0 -81
  326. package/src/@core/theme/index.js +0 -42
  327. package/src/@core/theme/overrides/accordion.js +0 -51
  328. package/src/@core/theme/overrides/accordion.jsx +0 -85
  329. package/src/@core/theme/overrides/alerts.js +0 -110
  330. package/src/@core/theme/overrides/alerts.jsx +0 -180
  331. package/src/@core/theme/overrides/autocomplete.js +0 -14
  332. package/src/@core/theme/overrides/autocomplete.jsx +0 -68
  333. package/src/@core/theme/overrides/avatar.js +0 -38
  334. package/src/@core/theme/overrides/avatars.js +0 -27
  335. package/src/@core/theme/overrides/backdrop.js +0 -22
  336. package/src/@core/theme/overrides/badges.js +0 -16
  337. package/src/@core/theme/overrides/breadcrumbs.js +0 -11
  338. package/src/@core/theme/overrides/button-group.js +0 -84
  339. package/src/@core/theme/overrides/button.js +0 -93
  340. package/src/@core/theme/overrides/buttonGroup.js +0 -9
  341. package/src/@core/theme/overrides/card.js +0 -83
  342. package/src/@core/theme/overrides/checkbox.jsx +0 -95
  343. package/src/@core/theme/overrides/chip.js +0 -72
  344. package/src/@core/theme/overrides/dataGrid.js +0 -114
  345. package/src/@core/theme/overrides/dateTimePicker.js +0 -65
  346. package/src/@core/theme/overrides/dialog.js +0 -120
  347. package/src/@core/theme/overrides/divider.js +0 -13
  348. package/src/@core/theme/overrides/drawer.js +0 -20
  349. package/src/@core/theme/overrides/fab.js +0 -13
  350. package/src/@core/theme/overrides/form-control-label.js +0 -19
  351. package/src/@core/theme/overrides/icon-button.js +0 -145
  352. package/src/@core/theme/overrides/index.js +0 -103
  353. package/src/@core/theme/overrides/input.js +0 -72
  354. package/src/@core/theme/overrides/link.js +0 -9
  355. package/src/@core/theme/overrides/list.js +0 -44
  356. package/src/@core/theme/overrides/menu.js +0 -25
  357. package/src/@core/theme/overrides/pagination.js +0 -41
  358. package/src/@core/theme/overrides/paper.js +0 -9
  359. package/src/@core/theme/overrides/popover.js +0 -16
  360. package/src/@core/theme/overrides/progress.js +0 -38
  361. package/src/@core/theme/overrides/radio.jsx +0 -80
  362. package/src/@core/theme/overrides/rating.js +0 -16
  363. package/src/@core/theme/overrides/rating.jsx +0 -32
  364. package/src/@core/theme/overrides/select.js +0 -19
  365. package/src/@core/theme/overrides/select.jsx +0 -52
  366. package/src/@core/theme/overrides/slider.js +0 -97
  367. package/src/@core/theme/overrides/snackbar.js +0 -19
  368. package/src/@core/theme/overrides/switch.js +0 -73
  369. package/src/@core/theme/overrides/switches.js +0 -25
  370. package/src/@core/theme/overrides/table-pagination.js +0 -39
  371. package/src/@core/theme/overrides/table.js +0 -81
  372. package/src/@core/theme/overrides/tabs.js +0 -30
  373. package/src/@core/theme/overrides/timeline.js +0 -80
  374. package/src/@core/theme/overrides/toggle-button.js +0 -33
  375. package/src/@core/theme/overrides/toggleButton.js +0 -16
  376. package/src/@core/theme/overrides/tooltip.js +0 -21
  377. package/src/@core/theme/overrides/typography.js +0 -13
  378. package/src/@core/theme/palette/index.js +0 -107
  379. package/src/@core/theme/shadows/index.js +0 -61
  380. package/src/@core/theme/shadows.js +0 -12
  381. package/src/@core/theme/spacing/index.js +0 -3
  382. package/src/@core/theme/spacing.js +0 -5
  383. package/src/@core/theme/typography/index.js +0 -65
  384. package/src/@core/theme/typography.js +0 -84
  385. package/src/@core/utils/create-emotion-cache.js +0 -5
  386. package/src/@core/utils/hex-to-rgba.js +0 -11
  387. package/src/@core/utils/serverHelpers.js +0 -45
  388. package/src/@menu/components/RouterLink.jsx +0 -18
  389. package/src/@menu/components/horizontal-menu/HorizontalNav.jsx +0 -88
  390. package/src/@menu/components/horizontal-menu/Menu.jsx +0 -83
  391. package/src/@menu/components/horizontal-menu/MenuButton.jsx +0 -100
  392. package/src/@menu/components/horizontal-menu/MenuItem.jsx +0 -183
  393. package/src/@menu/components/horizontal-menu/SubMenu.jsx +0 -418
  394. package/src/@menu/components/horizontal-menu/SubMenuContent.jsx +0 -41
  395. package/src/@menu/components/horizontal-menu/VerticalNavInHorizontal.jsx +0 -20
  396. package/src/@menu/components/vertical-menu/Menu.jsx +0 -161
  397. package/src/@menu/components/vertical-menu/MenuButton.jsx +0 -95
  398. package/src/@menu/components/vertical-menu/MenuItem.jsx +0 -180
  399. package/src/@menu/components/vertical-menu/MenuSection.jsx +0 -124
  400. package/src/@menu/components/vertical-menu/NavCollapseIcons.jsx +0 -70
  401. package/src/@menu/components/vertical-menu/NavHeader.jsx +0 -39
  402. package/src/@menu/components/vertical-menu/SubMenu.jsx +0 -420
  403. package/src/@menu/components/vertical-menu/SubMenuContent.jsx +0 -101
  404. package/src/@menu/components/vertical-menu/VerticalNav.jsx +0 -216
  405. package/src/@menu/contexts/horizontalNavContext.jsx +0 -29
  406. package/src/@menu/contexts/verticalNavContext.jsx +0 -65
  407. package/src/@menu/defaultConfigs.js +0 -12
  408. package/src/@menu/hooks/useHorizontalMenu.jsx +0 -19
  409. package/src/@menu/hooks/useHorizontalNav.jsx +0 -19
  410. package/src/@menu/hooks/useMediaQuery.jsx +0 -29
  411. package/src/@menu/hooks/useVerticalMenu.jsx +0 -19
  412. package/src/@menu/hooks/useVerticalNav.jsx +0 -19
  413. package/src/@menu/horizontal-menu/index.jsx +0 -8
  414. package/src/@menu/styles/StyledBackdrop.jsx +0 -15
  415. package/src/@menu/styles/StyledMenuIcon.jsx +0 -12
  416. package/src/@menu/styles/StyledMenuLabel.jsx +0 -16
  417. package/src/@menu/styles/StyledMenuPrefix.jsx +0 -10
  418. package/src/@menu/styles/StyledMenuSectionLabel.jsx +0 -21
  419. package/src/@menu/styles/StyledMenuSuffix.jsx +0 -10
  420. package/src/@menu/styles/StyledSubMenuContent.jsx +0 -43
  421. package/src/@menu/styles/horizontal/StyledHorizontalMenu.jsx +0 -13
  422. package/src/@menu/styles/horizontal/StyledHorizontalMenuItem.jsx +0 -26
  423. package/src/@menu/styles/horizontal/StyledHorizontalNav.jsx +0 -11
  424. package/src/@menu/styles/horizontal/StyledHorizontalNavExpandIcon.jsx +0 -33
  425. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContent.jsx +0 -18
  426. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContentWrapper.jsx +0 -10
  427. package/src/@menu/styles/horizontal/horizontalUl.module.css +0 -15
  428. package/src/@menu/styles/styles.module.css +0 -5
  429. package/src/@menu/styles/vertical/StyledVerticalMenu.jsx +0 -16
  430. package/src/@menu/styles/vertical/StyledVerticalMenuItem.jsx +0 -28
  431. package/src/@menu/styles/vertical/StyledVerticalMenuSection.jsx +0 -23
  432. package/src/@menu/styles/vertical/StyledVerticalNav.jsx +0 -67
  433. package/src/@menu/styles/vertical/StyledVerticalNavBgColorContainer.jsx +0 -15
  434. package/src/@menu/styles/vertical/StyledVerticalNavContainer.jsx +0 -23
  435. package/src/@menu/styles/vertical/StyledVerticalNavExpandIcon.jsx +0 -25
  436. package/src/@menu/styles/vertical/verticalNavBgImage.module.css +0 -10
  437. package/src/@menu/svg/ChevronRight.jsx +0 -9
  438. package/src/@menu/svg/Close.jsx +0 -12
  439. package/src/@menu/svg/RadioCircle.jsx +0 -12
  440. package/src/@menu/svg/RadioCircleMarked.jsx +0 -13
  441. package/src/@menu/utils/menuClasses.js +0 -44
  442. package/src/@menu/utils/menuUtils.jsx +0 -145
  443. package/src/@menu/vertical-menu/index.jsx +0 -11
  444. package/src/configs/acl.js +0 -115
  445. package/src/configs/auth.js +0 -5
  446. package/src/configs/aws-exports.js +0 -30
  447. package/src/configs/firebase.js +0 -25
  448. package/src/configs/i18n.js +0 -34
  449. package/src/configs/primaryColorConfig.js +0 -35
  450. package/src/configs/themeConfig.js +0 -44
  451. package/src/layouts/UserLayout.js +0 -94
  452. package/src/layouts/UserThemeOptions.js +0 -191
  453. package/src/layouts/components/Direction.js +0 -30
  454. package/src/layouts/components/HtmlTooltip.js +0 -15
  455. package/src/layouts/components/Translations.js +0 -11
  456. package/src/layouts/components/UserDropdown.js +0 -217
  457. package/src/layouts/components/UserIcon.js +0 -40
  458. package/src/layouts/components/acl/Can.js +0 -6
  459. package/src/layouts/components/acl/CanViewNavGroup.js +0 -36
  460. package/src/layouts/components/acl/CanViewNavLink.js +0 -17
  461. package/src/layouts/components/acl/CanViewNavSectionTitle.js +0 -17
  462. package/src/layouts/components/horizontal/AppBarContent.js +0 -39
  463. package/src/layouts/components/horizontal/ServerSideNavItems.js +0 -44
  464. package/src/layouts/components/mui/StepperComps.js +0 -55
  465. package/src/layouts/components/vertical/AppBarContent.js +0 -35
  466. package/src/layouts/components/vertical/ServerSideNavItems.js +0 -44
  467. package/src/libs/ApexCharts.jsx +0 -5
  468. package/src/libs/ReactPlayer.jsx +0 -5
  469. package/src/libs/Recharts.jsx +0 -4
  470. package/src/libs/auth.js +0 -124
  471. package/src/libs/styles/AppFullCalendar.js +0 -505
  472. package/src/libs/styles/AppKeenSlider.js +0 -116
  473. package/src/libs/styles/AppReactApexCharts.jsx +0 -110
  474. package/src/libs/styles/AppReactDatepicker.jsx +0 -470
  475. package/src/libs/styles/AppReactDropzone.js +0 -76
  476. package/src/libs/styles/AppReactToastify.jsx +0 -108
  477. package/src/libs/styles/AppRecharts.js +0 -55
  478. package/src/libs/styles/inputOtp.module.css +0 -39
  479. package/src/libs/styles/tiptapEditor.css +0 -72
  480. package/src/navigation/horizontal/index.js +0 -246
  481. package/src/navigation/vertical/index.js +0 -253
  482. package/src/pages/401.js +0 -70
  483. package/src/pages/404.js +0 -67
  484. package/src/pages/500.js +0 -68
  485. package/src/pages/[slug].js +0 -115
  486. package/src/pages/_document.js +0 -72
  487. package/src/pages/api/navigation/regenerate-registry.js +0 -116
  488. package/src/pages/api/navigation/save.js +0 -218
  489. package/src/pages/authModule/acl/index.js +0 -48
  490. package/src/pages/authModule/forgot-password/index.js +0 -228
  491. package/src/pages/authModule/permissions/rolePermissions/[id]/rolePermissionsUser/index.js +0 -392
  492. package/src/pages/authModule/permissions/rolePermissions/index.js +0 -343
  493. package/src/pages/authModule/permissions/systemPermissions/index.js +0 -354
  494. package/src/pages/authModule/privacy/index.js +0 -721
  495. package/src/pages/authModule/users/index.js +0 -210
  496. package/src/pages/login/index.js +0 -328
  497. package/src/pages/mainHome/index.js +0 -181
  498. package/src/views/builder/inspector/definitions/cell/main.js +0 -4
  499. package/src/views/builder/inspector/definitions/column/main.js +0 -9
  500. package/src/views/builder/inspector/definitions/column-group/main.js +0 -18
  501. package/src/views/builder/inspector/definitions/header-cell/main.js +0 -5
  502. package/src/views/builder/inspector/definitions/table/main.js +0 -9
  503. package/src/views/builder/viewer/renderers/CellRenderer.jsx +0 -71
  504. package/src/views/builder/viewer/renderers/ColumnGroupRenderer.jsx +0 -96
  505. package/src/views/builder/viewer/renderers/ColumnRenderer.jsx +0 -71
  506. package/src/views/builder/viewer/renderers/HeaderCellRenderer.jsx +0 -78
  507. package/src/views/builder/viewer/renderers/TabRenderer.jsx +0 -82
  508. package/src/views/builder/viewer/renderers/TableRenderer.jsx +0 -92
  509. package/src/views/pages/auth/FooterIllustrationsV2.js +0 -40
  510. package/src/views/pages/misc/FooterIllustrations.js +0 -47
  511. package/src/views/pages/misc/muiTable/CustomPagination.js +0 -34
  512. package/src/views/pages/users/UserManageDialog.js +0 -283
  513. package/src/views/pages/users/UserViewPage.js +0 -199
  514. package/src/views/users/AddUserNameDialog.js +0 -162
  515. package/src/views/users/ContactManage.js +0 -449
  516. package/src/views/users/ResetPasswordDialog.js +0 -242
@@ -1,183 +0,0 @@
1
- 'use client'
2
-
3
- // React Imports
4
- import { forwardRef, useContext, useEffect, useState } from 'react'
5
-
6
- // Next Imports
7
- import { usePathname } from 'next/navigation'
8
-
9
- // Third-party Imports
10
- import classnames from 'classnames'
11
- import { useUpdateEffect } from 'react-use'
12
- import { useFloatingTree } from '@floating-ui/react'
13
-
14
- // Context Imports
15
- import { HorizontalSubMenuContext } from './SubMenu'
16
-
17
- // Component Imports
18
- import MenuButton from './MenuButton'
19
-
20
- // Hook Imports
21
- import useHorizontalMenu from '../../hooks/useHorizontalMenu'
22
- import useVerticalNav from '../../hooks/useVerticalNav'
23
-
24
- // Util Imports
25
- import { renderMenuIcon } from '../../utils/menuUtils'
26
- import { menuClasses } from '../../utils/menuClasses'
27
-
28
- // Styled Component Imports
29
- import StyledMenuLabel from '../../styles/StyledMenuLabel'
30
- import StyledMenuPrefix from '../../styles/StyledMenuPrefix'
31
- import StyledMenuSuffix from '../../styles/StyledMenuSuffix'
32
- import StyledHorizontalMenuItem from '../../styles/horizontal/StyledHorizontalMenuItem'
33
-
34
- // Style Imports
35
- import styles from '../../styles/horizontal/horizontalUl.module.css'
36
-
37
- const MenuItem = (props, ref) => {
38
- // Props
39
- const {
40
- children,
41
- icon,
42
- className,
43
- prefix,
44
- suffix,
45
- level = 0,
46
- disabled = false,
47
- exactMatch = true,
48
- activeUrl,
49
- component,
50
- onActiveChange,
51
- rootStyles,
52
- ...rest
53
- } = props
54
-
55
- // States
56
- const [active, setActive] = useState(false)
57
-
58
- // Hooks
59
- const tree = useFloatingTree()
60
- const pathname = usePathname()
61
- const { toggleVerticalNav, isToggled } = useVerticalNav()
62
- const { getItemProps } = useContext(HorizontalSubMenuContext)
63
- const { menuItemStyles, renderExpandedMenuItemIcon, textTruncate } = useHorizontalMenu()
64
-
65
- const getMenuItemStyles = element => {
66
- // If the menuItemStyles prop is provided, get the styles for the specified element.
67
- if (menuItemStyles) {
68
- // Define the parameters that are passed to the style functions.
69
- const params = { level, disabled, active, isSubmenu: false }
70
-
71
- // Get the style function for the specified element.
72
- const styleFunction = menuItemStyles[element]
73
-
74
- if (styleFunction) {
75
- // If the style function is a function, call it and return the result.
76
- // Otherwise, return the style function itself.
77
- return typeof styleFunction === 'function' ? styleFunction(params) : styleFunction
78
- }
79
- }
80
- }
81
-
82
- // Handle the click event.
83
- const handleClick = () => {
84
- if (isToggled) {
85
- toggleVerticalNav()
86
- }
87
- }
88
-
89
- // Change active state when the url changes
90
- useEffect(() => {
91
- const href = rest.href || (component && typeof component !== 'string' && component.props.href)
92
-
93
- if (href) {
94
- // Check if the current url matches any of the children urls
95
- if (exactMatch ? pathname === href : activeUrl && pathname.includes(activeUrl)) {
96
- setActive(true)
97
- } else {
98
- setActive(false)
99
- }
100
- }
101
- // eslint-disable-next-line react-hooks/exhaustive-deps
102
- }, [pathname])
103
-
104
- // Call the onActiveChange callback when the active state changes.
105
- useUpdateEffect(() => {
106
- onActiveChange?.(active)
107
- }, [active])
108
-
109
- return (
110
- <StyledHorizontalMenuItem
111
- ref={ref}
112
- className={classnames(
113
- { [menuClasses.menuItemRoot]: level === 0 },
114
- { [menuClasses.active]: active },
115
- { [menuClasses.disabled]: disabled },
116
- styles.li,
117
- className
118
- )}
119
- level={level}
120
- disabled={disabled}
121
- buttonStyles={getMenuItemStyles('button')}
122
- menuItemStyles={getMenuItemStyles('root')}
123
- rootStyles={rootStyles}
124
- >
125
- <MenuButton
126
- className={classnames(menuClasses.button, { [menuClasses.active]: active })}
127
- component={component}
128
- tabIndex={disabled ? -1 : 0}
129
- onClick={handleClick}
130
- {...getItemProps({
131
- onClick(event) {
132
- props.onClick?.(event)
133
- tree?.events.emit('click')
134
- }
135
- })}
136
- {...rest}
137
- >
138
- {/* Menu Item Icon */}
139
- {renderMenuIcon({
140
- icon,
141
- level,
142
- active,
143
- disabled,
144
- renderExpandedMenuItemIcon,
145
- styles: getMenuItemStyles('icon')
146
- })}
147
-
148
- {/* Menu Item Prefix */}
149
- {prefix && (
150
- <StyledMenuPrefix
151
- firstLevel={level === 0}
152
- className={menuClasses.prefix}
153
- rootStyles={getMenuItemStyles('prefix')}
154
- >
155
- {prefix}
156
- </StyledMenuPrefix>
157
- )}
158
-
159
- {/* Menu Item Label */}
160
- <StyledMenuLabel
161
- className={menuClasses.label}
162
- rootStyles={getMenuItemStyles('label')}
163
- textTruncate={textTruncate}
164
- >
165
- {children}
166
- </StyledMenuLabel>
167
-
168
- {/* Menu Item Suffix */}
169
- {suffix && (
170
- <StyledMenuSuffix
171
- firstLevel={level === 0}
172
- className={menuClasses.suffix}
173
- rootStyles={getMenuItemStyles('suffix')}
174
- >
175
- {suffix}
176
- </StyledMenuSuffix>
177
- )}
178
- </MenuButton>
179
- </StyledHorizontalMenuItem>
180
- )
181
- }
182
-
183
- export default forwardRef(MenuItem)
@@ -1,418 +0,0 @@
1
- 'use client'
2
-
3
- // React Imports
4
- import { Children, cloneElement, createContext, forwardRef, useEffect, useRef, useState } from 'react'
5
-
6
- // Next Imports
7
- import { usePathname } from 'next/navigation'
8
-
9
- // Third-party Imports
10
- import classnames from 'classnames'
11
- import styled from '@emotion/styled'
12
- import {
13
- useFloating,
14
- autoUpdate,
15
- offset,
16
- flip,
17
- shift,
18
- useHover,
19
- useRole,
20
- useInteractions,
21
- useClick,
22
- safePolygon,
23
- useDismiss,
24
- useFloatingNodeId,
25
- FloatingNode,
26
- FloatingPortal,
27
- useMergeRefs,
28
- useFloatingParentNodeId,
29
- useFloatingTree,
30
- useTransitionStyles
31
- } from '@floating-ui/react'
32
-
33
- // Component Imports
34
- import SubMenuContent from './SubMenuContent'
35
-
36
- // Hook Imports
37
- import useHorizontalMenu from '../../hooks/useHorizontalMenu'
38
-
39
- // Util Imports
40
- import { menuClasses } from '../../utils/menuClasses'
41
- import { confirmUrlInChildren, renderMenuIcon } from '../../utils/menuUtils'
42
-
43
- // Styled Component Imports
44
- import MenuButton, { menuButtonStyles } from './MenuButton'
45
- import StyledMenuLabel from '../../styles/StyledMenuLabel'
46
- import StyledMenuPrefix from '../../styles/StyledMenuPrefix'
47
- import StyledMenuSuffix from '../../styles/StyledMenuSuffix'
48
- import StyledHorizontalNavExpandIcon, {
49
- StyledHorizontalNavExpandIconWrapper
50
- } from '../../styles/horizontal/StyledHorizontalNavExpandIcon'
51
- import StyledSubMenuContentWrapper from '../../styles/horizontal/StyledHorizontalSubMenuContentWrapper'
52
-
53
- // Style Imports
54
- import ulStyles from '../../styles/horizontal/horizontalUl.module.css'
55
-
56
- // Icon Imports
57
- import ChevronRight from '../../svg/ChevronRight'
58
-
59
- const StyledSubMenu = styled.li`
60
- ${({ level }) => level === 0 && { borderRadius: '6px', overflow: 'hidden' }}
61
-
62
- &.${menuClasses.open} > .${menuClasses.button} {
63
- background-color: #f3f3f3;
64
- }
65
-
66
- ${({ menuItemStyles }) => menuItemStyles};
67
- ${({ rootStyles }) => rootStyles};
68
-
69
- > .${menuClasses.button} {
70
- ${({ level, disabled, children }) =>
71
- menuButtonStyles({
72
- level,
73
- disabled,
74
- children
75
- })};
76
- ${({ buttonStyles }) => buttonStyles};
77
- }
78
- `
79
-
80
- export const HorizontalSubMenuContext = createContext({ getItemProps: () => ({}) })
81
-
82
- const SubMenu = (props, ref) => {
83
- // Props
84
- const {
85
- children,
86
- className,
87
- contentClassName,
88
- label,
89
- icon,
90
- title,
91
- prefix,
92
- suffix,
93
- level = 0,
94
- disabled = false,
95
- rootStyles,
96
- component,
97
- onClick,
98
- onKeyUp,
99
- onOpenChange,
100
- ...rest
101
- } = props
102
-
103
- // States
104
- const [open, setOpen] = useState(false)
105
- const [active, setActive] = useState(false)
106
-
107
- // Refs
108
- const dir = useRef('ltr')
109
- const listItemsRef = useRef([])
110
-
111
- // Hooks
112
- const pathname = usePathname()
113
- const tree = useFloatingTree()
114
- const nodeId = useFloatingNodeId()
115
- const parentId = useFloatingParentNodeId()
116
-
117
- const {
118
- triggerPopout,
119
- renderExpandIcon,
120
- menuItemStyles,
121
- browserScroll,
122
- transitionDuration,
123
- renderExpandedMenuItemIcon,
124
- popoutMenuOffset,
125
- textTruncate
126
- } = useHorizontalMenu()
127
-
128
- // Vars
129
- // Filter out falsy values from children
130
- const childNodes = Children.toArray(children).filter(Boolean)
131
-
132
- const mainAxisOffset =
133
- popoutMenuOffset &&
134
- popoutMenuOffset.mainAxis &&
135
- (typeof popoutMenuOffset.mainAxis === 'function' ? popoutMenuOffset.mainAxis({ level }) : popoutMenuOffset.mainAxis)
136
-
137
- const alignmentAxisOffset =
138
- popoutMenuOffset &&
139
- popoutMenuOffset.alignmentAxis &&
140
- (typeof popoutMenuOffset.alignmentAxis === 'function'
141
- ? popoutMenuOffset.alignmentAxis({ level })
142
- : popoutMenuOffset.alignmentAxis)
143
-
144
- useEffect(() => {
145
- dir.current = window.getComputedStyle(document.documentElement).getPropertyValue('direction')
146
- }, [])
147
-
148
- const { y, refs, floatingStyles, context } = useFloating({
149
- open,
150
- nodeId,
151
- onOpenChange: setOpen,
152
- placement: level > 0 ? (dir.current !== 'rtl' ? 'right-start' : 'left-start') : 'bottom-start',
153
- middleware: [
154
- offset({
155
- mainAxis: mainAxisOffset,
156
- alignmentAxis: alignmentAxisOffset
157
- }),
158
- flip({ crossAxis: false }),
159
- shift()
160
- ],
161
- whileElementsMounted: autoUpdate
162
- })
163
-
164
- // Floating UI Transition Styles
165
- const { isMounted, styles } = useTransitionStyles(context, {
166
- // Configure both open and close durations:
167
- duration: transitionDuration,
168
- initial: {
169
- opacity: 0,
170
- transform: 'translateY(10px)'
171
- },
172
- open: {
173
- opacity: 1,
174
- transform: 'translateY(0px)'
175
- },
176
- close: {
177
- opacity: 0,
178
- transform: 'translateY(10px)'
179
- }
180
- })
181
-
182
- const hover = useHover(context, {
183
- handleClose: safePolygon({
184
- blockPointerEvents: true
185
- }), // safePolygon function allows us to reach to submenu
186
- restMs: 25, // Only opens submenu when cursor rests for 25ms on a menu
187
- enabled: triggerPopout === 'hover', // Only enable hover effect when triggerPopout option is set to 'hover',
188
- delay: { open: 75 } // Delay opening submenu by 75ms
189
- })
190
-
191
- const click = useClick(context, {
192
- enabled: triggerPopout === 'click', // Only enable click effect when triggerPopout option is set to 'click'
193
- toggle: false
194
- })
195
-
196
- const dismiss = useDismiss(context)
197
- const role = useRole(context, { role: 'menu' })
198
-
199
- // Merge all the interactions into prop getters
200
- const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions([hover, click, dismiss, role])
201
-
202
- const handleOnClick = event => {
203
- onClick?.(event)
204
- triggerPopout === 'click' && setOpen(!open)
205
- }
206
-
207
- const handleOnKeyUp = event => {
208
- onKeyUp?.(event)
209
-
210
- if (event.key === 'Enter') {
211
- setOpen(!open)
212
- }
213
- }
214
-
215
- const getSubMenuItemStyles = element => {
216
- // If the menuItemStyles prop is provided, get the styles for the specified element.
217
- if (menuItemStyles) {
218
- // Define the parameters that are passed to the style functions.
219
- const params = { level, disabled, active, isSubmenu: true, open: open }
220
-
221
- // Get the style function for the specified element.
222
- const styleFunction = menuItemStyles[element]
223
-
224
- if (styleFunction) {
225
- // If the style function is a function, call it and return the result.
226
- // Otherwise, return the style function itself.
227
- return typeof styleFunction === 'function' ? styleFunction(params) : styleFunction
228
- }
229
- }
230
- }
231
-
232
- // Event emitter allows you to communicate across tree components.
233
- // This effect closes all menus when an item gets clicked anywhere in the tree.
234
- useEffect(() => {
235
- const handleTreeClick = () => {
236
- setOpen(false)
237
- }
238
-
239
- const onSubMenuOpen = event => {
240
- if (event.nodeId !== nodeId && event.parentId === parentId) {
241
- setOpen(false)
242
- }
243
- }
244
-
245
- tree?.events.on('click', handleTreeClick)
246
- tree?.events.on('menuopen', onSubMenuOpen)
247
-
248
- return () => {
249
- tree?.events.off('click', handleTreeClick)
250
- tree?.events.off('menuopen', onSubMenuOpen)
251
- }
252
- }, [tree, nodeId, parentId])
253
- useEffect(() => {
254
- if (open) {
255
- tree?.events.emit('menuopen', {
256
- parentId,
257
- nodeId
258
- })
259
- }
260
- }, [tree, open, nodeId, parentId])
261
-
262
- // Change active state when the url changes
263
- useEffect(() => {
264
- // Check if the current url matches any of the children urls
265
- if (confirmUrlInChildren(children, pathname)) {
266
- setActive(true)
267
- } else {
268
- setActive(false)
269
- }
270
- // eslint-disable-next-line react-hooks/exhaustive-deps
271
- }, [pathname])
272
-
273
- // User event handler for open state change
274
- useEffect(() => {
275
- onOpenChange?.(open)
276
- // eslint-disable-next-line react-hooks/exhaustive-deps
277
- }, [open])
278
-
279
- // Merge the reference ref with the ref passed to the component
280
- const referenceRef = useMergeRefs([refs.setReference, ref])
281
-
282
- return (
283
- <FloatingNode id={nodeId}>
284
- {/* Sub Menu */}
285
- <StyledSubMenu
286
- {...(!disabled && { ref: referenceRef, ...getReferenceProps() })}
287
- className={classnames(
288
- { [menuClasses.subMenuRoot]: level === 0 },
289
- { [menuClasses.active]: active },
290
- { [menuClasses.disabled]: disabled },
291
- { [menuClasses.open]: open },
292
- ulStyles.li,
293
- className
294
- )}
295
- menuItemStyles={getSubMenuItemStyles('root')}
296
- level={level}
297
- disabled={disabled}
298
- active={active}
299
- buttonStyles={getSubMenuItemStyles('button')}
300
- rootStyles={rootStyles}
301
- >
302
- {/* Sub Menu */}
303
- <MenuButton
304
- title={title}
305
- className={classnames(menuClasses.button, { [menuClasses.active]: active })}
306
- component={component}
307
- onClick={handleOnClick}
308
- onKeyUp={handleOnKeyUp}
309
- {...rest}
310
- >
311
- {/* Sub Menu Icon */}
312
- {renderMenuIcon({
313
- icon,
314
- level,
315
- active,
316
- disabled,
317
- renderExpandedMenuItemIcon,
318
- styles: getSubMenuItemStyles('icon')
319
- })}
320
-
321
- {/* Sub Menu Prefix */}
322
- {prefix && (
323
- <StyledMenuPrefix
324
- firstLevel={level === 0}
325
- className={menuClasses.prefix}
326
- rootStyles={getSubMenuItemStyles('prefix')}
327
- >
328
- {prefix}
329
- </StyledMenuPrefix>
330
- )}
331
-
332
- {/* Sub Menu Label */}
333
- <StyledMenuLabel
334
- className={menuClasses.label}
335
- rootStyles={getSubMenuItemStyles('label')}
336
- textTruncate={textTruncate}
337
- >
338
- {label}
339
- </StyledMenuLabel>
340
-
341
- {/* Sub Menu Suffix */}
342
- {suffix && (
343
- <StyledMenuSuffix
344
- firstLevel={level === 0}
345
- className={menuClasses.suffix}
346
- rootStyles={getSubMenuItemStyles('suffix')}
347
- >
348
- {suffix}
349
- </StyledMenuSuffix>
350
- )}
351
-
352
- {/* Sub Menu Toggle Icon Wrapper */}
353
- <StyledHorizontalNavExpandIconWrapper
354
- className={menuClasses.subMenuExpandIcon}
355
- rootStyles={getSubMenuItemStyles('subMenuExpandIcon')}
356
- >
357
- {renderExpandIcon ? (
358
- renderExpandIcon({
359
- level,
360
- disabled,
361
- active,
362
- open: open
363
- })
364
- ) : (
365
- // eslint-disable-next-line lines-around-comment
366
- /* Expanded Arrow Icon */
367
- <StyledHorizontalNavExpandIcon level={level}>
368
- <ChevronRight fontSize='1rem' />
369
- </StyledHorizontalNavExpandIcon>
370
- )}
371
- </StyledHorizontalNavExpandIconWrapper>
372
- </MenuButton>
373
-
374
- <HorizontalSubMenuContext.Provider value={{ getItemProps }}>
375
- <FloatingPortal>
376
- {isMounted && (
377
- <StyledSubMenuContentWrapper
378
- ref={refs.setFloating}
379
- {...getFloatingProps()}
380
- style={floatingStyles}
381
- rootStyles={getSubMenuItemStyles('subMenuStyles')}
382
- >
383
- <SubMenuContent
384
- open={open}
385
- top={y ? y - window.scrollY : 0}
386
- firstLevel={level === 0}
387
- browserScroll={browserScroll}
388
- className={classnames(menuClasses.subMenuContent, contentClassName)}
389
- rootStyles={getSubMenuItemStyles('subMenuContent')}
390
- style={{ ...styles }}
391
- >
392
- {childNodes.map((node, index) =>
393
- cloneElement(node, {
394
- ...getItemProps({
395
- ref(node) {
396
- listItemsRef.current[index] = node
397
- },
398
- onClick(event) {
399
- if (node.props.children && !Array.isArray(node.props.children)) {
400
- node.props.onClick?.(event)
401
- tree?.events.emit('click')
402
- }
403
- }
404
- }),
405
- level: level + 1
406
- })
407
- )}
408
- </SubMenuContent>
409
- </StyledSubMenuContentWrapper>
410
- )}
411
- </FloatingPortal>
412
- </HorizontalSubMenuContext.Provider>
413
- </StyledSubMenu>
414
- </FloatingNode>
415
- )
416
- }
417
-
418
- export default forwardRef(SubMenu)
@@ -1,41 +0,0 @@
1
- // React Imports
2
- import { forwardRef } from 'react'
3
-
4
- // Third-party Imports
5
- import PerfectScrollbar from 'react-perfect-scrollbar'
6
-
7
- // Styled Component Imports
8
- import StyledHorizontalSubMenuContent from '../../styles/horizontal/StyledHorizontalSubMenuContent'
9
-
10
- // Style Imports
11
- import styles from '../../styles/styles.module.css'
12
-
13
- const SubMenuContent = (props, ref) => {
14
- // Props
15
- const { children, open, firstLevel, top, browserScroll, ...rest } = props
16
-
17
- return (
18
- <StyledHorizontalSubMenuContent
19
- ref={ref}
20
- firstLevel={firstLevel}
21
- open={open}
22
- top={top}
23
- browserScroll={browserScroll}
24
- {...rest}
25
- >
26
- {/* If browserScroll is false render PerfectScrollbar */}
27
- {!browserScroll ? (
28
- <PerfectScrollbar
29
- options={{ wheelPropagation: false, suppressScrollX: true }}
30
- style={{ maxBlockSize: `calc((var(--vh, 1vh) * 100) - ${top}px)` }}
31
- >
32
- <ul className={styles.ul}>{children}</ul>
33
- </PerfectScrollbar>
34
- ) : (
35
- <ul className={styles.ul}>{children}</ul>
36
- )}
37
- </StyledHorizontalSubMenuContent>
38
- )
39
- }
40
-
41
- export default forwardRef(SubMenuContent)
@@ -1,20 +0,0 @@
1
- // Component Imports
2
- import VerticalNav from '../../vertical-menu'
3
-
4
- const VerticalNavInHorizontal = props => {
5
- // Props
6
- const { children, className, breakpoint, customBreakpoint, verticalNavProps } = props
7
-
8
- return (
9
- <VerticalNav
10
- {...verticalNavProps}
11
- className={className}
12
- breakpoint={breakpoint}
13
- customBreakpoint={customBreakpoint}
14
- >
15
- {children}
16
- </VerticalNav>
17
- )
18
- }
19
-
20
- export default VerticalNavInHorizontal