robobyte-front-builder 1.0.19 → 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 (513) 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 +61 -7
  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 +8 -6
  21. package/src/pages/reportModule/reportBuilder/reportViewer/index.js +33 -22
  22. package/src/pages/reportModule/reportBuilder/reports/index.js +3 -5
  23. package/src/pages/reportModule/reportBuilder/reportsPermissions/index.js +2 -3
  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 +5 -9
  49. package/src/services/reportData/fetchReportData.js +69 -28
  50. package/src/services/routerRef.js +35 -0
  51. package/src/views/ConfirmDialog.js +2 -2
  52. package/src/views/builder/JSEditor.js +105 -107
  53. package/src/views/builder/inspector/Inspector.jsx +6 -9
  54. package/src/views/builder/inspector/Tabs/ComponentActionsTab.jsx +7 -13
  55. package/src/views/builder/inspector/Tabs/MainTab.jsx +143 -25
  56. package/src/views/builder/inspector/Tabs/RulesTab.jsx +9 -24
  57. package/src/views/builder/inspector/Tabs/StyleTab.jsx +9 -24
  58. package/src/views/builder/inspector/definitions/autocomplete/main.js +4 -6
  59. package/src/views/builder/inspector/definitions/banner/actions.js +7 -0
  60. package/src/views/builder/inspector/definitions/banner/main.js +22 -0
  61. package/src/views/builder/inspector/definitions/banner/rules.js +1 -0
  62. package/src/views/builder/inspector/definitions/banner/style.js +1 -0
  63. package/src/views/builder/inspector/definitions/breadcrumb/main.js +43 -6
  64. package/src/views/builder/inspector/definitions/button/main.js +11 -12
  65. package/src/views/builder/inspector/definitions/button/style.js +18 -30
  66. package/src/views/builder/inspector/definitions/checkbox/actions.js +3 -1
  67. package/src/views/builder/inspector/definitions/checkbox/main.js +4 -6
  68. package/src/views/builder/inspector/definitions/common/main.js +13 -2
  69. package/src/views/builder/inspector/definitions/dataGrid/main.js +23 -0
  70. package/src/views/builder/inspector/definitions/dataTableViewer/main.js +46 -0
  71. package/src/views/builder/inspector/definitions/datepicker/actions.js +3 -1
  72. package/src/views/builder/inspector/definitions/datepicker/main.js +6 -14
  73. package/src/views/builder/inspector/definitions/dialog/main.js +36 -0
  74. package/src/views/builder/inspector/definitions/dropdown/main.js +5 -8
  75. package/src/views/builder/inspector/definitions/excelUpload/actions.js +23 -0
  76. package/src/views/builder/inspector/definitions/excelUpload/main.js +17 -0
  77. package/src/views/builder/inspector/definitions/excelUpload/rules.js +1 -0
  78. package/src/views/builder/inspector/definitions/excelUpload/style.js +45 -0
  79. package/src/views/builder/inspector/definitions/header/main.js +10 -1
  80. package/src/views/builder/inspector/definitions/index.js +106 -19
  81. package/src/views/builder/inspector/definitions/input/actions.js +4 -1
  82. package/src/views/builder/inspector/definitions/input/main.js +20 -11
  83. package/src/views/builder/inspector/definitions/kpi/avatarGroup.js +22 -0
  84. package/src/views/builder/inspector/definitions/kpi/badge.js +17 -0
  85. package/src/views/builder/inspector/definitions/kpi/bulletChart.js +47 -0
  86. package/src/views/builder/inspector/definitions/kpi/chart.js +55 -0
  87. package/src/views/builder/inspector/definitions/kpi/colorScale.js +60 -0
  88. package/src/views/builder/inspector/definitions/kpi/comparisonBars.js +41 -0
  89. package/src/views/builder/inspector/definitions/kpi/countdown.js +46 -0
  90. package/src/views/builder/inspector/definitions/kpi/donut.js +51 -0
  91. package/src/views/builder/inspector/definitions/kpi/funnel.js +25 -0
  92. package/src/views/builder/inspector/definitions/kpi/gauge.js +39 -0
  93. package/src/views/builder/inspector/definitions/kpi/heatmapGrid.js +96 -0
  94. package/src/views/builder/inspector/definitions/kpi/iconBox.js +20 -0
  95. package/src/views/builder/inspector/definitions/kpi/metric.js +45 -0
  96. package/src/views/builder/inspector/definitions/kpi/rating.js +27 -0
  97. package/src/views/builder/inspector/definitions/kpi/statusDot.js +18 -0
  98. package/src/views/builder/inspector/definitions/kpi/stepStage.js +65 -0
  99. package/src/views/builder/inspector/definitions/kpi/tagList.js +32 -0
  100. package/src/views/builder/inspector/definitions/kpi/timeline.js +80 -0
  101. package/src/views/builder/inspector/definitions/kpi/trend.js +20 -0
  102. package/src/views/builder/inspector/definitions/label/main.js +10 -1
  103. package/src/views/builder/inspector/definitions/layout/main.js +27 -3
  104. package/src/views/builder/inspector/definitions/number/main.js +6 -14
  105. package/src/views/builder/inspector/definitions/pageNumber/main.js +21 -0
  106. package/src/views/builder/inspector/definitions/popover/main.js +71 -0
  107. package/src/views/builder/inspector/definitions/radio/main.js +5 -8
  108. package/src/views/builder/inspector/definitions/repeater/main.js +31 -0
  109. package/src/views/builder/inspector/definitions/reportViewer/main.js +15 -1
  110. package/src/views/builder/inspector/definitions/richtext/main.js +5 -8
  111. package/src/views/builder/inspector/definitions/signature/main.js +4 -1
  112. package/src/views/builder/inspector/definitions/tag/main.js +5 -8
  113. package/src/views/builder/inspector/definitions/textarea/actions.js +4 -1
  114. package/src/views/builder/inspector/definitions/textarea/main.js +5 -7
  115. package/src/views/builder/inspector/definitions/time/main.js +5 -8
  116. package/src/views/builder/inspector/definitions/toggle/main.js +5 -19
  117. package/src/views/builder/inspector/definitions/treeView/main.js +61 -0
  118. package/src/views/builder/inspector/definitions/viewRenderer/main.js +53 -0
  119. package/src/views/builder/inspector/definitions/wizard/main.js +68 -0
  120. package/src/views/builder/inspector/definitions/wizard-step/main.js +25 -0
  121. package/src/views/builder/inspector/fields/ActionsConfigEditor.jsx +426 -0
  122. package/src/views/builder/inspector/fields/ColorSchemaField.jsx +140 -0
  123. package/src/views/builder/inspector/fields/ColumnFunctionEditor.jsx +238 -0
  124. package/src/views/builder/inspector/fields/ColumnMappingEditor.jsx +105 -0
  125. package/src/views/builder/inspector/fields/ColumnsConfigEditor.jsx +506 -0
  126. package/src/views/builder/inspector/fields/DonutRingsEditorField.jsx +337 -0
  127. package/src/views/builder/inspector/fields/ExtraColsEditor.jsx +618 -0
  128. package/src/views/builder/inspector/fields/FunctionHelpPopover.jsx +295 -0
  129. package/src/views/builder/inspector/fields/IconEditor.jsx +64 -0
  130. package/src/views/builder/inspector/fields/KpiActionField.jsx +223 -0
  131. package/src/views/builder/inspector/fields/MarkersEditorField.jsx +173 -0
  132. package/src/views/builder/inspector/fields/SelectEditor.jsx +9 -5
  133. package/src/views/builder/inspector/fields/SeriesEditorField.jsx +363 -0
  134. package/src/views/builder/inspector/fields/TableColumnsEditor.jsx +104 -0
  135. package/src/views/builder/inspector/fields/ThresholdsEditor.jsx +247 -0
  136. package/src/views/builder/inspector/fields/ValueFunctionsRefPanel.jsx +217 -0
  137. package/src/views/builder/inspector/fields/columnEditorShared.jsx +217 -0
  138. package/src/views/builder/sidebar/Sidebar.jsx +4 -2
  139. package/src/views/builder/sidebar/SidebarTabs.jsx +28 -17
  140. package/src/views/builder/sidebar/tabs/ActionsTab.jsx +7 -3
  141. package/src/views/builder/sidebar/tabs/AiTab/AiPreviewDialog.jsx +193 -0
  142. package/src/views/builder/sidebar/tabs/AiTab/aiProvider.js +49 -0
  143. package/src/views/builder/sidebar/tabs/AiTab/index.jsx +409 -0
  144. package/src/views/builder/sidebar/tabs/AiTab/schemaTransformer.js +102 -0
  145. package/src/views/builder/sidebar/tabs/AiTab/schemaValidator.js +64 -0
  146. package/src/views/builder/sidebar/tabs/AiTab/systemPrompt.js +1151 -0
  147. package/src/views/builder/sidebar/tabs/Components/ComponentsTab.jsx +31 -31
  148. package/src/views/builder/sidebar/tabs/Components/componentCatalog.js +43 -21
  149. package/src/views/builder/sidebar/tabs/Components/printComponentCatalog.js +81 -0
  150. package/src/views/builder/sidebar/tabs/TimersTab.jsx +338 -0
  151. package/src/views/builder/sidebar/tabs/TreeTab.jsx +13 -4
  152. package/src/views/builder/sidebar/tabs/ViewTab.jsx +1 -1
  153. package/src/views/builder/viewer/AdornedLabel.jsx +82 -0
  154. package/src/views/builder/viewer/ComponentRenderer.jsx +98 -24
  155. package/src/views/builder/viewer/DialogsZone.jsx +259 -0
  156. package/src/views/builder/viewer/FieldLabel.jsx +106 -0
  157. package/src/views/builder/viewer/PrintDialog.jsx +481 -0
  158. package/src/views/builder/viewer/ProductionViewer.jsx +80 -5
  159. package/src/views/builder/viewer/Viewer.jsx +106 -8
  160. package/src/views/builder/viewer/ViewerComponentWrapper.jsx +61 -4
  161. package/src/views/builder/viewer/ViewerToolbar.jsx +273 -59
  162. package/src/views/builder/viewer/renderers/AutoCompleteRenderer.jsx +26 -22
  163. package/src/views/builder/viewer/renderers/AvatarGroupRenderer.jsx +112 -0
  164. package/src/views/builder/viewer/renderers/BadgeRenderer.jsx +79 -0
  165. package/src/views/builder/viewer/renderers/BannerRenderer.jsx +62 -0
  166. package/src/views/builder/viewer/renderers/BreadcrumbRenderer.jsx +203 -15
  167. package/src/views/builder/viewer/renderers/BulletChartRenderer.jsx +147 -0
  168. package/src/views/builder/viewer/renderers/ButtonRenderer.jsx +98 -39
  169. package/src/views/builder/viewer/renderers/CardRenderer.jsx +1 -1
  170. package/src/views/builder/viewer/renderers/ChartRenderer.jsx +388 -0
  171. package/src/views/builder/viewer/renderers/CheckboxRenderer.jsx +17 -9
  172. package/src/views/builder/viewer/renderers/ColorScaleRenderer.jsx +300 -0
  173. package/src/views/builder/viewer/renderers/ComparisonBarsRenderer.jsx +133 -0
  174. package/src/views/builder/viewer/renderers/ContainerRenderer.jsx +3 -1
  175. package/src/views/builder/viewer/renderers/CountdownRenderer.jsx +249 -0
  176. package/src/views/builder/viewer/renderers/DataGridRenderer.jsx +380 -0
  177. package/src/views/builder/viewer/renderers/DataTableViewerRenderer.jsx +240 -0
  178. package/src/views/builder/viewer/renderers/DatePickerRenderer.jsx +25 -24
  179. package/src/views/builder/viewer/renderers/DialogRenderer.jsx +327 -0
  180. package/src/views/builder/viewer/renderers/DividerRenderer.jsx +1 -1
  181. package/src/views/builder/viewer/renderers/DonutRenderer.jsx +294 -0
  182. package/src/views/builder/viewer/renderers/DropdownRenderer.jsx +36 -44
  183. package/src/views/builder/viewer/renderers/ExcelUploadRenderer.jsx +639 -0
  184. package/src/views/builder/viewer/renderers/FunnelRenderer.jsx +93 -0
  185. package/src/views/builder/viewer/renderers/GaugeRenderer.jsx +159 -0
  186. package/src/views/builder/viewer/renderers/HeaderRenderer.jsx +31 -9
  187. package/src/views/builder/viewer/renderers/HeatmapGridRenderer.jsx +432 -0
  188. package/src/views/builder/viewer/renderers/IconBoxRenderer.jsx +59 -0
  189. package/src/views/builder/viewer/renderers/ImageRenderer.jsx +1 -1
  190. package/src/views/builder/viewer/renderers/InputRenderer.jsx +75 -18
  191. package/src/views/builder/viewer/renderers/LabelRenderer.jsx +35 -9
  192. package/src/views/builder/viewer/renderers/LayoutCellRenderer.jsx +102 -40
  193. package/src/views/builder/viewer/renderers/LayoutContextMenu.jsx +8 -8
  194. package/src/views/builder/viewer/renderers/LayoutRenderer.jsx +48 -6
  195. package/src/views/builder/viewer/renderers/LinkRenderer.jsx +1 -1
  196. package/src/views/builder/viewer/renderers/MenuRenderer.jsx +2 -2
  197. package/src/views/builder/viewer/renderers/MetricRenderer.jsx +80 -0
  198. package/src/views/builder/viewer/renderers/NumberFormatRenderer.jsx +21 -30
  199. package/src/views/builder/viewer/renderers/PageNumberRenderer.jsx +76 -0
  200. package/src/views/builder/viewer/renderers/PopoverRenderer.jsx +350 -0
  201. package/src/views/builder/viewer/renderers/ProgressCircleRenderer.jsx +1 -1
  202. package/src/views/builder/viewer/renderers/ProgressLineRenderer.jsx +1 -1
  203. package/src/views/builder/viewer/renderers/RadioGroupRenderer.jsx +28 -39
  204. package/src/views/builder/viewer/renderers/RatingRenderer.jsx +80 -0
  205. package/src/views/builder/viewer/renderers/RepeaterRenderer.jsx +297 -38
  206. package/src/views/builder/viewer/renderers/ReportViewerRenderer.jsx +219 -5
  207. package/src/views/builder/viewer/renderers/RichTextRenderer.jsx +60 -66
  208. package/src/views/builder/viewer/renderers/RowActionsCell.jsx +308 -0
  209. package/src/views/builder/viewer/renderers/SignatureRenderer.jsx +33 -62
  210. package/src/views/builder/viewer/renderers/StatusDotRenderer.jsx +75 -0
  211. package/src/views/builder/viewer/renderers/StepStageRenderer.jsx +348 -0
  212. package/src/views/builder/viewer/renderers/TagListRenderer.jsx +115 -0
  213. package/src/views/builder/viewer/renderers/TagPickerRenderer.jsx +31 -45
  214. package/src/views/builder/viewer/renderers/TextAreaRenderer.jsx +25 -18
  215. package/src/views/builder/viewer/renderers/TextRenderer.jsx +7 -1
  216. package/src/views/builder/viewer/renderers/TimePickerRenderer.jsx +25 -24
  217. package/src/views/builder/viewer/renderers/TimelineRenderer.jsx +525 -0
  218. package/src/views/builder/viewer/renderers/ToggleRenderer.jsx +21 -27
  219. package/src/views/builder/viewer/renderers/TreeViewRenderer.jsx +832 -0
  220. package/src/views/builder/viewer/renderers/TrendRenderer.jsx +66 -0
  221. package/src/views/builder/viewer/renderers/ViewRendererRenderer.jsx +315 -0
  222. package/src/views/builder/viewer/renderers/WizardRenderer.jsx +380 -64
  223. package/src/views/builder/viewer/renderers/WizardStepRenderer.jsx +21 -12
  224. package/src/views/builder/viewer/renderers/dataGridComponents.jsx +824 -0
  225. package/src/views/customFilter/CustomFilterDialog.js +1023 -660
  226. package/src/views/customFilter/FixedFilterDialog.js +649 -0
  227. package/src/views/customFilter/SearchFilterDialog.js +248 -0
  228. package/src/views/genericTable/BuilderExpressionParams.js +3 -3
  229. package/src/views/genericTable/ColumnConfiguratorDialog.js +33 -24
  230. package/src/views/genericTable/FixedFilterDialog.js +3 -2
  231. package/src/views/genericTable/FormattingSettingsDialog.js +8 -3
  232. package/src/views/genericTable/SGrid.js +198 -97
  233. package/src/views/genericTable/SearchFilterDialog.js +3 -2
  234. package/src/views/genericTable/cellEditors/autocompleteEditor.js +5 -9
  235. package/src/views/genericTable/convertStringFunctions.js +274 -138
  236. package/src/views/genericTable/statusBar/rowCountStatusBar.js +3 -1
  237. package/src/views/genericTable/updateRefHelpers.js +9 -6
  238. package/src/views/printBuilder/PrintBuilderViewer.jsx +607 -0
  239. package/src/views/printBuilder/PrintPreviewCanvas.jsx +157 -0
  240. package/src/views/rolePermissions/UpdateReportPermissionDialog.js +3 -2
  241. package/src/@core/components/auth/AclGuard.js +0 -55
  242. package/src/@core/components/auth/AuthGuard.js +0 -40
  243. package/src/@core/components/auth/GuestGuard.js +0 -30
  244. package/src/@core/components/custom-inputs/Horizontal.jsx +0 -143
  245. package/src/@core/components/custom-inputs/Image.jsx +0 -78
  246. package/src/@core/components/custom-inputs/Vertical.jsx +0 -113
  247. package/src/@core/components/customizer/index.jsx +0 -470
  248. package/src/@core/components/customizer/styles.module.css +0 -169
  249. package/src/@core/components/mui/Avatar.jsx +0 -41
  250. package/src/@core/components/mui/Badge.jsx +0 -20
  251. package/src/@core/components/mui/IconButton.jsx +0 -74
  252. package/src/@core/components/mui/TabList.jsx +0 -60
  253. package/src/@core/components/option-menu/index.jsx +0 -137
  254. package/src/@core/components/scroll-to-top/index.jsx +0 -43
  255. package/src/@core/components/spinner/index.js +0 -26
  256. package/src/@core/components/window-wrapper/index.js +0 -27
  257. package/src/@core/contexts/settingsContext.jsx +0 -98
  258. package/src/@core/hooks/useBgColor.js +0 -63
  259. package/src/@core/hooks/useImageVariant.js +0 -27
  260. package/src/@core/hooks/useLayoutInit.js +0 -37
  261. package/src/@core/hooks/useObjectCookie.js +0 -18
  262. package/src/@core/hooks/useSettings.jsx +0 -15
  263. package/src/@core/layouts/BlankLayout.js +0 -37
  264. package/src/@core/layouts/BlankLayoutWithAppBar.js +0 -51
  265. package/src/@core/layouts/HorizontalLayout.jsx +0 -151
  266. package/src/@core/layouts/Layout.js +0 -39
  267. package/src/@core/layouts/VerticalLayout.jsx +0 -124
  268. package/src/@core/layouts/components/blank-layout-with-appBar/index.js +0 -115
  269. package/src/@core/layouts/components/horizontal/app-bar-content/index.js +0 -67
  270. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavGroup.js +0 -352
  271. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavItems.js +0 -21
  272. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavLink.js +0 -195
  273. package/src/@core/layouts/components/horizontal/navigation/index.js +0 -31
  274. package/src/@core/layouts/components/shared-components/LanguageDropdown.js +0 -96
  275. package/src/@core/layouts/components/shared-components/ModeToggler.js +0 -32
  276. package/src/@core/layouts/components/shared-components/NotificationDropdown.js +0 -226
  277. package/src/@core/layouts/components/shared-components/UserDropdown.js +0 -177
  278. package/src/@core/layouts/components/shared-components/footer/FooterContent.js +0 -46
  279. package/src/@core/layouts/components/shared-components/footer/index.js +0 -61
  280. package/src/@core/layouts/components/vertical/appBar/index.js +0 -74
  281. package/src/@core/layouts/components/vertical/navigation/Drawer.js +0 -122
  282. package/src/@core/layouts/components/vertical/navigation/VerticalNavGroup.js +0 -435
  283. package/src/@core/layouts/components/vertical/navigation/VerticalNavHeader.js +0 -180
  284. package/src/@core/layouts/components/vertical/navigation/VerticalNavItems.js +0 -26
  285. package/src/@core/layouts/components/vertical/navigation/VerticalNavLink.js +0 -258
  286. package/src/@core/layouts/components/vertical/navigation/VerticalNavSectionTitle.js +0 -102
  287. package/src/@core/layouts/components/vertical/navigation/index.js +0 -169
  288. package/src/@core/layouts/utils.js +0 -69
  289. package/src/@core/styles/Table.module.css +0 -93
  290. package/src/@core/styles/horizontal/menuItemStyles.js +0 -100
  291. package/src/@core/styles/horizontal/menuRootStyles.js +0 -19
  292. package/src/@core/styles/libs/fullcalendar/index.js +0 -461
  293. package/src/@core/styles/libs/keen-slider/index.js +0 -111
  294. package/src/@core/styles/libs/react-apexcharts/index.js +0 -107
  295. package/src/@core/styles/libs/react-cleave/index.js +0 -33
  296. package/src/@core/styles/libs/react-credit-cards/index.js +0 -11
  297. package/src/@core/styles/libs/react-datepicker/index.js +0 -388
  298. package/src/@core/styles/libs/react-draft-wysiwyg/index.js +0 -144
  299. package/src/@core/styles/libs/react-dropzone/index.js +0 -76
  300. package/src/@core/styles/libs/react-hot-toast/index.js +0 -37
  301. package/src/@core/styles/libs/recharts/index.js +0 -47
  302. package/src/@core/styles/stepper.js +0 -103
  303. package/src/@core/styles/vertical/menuItemStyles.js +0 -138
  304. package/src/@core/styles/vertical/menuSectionStyles.js +0 -54
  305. package/src/@core/styles/vertical/navigationCustomStyles.js +0 -62
  306. package/src/@core/svg/ContentCompact.jsx +0 -17
  307. package/src/@core/svg/ContentWide.jsx +0 -17
  308. package/src/@core/svg/DirectionLtr.jsx +0 -93
  309. package/src/@core/svg/DirectionRtl.jsx +0 -93
  310. package/src/@core/svg/LayoutCollapsed.jsx +0 -59
  311. package/src/@core/svg/LayoutHorizontal.jsx +0 -42
  312. package/src/@core/svg/LayoutVertical.jsx +0 -59
  313. package/src/@core/svg/Logo.jsx +0 -76
  314. package/src/@core/svg/SkinBordered.jsx +0 -54
  315. package/src/@core/svg/SkinDefault.jsx +0 -59
  316. package/src/@core/tailwind/plugin.js +0 -78
  317. package/src/@core/theme/ThemeComponent.js +0 -63
  318. package/src/@core/theme/ThemeOptions.js +0 -71
  319. package/src/@core/theme/breakpoints/index.js +0 -11
  320. package/src/@core/theme/colorSchemes.js +0 -326
  321. package/src/@core/theme/customShadows.js +0 -11
  322. package/src/@core/theme/globalStyles.js +0 -81
  323. package/src/@core/theme/index.js +0 -42
  324. package/src/@core/theme/overrides/accordion.js +0 -51
  325. package/src/@core/theme/overrides/accordion.jsx +0 -85
  326. package/src/@core/theme/overrides/alerts.js +0 -110
  327. package/src/@core/theme/overrides/alerts.jsx +0 -180
  328. package/src/@core/theme/overrides/autocomplete.js +0 -14
  329. package/src/@core/theme/overrides/autocomplete.jsx +0 -68
  330. package/src/@core/theme/overrides/avatar.js +0 -38
  331. package/src/@core/theme/overrides/avatars.js +0 -27
  332. package/src/@core/theme/overrides/backdrop.js +0 -22
  333. package/src/@core/theme/overrides/badges.js +0 -16
  334. package/src/@core/theme/overrides/breadcrumbs.js +0 -11
  335. package/src/@core/theme/overrides/button-group.js +0 -84
  336. package/src/@core/theme/overrides/button.js +0 -93
  337. package/src/@core/theme/overrides/buttonGroup.js +0 -9
  338. package/src/@core/theme/overrides/card.js +0 -83
  339. package/src/@core/theme/overrides/checkbox.jsx +0 -95
  340. package/src/@core/theme/overrides/chip.js +0 -72
  341. package/src/@core/theme/overrides/dataGrid.js +0 -114
  342. package/src/@core/theme/overrides/dateTimePicker.js +0 -65
  343. package/src/@core/theme/overrides/dialog.js +0 -120
  344. package/src/@core/theme/overrides/divider.js +0 -13
  345. package/src/@core/theme/overrides/drawer.js +0 -20
  346. package/src/@core/theme/overrides/fab.js +0 -13
  347. package/src/@core/theme/overrides/form-control-label.js +0 -19
  348. package/src/@core/theme/overrides/icon-button.js +0 -145
  349. package/src/@core/theme/overrides/index.js +0 -103
  350. package/src/@core/theme/overrides/input.js +0 -72
  351. package/src/@core/theme/overrides/link.js +0 -9
  352. package/src/@core/theme/overrides/list.js +0 -44
  353. package/src/@core/theme/overrides/menu.js +0 -25
  354. package/src/@core/theme/overrides/pagination.js +0 -41
  355. package/src/@core/theme/overrides/paper.js +0 -9
  356. package/src/@core/theme/overrides/popover.js +0 -16
  357. package/src/@core/theme/overrides/progress.js +0 -38
  358. package/src/@core/theme/overrides/radio.jsx +0 -80
  359. package/src/@core/theme/overrides/rating.js +0 -16
  360. package/src/@core/theme/overrides/rating.jsx +0 -32
  361. package/src/@core/theme/overrides/select.js +0 -19
  362. package/src/@core/theme/overrides/select.jsx +0 -52
  363. package/src/@core/theme/overrides/slider.js +0 -97
  364. package/src/@core/theme/overrides/snackbar.js +0 -19
  365. package/src/@core/theme/overrides/switch.js +0 -73
  366. package/src/@core/theme/overrides/switches.js +0 -25
  367. package/src/@core/theme/overrides/table-pagination.js +0 -39
  368. package/src/@core/theme/overrides/table.js +0 -81
  369. package/src/@core/theme/overrides/tabs.js +0 -30
  370. package/src/@core/theme/overrides/timeline.js +0 -80
  371. package/src/@core/theme/overrides/toggle-button.js +0 -33
  372. package/src/@core/theme/overrides/toggleButton.js +0 -16
  373. package/src/@core/theme/overrides/tooltip.js +0 -21
  374. package/src/@core/theme/overrides/typography.js +0 -13
  375. package/src/@core/theme/palette/index.js +0 -107
  376. package/src/@core/theme/shadows/index.js +0 -61
  377. package/src/@core/theme/shadows.js +0 -12
  378. package/src/@core/theme/spacing/index.js +0 -3
  379. package/src/@core/theme/spacing.js +0 -5
  380. package/src/@core/theme/typography/index.js +0 -65
  381. package/src/@core/theme/typography.js +0 -84
  382. package/src/@core/utils/create-emotion-cache.js +0 -5
  383. package/src/@core/utils/hex-to-rgba.js +0 -11
  384. package/src/@core/utils/serverHelpers.js +0 -45
  385. package/src/@menu/components/RouterLink.jsx +0 -18
  386. package/src/@menu/components/horizontal-menu/HorizontalNav.jsx +0 -88
  387. package/src/@menu/components/horizontal-menu/Menu.jsx +0 -83
  388. package/src/@menu/components/horizontal-menu/MenuButton.jsx +0 -100
  389. package/src/@menu/components/horizontal-menu/MenuItem.jsx +0 -183
  390. package/src/@menu/components/horizontal-menu/SubMenu.jsx +0 -418
  391. package/src/@menu/components/horizontal-menu/SubMenuContent.jsx +0 -41
  392. package/src/@menu/components/horizontal-menu/VerticalNavInHorizontal.jsx +0 -20
  393. package/src/@menu/components/vertical-menu/Menu.jsx +0 -161
  394. package/src/@menu/components/vertical-menu/MenuButton.jsx +0 -95
  395. package/src/@menu/components/vertical-menu/MenuItem.jsx +0 -180
  396. package/src/@menu/components/vertical-menu/MenuSection.jsx +0 -124
  397. package/src/@menu/components/vertical-menu/NavCollapseIcons.jsx +0 -70
  398. package/src/@menu/components/vertical-menu/NavHeader.jsx +0 -39
  399. package/src/@menu/components/vertical-menu/SubMenu.jsx +0 -420
  400. package/src/@menu/components/vertical-menu/SubMenuContent.jsx +0 -101
  401. package/src/@menu/components/vertical-menu/VerticalNav.jsx +0 -216
  402. package/src/@menu/contexts/horizontalNavContext.jsx +0 -29
  403. package/src/@menu/contexts/verticalNavContext.jsx +0 -65
  404. package/src/@menu/defaultConfigs.js +0 -12
  405. package/src/@menu/hooks/useHorizontalMenu.jsx +0 -19
  406. package/src/@menu/hooks/useHorizontalNav.jsx +0 -19
  407. package/src/@menu/hooks/useMediaQuery.jsx +0 -29
  408. package/src/@menu/hooks/useVerticalMenu.jsx +0 -19
  409. package/src/@menu/hooks/useVerticalNav.jsx +0 -19
  410. package/src/@menu/horizontal-menu/index.jsx +0 -8
  411. package/src/@menu/styles/StyledBackdrop.jsx +0 -15
  412. package/src/@menu/styles/StyledMenuIcon.jsx +0 -12
  413. package/src/@menu/styles/StyledMenuLabel.jsx +0 -16
  414. package/src/@menu/styles/StyledMenuPrefix.jsx +0 -10
  415. package/src/@menu/styles/StyledMenuSectionLabel.jsx +0 -21
  416. package/src/@menu/styles/StyledMenuSuffix.jsx +0 -10
  417. package/src/@menu/styles/StyledSubMenuContent.jsx +0 -43
  418. package/src/@menu/styles/horizontal/StyledHorizontalMenu.jsx +0 -13
  419. package/src/@menu/styles/horizontal/StyledHorizontalMenuItem.jsx +0 -26
  420. package/src/@menu/styles/horizontal/StyledHorizontalNav.jsx +0 -11
  421. package/src/@menu/styles/horizontal/StyledHorizontalNavExpandIcon.jsx +0 -33
  422. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContent.jsx +0 -18
  423. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContentWrapper.jsx +0 -10
  424. package/src/@menu/styles/horizontal/horizontalUl.module.css +0 -15
  425. package/src/@menu/styles/styles.module.css +0 -5
  426. package/src/@menu/styles/vertical/StyledVerticalMenu.jsx +0 -16
  427. package/src/@menu/styles/vertical/StyledVerticalMenuItem.jsx +0 -28
  428. package/src/@menu/styles/vertical/StyledVerticalMenuSection.jsx +0 -23
  429. package/src/@menu/styles/vertical/StyledVerticalNav.jsx +0 -67
  430. package/src/@menu/styles/vertical/StyledVerticalNavBgColorContainer.jsx +0 -15
  431. package/src/@menu/styles/vertical/StyledVerticalNavContainer.jsx +0 -23
  432. package/src/@menu/styles/vertical/StyledVerticalNavExpandIcon.jsx +0 -25
  433. package/src/@menu/styles/vertical/verticalNavBgImage.module.css +0 -10
  434. package/src/@menu/svg/ChevronRight.jsx +0 -9
  435. package/src/@menu/svg/Close.jsx +0 -12
  436. package/src/@menu/svg/RadioCircle.jsx +0 -12
  437. package/src/@menu/svg/RadioCircleMarked.jsx +0 -13
  438. package/src/@menu/utils/menuClasses.js +0 -44
  439. package/src/@menu/utils/menuUtils.jsx +0 -145
  440. package/src/@menu/vertical-menu/index.jsx +0 -11
  441. package/src/configs/acl.js +0 -115
  442. package/src/configs/auth.js +0 -5
  443. package/src/configs/aws-exports.js +0 -30
  444. package/src/configs/firebase.js +0 -25
  445. package/src/configs/i18n.js +0 -34
  446. package/src/configs/primaryColorConfig.js +0 -35
  447. package/src/configs/themeConfig.js +0 -44
  448. package/src/layouts/UserLayout.js +0 -94
  449. package/src/layouts/UserThemeOptions.js +0 -191
  450. package/src/layouts/components/Direction.js +0 -30
  451. package/src/layouts/components/HtmlTooltip.js +0 -15
  452. package/src/layouts/components/Translations.js +0 -11
  453. package/src/layouts/components/UserDropdown.js +0 -217
  454. package/src/layouts/components/UserIcon.js +0 -40
  455. package/src/layouts/components/acl/Can.js +0 -6
  456. package/src/layouts/components/acl/CanViewNavGroup.js +0 -36
  457. package/src/layouts/components/acl/CanViewNavLink.js +0 -17
  458. package/src/layouts/components/acl/CanViewNavSectionTitle.js +0 -17
  459. package/src/layouts/components/horizontal/AppBarContent.js +0 -39
  460. package/src/layouts/components/horizontal/ServerSideNavItems.js +0 -44
  461. package/src/layouts/components/mui/StepperComps.js +0 -55
  462. package/src/layouts/components/vertical/AppBarContent.js +0 -35
  463. package/src/layouts/components/vertical/ServerSideNavItems.js +0 -44
  464. package/src/libs/ApexCharts.jsx +0 -5
  465. package/src/libs/ReactPlayer.jsx +0 -5
  466. package/src/libs/Recharts.jsx +0 -4
  467. package/src/libs/auth.js +0 -124
  468. package/src/libs/styles/AppFullCalendar.js +0 -505
  469. package/src/libs/styles/AppKeenSlider.js +0 -116
  470. package/src/libs/styles/AppReactApexCharts.jsx +0 -110
  471. package/src/libs/styles/AppReactDatepicker.jsx +0 -470
  472. package/src/libs/styles/AppReactDropzone.js +0 -76
  473. package/src/libs/styles/AppReactToastify.jsx +0 -108
  474. package/src/libs/styles/AppRecharts.js +0 -55
  475. package/src/libs/styles/inputOtp.module.css +0 -39
  476. package/src/libs/styles/tiptapEditor.css +0 -72
  477. package/src/navigation/horizontal/index.js +0 -246
  478. package/src/navigation/vertical/index.js +0 -253
  479. package/src/pages/401.js +0 -70
  480. package/src/pages/404.js +0 -67
  481. package/src/pages/500.js +0 -68
  482. package/src/pages/[slug].js +0 -115
  483. package/src/pages/_document.js +0 -72
  484. package/src/pages/api/navigation/regenerate-registry.js +0 -116
  485. package/src/pages/api/navigation/save.js +0 -218
  486. package/src/pages/authModule/acl/index.js +0 -48
  487. package/src/pages/authModule/forgot-password/index.js +0 -228
  488. package/src/pages/authModule/permissions/rolePermissions/[id]/rolePermissionsUser/index.js +0 -392
  489. package/src/pages/authModule/permissions/rolePermissions/index.js +0 -343
  490. package/src/pages/authModule/permissions/systemPermissions/index.js +0 -354
  491. package/src/pages/authModule/privacy/index.js +0 -721
  492. package/src/pages/authModule/users/index.js +0 -210
  493. package/src/pages/login/index.js +0 -328
  494. package/src/pages/mainHome/index.js +0 -181
  495. package/src/views/builder/inspector/definitions/cell/main.js +0 -4
  496. package/src/views/builder/inspector/definitions/column/main.js +0 -9
  497. package/src/views/builder/inspector/definitions/column-group/main.js +0 -18
  498. package/src/views/builder/inspector/definitions/header-cell/main.js +0 -5
  499. package/src/views/builder/inspector/definitions/table/main.js +0 -9
  500. package/src/views/builder/viewer/renderers/CellRenderer.jsx +0 -71
  501. package/src/views/builder/viewer/renderers/ColumnGroupRenderer.jsx +0 -96
  502. package/src/views/builder/viewer/renderers/ColumnRenderer.jsx +0 -71
  503. package/src/views/builder/viewer/renderers/HeaderCellRenderer.jsx +0 -78
  504. package/src/views/builder/viewer/renderers/TabRenderer.jsx +0 -82
  505. package/src/views/builder/viewer/renderers/TableRenderer.jsx +0 -92
  506. package/src/views/pages/auth/FooterIllustrationsV2.js +0 -40
  507. package/src/views/pages/misc/FooterIllustrations.js +0 -47
  508. package/src/views/pages/misc/muiTable/CustomPagination.js +0 -34
  509. package/src/views/pages/users/UserManageDialog.js +0 -283
  510. package/src/views/pages/users/UserViewPage.js +0 -199
  511. package/src/views/users/AddUserNameDialog.js +0 -162
  512. package/src/views/users/ContactManage.js +0 -449
  513. package/src/views/users/ResetPasswordDialog.js +0 -242
