robobyte-front-builder 1.0.19 → 1.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/INTEGRATION.md +1586 -0
  2. package/README.md +928 -0
  3. package/RoboByteBuilder_User_Manual.docx +0 -0
  4. package/next.config.js +19 -48
  5. package/package.json +42 -86
  6. package/src/context/BuilderContext.jsx +191 -7
  7. package/src/context/SystemContext.js +2 -2
  8. package/src/hooks/useGlobalStore.js +36 -0
  9. package/src/hooks/useTimerEngine.js +54 -0
  10. package/src/lib/index.js +11 -3
  11. package/src/lib/layouts/BlankLayout.jsx +13 -0
  12. package/src/lib/providers/RoboByteFrontBuilderProvider.jsx +61 -7
  13. package/src/lib/themes/builderTheme.js +41 -0
  14. package/src/pages/_app.js +32 -134
  15. package/src/pages/api/ai.js +107 -0
  16. package/src/pages/builders/report/index.js +1 -0
  17. package/src/pages/builders/report/list/index.js +1 -0
  18. package/src/pages/builders/report/viewer/index.js +1 -0
  19. package/src/pages/index.js +88 -37
  20. package/src/pages/printBuilder/index.jsx +263 -0
  21. package/src/pages/printBuilder/layouts/index.jsx +298 -0
  22. package/src/pages/reportModule/reportBuilder/index.js +8 -6
  23. package/src/pages/reportModule/reportBuilder/reportViewer/index.js +92 -25
  24. package/src/pages/reportModule/reportBuilder/reports/index.js +3 -5
  25. package/src/pages/reportModule/reportBuilder/reportsPermissions/index.js +2 -3
  26. package/src/pages/viewBuilder/index.jsx +117 -32
  27. package/src/pages/viewBuilder/views/index.js +3 -3
  28. package/src/pages/viewer/[id]/index.js +2 -1
  29. package/src/services/DeleteService.js +31 -60
  30. package/src/services/Endpoints/PrintLayoutEndpoints.js +42 -0
  31. package/src/services/Endpoints/ReportBuilderEndpoints.js +7 -7
  32. package/src/services/Endpoints.js +2 -0
  33. package/src/services/GetService.js +33 -54
  34. package/src/services/PatchService.js +38 -65
  35. package/src/services/PostService.js +37 -63
  36. package/src/services/UpdateService.js +39 -65
  37. package/src/services/builderHelper/actionExecutor.js +141 -25
  38. package/src/services/builderHelper/builderHelper.js +92 -0
  39. package/src/services/builderHelper/colorSchema.js +95 -0
  40. package/src/services/builderHelper/iconResolver.js +50 -0
  41. package/src/services/builderHelper/jsExecutor.js +212 -46
  42. package/src/services/builderHelper/nodeFactory.js +32 -15
  43. package/src/services/builderHelper/numberFormat.js +123 -0
  44. package/src/services/builderHelper/resolveProps.js +73 -4
  45. package/src/services/builderHelper/thresholdEngine.js +77 -0
  46. package/src/services/builderHelper/tree.js +31 -0
  47. package/src/services/components/agGridAutoComplete.js +5 -9
  48. package/src/services/config.js +9 -1
  49. package/src/services/globalStore.js +80 -0
  50. package/src/services/helper/multiSelectEditor.js +5 -9
  51. package/src/services/helper/multiSelectEditorByBuilder.js +5 -9
  52. package/src/services/reportData/fetchReportData.js +69 -28
  53. package/src/services/routerRef.js +35 -0
  54. package/src/services/sessionLog.js +171 -0
  55. package/src/views/ConfirmDialog.js +2 -2
  56. package/src/views/builder/JSEditor.js +105 -107
  57. package/src/views/builder/SessionLogDialog.jsx +350 -0
  58. package/src/views/builder/UnsavedChangesGuard.jsx +103 -0
  59. package/src/views/builder/inspector/Inspector.jsx +6 -9
  60. package/src/views/builder/inspector/Tabs/ComponentActionsTab.jsx +7 -13
  61. package/src/views/builder/inspector/Tabs/MainTab.jsx +143 -25
  62. package/src/views/builder/inspector/Tabs/RulesTab.jsx +9 -24
  63. package/src/views/builder/inspector/Tabs/StyleTab.jsx +9 -24
  64. package/src/views/builder/inspector/definitions/autocomplete/main.js +4 -6
  65. package/src/views/builder/inspector/definitions/banner/actions.js +7 -0
  66. package/src/views/builder/inspector/definitions/banner/main.js +22 -0
  67. package/src/views/builder/inspector/definitions/banner/rules.js +1 -0
  68. package/src/views/builder/inspector/definitions/banner/style.js +1 -0
  69. package/src/views/builder/inspector/definitions/breadcrumb/main.js +43 -6
  70. package/src/views/builder/inspector/definitions/button/main.js +11 -12
  71. package/src/views/builder/inspector/definitions/button/style.js +18 -30
  72. package/src/views/builder/inspector/definitions/checkbox/actions.js +3 -1
  73. package/src/views/builder/inspector/definitions/checkbox/main.js +4 -6
  74. package/src/views/builder/inspector/definitions/common/main.js +13 -2
  75. package/src/views/builder/inspector/definitions/dataGrid/main.js +23 -0
  76. package/src/views/builder/inspector/definitions/dataTableViewer/main.js +46 -0
  77. package/src/views/builder/inspector/definitions/datepicker/actions.js +3 -1
  78. package/src/views/builder/inspector/definitions/datepicker/main.js +6 -14
  79. package/src/views/builder/inspector/definitions/dialog/main.js +36 -0
  80. package/src/views/builder/inspector/definitions/dropdown/main.js +5 -8
  81. package/src/views/builder/inspector/definitions/excelUpload/actions.js +23 -0
  82. package/src/views/builder/inspector/definitions/excelUpload/main.js +17 -0
  83. package/src/views/builder/inspector/definitions/excelUpload/rules.js +1 -0
  84. package/src/views/builder/inspector/definitions/excelUpload/style.js +45 -0
  85. package/src/views/builder/inspector/definitions/header/main.js +10 -1
  86. package/src/views/builder/inspector/definitions/index.js +106 -19
  87. package/src/views/builder/inspector/definitions/input/actions.js +4 -1
  88. package/src/views/builder/inspector/definitions/input/main.js +20 -11
  89. package/src/views/builder/inspector/definitions/kpi/avatarGroup.js +22 -0
  90. package/src/views/builder/inspector/definitions/kpi/badge.js +17 -0
  91. package/src/views/builder/inspector/definitions/kpi/bulletChart.js +47 -0
  92. package/src/views/builder/inspector/definitions/kpi/chart.js +55 -0
  93. package/src/views/builder/inspector/definitions/kpi/colorScale.js +60 -0
  94. package/src/views/builder/inspector/definitions/kpi/comparisonBars.js +41 -0
  95. package/src/views/builder/inspector/definitions/kpi/countdown.js +46 -0
  96. package/src/views/builder/inspector/definitions/kpi/donut.js +51 -0
  97. package/src/views/builder/inspector/definitions/kpi/funnel.js +25 -0
  98. package/src/views/builder/inspector/definitions/kpi/gauge.js +39 -0
  99. package/src/views/builder/inspector/definitions/kpi/heatmapGrid.js +96 -0
  100. package/src/views/builder/inspector/definitions/kpi/iconBox.js +20 -0
  101. package/src/views/builder/inspector/definitions/kpi/metric.js +45 -0
  102. package/src/views/builder/inspector/definitions/kpi/rating.js +27 -0
  103. package/src/views/builder/inspector/definitions/kpi/statusDot.js +18 -0
  104. package/src/views/builder/inspector/definitions/kpi/stepStage.js +65 -0
  105. package/src/views/builder/inspector/definitions/kpi/tagList.js +32 -0
  106. package/src/views/builder/inspector/definitions/kpi/timeline.js +80 -0
  107. package/src/views/builder/inspector/definitions/kpi/trend.js +20 -0
  108. package/src/views/builder/inspector/definitions/label/main.js +10 -1
  109. package/src/views/builder/inspector/definitions/layout/main.js +27 -3
  110. package/src/views/builder/inspector/definitions/number/main.js +6 -14
  111. package/src/views/builder/inspector/definitions/pageNumber/main.js +21 -0
  112. package/src/views/builder/inspector/definitions/popover/main.js +71 -0
  113. package/src/views/builder/inspector/definitions/radio/main.js +5 -8
  114. package/src/views/builder/inspector/definitions/repeater/main.js +31 -0
  115. package/src/views/builder/inspector/definitions/reportViewer/main.js +28 -1
  116. package/src/views/builder/inspector/definitions/richtext/main.js +5 -8
  117. package/src/views/builder/inspector/definitions/signature/main.js +4 -1
  118. package/src/views/builder/inspector/definitions/tag/main.js +5 -8
  119. package/src/views/builder/inspector/definitions/textarea/actions.js +4 -1
  120. package/src/views/builder/inspector/definitions/textarea/main.js +5 -7
  121. package/src/views/builder/inspector/definitions/time/main.js +5 -8
  122. package/src/views/builder/inspector/definitions/toggle/main.js +5 -19
  123. package/src/views/builder/inspector/definitions/treeView/main.js +61 -0
  124. package/src/views/builder/inspector/definitions/viewRenderer/main.js +53 -0
  125. package/src/views/builder/inspector/definitions/wizard/main.js +68 -0
  126. package/src/views/builder/inspector/definitions/wizard-step/main.js +25 -0
  127. package/src/views/builder/inspector/fields/ActionsConfigEditor.jsx +426 -0
  128. package/src/views/builder/inspector/fields/ColorSchemaField.jsx +140 -0
  129. package/src/views/builder/inspector/fields/ColumnFunctionEditor.jsx +238 -0
  130. package/src/views/builder/inspector/fields/ColumnMappingEditor.jsx +105 -0
  131. package/src/views/builder/inspector/fields/ColumnsConfigEditor.jsx +506 -0
  132. package/src/views/builder/inspector/fields/DonutRingsEditorField.jsx +337 -0
  133. package/src/views/builder/inspector/fields/ExtraColsEditor.jsx +618 -0
  134. package/src/views/builder/inspector/fields/FunctionHelpPopover.jsx +295 -0
  135. package/src/views/builder/inspector/fields/IconEditor.jsx +64 -0
  136. package/src/views/builder/inspector/fields/KpiActionField.jsx +223 -0
  137. package/src/views/builder/inspector/fields/MarkersEditorField.jsx +173 -0
  138. package/src/views/builder/inspector/fields/SelectEditor.jsx +9 -5
  139. package/src/views/builder/inspector/fields/SeriesEditorField.jsx +363 -0
  140. package/src/views/builder/inspector/fields/TableColumnsEditor.jsx +104 -0
  141. package/src/views/builder/inspector/fields/ThresholdsEditor.jsx +247 -0
  142. package/src/views/builder/inspector/fields/ValueFunctionsRefPanel.jsx +217 -0
  143. package/src/views/builder/inspector/fields/columnEditorShared.jsx +217 -0
  144. package/src/views/builder/sidebar/Sidebar.jsx +4 -2
  145. package/src/views/builder/sidebar/SidebarTabs.jsx +28 -17
  146. package/src/views/builder/sidebar/tabs/ActionsTab.jsx +7 -3
  147. package/src/views/builder/sidebar/tabs/AiTab/AiPreviewDialog.jsx +193 -0
  148. package/src/views/builder/sidebar/tabs/AiTab/aiProvider.js +53 -0
  149. package/src/views/builder/sidebar/tabs/AiTab/index.jsx +409 -0
  150. package/src/views/builder/sidebar/tabs/AiTab/schemaTransformer.js +167 -0
  151. package/src/views/builder/sidebar/tabs/AiTab/schemaValidator.js +64 -0
  152. package/src/views/builder/sidebar/tabs/AiTab/systemPrompt.js +1151 -0
  153. package/src/views/builder/sidebar/tabs/AiTab/trainingExport.js +131 -0
  154. package/src/views/builder/sidebar/tabs/Components/ComponentsTab.jsx +31 -31
  155. package/src/views/builder/sidebar/tabs/Components/componentCatalog.js +43 -21
  156. package/src/views/builder/sidebar/tabs/Components/printComponentCatalog.js +81 -0
  157. package/src/views/builder/sidebar/tabs/TimersTab.jsx +338 -0
  158. package/src/views/builder/sidebar/tabs/TreeTab.jsx +13 -4
  159. package/src/views/builder/sidebar/tabs/ViewTab.jsx +173 -13
  160. package/src/views/builder/viewer/AdornedLabel.jsx +82 -0
  161. package/src/views/builder/viewer/ComponentRenderer.jsx +98 -24
  162. package/src/views/builder/viewer/DialogsZone.jsx +259 -0
  163. package/src/views/builder/viewer/FieldLabel.jsx +106 -0
  164. package/src/views/builder/viewer/PrintDialog.jsx +481 -0
  165. package/src/views/builder/viewer/ProductionViewer.jsx +80 -5
  166. package/src/views/builder/viewer/Viewer.jsx +106 -8
  167. package/src/views/builder/viewer/ViewerComponentWrapper.jsx +70 -9
  168. package/src/views/builder/viewer/ViewerToolbar.jsx +285 -56
  169. package/src/views/builder/viewer/renderers/AutoCompleteRenderer.jsx +26 -22
  170. package/src/views/builder/viewer/renderers/AvatarGroupRenderer.jsx +112 -0
  171. package/src/views/builder/viewer/renderers/BadgeRenderer.jsx +79 -0
  172. package/src/views/builder/viewer/renderers/BannerRenderer.jsx +62 -0
  173. package/src/views/builder/viewer/renderers/BreadcrumbRenderer.jsx +203 -15
  174. package/src/views/builder/viewer/renderers/BulletChartRenderer.jsx +147 -0
  175. package/src/views/builder/viewer/renderers/ButtonRenderer.jsx +98 -39
  176. package/src/views/builder/viewer/renderers/CardRenderer.jsx +1 -1
  177. package/src/views/builder/viewer/renderers/ChartRenderer.jsx +388 -0
  178. package/src/views/builder/viewer/renderers/CheckboxRenderer.jsx +17 -9
  179. package/src/views/builder/viewer/renderers/ColorScaleRenderer.jsx +300 -0
  180. package/src/views/builder/viewer/renderers/ComparisonBarsRenderer.jsx +133 -0
  181. package/src/views/builder/viewer/renderers/ContainerRenderer.jsx +3 -1
  182. package/src/views/builder/viewer/renderers/CountdownRenderer.jsx +249 -0
  183. package/src/views/builder/viewer/renderers/DataGridRenderer.jsx +380 -0
  184. package/src/views/builder/viewer/renderers/DataTableViewerRenderer.jsx +240 -0
  185. package/src/views/builder/viewer/renderers/DatePickerRenderer.jsx +25 -24
  186. package/src/views/builder/viewer/renderers/DialogRenderer.jsx +327 -0
  187. package/src/views/builder/viewer/renderers/DividerRenderer.jsx +1 -1
  188. package/src/views/builder/viewer/renderers/DonutRenderer.jsx +294 -0
  189. package/src/views/builder/viewer/renderers/DropdownRenderer.jsx +36 -44
  190. package/src/views/builder/viewer/renderers/ExcelUploadRenderer.jsx +639 -0
  191. package/src/views/builder/viewer/renderers/FunnelRenderer.jsx +93 -0
  192. package/src/views/builder/viewer/renderers/GaugeRenderer.jsx +159 -0
  193. package/src/views/builder/viewer/renderers/HeaderRenderer.jsx +31 -9
  194. package/src/views/builder/viewer/renderers/HeatmapGridRenderer.jsx +432 -0
  195. package/src/views/builder/viewer/renderers/IconBoxRenderer.jsx +59 -0
  196. package/src/views/builder/viewer/renderers/ImageRenderer.jsx +1 -1
  197. package/src/views/builder/viewer/renderers/InputRenderer.jsx +75 -18
  198. package/src/views/builder/viewer/renderers/LabelRenderer.jsx +35 -9
  199. package/src/views/builder/viewer/renderers/LayoutCellRenderer.jsx +102 -40
  200. package/src/views/builder/viewer/renderers/LayoutContextMenu.jsx +8 -8
  201. package/src/views/builder/viewer/renderers/LayoutRenderer.jsx +48 -6
  202. package/src/views/builder/viewer/renderers/LinkRenderer.jsx +1 -1
  203. package/src/views/builder/viewer/renderers/MenuRenderer.jsx +2 -2
  204. package/src/views/builder/viewer/renderers/MetricRenderer.jsx +80 -0
  205. package/src/views/builder/viewer/renderers/NumberFormatRenderer.jsx +21 -30
  206. package/src/views/builder/viewer/renderers/PageNumberRenderer.jsx +76 -0
  207. package/src/views/builder/viewer/renderers/PopoverRenderer.jsx +350 -0
  208. package/src/views/builder/viewer/renderers/ProgressCircleRenderer.jsx +1 -1
  209. package/src/views/builder/viewer/renderers/ProgressLineRenderer.jsx +1 -1
  210. package/src/views/builder/viewer/renderers/RadioGroupRenderer.jsx +28 -39
  211. package/src/views/builder/viewer/renderers/RatingRenderer.jsx +80 -0
  212. package/src/views/builder/viewer/renderers/RepeaterRenderer.jsx +297 -38
  213. package/src/views/builder/viewer/renderers/ReportViewerRenderer.jsx +263 -5
  214. package/src/views/builder/viewer/renderers/RichTextRenderer.jsx +60 -66
  215. package/src/views/builder/viewer/renderers/RowActionsCell.jsx +308 -0
  216. package/src/views/builder/viewer/renderers/SignatureRenderer.jsx +33 -62
  217. package/src/views/builder/viewer/renderers/StatusDotRenderer.jsx +75 -0
  218. package/src/views/builder/viewer/renderers/StepStageRenderer.jsx +348 -0
  219. package/src/views/builder/viewer/renderers/TagListRenderer.jsx +115 -0
  220. package/src/views/builder/viewer/renderers/TagPickerRenderer.jsx +31 -45
  221. package/src/views/builder/viewer/renderers/TextAreaRenderer.jsx +25 -18
  222. package/src/views/builder/viewer/renderers/TextRenderer.jsx +7 -1
  223. package/src/views/builder/viewer/renderers/TimePickerRenderer.jsx +25 -24
  224. package/src/views/builder/viewer/renderers/TimelineRenderer.jsx +525 -0
  225. package/src/views/builder/viewer/renderers/ToggleRenderer.jsx +21 -27
  226. package/src/views/builder/viewer/renderers/TreeViewRenderer.jsx +832 -0
  227. package/src/views/builder/viewer/renderers/TrendRenderer.jsx +66 -0
  228. package/src/views/builder/viewer/renderers/ViewRendererRenderer.jsx +315 -0
  229. package/src/views/builder/viewer/renderers/WizardRenderer.jsx +380 -64
  230. package/src/views/builder/viewer/renderers/WizardStepRenderer.jsx +21 -12
  231. package/src/views/builder/viewer/renderers/dataGridComponents.jsx +824 -0
  232. package/src/views/customFilter/CustomFilterDialog.js +1023 -660
  233. package/src/views/customFilter/FixedFilterDialog.js +649 -0
  234. package/src/views/customFilter/SearchFilterDialog.js +248 -0
  235. package/src/views/genericTable/BuilderExpressionParams.js +3 -3
  236. package/src/views/genericTable/ColumnConfiguratorDialog.js +33 -24
  237. package/src/views/genericTable/FixedFilterDialog.js +3 -2
  238. package/src/views/genericTable/FormattingSettingsDialog.js +8 -3
  239. package/src/views/genericTable/SGrid.js +821 -448
  240. package/src/views/genericTable/SearchFilterDialog.js +3 -2
  241. package/src/views/genericTable/cellEditors/autocompleteEditor.js +5 -9
  242. package/src/views/genericTable/convertStringFunctions.js +274 -138
  243. package/src/views/genericTable/statusBar/rowCountStatusBar.js +3 -1
  244. package/src/views/genericTable/updateRefHelpers.js +9 -6
  245. package/src/views/printBuilder/PrintBuilderViewer.jsx +627 -0
  246. package/src/views/printBuilder/PrintPreviewCanvas.jsx +157 -0
  247. package/src/views/rolePermissions/UpdateReportPermissionDialog.js +3 -2
  248. package/src/@core/components/auth/AclGuard.js +0 -55
  249. package/src/@core/components/auth/AuthGuard.js +0 -40
  250. package/src/@core/components/auth/GuestGuard.js +0 -30
  251. package/src/@core/components/custom-inputs/Horizontal.jsx +0 -143
  252. package/src/@core/components/custom-inputs/Image.jsx +0 -78
  253. package/src/@core/components/custom-inputs/Vertical.jsx +0 -113
  254. package/src/@core/components/customizer/index.jsx +0 -470
  255. package/src/@core/components/customizer/styles.module.css +0 -169
  256. package/src/@core/components/mui/Avatar.jsx +0 -41
  257. package/src/@core/components/mui/Badge.jsx +0 -20
  258. package/src/@core/components/mui/IconButton.jsx +0 -74
  259. package/src/@core/components/mui/TabList.jsx +0 -60
  260. package/src/@core/components/option-menu/index.jsx +0 -137
  261. package/src/@core/components/scroll-to-top/index.jsx +0 -43
  262. package/src/@core/components/spinner/index.js +0 -26
  263. package/src/@core/components/window-wrapper/index.js +0 -27
  264. package/src/@core/contexts/settingsContext.jsx +0 -98
  265. package/src/@core/hooks/useBgColor.js +0 -63
  266. package/src/@core/hooks/useImageVariant.js +0 -27
  267. package/src/@core/hooks/useLayoutInit.js +0 -37
  268. package/src/@core/hooks/useObjectCookie.js +0 -18
  269. package/src/@core/hooks/useSettings.jsx +0 -15
  270. package/src/@core/layouts/BlankLayout.js +0 -37
  271. package/src/@core/layouts/BlankLayoutWithAppBar.js +0 -51
  272. package/src/@core/layouts/HorizontalLayout.jsx +0 -151
  273. package/src/@core/layouts/Layout.js +0 -39
  274. package/src/@core/layouts/VerticalLayout.jsx +0 -124
  275. package/src/@core/layouts/components/blank-layout-with-appBar/index.js +0 -115
  276. package/src/@core/layouts/components/horizontal/app-bar-content/index.js +0 -67
  277. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavGroup.js +0 -352
  278. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavItems.js +0 -21
  279. package/src/@core/layouts/components/horizontal/navigation/HorizontalNavLink.js +0 -195
  280. package/src/@core/layouts/components/horizontal/navigation/index.js +0 -31
  281. package/src/@core/layouts/components/shared-components/LanguageDropdown.js +0 -96
  282. package/src/@core/layouts/components/shared-components/ModeToggler.js +0 -32
  283. package/src/@core/layouts/components/shared-components/NotificationDropdown.js +0 -226
  284. package/src/@core/layouts/components/shared-components/UserDropdown.js +0 -177
  285. package/src/@core/layouts/components/shared-components/footer/FooterContent.js +0 -46
  286. package/src/@core/layouts/components/shared-components/footer/index.js +0 -61
  287. package/src/@core/layouts/components/vertical/appBar/index.js +0 -74
  288. package/src/@core/layouts/components/vertical/navigation/Drawer.js +0 -122
  289. package/src/@core/layouts/components/vertical/navigation/VerticalNavGroup.js +0 -435
  290. package/src/@core/layouts/components/vertical/navigation/VerticalNavHeader.js +0 -180
  291. package/src/@core/layouts/components/vertical/navigation/VerticalNavItems.js +0 -26
  292. package/src/@core/layouts/components/vertical/navigation/VerticalNavLink.js +0 -258
  293. package/src/@core/layouts/components/vertical/navigation/VerticalNavSectionTitle.js +0 -102
  294. package/src/@core/layouts/components/vertical/navigation/index.js +0 -169
  295. package/src/@core/layouts/utils.js +0 -69
  296. package/src/@core/styles/Table.module.css +0 -93
  297. package/src/@core/styles/horizontal/menuItemStyles.js +0 -100
  298. package/src/@core/styles/horizontal/menuRootStyles.js +0 -19
  299. package/src/@core/styles/libs/fullcalendar/index.js +0 -461
  300. package/src/@core/styles/libs/keen-slider/index.js +0 -111
  301. package/src/@core/styles/libs/react-apexcharts/index.js +0 -107
  302. package/src/@core/styles/libs/react-cleave/index.js +0 -33
  303. package/src/@core/styles/libs/react-credit-cards/index.js +0 -11
  304. package/src/@core/styles/libs/react-datepicker/index.js +0 -388
  305. package/src/@core/styles/libs/react-draft-wysiwyg/index.js +0 -144
  306. package/src/@core/styles/libs/react-dropzone/index.js +0 -76
  307. package/src/@core/styles/libs/react-hot-toast/index.js +0 -37
  308. package/src/@core/styles/libs/recharts/index.js +0 -47
  309. package/src/@core/styles/stepper.js +0 -103
  310. package/src/@core/styles/vertical/menuItemStyles.js +0 -138
  311. package/src/@core/styles/vertical/menuSectionStyles.js +0 -54
  312. package/src/@core/styles/vertical/navigationCustomStyles.js +0 -62
  313. package/src/@core/svg/ContentCompact.jsx +0 -17
  314. package/src/@core/svg/ContentWide.jsx +0 -17
  315. package/src/@core/svg/DirectionLtr.jsx +0 -93
  316. package/src/@core/svg/DirectionRtl.jsx +0 -93
  317. package/src/@core/svg/LayoutCollapsed.jsx +0 -59
  318. package/src/@core/svg/LayoutHorizontal.jsx +0 -42
  319. package/src/@core/svg/LayoutVertical.jsx +0 -59
  320. package/src/@core/svg/Logo.jsx +0 -76
  321. package/src/@core/svg/SkinBordered.jsx +0 -54
  322. package/src/@core/svg/SkinDefault.jsx +0 -59
  323. package/src/@core/tailwind/plugin.js +0 -78
  324. package/src/@core/theme/ThemeComponent.js +0 -63
  325. package/src/@core/theme/ThemeOptions.js +0 -71
  326. package/src/@core/theme/breakpoints/index.js +0 -11
  327. package/src/@core/theme/colorSchemes.js +0 -326
  328. package/src/@core/theme/customShadows.js +0 -11
  329. package/src/@core/theme/globalStyles.js +0 -81
  330. package/src/@core/theme/index.js +0 -42
  331. package/src/@core/theme/overrides/accordion.js +0 -51
  332. package/src/@core/theme/overrides/accordion.jsx +0 -85
  333. package/src/@core/theme/overrides/alerts.js +0 -110
  334. package/src/@core/theme/overrides/alerts.jsx +0 -180
  335. package/src/@core/theme/overrides/autocomplete.js +0 -14
  336. package/src/@core/theme/overrides/autocomplete.jsx +0 -68
  337. package/src/@core/theme/overrides/avatar.js +0 -38
  338. package/src/@core/theme/overrides/avatars.js +0 -27
  339. package/src/@core/theme/overrides/backdrop.js +0 -22
  340. package/src/@core/theme/overrides/badges.js +0 -16
  341. package/src/@core/theme/overrides/breadcrumbs.js +0 -11
  342. package/src/@core/theme/overrides/button-group.js +0 -84
  343. package/src/@core/theme/overrides/button.js +0 -93
  344. package/src/@core/theme/overrides/buttonGroup.js +0 -9
  345. package/src/@core/theme/overrides/card.js +0 -83
  346. package/src/@core/theme/overrides/checkbox.jsx +0 -95
  347. package/src/@core/theme/overrides/chip.js +0 -72
  348. package/src/@core/theme/overrides/dataGrid.js +0 -114
  349. package/src/@core/theme/overrides/dateTimePicker.js +0 -65
  350. package/src/@core/theme/overrides/dialog.js +0 -120
  351. package/src/@core/theme/overrides/divider.js +0 -13
  352. package/src/@core/theme/overrides/drawer.js +0 -20
  353. package/src/@core/theme/overrides/fab.js +0 -13
  354. package/src/@core/theme/overrides/form-control-label.js +0 -19
  355. package/src/@core/theme/overrides/icon-button.js +0 -145
  356. package/src/@core/theme/overrides/index.js +0 -103
  357. package/src/@core/theme/overrides/input.js +0 -72
  358. package/src/@core/theme/overrides/link.js +0 -9
  359. package/src/@core/theme/overrides/list.js +0 -44
  360. package/src/@core/theme/overrides/menu.js +0 -25
  361. package/src/@core/theme/overrides/pagination.js +0 -41
  362. package/src/@core/theme/overrides/paper.js +0 -9
  363. package/src/@core/theme/overrides/popover.js +0 -16
  364. package/src/@core/theme/overrides/progress.js +0 -38
  365. package/src/@core/theme/overrides/radio.jsx +0 -80
  366. package/src/@core/theme/overrides/rating.js +0 -16
  367. package/src/@core/theme/overrides/rating.jsx +0 -32
  368. package/src/@core/theme/overrides/select.js +0 -19
  369. package/src/@core/theme/overrides/select.jsx +0 -52
  370. package/src/@core/theme/overrides/slider.js +0 -97
  371. package/src/@core/theme/overrides/snackbar.js +0 -19
  372. package/src/@core/theme/overrides/switch.js +0 -73
  373. package/src/@core/theme/overrides/switches.js +0 -25
  374. package/src/@core/theme/overrides/table-pagination.js +0 -39
  375. package/src/@core/theme/overrides/table.js +0 -81
  376. package/src/@core/theme/overrides/tabs.js +0 -30
  377. package/src/@core/theme/overrides/timeline.js +0 -80
  378. package/src/@core/theme/overrides/toggle-button.js +0 -33
  379. package/src/@core/theme/overrides/toggleButton.js +0 -16
  380. package/src/@core/theme/overrides/tooltip.js +0 -21
  381. package/src/@core/theme/overrides/typography.js +0 -13
  382. package/src/@core/theme/palette/index.js +0 -107
  383. package/src/@core/theme/shadows/index.js +0 -61
  384. package/src/@core/theme/shadows.js +0 -12
  385. package/src/@core/theme/spacing/index.js +0 -3
  386. package/src/@core/theme/spacing.js +0 -5
  387. package/src/@core/theme/typography/index.js +0 -65
  388. package/src/@core/theme/typography.js +0 -84
  389. package/src/@core/utils/create-emotion-cache.js +0 -5
  390. package/src/@core/utils/hex-to-rgba.js +0 -11
  391. package/src/@core/utils/serverHelpers.js +0 -45
  392. package/src/@menu/components/RouterLink.jsx +0 -18
  393. package/src/@menu/components/horizontal-menu/HorizontalNav.jsx +0 -88
  394. package/src/@menu/components/horizontal-menu/Menu.jsx +0 -83
  395. package/src/@menu/components/horizontal-menu/MenuButton.jsx +0 -100
  396. package/src/@menu/components/horizontal-menu/MenuItem.jsx +0 -183
  397. package/src/@menu/components/horizontal-menu/SubMenu.jsx +0 -418
  398. package/src/@menu/components/horizontal-menu/SubMenuContent.jsx +0 -41
  399. package/src/@menu/components/horizontal-menu/VerticalNavInHorizontal.jsx +0 -20
  400. package/src/@menu/components/vertical-menu/Menu.jsx +0 -161
  401. package/src/@menu/components/vertical-menu/MenuButton.jsx +0 -95
  402. package/src/@menu/components/vertical-menu/MenuItem.jsx +0 -180
  403. package/src/@menu/components/vertical-menu/MenuSection.jsx +0 -124
  404. package/src/@menu/components/vertical-menu/NavCollapseIcons.jsx +0 -70
  405. package/src/@menu/components/vertical-menu/NavHeader.jsx +0 -39
  406. package/src/@menu/components/vertical-menu/SubMenu.jsx +0 -420
  407. package/src/@menu/components/vertical-menu/SubMenuContent.jsx +0 -101
  408. package/src/@menu/components/vertical-menu/VerticalNav.jsx +0 -216
  409. package/src/@menu/contexts/horizontalNavContext.jsx +0 -29
  410. package/src/@menu/contexts/verticalNavContext.jsx +0 -65
  411. package/src/@menu/defaultConfigs.js +0 -12
  412. package/src/@menu/hooks/useHorizontalMenu.jsx +0 -19
  413. package/src/@menu/hooks/useHorizontalNav.jsx +0 -19
  414. package/src/@menu/hooks/useMediaQuery.jsx +0 -29
  415. package/src/@menu/hooks/useVerticalMenu.jsx +0 -19
  416. package/src/@menu/hooks/useVerticalNav.jsx +0 -19
  417. package/src/@menu/horizontal-menu/index.jsx +0 -8
  418. package/src/@menu/styles/StyledBackdrop.jsx +0 -15
  419. package/src/@menu/styles/StyledMenuIcon.jsx +0 -12
  420. package/src/@menu/styles/StyledMenuLabel.jsx +0 -16
  421. package/src/@menu/styles/StyledMenuPrefix.jsx +0 -10
  422. package/src/@menu/styles/StyledMenuSectionLabel.jsx +0 -21
  423. package/src/@menu/styles/StyledMenuSuffix.jsx +0 -10
  424. package/src/@menu/styles/StyledSubMenuContent.jsx +0 -43
  425. package/src/@menu/styles/horizontal/StyledHorizontalMenu.jsx +0 -13
  426. package/src/@menu/styles/horizontal/StyledHorizontalMenuItem.jsx +0 -26
  427. package/src/@menu/styles/horizontal/StyledHorizontalNav.jsx +0 -11
  428. package/src/@menu/styles/horizontal/StyledHorizontalNavExpandIcon.jsx +0 -33
  429. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContent.jsx +0 -18
  430. package/src/@menu/styles/horizontal/StyledHorizontalSubMenuContentWrapper.jsx +0 -10
  431. package/src/@menu/styles/horizontal/horizontalUl.module.css +0 -15
  432. package/src/@menu/styles/styles.module.css +0 -5
  433. package/src/@menu/styles/vertical/StyledVerticalMenu.jsx +0 -16
  434. package/src/@menu/styles/vertical/StyledVerticalMenuItem.jsx +0 -28
  435. package/src/@menu/styles/vertical/StyledVerticalMenuSection.jsx +0 -23
  436. package/src/@menu/styles/vertical/StyledVerticalNav.jsx +0 -67
  437. package/src/@menu/styles/vertical/StyledVerticalNavBgColorContainer.jsx +0 -15
  438. package/src/@menu/styles/vertical/StyledVerticalNavContainer.jsx +0 -23
  439. package/src/@menu/styles/vertical/StyledVerticalNavExpandIcon.jsx +0 -25
  440. package/src/@menu/styles/vertical/verticalNavBgImage.module.css +0 -10
  441. package/src/@menu/svg/ChevronRight.jsx +0 -9
  442. package/src/@menu/svg/Close.jsx +0 -12
  443. package/src/@menu/svg/RadioCircle.jsx +0 -12
  444. package/src/@menu/svg/RadioCircleMarked.jsx +0 -13
  445. package/src/@menu/utils/menuClasses.js +0 -44
  446. package/src/@menu/utils/menuUtils.jsx +0 -145
  447. package/src/@menu/vertical-menu/index.jsx +0 -11
  448. package/src/configs/acl.js +0 -115
  449. package/src/configs/auth.js +0 -5
  450. package/src/configs/aws-exports.js +0 -30
  451. package/src/configs/firebase.js +0 -25
  452. package/src/configs/i18n.js +0 -34
  453. package/src/configs/primaryColorConfig.js +0 -35
  454. package/src/configs/themeConfig.js +0 -44
  455. package/src/layouts/UserLayout.js +0 -94
  456. package/src/layouts/UserThemeOptions.js +0 -191
  457. package/src/layouts/components/Direction.js +0 -30
  458. package/src/layouts/components/HtmlTooltip.js +0 -15
  459. package/src/layouts/components/Translations.js +0 -11
  460. package/src/layouts/components/UserDropdown.js +0 -217
  461. package/src/layouts/components/UserIcon.js +0 -40
  462. package/src/layouts/components/acl/Can.js +0 -6
  463. package/src/layouts/components/acl/CanViewNavGroup.js +0 -36
  464. package/src/layouts/components/acl/CanViewNavLink.js +0 -17
  465. package/src/layouts/components/acl/CanViewNavSectionTitle.js +0 -17
  466. package/src/layouts/components/horizontal/AppBarContent.js +0 -39
  467. package/src/layouts/components/horizontal/ServerSideNavItems.js +0 -44
  468. package/src/layouts/components/mui/StepperComps.js +0 -55
  469. package/src/layouts/components/vertical/AppBarContent.js +0 -35
  470. package/src/layouts/components/vertical/ServerSideNavItems.js +0 -44
  471. package/src/libs/ApexCharts.jsx +0 -5
  472. package/src/libs/ReactPlayer.jsx +0 -5
  473. package/src/libs/Recharts.jsx +0 -4
  474. package/src/libs/auth.js +0 -124
  475. package/src/libs/styles/AppFullCalendar.js +0 -505
  476. package/src/libs/styles/AppKeenSlider.js +0 -116
  477. package/src/libs/styles/AppReactApexCharts.jsx +0 -110
  478. package/src/libs/styles/AppReactDatepicker.jsx +0 -470
  479. package/src/libs/styles/AppReactDropzone.js +0 -76
  480. package/src/libs/styles/AppReactToastify.jsx +0 -108
  481. package/src/libs/styles/AppRecharts.js +0 -55
  482. package/src/libs/styles/inputOtp.module.css +0 -39
  483. package/src/libs/styles/tiptapEditor.css +0 -72
  484. package/src/navigation/horizontal/index.js +0 -246
  485. package/src/navigation/vertical/index.js +0 -253
  486. package/src/pages/401.js +0 -70
  487. package/src/pages/404.js +0 -67
  488. package/src/pages/500.js +0 -68
  489. package/src/pages/[slug].js +0 -115
  490. package/src/pages/_document.js +0 -72
  491. package/src/pages/api/navigation/regenerate-registry.js +0 -116
  492. package/src/pages/api/navigation/save.js +0 -218
  493. package/src/pages/authModule/acl/index.js +0 -48
  494. package/src/pages/authModule/forgot-password/index.js +0 -228
  495. package/src/pages/authModule/permissions/rolePermissions/[id]/rolePermissionsUser/index.js +0 -392
  496. package/src/pages/authModule/permissions/rolePermissions/index.js +0 -343
  497. package/src/pages/authModule/permissions/systemPermissions/index.js +0 -354
  498. package/src/pages/authModule/privacy/index.js +0 -721
  499. package/src/pages/authModule/users/index.js +0 -210
  500. package/src/pages/login/index.js +0 -328
  501. package/src/pages/mainHome/index.js +0 -181
  502. package/src/views/builder/inspector/definitions/cell/main.js +0 -4
  503. package/src/views/builder/inspector/definitions/column/main.js +0 -9
  504. package/src/views/builder/inspector/definitions/column-group/main.js +0 -18
  505. package/src/views/builder/inspector/definitions/header-cell/main.js +0 -5
  506. package/src/views/builder/inspector/definitions/table/main.js +0 -9
  507. package/src/views/builder/viewer/renderers/CellRenderer.jsx +0 -71
  508. package/src/views/builder/viewer/renderers/ColumnGroupRenderer.jsx +0 -96
  509. package/src/views/builder/viewer/renderers/ColumnRenderer.jsx +0 -71
  510. package/src/views/builder/viewer/renderers/HeaderCellRenderer.jsx +0 -78
  511. package/src/views/builder/viewer/renderers/TabRenderer.jsx +0 -82
  512. package/src/views/builder/viewer/renderers/TableRenderer.jsx +0 -92
  513. package/src/views/pages/auth/FooterIllustrationsV2.js +0 -40
  514. package/src/views/pages/misc/FooterIllustrations.js +0 -47
  515. package/src/views/pages/misc/muiTable/CustomPagination.js +0 -34
  516. package/src/views/pages/users/UserManageDialog.js +0 -283
  517. package/src/views/pages/users/UserViewPage.js +0 -199
  518. package/src/views/users/AddUserNameDialog.js +0 -162
  519. package/src/views/users/ContactManage.js +0 -449
  520. package/src/views/users/ResetPasswordDialog.js +0 -242
