@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,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
+ };