@@ -110,13 +110,12 @@ import { PROGRESS_LINE_RULES_FIELDS } from './progress-line/rules'
110
110
  import { PROGRESS_LINE_ACTIONS_FIELDS } from './progress-line/actions'
111
111
 
112
112
  import { CARD_MAIN_FIELDS } from './card/main'
113
- import { COLUMN_MAIN_FIELDS } from './column/main'
114
- import { COLUMN_GROUP_MAIN_FIELDS } from './column-group/main'
115
- import { CELL_MAIN_FIELDS } from './cell/main'
116
- import { HEADER_CELL_MAIN_FIELDS } from './header-cell/main'
117
113
  import { BREADCRUMB_MAIN_FIELDS } from './breadcrumb/main'
118
- import { TABLE_MAIN_FIELDS } from './table/main'
119
114
  import { REPORT_VIEWER_MAIN_FIELDS } from './reportViewer/main'
115
+ import { DATA_TABLE_VIEWER_MAIN_FIELDS } from './dataTableViewer/main'
116
+ import { VIEW_RENDERER_MAIN_FIELDS } from './viewRenderer/main'
117
+ import { REPEATER_MAIN_FIELDS } from './repeater/main'
118
+ import { DIALOG_MAIN_FIELDS } from './dialog/main'
120
119
  import { AUTOCOMPLETE_MAIN_FIELDS } from './autocomplete/main'
