@wavemaker-ai/react-runtime 1.0.0-rc.312 → 1.0.0-rc.317

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 (593) hide show
  1. package/.npmignore +4 -0
  2. package/actions/base-action.js +12 -29
  3. package/actions/login-action.js +35 -52
  4. package/actions/logout-action.js +21 -38
  5. package/actions/navigation-action.d.ts +1 -0
  6. package/actions/navigation-action.js +275 -345
  7. package/actions/notification-action.js +121 -149
  8. package/actions/timer-action.js +95 -151
  9. package/actions/toast-provider.js +62 -76
  10. package/actions/toast.js +95 -91
  11. package/actions/toast.service.js +59 -79
  12. package/actions/types/index.js +6 -9
  13. package/components/advanced/carousel/index.js +358 -366
  14. package/components/advanced/carousel/props.js +0 -5
  15. package/components/advanced/carousel/template.js +102 -80
  16. package/components/advanced/login/index.js +227 -285
  17. package/components/advanced/login/props.js +0 -5
  18. package/components/advanced/marquee/index.js +169 -163
  19. package/components/advanced/marquee/props.js +0 -5
  20. package/components/auth/RoleAuthGuard.d.ts +6 -0
  21. package/components/auth/RoleAuthGuard.js +65 -0
  22. package/components/basic/anchor/index.js +207 -187
  23. package/components/basic/anchor/props.js +0 -5
  24. package/components/basic/audio/index.js +110 -72
  25. package/components/basic/audio/props.js +0 -5
  26. package/components/basic/html/index.js +163 -203
  27. package/components/basic/html/props.js +0 -5
  28. package/components/basic/html/utils.js +30 -28
  29. package/components/basic/icon/index.js +98 -84
  30. package/components/basic/icon/props.js +0 -5
  31. package/components/basic/iframe/iframe.utils.js +7 -16
  32. package/components/basic/iframe/index.js +97 -103
  33. package/components/basic/iframe/props.js +0 -5
  34. package/components/basic/label/index.js +156 -134
  35. package/components/basic/label/props.js +0 -5
  36. package/components/basic/message/index.js +129 -113
  37. package/components/basic/message/props.js +0 -5
  38. package/components/basic/picture/index.js +156 -127
  39. package/components/basic/picture/props.js +0 -5
  40. package/components/basic/progress-bar/index.js +240 -176
  41. package/components/basic/progress-bar/props.js +5 -31
  42. package/components/basic/progress-circle/index.js +166 -183
  43. package/components/basic/progress-circle/props.js +14 -34
  44. package/components/basic/richtexteditor/index.js +430 -396
  45. package/components/basic/richtexteditor/props.js +0 -5
  46. package/components/basic/search/index.js +813 -931
  47. package/components/basic/search/props.js +0 -5
  48. package/components/basic/search/providers.js +233 -380
  49. package/components/basic/spinner/index.js +210 -200
  50. package/components/basic/spinner/props.js +4 -22
  51. package/components/basic/tile/index.js +73 -81
  52. package/components/basic/tile/props.js +0 -5
  53. package/components/basic/tree/Components/TreeNodeComponent.d.ts +1 -1
  54. package/components/basic/tree/Components/TreeNodeComponent.js +244 -170
  55. package/components/basic/tree/hooks/useTreePartialNodeApi.js +143 -135
  56. package/components/basic/tree/hooks/useTreePersistedState.d.ts +3 -0
  57. package/components/basic/tree/hooks/useTreePersistedState.js +38 -0
  58. package/components/basic/tree/index.d.ts +1 -0
  59. package/components/basic/tree/index.js +453 -454
  60. package/components/basic/tree/props.d.ts +18 -1
  61. package/components/basic/tree/props.js +0 -5
  62. package/components/basic/tree/utils.d.ts +16 -1
  63. package/components/basic/tree/utils.js +240 -185
  64. package/components/basic/video/index.js +161 -107
  65. package/components/basic/video/props.js +0 -5
  66. package/components/chart/index.js +42 -50
  67. package/components/chart/props.js +31 -37
  68. package/components/chart/src/ChartRenderer.js +172 -154
  69. package/components/chart/src/chart.js +391 -213
  70. package/components/chart/src/chartStyles.generated.js +6 -14
  71. package/components/chart/src/chartUtils.js +228 -272
  72. package/components/chart/src/constants.d.ts +13 -0
  73. package/components/chart/src/constants.js +316 -90
  74. package/components/chart/src/d3Setup.js +11 -30
  75. package/components/chart/src/dataUtils.js +363 -447
  76. package/components/chart/src/formatUtils.js +47 -38
  77. package/components/chart/src/index.js +11 -19
  78. package/components/chart/src/nvd3Source.generated.js +5 -13
  79. package/components/chart/src/pieDonutResponsiveLayout.d.ts +5 -0
  80. package/components/chart/src/pieDonutResponsiveLayout.js +76 -96
  81. package/components/chart/src/types.js +0 -5
  82. package/components/common/AppSpinner.js +17 -33
  83. package/components/common/app-spinner.js +11 -22
  84. package/components/common/customTemplate/index.d.ts +3 -0
  85. package/components/common/customTemplate/index.js +6 -0
  86. package/components/common/customTemplate/props.d.ts +20 -0
  87. package/components/common/customTemplate/props.js +0 -0
  88. package/components/common/customTemplate/template.d.ts +3 -0
  89. package/components/common/customTemplate/template.js +27 -0
  90. package/components/common/customTemplate/useCustomTemplate.d.ts +8 -0
  91. package/components/common/customTemplate/useCustomTemplate.js +17 -0
  92. package/components/common/customTemplate/utils.d.ts +6 -0
  93. package/components/common/customTemplate/utils.js +12 -0
  94. package/components/common/index.js +4 -12
  95. package/components/constants.js +81 -77
  96. package/components/container/accordion/accordion-pane/index.js +105 -118
  97. package/components/container/accordion/accordion-pane/props.js +5 -21
  98. package/components/container/accordion/index.js +225 -243
  99. package/components/container/accordion/props.js +5 -16
  100. package/components/container/index.js +210 -155
  101. package/components/container/layout-grid/grid-column/index.js +69 -43
  102. package/components/container/layout-grid/grid-column/props.js +0 -5
  103. package/components/container/layout-grid/grid-row/index.js +12 -29
  104. package/components/container/layout-grid/grid-row/props.js +0 -5
  105. package/components/container/layout-grid/index.js +53 -38
  106. package/components/container/layout-grid/props.js +0 -5
  107. package/components/container/linear-layout/index.js +56 -60
  108. package/components/container/linear-layout/linear-layout-item/index.js +43 -47
  109. package/components/container/linear-layout/linear-layout-item/props.js +0 -5
  110. package/components/container/linear-layout/props.js +0 -5
  111. package/components/container/panel/components/panel-content/index.js +7 -16
  112. package/components/container/panel/components/panel-header/index.js +166 -146
  113. package/components/container/panel/components/panel-header/props.js +0 -5
  114. package/components/container/panel/hooks.js +76 -102
  115. package/components/container/panel/index.js +289 -252
  116. package/components/container/panel/props.js +0 -5
  117. package/components/container/props.js +0 -5
  118. package/components/container/repeat-template/index.js +65 -44
  119. package/components/container/repeat-template/props.js +0 -5
  120. package/components/container/tabs/index.js +517 -526
  121. package/components/container/tabs/props.js +5 -28
  122. package/components/container/tabs/tab-pane/index.js +105 -100
  123. package/components/container/tabs/tab-pane/props.js +0 -5
  124. package/components/container/tabs/utils.js +30 -35
  125. package/components/container/wizard/WizardContext.js +9 -11
  126. package/components/container/wizard/components/StepComponents.js +76 -99
  127. package/components/container/wizard/components/WizardStep.js +107 -85
  128. package/components/container/wizard/index.js +791 -921
  129. package/components/container/wizard/props.js +0 -5
  130. package/components/container/wizard/utils.js +97 -131
  131. package/components/container/wizard/wizard-action/index.js +41 -81
  132. package/components/container/wizard/wizard-step/index.js +140 -120
  133. package/components/data/card/card-actions/index.js +13 -31
  134. package/components/data/card/card-content/index.js +27 -36
  135. package/components/data/card/card-footer/index.js +13 -31
  136. package/components/data/card/index.js +192 -199
  137. package/components/data/card/props.js +0 -5
  138. package/components/data/form/base-form/constant.js +5 -8
  139. package/components/data/form/base-form/hooks/index.js +26 -77
  140. package/components/data/form/base-form/hooks/useFormDataSync.js +106 -212
  141. package/components/data/form/base-form/hooks/useFormOperations.js +109 -161
  142. package/components/data/form/base-form/hooks/useFormSubmission.js +220 -280
  143. package/components/data/form/base-form/hooks/useFormValidation.js +119 -168
  144. package/components/data/form/base-form/hooks/useParentFormRelationship.js +67 -103
  145. package/components/data/form/base-form/index.js +534 -647
  146. package/components/data/form/base-form/props.js +74 -151
  147. package/components/data/form/base-form/utils.js +210 -323
  148. package/components/data/form/dynamic-fields/constant.js +43 -53
  149. package/components/data/form/dynamic-fields/index.js +135 -144
  150. package/components/data/form/dynamic-fields/props.js +0 -5
  151. package/components/data/form/dynamic-fields/utils.js +99 -158
  152. package/components/data/form/form-action/index.js +107 -85
  153. package/components/data/form/form-body/index.js +52 -26
  154. package/components/data/form/form-context.js +43 -59
  155. package/components/data/form/form-controller/hooks/index.js +43 -57
  156. package/components/data/form/form-controller/props.js +5 -8
  157. package/components/data/form/form-controller/utils.js +54 -49
  158. package/components/data/form/form-controller/validation-contrustor.js +203 -426
  159. package/components/data/form/form-controller/withFormController.js +320 -274
  160. package/components/data/form/form-dynamic-section/index.js +47 -41
  161. package/components/data/form/form-dynamic-section/props.js +0 -5
  162. package/components/data/form/form-field/base-field.js +97 -109
  163. package/components/data/form/form-field/index.js +91 -82
  164. package/components/data/form/form-field/props.js +0 -5
  165. package/components/data/form/form-footer/index.js +52 -25
  166. package/components/data/form/form-header/index.js +61 -58
  167. package/components/data/form/index.js +95 -74
  168. package/components/data/form/props.js +0 -5
  169. package/components/data/list/components/GroupHeader.js +34 -33
  170. package/components/data/list/components/GroupedListItems.js +108 -104
  171. package/components/data/list/components/ListContainer.js +22 -27
  172. package/components/data/list/components/ListDND.js +193 -185
  173. package/components/data/list/components/ListHeader.js +32 -49
  174. package/components/data/list/components/ListItem.js +153 -146
  175. package/components/data/list/components/ListItemWithTemplate.js +87 -105
  176. package/components/data/list/components/ListItems.js +180 -194
  177. package/components/data/list/components/ListPagination.js +127 -153
  178. package/components/data/list/components/LoadMoreButton.js +25 -33
  179. package/components/data/list/components/NoDataMessage.js +9 -22
  180. package/components/data/list/components/StandardListItems.js +79 -85
  181. package/components/data/list/components/index.js +31 -119
  182. package/components/data/list/components/props.js +0 -5
  183. package/components/data/list/hooks/index.js +22 -75
  184. package/components/data/list/hooks/props.js +0 -5
  185. package/components/data/list/hooks/useCurrentPageItems.js +20 -38
  186. package/components/data/list/hooks/useGroupedData.js +19 -33
  187. package/components/data/list/hooks/useListData.js +17 -47
  188. package/components/data/list/hooks/useListEffects.js +168 -237
  189. package/components/data/list/hooks/useListEventHandlers.js +301 -285
  190. package/components/data/list/hooks/useListPagination.js +90 -136
  191. package/components/data/list/hooks/useListState.js +49 -91
  192. package/components/data/list/hooks/useListStateManager.js +104 -159
  193. package/components/data/list/hooks/usePaginatedGroupedData.js +74 -110
  194. package/components/data/list/index.d.ts +1 -0
  195. package/components/data/list/index.js +579 -621
  196. package/components/data/list/props.d.ts +4 -0
  197. package/components/data/list/props.js +0 -5
  198. package/components/data/list/templates/media-template.js +29 -50
  199. package/components/data/list/utils/constants.js +20 -32
  200. package/components/data/list/utils/list-helpers.d.ts +2 -1
  201. package/components/data/list/utils/list-helpers.js +71 -115
  202. package/components/data/list/utils/list-widget-methods.js +56 -76
  203. package/components/data/list/utils/widget-instance-utils.js +20 -57
  204. package/components/data/live-filter/index.js +219 -271
  205. package/components/data/live-filter/props.js +5 -12
  206. package/components/data/live-form/index.js +68 -91
  207. package/components/data/live-form/props.js +5 -12
  208. package/components/data/pagination/components/BasicPagination.js +124 -104
  209. package/components/data/pagination/components/ClassicPagination.js +167 -190
  210. package/components/data/pagination/components/InlinePagination.js +97 -98
  211. package/components/data/pagination/components/LoadingComponent.js +17 -30
  212. package/components/data/pagination/components/PageSizeSelector.js +176 -169
  213. package/components/data/pagination/components/PagerNavigation.js +84 -105
  214. package/components/data/pagination/components/TotalRecords.js +48 -47
  215. package/components/data/pagination/components/index.js +14 -47
  216. package/components/data/pagination/components/props.js +0 -5
  217. package/components/data/pagination/hooks/index.js +6 -19
  218. package/components/data/pagination/hooks/props.js +0 -5
  219. package/components/data/pagination/hooks/useNavigationSize.js +12 -21
  220. package/components/data/pagination/hooks/usePagination.js +701 -905
  221. package/components/data/pagination/index.js +336 -389
  222. package/components/data/table/components/AddNewRow.js +122 -154
  223. package/components/data/table/components/EditableCell.js +68 -75
  224. package/components/data/table/components/FieldValidationError.js +19 -20
  225. package/components/data/table/components/RowCells.js +97 -80
  226. package/components/data/table/components/RowExpansionButton.js +43 -39
  227. package/components/data/table/components/SummaryCell.js +54 -88
  228. package/components/data/table/components/SummaryRow.js +45 -52
  229. package/components/data/table/components/SummaryRowFooter.js +35 -42
  230. package/components/data/table/components/TableBody.js +222 -218
  231. package/components/data/table/components/TableDataRow.js +113 -106
  232. package/components/data/table/components/TableFilters.js +391 -390
  233. package/components/data/table/components/TableFooterActions.js +25 -32
  234. package/components/data/table/components/TableHeader.js +460 -435
  235. package/components/data/table/components/TablePanelHeading.js +157 -181
  236. package/components/data/table/components/index.js +27 -95
  237. package/components/data/table/hooks/index.js +21 -230
  238. package/components/data/table/hooks/use-edited-rows.js +59 -94
  239. package/components/data/table/hooks/useCellState.js +58 -83
  240. package/components/data/table/hooks/useCustomExpressionColumns.js +65 -86
  241. package/components/data/table/hooks/useDynamicColumns.js +59 -92
  242. package/components/data/table/hooks/useEditingState.js +30 -41
  243. package/components/data/table/hooks/useFormWidget.js +163 -172
  244. package/components/data/table/hooks/usePaginationState.js +67 -77
  245. package/components/data/table/hooks/usePanelStructure.js +47 -41
  246. package/components/data/table/hooks/useResponsiveColumns.js +14 -20
  247. package/components/data/table/hooks/useRowExpansion.js +131 -127
  248. package/components/data/table/hooks/useRowHandlers.js +56 -69
  249. package/components/data/table/hooks/useRowSelection.js +249 -329
  250. package/components/data/table/hooks/useServerSideSorting.js +109 -175
  251. package/components/data/table/hooks/useTableColumns.js +322 -331
  252. package/components/data/table/hooks/useTableData.js +111 -166
  253. package/components/data/table/hooks/useTableEdit.js +526 -564
  254. package/components/data/table/hooks/useTableEffects.js +60 -107
  255. package/components/data/table/hooks/useTableFilter.js +244 -237
  256. package/components/data/table/hooks/useTableInitialization.js +44 -76
  257. package/components/data/table/hooks/useTableState.js +39 -61
  258. package/components/data/table/hooks/useTableStateManager.js +295 -468
  259. package/components/data/table/index.js +1556 -1713
  260. package/components/data/table/live-table/index.js +157 -219
  261. package/components/data/table/props.js +0 -5
  262. package/components/data/table/table-action/index.js +97 -75
  263. package/components/data/table/table-column/index.js +48 -42
  264. package/components/data/table/table-group/index.js +7 -25
  265. package/components/data/table/table-row/index.js +63 -55
  266. package/components/data/table/table-row-action/index.js +102 -77
  267. package/components/data/table/utils/buildSelectionColumns.js +86 -137
  268. package/components/data/table/utils/columnBuilder.d.ts +1 -1
  269. package/components/data/table/utils/columnBuilder.js +121 -160
  270. package/components/data/table/utils/columnProxy.js +48 -66
  271. package/components/data/table/utils/columnWidthDistribution.js +40 -64
  272. package/components/data/table/utils/constants.js +92 -40
  273. package/components/data/table/utils/crud-handlers.js +292 -473
  274. package/components/data/table/utils/dynamic-columns.js +99 -144
  275. package/components/data/table/utils/groupHeaderUtils.js +36 -61
  276. package/components/data/table/utils/index.d.ts +17 -13
  277. package/components/data/table/utils/index.js +483 -639
  278. package/components/data/table/utils/renderDisplayCell.js +127 -169
  279. package/components/data/table/utils/script-page-size-broadcast.js +17 -29
  280. package/components/data/table/utils/selectionUtils.js +59 -113
  281. package/components/data/table/utils/table-helpers.js +38 -74
  282. package/components/data/table/utils/validation.js +35 -78
  283. package/components/data/table/utils/widgetMapping.d.ts +5 -0
  284. package/components/data/table/utils/widgetMapping.js +41 -0
  285. package/components/data/types.js +112 -112
  286. package/components/data/utils/field-data-utils.js +38 -42
  287. package/components/data/utils/filter-field-util.js +42 -44
  288. package/components/data/utils/index.js +112 -111
  289. package/components/dialogs/alert-dialog/index.js +83 -78
  290. package/components/dialogs/alert-dialog/props.js +0 -5
  291. package/components/dialogs/confirm-dialog/index.js +102 -92
  292. package/components/dialogs/confirm-dialog/props.js +0 -5
  293. package/components/dialogs/dialog/index.js +93 -69
  294. package/components/dialogs/dialog/props.js +0 -5
  295. package/components/dialogs/dialog-actions/index.js +12 -26
  296. package/components/dialogs/dialog-actions/props.js +0 -5
  297. package/components/dialogs/dialog-body/index.js +13 -30
  298. package/components/dialogs/dialog-body/props.js +0 -5
  299. package/components/dialogs/dialog-content/index.js +48 -41
  300. package/components/dialogs/dialog-content/props.js +0 -5
  301. package/components/dialogs/dialog-header/index.js +88 -101
  302. package/components/dialogs/dialog-header/props.js +0 -5
  303. package/components/dialogs/iframe-dialog/index.js +136 -128
  304. package/components/dialogs/iframe-dialog/props.js +0 -5
  305. package/components/dialogs/index.js +104 -101
  306. package/components/dialogs/login-dialog/index.js +285 -347
  307. package/components/dialogs/login-dialog/props.js +0 -5
  308. package/components/dialogs/page-dialog/index.js +95 -86
  309. package/components/dialogs/page-dialog/props.js +0 -5
  310. package/components/dialogs/props.js +0 -5
  311. package/components/dialogs/withDialogWrapper.js +110 -83
  312. package/components/form/button/index.js +296 -245
  313. package/components/form/button/props.js +0 -5
  314. package/components/form/button-group/index.js +80 -69
  315. package/components/form/button-group/props.js +0 -5
  316. package/components/input/calendar/index.js +409 -362
  317. package/components/input/calendar/props.js +0 -5
  318. package/components/input/calendar/utils.js +164 -172
  319. package/components/input/chips/SortableChip/index.js +109 -100
  320. package/components/input/chips/SortableChip/props.js +0 -5
  321. package/components/input/chips/index.js +663 -570
  322. package/components/input/chips/props.js +0 -5
  323. package/components/input/chips/utils.js +131 -122
  324. package/components/input/color-picker/index.js +536 -594
  325. package/components/input/color-picker/props.js +0 -5
  326. package/components/input/composite/index.js +71 -110
  327. package/components/input/composite/props.js +0 -5
  328. package/components/input/currency/index.js +277 -224
  329. package/components/input/currency/props.js +0 -5
  330. package/components/input/default/checkbox/index.js +329 -250
  331. package/components/input/default/checkbox/props.js +0 -5
  332. package/components/input/default/checkboxset/index.d.ts +2 -0
  333. package/components/input/default/checkboxset/index.js +529 -446
  334. package/components/input/default/checkboxset/props.d.ts +4 -0
  335. package/components/input/default/checkboxset/props.js +0 -5
  336. package/components/input/default/checkboxset/utils.js +15 -25
  337. package/components/input/default/radioset/index.d.ts +2 -0
  338. package/components/input/default/radioset/index.js +409 -350
  339. package/components/input/default/radioset/props.d.ts +6 -0
  340. package/components/input/default/radioset/props.js +0 -5
  341. package/components/input/default/switch/index.js +494 -458
  342. package/components/input/default/switch/prop.js +0 -5
  343. package/components/input/epoch/date/components/DatePickerPopover.js +242 -193
  344. package/components/input/epoch/date/index.js +638 -518
  345. package/components/input/epoch/date/props.js +0 -5
  346. package/components/input/epoch/date/styled.js +61 -70
  347. package/components/input/epoch/date/utils.js +67 -115
  348. package/components/input/epoch/datetime/index.js +758 -695
  349. package/components/input/epoch/datetime/props.js +0 -5
  350. package/components/input/epoch/datetime/utils.js +121 -186
  351. package/components/input/epoch/time/index.js +441 -415
  352. package/components/input/epoch/time/props.js +0 -5
  353. package/components/input/epoch/time/utils.js +101 -112
  354. package/components/input/fileupload/Utils.js +70 -97
  355. package/components/input/fileupload/components/ListItems.js +132 -130
  356. package/components/input/fileupload/components/MultiUpload.js +80 -77
  357. package/components/input/fileupload/components/SingleUpload.js +57 -57
  358. package/components/input/fileupload/index.js +253 -178
  359. package/components/input/fileupload/props.js +0 -5
  360. package/components/input/fileupload/useFileUpload.js +209 -258
  361. package/components/input/number/index.js +434 -393
  362. package/components/input/number/props.js +0 -5
  363. package/components/input/rating/index.js +401 -394
  364. package/components/input/rating/props.js +0 -5
  365. package/components/input/select/index.js +408 -463
  366. package/components/input/select/props.js +0 -5
  367. package/components/input/slider/index.js +339 -332
  368. package/components/input/slider/props.js +0 -5
  369. package/components/input/text/index.d.ts +3 -3
  370. package/components/input/text/index.js +438 -475
  371. package/components/input/text/props.d.ts +1 -1
  372. package/components/input/text/props.js +0 -5
  373. package/components/input/text/util.js +82 -222
  374. package/components/input/textarea/index.js +322 -358
  375. package/components/input/textarea/props.js +0 -5
  376. package/components/input/upload/index.js +135 -131
  377. package/components/input/upload/props.js +0 -5
  378. package/components/input/util/index.js +9 -11
  379. package/components/layout/footer/index.js +12 -35
  380. package/components/layout/footer/props.js +0 -5
  381. package/components/layout/header/index.js +12 -38
  382. package/components/layout/header/props.js +0 -5
  383. package/components/layout/leftnav/index.js +57 -44
  384. package/components/layout/leftnav/props.d.ts +9 -0
  385. package/components/layout/leftnav/props.js +0 -5
  386. package/components/layout/leftnav/utils/page-class-util.d.ts +9 -0
  387. package/components/layout/leftnav/utils/page-class-util.js +28 -0
  388. package/components/layout/rightnav/index.js +12 -36
  389. package/components/layout/rightnav/props.js +0 -5
  390. package/components/layout/topnav/index.js +24 -38
  391. package/components/layout/topnav/props.js +0 -5
  392. package/components/navbar/index.js +119 -98
  393. package/components/navbar/nav/index.js +236 -232
  394. package/components/navbar/nav/props.js +0 -5
  395. package/components/navbar/nav-item/index.js +74 -65
  396. package/components/navbar/nav-item/props.js +0 -5
  397. package/components/navigation/breadcrumb/index.js +38 -61
  398. package/components/navigation/breadcrumb/props.js +0 -5
  399. package/components/navigation/menu/components/ListItems.js +76 -67
  400. package/components/navigation/menu/constants.js +27 -42
  401. package/components/navigation/menu/hooks/useHoverState.hook.js +20 -47
  402. package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +34 -28
  403. package/components/navigation/menu/hooks/useTransformedDataset.hook.js +21 -14
  404. package/components/navigation/menu/index.js +911 -846
  405. package/components/navigation/menu/props.js +0 -5
  406. package/components/navigation/menu/utils/action-task.js +6 -9
  407. package/components/navigation/menu/utils/role-filter.js +41 -56
  408. package/components/navigation/popover/index.js +192 -205
  409. package/components/navigation/popover/props.js +5 -8
  410. package/components/page/content/index.js +9 -31
  411. package/components/page/content/props.js +0 -5
  412. package/components/page/error-boundary/index.js +115 -105
  413. package/components/page/error-boundary/props.js +0 -5
  414. package/components/page/index.js +100 -102
  415. package/components/page/page-content/index.js +21 -30
  416. package/components/page/page-content/props.js +0 -5
  417. package/components/page/page-context.d.ts +4 -0
  418. package/components/page/page-context.js +5 -0
  419. package/components/page/partial/index.js +50 -45
  420. package/components/page/partial/props.js +0 -5
  421. package/components/page/partial-container/index.js +78 -107
  422. package/components/page/partial-container/props.d.ts +1 -1
  423. package/components/page/partial-container/props.js +0 -5
  424. package/components/page/props.js +0 -5
  425. package/components/page/toast-container/index.js +20 -41
  426. package/components/page/toast-container/props.js +0 -5
  427. package/components/prefab/container/index.js +60 -53
  428. package/components/prefab/container/props.js +0 -5
  429. package/components/prefab/index.js +76 -61
  430. package/components/prefab/props.js +0 -5
  431. package/context/AppContext.d.ts +1 -1
  432. package/context/AppContext.js +17 -18
  433. package/context/AppSpinnerProvider.js +19 -34
  434. package/context/LayoutProvider.js +54 -57
  435. package/context/LocalizationProvider.js +34 -49
  436. package/context/PrefabContext.js +68 -119
  437. package/context/WidgetProvider.js +160 -166
  438. package/core/app-config.js +0 -1
  439. package/core/app.service.js +200 -327
  440. package/core/appVariablesStore.js +10 -15
  441. package/core/appstore.js +37 -53
  442. package/core/constants/currency-constant.js +81 -83
  443. package/core/constants/events.js +34 -44
  444. package/core/constants/index.js +21 -31
  445. package/core/dialog.service.js +52 -72
  446. package/core/event-notifier.js +94 -131
  447. package/core/formatter/array-formatters.js +18 -32
  448. package/core/formatter/date-formatters.js +140 -204
  449. package/core/formatter/index.js +64 -117
  450. package/core/formatter/number-formatters.js +115 -159
  451. package/core/formatter/security-formatters.js +233 -283
  452. package/core/formatter/string-formatters.js +23 -45
  453. package/core/formatter/types.js +12 -18
  454. package/core/formatters.js +6 -24
  455. package/core/proxy-service.js +242 -306
  456. package/core/script-registry.js +87 -134
  457. package/core/security.service.js +8 -11
  458. package/core/util/compare.js +13 -25
  459. package/core/util/dom.js +32 -63
  460. package/core/util/index.js +92 -98
  461. package/core/util/safe-is-equal.js +42 -94
  462. package/core/util/security.js +114 -153
  463. package/core/util/utils.d.ts +4 -1
  464. package/core/util/utils.js +88 -159
  465. package/core/widget-observer.js +34 -61
  466. package/higherOrder/BaseApp.js +328 -502
  467. package/higherOrder/BaseAppProps.d.ts +1 -0
  468. package/higherOrder/BaseAppProps.js +0 -5
  469. package/higherOrder/BaseDateTime.js +277 -231
  470. package/higherOrder/BasePage.js +474 -740
  471. package/higherOrder/BasePartial.js +87 -114
  472. package/higherOrder/BasePrefab.js +190 -206
  473. package/higherOrder/DataNav.js +287 -302
  474. package/higherOrder/helper.js +62 -48
  475. package/higherOrder/props.js +0 -5
  476. package/higherOrder/withBaseWrapper.js +123 -168
  477. package/higherOrder/withStandalone.js +28 -26
  478. package/hooks/useAccess.js +113 -289
  479. package/hooks/useAppConfig.js +15 -40
  480. package/hooks/useAuth.js +256 -495
  481. package/hooks/useDataSourceSubscription.d.ts +3 -3
  482. package/hooks/useDataSourceSubscription.js +99 -109
  483. package/hooks/useDebounce.js +28 -56
  484. package/hooks/useDeviceVisibility.js +14 -23
  485. package/hooks/useHttp.d.ts +1 -0
  486. package/hooks/useHttp.js +314 -493
  487. package/libs/index.js +4 -13
  488. package/libs/prefab/index.js +6 -20
  489. package/mui-config/theme-provider.js +9 -17
  490. package/mui-config/theme.js +6 -9
  491. package/package-lock.json +816 -3207
  492. package/package.json +3 -19
  493. package/providers/AppProviders.js +21 -24
  494. package/runtime-dynamic/App.js +65 -93
  495. package/runtime-dynamic/app-initializer.js +193 -411
  496. package/runtime-dynamic/components/ErrorBoundary.js +59 -76
  497. package/runtime-dynamic/components/PageWrapper.js +23 -35
  498. package/runtime-dynamic/components/PrefabPreview.js +40 -69
  499. package/runtime-dynamic/components/partial-content.d.ts +2 -3
  500. package/runtime-dynamic/components/partial-content.js +66 -45
  501. package/runtime-dynamic/components/prefab-content.js +37 -30
  502. package/runtime-dynamic/components/use-dynamic-component.js +55 -157
  503. package/runtime-dynamic/factories/build-base-page-like-component.d.ts +1 -1
  504. package/runtime-dynamic/factories/build-base-page-like-component.js +44 -58
  505. package/runtime-dynamic/factories/dynamic-component.d.ts +9 -0
  506. package/runtime-dynamic/factories/dynamic-component.js +91 -0
  507. package/runtime-dynamic/factories/prefab-factory.d.ts +1 -1
  508. package/runtime-dynamic/factories/prefab-factory.js +60 -81
  509. package/runtime-dynamic/factories/startup-info.js +12 -25
  510. package/runtime-dynamic/factories/utils.d.ts +2 -10
  511. package/runtime-dynamic/factories/utils.js +47 -129
  512. package/runtime-dynamic/index.js +56 -191
  513. package/runtime-dynamic/main.js +42 -70
  514. package/runtime-dynamic/preview-mode.js +14 -29
  515. package/runtime-dynamic/preview-navigation.js +21 -30
  516. package/runtime-dynamic/preview-path.d.ts +5 -0
  517. package/runtime-dynamic/preview-path.js +13 -0
  518. package/runtime-dynamic/preview-resource-base.js +15 -31
  519. package/runtime-dynamic/registry/component-registry.js +269 -334
  520. package/runtime-dynamic/registry/custom-widget-registry.js +11 -15
  521. package/runtime-dynamic/registry/index.js +24 -63
  522. package/runtime-dynamic/registry/store.d.ts +1 -0
  523. package/runtime-dynamic/registry/store.js +18 -23
  524. package/runtime-dynamic/routes.js +53 -81
  525. package/runtime-dynamic/services/app-extension-provider.js +17 -44
  526. package/runtime-dynamic/services/autolayout-inject.d.ts +4 -0
  527. package/runtime-dynamic/services/autolayout-inject.js +27 -0
  528. package/runtime-dynamic/services/compile-render.d.ts +9 -0
  529. package/runtime-dynamic/services/compile-render.js +142 -0
  530. package/runtime-dynamic/services/component-ref-provider.d.ts +18 -3
  531. package/runtime-dynamic/services/component-ref-provider.js +52 -129
  532. package/runtime-dynamic/services/css-scoping.js +23 -28
  533. package/runtime-dynamic/services/fragment-url.js +37 -50
  534. package/runtime-dynamic/services/index.d.ts +2 -3
  535. package/runtime-dynamic/services/index.js +31 -152
  536. package/runtime-dynamic/services/markup-transpiler.d.ts +2 -2
  537. package/runtime-dynamic/services/markup-transpiler.js +39 -231
  538. package/runtime-dynamic/services/prefab-resources.js +40 -118
  539. package/runtime-dynamic/services/resource-manager.d.ts +2 -2
  540. package/runtime-dynamic/services/resource-manager.js +24 -65
  541. package/runtime-dynamic/services/script-executor.js +46 -63
  542. package/runtime-dynamic/services/variable-factory.js +141 -184
  543. package/runtime-dynamic/services/variable-registry.js +65 -115
  544. package/runtime-dynamic/services/variable-transpiler.js +73 -103
  545. package/runtime-dynamic/shims/next-image.js +79 -50
  546. package/runtime-dynamic/shims/next-link.js +58 -32
  547. package/runtime-dynamic/shims/next-navigation.js +17 -34
  548. package/runtime-dynamic/utils/index.js +15 -30
  549. package/store/bindActions/i18nActions.js +16 -18
  550. package/store/index.js +29 -35
  551. package/store/middleware/navigationMiddleware.js +25 -45
  552. package/store/middleware/pendingTabNavigationIntentMiddleware.js +20 -25
  553. package/store/slices/appConfigSlice.js +65 -94
  554. package/store/slices/authSlice.js +317 -471
  555. package/store/slices/i18nSlice.js +169 -168
  556. package/store/slices/navigationSlice.js +22 -20
  557. package/store/util/resolve-path.d.ts +1 -0
  558. package/store/util/resolve-path.js +7 -0
  559. package/store/viewport.service.js +150 -194
  560. package/types/index.js +10 -15
  561. package/utils/attr.js +191 -41
  562. package/utils/custom-expression/index.js +58 -151
  563. package/utils/custom-expression/parser.js +108 -182
  564. package/utils/dataset-util.js +113 -154
  565. package/utils/eval-expression.js +10 -19
  566. package/utils/form-state.util.js +60 -118
  567. package/utils/form-utils.js +49 -190
  568. package/utils/format-util.js +113 -184
  569. package/utils/layoutsize-util.js +11 -17
  570. package/utils/lib-error-skipper.js +54 -52
  571. package/utils/page-params-util.js +50 -40
  572. package/utils/pending-tab-navigation-intent.js +7 -17
  573. package/utils/resource-url.js +8 -19
  574. package/utils/state-persistance.d.ts +1 -1
  575. package/utils/state-persistance.js +136 -253
  576. package/utils/style-utils.js +24 -78
  577. package/utils/transformedDataset-utils.js +353 -381
  578. package/utils/widget-cleanup-util.js +42 -74
  579. package/utils/widgets.js +19 -31
  580. package/variables/base-variable.js +117 -166
  581. package/variables/constants.js +5 -8
  582. package/variables/crud-variable.js +150 -181
  583. package/variables/live-variable.d.ts +1 -1
  584. package/variables/live-variable.js +140 -174
  585. package/variables/metadata.service.js +74 -116
  586. package/variables/model-variable.js +68 -78
  587. package/variables/service-variable.js +171 -285
  588. package/wm-namespace.js +11 -14
  589. package/components/chart/src/css.d.js +0 -1
  590. package/runtime-dynamic/services/cache.d.ts +0 -29
  591. package/runtime-dynamic/services/cache.js +0 -57
  592. package/tsconfig.declaration.tsbuildinfo +0 -1
  593. package/types/global.d.js +0 -3
