@wavemaker-ai/react-runtime 1.0.0-rc.647499 → 1.0.0-rc.647565

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 (574) 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.js +251 -346
  6. package/actions/notification-action.js +121 -149
  7. package/actions/timer-action.js +95 -151
  8. package/actions/toast-provider.js +62 -76
  9. package/actions/toast.js +95 -91
  10. package/actions/toast.service.js +59 -79
  11. package/actions/types/index.js +6 -9
  12. package/components/advanced/carousel/index.js +358 -366
  13. package/components/advanced/carousel/props.js +0 -5
  14. package/components/advanced/carousel/template.js +102 -80
  15. package/components/advanced/login/index.js +227 -285
  16. package/components/advanced/login/props.js +0 -5
  17. package/components/advanced/marquee/index.js +169 -163
  18. package/components/advanced/marquee/props.js +0 -5
  19. package/components/basic/anchor/index.js +207 -187
  20. package/components/basic/anchor/props.js +0 -5
  21. package/components/basic/audio/index.js +110 -72
  22. package/components/basic/audio/props.js +0 -5
  23. package/components/basic/html/index.js +163 -203
  24. package/components/basic/html/props.js +0 -5
  25. package/components/basic/html/utils.js +30 -28
  26. package/components/basic/icon/index.js +98 -84
  27. package/components/basic/icon/props.js +0 -5
  28. package/components/basic/iframe/iframe.utils.js +7 -16
  29. package/components/basic/iframe/index.js +97 -103
  30. package/components/basic/iframe/props.js +0 -5
  31. package/components/basic/label/index.js +156 -134
  32. package/components/basic/label/props.js +0 -5
  33. package/components/basic/message/index.js +129 -113
  34. package/components/basic/message/props.js +0 -5
  35. package/components/basic/picture/index.js +156 -127
  36. package/components/basic/picture/props.js +0 -5
  37. package/components/basic/progress-bar/index.js +240 -176
  38. package/components/basic/progress-bar/props.js +5 -31
  39. package/components/basic/progress-circle/index.js +166 -183
  40. package/components/basic/progress-circle/props.js +14 -34
  41. package/components/basic/richtexteditor/index.js +430 -396
  42. package/components/basic/richtexteditor/props.js +0 -5
  43. package/components/basic/search/index.js +812 -931
  44. package/components/basic/search/props.js +0 -5
  45. package/components/basic/search/providers.js +233 -380
  46. package/components/basic/spinner/index.js +210 -200
  47. package/components/basic/spinner/props.js +4 -22
  48. package/components/basic/tile/index.js +73 -81
  49. package/components/basic/tile/props.js +0 -5
  50. package/components/basic/tree/Components/TreeNodeComponent.js +238 -170
  51. package/components/basic/tree/hooks/useTreePartialNodeApi.js +143 -135
  52. package/components/basic/tree/index.js +378 -454
  53. package/components/basic/tree/props.js +0 -5
  54. package/components/basic/tree/utils.js +129 -185
  55. package/components/basic/video/index.js +161 -107
  56. package/components/basic/video/props.js +0 -5
  57. package/components/chart/index.js +42 -50
  58. package/components/chart/props.js +31 -37
  59. package/components/chart/src/ChartRenderer.js +172 -154
  60. package/components/chart/src/chart.js +391 -213
  61. package/components/chart/src/chartStyles.generated.js +6 -14
  62. package/components/chart/src/chartUtils.js +228 -272
  63. package/components/chart/src/constants.d.ts +13 -0
  64. package/components/chart/src/constants.js +316 -90
  65. package/components/chart/src/d3Setup.js +11 -30
  66. package/components/chart/src/dataUtils.js +362 -446
  67. package/components/chart/src/formatUtils.js +47 -38
  68. package/components/chart/src/index.js +11 -19
  69. package/components/chart/src/nvd3Source.generated.js +5 -13
  70. package/components/chart/src/pieDonutResponsiveLayout.d.ts +5 -0
  71. package/components/chart/src/pieDonutResponsiveLayout.js +76 -96
  72. package/components/chart/src/types.js +0 -5
  73. package/components/common/AppSpinner.js +17 -33
  74. package/components/common/app-spinner.js +11 -22
  75. package/components/common/customTemplate/index.d.ts +3 -0
  76. package/components/common/customTemplate/index.js +6 -0
  77. package/components/common/customTemplate/props.d.ts +20 -0
  78. package/components/common/customTemplate/props.js +0 -0
  79. package/components/common/customTemplate/template.d.ts +3 -0
  80. package/components/common/customTemplate/template.js +27 -0
  81. package/components/common/customTemplate/useCustomTemplate.d.ts +8 -0
  82. package/components/common/customTemplate/useCustomTemplate.js +17 -0
  83. package/components/common/customTemplate/utils.d.ts +6 -0
  84. package/components/common/customTemplate/utils.js +12 -0
  85. package/components/common/index.js +4 -12
  86. package/components/constants.js +81 -77
  87. package/components/container/accordion/accordion-pane/index.js +105 -118
  88. package/components/container/accordion/accordion-pane/props.js +5 -21
  89. package/components/container/accordion/index.js +225 -243
  90. package/components/container/accordion/props.js +5 -16
  91. package/components/container/index.js +214 -150
  92. package/components/container/layout-grid/grid-column/index.js +68 -43
  93. package/components/container/layout-grid/grid-column/props.js +0 -5
  94. package/components/container/layout-grid/grid-row/index.js +12 -29
  95. package/components/container/layout-grid/grid-row/props.js +0 -5
  96. package/components/container/layout-grid/index.js +53 -38
  97. package/components/container/layout-grid/props.js +0 -5
  98. package/components/container/linear-layout/index.js +56 -60
  99. package/components/container/linear-layout/linear-layout-item/index.js +43 -47
  100. package/components/container/linear-layout/linear-layout-item/props.js +0 -5
  101. package/components/container/linear-layout/props.js +0 -5
  102. package/components/container/panel/components/panel-content/index.js +7 -16
  103. package/components/container/panel/components/panel-header/index.js +166 -146
  104. package/components/container/panel/components/panel-header/props.js +0 -5
  105. package/components/container/panel/hooks.js +76 -102
  106. package/components/container/panel/index.js +289 -252
  107. package/components/container/panel/props.js +0 -5
  108. package/components/container/props.js +0 -5
  109. package/components/container/repeat-template/index.js +65 -44
  110. package/components/container/repeat-template/props.js +0 -5
  111. package/components/container/tabs/index.js +517 -526
  112. package/components/container/tabs/props.js +5 -28
  113. package/components/container/tabs/tab-pane/index.js +105 -100
  114. package/components/container/tabs/tab-pane/props.js +0 -5
  115. package/components/container/tabs/utils.js +30 -35
  116. package/components/container/wizard/WizardContext.js +9 -11
  117. package/components/container/wizard/components/StepComponents.js +76 -99
  118. package/components/container/wizard/components/WizardStep.js +107 -85
  119. package/components/container/wizard/index.js +791 -921
  120. package/components/container/wizard/props.js +0 -5
  121. package/components/container/wizard/utils.js +97 -131
  122. package/components/container/wizard/wizard-action/index.js +41 -81
  123. package/components/container/wizard/wizard-step/index.js +140 -120
  124. package/components/data/card/card-actions/index.js +13 -31
  125. package/components/data/card/card-content/index.js +27 -36
  126. package/components/data/card/card-footer/index.js +13 -31
  127. package/components/data/card/index.js +192 -199
  128. package/components/data/card/props.js +0 -5
  129. package/components/data/form/base-form/constant.js +5 -8
  130. package/components/data/form/base-form/hooks/index.js +26 -77
  131. package/components/data/form/base-form/hooks/useFormDataSync.js +106 -212
  132. package/components/data/form/base-form/hooks/useFormOperations.js +109 -161
  133. package/components/data/form/base-form/hooks/useFormSubmission.js +220 -280
  134. package/components/data/form/base-form/hooks/useFormValidation.js +119 -168
  135. package/components/data/form/base-form/hooks/useParentFormRelationship.js +67 -103
  136. package/components/data/form/base-form/index.js +531 -646
  137. package/components/data/form/base-form/props.js +74 -151
  138. package/components/data/form/base-form/utils.js +210 -323
  139. package/components/data/form/dynamic-fields/constant.js +43 -53
  140. package/components/data/form/dynamic-fields/index.js +135 -144
  141. package/components/data/form/dynamic-fields/props.js +0 -5
  142. package/components/data/form/dynamic-fields/utils.js +99 -158
  143. package/components/data/form/form-action/index.js +107 -85
  144. package/components/data/form/form-body/index.js +52 -26
  145. package/components/data/form/form-context.js +43 -59
  146. package/components/data/form/form-controller/hooks/index.js +43 -57
  147. package/components/data/form/form-controller/props.js +5 -8
  148. package/components/data/form/form-controller/utils.js +54 -49
  149. package/components/data/form/form-controller/validation-contrustor.js +203 -426
  150. package/components/data/form/form-controller/withFormController.js +319 -269
  151. package/components/data/form/form-dynamic-section/index.js +47 -41
  152. package/components/data/form/form-dynamic-section/props.js +0 -5
  153. package/components/data/form/form-field/base-field.js +97 -109
  154. package/components/data/form/form-field/index.js +91 -82
  155. package/components/data/form/form-field/props.js +0 -5
  156. package/components/data/form/form-footer/index.js +52 -25
  157. package/components/data/form/form-header/index.js +61 -58
  158. package/components/data/form/index.js +95 -74
  159. package/components/data/form/props.js +0 -5
  160. package/components/data/list/components/GroupHeader.js +34 -33
  161. package/components/data/list/components/GroupedListItems.js +108 -104
  162. package/components/data/list/components/ListContainer.js +22 -27
  163. package/components/data/list/components/ListDND.js +193 -185
  164. package/components/data/list/components/ListHeader.js +32 -49
  165. package/components/data/list/components/ListItem.js +153 -146
  166. package/components/data/list/components/ListItemWithTemplate.js +87 -105
  167. package/components/data/list/components/ListItems.js +180 -194
  168. package/components/data/list/components/ListPagination.js +127 -153
  169. package/components/data/list/components/LoadMoreButton.js +25 -33
  170. package/components/data/list/components/NoDataMessage.js +9 -22
  171. package/components/data/list/components/StandardListItems.js +79 -85
  172. package/components/data/list/components/index.js +31 -119
  173. package/components/data/list/components/props.js +0 -5
  174. package/components/data/list/hooks/index.js +22 -75
  175. package/components/data/list/hooks/props.js +0 -5
  176. package/components/data/list/hooks/useCurrentPageItems.js +20 -38
  177. package/components/data/list/hooks/useGroupedData.js +19 -33
  178. package/components/data/list/hooks/useListData.js +17 -47
  179. package/components/data/list/hooks/useListEffects.js +168 -237
  180. package/components/data/list/hooks/useListEventHandlers.js +301 -285
  181. package/components/data/list/hooks/useListPagination.js +90 -136
  182. package/components/data/list/hooks/useListState.js +49 -91
  183. package/components/data/list/hooks/useListStateManager.js +104 -159
  184. package/components/data/list/hooks/usePaginatedGroupedData.js +74 -110
  185. package/components/data/list/index.d.ts +1 -0
  186. package/components/data/list/index.js +579 -621
  187. package/components/data/list/props.d.ts +4 -0
  188. package/components/data/list/props.js +0 -5
  189. package/components/data/list/templates/media-template.js +29 -50
  190. package/components/data/list/utils/constants.js +20 -32
  191. package/components/data/list/utils/list-helpers.d.ts +2 -1
  192. package/components/data/list/utils/list-helpers.js +71 -115
  193. package/components/data/list/utils/list-widget-methods.js +56 -76
  194. package/components/data/list/utils/widget-instance-utils.js +20 -57
  195. package/components/data/live-filter/index.js +219 -271
  196. package/components/data/live-filter/props.js +5 -12
  197. package/components/data/live-form/index.js +68 -91
  198. package/components/data/live-form/props.js +5 -12
  199. package/components/data/pagination/components/BasicPagination.js +124 -104
  200. package/components/data/pagination/components/ClassicPagination.js +167 -190
  201. package/components/data/pagination/components/InlinePagination.js +97 -98
  202. package/components/data/pagination/components/LoadingComponent.js +17 -30
  203. package/components/data/pagination/components/PageSizeSelector.js +176 -169
  204. package/components/data/pagination/components/PagerNavigation.js +84 -105
  205. package/components/data/pagination/components/TotalRecords.js +48 -47
  206. package/components/data/pagination/components/index.js +14 -47
  207. package/components/data/pagination/components/props.js +0 -5
  208. package/components/data/pagination/hooks/index.js +6 -19
  209. package/components/data/pagination/hooks/props.js +0 -5
  210. package/components/data/pagination/hooks/useNavigationSize.js +12 -21
  211. package/components/data/pagination/hooks/usePagination.js +702 -905
  212. package/components/data/pagination/index.js +336 -389
  213. package/components/data/table/components/AddNewRow.js +122 -154
  214. package/components/data/table/components/EditableCell.js +68 -75
  215. package/components/data/table/components/FieldValidationError.js +19 -20
  216. package/components/data/table/components/RowCells.js +97 -80
  217. package/components/data/table/components/RowExpansionButton.js +43 -39
  218. package/components/data/table/components/SummaryCell.js +54 -88
  219. package/components/data/table/components/SummaryRow.js +45 -52
  220. package/components/data/table/components/SummaryRowFooter.js +35 -42
  221. package/components/data/table/components/TableBody.js +222 -218
  222. package/components/data/table/components/TableDataRow.js +113 -106
  223. package/components/data/table/components/TableFilters.js +391 -390
  224. package/components/data/table/components/TableFooterActions.js +25 -32
  225. package/components/data/table/components/TableHeader.js +460 -435
  226. package/components/data/table/components/TablePanelHeading.js +157 -181
  227. package/components/data/table/components/index.js +27 -95
  228. package/components/data/table/hooks/index.js +21 -230
  229. package/components/data/table/hooks/use-edited-rows.js +59 -94
  230. package/components/data/table/hooks/useCellState.js +58 -83
  231. package/components/data/table/hooks/useCustomExpressionColumns.js +65 -86
  232. package/components/data/table/hooks/useDynamicColumns.js +59 -92
  233. package/components/data/table/hooks/useEditingState.js +30 -41
  234. package/components/data/table/hooks/useFormWidget.js +163 -172
  235. package/components/data/table/hooks/usePaginationState.js +67 -77
  236. package/components/data/table/hooks/usePanelStructure.js +47 -41
  237. package/components/data/table/hooks/useResponsiveColumns.js +14 -20
  238. package/components/data/table/hooks/useRowExpansion.js +131 -127
  239. package/components/data/table/hooks/useRowHandlers.js +56 -69
  240. package/components/data/table/hooks/useRowSelection.js +249 -329
  241. package/components/data/table/hooks/useServerSideSorting.js +109 -175
  242. package/components/data/table/hooks/useTableColumns.js +322 -331
  243. package/components/data/table/hooks/useTableData.js +111 -166
  244. package/components/data/table/hooks/useTableEdit.js +526 -564
  245. package/components/data/table/hooks/useTableEffects.js +60 -107
  246. package/components/data/table/hooks/useTableFilter.js +244 -237
  247. package/components/data/table/hooks/useTableInitialization.js +44 -76
  248. package/components/data/table/hooks/useTableState.js +39 -61
  249. package/components/data/table/hooks/useTableStateManager.js +295 -468
  250. package/components/data/table/index.js +1553 -1713
  251. package/components/data/table/live-table/index.js +157 -219
  252. package/components/data/table/props.js +0 -5
  253. package/components/data/table/table-action/index.js +97 -75
  254. package/components/data/table/table-column/index.js +48 -42
  255. package/components/data/table/table-group/index.js +7 -25
  256. package/components/data/table/table-row/index.js +63 -55
  257. package/components/data/table/table-row-action/index.js +102 -77
  258. package/components/data/table/utils/buildSelectionColumns.js +86 -137
  259. package/components/data/table/utils/columnBuilder.js +116 -158
  260. package/components/data/table/utils/columnProxy.js +48 -66
  261. package/components/data/table/utils/columnWidthDistribution.js +40 -64
  262. package/components/data/table/utils/constants.js +92 -40
  263. package/components/data/table/utils/crud-handlers.js +292 -473
  264. package/components/data/table/utils/dynamic-columns.js +99 -144
  265. package/components/data/table/utils/groupHeaderUtils.js +36 -61
  266. package/components/data/table/utils/index.d.ts +8 -5
  267. package/components/data/table/utils/index.js +419 -639
  268. package/components/data/table/utils/renderDisplayCell.js +127 -169
  269. package/components/data/table/utils/script-page-size-broadcast.js +17 -29
  270. package/components/data/table/utils/selectionUtils.js +59 -113
  271. package/components/data/table/utils/table-helpers.js +38 -74
  272. package/components/data/table/utils/validation.js +35 -78
  273. package/components/data/table/utils/widgetMapping.d.ts +5 -0
  274. package/components/data/table/utils/widgetMapping.js +41 -0
  275. package/components/data/types.js +112 -112
  276. package/components/data/utils/field-data-utils.js +38 -42
  277. package/components/data/utils/filter-field-util.js +42 -44
  278. package/components/data/utils/index.js +112 -111
  279. package/components/dialogs/alert-dialog/index.js +83 -78
  280. package/components/dialogs/alert-dialog/props.js +0 -5
  281. package/components/dialogs/confirm-dialog/index.js +102 -92
  282. package/components/dialogs/confirm-dialog/props.js +0 -5
  283. package/components/dialogs/dialog/index.js +93 -69
  284. package/components/dialogs/dialog/props.js +0 -5
  285. package/components/dialogs/dialog-actions/index.js +12 -26
  286. package/components/dialogs/dialog-actions/props.js +0 -5
  287. package/components/dialogs/dialog-body/index.js +13 -30
  288. package/components/dialogs/dialog-body/props.js +0 -5
  289. package/components/dialogs/dialog-content/index.js +48 -41
  290. package/components/dialogs/dialog-content/props.js +0 -5
  291. package/components/dialogs/dialog-header/index.js +88 -101
  292. package/components/dialogs/dialog-header/props.js +0 -5
  293. package/components/dialogs/iframe-dialog/index.js +136 -128
  294. package/components/dialogs/iframe-dialog/props.js +0 -5
  295. package/components/dialogs/index.js +104 -101
  296. package/components/dialogs/login-dialog/index.js +285 -347
  297. package/components/dialogs/login-dialog/props.js +0 -5
  298. package/components/dialogs/page-dialog/index.js +95 -86
  299. package/components/dialogs/page-dialog/props.js +0 -5
  300. package/components/dialogs/props.js +0 -5
  301. package/components/dialogs/withDialogWrapper.js +110 -83
  302. package/components/form/button/index.js +296 -245
  303. package/components/form/button/props.js +0 -5
  304. package/components/form/button-group/index.js +80 -69
  305. package/components/form/button-group/props.js +0 -5
  306. package/components/input/calendar/index.js +409 -362
  307. package/components/input/calendar/props.js +0 -5
  308. package/components/input/calendar/utils.js +164 -172
  309. package/components/input/chips/SortableChip/index.js +109 -100
  310. package/components/input/chips/SortableChip/props.js +0 -5
  311. package/components/input/chips/index.js +663 -570
  312. package/components/input/chips/props.js +0 -5
  313. package/components/input/chips/utils.js +131 -122
  314. package/components/input/color-picker/index.js +536 -594
  315. package/components/input/color-picker/props.js +0 -5
  316. package/components/input/composite/index.js +71 -110
  317. package/components/input/composite/props.js +0 -5
  318. package/components/input/currency/index.js +277 -224
  319. package/components/input/currency/props.js +0 -5
  320. package/components/input/default/checkbox/index.js +329 -250
  321. package/components/input/default/checkbox/props.js +0 -5
  322. package/components/input/default/checkboxset/index.d.ts +2 -0
  323. package/components/input/default/checkboxset/index.js +529 -446
  324. package/components/input/default/checkboxset/props.d.ts +4 -0
  325. package/components/input/default/checkboxset/props.js +0 -5
  326. package/components/input/default/checkboxset/utils.js +15 -25
  327. package/components/input/default/radioset/index.d.ts +2 -0
  328. package/components/input/default/radioset/index.js +409 -350
  329. package/components/input/default/radioset/props.d.ts +6 -0
  330. package/components/input/default/radioset/props.js +0 -5
  331. package/components/input/default/switch/index.js +494 -458
  332. package/components/input/default/switch/prop.js +0 -5
  333. package/components/input/epoch/date/components/DatePickerPopover.js +242 -193
  334. package/components/input/epoch/date/index.js +638 -518
  335. package/components/input/epoch/date/props.js +0 -5
  336. package/components/input/epoch/date/styled.js +61 -70
  337. package/components/input/epoch/date/utils.js +67 -115
  338. package/components/input/epoch/datetime/index.js +758 -695
  339. package/components/input/epoch/datetime/props.js +0 -5
  340. package/components/input/epoch/datetime/utils.js +121 -186
  341. package/components/input/epoch/time/index.js +441 -415
  342. package/components/input/epoch/time/props.js +0 -5
  343. package/components/input/epoch/time/utils.js +101 -112
  344. package/components/input/fileupload/Utils.js +70 -97
  345. package/components/input/fileupload/components/ListItems.js +132 -130
  346. package/components/input/fileupload/components/MultiUpload.js +80 -77
  347. package/components/input/fileupload/components/SingleUpload.js +57 -57
  348. package/components/input/fileupload/index.js +253 -178
  349. package/components/input/fileupload/props.js +0 -5
  350. package/components/input/fileupload/useFileUpload.js +209 -258
  351. package/components/input/number/index.js +434 -393
  352. package/components/input/number/props.js +0 -5
  353. package/components/input/rating/index.js +401 -394
  354. package/components/input/rating/props.js +0 -5
  355. package/components/input/select/index.js +408 -463
  356. package/components/input/select/props.js +0 -5
  357. package/components/input/slider/index.js +339 -332
  358. package/components/input/slider/props.js +0 -5
  359. package/components/input/text/index.d.ts +3 -3
  360. package/components/input/text/index.js +438 -475
  361. package/components/input/text/props.d.ts +1 -1
  362. package/components/input/text/props.js +0 -5
  363. package/components/input/text/util.js +82 -222
  364. package/components/input/textarea/index.js +322 -358
  365. package/components/input/textarea/props.js +0 -5
  366. package/components/input/upload/index.js +135 -131
  367. package/components/input/upload/props.js +0 -5
  368. package/components/input/util/index.js +9 -11
  369. package/components/layout/footer/index.js +12 -35
  370. package/components/layout/footer/props.js +0 -5
  371. package/components/layout/header/index.js +12 -38
  372. package/components/layout/header/props.js +0 -5
  373. package/components/layout/leftnav/index.js +38 -44
  374. package/components/layout/leftnav/props.js +0 -5
  375. package/components/layout/rightnav/index.js +12 -36
  376. package/components/layout/rightnav/props.js +0 -5
  377. package/components/layout/topnav/index.js +24 -38
  378. package/components/layout/topnav/props.js +0 -5
  379. package/components/navbar/index.js +119 -98
  380. package/components/navbar/nav/index.js +236 -232
  381. package/components/navbar/nav/props.js +0 -5
  382. package/components/navbar/nav-item/index.js +74 -65
  383. package/components/navbar/nav-item/props.js +0 -5
  384. package/components/navigation/breadcrumb/index.js +38 -61
  385. package/components/navigation/breadcrumb/props.js +0 -5
  386. package/components/navigation/menu/components/ListItems.js +76 -67
  387. package/components/navigation/menu/constants.js +27 -42
  388. package/components/navigation/menu/hooks/useHoverState.hook.js +20 -47
  389. package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +34 -28
  390. package/components/navigation/menu/hooks/useTransformedDataset.hook.js +21 -14
  391. package/components/navigation/menu/index.js +911 -846
  392. package/components/navigation/menu/props.js +0 -5
  393. package/components/navigation/menu/utils/action-task.js +6 -9
  394. package/components/navigation/menu/utils/role-filter.js +41 -56
  395. package/components/navigation/popover/index.js +191 -205
  396. package/components/navigation/popover/props.js +5 -8
  397. package/components/page/content/index.js +9 -31
  398. package/components/page/content/props.js +0 -5
  399. package/components/page/error-boundary/index.js +115 -105
  400. package/components/page/error-boundary/props.js +0 -5
  401. package/components/page/index.js +84 -102
  402. package/components/page/page-content/index.js +21 -30
  403. package/components/page/page-content/props.js +0 -5
  404. package/components/page/partial/index.js +50 -45
  405. package/components/page/partial/props.js +0 -5
  406. package/components/page/partial-container/index.js +81 -107
  407. package/components/page/partial-container/props.d.ts +1 -1
  408. package/components/page/partial-container/props.js +0 -5
  409. package/components/page/props.js +0 -5
  410. package/components/page/toast-container/index.js +20 -41
  411. package/components/page/toast-container/props.js +0 -5
  412. package/components/prefab/container/index.js +60 -53
  413. package/components/prefab/container/props.js +0 -5
  414. package/components/prefab/index.js +76 -61
  415. package/components/prefab/props.js +0 -5
  416. package/context/AppContext.d.ts +1 -1
  417. package/context/AppContext.js +17 -18
  418. package/context/AppSpinnerProvider.js +19 -34
  419. package/context/LayoutProvider.js +54 -57
  420. package/context/LocalizationProvider.js +34 -49
  421. package/context/PrefabContext.js +68 -119
  422. package/context/WidgetProvider.js +160 -166
  423. package/core/app-config.js +0 -1
  424. package/core/app.service.js +200 -327
  425. package/core/appVariablesStore.js +10 -15
  426. package/core/appstore.js +37 -53
  427. package/core/constants/currency-constant.js +81 -83
  428. package/core/constants/events.js +34 -44
  429. package/core/constants/index.js +21 -31
  430. package/core/dialog.service.js +52 -72
  431. package/core/event-notifier.js +94 -131
  432. package/core/formatter/array-formatters.js +18 -32
  433. package/core/formatter/date-formatters.js +140 -204
  434. package/core/formatter/index.js +64 -117
  435. package/core/formatter/number-formatters.js +115 -159
  436. package/core/formatter/security-formatters.js +233 -283
  437. package/core/formatter/string-formatters.js +23 -45
  438. package/core/formatter/types.js +12 -18
  439. package/core/formatters.js +6 -24
  440. package/core/proxy-service.js +242 -306
  441. package/core/script-registry.js +87 -134
  442. package/core/security.service.js +8 -11
  443. package/core/util/compare.js +13 -25
  444. package/core/util/dom.js +32 -63
  445. package/core/util/index.d.ts +5 -0
  446. package/core/util/index.js +95 -95
  447. package/core/util/safe-is-equal.js +42 -94
  448. package/core/util/security.js +114 -153
  449. package/core/util/utils.d.ts +8 -1
  450. package/core/util/utils.js +124 -132
  451. package/core/widget-observer.js +34 -61
  452. package/higherOrder/BaseApp.js +327 -500
  453. package/higherOrder/BaseAppProps.js +0 -5
  454. package/higherOrder/BaseDateTime.js +277 -231
  455. package/higherOrder/BasePage.js +479 -735
  456. package/higherOrder/BasePartial.js +87 -114
  457. package/higherOrder/BasePrefab.js +190 -206
  458. package/higherOrder/DataNav.js +287 -302
  459. package/higherOrder/helper.js +62 -48
  460. package/higherOrder/props.js +0 -5
  461. package/higherOrder/withBaseWrapper.js +123 -168
  462. package/higherOrder/withStandalone.js +28 -26
  463. package/hooks/useAccess.js +113 -289
  464. package/hooks/useAppConfig.js +15 -40
  465. package/hooks/useAuth.js +256 -495
  466. package/hooks/useDataSourceSubscription.d.ts +3 -3
  467. package/hooks/useDataSourceSubscription.js +99 -109
  468. package/hooks/useDebounce.js +28 -56
  469. package/hooks/useDeviceVisibility.js +14 -23
  470. package/hooks/useHttp.d.ts +1 -0
  471. package/hooks/useHttp.js +318 -493
  472. package/libs/index.js +4 -13
  473. package/libs/prefab/index.js +6 -20
  474. package/mui-config/theme-provider.js +9 -17
  475. package/mui-config/theme.js +6 -9
  476. package/package-lock.json +808 -3177
  477. package/package.json +3 -19
  478. package/providers/AppProviders.js +21 -24
  479. package/runtime-dynamic/App.js +65 -93
  480. package/runtime-dynamic/app-initializer.js +207 -400
  481. package/runtime-dynamic/components/ErrorBoundary.js +59 -76
  482. package/runtime-dynamic/components/PageWrapper.js +23 -35
  483. package/runtime-dynamic/components/PrefabPreview.js +40 -69
  484. package/runtime-dynamic/components/partial-content.d.ts +2 -3
  485. package/runtime-dynamic/components/partial-content.js +66 -48
  486. package/runtime-dynamic/components/prefab-content.js +37 -30
  487. package/runtime-dynamic/components/use-dynamic-component.js +62 -150
  488. package/runtime-dynamic/factories/build-base-page-like-component.js +44 -58
  489. package/runtime-dynamic/factories/dynamic-component.d.ts +9 -0
  490. package/runtime-dynamic/factories/dynamic-component.js +83 -0
  491. package/runtime-dynamic/factories/prefab-factory.js +60 -81
  492. package/runtime-dynamic/factories/startup-info.js +12 -25
  493. package/runtime-dynamic/factories/utils.d.ts +1 -9
  494. package/runtime-dynamic/factories/utils.js +47 -130
  495. package/runtime-dynamic/index.js +56 -191
  496. package/runtime-dynamic/main.js +42 -70
  497. package/runtime-dynamic/preview-mode.js +14 -29
  498. package/runtime-dynamic/preview-navigation.js +21 -30
  499. package/runtime-dynamic/preview-path.d.ts +5 -0
  500. package/runtime-dynamic/preview-path.js +13 -0
  501. package/runtime-dynamic/preview-resource-base.js +15 -31
  502. package/runtime-dynamic/registry/component-registry.js +269 -334
  503. package/runtime-dynamic/registry/custom-widget-registry.js +11 -15
  504. package/runtime-dynamic/registry/index.js +24 -63
  505. package/runtime-dynamic/registry/store.d.ts +1 -0
  506. package/runtime-dynamic/registry/store.js +18 -23
  507. package/runtime-dynamic/routes.js +53 -81
  508. package/runtime-dynamic/services/app-extension-provider.js +17 -44
  509. package/runtime-dynamic/services/autolayout-inject.d.ts +4 -0
  510. package/runtime-dynamic/services/autolayout-inject.js +27 -0
  511. package/runtime-dynamic/services/cache.js +27 -33
  512. package/runtime-dynamic/services/compile-render.d.ts +9 -0
  513. package/runtime-dynamic/services/compile-render.js +142 -0
  514. package/runtime-dynamic/services/component-ref-provider.js +70 -124
  515. package/runtime-dynamic/services/css-scoping.js +27 -28
  516. package/runtime-dynamic/services/fragment-url.js +37 -50
  517. package/runtime-dynamic/services/index.js +48 -152
  518. package/runtime-dynamic/services/markup-transpiler.d.ts +2 -2
  519. package/runtime-dynamic/services/markup-transpiler.js +39 -231
  520. package/runtime-dynamic/services/prefab-resources.js +42 -130
  521. package/runtime-dynamic/services/resource-manager.d.ts +2 -1
  522. package/runtime-dynamic/services/resource-manager.js +32 -63
  523. package/runtime-dynamic/services/script-executor.js +50 -61
  524. package/runtime-dynamic/services/variable-factory.js +141 -184
  525. package/runtime-dynamic/services/variable-registry.js +69 -115
  526. package/runtime-dynamic/services/variable-transpiler.js +73 -103
  527. package/runtime-dynamic/shims/next-image.js +79 -50
  528. package/runtime-dynamic/shims/next-link.js +58 -32
  529. package/runtime-dynamic/shims/next-navigation.js +17 -34
  530. package/runtime-dynamic/utils/index.d.ts +2 -0
  531. package/runtime-dynamic/utils/index.js +22 -24
  532. package/store/bindActions/i18nActions.js +16 -18
  533. package/store/index.js +29 -35
  534. package/store/middleware/navigationMiddleware.js +25 -45
  535. package/store/middleware/pendingTabNavigationIntentMiddleware.js +20 -25
  536. package/store/slices/appConfigSlice.js +65 -94
  537. package/store/slices/authSlice.js +317 -471
  538. package/store/slices/i18nSlice.js +169 -168
  539. package/store/slices/navigationSlice.js +22 -20
  540. package/store/util/resolve-path.d.ts +1 -0
  541. package/store/util/resolve-path.js +7 -0
  542. package/store/viewport.service.js +150 -194
  543. package/types/index.js +10 -15
  544. package/utils/attr.js +198 -41
  545. package/utils/custom-expression/index.js +55 -151
  546. package/utils/custom-expression/parser.js +106 -182
  547. package/utils/dataset-util.js +113 -154
  548. package/utils/eval-expression.js +10 -19
  549. package/utils/form-state.util.js +60 -118
  550. package/utils/form-utils.js +49 -190
  551. package/utils/format-util.js +113 -184
  552. package/utils/layoutsize-util.js +11 -17
  553. package/utils/lib-error-skipper.js +54 -52
  554. package/utils/page-params-util.js +50 -40
  555. package/utils/pending-tab-navigation-intent.js +7 -17
  556. package/utils/resource-url.js +8 -19
  557. package/utils/state-persistance.js +136 -253
  558. package/utils/style-utils.d.ts +2 -0
  559. package/utils/style-utils.js +25 -74
  560. package/utils/transformedDataset-utils.js +353 -381
  561. package/utils/widget-cleanup-util.js +42 -74
  562. package/utils/widgets.js +19 -31
  563. package/variables/base-variable.js +117 -166
  564. package/variables/constants.js +5 -8
  565. package/variables/crud-variable.js +150 -181
  566. package/variables/live-variable.d.ts +1 -1
  567. package/variables/live-variable.js +140 -174
  568. package/variables/metadata.service.js +74 -116
  569. package/variables/model-variable.js +68 -78
  570. package/variables/service-variable.js +171 -285
  571. package/wm-namespace.js +11 -14
  572. package/components/chart/src/css.d.js +0 -1
  573. package/tsconfig.declaration.tsbuildinfo +0 -1
  574. package/types/global.d.js +0 -3
