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,161 +0,0 @@
1
- 'use client'
2
-
3
- // React Imports
4
- import { createContext, forwardRef, useCallback, useEffect, useMemo, 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 { FloatingTree } from '@floating-ui/react'
12
-
13
- // Hook Imports
14
- import useVerticalNav from '../../hooks/useVerticalNav'
15
-
16
- // Util Imports
17
- import { menuClasses } from '../../utils/menuClasses'
18
-
19
- // Styled Component Imports
20
- import StyledVerticalMenu from '../../styles/vertical/StyledVerticalMenu'
21
-
22
- // Style Imports
23
- import styles from '../../styles/styles.module.css'
24
-
25
- // Default Config Imports
26
- import { verticalSubMenuToggleDuration } from '../../defaultConfigs'
27
-
28
- export const VerticalMenuContext = createContext({})
29
-
30
- const Menu = (props, ref) => {
31
- // Props
32
- const {
33
- children,
34
- className,
35
- rootStyles,
36
- menuItemStyles,
37
- renderExpandIcon,
38
- renderExpandedMenuItemIcon,
39
- menuSectionStyles,
40
- browserScroll = false,
41
- triggerPopout = 'hover',
42
- popoutWhenCollapsed = false,
43
- subMenuOpenBehavior = 'accordion', // accordion, collapse
44
- transitionDuration = verticalSubMenuToggleDuration,
45
- collapsedMenuSectionLabel = '-',
46
- popoutMenuOffset = { mainAxis: 0 },
47
- textTruncate = true,
48
- ...rest
49
- } = props
50
-
51
- // States
52
- const [openSubmenu, setOpenSubmenu] = useState([])
53
-
54
- // Refs
55
- const openSubmenusRef = useRef([])
56
-
57
- // Hooks
58
- const pathname = usePathname()
59
- const { updateVerticalNavState } = useVerticalNav()
60
-
61
- const toggleOpenSubmenu = useCallback(
62
- (...submenus) => {
63
- if (!submenus.length) return
64
- const openSubmenuCopy = [...openSubmenu]
65
-
66
- submenus.forEach(({ level, label, active = false, id }) => {
67
- const submenuIndex = openSubmenuCopy.findIndex(submenu => submenu.id === id)
68
- const submenuExists = submenuIndex >= 0
69
- const isAccordion = subMenuOpenBehavior === 'accordion'
70
- const inactiveSubmenuIndex = openSubmenuCopy.findIndex(submenu => !submenu.active && submenu.level === 0)
71
-
72
- // Delete submenu if it exists
73
- if (submenuExists) {
74
- openSubmenuCopy.splice(submenuIndex, 1)
75
- }
76
-
77
- if (isAccordion) {
78
- // Add submenu if it doesn't exist
79
- if (!submenuExists) {
80
- if (inactiveSubmenuIndex >= 0 && !active && level === 0) {
81
- openSubmenuCopy.splice(inactiveSubmenuIndex, 1, { level, label, active, id })
82
- } else {
83
- openSubmenuCopy.push({ level, label, active, id })
84
- }
85
- }
86
- } else {
87
- // Add submenu if it doesn't exist
88
- if (!submenuExists) {
89
- openSubmenuCopy.push({ level, label, active, id })
90
- }
91
- }
92
- })
93
- setOpenSubmenu(openSubmenuCopy)
94
- },
95
- [openSubmenu, subMenuOpenBehavior]
96
- )
97
-
98
- useEffect(() => {
99
- setOpenSubmenu([...openSubmenusRef.current])
100
- openSubmenusRef.current = []
101
- }, [pathname])
102
-
103
- // UseEffect, update verticalNav state to set initial values and update values on change
104
- useEffect(() => {
105
- updateVerticalNavState({
106
- isPopoutWhenCollapsed: popoutWhenCollapsed
107
- })
108
- }, [popoutWhenCollapsed, updateVerticalNavState])
109
-
110
- const providerValue = useMemo(
111
- () => ({
112
- browserScroll,
113
- triggerPopout,
114
- transitionDuration,
115
- menuItemStyles,
116
- menuSectionStyles,
117
- renderExpandIcon,
118
- renderExpandedMenuItemIcon,
119
- openSubmenu,
120
- openSubmenusRef,
121
- toggleOpenSubmenu,
122
- subMenuOpenBehavior,
123
- collapsedMenuSectionLabel,
124
- popoutMenuOffset,
125
- textTruncate
126
- }),
127
- [
128
- browserScroll,
129
- triggerPopout,
130
- transitionDuration,
131
- menuItemStyles,
132
- menuSectionStyles,
133
- renderExpandIcon,
134
- renderExpandedMenuItemIcon,
135
- openSubmenu,
136
- openSubmenusRef,
137
- toggleOpenSubmenu,
138
- subMenuOpenBehavior,
139
- collapsedMenuSectionLabel,
140
- popoutMenuOffset,
141
- textTruncate
142
- ]
143
- )
144
-
145
- return (
146
- <VerticalMenuContext.Provider value={providerValue}>
147
- <FloatingTree>
148
- <StyledVerticalMenu
149
- ref={ref}
150
- className={classnames(menuClasses.root, className)}
151
- rootStyles={rootStyles}
152
- {...rest}
153
- >
154
- <ul className={styles.ul}>{children}</ul>
155
- </StyledVerticalMenu>
156
- </FloatingTree>
157
- </VerticalMenuContext.Provider>
158
- )
159
- }
160
-
161
- export default forwardRef(Menu)
@@ -1,95 +0,0 @@
1
- // React Imports
2
- import { cloneElement, createElement, forwardRef } from 'react'
3
-
4
- // Third-party Imports
5
- import classnames from 'classnames'
6
- import { css } from '@emotion/react'
7
-
8
- // Component Imports
9
- import { RouterLink } from '../RouterLink'
10
-
11
- // Util Imports
12
- import { menuClasses } from '../../utils/menuClasses'
13
-
14
- export const menuButtonStyles = props => {
15
- // Props
16
- const { level, disabled, children, isCollapsed, isPopoutWhenCollapsed } = props
17
-
18
- return css({
19
- display: 'flex',
20
- alignItems: 'center',
21
- minBlockSize: '30px',
22
- textDecoration: 'none',
23
- color: 'inherit',
24
- boxSizing: 'border-box',
25
- cursor: 'pointer',
26
- paddingInlineEnd: '20px',
27
- paddingInlineStart: `${level === 0 ? 20 : (isPopoutWhenCollapsed && isCollapsed ? level : level + 1) * 20}px`,
28
- '&:hover, &[aria-expanded="true"]': {
29
- backgroundColor: '#f3f3f3'
30
- },
31
- '&:focus-visible': {
32
- outline: 'none',
33
- backgroundColor: '#f3f3f3'
34
- },
35
- ...(disabled && {
36
- pointerEvents: 'none',
37
- cursor: 'default',
38
- color: '#adadad'
39
- }),
40
-
41
- // All the active styles are applied to the button including menu items or submenu
42
- [`&.${menuClasses.active}`]: {
43
- ...(!children && { color: 'white' }),
44
- backgroundColor: children ? '#f3f3f3' : '#765feb'
45
- }
46
- })
47
- }
48
-
49
- const MenuButton = ({ className, component, children, ...rest }, ref) => {
50
- if (component) {
51
- // If component is a string, create a new element of that type
52
- if (typeof component === 'string') {
53
- return createElement(
54
- component,
55
- {
56
- className: classnames(className),
57
- ...rest,
58
- ref
59
- },
60
- children
61
- )
62
- } else {
63
- // Otherwise, clone the element
64
- const { className: classNameProp, ...props } = component.props
65
-
66
- return cloneElement(
67
- component,
68
- {
69
- className: classnames(className, classNameProp),
70
- ...rest,
71
- ...props,
72
- ref
73
- },
74
- children
75
- )
76
- }
77
- } else {
78
- // If there is no component but href is defined, render RouterLink
79
- if (rest.href) {
80
- return (
81
- <RouterLink ref={ref} className={className} href={rest.href} {...rest}>
82
- {children}
83
- </RouterLink>
84
- )
85
- } else {
86
- return (
87
- <a ref={ref} className={className} {...rest}>
88
- {children}
89
- </a>
90
- )
91
- }
92
- }
93
- }
94
-
95
- export default forwardRef(MenuButton)
@@ -1,180 +0,0 @@
1
- 'use client'
2
-
3
- // React Imports
4
- import { forwardRef, 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
-
13
- // Component Imports
14
- import MenuButton from './MenuButton'
15
-
16
- // Hook Imports
17
- import useVerticalNav from '../../hooks/useVerticalNav'
18
- import useVerticalMenu from '../../hooks/useVerticalMenu'
19
-
20
- // Util Imports
21
- import { renderMenuIcon } from '../../utils/menuUtils'
22
- import { menuClasses } from '../../utils/menuClasses'
23
-
24
- // Styled Component Imports
25
- import StyledMenuLabel from '../../styles/StyledMenuLabel'
26
- import StyledMenuPrefix from '../../styles/StyledMenuPrefix'
27
- import StyledMenuSuffix from '../../styles/StyledMenuSuffix'
28
- import StyledVerticalMenuItem from '../../styles/vertical/StyledVerticalMenuItem'
29
-
30
- const MenuItem = (props, ref) => {
31
- // Props
32
- const {
33
- children,
34
- icon,
35
- className,
36
- prefix,
37
- suffix,
38
- level = 0,
39
- disabled = false,
40
- exactMatch = true,
41
- activeUrl,
42
- component,
43
- onActiveChange,
44
- rootStyles,
45
- ...rest
46
- } = props
47
-
48
- // States
49
- const [active, setActive] = useState(false)
50
-
51
- // Hooks
52
- const pathname = usePathname()
53
- const { menuItemStyles, renderExpandedMenuItemIcon, textTruncate } = useVerticalMenu()
54
-
55
- const { isCollapsed, isHovered, isPopoutWhenCollapsed, toggleVerticalNav, isToggled, isBreakpointReached } =
56
- useVerticalNav()
57
-
58
- // Get the styles for the specified element.
59
- const getMenuItemStyles = element => {
60
- // If the menuItemStyles prop is provided, get the styles for the specified element.
61
- if (menuItemStyles) {
62
- // Define the parameters that are passed to the style functions.
63
- const params = { level, disabled, active, isSubmenu: false }
64
-
65
- // Get the style function for the specified element.
66
- const styleFunction = menuItemStyles[element]
67
-
68
- if (styleFunction) {
69
- // If the style function is a function, call it and return the result.
70
- // Otherwise, return the style function itself.
71
- return typeof styleFunction === 'function' ? styleFunction(params) : styleFunction
72
- }
73
- }
74
- }
75
-
76
- // Handle the click event.
77
- const handleClick = () => {
78
- if (isToggled) {
79
- toggleVerticalNav()
80
- }
81
- }
82
-
83
- // Change active state when the url changes
84
- useEffect(() => {
85
- const href = rest.href || (component && typeof component !== 'string' && component.props.href)
86
-
87
- if (href) {
88
- // Check if the current url matches any of the children urls
89
- if (exactMatch ? pathname === href : activeUrl && pathname.includes(activeUrl)) {
90
- setActive(true)
91
- } else {
92
- setActive(false)
93
- }
94
- }
95
- // eslint-disable-next-line react-hooks/exhaustive-deps
96
- }, [pathname])
97
-
98
- // Call the onActiveChange callback when the active state changes.
99
- useUpdateEffect(() => {
100
- onActiveChange?.(active)
101
- }, [active])
102
-
103
- return (
104
- <StyledVerticalMenuItem
105
- ref={ref}
106
- className={classnames(
107
- menuClasses.menuItemRoot,
108
- { [menuClasses.disabled]: disabled },
109
- { [menuClasses.active]: active },
110
- className
111
- )}
112
- level={level}
113
- isCollapsed={isCollapsed}
114
- isPopoutWhenCollapsed={isPopoutWhenCollapsed}
115
- disabled={disabled}
116
- buttonStyles={getMenuItemStyles('button')}
117
- menuItemStyles={getMenuItemStyles('root')}
118
- rootStyles={rootStyles}
119
- >
120
- <MenuButton
121
- className={classnames(menuClasses.button, { [menuClasses.active]: active })}
122
- component={component}
123
- tabIndex={disabled ? -1 : 0}
124
- {...rest}
125
- onClick={e => {
126
- handleClick()
127
- rest.onClick && rest.onClick(e)
128
- }}
129
- >
130
- {/* Menu Item Icon */}
131
- {renderMenuIcon({
132
- icon,
133
- level,
134
- active,
135
- disabled,
136
- renderExpandedMenuItemIcon,
137
- styles: getMenuItemStyles('icon'),
138
- isBreakpointReached
139
- })}
140
-
141
- {/* Menu Item Prefix */}
142
- {prefix && (
143
- <StyledMenuPrefix
144
- isHovered={isHovered}
145
- isCollapsed={isCollapsed}
146
- firstLevel={level === 0}
147
- className={menuClasses.prefix}
148
- rootStyles={getMenuItemStyles('prefix')}
149
- >
150
- {prefix}
151
- </StyledMenuPrefix>
152
- )}
153
-
154
- {/* Menu Item Label */}
155
- <StyledMenuLabel
156
- className={menuClasses.label}
157
- rootStyles={getMenuItemStyles('label')}
158
- textTruncate={textTruncate}
159
- >
160
- {children}
161
- </StyledMenuLabel>
162
-
163
- {/* Menu Item Suffix */}
164
- {suffix && (
165
- <StyledMenuSuffix
166
- isHovered={isHovered}
167
- isCollapsed={isCollapsed}
168
- firstLevel={level === 0}
169
- className={menuClasses.suffix}
170
- rootStyles={getMenuItemStyles('suffix')}
171
- >
172
- {suffix}
173
- </StyledMenuSuffix>
174
- )}
175
- </MenuButton>
176
- </StyledVerticalMenuItem>
177
- )
178
- }
179
-
180
- export default forwardRef(MenuItem)
@@ -1,124 +0,0 @@
1
- 'use client'
2
-
3
- // React Imports
4
- import { forwardRef } from 'react'
5
-
6
- // Third-party Imports
7
- import classnames from 'classnames'
8
-
9
- // Hook Imports
10
- import useVerticalNav from '../../hooks/useVerticalNav'
11
- import useVerticalMenu from '../../hooks/useVerticalMenu'
12
-
13
- // Util Imports
14
- import { menuClasses } from '../../utils/menuClasses'
15
-
16
- // Styled Component Imports
17
- import StyledMenuIcon from '../../styles/StyledMenuIcon'
18
- import StyledMenuPrefix from '../../styles/StyledMenuPrefix'
19
- import StyledMenuSuffix from '../../styles/StyledMenuSuffix'
20
- import StyledMenuSectionLabel from '../../styles/StyledMenuSectionLabel'
21
- import StyledVerticalMenuSection from '../../styles/vertical/StyledVerticalMenuSection'
22
-
23
- const menuSectionWrapperStyles = {
24
- display: 'inline-block',
25
- inlineSize: '100%',
26
- position: 'relative',
27
- listStyle: 'none',
28
- padding: 0,
29
- overflow: 'hidden'
30
- }
31
-
32
- const menuSectionContentStyles = {
33
- display: 'flex',
34
- alignItems: 'center',
35
- inlineSize: '100%',
36
- position: 'relative',
37
- paddingBlock: '0.75rem',
38
- paddingInline: '1.25rem',
39
- overflow: 'hidden'
40
- }
41
-
42
- const MenuSection = (props, ref) => {
43
- // Props
44
- const { children, icon, className, prefix, suffix, label, rootStyles, ...rest } = props
45
-
46
- // Hooks
47
- const { isCollapsed, isHovered } = useVerticalNav()
48
- const { menuSectionStyles, collapsedMenuSectionLabel, textTruncate } = useVerticalMenu()
49
-
50
- const getMenuSectionStyles = element => {
51
- // If the menuSectionStyles prop is provided, get the styles for the element from the prop
52
- if (menuSectionStyles) {
53
- return menuSectionStyles[element]
54
- }
55
- }
56
-
57
- return (
58
- // eslint-disable-next-line lines-around-comment
59
- // Menu Section
60
- <StyledVerticalMenuSection
61
- ref={ref}
62
- rootStyles={rootStyles}
63
- menuSectionStyles={getMenuSectionStyles('root')}
64
- className={classnames(menuClasses.menuSectionRoot, className)}
65
- >
66
- {/* Menu Section Content Wrapper */}
67
- <ul className={menuClasses.menuSectionWrapper} {...rest} style={menuSectionWrapperStyles}>
68
- {/* Menu Section Content */}
69
- <li className={menuClasses.menuSectionContent} style={menuSectionContentStyles}>
70
- {icon && (
71
- <StyledMenuIcon className={menuClasses.icon} rootStyles={getMenuSectionStyles('icon')}>
72
- {icon}
73
- </StyledMenuIcon>
74
- )}
75
- {prefix && (
76
- <StyledMenuPrefix
77
- isCollapsed={isCollapsed}
78
- className={menuClasses.prefix}
79
- rootStyles={getMenuSectionStyles('prefix')}
80
- >
81
- {prefix}
82
- </StyledMenuPrefix>
83
- )}
84
- {collapsedMenuSectionLabel && isCollapsed && !isHovered ? (
85
- <StyledMenuSectionLabel
86
- isCollapsed={isCollapsed}
87
- isHovered={isHovered}
88
- className={menuClasses.menuSectionLabel}
89
- rootStyles={getMenuSectionStyles('label')}
90
- textTruncate={textTruncate}
91
- >
92
- {collapsedMenuSectionLabel}
93
- </StyledMenuSectionLabel>
94
- ) : (
95
- label && (
96
- <StyledMenuSectionLabel
97
- isCollapsed={isCollapsed}
98
- isHovered={isHovered}
99
- className={menuClasses.menuSectionLabel}
100
- rootStyles={getMenuSectionStyles('label')}
101
- textTruncate={textTruncate}
102
- >
103
- {label}
104
- </StyledMenuSectionLabel>
105
- )
106
- )}
107
- {suffix && (
108
- <StyledMenuSuffix
109
- isCollapsed={isCollapsed}
110
- className={menuClasses.suffix}
111
- rootStyles={getMenuSectionStyles('suffix')}
112
- >
113
- {suffix}
114
- </StyledMenuSuffix>
115
- )}
116
- </li>
117
- {/* Render Child */}
118
- {children}
119
- </ul>
120
- </StyledVerticalMenuSection>
121
- )
122
- }
123
-
124
- export default forwardRef(MenuSection)
@@ -1,70 +0,0 @@
1
- 'use client'
2
-
3
- // Hook Imports
4
- import useVerticalNav from '../../hooks/useVerticalNav'
5
-
6
- // Icon Imports
7
- import CloseIcon from '../../svg/Close'
8
- import RadioCircleIcon from '../../svg/RadioCircle'
9
- import RadioCircleMarkedIcon from '../../svg/RadioCircleMarked'
10
-
11
- const NavCollapseIcons = props => {
12
- // Props
13
- const { closeIcon, lockedIcon, unlockedIcon, onClick, onClose, ...rest } = props
14
-
15
- // Hooks
16
- const { isCollapsed, collapseVerticalNav, isBreakpointReached, toggleVerticalNav } = useVerticalNav()
17
-
18
- // Handle Lock / Unlock Icon Buttons click
19
- const handleClick = action => {
20
- // Setup the verticalNav to be locked or unlocked
21
- const collapse = action === 'lock' ? false : true
22
-
23
- // Tell the verticalNav to lock or unlock
24
- collapseVerticalNav(collapse)
25
-
26
- // Call onClick function if passed
27
- onClick && onClick()
28
- }
29
-
30
- // Handle Close button click
31
- const handleClose = () => {
32
- // Close verticalNav using toggle verticalNav function
33
- toggleVerticalNav(false)
34
-
35
- // Call onClose function if passed
36
- onClose && onClose()
37
- }
38
-
39
- return (
40
- <>
41
- {isBreakpointReached ? (
42
- <span role='button' tabIndex={0} style={{ display: 'flex', cursor: 'pointer' }} onClick={handleClose} {...rest}>
43
- {closeIcon ?? <CloseIcon />}
44
- </span>
45
- ) : isCollapsed ? (
46
- <span
47
- role='button'
48
- tabIndex={0}
49
- style={{ display: 'flex', cursor: 'pointer' }}
50
- onClick={() => handleClick('lock')}
51
- {...rest}
52
- >
53
- {unlockedIcon ?? <RadioCircleIcon />}
54
- </span>
55
- ) : (
56
- <span
57
- role='button'
58
- tabIndex={0}
59
- style={{ display: 'flex', cursor: 'pointer' }}
60
- onClick={() => handleClick('unlock')}
61
- {...rest}
62
- >
63
- {lockedIcon ?? <RadioCircleMarkedIcon />}
64
- </span>
65
- )}
66
- </>
67
- )
68
- }
69
-
70
- export default NavCollapseIcons
@@ -1,39 +0,0 @@
1
- // Third-party Imports
2
- import styled from '@emotion/styled'
3
-
4
- // Hook Imports
5
- import useVerticalNav from '../../hooks/useVerticalNav'
6
-
7
- // Util Imports
8
- import { verticalNavClasses } from '../../utils/menuClasses'
9
-
10
- const StyledNavHeader = styled.div`
11
- padding: 15px;
12
- padding-inline-start: 20px;
13
- display: flex;
14
- align-items: center;
15
- justify-content: space-between;
16
- transition: ${({ transitionDuration }) => `padding-inline ${transitionDuration}ms ease-in-out`};
17
-
18
- ${({ isHovered, isCollapsed, collapsedWidth }) =>
19
- isCollapsed && !isHovered && `padding-inline: calc((${collapsedWidth}px - 1px - 22px) / 2);`}
20
- `
21
-
22
- const NavHeader = ({ children }) => {
23
- // Hooks
24
- const { isHovered, isCollapsed, collapsedWidth, transitionDuration } = useVerticalNav()
25
-
26
- return (
27
- <StyledNavHeader
28
- className={verticalNavClasses.header}
29
- isHovered={isHovered}
30
- isCollapsed={isCollapsed}
31
- collapsedWidth={collapsedWidth}
32
- transitionDuration={transitionDuration}
33
- >
34
- {children}
35
- </StyledNavHeader>
36
- )
37
- }
38
-
39
- export default NavHeader