@@ -1,242 +1,222 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof3 = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.handleNavigation = exports["default"] = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
- var _react = _interopRequireWildcard(require("react"));
15
- var _lodash = require("lodash");
16
- var _excluded = ["itemicon", "itemlabel", "itemhint", "itemlink", "itemtarget", "itembadge", "itemchildren", "itemaction", "itemclass", "itemid", "isactive", "userrole", "orderby", "datafield", "displayfield", "listener", "styles", "className"];
17
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
18
- var __jsx = _react["default"].createElement;
19
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
20
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
21
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
- var getValidLink = function getValidLink(link) {
23
- if (!link) return undefined;
24
- var routRegex = /^(\/|#\/|#)(?!\W).*/;
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import { jsx } from "react/jsx-runtime";
33
+ import { useRef, useEffect, useMemo, forwardRef, useState } from "react";
34
+ import { flattenDeep } from "lodash";
35
+ const getValidLink = (link) => {
36
+ if (!link) return void 0;
37
+ const routRegex = /^(\/|#\/|#)(?!\W).*/;
25
38
  if (routRegex.test(link)) {
26
- var match = link.match(/[\w]+.*/);
39
+ const match = link.match(/[\w]+.*/);
27
40
  if (match) {
28
- link = "".concat(match[0]);
41
+ link = `${match[0]}`;
29
42
  }
30
43
  } else if (link.startsWith("www.")) {
31
- link = "//".concat(link);
44
+ link = `//${link}`;
32
45
  }
33
46
  return link;
34
47
  };
35
- var getElement = function getElement(obj, key) {
36
- return obj && obj[key];
37
- };
38
- var validateAccessRoles = function validateAccessRoles(roles, userRoles) {
48
+ const getElement = (obj, key) => obj && obj[key];
49
+ const validateAccessRoles = (roles, userRoles) => {
39
50
  if (!roles || typeof roles !== "string") return true;
40
- var roleList = roles.split(",").map(function (role) {
41
- return role.trim();
42
- });
43
- return roleList.some(function (role) {
44
- return userRoles.includes(role);
45
- });
51
+ const roleList = roles.split(",").map((role) => role.trim());
52
+ return roleList.some((role) => userRoles.includes(role));
46
53
  };
47
- var createArrayFrom = function createArrayFrom(value) {
54
+ const createArrayFrom = (value) => {
48
55
  if (Array.isArray(value)) {
49
56
  return value;
50
57
  }
51
58
  return value ? [value] : [];
52
59
  };
53
- var getOrderedDataset = function getOrderedDataset(dataset, orderby) {
60
+ const getOrderedDataset = (dataset, orderby) => {
54
61
  if (!orderby) return dataset;
55
- var _orderby$split = orderby.split(":"),
56
- _orderby$split2 = (0, _slicedToArray2["default"])(_orderby$split, 2),
57
- field = _orderby$split2[0],
58
- direction = _orderby$split2[1];
59
- return dataset.sort(function (a, b) {
60
- var valA = a[field] || a.label || a.value || a;
61
- var valB = b[field] || b.label || b.value || b;
62
- var comparison = 0;
62
+ const [field, direction] = orderby.split(":");
63
+ return dataset.sort((a, b) => {
64
+ const valA = a[field] || a.label || a.value || a;
65
+ const valB = b[field] || b.label || b.value || b;
66
+ let comparison = 0;
63
67
  if (valA < valB) comparison = -1;
64
68
  if (valA > valB) comparison = 1;
65
69
  return direction === "desc" ? -comparison : comparison;
66
70
  });
67
71
  };
68
- var getEvaluatedData = function getEvaluatedData(dataObj, options, context) {
72
+ const getEvaluatedData = (dataObj, options, context) => {
69
73
  if (options.bindExpression) {
70
74
  return options.bindExpression(context, dataObj);
71
75
  }
72
76
  if (options.field) {
73
77
  return dataObj[options.field];
74
78
  }
75
- return undefined;
79
+ return void 0;
76
80
  };
77
- var getCurrentRouteId = function getCurrentRouteId() {
78
- var path = window.location.pathname.substr(1).split("?")[0];
79
- var segments = path.split("/");
81
+ const getCurrentRouteId = () => {
82
+ const path = window.location.pathname.substr(1).split("?")[0];
83
+ const segments = path.split("/");
80
84
  return segments[segments.length - 1] || "Main";
81
85
  };
82
- var _findPathToNode = function findPathToNode(nodes, targetId) {
83
- var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
84
- var _iterator = _createForOfIteratorHelper(nodes),
85
- _step;
86
- try {
87
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
88
- var _node$children;
89
- var node = _step.value;
90
- if (node.id === targetId) {
91
- return [].concat((0, _toConsumableArray2["default"])(path), [node]);
92
- }
93
- if ((_node$children = node.children) !== null && _node$children !== void 0 && _node$children.length) {
94
- var foundPath = _findPathToNode(node.children, targetId, [].concat((0, _toConsumableArray2["default"])(path), [node]));
95
- if (foundPath.length) {
96
- return foundPath;
97
- }
86
+ const findPathToNode = (nodes, targetId, path = []) => {
87
+ var _a;
88
+ for (const node of nodes) {
89
+ if (node.id === targetId) {
90
+ return [...path, node];
91
+ }
92
+ if ((_a = node.children) == null ? void 0 : _a.length) {
93
+ const foundPath = findPathToNode(node.children, targetId, [...path, node]);
94
+ if (foundPath.length) {
95
+ return foundPath;
98
96
  }
99
97
  }
100
- } catch (err) {
101
- _iterator.e(err);
102
- } finally {
103
- _iterator.f();
104
98
  }
105
99
  return [];
106
100
  };
107
- var _findNodeById = function findNodeById(data, targetId) {
108
- var itemIdField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "id";
109
- var _iterator2 = _createForOfIteratorHelper(data),
110
- _step2;
111
- try {
112
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
113
- var item = _step2.value;
114
- if (item && (0, _typeof2["default"])(item) === "object") {
115
- // Check if current item matches the target id
116
- if (item[itemIdField] === targetId) {
101
+ const findNodeById = (data, targetId, itemIdField = "id") => {
102
+ for (const item of data) {
103
+ if (item && typeof item === "object") {
104
+ if (item[itemIdField] === targetId) {
105
+ return true;
106
+ }
107
+ if (Array.isArray(item.children) && item.children.length > 0) {
108
+ if (findNodeById(item.children, targetId, itemIdField)) {
117
109
  return true;
118
110
  }
119
- // Recursively check children
120
- if (Array.isArray(item.children) && item.children.length > 0) {
121
- if (_findNodeById(item.children, targetId, itemIdField)) {
122
- return true;
123
- }
124
- }
125
111
  }
126
112
  }
127
- } catch (err) {
128
- _iterator2.e(err);
129
- } finally {
130
- _iterator2.f();
131
113
  }
132
114
  return false;
133
115
  };
134
-
135
- // Helper function to find the correct array from array of arrays based on current route
136
- var findMatchingDataset = function findMatchingDataset(data, currentRouteId) {
137
- var itemIdField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "id";
116
+ const findMatchingDataset = (data, currentRouteId, itemIdField = "id") => {
138
117
  if (!Array.isArray(data) || data.length === 0) {
139
118
  return data || [];
140
119
  }
141
-
142
- // If the first element is not an array, return as is
143
120
  if (!Array.isArray(data[0])) {
144
121
  return data;
145
122
  }
146
-
147
- // It's an array of arrays - search through each array
148
- for (var i = 0; i < data.length; i++) {
149
- var arrayItem = data[i];
150
-
151
- // Flatten the array item to get all objects regardless of nesting using lodash
152
- var flattenedArray = (0, _lodash.flattenDeep)([arrayItem]);
153
- if (flattenedArray.length > 0 && _findNodeById(flattenedArray, currentRouteId, itemIdField)) {
123
+ for (let i = 0; i < data.length; i++) {
124
+ const arrayItem = data[i];
125
+ const flattenedArray = flattenDeep([arrayItem]);
126
+ if (flattenedArray.length > 0 && findNodeById(flattenedArray, currentRouteId, itemIdField)) {
154
127
  return flattenedArray;
155
128
  }
156
129
  }
157
-
158
- // If no match found, flatten and return the first array as fallback
159
- var fallbackArray = (0, _lodash.flattenDeep)([data[0]]);
130
+ const fallbackArray = flattenDeep([data[0]]);
160
131
  return fallbackArray.length > 0 ? fallbackArray : data;
161
132
  };
162
- var handleNavigation = exports.handleNavigation = function handleNavigation(item, event) {
163
- var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
164
- var onBeforenavigate = options.onBeforenavigate,
165
- defaultTarget = options.defaultTarget;
133
+ const handleNavigation = (item, event, options = {}) => {
134
+ const { onBeforenavigate, defaultTarget } = options;
166
135
  event.preventDefault();
167
- var locals = {
168
- $item: item.value,
169
- $event: event
170
- };
171
- var canNavigate = !((onBeforenavigate === null || onBeforenavigate === void 0 ? void 0 : onBeforenavigate(locals)) === false);
172
- var linkTarget = item.target || defaultTarget;
173
- var itemLink = item.link;
136
+ const locals = { $item: item.value, $event: event };
137
+ const canNavigate = !((onBeforenavigate == null ? void 0 : onBeforenavigate(locals)) === false);
138
+ const linkTarget = item.target || defaultTarget;
139
+ let itemLink = item.link;
174
140
  if (itemLink && canNavigate) {
175
- var queryString = itemLink.split("?")[1];
176
- var cleanPath = itemLink.replace(/^#?\/?/, "").split("?")[0];
177
- var currentPath = window.location.pathname;
178
- var pathSegments = currentPath.split("/");
141
+ const queryString = itemLink.split("?")[1];
142
+ const cleanPath = itemLink.replace(/^#?\/?/, "").split("?")[0];
143
+ const currentPath = window.location.pathname;
144
+ const pathSegments = currentPath.split("/");
179
145
  if (pathSegments.length > 1) {
180
146
  pathSegments[pathSegments.length - 1] = cleanPath;
181
- var newPath = pathSegments.join("/") + (queryString ? "?".concat(queryString) : "");
147
+ const newPath = pathSegments.join("/") + (queryString ? `?${queryString}` : "");
182
148
  window.location.href = newPath;
183
149
  } else {
184
- window.location.href = "/".concat(cleanPath).concat(queryString ? "?".concat(queryString) : "");
150
+ window.location.href = `/${cleanPath}${queryString ? `?${queryString}` : ""}`;
185
151
  }
186
152
  }
187
153
  };
188
- var withDatasetAwareNavigation = function withDatasetAwareNavigation(WrappedComponent) {
189
- var NavigationWrappedComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
190
- var _listener$appConfig, _securityService$logg;
191
- var itemicon = props.itemicon,
192
- itemlabel = props.itemlabel,
193
- itemhint = props.itemhint,
194
- itemlink = props.itemlink,
195
- itemtarget = props.itemtarget,
196
- itembadge = props.itembadge,
197
- itemchildren = props.itemchildren,
198
- itemaction = props.itemaction,
199
- itemclass = props.itemclass,
200
- itemid = props.itemid,
201
- isactive = props.isactive,
202
- userrole = props.userrole,
203
- orderby = props.orderby,
204
- datafield = props.datafield,
205
- displayfield = props.displayfield,
206
- listener = props.listener,
207
- styles = props.styles,
208
- className = props.className,
209
- restProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
210
- var dataset = (0, _react.useMemo)(function () {
211
- var data = typeof props.dataset === "function" ? props.dataset() : props.dataset;
212
-
213
- // Handle array of arrays by finding the correct array based on current route
154
+ const withDatasetAwareNavigation = (WrappedComponent) => {
155
+ const NavigationWrappedComponent = forwardRef((props, ref) => {
156
+ var _b, _c;
157
+ const _a = props, {
158
+ itemicon,
159
+ itemlabel,
160
+ itemhint,
161
+ itemlink,
162
+ itemtarget,
163
+ itembadge,
164
+ itemchildren,
165
+ itemaction,
166
+ itemclass,
167
+ itemid,
168
+ isactive,
169
+ userrole,
170
+ orderby,
171
+ datafield,
172
+ displayfield,
173
+ listener,
174
+ styles,
175
+ className
176
+ } = _a, restProps = __objRest(_a, [
177
+ "itemicon",
178
+ "itemlabel",
179
+ "itemhint",
180
+ "itemlink",
181
+ "itemtarget",
182
+ "itembadge",
183
+ "itemchildren",
184
+ "itemaction",
185
+ "itemclass",
186
+ "itemid",
187
+ "isactive",
188
+ "userrole",
189
+ "orderby",
190
+ "datafield",
191
+ "displayfield",
192
+ "listener",
193
+ "styles",
194
+ "className"
195
+ ]);
196
+ const dataset = useMemo(() => {
197
+ let data = typeof props.dataset === "function" ? props.dataset() : props.dataset;
214
198
  if (Array.isArray(data) && data.length > 0 && Array.isArray(data[0])) {
215
- var currentRouteId = getCurrentRouteId();
216
- var itemIdField = itemid || "id";
199
+ const currentRouteId = getCurrentRouteId();
200
+ const itemIdField = itemid || "id";
217
201
  data = findMatchingDataset(data, currentRouteId, itemIdField);
218
202
  }
219
203
  return data || [];
220
204
  }, [props.dataset, itemid]);
221
- var _useState = (0, _react.useState)([]),
222
- navNodes = _useState[0],
223
- setNavNodes = _useState[1];
224
- var securityService = (listener === null || listener === void 0 || (_listener$appConfig = listener.appConfig) === null || _listener$appConfig === void 0 ? void 0 : _listener$appConfig.SecurityService) || {
225
- loggedInUser: []
226
- };
227
- var userRoles = ((_securityService$logg = securityService.loggedInUser) === null || _securityService$logg === void 0 ? void 0 : _securityService$logg.roles) || [];
228
- var binditemlabel = (0, _react.useRef)(null);
229
- var binditemhint = (0, _react.useRef)(null);
230
- var binditemicon = (0, _react.useRef)(null);
231
- var binditemaction = (0, _react.useRef)(null);
232
- var binditembadge = (0, _react.useRef)(null);
233
- var binditemchildren = (0, _react.useRef)(null);
234
- var binditemid = (0, _react.useRef)(null);
235
- var binditemlink = (0, _react.useRef)(null);
236
- var binditemtarget = (0, _react.useRef)(null);
237
- var binduserrole = (0, _react.useRef)(null);
238
- var bindisactive = (0, _react.useRef)(null);
239
- var _itemFieldMap = (0, _react.useRef)({
205
+ const [navNodes, setNavNodes] = useState([]);
206
+ const securityService = ((_b = listener == null ? void 0 : listener.appConfig) == null ? void 0 : _b.SecurityService) || { loggedInUser: [] };
207
+ const userRoles = ((_c = securityService.loggedInUser) == null ? void 0 : _c.roles) || [];
208
+ const binditemlabel = useRef(null);
209
+ const binditemhint = useRef(null);
210
+ const binditemicon = useRef(null);
211
+ const binditemaction = useRef(null);
212
+ const binditembadge = useRef(null);
213
+ const binditemchildren = useRef(null);
214
+ const binditemid = useRef(null);
215
+ const binditemlink = useRef(null);
216
+ const binditemtarget = useRef(null);
217
+ const binduserrole = useRef(null);
218
+ const bindisactive = useRef(null);
219
+ const _itemFieldMap = useRef({
240
220
  idField: itemid || "id",
241
221
  iconField: itemicon || "icon",
242
222
  labelField: itemlabel || "label",
@@ -250,25 +230,42 @@ var withDatasetAwareNavigation = function withDatasetAwareNavigation(WrappedComp
250
230
  isactiveField: isactive || "isactive",
251
231
  roleField: userrole || "role"
252
232
  });
253
- (0, _react.useEffect)(function () {
254
- var _r$itemlabelBind, _r$itemhintBind, _r$itemiconBind, _r$itemactionBind, _r$itembadgeBind, _r$itemchildrenBind, _r$itemidBind, _r$itemlinkBind, _r$itemtargetBind, _r$userroleBind, _r$isactiveBind;
255
- var r = restProps;
256
- binditemlabel.current = (_r$itemlabelBind = r["itemlabel.bind"]) !== null && _r$itemlabelBind !== void 0 ? _r$itemlabelBind : null;
257
- binditemhint.current = (_r$itemhintBind = r["itemhint.bind"]) !== null && _r$itemhintBind !== void 0 ? _r$itemhintBind : null;
258
- binditemicon.current = (_r$itemiconBind = r["itemicon.bind"]) !== null && _r$itemiconBind !== void 0 ? _r$itemiconBind : null;
259
- binditemaction.current = (_r$itemactionBind = r["itemaction.bind"]) !== null && _r$itemactionBind !== void 0 ? _r$itemactionBind : null;
260
- binditembadge.current = (_r$itembadgeBind = r["itembadge.bind"]) !== null && _r$itembadgeBind !== void 0 ? _r$itembadgeBind : null;
261
- binditemchildren.current = (_r$itemchildrenBind = r["itemchildren.bind"]) !== null && _r$itemchildrenBind !== void 0 ? _r$itemchildrenBind : null;
262
- binditemid.current = (_r$itemidBind = r["itemid.bind"]) !== null && _r$itemidBind !== void 0 ? _r$itemidBind : null;
263
- binditemlink.current = (_r$itemlinkBind = r["itemlink.bind"]) !== null && _r$itemlinkBind !== void 0 ? _r$itemlinkBind : null;
264
- binditemtarget.current = (_r$itemtargetBind = r["itemtarget.bind"]) !== null && _r$itemtargetBind !== void 0 ? _r$itemtargetBind : null;
265
- binduserrole.current = (_r$userroleBind = r["userrole.bind"]) !== null && _r$userroleBind !== void 0 ? _r$userroleBind : null;
266
- bindisactive.current = (_r$isactiveBind = r["isactive.bind"]) !== null && _r$isactiveBind !== void 0 ? _r$isactiveBind : null;
233
+ useEffect(() => {
234
+ var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j, _k;
235
+ const r = restProps;
236
+ binditemlabel.current = (_a2 = r["itemlabel.bind"]) != null ? _a2 : null;
237
+ binditemhint.current = (_b2 = r["itemhint.bind"]) != null ? _b2 : null;
238
+ binditemicon.current = (_c2 = r["itemicon.bind"]) != null ? _c2 : null;
239
+ binditemaction.current = (_d = r["itemaction.bind"]) != null ? _d : null;
240
+ binditembadge.current = (_e = r["itembadge.bind"]) != null ? _e : null;
241
+ binditemchildren.current = (_f = r["itemchildren.bind"]) != null ? _f : null;
242
+ binditemid.current = (_g = r["itemid.bind"]) != null ? _g : null;
243
+ binditemlink.current = (_h = r["itemlink.bind"]) != null ? _h : null;
244
+ binditemtarget.current = (_i = r["itemtarget.bind"]) != null ? _i : null;
245
+ binduserrole.current = (_j = r["userrole.bind"]) != null ? _j : null;
246
+ bindisactive.current = (_k = r["isactive.bind"]) != null ? _k : null;
267
247
  }, [restProps]);
268
- (0, _react.useEffect)(function () {
248
+ useEffect(() => {
269
249
  resetNodes();
270
- }, [dataset, itemicon, itemlabel, itemhint, itemlink, itemtarget, itembadge, itemchildren, itemaction, itemclass, itemid, isactive, userrole, orderby, datafield, displayfield]);
271
- var resetItemFieldMap = function resetItemFieldMap() {
250
+ }, [
251
+ dataset,
252
+ itemicon,
253
+ itemlabel,
254
+ itemhint,
255
+ itemlink,
256
+ itemtarget,
257
+ itembadge,
258
+ itemchildren,
259
+ itemaction,
260
+ itemclass,
261
+ itemid,
262
+ isactive,
263
+ userrole,
264
+ orderby,
265
+ datafield,
266
+ displayfield
267
+ ]);
268
+ const resetItemFieldMap = () => {
272
269
  _itemFieldMap.current = {
273
270
  idField: itemid || "id",
274
271
  iconField: itemicon || "icon",
@@ -284,66 +281,74 @@ var withDatasetAwareNavigation = function withDatasetAwareNavigation(WrappedComp
284
281
  roleField: userrole || "role"
285
282
  };
286
283
  };
287
- var _getNode = function getNode(fields, node) {
288
- var context = {};
289
-
290
- // Handle different node structures
291
- var processedNode;
284
+ const getNode = (fields, node) => {
285
+ const context = {};
286
+ let processedNode;
292
287
  if (typeof node === "string") {
293
288
  processedNode = {
294
289
  label: node,
295
290
  value: node,
296
291
  expanded: false
297
292
  };
298
- } else if ((0, _typeof2["default"])(node) === "object") {
299
- var childrenData = getElement(node, fields.childrenField);
300
- var children = Array.isArray(childrenData) ? childrenData.map(function (child) {
301
- return _getNode(fields, child);
302
- }) : [];
293
+ } else if (typeof node === "object") {
294
+ const childrenData = getElement(node, fields.childrenField);
295
+ const children = Array.isArray(childrenData) ? childrenData.map((child) => getNode(fields, child)) : [];
303
296
  processedNode = {
304
- action: getEvaluatedData(node, {
305
- field: itemaction,
306
- bindExpression: binditemaction.current
307
- }, context) || getElement(node, fields.actionField),
308
- badge: getEvaluatedData(node, {
309
- field: itembadge,
310
- bindExpression: binditembadge.current
311
- }, context) || getElement(node, fields.badgeField),
312
- children: children,
313
- "class": getElement(node, fields.classField),
297
+ action: getEvaluatedData(
298
+ node,
299
+ { field: itemaction, bindExpression: binditemaction.current },
300
+ context
301
+ ) || getElement(node, fields.actionField),
302
+ badge: getEvaluatedData(
303
+ node,
304
+ { field: itembadge, bindExpression: binditembadge.current },
305
+ context
306
+ ) || getElement(node, fields.badgeField),
307
+ children,
308
+ class: getElement(node, fields.classField),
314
309
  disabled: node.disabled,
315
- icon: getEvaluatedData(node, {
316
- field: itemicon,
317
- bindExpression: binditemicon.current
318
- }, context) || getElement(node, fields.iconField),
319
- id: getEvaluatedData(node, {
320
- field: itemid,
321
- bindExpression: binditemid.current
322
- }, context) || getElement(node, fields.idField),
323
- label: getEvaluatedData(node, {
324
- field: itemlabel,
325
- bindExpression: binditemlabel.current
326
- }, context) || getElement(node, fields.labelField) || node.label || String(node),
327
- hint: getEvaluatedData(node, {
328
- field: itemhint,
329
- bindExpression: binditemhint.current
330
- }, context) || getElement(node, fields.hintField),
331
- link: getValidLink(getEvaluatedData(node, {
332
- field: itemlink,
333
- bindExpression: binditemlink.current
334
- }, context) || getElement(node, fields.linkField)) || node.link,
335
- target: getEvaluatedData(node, {
336
- field: itemtarget,
337
- bindExpression: binditemtarget.current
338
- }, context) || getElement(node, fields.targetField),
339
- role: getEvaluatedData(node, {
340
- field: userrole,
341
- bindExpression: binduserrole.current
342
- }, context) || getElement(node, fields.roleField),
343
- isactive: getEvaluatedData(node, {
344
- field: isactive,
345
- bindExpression: bindisactive.current
346
- }, context) || getElement(node, fields.isactiveField),
310
+ icon: getEvaluatedData(
311
+ node,
312
+ { field: itemicon, bindExpression: binditemicon.current },
313
+ context
314
+ ) || getElement(node, fields.iconField),
315
+ id: getEvaluatedData(
316
+ node,
317
+ { field: itemid, bindExpression: binditemid.current },
318
+ context
319
+ ) || getElement(node, fields.idField),
320
+ label: getEvaluatedData(
321
+ node,
322
+ { field: itemlabel, bindExpression: binditemlabel.current },
323
+ context
324
+ ) || getElement(node, fields.labelField) || node.label || String(node),
325
+ hint: getEvaluatedData(
326
+ node,
327
+ { field: itemhint, bindExpression: binditemhint.current },
328
+ context
329
+ ) || getElement(node, fields.hintField),
330
+ link: getValidLink(
331
+ getEvaluatedData(
332
+ node,
333
+ { field: itemlink, bindExpression: binditemlink.current },
334
+ context
335
+ ) || getElement(node, fields.linkField)
336
+ ) || node.link,
337
+ target: getEvaluatedData(
338
+ node,
339
+ { field: itemtarget, bindExpression: binditemtarget.current },
340
+ context
341
+ ) || getElement(node, fields.targetField),
342
+ role: getEvaluatedData(
343
+ node,
344
+ { field: userrole, bindExpression: binduserrole.current },
345
+ context
346
+ ) || getElement(node, fields.roleField),
347
+ isactive: getEvaluatedData(
348
+ node,
349
+ { field: isactive, bindExpression: bindisactive.current },
350
+ context
351
+ ) || getElement(node, fields.isactiveField),
347
352
  value: datafield && datafield !== "All Fields" ? getElement(node, datafield) : node,
348
353
  expanded: false
349
354
  };
@@ -356,48 +361,31 @@ var withDatasetAwareNavigation = function withDatasetAwareNavigation(WrappedComp
356
361
  }
357
362
  return processedNode;
358
363
  };
359
- var prepareNodeDataSet = function prepareNodeDataSet(nv) {
364
+ const prepareNodeDataSet = (nv) => {
360
365
  if (!nv) return [];
361
-
362
- // Handle comma-separated string
363
366
  if (typeof nv === "string") {
364
- var items = nv.split(",").map(function (item) {
365
- return item.trim();
366
- }).filter(function (item) {
367
- return item.length > 0;
368
- });
369
- return items.map(function (item) {
370
- return {
371
- label: item,
372
- value: item
373
- };
374
- });
367
+ const items = nv.split(",").map((item) => item.trim()).filter((item) => item.length > 0);
368
+ return items.map((item) => ({
369
+ label: item,
370
+ value: item
371
+ }));
375
372
  }
376
-
377
- // Handle plain object (convert to array of key-value pairs)
378
- if (nv && (0, _typeof2["default"])(nv) === "object" && !Array.isArray(nv)) {
379
- return Object.entries(nv).map(function (_ref) {
380
- var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
381
- key = _ref2[0],
382
- value = _ref2[1];
383
- return {
384
- label: String(value),
385
- value: key,
386
- key: key
387
- };
388
- });
373
+ if (nv && typeof nv === "object" && !Array.isArray(nv)) {
374
+ return Object.entries(nv).map(([key, value]) => ({
375
+ label: String(value),
376
+ value: key,
377
+ key
378
+ }));
389
379
  }
390
-
391
- // Handle array
392
- var arrayData = createArrayFrom(nv);
393
- return arrayData.map(function (val) {
380
+ const arrayData = createArrayFrom(nv);
381
+ return arrayData.map((val) => {
394
382
  if (typeof val === "string") {
395
383
  return {
396
384
  label: val,
397
385
  value: val
398
386
  };
399
387
  }
400
- if ((0, _typeof2["default"])(val) !== "object") {
388
+ if (typeof val !== "object") {
401
389
  return {
402
390
  label: String(val),
403
391
  value: val
@@ -406,56 +394,53 @@ var withDatasetAwareNavigation = function withDatasetAwareNavigation(WrappedComp
406
394
  return val;
407
395
  });
408
396
  };
409
- var getNodes = function getNodes() {
410
- var nv = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : dataset || [];
397
+ const getNodes = (nv = dataset || []) => {
411
398
  if (!nv || Array.isArray(nv) && nv.length === 0) {
412
399
  return [];
413
400
  }
414
- var nodes = getOrderedDataset(prepareNodeDataSet(nv), orderby) || [];
401
+ let nodes = getOrderedDataset(prepareNodeDataSet(nv), orderby) || [];
415
402
  if (nodes.length) {
416
- var nodeFields = _itemFieldMap.current;
417
- nodes = nodes.reduce(function (result, node) {
403
+ const nodeFields = _itemFieldMap.current;
404
+ nodes = nodes.reduce((result, node) => {
418
405
  if (validateAccessRoles(getElement(node, nodeFields.roleField), userRoles)) {
419
- result.push(_getNode(nodeFields, node));
406
+ result.push(getNode(nodeFields, node));
420
407
  }
421
408
  return result;
422
409
  }, []);
423
410
  }
424
411
  return nodes;
425
412
  };
426
- var resetNodes = function resetNodes() {
413
+ const resetNodes = () => {
427
414
  resetItemFieldMap();
428
- var newNodes = getNodes();
415
+ const newNodes = getNodes();
429
416
  setNavNodes(newNodes);
430
417
  };
431
-
432
- // Check if the wrapped component is a breadcrumb component
433
- // Filter navNodes for breadcrumb components to show only path to current page
434
- var filteredNavNodes = (0, _react.useMemo)(function () {
418
+ const filteredNavNodes = useMemo(() => {
435
419
  if (!navNodes || navNodes.length === 0) {
436
420
  return navNodes;
437
421
  }
438
- var currentRouteId = getCurrentRouteId();
439
-
440
- // If no route ID, return empty
422
+ const currentRouteId = getCurrentRouteId();
441
423
  if (!currentRouteId) {
442
424
  return [];
443
425
  }
444
-
445
- // Find the path to the current page
446
- var breadcrumbPath = _findPathToNode(navNodes, currentRouteId);
447
-
448
- // Return the path if found, otherwise return empty
426
+ const breadcrumbPath = findPathToNode(navNodes, currentRouteId);
449
427
  return breadcrumbPath.length > 0 ? breadcrumbPath : [];
450
428
  }, [navNodes]);
451
- return __jsx(WrappedComponent, (0, _extends2["default"])({}, props, {
452
- ref: ref,
453
- navNodes: filteredNavNodes,
454
- resetNavNodes: resetNodes,
455
- handleNavigation: handleNavigation
456
- }));
429
+ return /* @__PURE__ */ jsx(
430
+ WrappedComponent,
431
+ __spreadProps(__spreadValues({}, props), {
432
+ ref,
433
+ navNodes: filteredNavNodes,
434
+ resetNavNodes: resetNodes,
435
+ handleNavigation
436
+ })
437
+ );
457
438
  });
458
- NavigationWrappedComponent.displayName = "withDatasetAwareNavigation(".concat(WrappedComponent.displayName || WrappedComponent.name || "Component", ")");
439
+ NavigationWrappedComponent.displayName = `withDatasetAwareNavigation(${WrappedComponent.displayName || WrappedComponent.name || "Component"})`;
459
440
  return NavigationWrappedComponent;
460
441
  };
461
- var _default = exports["default"] = withDatasetAwareNavigation;
442
+ var DataNav_default = withDatasetAwareNavigation;
443
+ export {
444
+ DataNav_default as default,
445
+ handleNavigation
446
+ };