@@ -1,74 +1,78 @@
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.transformFormData = exports.transformDataset = exports.transformDataWithKeys = exports.toggleAllHeaders = exports.setItemByCompare = exports.handleHeaderClick = exports.groupData = exports.getUniqObjsByDataField = exports.getOrderedDataset = exports.extractDataAsArray = exports.datasetItems = exports.convertDataToObject = exports.configureDnD = exports.DataSetItem = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _widgets = require("@wavemaker-ai/react-runtime/utils/widgets");
15
- var _lodashEs = require("lodash-es");
16
- var momentLib = _interopRequireWildcard(require("moment"));
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
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
- 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; } } }; }
21
- 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; } }
22
- 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; }
23
- var ALLFIELDS = "All Fields";
24
- var moment = momentLib["default"] || window["moment"];
25
- var isDefined = function isDefined(val) {
26
- return val !== undefined && val !== null;
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
27
16
  };
28
- var getFormattedDate = function getFormattedDate(date, format) {
17
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
18
+ import { getEvaluatedData, getObjValueByKey } from "./widgets";
19
+ import {
20
+ cloneDeep,
21
+ forEach,
22
+ get,
23
+ groupBy as lodashGroupBy,
24
+ includes,
25
+ isArray,
26
+ isEqual,
27
+ memoize,
28
+ isNull,
29
+ isObject,
30
+ isString,
31
+ isUndefined,
32
+ orderBy as _orderBy,
33
+ sortBy as lodashSortBy,
34
+ split,
35
+ trim,
36
+ uniqBy,
37
+ uniqWith,
38
+ values as lodashValues,
39
+ filter
40
+ } from "lodash-es";
41
+ import * as momentLib from "moment";
42
+ const ALLFIELDS = "All Fields";
43
+ const moment = momentLib.default || window["moment"];
44
+ const isDefined = (val) => val !== void 0 && val !== null;
45
+ const getFormattedDate = (date, format) => {
29
46
  return moment(date).format(format);
30
47
  };
31
- var isEqualWithFields = function isEqualWithFields(objA, objB, fieldsStr) {
32
- if (!fieldsStr || !(0, _lodashEs.isString)(fieldsStr)) {
33
- return (0, _lodashEs.isEqual)(objA, objB); // Fallback to deep comparison if no fields specified
48
+ const isEqualWithFields = (objA, objB, fieldsStr) => {
49
+ if (!fieldsStr || !isString(fieldsStr)) {
50
+ return isEqual(objA, objB);
34
51
  }
35
- var fields = fieldsStr.split(",").map(function (f) {
36
- return f.trim();
37
- });
52
+ const fields = fieldsStr.split(",").map((f) => f.trim());
38
53
  if (!objA || !objB) {
39
- return objA === objB; // Handle null/undefined cases
40
- }
41
- var _iterator = _createForOfIteratorHelper(fields),
42
- _step;
43
- try {
44
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
45
- var field = _step.value;
46
- if (!(0, _lodashEs.isEqual)((0, _lodashEs.get)(objA, field), (0, _lodashEs.get)(objB, field))) {
47
- return false;
48
- }
54
+ return objA === objB;
55
+ }
56
+ for (const field of fields) {
57
+ if (!isEqual(get(objA, field), get(objB, field))) {
58
+ return false;
49
59
  }
50
- } catch (err) {
51
- _iterator.e(err);
52
- } finally {
53
- _iterator.f();
54
60
  }
55
61
  return true;
56
62
  };
57
- var GROUP_BY_OPTIONS = {
63
+ const GROUP_BY_OPTIONS = {
58
64
  ALPHABET: "alphabet",
59
65
  WORD: "word",
60
66
  OTHERS: "Others"
61
67
  };
62
- var TIME_ROLLUP_OPTIONS = {
68
+ const TIME_ROLLUP_OPTIONS = {
63
69
  HOUR: "hour",
64
70
  DAY: "day",
65
71
  WEEK: "week",
66
72
  MONTH: "month",
67
73
  YEAR: "year"
68
74
  };
69
-
70
- // Adjusted for moment.js (YYYY for year, DD for day)
71
- var ROLLUP_PATTERNS = {
75
+ const ROLLUP_PATTERNS = {
72
76
  DAY: "YYYY-MM-DD",
73
77
  WEEK: "wo [Week], YYYY",
74
78
  // Example: 42nd Week, 2023 (moment's week format)
@@ -76,134 +80,124 @@ var ROLLUP_PATTERNS = {
76
80
  YEAR: "YYYY",
77
81
  HOUR: "hh:mm A"
78
82
  };
79
- var DataSetItem = exports.DataSetItem = /*#__PURE__*/(0, _createClass2["default"])(function DataSetItem() {
80
- (0, _classCallCheck2["default"])(this, DataSetItem);
81
- (0, _defineProperty2["default"])(this, "key", void 0);
82
- (0, _defineProperty2["default"])(this, "label", void 0);
83
- (0, _defineProperty2["default"])(this, "value", void 0);
84
- (0, _defineProperty2["default"])(this, "dataObject", void 0);
85
- (0, _defineProperty2["default"])(this, "index", void 0);
86
- (0, _defineProperty2["default"])(this, "imgSrc", void 0);
87
- (0, _defineProperty2["default"])(this, "selected", void 0);
88
- (0, _defineProperty2["default"])(this, "children", void 0);
89
- (0, _defineProperty2["default"])(this, "match", void 0);
90
- (0, _defineProperty2["default"])(this, "dateformat", void 0);
91
- });
92
- var _internalTransformDataset = function _internalTransformDataset(dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match) {
93
- return _datasetItems(dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match);
94
- };
95
-
96
- // Custom resolver for memoize to handle multiple arguments correctly
97
- var resolver = function resolver() {
98
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
99
- args[_key] = arguments[_key];
83
+ class DataSetItem {
84
+ constructor() {
85
+ __publicField(this, "key");
86
+ __publicField(this, "label");
87
+ __publicField(this, "value");
88
+ __publicField(this, "dataObject");
89
+ __publicField(this, "index");
90
+ __publicField(this, "imgSrc");
91
+ __publicField(this, "selected");
92
+ __publicField(this, "children");
93
+ __publicField(this, "match");
94
+ __publicField(this, "dateformat");
100
95
  }
101
- return args.map(function (arg) {
96
+ }
97
+ const _internalTransformDataset = (dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match) => {
98
+ return datasetItems(
99
+ dataset,
100
+ datafield,
101
+ displayfield,
102
+ displaylabel,
103
+ displayexpression,
104
+ orderby,
105
+ groupby,
106
+ dataPath,
107
+ itemchildren,
108
+ match
109
+ );
110
+ };
111
+ const resolver = (...args) => {
112
+ return args.map((arg) => {
102
113
  if (typeof arg === "function") {
103
114
  return arg.toString();
104
115
  }
105
116
  return JSON.stringify(arg);
106
117
  }).join("|");
107
118
  };
108
- var transformDataset = exports.transformDataset = (0, _lodashEs.memoize)(_internalTransformDataset, resolver);
109
-
110
- /**
111
- * function to get the ordered dataset based on the given orderby
112
- */
113
- var getOrderedDataset = exports.getOrderedDataset = function getOrderedDataset(dataSet, orderBy, innerItem) {
119
+ const transformDataset = memoize(_internalTransformDataset, resolver);
120
+ const getOrderedDataset = (dataSet, orderBy, innerItem) => {
114
121
  if (!orderBy) {
115
- return (0, _lodashEs.cloneDeep)(dataSet);
116
- }
117
- var items = orderBy.split(",");
118
- var fields = [];
119
- var directions = [];
120
- items.forEach(function (obj) {
121
- var item = obj.split(":");
122
- fields.push(innerItem ? "".concat(innerItem, ".").concat(item[0]) : item[0]);
122
+ return cloneDeep(dataSet);
123
+ }
124
+ const items = orderBy.split(",");
125
+ const fields = [];
126
+ const directions = [];
127
+ items.forEach((obj) => {
128
+ const item = obj.split(":");
129
+ fields.push(innerItem ? `${innerItem}.${item[0]}` : item[0]);
123
130
  directions.push(item[1]);
124
131
  });
125
- return (0, _lodashEs.orderBy)(dataSet, fields, directions);
132
+ return _orderBy(dataSet, fields, directions);
126
133
  };
127
-
128
- /**
129
- * Returns an array of object, each object contain the DataSetItem whose key, value, label are extracted from object keys.
130
- */
131
- var transformDataWithKeys = exports.transformDataWithKeys = function transformDataWithKeys(dataSet) {
132
- var data = [];
133
- if ((0, _lodashEs.isObject)(dataSet[0]) || (0, _lodashEs.isObject)(dataSet) && !(0, _lodashEs.isArray)(dataSet)) {
134
- var objectKeys = Object.keys(dataSet[0] || dataSet);
135
- (0, _lodashEs.forEach)(objectKeys, function (objKey, index) {
134
+ const transformDataWithKeys = (dataSet) => {
135
+ const data = [];
136
+ if (isObject(dataSet[0]) || isObject(dataSet) && !isArray(dataSet)) {
137
+ const objectKeys = Object.keys(dataSet[0] || dataSet);
138
+ forEach(objectKeys, (objKey, index) => {
136
139
  data.push({
137
140
  key: objKey,
138
141
  label: objKey,
139
142
  value: objKey,
140
- index: (index || 0) + 1 // Ensure index is number
143
+ index: (index || 0) + 1
144
+ // Ensure index is number
141
145
  });
142
146
  });
143
147
  }
144
148
  return data;
145
149
  };
146
- var extractDataAsArray = exports.extractDataAsArray = function extractDataAsArray(data) {
147
- if ((0, _lodashEs.isUndefined)(data) || (0, _lodashEs.isNull)(data) || (0, _lodashEs.isString)(data) && (0, _lodashEs.trim)(data) === "") {
150
+ const extractDataAsArray = (data) => {
151
+ if (isUndefined(data) || isNull(data) || isString(data) && trim(data) === "") {
148
152
  return [];
149
153
  }
150
- if ((0, _lodashEs.isString)(data)) {
151
- data = (0, _lodashEs.split)(data, ",").map(function (str) {
152
- return (0, _lodashEs.trim)(str);
153
- });
154
+ if (isString(data)) {
155
+ data = split(data, ",").map((str) => trim(str));
154
156
  }
155
- if (!(0, _lodashEs.isArray)(data)) {
157
+ if (!isArray(data)) {
156
158
  data = [data];
157
159
  }
158
160
  return data;
159
161
  };
160
- var convertDataToObject = exports.convertDataToObject = function convertDataToObject(dataResult) {
161
- if ((0, _lodashEs.isString)(dataResult)) {
162
- dataResult = (0, _lodashEs.split)(dataResult, ",").map(function (str) {
163
- return (0, _lodashEs.trim)(str);
164
- });
162
+ const convertDataToObject = (dataResult) => {
163
+ if (isString(dataResult)) {
164
+ dataResult = split(dataResult, ",").map((str) => trim(str));
165
165
  }
166
166
  return dataResult;
167
167
  };
168
- var isSearchWidget = function isSearchWidget(widgetType) {
169
- return widgetType === "wm-search"; // Assuming 'wm-search' is a string identifier
168
+ const isSearchWidget = (widgetType) => {
169
+ return widgetType === "wm-search";
170
170
  };
171
-
172
- // This function originally used $parseEvent from @wm/core for dynamic expression evaluation.
173
- // In React, it's highly recommended to pass functions directly as props instead of string expressions.
174
- // This adapted version provides a placeholder for simple property access and logs a warning for complex cases.
175
- var setGroupbyKey = function setGroupbyKey(scope, context, dataSetItem, innerItem) {
171
+ const setGroupbyKey = (scope, context, dataSetItem, innerItem) => {
176
172
  if (scope && isSearchWidget(scope.widgetType)) {
177
173
  if (scope.groupby) {
178
- if ((0, _lodashEs.includes)(scope.groupby, "(") || (0, _lodashEs.includes)(scope.groupby, "[")) {
179
- // Complex expression detected. Direct evaluation of arbitrary strings is unsafe and not React-idiomatic.
180
- // Consider refactoring to pass a pre-compiled function for groupby logic.
181
- console.warn("Complex groupby expression \"".concat(scope.groupby, "\" detected for search widget. ") + "This may not work as expected. Refactor to use a function prop.");
182
- // Attempting simple property access as a fallback if context and item are available
174
+ if (includes(scope.groupby, "(") || includes(scope.groupby, "[")) {
175
+ console.warn(
176
+ `Complex groupby expression "${scope.groupby}" detected for search widget. This may not work as expected. Refactor to use a function prop.`
177
+ );
183
178
  if (dataSetItem.dataObject && context) {
184
179
  try {
185
- // This is a very basic attempt and might not cover all original $parseEvent cases.
186
- // For example, if scope.groupby was 'item.name.toUpperCase()', this won't work.
187
- var value = (0, _lodashEs.get)(dataSetItem.dataObject, scope.groupby);
180
+ const value = get(dataSetItem.dataObject, scope.groupby);
188
181
  dataSetItem.key = value;
189
182
  } catch (e) {
190
- console.error("Failed to evaluate groupby expression (simple access):", scope.groupby, e);
183
+ console.error(
184
+ "Failed to evaluate groupby expression (simple access):",
185
+ scope.groupby,
186
+ e
187
+ );
191
188
  dataSetItem.key = GROUP_BY_OPTIONS.OTHERS;
192
189
  }
193
190
  } else {
194
- dataSetItem.key = GROUP_BY_OPTIONS.OTHERS; // Fallback
191
+ dataSetItem.key = GROUP_BY_OPTIONS.OTHERS;
195
192
  }
196
193
  } else {
197
- // Simple field name, try to get it from dataObject
198
- dataSetItem.key = (0, _lodashEs.get)(dataSetItem.dataObject, scope.groupby);
194
+ dataSetItem.key = get(dataSetItem.dataObject, scope.groupby);
199
195
  }
200
196
  } else {
201
- // if groupby is not defined, set the key as datafield value
202
197
  dataSetItem.key = dataSetItem.value;
203
198
  }
204
199
  } else if (dataSetItem.dataObject && scope && scope.groupby) {
205
- // For non-search widgets, if groupby is present
206
- dataSetItem.key = (0, _lodashEs.get)(dataSetItem.dataObject, scope.groupby);
200
+ dataSetItem.key = get(dataSetItem.dataObject, scope.groupby);
207
201
  }
208
202
  };
209
203
  function resolveDataPath(dataSet, dataPath) {
@@ -211,54 +205,38 @@ function resolveDataPath(dataSet, dataPath) {
211
205
  dataSet = [dataSet];
212
206
  }
213
207
  if (!dataPath) return dataSet;
214
-
215
- // Remove leading dot if present and filter out empty segments
216
- var cleanPath = dataPath.startsWith(".") ? dataPath.substring(1) : dataPath;
217
- var pathSegments = cleanPath.split(".").filter(function (segment) {
218
- return segment.length > 0;
219
- });
208
+ const cleanPath = dataPath.startsWith(".") ? dataPath.substring(1) : dataPath;
209
+ const pathSegments = cleanPath.split(".").filter((segment) => segment.length > 0);
220
210
  if (pathSegments.length === 0) return dataSet;
221
- var _flatten = function flatten(data, path) {
211
+ const flatten = (data, path) => {
222
212
  if (path.length === 0) return data;
223
- var nextKey = path[0];
224
- var remainingPath = path.slice(1);
225
- var result = [];
226
- var _iterator2 = _createForOfIteratorHelper(data),
227
- _step2;
228
- try {
229
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
230
- var item = _step2.value;
231
- if (!item || (0, _typeof2["default"])(item) !== "object") continue;
232
- var value = item[nextKey];
233
- if (Array.isArray(value)) {
234
- var next = _flatten(value, remainingPath);
235
- result = result.concat(next);
236
- } else if (((0, _typeof2["default"])(value) === "object" || typeof value === "string") && value !== null) {
237
- var _next = _flatten([value], remainingPath);
238
- result = result.concat(_next);
239
- }
240
- // else: primitive types or undefined → skip
213
+ const nextKey = path[0];
214
+ const remainingPath = path.slice(1);
215
+ let result = [];
216
+ for (const item of data) {
217
+ if (!item || typeof item !== "object") continue;
218
+ const value = item[nextKey];
219
+ if (Array.isArray(value)) {
220
+ const next = flatten(value, remainingPath);
221
+ result = result.concat(next);
222
+ } else if ((typeof value === "object" || typeof value === "string") && value !== null) {
223
+ const next = flatten([value], remainingPath);
224
+ result = result.concat(next);
241
225
  }
242
- } catch (err) {
243
- _iterator2.e(err);
244
- } finally {
245
- _iterator2.f();
246
226
  }
247
227
  return result;
248
228
  };
249
- return _flatten(dataSet, pathSegments);
229
+ return flatten(dataSet, pathSegments);
250
230
  }
251
- var transformFormData = exports.transformFormData = function transformFormData(context, dataSet, myDataField, displayOptions, startIndex, scope, dataPath) {
231
+ const transformFormData = (context, dataSet, myDataField, displayOptions, startIndex, scope, dataPath) => {
252
232
  if (dataPath) {
253
233
  dataSet = resolveDataPath(dataSet, dataPath || "");
254
234
  }
255
- var data = [];
256
- if ((0, _lodashEs.isString)(dataSet)) {
257
- dataSet = dataSet.split(",").map(function (str) {
258
- return str.trim();
259
- });
260
- dataSet.forEach(function (option, index) {
261
- var dataSetItem = {
235
+ const data = [];
236
+ if (isString(dataSet)) {
237
+ dataSet = dataSet.split(",").map((str) => str.trim());
238
+ dataSet.forEach((option, index) => {
239
+ const dataSetItem = {
262
240
  key: option,
263
241
  value: option,
264
242
  label: isDefined(option) && option !== null ? option.toString() : "",
@@ -267,24 +245,24 @@ var transformFormData = exports.transformFormData = function transformFormData(c
267
245
  setGroupbyKey(scope, context, dataSetItem, "value");
268
246
  data.push(dataSetItem);
269
247
  });
270
- } else if ((0, _lodashEs.isArray)(dataSet) && !(0, _lodashEs.isObject)(dataSet[0])) {
271
- // array of primitive values only
272
- dataSet.forEach(function (option, index) {
273
- var dataSetItem = {
274
- key: option,
275
- value: option,
276
- label: isDefined(option) && option !== null ? String(option) : "",
277
- index: (startIndex || 0) + index
278
- };
279
- setGroupbyKey(scope, context, dataSetItem, "value");
280
- data.push(dataSetItem);
281
- });
282
- } else if (!(dataSet instanceof Array) && (0, _lodashEs.isObject)(dataSet)) {
283
- var i = 0;
284
- (0, _lodashEs.forEach)(dataSet, function (value, key) {
285
- // @ts-ignore
286
- var dataSetItem = {
287
- key: (0, _lodashEs.trim)(key),
248
+ } else if (isArray(dataSet) && !isObject(dataSet[0])) {
249
+ dataSet.forEach(
250
+ (option, index) => {
251
+ const dataSetItem = {
252
+ key: option,
253
+ value: option,
254
+ label: isDefined(option) && option !== null ? String(option) : "",
255
+ index: (startIndex || 0) + index
256
+ };
257
+ setGroupbyKey(scope, context, dataSetItem, "value");
258
+ data.push(dataSetItem);
259
+ }
260
+ );
261
+ } else if (!(dataSet instanceof Array) && isObject(dataSet)) {
262
+ const i = 0;
263
+ forEach(dataSet, (value, key) => {
264
+ const dataSetItem = {
265
+ key: trim(key),
288
266
  value: key,
289
267
  label: isDefined(value) && value !== null ? String(value) : "",
290
268
  index: startIndex,
@@ -295,35 +273,40 @@ var transformFormData = exports.transformFormData = function transformFormData(c
295
273
  });
296
274
  } else {
297
275
  if (!myDataField) {
298
- // consider the datafield as 'ALLFIELDS' when datafield is not given.
299
276
  myDataField = ALLFIELDS;
300
277
  }
301
- dataSet.forEach(function (option, index) {
302
- var key = myDataField === ALLFIELDS ? (startIndex !== null && startIndex !== void 0 ? startIndex : 0) + index : (0, _widgets.getObjValueByKey)(option, myDataField);
303
- // Omit all the items whose datafield (key) is null or undefined.
304
- if (!(0, _lodashEs.isUndefined)(key) && !(0, _lodashEs.isNull)(key)) {
305
- var label = (0, _widgets.getEvaluatedData)(option, {
306
- field: displayOptions.displayField,
307
- expression: displayOptions.displayExpr,
308
- bindExpression: displayOptions.bindDisplayExpr
309
- }, option);
310
- // If label is empty and there's no displayexpression/displayfield, use datafield value (key) as label
311
- var hasDisplayExpr = displayOptions === null || displayOptions === void 0 ? void 0 : displayOptions.displayExpr;
312
- var hasDisplayField = displayOptions === null || displayOptions === void 0 ? void 0 : displayOptions.displayField; // Check if displayfield was originally provided
313
- var finalLabel = isDefined(label) && label !== null ? label.toString() : !hasDisplayExpr && !hasDisplayField && key !== undefined && key !== null ? String(key) : "";
314
- var dataSetItem = {
315
- key: key,
278
+ dataSet.forEach((option, index) => {
279
+ const key = myDataField === ALLFIELDS ? (startIndex != null ? startIndex : 0) + index : getObjValueByKey(option, myDataField);
280
+ if (!isUndefined(key) && !isNull(key)) {
281
+ const label = getEvaluatedData(
282
+ option,
283
+ {
284
+ field: displayOptions.displayField,
285
+ expression: displayOptions.displayExpr,
286
+ bindExpression: displayOptions.bindDisplayExpr
287
+ },
288
+ option
289
+ );
290
+ const hasDisplayExpr = displayOptions == null ? void 0 : displayOptions.displayExpr;
291
+ const hasDisplayField = displayOptions == null ? void 0 : displayOptions.displayField;
292
+ const finalLabel = isDefined(label) && label !== null ? label.toString() : !hasDisplayExpr && !hasDisplayField && key !== void 0 && key !== null ? String(key) : "";
293
+ const dataSetItem = {
294
+ key,
316
295
  label: finalLabel,
317
296
  value: myDataField === ALLFIELDS ? option : key,
318
297
  dataObject: option,
319
298
  // represents the object when datafield is ALLFIELDS. This is used as innerItem while grouping the datasetItems.
320
- index: (startIndex !== null && startIndex !== void 0 ? startIndex : 0) + index
299
+ index: (startIndex != null ? startIndex : 0) + index
321
300
  };
322
301
  if (displayOptions.displayImgSrc || displayOptions.bindDisplayImgSrc) {
323
- dataSetItem.imgSrc = (0, _widgets.getEvaluatedData)(option, {
324
- expression: displayOptions.displayImgSrc,
325
- bindExpression: displayOptions.bindDisplayImgSrc
326
- }, context);
302
+ dataSetItem.imgSrc = getEvaluatedData(
303
+ option,
304
+ {
305
+ expression: displayOptions.displayImgSrc,
306
+ bindExpression: displayOptions.bindDisplayImgSrc
307
+ },
308
+ context
309
+ );
327
310
  }
328
311
  setGroupbyKey(scope, context, dataSetItem, "dataObject");
329
312
  data.push(dataSetItem);
@@ -332,180 +315,190 @@ var transformFormData = exports.transformFormData = function transformFormData(c
332
315
  }
333
316
  return data;
334
317
  };
335
- var getUniqObjsByDataField = exports.getUniqObjsByDataField = function getUniqObjsByDataField(data, dataField, displayField, allowEmptyFields) {
336
- var uniqData;
337
- var isAllFields = dataField === ALLFIELDS;
338
- uniqData = isAllFields ? (0, _lodashEs.uniqWith)(data, _lodashEs.isEqual) : (0, _lodashEs.uniqBy)(data, "key");
318
+ const getUniqObjsByDataField = (data, dataField, displayField, allowEmptyFields) => {
319
+ let uniqData;
320
+ const isAllFields = dataField === ALLFIELDS;
321
+ uniqData = isAllFields ? uniqWith(data, isEqual) : uniqBy(data, "key");
339
322
  if (!displayField || allowEmptyFields) {
340
323
  return uniqData;
341
324
  }
342
-
343
- // return objects having non empty datafield and display field values.
344
- return (0, _lodashEs.filter)(uniqData, function (obj) {
325
+ return filter(uniqData, (obj) => {
345
326
  if (isAllFields) {
346
- return (0, _lodashEs.trim)(obj.label);
327
+ return trim(obj.label);
347
328
  }
348
- return (0, _lodashEs.trim)(obj.key) && (0, _lodashEs.trim)(obj.label);
329
+ return trim(obj.key) && trim(obj.label);
349
330
  });
350
331
  };
351
- var setItemByCompare = exports.setItemByCompare = function setItemByCompare(datasetItems, compareWithDataObj, compareByField) {
352
- return datasetItems.find(function (item) {
332
+ const setItemByCompare = (datasetItems2, compareWithDataObj, compareByField) => {
333
+ return datasetItems2.find((item) => {
353
334
  if (item.dataObject) {
354
335
  return isEqualWithFields(compareWithDataObj, item.dataObject, compareByField);
355
336
  }
356
337
  return false;
357
338
  });
358
339
  };
359
- var getSortedGroupedData = function getSortedGroupedData(groupedLiData, groupBy, orderby) {
360
- var data = (0, _lodashEs.values)(groupedLiData).map(function (val) {
340
+ const getSortedGroupedData = (groupedLiData, groupBy, orderby) => {
341
+ const data = lodashValues(groupedLiData).map((val) => {
361
342
  if (orderby) {
362
343
  val.data = getOrderedDataset(val.data, orderby, "dataObject");
363
344
  }
364
345
  return val;
365
346
  });
366
- return (0, _lodashEs.sortBy)(data, "data[0].dataObject.".concat(groupBy));
347
+ return lodashSortBy(data, `data[0].dataObject.${groupBy}`);
367
348
  };
368
- var _datasetItems = exports.datasetItems = function datasetItems(dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match) {
349
+ const datasetItems = (dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match) => {
350
+ var _a, _b, _c, _d;
369
351
  if (!dataset) return [];
370
- var items = transformFormData(null, dataset, datafield, {
371
- displayField: displayfield || displaylabel,
372
- displayExpr: displayexpression
373
- }, 0, null, dataPath);
374
- items = getUniqObjsByDataField(items, datafield, displayfield || displaylabel, false);
352
+ let items = transformFormData(
353
+ null,
354
+ dataset,
355
+ datafield,
356
+ {
357
+ displayField: displayfield || displaylabel,
358
+ displayExpr: displayexpression
359
+ },
360
+ 0,
361
+ null,
362
+ dataPath
363
+ );
364
+ items = getUniqObjsByDataField(
365
+ items,
366
+ datafield,
367
+ displayfield || displaylabel,
368
+ false
369
+ );
375
370
  if (orderby) {
376
- var orderFields = orderby.split(",");
377
- items.sort(function (a, b) {
378
- var _iterator3 = _createForOfIteratorHelper(orderFields),
379
- _step3;
380
- try {
381
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
382
- var _a$dataObject, _b$dataObject;
383
- var orderField = _step3.value;
384
- var _orderField$split = orderField.split(":"),
385
- _orderField$split2 = (0, _slicedToArray2["default"])(_orderField$split, 2),
386
- field = _orderField$split2[0],
387
- order = _orderField$split2[1];
388
- var aVal = String(((_a$dataObject = a.dataObject) === null || _a$dataObject === void 0 ? void 0 : _a$dataObject[field]) || a.label || "");
389
- var bVal = String(((_b$dataObject = b.dataObject) === null || _b$dataObject === void 0 ? void 0 : _b$dataObject[field]) || b.label || "");
390
- var comparison = order === "desc" ? bVal.localeCompare(aVal, "en", {
391
- numeric: true
392
- }) : aVal.localeCompare(bVal, "en", {
393
- numeric: true
394
- });
395
- if (comparison !== 0) return comparison;
396
- }
397
- } catch (err) {
398
- _iterator3.e(err);
399
- } finally {
400
- _iterator3.f();
371
+ const orderFields = orderby.split(",");
372
+ items.sort((a, b) => {
373
+ var _a2, _b2;
374
+ for (const orderField of orderFields) {
375
+ const [field, order] = orderField.split(":");
376
+ const aVal = String(((_a2 = a.dataObject) == null ? void 0 : _a2[field]) || a.label || "");
377
+ const bVal = String(((_b2 = b.dataObject) == null ? void 0 : _b2[field]) || b.label || "");
378
+ const comparison = order === "desc" ? bVal.localeCompare(aVal, "en", { numeric: true }) : aVal.localeCompare(bVal, "en", { numeric: true });
379
+ if (comparison !== 0) return comparison;
401
380
  }
402
381
  return 0;
403
382
  });
404
383
  }
405
- var _iterator4 = _createForOfIteratorHelper(items),
406
- _step4;
407
- try {
408
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
409
- var item = _step4.value;
410
- var children = void 0;
411
- if (typeof itemchildren === "function") {
412
- var _itemchildren;
413
- children = (_itemchildren = itemchildren(item === null || item === void 0 ? void 0 : item.dataObject)) !== null && _itemchildren !== void 0 ? _itemchildren : itemchildren(item);
414
- if (Array.isArray(children)) {
415
- var sortedChildren = _datasetItems(children, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match);
416
- if (itemchildren(item === null || item === void 0 ? void 0 : item.dataObject)) {
417
- if (item.dataObject) item.dataObject.children = sortedChildren;
418
- } else if (itemchildren(item)) {
419
- item.children = sortedChildren;
420
- }
384
+ for (const item of items) {
385
+ let children;
386
+ if (typeof itemchildren === "function") {
387
+ children = (_a = itemchildren(item == null ? void 0 : item.dataObject)) != null ? _a : itemchildren(item);
388
+ if (Array.isArray(children)) {
389
+ const sortedChildren = datasetItems(
390
+ children,
391
+ datafield,
392
+ displayfield,
393
+ displaylabel,
394
+ displayexpression,
395
+ orderby,
396
+ groupby,
397
+ dataPath,
398
+ itemchildren,
399
+ match
400
+ );
401
+ if (itemchildren(item == null ? void 0 : item.dataObject)) {
402
+ if (item.dataObject) item.dataObject.children = sortedChildren;
403
+ } else if (itemchildren(item)) {
404
+ item.children = sortedChildren;
421
405
  }
422
- } else {
423
- var _item$dataObject$item, _item$dataObject;
424
- children = (_item$dataObject$item = item === null || item === void 0 || (_item$dataObject = item.dataObject) === null || _item$dataObject === void 0 ? void 0 : _item$dataObject[itemchildren]) !== null && _item$dataObject$item !== void 0 ? _item$dataObject$item : item === null || item === void 0 ? void 0 : item[itemchildren];
425
- if (Array.isArray(children)) {
426
- var _item$dataObject2;
427
- var _sortedChildren = _datasetItems(children, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match);
428
- if (item !== null && item !== void 0 && (_item$dataObject2 = item.dataObject) !== null && _item$dataObject2 !== void 0 && _item$dataObject2[itemchildren]) {
429
- item.dataObject.children = _sortedChildren;
430
- } else if (item !== null && item !== void 0 && item[itemchildren]) {
431
- item.children = _sortedChildren;
432
- }
406
+ }
407
+ } else {
408
+ children = (_c = (_b = item == null ? void 0 : item.dataObject) == null ? void 0 : _b[itemchildren]) != null ? _c : item == null ? void 0 : item[itemchildren];
409
+ if (Array.isArray(children)) {
410
+ const sortedChildren = datasetItems(
411
+ children,
412
+ datafield,
413
+ displayfield,
414
+ displaylabel,
415
+ displayexpression,
416
+ orderby,
417
+ groupby,
418
+ dataPath,
419
+ itemchildren,
420
+ match
421
+ );
422
+ if ((_d = item == null ? void 0 : item.dataObject) == null ? void 0 : _d[itemchildren]) {
423
+ item.dataObject.children = sortedChildren;
424
+ } else if (item == null ? void 0 : item[itemchildren]) {
425
+ item.children = sortedChildren;
433
426
  }
434
427
  }
435
428
  }
436
- } catch (err) {
437
- _iterator4.e(err);
438
- } finally {
439
- _iterator4.f();
440
429
  }
441
430
  if (groupby) {
442
431
  items = groupData(null, items, groupby, match || "word", "", "");
443
432
  }
444
433
  return items;
445
434
  };
446
- var groupData = exports.groupData = function groupData(compRef, data, groupby, match, orderby, dateformat) {
447
- var innerItem = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : "dataObject";
448
- var AppDefaults = arguments.length > 7 ? arguments[7] : undefined;
435
+ const groupData = (compRef, data, groupby, match, orderby, dateformat, innerItem = "dataObject", AppDefaults) => {
449
436
  if (!groupby || !data || !data.length) {
450
437
  return [];
451
438
  }
452
- var groupedData = getGroupedData(data, groupby, match, orderby, dateformat, innerItem, AppDefaults);
439
+ const groupedData = getGroupedData(
440
+ data,
441
+ groupby,
442
+ match,
443
+ orderby,
444
+ dateformat,
445
+ innerItem,
446
+ AppDefaults
447
+ );
453
448
  return getSortedGroupedData(groupedData, groupby, orderby);
454
449
  };
455
- var getGroupedData = function getGroupedData(fieldDefs, groupby, match, orderby, dateFormat, innerItem, AppDefaults) {
456
- var mappedData = fieldDefs.map(function (item) {
457
- var groupByKey = groupDataByField(groupby, match, innerItem, dateFormat, /*datePipe,*/AppDefaults, item);
458
- return {
459
- groupByKey: groupByKey,
460
- data: item
461
- };
450
+ const getGroupedData = (fieldDefs, groupby, match, orderby, dateFormat, innerItem, AppDefaults) => {
451
+ const mappedData = fieldDefs.map((item) => {
452
+ const groupByKey = groupDataByField(
453
+ groupby,
454
+ match,
455
+ innerItem,
456
+ dateFormat,
457
+ /*datePipe,*/
458
+ AppDefaults,
459
+ item
460
+ );
461
+ return { groupByKey, data: item };
462
462
  });
463
- var groupedData = (0, _lodashEs.groupBy)(mappedData, "groupByKey");
464
-
465
- // Format for final structure {key: groupName, data: [items]}
466
- var result = {};
467
- (0, _lodashEs.forEach)(groupedData, function (value, key) {
468
- result[key] = {
469
- key: key,
470
- data: value.map(function (v) {
471
- return v.data;
472
- })
473
- };
463
+ const groupedData = lodashGroupBy(mappedData, "groupByKey");
464
+ const result = {};
465
+ forEach(groupedData, (value, key) => {
466
+ result[key] = { key, data: value.map((v) => v.data) };
474
467
  });
475
468
  return result;
476
469
  };
477
- var filterDateReact = function filterDateReact(value, format, defaultFormat) {
470
+ const filterDateReact = (value, format, defaultFormat) => {
478
471
  if (!isDefined(value) || value === "") {
479
472
  return "";
480
473
  }
481
- var mDate = moment(value);
474
+ const mDate = moment(value);
482
475
  if (mDate.isValid()) {
483
476
  return mDate.format(format || defaultFormat);
484
477
  }
485
- return String(value); // Return original if not a valid date
478
+ return String(value);
486
479
  };
487
- var getTimeRolledUpString = function getTimeRolledUpString(concatStr, rollUp, dateformat, AppDefaults) {
480
+ const getTimeRolledUpString = (concatStr, rollUp, dateformat, AppDefaults) => {
488
481
  if (!isDefined(concatStr) || concatStr === "") {
489
482
  return GROUP_BY_OPTIONS.OTHERS;
490
483
  }
491
- var mDate = moment(concatStr);
484
+ const mDate = moment(concatStr);
492
485
  if (!mDate.isValid()) {
493
486
  return GROUP_BY_OPTIONS.OTHERS;
494
487
  }
495
- var appDateFormat = AppDefaults && AppDefaults.dateFormat ? AppDefaults.dateFormat : "yyyy-MM-dd";
496
- var calendarDayFormats = {
488
+ const appDateFormat = AppDefaults && AppDefaults.dateFormat ? AppDefaults.dateFormat : "yyyy-MM-dd";
489
+ const calendarDayFormats = {
497
490
  lastDay: "[Yesterday]",
498
491
  lastWeek: "[Last] dddd",
499
492
  nextDay: "[Tomorrow]",
500
493
  nextWeek: "dddd",
501
494
  sameDay: "[Today]",
502
- sameElse: appDateFormat.replace(/y/g, "Y").replace(/d/g, "D") // Adjust to moment format tokens
495
+ sameElse: appDateFormat.replace(/y/g, "Y").replace(/d/g, "D")
496
+ // Adjust to moment format tokens
503
497
  };
504
498
  if (rollUp === TIME_ROLLUP_OPTIONS.DAY) {
505
499
  return mDate.calendar(null, calendarDayFormats);
506
500
  }
507
501
  if (rollUp === TIME_ROLLUP_OPTIONS.WEEK) {
508
- // Example: 'Week 1, 2023' or use specific format from ROLLUP_PATTERNS
509
502
  return mDate.format(ROLLUP_PATTERNS.WEEK || "wo [Week], YYYY");
510
503
  }
511
504
  if (rollUp === TIME_ROLLUP_OPTIONS.MONTH) {
@@ -515,23 +508,20 @@ var getTimeRolledUpString = function getTimeRolledUpString(concatStr, rollUp, da
515
508
  return mDate.format(ROLLUP_PATTERNS.YEAR || "YYYY");
516
509
  }
517
510
  if (rollUp === TIME_ROLLUP_OPTIONS.HOUR) {
518
- // Check if it's today to show 'Today, 09:00 AM', else 'YYYY-MM-DD, 09:00 AM'
519
- var baseFormat = ROLLUP_PATTERNS.HOUR || "hh:mm A";
511
+ const baseFormat = ROLLUP_PATTERNS.HOUR || "hh:mm A";
520
512
  if (mDate.isSame(moment(), "day")) {
521
- return "[Today], ".concat(mDate.format(baseFormat));
513
+ return `[Today], ${mDate.format(baseFormat)}`;
522
514
  }
523
- return mDate.format("".concat(ROLLUP_PATTERNS.DAY, ", ").concat(baseFormat));
515
+ return mDate.format(`${ROLLUP_PATTERNS.DAY}, ${baseFormat}`);
524
516
  }
525
-
526
- // Default if no rollup matched, or for custom date formats if applicable
527
517
  if (dateformat) {
528
518
  return filterDateReact(mDate.toDate(), dateformat, appDateFormat);
529
519
  }
530
520
  return mDate.format(appDateFormat.replace(/y/g, "Y").replace(/d/g, "D"));
531
521
  };
532
- var groupDataByField = function groupDataByField(groupby, match, innerItem, dateFormat, AppDefaults, liData) {
533
- var concatStr = (0, _lodashEs.get)(innerItem ? liData[innerItem] : liData, groupby);
534
- if ((0, _lodashEs.isUndefined)(concatStr) || (0, _lodashEs.isNull)(concatStr) || (0, _lodashEs.isString)(concatStr) && concatStr.toString().trim() === "") {
522
+ const groupDataByField = (groupby, match, innerItem, dateFormat, AppDefaults, liData) => {
523
+ let concatStr = get(innerItem ? liData[innerItem] : liData, groupby);
524
+ if (isUndefined(concatStr) || isNull(concatStr) || isString(concatStr) && concatStr.toString().trim() === "") {
535
525
  return GROUP_BY_OPTIONS.OTHERS;
536
526
  }
537
527
  if (match === GROUP_BY_OPTIONS.ALPHABET) {
@@ -540,29 +530,18 @@ var groupDataByField = function groupDataByField(groupby, match, innerItem, date
540
530
  if (match === GROUP_BY_OPTIONS.WORD) {
541
531
  return String(concatStr);
542
532
  }
543
- if ((0, _lodashEs.includes)((0, _lodashEs.values)(TIME_ROLLUP_OPTIONS), match)) {
533
+ if (includes(lodashValues(TIME_ROLLUP_OPTIONS), match)) {
544
534
  return getTimeRolledUpString(String(concatStr), match, dateFormat, AppDefaults);
545
535
  }
546
536
  return String(concatStr);
547
537
  };
548
-
549
- /**
550
- * Utility functions for list group operations
551
- */
552
-
553
- /**
554
- * Toggle all list items in all groups
555
- * @param containerRef - Reference to the container element
556
- * @returns void
557
- */
558
- var toggleAllHeaders = exports.toggleAllHeaders = function toggleAllHeaders(containerRef) {
559
- var groups = containerRef.querySelectorAll(".item-group");
560
- groups.forEach(function (group) {
561
- var listItems = group.querySelectorAll(".group-list-item");
562
- var icon = group.querySelector("li.list-group-header .app-icon");
563
- listItems.forEach(function (item) {
564
- // Toggle visibility
565
- var currentDisplay = window.getComputedStyle(item).display;
538
+ const toggleAllHeaders = (containerRef) => {
539
+ const groups = containerRef.querySelectorAll(".item-group");
540
+ groups.forEach((group) => {
541
+ const listItems = group.querySelectorAll(".group-list-item");
542
+ const icon = group.querySelector("li.list-group-header .app-icon");
543
+ listItems.forEach((item) => {
544
+ const currentDisplay = window.getComputedStyle(item).display;
566
545
  item.style.display = currentDisplay === "none" ? "block" : "none";
567
546
  });
568
547
  if (icon) {
@@ -576,18 +555,12 @@ var toggleAllHeaders = exports.toggleAllHeaders = function toggleAllHeaders(cont
576
555
  }
577
556
  });
578
557
  };
579
-
580
- /**
581
- * Handle click on a group header
582
- * @param event - Click event
583
- * @returns void
584
- */
585
- var handleHeaderClick = exports.handleHeaderClick = function handleHeaderClick(event) {
586
- var target = event.target;
587
- var selectedGroup = target.closest(".item-group");
558
+ const handleHeaderClick = (event) => {
559
+ const target = event.target;
560
+ const selectedGroup = target.closest(".item-group");
588
561
  if (!selectedGroup) return;
589
- var selectedAppIcon = selectedGroup.querySelector("li.list-group-header .app-icon");
590
- var listItems = selectedGroup.querySelectorAll(".group-list-item");
562
+ const selectedAppIcon = selectedGroup.querySelector("li.list-group-header .app-icon");
563
+ const listItems = selectedGroup.querySelectorAll(".group-list-item");
591
564
  if (selectedAppIcon) {
592
565
  if (selectedAppIcon.classList.contains("wi-chevron-down")) {
593
566
  selectedAppIcon.classList.remove("wi-chevron-down");
@@ -597,26 +570,13 @@ var handleHeaderClick = exports.handleHeaderClick = function handleHeaderClick(e
597
570
  selectedAppIcon.classList.add("wi-chevron-down");
598
571
  }
599
572
  }
600
- listItems.forEach(function (item) {
601
- var currentDisplay = window.getComputedStyle(item).display;
573
+ listItems.forEach((item) => {
574
+ const currentDisplay = window.getComputedStyle(item).display;
602
575
  item.style.display = currentDisplay === "none" ? "block" : "none";
603
576
  });
604
577
  };
605
- /**
606
- * Configure drag and drop functionality
607
- * Note: This is a basic implementation. For production use, consider using modern libraries like react-beautiful-dnd
608
- * @param element - Element to make sortable
609
- * @param options - Sortable options
610
- * @param onDragStart - Callback when drag starts
611
- * @param onUpdate - Callback when sorting ends and DOM position changes
612
- * @param onSort - Optional callback during sorting
613
- */
614
- var configureDnD = exports.configureDnD = function configureDnD(element) {
615
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
616
- var onDragStart = arguments.length > 2 ? arguments[2] : undefined;
617
- var onUpdate = arguments.length > 3 ? arguments[3] : undefined;
618
- var onSort = arguments.length > 4 ? arguments[4] : undefined;
619
- var defaultOptions = {
578
+ const configureDnD = (element, options = {}, onDragStart, onUpdate, onSort) => {
579
+ const defaultOptions = {
620
580
  containment: element,
621
581
  delay: 100,
622
582
  opacity: 0.8,
@@ -624,22 +584,34 @@ var configureDnD = exports.configureDnD = function configureDnD(element) {
624
584
  zIndex: 1050,
625
585
  tolerance: "pointer"
626
586
  };
627
- var finalOptions = _objectSpread(_objectSpread({}, defaultOptions), options);
628
-
629
- // Add drag and drop event listeners
587
+ const finalOptions = __spreadValues(__spreadValues({}, defaultOptions), options);
630
588
  element.addEventListener("dragstart", onDragStart);
631
589
  element.addEventListener("dragend", onUpdate);
632
590
  if (onSort) {
633
591
  element.addEventListener("drag", onSort);
634
592
  }
635
-
636
- // Make children draggable
637
- var draggableItems = element.children;
638
- Array.from(draggableItems).forEach(function (item) {
593
+ const draggableItems = element.children;
594
+ Array.from(draggableItems).forEach((item) => {
639
595
  item.draggable = true;
640
596
  item.style.userSelect = "none";
641
597
  if (finalOptions.opacity) {
642
598
  item.style.opacity = "1";
643
599
  }
644
600
  });
645
- };
601
+ };
602
+ export {
603
+ DataSetItem,
604
+ configureDnD,
605
+ convertDataToObject,
606
+ datasetItems,
607
+ extractDataAsArray,
608
+ getOrderedDataset,
609
+ getUniqObjsByDataField,
610
+ groupData,
611
+ handleHeaderClick,
612
+ setItemByCompare,
613
+ toggleAllHeaders,
614
+ transformDataWithKeys,
615
+ transformDataset,
616
+ transformFormData
617
+ };