@@ -0,0 +1,27 @@
1
+ export const RATING_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Reads and writes the rating value from data[valueKey]. Set readonly to display only.' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: '{ "productRating": 4 }\n→ valueKey: "productRating", max: 5\n\nInteractive mode: clicking a star writes\nthe new value back to data[valueKey]\nand fires onChangeCode.\n\nReadonly mode: just displays the value.',
6
+ },
7
+ { name: 'valueKey', label: 'Value Key', type: 'expression' },
8
+
9
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
10
+ { name: 'max', label: 'Max Rating', type: 'expression' },
11
+ { name: 'icon', label: 'Icon', type: 'select', options: ['star','heart','circle','square'] },
12
+ { name: 'color', label: 'Active Color', type: 'expression' },
13
+ { name: 'emptyColor', label: 'Empty Color', type: 'expression' },
14
+ { name: 'size', label: 'Icon Size (px)', type: 'expression' },
15
+ { name: 'gap', label: 'Gap (px)', type: 'expression' },
16
+ { name: 'align', label: 'Align', type: 'select', options: ['left','center','right'] },
17
+ { name: 'readonly', label: 'Read Only', type: 'boolean' },
18
+
19
+ {
20
+ name: 'actions_note', type: 'note', label: 'Actions',
21
+ text: 'Fires when a user selects a rating. The new value is automatically written to data[valueKey] before the action runs. Available in the action:\n newValue — the new star rating (number)\n clickedValue — alias for newValue',
22
+ },
23
+ {
24
+ name: 'onChange', type: 'kpi-action', label: 'On Rating Change',
25
+ context: ['newValue', 'clickedValue'],
26
+ },
27
+ ]
@@ -0,0 +1,18 @@
1
+ export const STATUS_DOT_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Reads value from data[valueKey]. Use thresholds to map values to dot colors.' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: '{ "serverStatus": "online" }\n{ "alertLevel": 2 }\n→ valueKey: "serverStatus"\n threshold "== online" → color: success',
6
+ },
7
+ { name: 'valueKey', label: 'Value Key', type: 'expression' },
8
+ { name: 'label', label: 'Static Label', type: 'expression' },
9
+
10
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
11
+ { name: 'size', label: 'Dot Size (px)', type: 'expression' },
12
+ { name: 'pulse', label: 'Pulse Animation', type: 'boolean' },
13
+ { name: 'showLabel', label: 'Show Label', type: 'boolean' },
14
+ { name: 'labelPosition', label: 'Label Position', type: 'select', options: ['right','left','above','below'] },
15
+ { name: 'align', label: 'Align', type: 'select', options: ['left','center','right'] },
16
+
17
+ { name: 'thresholds', label: 'Thresholds', type: 'thresholds-editor' },
18
+ ]
@@ -0,0 +1,65 @@
1
+ export const STEP_STAGE_FIELDS = [
2
+ {
3
+ name: 'data_note', type: 'note', label: 'Data',
4
+ text: 'Bind dataKey to an array of step objects.\n\nTwo ways to mark progress:\n① Status field — set a "status" string on each step (see keywords below).\n② Active key — point activeKey to a data value (index or id); steps before it are "done", matching step is "active", rest are "pending".',
5
+ },
6
+ {
7
+ name: 'data_example', type: 'note', label: 'Expected data shape',
8
+ text: '[\n { "id": 1, "label": "Placed", "status": "done", "description": "Jan 10, 2025" },\n { "id": 2, "label": "Processing", "status": "done", "description": "Jan 11, 2025" },\n { "id": 3, "label": "Shipped", "status": "active", "description": "Est. Jan 15" },\n { "id": 4, "label": "Out for delivery", "status": "pending" },\n { "id": 5, "label": "Delivered", "status": "pending" }\n]\n\nBuilt-in status keywords:\n done / success / completed / approved / closed / resolved / delivered / shipped / paid\n active / current / in-progress / running / processing / open\n warning / at-risk / delayed / on-hold\n error / failed / rejected / cancelled / blocked\n pending / todo / future / upcoming / planned / queued',
9
+ },
10
+
11
+ { name: 'dataKey', label: 'Steps Data Key', type: 'expression' },
12
+ { name: 'activeKey', label: 'Active Value Key', type: 'expression', placeholder: 'data key holding current step index or id' },
13
+ { name: 'labelField', label: 'Label Field', type: 'expression', placeholder: 'default: label' },
14
+ { name: 'statusField', label: 'Status Field', type: 'expression', placeholder: 'default: status' },
15
+ { name: 'descField', label: 'Description Field', type: 'expression', placeholder: 'optional — shown below label' },
16
+ { name: 'iconField', label: 'Icon Field', type: 'expression', placeholder: 'optional — emoji/char inside dot' },
17
+ { name: 'idField', label: 'ID Field', type: 'expression', placeholder: 'default: id (used with activeKey)' },
18
+ { name: 'maxItems', label: 'Max Items', type: 'expression' },
19
+
20
+ { name: 'layout_note', type: 'note', label: 'Layout' },
21
+ { name: 'orientation', label: 'Orientation', type: 'select', options: ['horizontal', 'vertical'] },
22
+ { name: 'labelPosition', label: 'Label Position', type: 'select', options: ['below', 'above'] },
23
+
24
+ { name: 'dot_note', type: 'note', label: 'Dot',
25
+ text: '"auto" — done steps show ✓, active shows a pulse ring, errors show ✕, pending renders as an outlined ring.\n"filled" — always solid circle.\n"ring" — always outlined ring, no glyphs.' },
26
+ { name: 'dotStyle', label: 'Dot Style', type: 'select', options: ['auto', 'filled', 'ring'] },
27
+ { name: 'size', label: 'Dot Size (px)', type: 'expression', placeholder: 'default: 28' },
28
+ { name: 'showNumbers', label: 'Show Numbers', type: 'boolean' },
29
+
30
+ { name: 'label_note', type: 'note', label: 'Labels' },
31
+ { name: 'showLabels', label: 'Show Labels', type: 'boolean' },
32
+ { name: 'showDesc', label: 'Show Description', type: 'boolean' },
33
+ { name: 'fontSize', label: 'Font Size', type: 'expression', placeholder: 'default: 12' },
34
+
35
+ { name: 'line_note', type: 'note', label: 'Connector Line' },
36
+ { name: 'lineColor', label: 'Line Color', type: 'expression', placeholder: 'default: #e0e0e0' },
37
+ { name: 'lineStyle', label: 'Line Style', type: 'select', options: ['solid', 'dashed'] },
38
+ { name: 'filledLine', label: 'Filled Line (done→done)', type: 'boolean' },
39
+
40
+ {
41
+ name: 'color_note', type: 'note', label: 'Coloring',
42
+ text: 'Priority: colorMap (explicit status→color) → Color Schema → thresholds → built-in status keywords → active/done/pending colors.',
43
+ },
44
+ { name: 'colorSchema', label: 'Color Schema', type: 'color-schema' },
45
+ { name: 'activeColor', label: 'Active Color', type: 'expression', placeholder: 'default: #1976d2' },
46
+ { name: 'doneColor', label: 'Done Color', type: 'expression', placeholder: 'default: #4caf50' },
47
+ { name: 'pendingColor', label: 'Pending Color', type: 'expression', placeholder: 'default: #e0e0e0' },
48
+ { name: 'warningColor', label: 'Warning Color', type: 'expression', placeholder: 'default: #ff9800' },
49
+ { name: 'errorColor', label: 'Error Color', type: 'expression', placeholder: 'default: #f44336' },
50
+ { name: 'thresholds', label: 'Thresholds', type: 'thresholds-editor' },
51
+ {
52
+ name: 'colormap_note', type: 'note', label: 'Color Map',
53
+ text: 'Map statusField string values to colors or MUI palette keys. Takes highest priority.',
54
+ },
55
+ { name: 'colorMap', label: 'Color Map (JSON)', type: 'expression', placeholder: '{"done":"#4caf50","blocked":"#f44336"}' },
56
+
57
+ {
58
+ name: 'actions_note', type: 'note', label: 'Actions',
59
+ text: 'Fires when a user clicks a step. Available in the action:\n clickedItem — the full step object\n clickedIndex — position in the array (0-based)\n clickedId — the step\'s id field value\n clickedLabel — the step\'s label\n clickedStatus — the step\'s status field value\n\nUse setData to advance the current step:\n setData(prev => ({ ...prev, currentStep: clickedId }))',
60
+ },
61
+ {
62
+ name: 'onStepClick', type: 'kpi-action', label: 'On Step Click',
63
+ context: ['clickedItem', 'clickedIndex', 'clickedId', 'clickedLabel', 'clickedStatus'],
64
+ },
65
+ ]
@@ -0,0 +1,32 @@
1
+ export const TAG_LIST_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Bind dataKey to an array of strings or objects.' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: 'Plain strings:\n{ "skills": ["React", "Node.js", "GraphQL"] }\n→ dataKey: "skills"\n\nObjects:\n{ "tags": [\n { "label": "Urgent", "color": "#e53935" },\n { "label": "Bug", "color": "#fb8c00" }\n] }\n→ dataKey: "tags", labelField: "label", colorField: "color"\n\nColor priority: colorField → colorMap → threshold → Color Schema',
6
+ },
7
+ { name: 'dataKey', label: 'Data Key', type: 'expression' },
8
+ { name: 'labelField', label: 'Label Field', type: 'expression', placeholder: 'default: label' },
9
+ { name: 'colorField', label: 'Color Field', type: 'expression', placeholder: 'per-item color override' },
10
+
11
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
12
+ { name: 'colorSchema', label: 'Color Schema', type: 'color-schema' },
13
+ { name: 'variant', label: 'Variant', type: 'select', options: ['soft','outlined','filled'] },
14
+ { name: 'size', label: 'Size', type: 'select', options: ['small','medium','large'] },
15
+ { name: 'maxTags', label: 'Max Tags', type: 'expression' },
16
+ { name: 'gap', label: 'Gap (px)', type: 'expression' },
17
+ { name: 'wrap', label: 'Wrap Tags', type: 'boolean' },
18
+ { name: 'align', label: 'Align', type: 'select', options: ['left','center','right'] },
19
+
20
+ { name: 'colormap_note', type: 'note', label: 'Color Map', text: 'Map label values to MUI palette colors. Takes priority over Color Schema.' },
21
+ { name: 'colorMap', label: 'Color Map (JSON)', type: 'expression', placeholder: '{"Urgent":"error","Done":"success"}' },
22
+ { name: 'thresholds', label: 'Thresholds (color by value)', type: 'thresholds-editor' },
23
+
24
+ {
25
+ name: 'actions_note', type: 'note', label: 'Actions',
26
+ text: 'Fires when a user clicks a tag chip. Available in the action:\n clickedItem — the raw item (string or object)\n clickedTag — alias for clickedItem\n clickedLabel — the tag\'s display text\n clickedValue — the tag\'s value field (if objects)\n clickedIndex — position in the array',
27
+ },
28
+ {
29
+ name: 'onTagClick', type: 'kpi-action', label: 'On Tag Click',
30
+ context: ['clickedItem', 'clickedTag', 'clickedLabel', 'clickedValue', 'clickedIndex'],
31
+ },
32
+ ]
@@ -0,0 +1,80 @@
1
+ export const TIMELINE_FIELDS = [
2
+ {
3
+ name: 'data_note', type: 'note', label: 'Data',
4
+ text: 'Bind dataKey to an array of event/milestone objects.',
5
+ },
6
+ {
7
+ name: 'data_example', type: 'note', label: 'Expected data shape',
8
+ text: '[\n {\n "label": "Design review",\n "date": "Jan 28, 2025",\n "status": "done",\n "description": "UI approved by product team.",\n "value": "100%"\n },\n {\n "label": "Development sprint",\n "date": "Feb 10, 2025",\n "status": "active",\n "description": "Frontend 60% complete.",\n "value": "60%"\n },\n {\n "label": "QA & testing",\n "date": "Feb 24, 2025",\n "status": "pending"\n }\n]\n\nBuilt-in status keywords:\n done / success / completed / approved / closed\n active / current / in-progress / running\n warning / at-risk / delayed\n error / failed / rejected / blocked\n pending / todo / future / planned',
9
+ },
10
+
11
+ { name: 'dataKey', label: 'Data Key', type: 'expression' },
12
+ { name: 'labelField', label: 'Label Field', type: 'expression', placeholder: 'default: label' },
13
+ { name: 'dateField', label: 'Date Field', type: 'expression', placeholder: 'default: date' },
14
+ { name: 'statusField', label: 'Status Field', type: 'expression', placeholder: 'default: status' },
15
+ { name: 'descField', label: 'Description Field', type: 'expression', placeholder: 'default: description' },
16
+ { name: 'valueField', label: 'Value Field', type: 'expression', placeholder: 'optional — shown right of title' },
17
+ { name: 'iconField', label: 'Icon Field', type: 'expression', placeholder: 'optional — emoji/char inside dot' },
18
+ { name: 'maxItems', label: 'Max Items', type: 'expression' },
19
+
20
+ { name: 'layout_note', type: 'note', label: 'Layout' },
21
+ {
22
+ name: 'layout', label: 'Layout', type: 'select',
23
+ options: ['left', 'right', 'alternate'],
24
+ },
25
+ {
26
+ name: 'density', label: 'Density', type: 'select',
27
+ options: ['comfortable', 'compact'],
28
+ },
29
+
30
+ { name: 'dot_note', type: 'note', label: 'Dot',
31
+ text: '"auto" — pending items render as an outlined ring, done items show ✓, active shows a pulse ring, errors show ✕.\n"filled" — always solid circle.\n"ring" — always outlined ring.' },
32
+ {
33
+ name: 'dotStyle', label: 'Dot Style', type: 'select',
34
+ options: ['auto', 'filled', 'ring'],
35
+ },
36
+ { name: 'dotSize', label: 'Dot Size (px)', type: 'expression', placeholder: 'default: 10' },
37
+
38
+ { name: 'line_note', type: 'note', label: 'Connector Line' },
39
+ { name: 'lineColor', label: 'Line Color', type: 'expression', placeholder: 'default: #e0e0e0' },
40
+ { name: 'lineWidth', label: 'Line Width (px)', type: 'expression', placeholder: 'default: 2' },
41
+ { name: 'lineStyle', label: 'Line Style', type: 'select', options: ['solid', 'dashed'] },
42
+ { name: 'filledLine', label: 'Filled Line (done→done)', type: 'boolean' },
43
+
44
+ {
45
+ name: 'active_note', type: 'note', label: 'Active Item Indicator',
46
+ text: 'Highlights the "current" item with a colored left accent bar and tinted background.\n\nTwo modes:\n① Auto — any item whose status is "active" / "current" / "in-progress" is highlighted automatically.\n② Explicit — set Active Key to a data value (e.g. data.currentStep) and Active Field to the item field to match against (e.g. "id" or "label"). The item whose field equals that value is highlighted.',
47
+ },
48
+ { name: 'activeKey', label: 'Active Key', type: 'expression', placeholder: 'e.g. data.currentStep — value to match' },
49
+ { name: 'activeField', label: 'Active Field', type: 'expression', placeholder: 'item field to compare (e.g. id, label)' },
50
+ { name: 'activeColor', label: 'Active Color', type: 'expression', placeholder: 'default: #1976d2' },
51
+ { name: 'showActiveLine', label: 'Show Accent Bar', type: 'boolean' },
52
+
53
+ { name: 'display_note', type: 'note', label: 'Display' },
54
+ { name: 'showDate', label: 'Show Date', type: 'boolean' },
55
+ { name: 'showBadge', label: 'Show Status Badge', type: 'boolean' },
56
+ { name: 'showValue', label: 'Show Value', type: 'boolean' },
57
+
58
+ { name: 'fmt_note', type: 'note', label: 'Value Format' },
59
+ { name: 'format', label: 'Format', type: 'select', options: ['number','currency','percent','compact'] },
60
+ { name: 'prefix', label: 'Prefix', type: 'expression' },
61
+ { name: 'suffix', label: 'Suffix', type: 'expression' },
62
+
63
+ {
64
+ name: 'color_note', type: 'note', label: 'Coloring',
65
+ text: 'Priority: colorMap (explicit status→color) → thresholds → built-in status colors → Color Schema → defaultColor.',
66
+ },
67
+ { name: 'colorSchema', label: 'Color Schema', type: 'color-schema' },
68
+ { name: 'defaultColor', label: 'Default Dot Color', type: 'expression', placeholder: '#bdbdbd' },
69
+ { name: 'colorMap', label: 'Color Map (JSON)', type: 'expression', placeholder: '{"done":"success","pending":"warning"}' },
70
+ { name: 'thresholds', label: 'Thresholds', type: 'thresholds-editor' },
71
+
72
+ {
73
+ name: 'actions_note', type: 'note', label: 'Actions',
74
+ text: 'Fires when a user clicks a timeline item. Available in the action:\n clickedItem — the full event/milestone object\n clickedIndex — position in the array\n clickedLabel — the item\'s label\n clickedStatus — the item\'s status field value\n clickedValue — the item\'s value field (if configured)',
75
+ },
76
+ {
77
+ name: 'onItemClick', type: 'kpi-action', label: 'On Item Click',
78
+ context: ['clickedItem', 'clickedIndex', 'clickedLabel', 'clickedStatus', 'clickedValue'],
79
+ },
80
+ ]
@@ -0,0 +1,20 @@
1
+ export const TREND_FIELDS = [
2
+ { name: 'data_note', type: 'note', label: 'Data', text: 'Reads a delta value from data[valueKey]. Positive = up, negative = down.' },
3
+ {
4
+ name: 'data_example', type: 'note', label: 'Expected data shape',
5
+ text: '{ "revenueDelta": 12.4 } ← percent change\n{ "countDelta": -3 } ← absolute change\n→ valueKey: "revenueDelta", isPercent: true',
6
+ },
7
+ { name: 'valueKey', label: 'Value Key', type: 'expression' },
8
+ { name: 'label', label: 'Label', type: 'expression', placeholder: 'e.g. vs last month' },
9
+
10
+ { name: 'fmt_note', type: 'note', label: 'Format' },
11
+ { name: 'isPercent', label: 'Value is Percent', type: 'boolean' },
12
+ { name: 'decimals', label: 'Decimals', type: 'expression' },
13
+ { name: 'invertColors', label: 'Invert Colors (down = good)', type: 'boolean' },
14
+
15
+ { name: 'appearance_note', type: 'note', label: 'Appearance' },
16
+ { name: 'variant', label: 'Variant', type: 'select', options: ['chip','text','inline'] },
17
+ { name: 'size', label: 'Size', type: 'select', options: ['small','medium','large'] },
18
+ { name: 'showIcon', label: 'Show Icon', type: 'boolean' },
19
+ { name: 'align', label: 'Align', type: 'select', options: ['left','center','right'] },
20
+ ]
@@ -1,5 +1,14 @@
1
1
  export const LABEL_MAIN_FIELDS = [
2
- { name: 'text', label: 'Text', type: 'expression' },
2
+ { name: 'text', label: 'Text', type: 'expression' },
3
+ { name: 'prefix', label: 'Prefix', type: 'icon' },
4
+ { name: 'suffix', label: 'Suffix', type: 'icon' },
5
+ { name: 'iconSize', label: 'Icon Size', type: 'expression' },
6
+ { name: 'iconColor', label: 'Icon Color', type: 'expression' },
7
+ { name: 'prefixSize', label: 'Prefix Size', type: 'expression' },
8
+ { name: 'prefixColor', label: 'Prefix Color', type: 'expression' },
9
+ { name: 'suffixSize', label: 'Suffix Size', type: 'expression' },
10
+ { name: 'suffixColor', label: 'Suffix Color', type: 'expression' },
11
+ { name: 'iconGap', label: 'Icon Gap', type: 'expression' },
3
12
  {
4
13
  name: 'variant',
5
14
  label: 'Variant',
@@ -1,6 +1,30 @@
1
1
  export const LAYOUT_MAIN_FIELDS = [
2
- { name: 'key', label: 'Key', type: 'expression' },
3
- { name: 'cols', label: 'Columns', type: 'number' },
4
- { name: 'gap', label: 'Gap (px)', type: 'number' },
2
+ { name: 'key', label: 'Key', type: 'expression' },
3
+ { name: 'cols', label: 'Columns', type: 'number' },
4
+ { name: 'gap', label: 'Gap (px)', type: 'number' },
5
5
  { name: 'rowGap', label: 'Row Gap (px)', type: 'number' },
6
+
7
+ // ── Default Cell Style ────────────────────────────────────────────────────
8
+ // These apply to every cell unless overridden by the cell's own style tab.
9
+ { name: 'cellMinHeight', label: 'Cell Min Height', type: 'expression' },
10
+ { name: 'cellPadding', label: 'Cell Padding', type: 'expression' },
11
+ { name: 'cellBackgroundColor', label: 'Cell Background', type: 'expression' },
12
+ { name: 'cellBorder', label: 'Cell Border', type: 'expression' },
13
+ { name: 'cellBorderRadius', label: 'Cell Border Radius', type: 'expression' },
14
+ { name: 'cellBoxShadow', label: 'Cell Box Shadow', type: 'expression' },
15
+ {
16
+ name: 'cellJustifyContent',
17
+ label: 'Cell Justify Content',
18
+ type: 'select',
19
+ options: ['flex-start', 'center', 'flex-end', 'space-between', 'space-around', 'space-evenly'],
20
+ },
21
+ {
22
+ name: 'cellAlignItems',
23
+ label: 'Cell Align Items',
24
+ type: 'select',
25
+ options: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],
26
+ },
27
+ // Advanced: arbitrary style overrides (merged last, highest priority among grid defaults)
28
+ { name: 'cellElementStyle', label: 'Cell Element Style', type: 'expression' },
29
+ { name: 'cellElementCss', label: 'Cell Element Css', type: 'expression' },
6
30
  ]
@@ -1,23 +1,15 @@
1
+ import { LABEL_POSITION_FIELDS } from '../common/main'
2
+
1
3
  export const NUMBER_MAIN_FIELDS = [
2
4
  { name: 'key', label: 'Key', type: 'expression' },
3
5
  { name: 'label', label: 'Label', type: 'expression' },
6
+ ...LABEL_POSITION_FIELDS,
4
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
- },
9
+ { name: 'size', label: 'Size', type: 'select', options: ['small', 'medium', 'large'] },
12
10
  { name: 'disabled', label: 'Disabled', type: 'boolean' },
13
11
  { name: 'enabled', label: 'Enabled', type: 'boolean' },
14
- // Number format specific props
15
- {
16
- name: 'formatType',
17
- label: 'Format Type',
18
- type: 'select',
19
- options: ['decimal', 'currency', 'percentage', 'custom']
20
- },
12
+ { name: 'formatType', label: 'Format Type', type: 'select', options: ['decimal', 'currency', 'percentage', 'custom'] },
21
13
  { name: 'decimalScale', label: 'Decimal Scale', type: 'expression', placeholder: '2' },
22
14
  { name: 'fixedDecimalScale', label: 'Fixed Decimal Scale', type: 'boolean' },
23
15
  { name: 'thousandSeparator', label: 'Thousand Separator', type: 'boolean' },
@@ -25,5 +17,5 @@ export const NUMBER_MAIN_FIELDS = [
25
17
  { name: 'prefix', label: 'Prefix', type: 'text' },
26
18
  { name: 'suffix', label: 'Suffix', type: 'text' },
27
19
  { name: 'allowNegative', label: 'Allow Negative', type: 'boolean' },
28
- { name: 'format', label: 'Custom Format', type: 'text', placeholder: '#### #### #### ####' }
20
+ { name: 'format', label: 'Custom Format', type: 'text', placeholder: '#### #### #### ####' },
29
21
  ]
@@ -0,0 +1,21 @@
1
+ export const PAGE_NUMBER_MAIN_FIELDS = [
2
+ {
3
+ name: 'format_note',
4
+ type: 'note',
5
+ label: 'Tokens',
6
+ text: '{page} → current page number\n{pages} → total pages\n\nExample: "Page {page} of {pages}"',
7
+ },
8
+ {
9
+ name: 'format',
10
+ label: 'Format',
11
+ type: 'expression',
12
+ },
13
+ {
14
+ name: 'align',
15
+ label: 'Align',
16
+ type: 'select',
17
+ options: ['left', 'center', 'right'],
18
+ },
19
+ { name: 'fontSize', label: 'Font Size', type: 'expression' },
20
+ { name: 'color', label: 'Color', type: 'expression' },
21
+ ]
@@ -0,0 +1,71 @@
1
+ export const POPOVER_MAIN_FIELDS = [
2
+ { name: 'key', label: 'Key', type: 'expression' },
3
+
4
+ // ── Trigger ────────────────────────────────────────────────────────────────
5
+ {
6
+ name: 'triggerType',
7
+ label: 'Trigger Type',
8
+ type: 'select',
9
+ options: ['button', 'icon-button', 'text'],
10
+ },
11
+ { name: 'triggerLabel', label: 'Trigger Label', type: 'expression' },
12
+ {
13
+ name: 'triggerVariant',
14
+ label: 'Trigger Variant',
15
+ type: 'select',
16
+ options: ['text', 'outlined', 'contained'],
17
+ },
18
+ {
19
+ name: 'triggerColor',
20
+ label: 'Trigger Color',
21
+ type: 'select',
22
+ options: ['primary', 'secondary', 'success', 'error', 'warning', 'info', 'inherit'],
23
+ },
24
+ {
25
+ name: 'triggerSize',
26
+ label: 'Trigger Size',
27
+ type: 'select',
28
+ options: ['small', 'medium', 'large'],
29
+ },
30
+ {
31
+ name: 'triggerIcon',
32
+ label: 'Trigger Icon',
33
+ type: 'select',
34
+ options: [
35
+ '', 'MoreVertOutlined', 'SettingsOutlined', 'TuneOutlined',
36
+ 'FilterListOutlined', 'SearchOutlined', 'InfoOutlined', 'AddOutlined',
37
+ 'EditOutlined', 'DeleteOutlined', 'DownloadOutlined', 'ExpandMoreOutlined',
38
+ 'CheckOutlined', 'CloseOutlined', 'RefreshOutlined', 'StarOutlined',
39
+ 'LockOutlined', 'LockOpenOutlined',
40
+ ],
41
+ },
42
+ { name: 'triggerFullWidth', label: 'Trigger Full Width', type: 'boolean' },
43
+
44
+ // ── Popover ────────────────────────────────────────────────────────────────
45
+ { name: 'title', label: 'Popover Title', type: 'expression' },
46
+ {
47
+ name: 'placement',
48
+ label: 'Placement',
49
+ type: 'select',
50
+ options: [
51
+ 'bottom-start', 'bottom', 'bottom-end',
52
+ 'top-start', 'top', 'top-end',
53
+ 'left', 'right',
54
+ ],
55
+ },
56
+ {
57
+ name: 'triggerOn',
58
+ label: 'Trigger On',
59
+ type: 'select',
60
+ options: ['click', 'hover'],
61
+ },
62
+ {
63
+ name: 'open',
64
+ label: 'Controlled Open',
65
+ type: 'expression',
66
+ },
67
+ { name: 'maxWidth', label: 'Max Width (px)', type: 'expression' },
68
+ { name: 'maxHeight', label: 'Max Height (px)', type: 'expression' },
69
+ { name: 'contentPadding', label: 'Content Padding', type: 'expression' },
70
+ { name: 'closeOnContentClick', label: 'Close On Content Click', type: 'boolean' },
71
+ ]
@@ -1,16 +1,13 @@
1
+ import { LABEL_POSITION_FIELDS } from '../common/main'
2
+
1
3
  export const RADIO_MAIN_FIELDS = [
2
4
  { name: 'key', label: 'Key', type: 'expression' },
3
5
  { name: 'label', label: 'Label', type: 'expression' },
6
+ ...LABEL_POSITION_FIELDS,
4
7
  { name: 'value', label: 'Value', type: 'expression' },
5
- {
6
- name: 'size',
7
- label: 'Size',
8
- type: 'select',
9
- options: ['small', 'medium', 'large']
10
- },
8
+ { name: 'size', label: 'Size', type: 'select', options: ['small', 'medium', 'large'] },
11
9
  { name: 'disabled', label: 'Disabled', type: 'boolean' },
12
10
  { name: 'enabled', label: 'Enabled', type: 'boolean' },
13
- // Radio-specific props
14
11
  { name: 'options', label: 'Options', type: 'options-editor' },
15
- { name: 'row', label: 'Horizontal Layout', type: 'boolean' }
12
+ { name: 'row', label: 'Horizontal Layout', type: 'boolean' },
16
13
  ]
@@ -0,0 +1,31 @@
1
+ export const REPEATER_MAIN_FIELDS = [
2
+ { name: 'key', label: 'Key', type: 'expression' },
3
+ // ── Data ──────────────────────────────────────────────────────────────────
4
+ // Array of objects to iterate over. Each element is exposed as `dataItem`
5
+ // and its position as `itemIndex` inside the template expressions.
6
+ { name: 'items', label: 'Items', type: 'expression' },
7
+ // Fixed repetition count — used when `items` is not set (or is empty).
8
+ // The repeater generates this many empty item slots.
9
+ { name: 'count', label: 'Count', type: 'expression' },
10
+ // Parent data key where item values are stored/read back.
11
+ // When set, each item gets a scoped data/setData so that input fields
12
+ // inside the Repeater write to data[dataKey][index], and the full array
13
+ // is readable in the main view as data[dataKey].
14
+ { name: 'dataKey', label: 'Data Key', type: 'expression' },
15
+ // Property path on each item to use as the React key (e.g. "id").
16
+ // Falls back to index when not set.
17
+ { name: 'itemKey', label: 'Item Key', type: 'expression' },
18
+ // ── Widget template (optional) ────────────────────────────────────────────
19
+ // When set, the repeater fetches this widget by ID and renders it as the
20
+ // item template instead of any inline children. The widget schema is loaded
21
+ // once and reused for every item.
22
+ { name: 'widgetId', label: 'Widget ID', type: 'expression' },
23
+ // ── Layout ────────────────────────────────────────────────────────────────
24
+ {
25
+ name: 'direction',
26
+ label: 'Direction',
27
+ type: 'select',
28
+ options: ['vertical', 'horizontal', 'wrap'],
29
+ },
30
+ { name: 'gap', label: 'Gap', type: 'expression' },
31
+ ]
@@ -1,12 +1,39 @@
1
1
  export const REPORT_VIEWER_MAIN_FIELDS = [
2
+ { name: 'key', label: 'Key', type: 'expression' },
2
3
  { name: 'id', label: 'Report ID', type: 'expression' },
3
4
  { name: 'pageId', label: 'Page ID', type: 'expression' },
4
5
  { name: 'filter', label: 'Filter', type: 'expression' },
6
+
7
+ // Presentation — title/caption render above the toolbar in the viewer.
8
+ // Both accept expressions so they can be data-bound (e.g. `${data.month} report`).
9
+ { name: 'title', label: 'Title', type: 'expression' },
10
+ { name: 'caption', label: 'Caption', type: 'expression' },
11
+
5
12
  { name: 'minimized', label: 'Minimized', type: 'boolean' },
13
+ { name: 'isRerender', label: 'Is Rerender', type: 'boolean' },
14
+ { name: 'height', label: 'Height', type: 'expression' },
6
15
  { name: 'isSingle', label: 'Single', type: 'boolean' },
7
16
  { name: 'noHeader', label: 'No Header', type: 'boolean' },
8
17
  { name: 'refresh', label: 'Refresh', type: 'boolean' },
9
18
  { name: 'dataAsObject', label: 'Data As Object', type: 'boolean' },
10
19
  { name: 'externalTimer', label: 'External Timer', type: 'expression' },
11
- { name: 'sessionId', label: 'Session ID', type: 'expression' }
20
+ { name: 'sessionId', label: 'Session ID', type: 'expression' },
21
+ // Extra columns: full AG Grid colDef objects added as new columns to the grid.
22
+ // Shape: [{ headerName, field, pinned?, width?, editable?, cellRenderer?, valueSetter?, ... }]
23
+ { name: 'extraCols', label: 'Extra Columns', type: 'extra-cols-editor' },
24
+ // Column config: overrides applied to existing columns, matched by field name.
25
+ // Shape: [{ field: string, config: { editable?, valueSetter?, valueGetter?, ... } }]
26
+ { name: 'columnsConfig', label: 'Columns Config', type: 'columns-config-editor' },
27
+
28
+ // Row actions: buttons shown in a popover when the user clicks the Actions cell.
29
+ // Shape: [{ label, color, variant, icon, code, confirmation?, disabled? }]
30
+ // Inside each Calculation, data.row is the current AG Grid row object.
31
+ { name: 'actionsConfig', label: 'Row Actions', type: 'actions-config-editor' },
32
+
33
+ // Viewer actions: buttons rendered in the toolbar after the Filter / Refresh
34
+ // buttons. Same shape as Row Actions, except each Calculation runs WITHOUT a
35
+ // row context — they're page-level actions for the whole report (e.g.
36
+ // "Export PDF", "Open New Tab", "Reset filters", etc.).
37
+ // Shape: [{ label, color, variant, icon, code, confirmation?, disabled? }]
38
+ { name: 'viewerActions', label: 'Viewer Actions', type: 'actions-config-editor' },
12
39
  ]
@@ -1,21 +1,18 @@
1
+ import { LABEL_POSITION_FIELDS } from '../common/main'
2
+
1
3
  export const RICHTEXT_MAIN_FIELDS = [
2
4
  { name: 'key', label: 'Key', type: 'expression' },
3
5
  { name: 'label', label: 'Label', type: 'expression' },
6
+ ...LABEL_POSITION_FIELDS,
4
7
  { name: 'value', label: 'Value', type: 'expression' },
5
8
  { name: 'placeholder', label: 'Placeholder', type: 'text' },
6
9
  { name: 'disabled', label: 'Disabled', type: 'boolean' },
7
10
  { name: 'enabled', label: 'Enabled', type: 'boolean' },
8
- // Rich text editor specific props
9
11
  { name: 'height', label: 'Editor Height', type: 'text', placeholder: '300px' },
10
- {
11
- name: 'mode',
12
- label: 'Editor Mode',
13
- type: 'select',
14
- options: ['classic', 'inline', 'balloon', 'balloon-always']
15
- },
12
+ { name: 'mode', label: 'Editor Mode', type: 'select', options: ['classic', 'inline', 'balloon', 'balloon-always'] },
16
13
  { name: 'toolbar', label: 'Toolbar Buttons', type: 'expression' },
17
14
  { name: 'resizingBar', label: 'Resizing Bar', type: 'boolean' },
18
15
  { name: 'showPathLabel', label: 'Show Path Label', type: 'boolean' },
19
16
  { name: 'charCounter', label: 'Character Counter', type: 'boolean' },
20
- { name: 'maxCharCount', label: 'Max Character Count', type: 'expression' }
17
+ { name: 'maxCharCount', label: 'Max Character Count', type: 'expression' },
21
18
  ]
@@ -1,6 +1,9 @@
1
+ import { LABEL_POSITION_FIELDS } from '../common/main'
2
+
1
3
  export const SIGNATURE_MAIN_FIELDS = [
2
4
  { name: 'key', label: 'Key', type: 'expression' },
3
5
  { name: 'label', label: 'Label', type: 'expression' },
6
+ ...LABEL_POSITION_FIELDS,
4
7
  { name: 'value', label: 'Value', type: 'expression' },
5
8
  { name: 'width', label: 'Canvas Width', type: 'number', defaultValue: 500 },
6
9
  { name: 'height', label: 'Canvas Height', type: 'number', defaultValue: 200 },
@@ -9,5 +12,5 @@ export const SIGNATURE_MAIN_FIELDS = [
9
12
  { name: 'minWidth', label: 'Min Pen Width', type: 'number', defaultValue: 0.5 },
10
13
  { name: 'maxWidth', label: 'Max Pen Width', type: 'number', defaultValue: 2.5 },
11
14
  { name: 'disabled', label: 'Disabled', type: 'boolean' },
12
- { name: 'enabled', label: 'Enabled', type: 'boolean' }
15
+ { name: 'enabled', label: 'Enabled', type: 'boolean' },
13
16
  ]
@@ -1,17 +1,14 @@
1
+ import { LABEL_POSITION_FIELDS } from '../common/main'
2
+
1
3
  export const TAG_MAIN_FIELDS = [
2
4
  { name: 'key', label: 'Key', type: 'expression' },
3
5
  { name: 'label', label: 'Label', type: 'expression' },
6
+ ...LABEL_POSITION_FIELDS,
4
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
- },
9
+ { name: 'size', label: 'Size', type: 'select', options: ['small', 'medium', 'large'] },
12
10
  { name: 'disabled', label: 'Disabled', type: 'boolean' },
13
11
  { name: 'enabled', label: 'Enabled', type: 'boolean' },
14
- // Tag picker-specific props
15
12
  { name: 'options', label: 'Options', type: 'options-editor' },
16
- { name: 'freeSolo', label: 'Allow Custom Tags', type: 'boolean' }
13
+ { name: 'freeSolo', label: 'Allow Custom Tags', type: 'boolean' },
17
14
  ]
@@ -1 +1,4 @@
1
- export const TEXTAREA_ACTIONS_FIELDS = []
1
+ export const TEXTAREA_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
+ ]