robobyte-front-builder 1.0.19 → 1.0.23

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 (520) hide show
  1. package/INTEGRATION.md +1586 -0
  2. package/README.md +928 -0
  3. package/RoboByteBuilder_User_Manual.docx +0 -0
  4. package/next.config.js +19 -48
  5. package/package.json +42 -86
  6. package/src/context/BuilderContext.jsx +191 -7
  7. package/src/context/SystemContext.js +2 -2
  8. package/src/hooks/useGlobalStore.js +36 -0
  9. package/src/hooks/useTimerEngine.js +54 -0
  10. package/src/lib/index.js +11 -3
  11. package/src/lib/layouts/BlankLayout.jsx +13 -0
  12. package/src/lib/providers/RoboByteFrontBuilderProvider.jsx +61 -7
  13. package/src/lib/themes/builderTheme.js +41 -0
  14. package/src/pages/_app.js +32 -134
  15. package/src/pages/api/ai.js +107 -0
  16. package/src/pages/builders/report/index.js +1 -0
  17. package/src/pages/builders/report/list/index.js +1 -0
  18. package/src/pages/builders/report/viewer/index.js +1 -0
  19. package/src/pages/index.js +88 -37
  20. package/src/pages/printBuilder/index.jsx +263 -0
  21. package/src/pages/printBuilder/layouts/index.jsx +298 -0
  22. package/src/pages/reportModule/reportBuilder/index.js +8 -6
  23. package/src/pages/reportModule/reportBuilder/reportViewer/index.js +92 -25
  24. package/src/pages/reportModule/reportBuilder/reports/index.js +3 -5
  25. package/src/pages/reportModule/reportBuilder/reportsPermissions/index.js +2 -3
  26. package/src/pages/viewBuilder/index.jsx +117 -32
  27. package/src/pages/viewBuilder/views/index.js +3 -3
  28. package/src/pages/viewer/[id]/index.js +2 -1
  29. package/src/services/DeleteService.js +31 -60
  30. package/src/services/Endpoints/PrintLayoutEndpoints.js +42 -0
  31. package/src/services/Endpoints/ReportBuilderEndpoints.js +7 -7
  32. package/src/services/Endpoints.js +2 -0
  33. package/src/services/GetService.js +33 -54
  34. package/src/services/PatchService.js +38 -65
  35. package/src/services/PostService.js +37 -63
  36. package/src/services/UpdateService.js +39 -65
  37. package/src/services/builderHelper/actionExecutor.js +141 -25
  38. package/src/services/builderHelper/builderHelper.js +92 -0
  39. package/src/services/builderHelper/colorSchema.js +95 -0
  40. package/src/services/builderHelper/iconResolver.js +50 -0
  41. package/src/services/builderHelper/jsExecutor.js +212 -46
  42. package/src/services/builderHelper/nodeFactory.js +32 -15
  43. package/src/services/builderHelper/numberFormat.js +123 -0
  44. package/src/services/builderHelper/resolveProps.js +73 -4
  45. package/src/services/builderHelper/thresholdEngine.js +77 -0
  46. package/src/services/builderHelper/tree.js +31 -0
  47. package/src/services/components/agGridAutoComplete.js +5 -9
  48. package/src/services/config.js +9 -1
  49. package/src/services/globalStore.js +80 -0
  50. package/src/services/helper/multiSelectEditor.js +5 -9
  51. package/src/services/helper/multiSelectEditorByBuilder.js +5 -9
  52. package/src/services/reportData/fetchReportData.js +69 -28
  53. package/src/services/routerRef.js +35 -0
  54. package/src/services/sessionLog.js +171 -0
  55. package/src/views/ConfirmDialog.js +2 -2
  56. package/src/views/builder/JSEditor.js +105 -107
  57. package/src/views/builder/SessionLogDialog.jsx +350 -0
  58. package/src/views/builder/UnsavedChangesGuard.jsx +103 -0
  59. package/src/views/builder/inspector/Inspector.jsx +6 -9
  60. package/src/views/builder/inspector/Tabs/ComponentActionsTab.jsx +7 -13
  61. package/src/views/builder/inspector/Tabs/MainTab.jsx +143 -25
  62. package/src/views/builder/inspector/Tabs/RulesTab.jsx +9 -24
  63. package/src/views/builder/inspector/Tabs/StyleTab.jsx +9 -24
  64. package/src/views/builder/inspector/definitions/autocomplete/main.js +4 -6
  65. package/src/views/builder/inspector/definitions/banner/actions.js +7 -0
  66. package/src/views/builder/inspector/definitions/banner/main.js +22 -0
  67. package/src/views/builder/inspector/definitions/banner/rules.js +1 -0
  68. package/src/views/builder/inspector/definitions/banner/style.js +1 -0
  69. package/src/views/builder/inspector/definitions/breadcrumb/main.js +43 -6
  70. package/src/views/builder/inspector/definitions/button/main.js +11 -12
  71. package/src/views/builder/inspector/definitions/button/style.js +18 -30
  72. package/src/views/builder/inspector/definitions/checkbox/actions.js +3 -1
  73. package/src/views/builder/inspector/definitions/checkbox/main.js +4 -6
  74. package/src/views/builder/inspector/definitions/common/main.js +13 -2
  75. package/src/views/builder/inspector/definitions/dataGrid/main.js +23 -0
  76. package/src/views/builder/inspector/definitions/dataTableViewer/main.js +46 -0
  77. package/src/views/builder/inspector/definitions/datepicker/actions.js +3 -1
  78. package/src/views/builder/inspector/definitions/datepicker/main.js +6 -14
  79. package/src/views/builder/inspector/definitions/dialog/main.js +36 -0
  80. package/src/views/builder/inspector/definitions/dropdown/main.js +5 -8
  81. package/src/views/builder/inspector/definitions/excelUpload/actions.js +23 -0
  82. package/src/views/builder/inspector/definitions/excelUpload/main.js +17 -0
  83. package/src/views/builder/inspector/definitions/excelUpload/rules.js +1 -0
  84. package/src/views/builder/inspector/definitions/excelUpload/style.js +45 -0
  85. package/src/views/builder/inspector/definitions/header/main.js +10 -1
  86. package/src/views/builder/inspector/definitions/index.js +106 -19
  87. package/src/views/builder/inspector/definitions/input/actions.js +4 -1
  88. package/src/views/builder/inspector/definitions/input/main.js +20 -11
  89. package/src/views/builder/inspector/definitions/kpi/avatarGroup.js +22 -0
  90. package/src/views/builder/inspector/definitions/kpi/badge.js +17 -0
  91. package/src/views/builder/inspector/definitions/kpi/bulletChart.js +47 -0
  92. package/src/views/builder/inspector/definitions/kpi/chart.js +55 -0
  93. package/src/views/builder/inspector/definitions/kpi/colorScale.js +60 -0
  94. package/src/views/builder/inspector/definitions/kpi/comparisonBars.js +41 -0
  95. package/src/views/builder/inspector/definitions/kpi/countdown.js +46 -0
  96. package/src/views/builder/inspector/definitions/kpi/donut.js +51 -0
  97. package/src/views/builder/inspector/definitions/kpi/funnel.js +25 -0
  98. package/src/views/builder/inspector/definitions/kpi/gauge.js +39 -0
  99. package/src/views/builder/inspector/definitions/kpi/heatmapGrid.js +96 -0
  100. package/src/views/builder/inspector/definitions/kpi/iconBox.js +20 -0
  101. package/src/views/builder/inspector/definitions/kpi/metric.js +45 -0
  102. package/src/views/builder/inspector/definitions/kpi/rating.js +27 -0
  103. package/src/views/builder/inspector/definitions/kpi/statusDot.js +18 -0
  104. package/src/views/builder/inspector/definitions/kpi/stepStage.js +65 -0
  105. package/src/views/builder/inspector/definitions/kpi/tagList.js +32 -0
  106. package/src/views/builder/inspector/definitions/kpi/timeline.js +80 -0
  107. package/src/views/builder/inspector/definitions/kpi/trend.js +20 -0
  108. package/src/views/builder/inspector/definitions/label/main.js +10 -1
  109. package/src/views/builder/inspector/definitions/layout/main.js +27 -3
  110. package/src/views/builder/inspector/definitions/number/main.js +6 -14
  111. package/src/views/builder/inspector/definitions/pageNumber/main.js +21 -0
  112. package/src/views/builder/inspector/definitions/popover/main.js +71 -0
  113. package/src/views/builder/inspector/definitions/radio/main.js +5 -8
  114. package/src/views/builder/inspector/definitions/repeater/main.js +31 -0
  115. package/src/views/builder/inspector/definitions/reportViewer/main.js +28 -1
  116. package/src/views/builder/inspector/definitions/richtext/main.js +5 -8
  117. package/src/views/builder/inspector/definitions/signature/main.js +4 -1
  118. package/src/views/builder/inspector/definitions/tag/main.js +5 -8
  119. package/src/views/builder/inspector/definitions/textarea/actions.js +4 -1
  120. package/src/views/builder/inspector/definitions/textarea/main.js +5 -7
  121. package/src/views/builder/inspector/definitions/time/main.js +5 -8
  122. package/src/views/builder/inspector/definitions/toggle/main.js +5 -19
  123. package/src/views/builder/inspector/definitions/treeView/main.js +61 -0
  124. package/src/views/builder/inspector/definitions/viewRenderer/main.js +53 -0
  125. package/src/views/builder/inspector/definitions/wizard/main.js +68 -0
  126. package/src/views/builder/inspector/definitions/wizard-step/main.js +25 -0
  127. package/src/views/builder/inspector/fields/ActionsConfigEditor.jsx +426 -0
  128. package/src/views/builder/inspector/fields/ColorSchemaField.jsx +140 -0
  129. package/src/views/builder/inspector/fields/ColumnFunctionEditor.jsx +238 -0
  130. package/src/views/builder/inspector/fields/ColumnMappingEditor.jsx +105 -0
  131. package/src/views/builder/inspector/fields/ColumnsConfigEditor.jsx +506 -0
  132. package/src/views/builder/inspector/fields/DonutRingsEditorField.jsx +337 -0
  133. package/src/views/builder/inspector/fields/ExtraColsEditor.jsx +618 -0
  134. package/src/views/builder/inspector/fields/FunctionHelpPopover.jsx +295 -0
  135. package/src/views/builder/inspector/fields/IconEditor.jsx +64 -0
  136. package/src/views/builder/inspector/fields/KpiActionField.jsx +223 -0
  137. package/src/views/builder/inspector/fields/MarkersEditorField.jsx +173 -0
  138. package/src/views/builder/inspector/fields/SelectEditor.jsx +9 -5
  139. package/src/views/builder/inspector/fields/SeriesEditorField.jsx +363 -0
  140. package/src/views/builder/inspector/fields/TableColumnsEditor.jsx +104 -0
  141. package/src/views/builder/inspector/fields/ThresholdsEditor.jsx +247 -0
  142. package/src/views/builder/inspector/fields/ValueFunctionsRefPanel.jsx +217 -0
  143. package/src/views/builder/inspector/fields/columnEditorShared.jsx +217 -0
  144. package/src/views/builder/sidebar/Sidebar.jsx +4 -2
  145. package/src/views/builder/sidebar/SidebarTabs.jsx +28 -17
  146. package/src/views/builder/sidebar/tabs/ActionsTab.jsx +7 -3
  147. package/src/views/builder/sidebar/tabs/AiTab/AiPreviewDialog.jsx +193 -0
  148. package/src/views/builder/sidebar/tabs/AiTab/aiProvider.js +53 -0
  149. package/src/views/builder/sidebar/tabs/AiTab/index.jsx +409 -0
  150. package/src/views/builder/sidebar/tabs/AiTab/schemaTransformer.js +167 -0
  151. package/src/views/builder/sidebar/tabs/AiTab/schemaValidator.js +64 -0
  152. package/src/views/builder/sidebar/tabs/AiTab/systemPrompt.js +1151 -0
  153. package/src/views/builder/sidebar/tabs/AiTab/trainingExport.js +131 -0
  154. package/src/views/builder/sidebar/tabs/Components/ComponentsTab.jsx +31 -31
  155. package/src/views/builder/sidebar/tabs/Components/componentCatalog.js +43 -21
  156. package/src/views/builder/sidebar/tabs/Components/printComponentCatalog.js +81 -0
  157. package/src/views/builder/sidebar/tabs/TimersTab.jsx +338 -0
  158. package/src/views/builder/sidebar/tabs/TreeTab.jsx +13 -4
  159. package/src/views/builder/sidebar/tabs/ViewTab.jsx +173 -13
  160. package/src/views/builder/viewer/AdornedLabel.jsx +82 -0
  161. package/src/views/builder/viewer/ComponentRenderer.jsx +98 -24
  162. package/src/views/builder/viewer/DialogsZone.jsx +259 -0
  163. package/src/views/builder/viewer/FieldLabel.jsx +106 -0
  164. package/src/views/builder/viewer/PrintDialog.jsx +481 -0
  165. package/src/views/builder/viewer/ProductionViewer.jsx +80 -5
  166. package/src/views/builder/viewer/Viewer.jsx +106 -8
  167. package/src/views/builder/viewer/ViewerComponentWrapper.jsx +70 -9
  168. package/src/views/builder/viewer/ViewerToolbar.jsx +285 -56
  169. package/src/views/builder/viewer/renderers/AutoCompleteRenderer.jsx +26 -22
  170. package/src/views/builder/viewer/renderers/AvatarGroupRenderer.jsx +112 -0
  171. package/src/views/builder/viewer/renderers/BadgeRenderer.jsx +79 -0
  172. package/src/views/builder/viewer/renderers/BannerRenderer.jsx +62 -0
  173. package/src/views/builder/viewer/renderers/BreadcrumbRenderer.jsx +203 -15
  174. package/src/views/builder/viewer/renderers/BulletChartRenderer.jsx +147 -0
  175. package/src/views/builder/viewer/renderers/ButtonRenderer.jsx +98 -39
  176. package/src/views/builder/viewer/renderers/CardRenderer.jsx +1 -1
  177. package/src/views/builder/viewer/renderers/ChartRenderer.jsx +388 -0
  178. package/src/views/builder/viewer/renderers/CheckboxRenderer.jsx +17 -9
  179. package/src/views/builder/viewer/renderers/ColorScaleRenderer.jsx +300 -0
  180. package/src/views/builder/viewer/renderers/ComparisonBarsRenderer.jsx +133 -0
  181. package/src/views/builder/viewer/renderers/ContainerRenderer.jsx +3 -1
  182. package/src/views/builder/viewer/renderers/CountdownRenderer.jsx +249 -0
  183. package/src/views/builder/viewer/renderers/DataGridRenderer.jsx +380 -0
  184. package/src/views/builder/viewer/renderers/DataTableViewerRenderer.jsx +240 -0
  185. package/src/views/builder/viewer/renderers/DatePickerRenderer.jsx +25 -24
  186. package/src/views/builder/viewer/renderers/DialogRenderer.jsx +327 -0
  187. package/src/views/builder/viewer/renderers/DividerRenderer.jsx +1 -1
  188. package/src/views/builder/viewer/renderers/DonutRenderer.jsx +294 -0
  189. package/src/views/builder/viewer/renderers/DropdownRenderer.jsx +36 -44
  190. package/src/views/builder/viewer/renderers/ExcelUploadRenderer.jsx +639 -0
  191. package/src/views/builder/viewer/renderers/FunnelRenderer.jsx +93 -0
  192. package/src/views/builder/viewer/renderers/GaugeRenderer.jsx +159 -0
  193. package/src/views/builder/viewer/renderers/HeaderRenderer.jsx +31 -9
  194. package/src/views/builder/viewer/renderers/HeatmapGridRenderer.jsx +432 -0
  195. package/src/views/builder/viewer/renderers/IconBoxRenderer.jsx +59 -0
  196. package/src/views/builder/viewer/renderers/ImageRenderer.jsx +1 -1
  197. package/src/views/builder/viewer/renderers/InputRenderer.jsx +75 -18
  198. package/src/views/builder/viewer/renderers/LabelRenderer.jsx +35 -9
  199. package/src/views/builder/viewer/renderers/LayoutCellRenderer.jsx +102 -40
  200. package/src/views/builder/viewer/renderers/LayoutContextMenu.jsx +8 -8
  201. package/src/views/builder/viewer/renderers/LayoutRenderer.jsx +48 -6
  202. package/src/views/builder/viewer/renderers/LinkRenderer.jsx +1 -1
  203. package/src/views/builder/viewer/renderers/MenuRenderer.jsx +2 -2
  204. package/src/views/builder/viewer/renderers/MetricRenderer.jsx +80 -0
  205. package/src/views/builder/viewer/renderers/NumberFormatRenderer.jsx +21 -30
  206. package/src/views/builder/viewer/renderers/PageNumberRenderer.jsx +76 -0
  207. package/src/views/builder/viewer/renderers/PopoverRenderer.jsx +350 -0
  208. package/src/views/builder/viewer/renderers/ProgressCircleRenderer.jsx +1 -1
  209. package/src/views/builder/viewer/renderers/ProgressLineRenderer.jsx +1 -1
  210. package/src/views/builder/viewer/renderers/RadioGroupRenderer.jsx +28 -39
  211. package/src/views/builder/viewer/renderers/RatingRenderer.jsx +80 -0
  212. package/src/views/builder/viewer/renderers/RepeaterRenderer.jsx +297 -38
  213. package/src/views/builder/viewer/renderers/ReportViewerRenderer.jsx +263 -5
  214. package/src/views/builder/viewer/renderers/RichTextRenderer.jsx +60 -66
  215. package/src/views/builder/viewer/renderers/RowActionsCell.jsx +308 -0
  216. package/src/views/builder/viewer/renderers/SignatureRenderer.jsx +33 -62
  217. package/src/views/builder/viewer/renderers/StatusDotRenderer.jsx +75 -0
  218. package/src/views/builder/viewer/renderers/StepStageRenderer.jsx +348 -0
  219. package/src/views/builder/viewer/renderers/TagListRenderer.jsx +115 -0
  220. package/src/views/builder/viewer/renderers/TagPickerRenderer.jsx +31 -45
  221. package/src/views/builder/viewer/renderers/TextAreaRenderer.jsx +25 -18
  222. package/src/views/builder/viewer/renderers/TextRenderer.jsx +7 -1
  223. package/src/views/builder/viewer/renderers/TimePickerRenderer.jsx +25 -24
  224. package/src/views/builder/viewer/renderers/TimelineRenderer.jsx +525 -0
  225. package/src/views/builder/viewer/renderers/ToggleRenderer.jsx +21 -27
  226. package/src/views/builder/viewer/renderers/TreeViewRenderer.jsx +832 -0
  227. package/src/views/builder/viewer/renderers/TrendRenderer.jsx +66 -0
  228. package/src/views/builder/viewer/renderers/ViewRendererRenderer.jsx +315 -0
  229. package/src/views/builder/viewer/renderers/WizardRenderer.jsx +380 -64
  230. package/src/views/builder/viewer/renderers/WizardStepRenderer.jsx +21 -12
  231. package/src/views/builder/viewer/renderers/dataGridComponents.jsx +824 -0
  232. package/src/views/customFilter/CustomFilterDialog.js +1023 -660
  233. package/src/views/customFilter/FixedFilterDialog.js +649 -0
  234. package/src/views/customFilter/SearchFilterDialog.js +248 -0
  235. package/src/views/genericTable/BuilderExpressionParams.js +3 -3
  236. package/src/views/genericTable/ColumnConfiguratorDialog.js +33 -24
  237. package/src/views/genericTable/FixedFilterDialog.js +3 -2
  238. package/src/views/genericTable/FormattingSettingsDialog.js +8 -3
  239. package/src/views/genericTable/SGrid.js +821 -448
  240. package/src/views/genericTable/SearchFilterDialog.js +3 -2
  241. package/src/views/genericTable/cellEditors/autocompleteEditor.js +5 -9
  242. package/src/views/genericTable/convertStringFunctions.js +274 -138
  243. package/src/views/genericTable/statusBar/rowCountStatusBar.js +3 -1
  244. package/src/views/genericTable/updateRefHelpers.js +9 -6
  245. package/src/views/printBuilder/PrintBuilderViewer.jsx +627 -0
  246. package/src/views/printBuilder/PrintPreviewCanvas.jsx +157 -0
  247. package/src/views/rolePermissions/UpdateReportPermissionDialog.js +3 -2
  248. package/src/@core/components/auth/AclGuard.js +0 -55
  249. package/src/@core/components/auth/AuthGuard.js +0 -40
  250. package/src/@core/components/auth/GuestGuard.js +0 -30
  251. package/src/@core/components/custom-inputs/Horizontal.jsx +0 -143
  252. package/src/@core/components/custom-inputs/Image.jsx +0 -78
  253. package/src/@core/components/custom-inputs/Vertical.jsx +0 -113
  254. package/src/@core/components/customizer/index.jsx +0 -470
  255. package/src/@core/components/customizer/styles.module.css +0 -169
  256. package/src/@core/components/mui/Avatar.jsx +0 -41
  257. package/src/@core/components/mui/Badge.jsx +0 -20
  258. package/src/@core/components/mui/IconButton.jsx +0 -74
  259. package/src/@core/components/mui/TabList.jsx +0 -60
  260. package/src/@core/components/option-menu/index.jsx +0 -137
  261. package/src/@core/components/scroll-to-top/index.jsx +0 -43
  262. package/src/@core/components/spinner/index.js +0 -26
  263. package/src/@core/components/window-wrapper/index.js +0 -27
  264. package/src/@core/contexts/settingsContext.jsx +0 -98
  265. package/src/@core/hooks/useBgColor.js +0 -63
  266. package/src/@core/hooks/useImageVariant.js +0 -27
  267. package/src/@core/hooks/useLayoutInit.js +0 -37
  268. package/src/@core/hooks/useObjectCookie.js +0 -18
  269. package/src/@core/hooks/useSettings.jsx +0 -15
  270. package/src/@core/layouts/BlankLayout.js +0 -37
  271. package/src/@core/layouts/BlankLayoutWithAppBar.js +0 -51
  272. package/src/@core/layouts/HorizontalLayout.jsx +0 -151
  273. package/src/@core/layouts/Layout.js +0 -39
  274. package/src/@core/layouts/VerticalLayout.jsx +0 -124
  275. package/src/@core/layouts/components/blank-layout-with-appBar/index.js +0 -115
  276. package/src/@core/layouts/components/horizontal/app-bar-content/index.js +0 -67
  277. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavGroup.js +0 -352
  278. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavItems.js +0 -21
  279. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavLink.js +0 -195
  280. package/src/@core/layouts/components/horizontal/navigation/index.js +0 -31
  281. package/src/@core/layouts/components/shared-components/LanguageDropdown.js +0 -96
  282. package/src/@core/layouts/components/shared-components/ModeToggler.js +0 -32
  283. package/src/@core/layouts/components/shared-components/NotificationDropdown.js +0 -226
  284. package/src/@core/layouts/components/shared-components/UserDropdown.js +0 -177
  285. package/src/@core/layouts/components/shared-components/footer/FooterContent.js +0 -46
  286. package/src/@core/layouts/components/shared-components/footer/index.js +0 -61
  287. package/src/@core/layouts/components/vertical/appBar/index.js +0 -74
  288. package/src/@core/layouts/components/vertical/navigation/Drawer.js +0 -122
  289. package/src/@core/layouts/components/vertical/navigation/VerticalNavGroup.js +0 -435
  290. package/src/@core/layouts/components/vertical/navigation/VerticalNavHeader.js +0 -180
  291. package/src/@core/layouts/components/vertical/navigation/VerticalNavItems.js +0 -26
  292. package/src/@core/layouts/components/vertical/navigation/VerticalNavLink.js +0 -258
  293. package/src/@core/layouts/components/vertical/navigation/VerticalNavSectionTitle.js +0 -102
  294. package/src/@core/layouts/components/vertical/navigation/index.js +0 -169
  295. package/src/@core/layouts/utils.js +0 -69
  296. package/src/@core/styles/Table.module.css +0 -93
  297. package/src/@core/styles/horizontal/menuItemStyles.js +0 -100
  298. package/src/@core/styles/horizontal/menuRootStyles.js +0 -19
  299. package/src/@core/styles/libs/fullcalendar/index.js +0 -461
  300. package/src/@core/styles/libs/keen-slider/index.js +0 -111
  301. package/src/@core/styles/libs/react-apexcharts/index.js +0 -107
  302. package/src/@core/styles/libs/react-cleave/index.js +0 -33
  303. package/src/@core/styles/libs/react-credit-cards/index.js +0 -11
  304. package/src/@core/styles/libs/react-datepicker/index.js +0 -388
  305. package/src/@core/styles/libs/react-draft-wysiwyg/index.js +0 -144
  306. package/src/@core/styles/libs/react-dropzone/index.js +0 -76
  307. package/src/@core/styles/libs/react-hot-toast/index.js +0 -37
  308. package/src/@core/styles/libs/recharts/index.js +0 -47
  309. package/src/@core/styles/stepper.js +0 -103
  310. package/src/@core/styles/vertical/menuItemStyles.js +0 -138
  311. package/src/@core/styles/vertical/menuSectionStyles.js +0 -54
  312. package/src/@core/styles/vertical/navigationCustomStyles.js +0 -62
  313. package/src/@core/svg/ContentCompact.jsx +0 -17
  314. package/src/@core/svg/ContentWide.jsx +0 -17
  315. package/src/@core/svg/DirectionLtr.jsx +0 -93
  316. package/src/@core/svg/DirectionRtl.jsx +0 -93
  317. package/src/@core/svg/LayoutCollapsed.jsx +0 -59
  318. package/src/@core/svg/LayoutHorizontal.jsx +0 -42
  319. package/src/@core/svg/LayoutVertical.jsx +0 -59
  320. package/src/@core/svg/Logo.jsx +0 -76
  321. package/src/@core/svg/SkinBordered.jsx +0 -54
  322. package/src/@core/svg/SkinDefault.jsx +0 -59
  323. package/src/@core/tailwind/plugin.js +0 -78
  324. package/src/@core/theme/ThemeComponent.js +0 -63
  325. package/src/@core/theme/ThemeOptions.js +0 -71
  326. package/src/@core/theme/breakpoints/index.js +0 -11
  327. package/src/@core/theme/colorSchemes.js +0 -326
  328. package/src/@core/theme/customShadows.js +0 -11
  329. package/src/@core/theme/globalStyles.js +0 -81
  330. package/src/@core/theme/index.js +0 -42
  331. package/src/@core/theme/overrides/accordion.js +0 -51
  332. package/src/@core/theme/overrides/accordion.jsx +0 -85
  333. package/src/@core/theme/overrides/alerts.js +0 -110
  334. package/src/@core/theme/overrides/alerts.jsx +0 -180
  335. package/src/@core/theme/overrides/autocomplete.js +0 -14
  336. package/src/@core/theme/overrides/autocomplete.jsx +0 -68
  337. package/src/@core/theme/overrides/avatar.js +0 -38
  338. package/src/@core/theme/overrides/avatars.js +0 -27
  339. package/src/@core/theme/overrides/backdrop.js +0 -22
  340. package/src/@core/theme/overrides/badges.js +0 -16
  341. package/src/@core/theme/overrides/breadcrumbs.js +0 -11
  342. package/src/@core/theme/overrides/button-group.js +0 -84
  343. package/src/@core/theme/overrides/button.js +0 -93
  344. package/src/@core/theme/overrides/buttonGroup.js +0 -9
  345. package/src/@core/theme/overrides/card.js +0 -83
  346. package/src/@core/theme/overrides/checkbox.jsx +0 -95
  347. package/src/@core/theme/overrides/chip.js +0 -72
  348. package/src/@core/theme/overrides/dataGrid.js +0 -114
  349. package/src/@core/theme/overrides/dateTimePicker.js +0 -65
  350. package/src/@core/theme/overrides/dialog.js +0 -120
  351. package/src/@core/theme/overrides/divider.js +0 -13
  352. package/src/@core/theme/overrides/drawer.js +0 -20
  353. package/src/@core/theme/overrides/fab.js +0 -13
  354. package/src/@core/theme/overrides/form-control-label.js +0 -19
  355. package/src/@core/theme/overrides/icon-button.js +0 -145
  356. package/src/@core/theme/overrides/index.js +0 -103
  357. package/src/@core/theme/overrides/input.js +0 -72
  358. package/src/@core/theme/overrides/link.js +0 -9
  359. package/src/@core/theme/overrides/list.js +0 -44
  360. package/src/@core/theme/overrides/menu.js +0 -25
  361. package/src/@core/theme/overrides/pagination.js +0 -41
  362. package/src/@core/theme/overrides/paper.js +0 -9
  363. package/src/@core/theme/overrides/popover.js +0 -16
  364. package/src/@core/theme/overrides/progress.js +0 -38
  365. package/src/@core/theme/overrides/radio.jsx +0 -80
  366. package/src/@core/theme/overrides/rating.js +0 -16
  367. package/src/@core/theme/overrides/rating.jsx +0 -32
  368. package/src/@core/theme/overrides/select.js +0 -19
  369. package/src/@core/theme/overrides/select.jsx +0 -52
  370. package/src/@core/theme/overrides/slider.js +0 -97
  371. package/src/@core/theme/overrides/snackbar.js +0 -19
  372. package/src/@core/theme/overrides/switch.js +0 -73
  373. package/src/@core/theme/overrides/switches.js +0 -25
  374. package/src/@core/theme/overrides/table-pagination.js +0 -39
  375. package/src/@core/theme/overrides/table.js +0 -81
  376. package/src/@core/theme/overrides/tabs.js +0 -30
  377. package/src/@core/theme/overrides/timeline.js +0 -80
  378. package/src/@core/theme/overrides/toggle-button.js +0 -33
  379. package/src/@core/theme/overrides/toggleButton.js +0 -16
  380. package/src/@core/theme/overrides/tooltip.js +0 -21
  381. package/src/@core/theme/overrides/typography.js +0 -13
  382. package/src/@core/theme/palette/index.js +0 -107
  383. package/src/@core/theme/shadows/index.js +0 -61
  384. package/src/@core/theme/shadows.js +0 -12
  385. package/src/@core/theme/spacing/index.js +0 -3
  386. package/src/@core/theme/spacing.js +0 -5
  387. package/src/@core/theme/typography/index.js +0 -65
  388. package/src/@core/theme/typography.js +0 -84
  389. package/src/@core/utils/create-emotion-cache.js +0 -5
  390. package/src/@core/utils/hex-to-rgba.js +0 -11
  391. package/src/@core/utils/serverHelpers.js +0 -45
  392. package/src/@menu/components/RouterLink.jsx +0 -18
  393. package/src/@menu/components/horizontal-menu/HorizontalNav.jsx +0 -88
  394. package/src/@menu/components/horizontal-menu/Menu.jsx +0 -83
  395. package/src/@menu/components/horizontal-menu/MenuButton.jsx +0 -100
  396. package/src/@menu/components/horizontal-menu/MenuItem.jsx +0 -183
  397. package/src/@menu/components/horizontal-menu/SubMenu.jsx +0 -418
  398. package/src/@menu/components/horizontal-menu/SubMenuContent.jsx +0 -41
  399. package/src/@menu/components/horizontal-menu/VerticalNavInHorizontal.jsx +0 -20
  400. package/src/@menu/components/vertical-menu/Menu.jsx +0 -161
  401. package/src/@menu/components/vertical-menu/MenuButton.jsx +0 -95
  402. package/src/@menu/components/vertical-menu/MenuItem.jsx +0 -180
  403. package/src/@menu/components/vertical-menu/MenuSection.jsx +0 -124
  404. package/src/@menu/components/vertical-menu/NavCollapseIcons.jsx +0 -70
  405. package/src/@menu/components/vertical-menu/NavHeader.jsx +0 -39
  406. package/src/@menu/components/vertical-menu/SubMenu.jsx +0 -420
  407. package/src/@menu/components/vertical-menu/SubMenuContent.jsx +0 -101
  408. package/src/@menu/components/vertical-menu/VerticalNav.jsx +0 -216
  409. package/src/@menu/contexts/horizontalNavContext.jsx +0 -29
  410. package/src/@menu/contexts/verticalNavContext.jsx +0 -65
  411. package/src/@menu/defaultConfigs.js +0 -12
  412. package/src/@menu/hooks/useHorizontalMenu.jsx +0 -19
  413. package/src/@menu/hooks/useHorizontalNav.jsx +0 -19
  414. package/src/@menu/hooks/useMediaQuery.jsx +0 -29
  415. package/src/@menu/hooks/useVerticalMenu.jsx +0 -19
  416. package/src/@menu/hooks/useVerticalNav.jsx +0 -19
  417. package/src/@menu/horizontal-menu/index.jsx +0 -8
  418. package/src/@menu/styles/StyledBackdrop.jsx +0 -15
  419. package/src/@menu/styles/StyledMenuIcon.jsx +0 -12
  420. package/src/@menu/styles/StyledMenuLabel.jsx +0 -16
  421. package/src/@menu/styles/StyledMenuPrefix.jsx +0 -10
  422. package/src/@menu/styles/StyledMenuSectionLabel.jsx +0 -21
  423. package/src/@menu/styles/StyledMenuSuffix.jsx +0 -10
  424. package/src/@menu/styles/StyledSubMenuContent.jsx +0 -43
  425. package/src/@menu/styles/horizontal/StyledHorizontalMenu.jsx +0 -13
  426. package/src/@menu/styles/horizontal/StyledHorizontalMenuItem.jsx +0 -26
  427. package/src/@menu/styles/horizontal/StyledHorizontalNav.jsx +0 -11
  428. package/src/@menu/styles/horizontal/StyledHorizontalNavExpandIcon.jsx +0 -33
  429. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContent.jsx +0 -18
  430. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContentWrapper.jsx +0 -10
  431. package/src/@menu/styles/horizontal/horizontalUl.module.css +0 -15
  432. package/src/@menu/styles/styles.module.css +0 -5
  433. package/src/@menu/styles/vertical/StyledVerticalMenu.jsx +0 -16
  434. package/src/@menu/styles/vertical/StyledVerticalMenuItem.jsx +0 -28
  435. package/src/@menu/styles/vertical/StyledVerticalMenuSection.jsx +0 -23
  436. package/src/@menu/styles/vertical/StyledVerticalNav.jsx +0 -67
  437. package/src/@menu/styles/vertical/StyledVerticalNavBgColorContainer.jsx +0 -15
  438. package/src/@menu/styles/vertical/StyledVerticalNavContainer.jsx +0 -23
  439. package/src/@menu/styles/vertical/StyledVerticalNavExpandIcon.jsx +0 -25
  440. package/src/@menu/styles/vertical/verticalNavBgImage.module.css +0 -10
  441. package/src/@menu/svg/ChevronRight.jsx +0 -9
  442. package/src/@menu/svg/Close.jsx +0 -12
  443. package/src/@menu/svg/RadioCircle.jsx +0 -12
  444. package/src/@menu/svg/RadioCircleMarked.jsx +0 -13
  445. package/src/@menu/utils/menuClasses.js +0 -44
  446. package/src/@menu/utils/menuUtils.jsx +0 -145
  447. package/src/@menu/vertical-menu/index.jsx +0 -11
  448. package/src/configs/acl.js +0 -115
  449. package/src/configs/auth.js +0 -5
  450. package/src/configs/aws-exports.js +0 -30
  451. package/src/configs/firebase.js +0 -25
  452. package/src/configs/i18n.js +0 -34
  453. package/src/configs/primaryColorConfig.js +0 -35
  454. package/src/configs/themeConfig.js +0 -44
  455. package/src/layouts/UserLayout.js +0 -94
  456. package/src/layouts/UserThemeOptions.js +0 -191
  457. package/src/layouts/components/Direction.js +0 -30
  458. package/src/layouts/components/HtmlTooltip.js +0 -15
  459. package/src/layouts/components/Translations.js +0 -11
  460. package/src/layouts/components/UserDropdown.js +0 -217
  461. package/src/layouts/components/UserIcon.js +0 -40
  462. package/src/layouts/components/acl/Can.js +0 -6
  463. package/src/layouts/components/acl/CanViewNavGroup.js +0 -36
  464. package/src/layouts/components/acl/CanViewNavLink.js +0 -17
  465. package/src/layouts/components/acl/CanViewNavSectionTitle.js +0 -17
  466. package/src/layouts/components/horizontal/AppBarContent.js +0 -39
  467. package/src/layouts/components/horizontal/ServerSideNavItems.js +0 -44
  468. package/src/layouts/components/mui/StepperComps.js +0 -55
  469. package/src/layouts/components/vertical/AppBarContent.js +0 -35
  470. package/src/layouts/components/vertical/ServerSideNavItems.js +0 -44
  471. package/src/libs/ApexCharts.jsx +0 -5
  472. package/src/libs/ReactPlayer.jsx +0 -5
  473. package/src/libs/Recharts.jsx +0 -4
  474. package/src/libs/auth.js +0 -124
  475. package/src/libs/styles/AppFullCalendar.js +0 -505
  476. package/src/libs/styles/AppKeenSlider.js +0 -116
  477. package/src/libs/styles/AppReactApexCharts.jsx +0 -110
  478. package/src/libs/styles/AppReactDatepicker.jsx +0 -470
  479. package/src/libs/styles/AppReactDropzone.js +0 -76
  480. package/src/libs/styles/AppReactToastify.jsx +0 -108
  481. package/src/libs/styles/AppRecharts.js +0 -55
  482. package/src/libs/styles/inputOtp.module.css +0 -39
  483. package/src/libs/styles/tiptapEditor.css +0 -72
  484. package/src/navigation/horizontal/index.js +0 -246
  485. package/src/navigation/vertical/index.js +0 -253
  486. package/src/pages/401.js +0 -70
  487. package/src/pages/404.js +0 -67
  488. package/src/pages/500.js +0 -68
  489. package/src/pages/[slug].js +0 -115
  490. package/src/pages/_document.js +0 -72
  491. package/src/pages/api/navigation/regenerate-registry.js +0 -116
  492. package/src/pages/api/navigation/save.js +0 -218
  493. package/src/pages/authModule/acl/index.js +0 -48
  494. package/src/pages/authModule/forgot-password/index.js +0 -228
  495. package/src/pages/authModule/permissions/rolePermissions/[id]/rolePermissionsUser/index.js +0 -392
  496. package/src/pages/authModule/permissions/rolePermissions/index.js +0 -343
  497. package/src/pages/authModule/permissions/systemPermissions/index.js +0 -354
  498. package/src/pages/authModule/privacy/index.js +0 -721
  499. package/src/pages/authModule/users/index.js +0 -210
  500. package/src/pages/login/index.js +0 -328
  501. package/src/pages/mainHome/index.js +0 -181
  502. package/src/views/builder/inspector/definitions/cell/main.js +0 -4
  503. package/src/views/builder/inspector/definitions/column/main.js +0 -9
  504. package/src/views/builder/inspector/definitions/column-group/main.js +0 -18
  505. package/src/views/builder/inspector/definitions/header-cell/main.js +0 -5
  506. package/src/views/builder/inspector/definitions/table/main.js +0 -9
  507. package/src/views/builder/viewer/renderers/CellRenderer.jsx +0 -71
  508. package/src/views/builder/viewer/renderers/ColumnGroupRenderer.jsx +0 -96
  509. package/src/views/builder/viewer/renderers/ColumnRenderer.jsx +0 -71
  510. package/src/views/builder/viewer/renderers/HeaderCellRenderer.jsx +0 -78
  511. package/src/views/builder/viewer/renderers/TabRenderer.jsx +0 -82
  512. package/src/views/builder/viewer/renderers/TableRenderer.jsx +0 -92
  513. package/src/views/pages/auth/FooterIllustrationsV2.js +0 -40
  514. package/src/views/pages/misc/FooterIllustrations.js +0 -47
  515. package/src/views/pages/misc/muiTable/CustomPagination.js +0 -34
  516. package/src/views/pages/users/UserManageDialog.js +0 -283
  517. package/src/views/pages/users/UserViewPage.js +0 -199
  518. package/src/views/users/AddUserNameDialog.js +0 -162
  519. package/src/views/users/ContactManage.js +0 -449
  520. 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