121
120
 
122
121
  import { LAYOUT_MAIN_FIELDS } from './layout/main'
@@ -129,6 +128,44 @@ import { LAYOUT_CELL_STYLE_FIELDS } from './layout-cell/style'
129
128
  import { LAYOUT_CELL_RULES_FIELDS } from './layout-cell/rules'
130
129
  import { LAYOUT_CELL_ACTIONS_FIELDS } from './layout-cell/actions'
131
130
 
131
+ import { POPOVER_MAIN_FIELDS } from './popover/main'
132
+ import { WIZARD_MAIN_FIELDS } from './wizard/main'
133
+ import { WIZARD_STEP_MAIN_FIELDS } from './wizard-step/main'
134
+ import { TOGGLE_MAIN_FIELDS } from './toggle/main'
135
+ import { DATA_GRID_MAIN_FIELDS } from './dataGrid/main'
136
+ import { EXCEL_UPLOAD_MAIN_FIELDS } from './excelUpload/main'
137
+ import { EXCEL_UPLOAD_ACTIONS_FIELDS } from './excelUpload/actions'
138
+ import { EXCEL_UPLOAD_STYLE_FIELDS } from './excelUpload/style'
139
+ import { EXCEL_UPLOAD_RULES_FIELDS } from './excelUpload/rules'
140
+
141
+ import { BANNER_MAIN_FIELDS } from './banner/main'
142
+ import { BANNER_STYLE_FIELDS } from './banner/style'
143
+ import { BANNER_RULES_FIELDS } from './banner/rules'
144
+ import { BANNER_ACTIONS_FIELDS } from './banner/actions'
145
+ import { PAGE_NUMBER_MAIN_FIELDS } from './pageNumber/main'
146
+ import { TREE_VIEW_MAIN_FIELDS } from './treeView/main'
147
+
148
+ // KPI / data-viz components
149
+ import { METRIC_FIELDS } from './kpi/metric'
150
+ import { TREND_FIELDS } from './kpi/trend'
151
+ import { BADGE_FIELDS } from './kpi/badge'
152
+ import { STATUS_DOT_FIELDS } from './kpi/statusDot'
153
+ import { ICON_BOX_FIELDS } from './kpi/iconBox'
154
+ import { CHART_FIELDS } from './kpi/chart'
155
+ import { GAUGE_FIELDS } from './kpi/gauge'
156
+ import { DONUT_FIELDS } from './kpi/donut'
157
+ import { FUNNEL_FIELDS } from './kpi/funnel'
158
+ import { BULLET_CHART_FIELDS } from './kpi/bulletChart'
159
+ import { COMPARISON_BARS_FIELDS } from './kpi/comparisonBars'
160
+ import { TIMELINE_FIELDS } from './kpi/timeline'
161
+ import { TAG_LIST_FIELDS } from './kpi/tagList'
162
+ import { HEATMAP_GRID_FIELDS } from './kpi/heatmapGrid'
163
+ import { COUNTDOWN_FIELDS } from './kpi/countdown'
164
+ import { AVATAR_GROUP_FIELDS } from './kpi/avatarGroup'
165
+ import { RATING_FIELDS } from './kpi/rating'
166
+ import { STEP_STAGE_FIELDS } from './kpi/stepStage'
167
+ import { COLOR_SCALE_FIELDS } from './kpi/colorScale'
168
+
132
169
  const GLOBAL_STYLE_FIELDS = [
133
170
  { name: 'elementCss', label: 'Element Css', type: 'expression' },
134
171
  { name: 'elementStyle', label: 'Element Style', type: 'expression' }
@@ -185,25 +222,18 @@ export function getMainFields(type) {
185
222
  return PROGRESS_LINE_MAIN_FIELDS
186
223
  case 'card':
187
224
  return CARD_MAIN_FIELDS
188
- case 'column':
189
- return COLUMN_MAIN_FIELDS
190
- case 'column-group':
191
- return COLUMN_GROUP_MAIN_FIELDS
192
- case 'cell':
193
- return CELL_MAIN_FIELDS
194
- case 'header-cell':
195
- return HEADER_CELL_MAIN_FIELDS
196
225
  case 'breadcrumb':
197
226
  return BREADCRUMB_MAIN_FIELDS
198
- case 'table':
199
- return TABLE_MAIN_FIELDS
200
- case 'tab':
201
- case 'wizard':
202
- case 'wizard-step':
203
227
  case 'repeater':
204
- return COMMON_MAIN_FIELDS
228
+ return REPEATER_MAIN_FIELDS
205
229
  case 'reportViewer':
206
230
  return REPORT_VIEWER_MAIN_FIELDS
231
+ case 'data-table-viewer':
232
+ return DATA_TABLE_VIEWER_MAIN_FIELDS
233
+ case 'viewRenderer':
234
+ return VIEW_RENDERER_MAIN_FIELDS
235
+ case 'dialog':
236
+ return DIALOG_MAIN_FIELDS
207
237
  case 'autocomplete':
208
238
  return AUTOCOMPLETE_MAIN_FIELDS
209
239
  case 'layout':
@@ -212,6 +242,49 @@ export function getMainFields(type) {
212
242
  return LAYOUT_CELL_MAIN_FIELDS
213
243
  case 'container':
214
244
  return CONTAINER_MAIN_FIELDS
245
+ case 'popover':
246
+ return POPOVER_MAIN_FIELDS
247
+ case 'wizard':
248
+ return WIZARD_MAIN_FIELDS
249
+ case 'wizard-step':
250
+ return WIZARD_STEP_MAIN_FIELDS
251
+ case 'toggle':
252
+ return TOGGLE_MAIN_FIELDS
253
+ case 'data-grid':
254
+ return DATA_GRID_MAIN_FIELDS
255
+ case 'excel-upload':
256
+ return EXCEL_UPLOAD_MAIN_FIELDS
257
+ case 'banner':
258
+ return BANNER_MAIN_FIELDS
259
+ case 'pageNumber':
260
+ return PAGE_NUMBER_MAIN_FIELDS
261
+ case 'treeView':
262
+ return TREE_VIEW_MAIN_FIELDS
263
+
264
+ // KPI / data-viz
265
+ case 'kpi-metric': return METRIC_FIELDS
266
+ case 'kpi-trend': return TREND_FIELDS
267
+ case 'kpi-badge': return BADGE_FIELDS
268
+ case 'kpi-status-dot': return STATUS_DOT_FIELDS
269
+ case 'kpi-icon-box': return ICON_BOX_FIELDS
270
+ case 'kpi-chart':
271
+ case 'kpi-sparkline': // legacy alias
272
+ case 'kpi-mini-bar': // legacy alias
273
+ return CHART_FIELDS
274
+ case 'kpi-gauge': return GAUGE_FIELDS
275
+ case 'kpi-donut': return DONUT_FIELDS
276
+ case 'kpi-funnel': return FUNNEL_FIELDS
277
+ case 'kpi-bullet': return BULLET_CHART_FIELDS
278
+ case 'kpi-comparison': return COMPARISON_BARS_FIELDS
279
+ case 'kpi-timeline': return TIMELINE_FIELDS
280
+ case 'kpi-tag-list': return TAG_LIST_FIELDS
281
+ case 'kpi-heatmap': return HEATMAP_GRID_FIELDS
282
+ case 'kpi-countdown': return COUNTDOWN_FIELDS
283
+ case 'kpi-avatar-group': return AVATAR_GROUP_FIELDS
284
+ case 'kpi-rating': return RATING_FIELDS
285
+ case 'kpi-step-stage': return STEP_STAGE_FIELDS
286
+ case 'kpi-color-scale': return COLOR_SCALE_FIELDS
287
+
215
288
  default:
216
289
  return COMMON_MAIN_FIELDS
217
290
  }
@@ -291,6 +364,12 @@ export function getStyleFields(type) {
291
364
  case 'layout-cell':
292
365
  styleFields = LAYOUT_CELL_STYLE_FIELDS
293
366
  break
367
+ case 'excel-upload':
368
+ styleFields = EXCEL_UPLOAD_STYLE_FIELDS
369
+ break
370
+ case 'banner':
371
+ styleFields = BANNER_STYLE_FIELDS
372
+ break
294
373
  default:
295
374
  styleFields = COMMON_STYLE_FIELDS
296
375
  break
@@ -348,6 +427,10 @@ export function getRulesFields(type) {
348
427
  return LAYOUT_RULES_FIELDS
349
428
  case 'layout-cell':
350
429
  return LAYOUT_CELL_RULES_FIELDS
430
+ case 'excel-upload':
431
+ return EXCEL_UPLOAD_RULES_FIELDS
432
+ case 'banner':
433
+ return BANNER_RULES_FIELDS
351
434
  default:
352
435
  return COMMON_RULES_FIELDS
353
436
  }
@@ -401,6 +484,10 @@ export function getActionsFields(type) {
401
484
  return LAYOUT_ACTIONS_FIELDS
402
485
  case 'layout-cell':
403
486
  return LAYOUT_CELL_ACTIONS_FIELDS
487
+ case 'excel-upload':
488
+ return EXCEL_UPLOAD_ACTIONS_FIELDS
489
+ case 'banner':
490
+ return BANNER_ACTIONS_FIELDS
404
491
  default:
405
492
  return COMMON_ACTIONS_FIELDS
406
493
  }
@@ -1 +1,4 @@
1
- export const INPUT_ACTIONS_FIELDS = []
1
+ export const INPUT_ACTIONS_FIELDS = [
2
+ { name: 'onChange', label: 'On Change', type: 'action', actionTypes: [{ value: 'custom', label: 'Custom Action' }] },
3
+ { name: 'onBlur', label: 'On Blur', type: 'action', actionTypes: [{ value: 'custom', label: 'Custom Action' }] },
4
+ ]
@@ -1,14 +1,23 @@
1
+ import { LABEL_POSITION_FIELDS } from '../common/main'
2
+
1
3
  export const INPUT_MAIN_FIELDS = [
2
- { name: 'key', label: 'Key', type: 'expression' },
3
- { name: 'label', label: 'Label', type: 'expression' },
4
- { name: 'value', label: 'Value', type: 'expression' },
4
+ { name: 'key', label: 'Key', type: 'expression' },
5
+ { name: 'label', label: 'Label', type: 'expression' },
6
+ ...LABEL_POSITION_FIELDS,
7
+ { name: 'value', label: 'Value', type: 'expression' },
5
8
  { name: 'placeholder', label: 'Placeholder', type: 'text' },
6
- {
7
- name: 'size',
8
- label: 'Size',
9
- type: 'select',
10
- options: ['small', 'medium', 'large']
11
- },
12
- { name: 'disabled', label: 'Disabled', type: 'boolean' },
13
- { name: 'enabled', label: 'Enabled', type: 'boolean' }
9
+ { name: 'size', label: 'Size', type: 'select', options: ['small', 'medium', 'large'] },
10
+ { name: 'prefix', label: 'Prefix', type: 'icon' },
11
+ { name: 'suffix', label: 'Suffix', type: 'icon' },
12
+ { name: 'labelPrefix', label: 'Label Prefix', type: 'icon' },
13
+ { name: 'labelSuffix', label: 'Label Suffix', type: 'icon' },
14
+ { name: 'labelIconSize', label: 'Label Icon Size', type: 'expression' },
15
+ { name: 'labelIconColor', label: 'Label Icon Color', type: 'expression' },
16
+ { name: 'labelFontSize', label: 'Label Font Size', type: 'expression' },
17
+ { name: 'labelFontWeight', label: 'Label Font Weight', type: 'expression' },
18
+ { name: 'labelColor', label: 'Label Color', type: 'expression' },
19
+ { name: 'labelFontStyle', label: 'Label Font Style', type: 'select', options: ['normal', 'italic', 'oblique'] },
20
+ { name: 'labelLetterSpacing',label: 'Label Letter Spacing',type: 'expression' },
21
+ { name: 'disabled', label: 'Disabled', type: 'boolean' },
22
+ { name: 'enabled', label: 'Enabled', type: 'boolean' },
14
23
  ]
@@ -0,0 +1,22 @@
1
+ export const AVATAR_GROUP_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Bind dataKey to an array of user objects.' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: '{ "assignees": [\n { "name": "Sara Lee", "image": "https://..." },\n { "name": "John Doe", "color": "#9c27b0" },\n { "name": "Ali Hassan" }\n] }\n→ dataKey: "assignees"\n\nColor priority: colorField → Color Schema → initials hash',
6
+ },
7
+ { name: 'dataKey', label: 'Data Key', type: 'expression' },
8
+ { name: 'nameField', label: 'Name Field', type: 'expression', placeholder: 'default: name' },
9
+ { name: 'imageField', label: 'Image Field', type: 'expression', placeholder: 'default: image' },
10
+ { name: 'colorField', label: 'Color Field', type: 'expression', placeholder: 'per-avatar color override' },
11
+ { name: 'tooltipField', label: 'Tooltip Field',type: 'expression', placeholder: 'defaults to nameField' },
12
+
13
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
14
+ { name: 'colorSchema', label: 'Color Schema', type: 'color-schema' },
15
+ { name: 'size', label: 'Avatar Size (px)', type: 'expression' },
16
+ { name: 'maxVisible', label: 'Max Visible', type: 'expression' },
17
+ { name: 'overlap', label: 'Overlap (px)', type: 'expression' },
18
+ { name: 'borderColor', label: 'Border Color', type: 'expression' },
19
+ { name: 'borderWidth', label: 'Border Width', type: 'expression' },
20
+ { name: 'direction', label: 'Stack Direction', type: 'select', options: ['ltr','rtl'] },
21
+ { name: 'align', label: 'Align', type: 'select', options: ['left','center','right'] },
22
+ ]
@@ -0,0 +1,17 @@
1
+ export const BADGE_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Reads value from data[valueKey]. Thresholds map values to colors/labels.' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: '{ "status": "active" } ← string value\n{ "score": 87 } ← numeric value\n→ valueKey: "status"\n threshold label overrides the displayed text',
6
+ },
7
+ { name: 'valueKey', label: 'Value Key', type: 'expression' },
8
+ { name: 'label', label: 'Static Label', type: 'expression', placeholder: 'Leave empty to show raw value' },
9
+
10
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
11
+ { name: 'variant', label: 'Variant', type: 'select', options: ['soft','outlined','filled'] },
12
+ { name: 'size', label: 'Size', type: 'select', options: ['small','medium','large'] },
13
+ { name: 'dot', label: 'Show Color Dot', type: 'boolean' },
14
+ { name: 'align', label: 'Align', type: 'select', options: ['left','center','right'] },
15
+
16
+ { name: 'thresholds', label: 'Thresholds', type: 'thresholds-editor' },
17
+ ]
@@ -0,0 +1,47 @@
1
+ export const BULLET_CHART_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Reads actual value and target from data keys. Optional range bands can define "good" zone.' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: '{ "revenue": 82000,\n "target": 100000 }\n→ valueKey: "revenue"\n targetKey: "target"\n min: 0, max: 150000\n\nOptional good-range band:\n goodFrom: 70000 goodTo: 120000\n (static numbers or expressions that resolve to numbers)',
6
+ },
7
+ { name: 'valueKey', label: 'Actual Value Key', type: 'expression' },
8
+ { name: 'targetKey', label: 'Target Key', type: 'expression' },
9
+ { name: 'min', label: 'Min', type: 'expression' },
10
+ { name: 'max', label: 'Max', type: 'expression' },
11
+ { name: 'label', label: 'Label', type: 'expression' },
12
+ { name: 'sublabel', label: 'Sub-label', type: 'expression' },
13
+
14
+ { name: 'fmt_note', type: 'note', label: 'Format' },
15
+ { name: 'format', label: 'Format', type: 'select', options: ['number','currency','percent','compact'] },
16
+ { name: 'prefix', label: 'Prefix', type: 'expression' },
17
+ { name: 'suffix', label: 'Suffix', type: 'expression' },
18
+
19
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
20
+ { name: 'height', label: 'Height (px)', type: 'expression' },
21
+ {
22
+ name: 'bar_color_note', type: 'note', label: 'Bar Color',
23
+ text: 'Color Schema controls the actual bar color when no threshold matches.\nSet Actual Bar Color to override the schema base color directly.',
24
+ },
25
+ { name: 'colorSchema', label: 'Color Schema', type: 'color-schema' },
26
+ { name: 'actualColor', label: 'Actual Bar Color', type: 'expression', placeholder: 'overrides schema base color' },
27
+ { name: 'targetColor', label: 'Target Marker Color', type: 'expression' },
28
+ { name: 'trackColor', label: 'Track Background', type: 'expression', placeholder: 'default: action.hover' },
29
+ { name: 'goodColor', label: 'Good Range Color', type: 'expression' },
30
+ { name: 'goodFrom', label: 'Good Range From', type: 'expression', placeholder: 'value or data key' },
31
+ { name: 'goodTo', label: 'Good Range To', type: 'expression', placeholder: 'value or data key' },
32
+ { name: 'showTarget', label: 'Show Target Marker', type: 'boolean' },
33
+ { name: 'showLabels', label: 'Show Min/Max Labels', type: 'boolean' },
34
+
35
+ { name: 'thresholds_note', type: 'note', label: 'Thresholds', text: 'Apply conditional bar colors based on the actual value.' },
36
+ { name: 'thresholds', label: 'Thresholds', type: 'thresholds-editor' },
37
+
38
+ { name: 'label_style_note', type: 'note', label: 'Label Style' },
39
+ { name: 'labelFontSize', label: 'Label Font Size', type: 'expression' },
40
+ { name: 'labelFontWeight', label: 'Label Font Weight', type: 'select', options: ['300','400','500','600','700','800'] },
41
+ { name: 'labelColor', label: 'Label Color', type: 'expression', placeholder: 'e.g. text.secondary or #555' },
42
+
43
+ { name: 'sublabel_style_note', type: 'note', label: 'Sub-label Style' },
44
+ { name: 'sublabelFontSize', label: 'Sub-label Font Size', type: 'expression' },
45
+ { name: 'sublabelFontWeight', label: 'Sub-label Font Weight', type: 'select', options: ['300','400','500','600','700','800'] },
46
+ { name: 'sublabelColor', label: 'Sub-label Color', type: 'expression', placeholder: 'e.g. text.disabled or #999' },
47
+ ]
@@ -0,0 +1,55 @@
1
+ export const CHART_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Bind dataKey to an array in page data, or return one directly from an expression.' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: 'dataKey must always resolve to a flat array — never a plain object.\n\nSingle-series (bar / line / area):\n{ "sales": [\n { "label": "Mon", "value": 420 },\n { "label": "Tue", "value": 380 }\n] }\n→ dataKey: "sales"\n valueField: "value"\n\nMulti-series (type: multi) — all series in the SAME flat array:\n{ "stats": [\n { "month": "Jan", "revenue": 8200, "cost": 3100 },\n { "month": "Feb", "revenue": 9400, "cost": 3400 }\n] }\n→ dataKey: "stats", labelField: "month"\n Series 1: field "revenue"\n Series 2: field "cost"\n\nDirect expression return:\n→ return [{ label: "A", value: 10 }, ...]',
6
+ },
7
+ { name: 'dataKey', label: 'Data Key', type: 'expression' },
8
+ { name: 'valueField', label: 'Value Field', type: 'expression', placeholder: 'default: value' },
9
+ { name: 'labelField', label: 'Label Field', type: 'expression', placeholder: 'default: label' },
10
+
11
+ { name: 'type_note', type: 'note', label: 'Chart Type' },
12
+ {
13
+ name: 'chartType', label: 'Type', type: 'select',
14
+ options: ['bar', 'bar-h', 'line', 'area', 'multi'],
15
+ },
16
+
17
+ { name: 'series_note', type: 'note', label: 'Multi-Series', text: 'Used when Type is "multi". Each series maps to a field in your data objects and can have its own line/area/bar style.' },
18
+ { name: 'series', label: 'Series', type: 'series-editor' },
19
+
20
+ { name: 'appearance_note', type: 'note', label: 'Appearance (single series)' },
21
+ { name: 'colorSchema', label: 'Color Schema', type: 'color-schema' },
22
+ { name: 'color', label: 'Color', type: 'expression', placeholder: 'Overridden by thresholds' },
23
+ { name: 'height', label: 'Height (px)', type: 'expression' },
24
+ { name: 'strokeWidth', label: 'Stroke Width', type: 'expression', placeholder: 'line / area only' },
25
+ { name: 'smooth', label: 'Smooth Curve', type: 'boolean' },
26
+ { name: 'showDot', label: 'Show Dots', type: 'boolean' },
27
+ { name: 'fillOpacity', label: 'Fill Opacity', type: 'expression', placeholder: 'area only, default: 0.15' },
28
+ { name: 'upperRadius', label: 'Bar Upper Radius', type: 'expression', placeholder: 'bar only, default: 3' },
29
+ { name: 'lowerRadius', label: 'Bar Lower Radius', type: 'expression', placeholder: 'bar only, default: 0' },
30
+ { name: 'highlightLast', label: 'Highlight Last', type: 'boolean' },
31
+ { name: 'highlightColor', label: 'Highlight Color', type: 'expression' },
32
+
33
+ { name: 'display_note', type: 'note', label: 'Display' },
34
+ { name: 'showXAxis', label: 'Show Labels', type: 'boolean' },
35
+ { name: 'showYAxis', label: 'Show Y Axis', type: 'boolean' },
36
+ { name: 'showTooltip', label: 'Show Tooltip', type: 'boolean' },
37
+ { name: 'showValues', label: 'Show Values', type: 'boolean' },
38
+ { name: 'showLegend', label: 'Show Legend', type: 'boolean', },
39
+ { name: 'prefix', label: 'Prefix', type: 'expression' },
40
+ { name: 'suffix', label: 'Suffix', type: 'expression' },
41
+
42
+ { name: 'ref_note', type: 'note', label: 'Reference Line' },
43
+ { name: 'referenceValue', label: 'Reference Value', type: 'expression' },
44
+
45
+ { name: 'thresholds', label: 'Thresholds (single series)', type: 'thresholds-editor' },
46
+
47
+ {
48
+ name: 'actions_note', type: 'note', label: 'Actions',
49
+ text: 'Fires when a user clicks a data point. Available in the action:\n clickedItem — the full data row object\n clickedValue — the numeric value of the clicked point\n clickedField — the series field key that was clicked\n clickedLabel — the x-axis label\n clickedIndex — position in the data array',
50
+ },
51
+ {
52
+ name: 'onDataClick', type: 'kpi-action', label: 'On Data Point Click',
53
+ context: ['clickedItem', 'clickedValue', 'clickedField', 'clickedLabel', 'clickedIndex'],
54
+ },
55
+ ]
@@ -0,0 +1,60 @@
1
+ export const COLOR_SCALE_FIELDS = [
2
+ {
3
+ name: 'data_note', type: 'note', label: 'Data',
4
+ text: 'Positions one or more markers on a color scale bar between min and max.\n\nPrimary marker: set valueKey to a single numeric value.\nAdditional markers: use the Markers list below.',
5
+ },
6
+ {
7
+ name: 'data_example', type: 'note', label: 'Expected data shape',
8
+ text: '{ "riskScore": 67, "target": 80 }\n→ valueKey: "riskScore"\n→ Marker 2 valueKey: "target"\n\nGradient (scaleMode: gradient):\n Color Schema → Tints of red gives a white→red ramp\n Color Schema → Custom [\"#e8f5e9\", \"#1b5e20\"] gives green-to-dark-green\n\nSteps (scaleMode: steps, or ≥ 2 thresholds):\n Threshold colors override; schema colors fill any zone without a threshold color',
9
+ },
10
+
11
+ { name: 'valueKey', label: 'Primary Value Key', type: 'expression', placeholder: 'Numeric field or expression' },
12
+ { name: 'min', label: 'Min', type: 'expression' },
13
+ { name: 'max', label: 'Max', type: 'expression' },
14
+ { name: 'label', label: 'Label', type: 'expression' },
15
+
16
+ { name: 'fmt_note', type: 'note', label: 'Format' },
17
+ { name: 'format', label: 'Format', type: 'select', options: ['number','currency','percent','compact'] },
18
+ { name: 'prefix', label: 'Prefix', type: 'expression' },
19
+ { name: 'suffix', label: 'Suffix', type: 'expression' },
20
+
21
+ {
22
+ name: 'coloring_note', type: 'note', label: 'Track Coloring',
23
+ text: '"gradient" → smooth color ramp using the Color Schema colors as gradient stops.\n"steps" → discrete zone blocks; schema colors fill zones, threshold colors override per-zone.\n\nColor Schema controls the palette for both modes the same way as other KPI components.',
24
+ },
25
+ {
26
+ name: 'scaleMode', label: 'Scale Mode', type: 'select',
27
+ options: ['gradient', 'steps'],
28
+ },
29
+ { name: 'colorSchema', label: 'Color Schema', type: 'color-schema' },
30
+ { name: 'segments', label: 'Gradient Stops', type: 'expression', placeholder: 'Gradient mode — default: 5' },
31
+
32
+ {
33
+ name: 'thresholds_note', type: 'note', label: 'Thresholds (Steps Mode)',
34
+ text: 'Define zone breakpoints and colors. Each threshold value becomes a zone boundary. Threshold colors take priority over Color Schema in steps mode.',
35
+ },
36
+ { name: 'thresholds', label: 'Thresholds', type: 'thresholds-editor' },
37
+
38
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
39
+ { name: 'height', label: 'Track Height (px)', type: 'expression' },
40
+ { name: 'borderRadius', label: 'Border Radius', type: 'expression' },
41
+ { name: 'showLabels', label: 'Show Min/Max Labels', type: 'boolean' },
42
+
43
+ { name: 'label_style_note', type: 'note', label: 'Label Style' },
44
+ { name: 'labelFontSize', label: 'Font Size', type: 'expression' },
45
+ { name: 'labelFontWeight', label: 'Font Weight', type: 'select', options: ['300','400','500','600','700','800'] },
46
+ { name: 'labelColor', label: 'Color', type: 'expression', placeholder: 'e.g. text.secondary or #555' },
47
+
48
+ {
49
+ name: 'primary_marker_note', type: 'note', label: 'Primary Marker',
50
+ text: 'The main marker driven by valueKey above.',
51
+ },
52
+ { name: 'showMarker', label: 'Show Primary Marker', type: 'boolean' },
53
+ { name: 'markerColor', label: 'Marker Color', type: 'expression', placeholder: 'default: #333' },
54
+
55
+ {
56
+ name: 'multi_markers_note', type: 'note', label: 'Additional Markers',
57
+ text: 'Add extra markers with their own value key, color, shape, and label. Useful for target, average, benchmark alongside the primary value.',
58
+ },
59
+ { name: 'markers', label: 'Markers', type: 'markers-editor' },
60
+ ]
@@ -0,0 +1,41 @@
1
+ export const COMPARISON_BARS_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Bind dataKey to an array. Each item renders a labeled horizontal bar scaled against the max value in the set.' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: '{ "topProducts": [\n { "label": "Widget A", "value": 4820, "color": "#1976d2" },\n { "label": "Widget B", "value": 3210 },\n { "label": "Widget C", "value": 5600 }\n] }\n→ dataKey: "topProducts"\n labelField: "label" valueField: "value"\n colorField: "color" (optional per-item color)\n\nOverride the scale ceiling:\n maxKey: "totalBudget" (reads data["totalBudget"] as the 100% mark)',
6
+ },
7
+ { name: 'dataKey', label: 'Data Key', type: 'expression' },
8
+ { name: 'labelField', label: 'Label Field', type: 'expression', placeholder: 'default: label' },
9
+ { name: 'valueField', label: 'Value Field', type: 'expression', placeholder: 'default: value' },
10
+ { name: 'colorField', label: 'Color Field', type: 'expression', placeholder: 'default: color — per-item hex in data' },
11
+ { name: 'maxKey', label: 'Max Value Key', type: 'expression', placeholder: 'data key whose value = 100 % bar width' },
12
+
13
+ { name: 'fmt_note', type: 'note', label: 'Format' },
14
+ { name: 'format', label: 'Format', type: 'select', options: ['number','currency','percent','compact'] },
15
+ { name: 'prefix', label: 'Prefix', type: 'expression' },
16
+ { name: 'suffix', label: 'Suffix', type: 'expression' },
17
+
18
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
19
+ {
20
+ name: 'color_schema_note', type: 'note', label: 'Bar Colors',
21
+ text: 'Color Schema controls bar colors when the data has no per-item color field and no threshold fires.\nPalette: cycles through the global palette.\nTints: monochromatic shades of one base color.\nData: rely entirely on per-item color field.\nCustom: your own JSON color array.\nDefault Color is the fallback when schema mode is "palette" and you want a single solid color.',
22
+ },
23
+ { name: 'colorSchema', label: 'Color Schema', type: 'color-schema' },
24
+ { name: 'color', label: 'Default Color', type: 'expression', placeholder: 'fallback when schema = palette' },
25
+ { name: 'trackColor', label: 'Track Background', type: 'expression', placeholder: 'default: action.hover' },
26
+ { name: 'height', label: 'Bar Height (px)', type: 'expression', placeholder: 'default: 8' },
27
+ { name: 'upperRadius', label: 'Bar Radius (top)', type: 'expression', placeholder: 'default: 4' },
28
+ { name: 'lowerRadius', label: 'Bar Radius (bottom)', type: 'expression', placeholder: 'default: 0' },
29
+ { name: 'gap', label: 'Gap Between Bars (px)', type: 'expression', placeholder: 'default: 10' },
30
+ { name: 'labelWidth', label: 'Label Column Width (px)', type: 'expression', placeholder: 'default: 100' },
31
+ { name: 'showLabels', label: 'Show Labels', type: 'boolean' },
32
+ { name: 'showValues', label: 'Show Values', type: 'boolean' },
33
+ { name: 'sortDesc', label: 'Sort Descending', type: 'boolean' },
34
+ { name: 'maxItems', label: 'Max Bars', type: 'expression', placeholder: 'limit number of bars shown' },
35
+
36
+ {
37
+ name: 'thresholds_note', type: 'note', label: 'Thresholds',
38
+ text: 'Apply conditional bar color based on each bar\'s value. Overrides Color Schema.',
39
+ },
40
+ { name: 'thresholds', label: 'Thresholds', type: 'thresholds-editor' },
41
+ ]
@@ -0,0 +1,46 @@
1
+ export const COUNTDOWN_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Bind targetDateKey to a page-data key that holds a date/time value, or enter a fixed value in Static Target Date. All common date representations are accepted.' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Accepted date formats',
5
+ text: 'ISO datetime string:\n "2025-12-31T23:59:59"\n "2025-12-31T23:59:59Z"\n\nISO date-only (local midnight):\n "2025-12-31"\n\nEpoch milliseconds (number):\n 1735689599000\n\nEpoch seconds (number < 1e11):\n 1735689599\n\nJS Date object (from expression):\n new Date("2025-12-31")\n new Date(data.ts * 1000)\n\nData binding example:\n{ "dealDeadline": "2025-12-31T23:59:59" }\n→ targetDateKey: "dealDeadline"\n\nExpression example (returns Date directly):\n→ targetDateKey: new Date(data.expiresAt)',
6
+ },
7
+ { name: 'targetDateKey', label: 'Target Date Key', type: 'expression', placeholder: 'data key or expression returning a date' },
8
+ { name: 'targetDate', label: 'Static Target Date', type: 'expression', placeholder: 'e.g. 2025-12-31 or 2025-12-31T23:59:59' },
9
+ { name: 'doneLabel', label: 'Done Label', type: 'expression', placeholder: 'Shown when countdown reaches zero' },
10
+ { name: 'label', label: 'Label', type: 'expression', placeholder: 'Optional heading above the digits' },
11
+
12
+ { name: 'segments_note', type: 'note', label: 'Segments' },
13
+ { name: 'showDays', label: 'Show Days', type: 'boolean' },
14
+ { name: 'showHours', label: 'Show Hours', type: 'boolean' },
15
+ { name: 'showMinutes', label: 'Show Minutes', type: 'boolean' },
16
+ { name: 'showSeconds', label: 'Show Seconds', type: 'boolean' },
17
+
18
+ { name: 'unit_labels_note', type: 'note', label: 'Unit Label Overrides', text: 'Override the default unit labels shown below each digit group.' },
19
+ { name: 'labelDays', label: 'Days Label', type: 'expression', placeholder: 'default: days' },
20
+ { name: 'labelHours', label: 'Hours Label', type: 'expression', placeholder: 'default: hrs' },
21
+ { name: 'labelMinutes', label: 'Minutes Label', type: 'expression', placeholder: 'default: min' },
22
+ { name: 'labelSeconds', label: 'Seconds Label', type: 'expression', placeholder: 'default: sec' },
23
+
24
+ { name: 'layout_note', type: 'note', label: 'Layout' },
25
+ { name: 'size', label: 'Size', type: 'select', options: ['small', 'medium', 'large'] },
26
+ { name: 'align', label: 'Align', type: 'select', options: ['left', 'center', 'right'] },
27
+ { name: 'separator', label: 'Separator', type: 'expression', placeholder: 'default: :' },
28
+
29
+ { name: 'color_note', type: 'note', label: 'Colors' },
30
+ { name: 'color', label: 'Digit Color', type: 'expression', placeholder: 'Overridden by thresholds' },
31
+ { name: 'unitColor', label: 'Unit Label Color', type: 'expression', placeholder: 'default: text.disabled' },
32
+ { name: 'separatorColor', label: 'Separator Color', type: 'expression', placeholder: 'default: text.disabled' },
33
+ { name: 'doneLabelColor', label: 'Done Label Color', type: 'expression', placeholder: 'default: success.main' },
34
+
35
+ { name: 'digit_style_note', type: 'note', label: 'Digit Style' },
36
+ { name: 'numberFontWeight', label: 'Digit Font Weight', type: 'select', options: ['300','400','500','600','700','800','900'], },
37
+
38
+ { name: 'label_style_note', type: 'note', label: 'Label Style', text: 'Styles the optional heading label above the digits.' },
39
+ { name: 'labelFontSize', label: 'Label Font Size', type: 'expression' },
40
+ { name: 'labelFontWeight', label: 'Label Font Weight', type: 'select', options: ['300','400','500','600','700','800'] },
41
+ { name: 'labelColor', label: 'Label Color', type: 'expression', placeholder: 'default: text.secondary' },
42
+
43
+ { name: 'thresholds', label: 'Thresholds (on remaining seconds)', type: 'thresholds-editor' },
44
+
45
+ { name: 'onDoneCode', label: 'On Done', type: 'code', codeType: 'calculation' },
46
+ ]
@@ -0,0 +1,51 @@
1
+ export const DONUT_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: 'Single series:\n{ "salesByRegion": [\n { "name": "North", "value": 4200, "color": "#1976d2" },\n { "name": "South", "value": 3100, "color": "#e91e63" }\n] }\n→ dataKey: "salesByRegion"\n\nSlice colors are read from each item\'s "color" field automatically.\nUse colorField to point to a differently-named field (e.g. "hex").\nFalls back to the Colors palette when no color is present.\n\nMulti-series (concentric rings):\n{ "thisYear": [{ "name": "Q1", "value": 3200 }, ...],\n "lastYear": [{ "name": "Q1", "value": 2800 }, ...] }\n→ donutType: "multi"\n Ring 1 (inner): field "thisYear"\n Ring 2 (outer): field "lastYear"',
6
+ },
7
+
8
+ { name: 'type_note', type: 'note', label: 'Type' },
9
+ { name: 'donutType', label: 'Donut Type', type: 'select', options: ['single', 'multi'] },
10
+
11
+ { name: 'single_note', type: 'note', label: 'Single Series', text: 'Used when Donut Type is "single".' },
12
+ { name: 'dataKey', label: 'Data Key', type: 'expression' },
13
+ { name: 'nameField', label: 'Name Field', type: 'expression', placeholder: 'default: name' },
14
+ { name: 'valueField', label: 'Value Field', type: 'expression', placeholder: 'default: value' },
15
+ { name: 'colorField', label: 'Color Field', type: 'expression', placeholder: 'default: color — field in each slice object' },
16
+ { name: 'centerLabel', label: 'Center Label', type: 'expression' },
17
+ { name: 'centerKey', label: 'Center Value Key', type: 'expression', placeholder: 'data key whose value shows in the hole' },
18
+
19
+ { name: 'multi_note', type: 'note', label: 'Multi-Series', text: 'Used when Donut Type is "multi". Each ring is a separate data array. First ring = innermost, last = outermost. Set each ring\'s Data Field to the data key that returns its slice array.' },
20
+ { name: 'series', label: 'Rings', type: 'rings-editor' },
21
+
22
+ { name: 'fmt_note', type: 'note', label: 'Format' },
23
+ { name: 'format', label: 'Format', type: 'select', options: ['number','currency','percent','compact'] },
24
+ { name: 'prefix', label: 'Prefix', type: 'expression' },
25
+ { name: 'suffix', label: 'Suffix', type: 'expression' },
26
+
27
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
28
+ {
29
+ name: 'color_schema_note', type: 'note', label: 'Slice Colors (single series)',
30
+ text: 'Controls how slices are colored when the data has no "color" field.\nPalette: cycles through the global palette.\nTints: monochromatic shades of one base color.\nData: only per-slice data colors — no fallback.\nCustom: your own JSON color array.',
31
+ },
32
+ { name: 'colorSchema', label: 'Color Schema', type: 'color-schema' },
33
+ { name: 'height', label: 'Height (px)', type: 'expression' },
34
+ { name: 'innerRadius', label: 'Inner Radius %', type: 'expression', placeholder: 'default: 55 — hole size' },
35
+ { name: 'outerRadius', label: 'Outer Radius %', type: 'expression', placeholder: 'default: 80 — overall size' },
36
+ {
37
+ name: 'padAngle', label: 'Gap Between Slices', type: 'expression',
38
+ placeholder: 'degrees, default: 2 — set 0 for no gap',
39
+ },
40
+ {
41
+ name: 'startAngle', label: 'First Slice Position', type: 'select',
42
+ options: ['90', '0', '180', '270'],
43
+ },
44
+ { name: 'showTooltip', label: 'Show Tooltip', type: 'boolean' },
45
+ { name: 'showLegend', label: 'Show Legend', type: 'boolean' },
46
+ { name: 'legendPosition', label: 'Legend Position', type: 'select', options: ['bottom','right','top'] },
47
+ {
48
+ name: 'colors', label: 'Fallback Palette (JSON)', type: 'expression',
49
+ placeholder: '["#1976d2","#e91e63","#4caf50"] — used when slice has no color field',
50
+ },
51
+ ]
@@ -0,0 +1,25 @@
1
+ export const FUNNEL_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Bind dataKey to an array of stage objects ordered from widest (top) to narrowest (bottom).' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: '{ "pipeline": [\n { "label": "Leads", "value": 1200 },\n { "label": "Qualified", "value": 640 },\n { "label": "Proposal", "value": 280 },\n { "label": "Closed", "value": 95 }\n] }\n→ dataKey: "pipeline"\n labelField: "label", valueField: "value"\n\nOptional per-item color:\n { "label": "Leads", "value": 1200, "color": "#1976d2" }',
6
+ },
7
+ { name: 'dataKey', label: 'Data Key', type: 'expression' },
8
+ { name: 'labelField', label: 'Label Field', type: 'expression', placeholder: 'default: label' },
9
+ { name: 'valueField', label: 'Value Field', type: 'expression', placeholder: 'default: value' },
10
+ { name: 'colorField', label: 'Color Field', type: 'expression', placeholder: 'default: color — per-item override' },
11
+
12
+ { name: 'fmt_note', type: 'note', label: 'Format' },
13
+ { name: 'format', label: 'Format', type: 'select', options: ['number','currency','percent','compact'] },
14
+ { name: 'prefix', label: 'Prefix', type: 'expression' },
15
+ { name: 'suffix', label: 'Suffix', type: 'expression' },
16
+
17
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
18
+ { name: 'colorSchema', label: 'Color Schema', type: 'color-schema' },
19
+ { name: 'height', label: 'Height (px)', type: 'expression' },
20
+ { name: 'barRadius', label: 'Bar Radius', type: 'expression' },
21
+ { name: 'gap', label: 'Gap Between Bars', type: 'expression' },
22
+ { name: 'showValues', label: 'Show Values', type: 'boolean' },
23
+ { name: 'showLabels', label: 'Show Labels', type: 'boolean' },
24
+ { name: 'showPercent', label: 'Show Conversion %', type: 'boolean' },
25
+ ]