@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,454 +1,401 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _clsx = _interopRequireDefault(require("clsx"));
13
- var _Box = _interopRequireDefault(require("@mui/material/Box"));
14
- var _hooks = require("./hooks");
15
- var _components = require("./components");
16
- var _constants = require("../list/utils/constants");
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" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
18
- var __jsx = _react["default"].createElement;
19
- function 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; }
20
- 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; }
21
- var WmPagination = /*#__PURE__*/(0, _react.memo)(function (props) {
22
- var name = props.name,
23
- dataset = props.dataset,
24
- _props$maxResults = props.maxResults,
25
- maxResults = _props$maxResults === void 0 ? 10 : _props$maxResults,
26
- currentPage = props.currentPage,
27
- _props$navigation = props.navigation,
28
- navigation = _props$navigation === void 0 ? _constants.LIST_NAVIGATION_TYPES.BASIC : _props$navigation,
29
- navigationsize = props.navigationsize,
30
- _props$navigationalig = props.navigationalign,
31
- navigationalign = _props$navigationalig === void 0 ? _constants.LIST_ALIGN.LEFT : _props$navigationalig,
32
- _props$showrecordcoun = props.showrecordcount,
33
- showrecordcount = _props$showrecordcoun === void 0 ? false : _props$showrecordcoun,
34
- _props$maxsize = props.maxsize,
35
- maxsize = _props$maxsize === void 0 ? 5 : _props$maxsize,
36
- _props$boundarylinks = props.boundarylinks,
37
- boundarylinks = _props$boundarylinks === void 0 ? false : _props$boundarylinks,
38
- _props$directionlinks = props.directionlinks,
39
- directionlinks = _props$directionlinks === void 0 ? true : _props$directionlinks,
40
- _props$allowpagesizec = props.allowpagesizechange,
41
- allowpagesizechange = _props$allowpagesizec === void 0 ? false : _props$allowpagesizec,
42
- _props$pagesizeoption = props.pagesizeoptions,
43
- pagesizeoptions = _props$pagesizeoption === void 0 ? "5,10,20,50,100" : _props$pagesizeoption,
44
- className = props.className,
45
- styles = props.styles,
46
- listener = props.listener,
47
- onPaginationChange = props.onPaginationChange,
48
- onSetRecord = props.onSetRecord,
49
- onPageSizeChange = props.onPageSizeChange,
50
- datasource = props.datasource,
51
- isLoadingMore = props.isLoadingMore,
52
- setIsLoadingMore = props.setIsLoadingMore,
53
- isServerSidePagination = props.isServerSidePagination,
54
- onDataUpdate = props.onDataUpdate,
55
- _props$ondemandmessag = props.ondemandmessage,
56
- ondemandmessage = _props$ondemandmessag === void 0 ? "Load More" : _props$ondemandmessag,
57
- _props$viewlessmessag = props.viewlessmessage,
58
- viewlessmessage = _props$viewlessmessag === void 0 ? "View Less" : _props$viewlessmessag,
59
- _props$showviewlessbu = props.showviewlessbutton,
60
- showviewlessbutton = _props$showviewlessbu === void 0 ? false : _props$showviewlessbu,
61
- listDirection = props.listDirection,
62
- scrollContainerRef = props.scrollContainerRef;
63
-
64
- // Custom hooks for pagination logic and navigation sizing
65
- var pagination = (0, _hooks.usePagination)({
66
- dataset: dataset,
67
- maxResults: maxResults,
68
- currentPage: currentPage,
69
- navigation: navigation,
70
- name: name,
71
- listener: listener,
72
- onPaginationChange: onPaginationChange,
73
- onSetRecord: onSetRecord,
74
- onPageSizeChange: onPageSizeChange,
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
21
+ import React, { memo, useMemo, useEffect } from "react";
22
+ import clsx from "clsx";
23
+ import Box from "@mui/material/Box";
24
+ import { usePagination, useNavigationSize } from "./hooks";
25
+ import {
26
+ BasicPagination,
27
+ ClassicPagination,
28
+ PagerNavigation,
29
+ TotalRecords,
30
+ PageSizeSelector
31
+ } from "./components";
32
+ import { LIST_ALIGN, LIST_NAVIGATION_TYPES } from "../list/utils/constants";
33
+ const WmPagination = memo((props) => {
34
+ const {
35
+ name,
36
+ dataset,
37
+ maxResults = 10,
38
+ currentPage,
39
+ navigation = LIST_NAVIGATION_TYPES.BASIC,
40
+ navigationsize,
41
+ navigationalign = LIST_ALIGN.LEFT,
42
+ showrecordcount = false,
43
+ maxsize = 5,
44
+ boundarylinks = false,
45
+ directionlinks = true,
46
+ allowpagesizechange = false,
47
+ pagesizeoptions = "5,10,20,50,100",
48
+ className,
49
+ styles,
50
+ listener,
51
+ onPaginationChange,
52
+ onSetRecord,
53
+ onPageSizeChange,
54
+ datasource,
55
+ isLoadingMore,
56
+ setIsLoadingMore,
57
+ isServerSidePagination,
58
+ onDataUpdate,
59
+ // On-Demand navigation props
60
+ ondemandmessage = "Load More",
61
+ viewlessmessage = "View Less",
62
+ showviewlessbutton = false,
63
+ listDirection,
64
+ scrollContainerRef
65
+ } = props;
66
+ const pagination = usePagination({
67
+ dataset,
68
+ maxResults,
69
+ currentPage,
70
+ navigation,
71
+ name,
72
+ listener,
73
+ onPaginationChange,
74
+ onSetRecord,
75
+ onPageSizeChange,
75
76
  paginationMeta: props.paginationMeta,
76
77
  totalItems: props.totalItems,
77
- datasource: datasource,
78
- isLoadingMore: isLoadingMore,
79
- setIsLoadingMore: setIsLoadingMore,
80
- isServerSidePagination: isServerSidePagination,
81
- listDirection: listDirection,
82
- scrollContainerRef: scrollContainerRef,
78
+ datasource,
79
+ isLoadingMore,
80
+ setIsLoadingMore,
81
+ isServerSidePagination,
82
+ listDirection,
83
+ scrollContainerRef,
83
84
  sentinelRef: props.sentinelRef,
84
85
  datasourceInvokeOptions: props.datasourceInvokeOptions
85
86
  });
86
-
87
- // Notify parent component when data changes in Scroll or On-Demand mode
88
- var prevResultLengthRef = _react["default"].useRef(0);
89
- _react["default"].useEffect(function () {
90
- var isAccumulatingMode = navigation === "Scroll" || navigation === "On-Demand";
87
+ const prevResultLengthRef = React.useRef(0);
88
+ React.useEffect(() => {
89
+ const isAccumulatingMode = navigation === "Scroll" || navigation === "On-Demand";
91
90
  if (isAccumulatingMode && onDataUpdate && pagination.result) {
92
- // Only update if the result length has changed (new data added)
93
91
  if (pagination.result.length !== prevResultLengthRef.current) {
94
92
  prevResultLengthRef.current = pagination.result.length;
95
93
  onDataUpdate(pagination.result);
96
94
  }
97
95
  }
98
96
  }, [navigation, onDataUpdate, pagination.result]);
99
- var _useNavigationSize = (0, _hooks.useNavigationSize)({
100
- navigation: navigation,
101
- navigationsize: navigationsize
102
- }),
103
- navigationClass = _useNavigationSize.navigationClass;
104
-
105
- // Attach dataNavigator API to pagination widget proxy (like Angular's @ViewChild)
106
- // Update properties every render so they stay current (like Angular component instance)
107
- (0, _react.useEffect)(function () {
108
- var _listener$Widgets, _listener$Widgets2, _props$onPaginationWi;
109
- if (!name || !(listener !== null && listener !== void 0 && (_listener$Widgets = listener.Widgets) !== null && _listener$Widgets !== void 0 && _listener$Widgets[name])) return;
110
- var paginationWidget = listener === null || listener === void 0 || (_listener$Widgets2 = listener.Widgets) === null || _listener$Widgets2 === void 0 ? void 0 : _listener$Widgets2[name];
111
-
112
- // Spread entire pagination object to avoid manual property copying
113
- // This includes: currentPage, pageCount, dataSize, result, navigatePage, etc.
97
+ const { navigationClass } = useNavigationSize({
98
+ navigation,
99
+ navigationsize
100
+ });
101
+ useEffect(() => {
102
+ var _a, _b, _c;
103
+ if (!name || !((_a = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a[name])) return;
104
+ const paginationWidget = (_b = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _b[name];
114
105
  Object.assign(paginationWidget, pagination, {
115
106
  // Add convenience navigation methods
116
- goToFirstPage: function goToFirstPage() {
117
- return pagination.navigatePage("first");
118
- },
119
- goToLastPage: function goToLastPage() {
120
- return pagination.navigatePage("last");
121
- },
122
- goToNextPage: function goToNextPage() {
123
- return pagination.navigatePage("next");
124
- },
125
- goToPreviousPage: function goToPreviousPage() {
126
- return pagination.navigatePage("prev");
127
- },
107
+ goToFirstPage: () => pagination.navigatePage("first"),
108
+ goToLastPage: () => pagination.navigatePage("last"),
109
+ goToNextPage: () => pagination.navigatePage("next"),
110
+ goToPreviousPage: () => pagination.navigatePage("prev"),
128
111
  actualPageSize: pagination.currentMaxResults
129
112
  });
130
-
131
- // Notify parent once on mount
132
- props === null || props === void 0 || (_props$onPaginationWi = props.onPaginationWidgetReady) === null || _props$onPaginationWi === void 0 || _props$onPaginationWi.call(props, paginationWidget);
133
- }, [name, pagination, props === null || props === void 0 ? void 0 : props.onPaginationWidgetReady]);
134
-
135
- // Memoized flex container styles for better performance
136
- var flexContainerStyles = (0, _react.useMemo)(function () {
137
- var baseStyles = {
113
+ (_c = props == null ? void 0 : props.onPaginationWidgetReady) == null ? void 0 : _c.call(props, paginationWidget);
114
+ }, [name, pagination, props == null ? void 0 : props.onPaginationWidgetReady]);
115
+ const flexContainerStyles = useMemo(() => {
116
+ const baseStyles = {
138
117
  display: "flex",
139
118
  alignItems: "center",
140
119
  width: "100%",
141
120
  gap: 2
142
121
  };
143
-
144
- // When showrecordcount is false, align based on navigationalign
145
- // When showrecordcount is true, use space-between for proper distribution
146
122
  if (!showrecordcount) {
147
- return _objectSpread(_objectSpread({}, baseStyles), {}, {
123
+ return __spreadProps(__spreadValues({}, baseStyles), {
148
124
  justifyContent: navigationalign === "right" ? "flex-end" : navigationalign === "center" ? "center" : "flex-start"
149
125
  });
150
126
  }
151
- return _objectSpread(_objectSpread({}, baseStyles), {}, {
127
+ return __spreadProps(__spreadValues({}, baseStyles), {
152
128
  justifyContent: "space-between"
153
129
  });
154
130
  }, [showrecordcount, navigationalign]);
155
-
156
- // Memoized common page size selector
157
- var pageSizeSelector = (0, _react.useMemo)(function () {
158
- var _props$paginationMeta;
131
+ const pageSizeSelector = useMemo(() => {
132
+ var _a;
159
133
  if (!allowpagesizechange) return null;
160
-
161
- // Parse page size options to get the minimum value
162
- var parsedOptions = pagesizeoptions.split(",").map(function (opt) {
163
- return parseInt(opt.trim(), 10);
164
- }).filter(function (opt) {
165
- return !isNaN(opt);
166
- });
167
-
168
- // Include paginationMeta.size if available
169
- if ((_props$paginationMeta = props.paginationMeta) !== null && _props$paginationMeta !== void 0 && _props$paginationMeta.size && !parsedOptions.includes(props.paginationMeta.size)) {
134
+ const parsedOptions = pagesizeoptions.split(",").map((opt) => parseInt(opt.trim(), 10)).filter((opt) => !isNaN(opt));
135
+ if (((_a = props.paginationMeta) == null ? void 0 : _a.size) && !parsedOptions.includes(props.paginationMeta.size)) {
170
136
  parsedOptions.push(props.paginationMeta.size);
171
137
  }
172
- var minPageSize = parsedOptions.length > 0 ? Math.min.apply(Math, (0, _toConsumableArray2["default"])(parsedOptions)) : 0;
173
-
174
- // Hide page size selector if total records is less than or equal to the minimum page size
175
- // since all records are already visible
138
+ const minPageSize = parsedOptions.length > 0 ? Math.min(...parsedOptions) : 0;
176
139
  if (pagination.dataSize < minPageSize) return null;
177
- return __jsx(_components.PageSizeSelector, {
178
- pagesizeoptions: pagesizeoptions,
179
- maxResults: pagination.currentMaxResults,
180
- currentPage: pagination.currentPage,
181
- dataSize: pagination.dataSize,
182
- paginationMeta: props.paginationMeta,
183
- onPageSizeChange: pagination.handlePageSizeChange
184
- });
185
- }, [allowpagesizechange, pagesizeoptions, pagination.currentMaxResults, pagination.currentPage, pagination.dataSize, pagination.handlePageSizeChange, props.paginationMeta]);
186
-
187
- // Simple layout helper function - not memoized to avoid dependency issues
188
- var renderWithLayout = function renderWithLayout(children, recordCountVariant) {
189
- // When showrecordcount is false, use simple flex container with alignment
140
+ return /* @__PURE__ */ jsx(
141
+ PageSizeSelector,
142
+ {
143
+ pagesizeoptions,
144
+ maxResults: pagination.currentMaxResults,
145
+ currentPage: pagination.currentPage,
146
+ dataSize: pagination.dataSize,
147
+ paginationMeta: props.paginationMeta,
148
+ onPageSizeChange: pagination.handlePageSizeChange
149
+ }
150
+ );
151
+ }, [
152
+ allowpagesizechange,
153
+ pagesizeoptions,
154
+ pagination.currentMaxResults,
155
+ pagination.currentPage,
156
+ pagination.dataSize,
157
+ pagination.handlePageSizeChange,
158
+ props.paginationMeta
159
+ ]);
160
+ const renderWithLayout = (children, recordCountVariant) => {
190
161
  if (!showrecordcount) {
191
- return __jsx(_Box["default"], {
192
- sx: flexContainerStyles
193
- }, __jsx(_Box["default"], {
194
- sx: {
195
- display: "flex",
196
- alignItems: "center",
197
- gap: 2
198
- }
199
- }, children));
162
+ return /* @__PURE__ */ jsx(Box, { sx: flexContainerStyles, children: /* @__PURE__ */ jsx(Box, { sx: { display: "flex", alignItems: "center", gap: 2 }, children }) });
200
163
  }
201
-
202
- // When showrecordcount is true, use complex layout with proper distribution
203
164
  if (navigationalign === "center") {
204
- return __jsx(_Box["default"], {
205
- sx: flexContainerStyles
206
- }, __jsx(_Box["default"], {
207
- sx: {
208
- flex: 1
209
- }
210
- }), __jsx(_Box["default"], {
211
- sx: {
212
- display: "flex",
213
- alignItems: "center",
214
- gap: 2
215
- }
216
- }, children, __jsx(_components.TotalRecords, {
217
- dataSize: pagination.dataSize,
218
- variant: recordCountVariant
219
- })), __jsx(_Box["default"], {
220
- sx: {
221
- flex: 1
222
- }
223
- }));
165
+ return /* @__PURE__ */ jsxs(Box, { sx: flexContainerStyles, children: [
166
+ /* @__PURE__ */ jsx(Box, { sx: { flex: 1 } }),
167
+ /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", alignItems: "center", gap: 2 }, children: [
168
+ children,
169
+ /* @__PURE__ */ jsx(TotalRecords, { dataSize: pagination.dataSize, variant: recordCountVariant })
170
+ ] }),
171
+ /* @__PURE__ */ jsx(Box, { sx: { flex: 1 } })
172
+ ] });
224
173
  }
225
- return __jsx(_Box["default"], {
226
- sx: flexContainerStyles
227
- }, __jsx(_Box["default"], {
228
- sx: {
229
- display: "flex",
230
- alignItems: "center",
231
- gap: 2,
232
- order: navigationalign === "right" ? 2 : 1
233
- }
234
- }, children), __jsx(_Box["default"], {
235
- sx: {
236
- order: navigationalign === "right" ? 1 : 2
237
- }
238
- }, __jsx(_components.TotalRecords, {
239
- dataSize: pagination.dataSize,
240
- variant: recordCountVariant
241
- })));
174
+ return /* @__PURE__ */ jsxs(Box, { sx: flexContainerStyles, children: [
175
+ /* @__PURE__ */ jsx(
176
+ Box,
177
+ {
178
+ sx: {
179
+ display: "flex",
180
+ alignItems: "center",
181
+ gap: 2,
182
+ order: navigationalign === "right" ? 2 : 1
183
+ },
184
+ children
185
+ }
186
+ ),
187
+ /* @__PURE__ */ jsx(Box, { sx: { order: navigationalign === "right" ? 1 : 2 }, children: /* @__PURE__ */ jsx(TotalRecords, { dataSize: pagination.dataSize, variant: recordCountVariant }) })
188
+ ] });
242
189
  };
243
-
244
- // Render navigation components directly - avoid over-memoization
245
- var renderNavigation = function renderNavigation() {
246
- // Only show navigation when there are multiple pages (i.e., not all items are visible on current page)
247
- var showNavigation = pagination.pageCount > 1;
190
+ const renderNavigation = () => {
191
+ const showNavigation = pagination.pageCount > 1;
248
192
  switch (pagination.navcontrols) {
249
193
  case "Basic":
250
- return showNavigation ? __jsx(_components.BasicPagination, {
251
- pageCount: pagination.pageCount,
252
- currentPage: pagination.currentPage,
253
- dataSize: pagination.dataSize,
254
- maxResults: pagination.currentMaxResults,
255
- boundarylinks: boundarylinks,
256
- directionlinks: directionlinks,
257
- navigationsize: navigationsize,
258
- navigationClass: navigationClass,
259
- maxsize: maxsize,
260
- onPageChange: pagination.handlePageChange
261
- }) : null;
194
+ return showNavigation ? /* @__PURE__ */ jsx(
195
+ BasicPagination,
196
+ {
197
+ pageCount: pagination.pageCount,
198
+ currentPage: pagination.currentPage,
199
+ dataSize: pagination.dataSize,
200
+ maxResults: pagination.currentMaxResults,
201
+ boundarylinks,
202
+ directionlinks,
203
+ navigationsize,
204
+ navigationClass,
205
+ maxsize,
206
+ onPageChange: pagination.handlePageChange
207
+ }
208
+ ) : null;
262
209
  case "Classic":
263
- return showNavigation ? __jsx(_components.ClassicPagination, {
264
- currentPage: pagination.currentPage,
265
- pageCount: pagination.pageCount,
266
- dataSize: pagination.dataSize,
267
- maxResults: pagination.currentMaxResults,
268
- navigationClass: navigationClass,
269
- showrecordcount: false,
270
- isDisableFirst: pagination.isDisableFirst,
271
- isDisablePrevious: pagination.isDisablePrevious,
272
- isDisableNext: pagination.isDisableNext,
273
- isDisableLast: pagination.isDisableLast,
274
- isDisableCurrent: pagination.isDisableCurrent,
275
- isDisableCount: pagination.isDisableCount,
276
- onNavigate: pagination.navigatePage,
277
- onInputChange: pagination.handleInputChange,
278
- onModelChange: pagination.onModelChange,
279
- onKeyDown: pagination.onKeyDown
280
- }) : null;
210
+ return showNavigation ? /* @__PURE__ */ jsx(
211
+ ClassicPagination,
212
+ {
213
+ currentPage: pagination.currentPage,
214
+ pageCount: pagination.pageCount,
215
+ dataSize: pagination.dataSize,
216
+ maxResults: pagination.currentMaxResults,
217
+ navigationClass,
218
+ showrecordcount: false,
219
+ isDisableFirst: pagination.isDisableFirst,
220
+ isDisablePrevious: pagination.isDisablePrevious,
221
+ isDisableNext: pagination.isDisableNext,
222
+ isDisableLast: pagination.isDisableLast,
223
+ isDisableCurrent: pagination.isDisableCurrent,
224
+ isDisableCount: pagination.isDisableCount,
225
+ onNavigate: pagination.navigatePage,
226
+ onInputChange: pagination.handleInputChange,
227
+ onModelChange: pagination.onModelChange,
228
+ onKeyDown: pagination.onKeyDown
229
+ }
230
+ ) : null;
281
231
  case "Pager":
282
- return showNavigation ? __jsx(_components.PagerNavigation, {
283
- navigationClass: navigationClass,
284
- isDisablePrevious: pagination.isDisablePrevious,
285
- isDisableNext: pagination.isDisableNext,
286
- onNavigate: pagination.navigatePage
287
- }) : null;
232
+ return showNavigation ? /* @__PURE__ */ jsx(
233
+ PagerNavigation,
234
+ {
235
+ navigationClass,
236
+ isDisablePrevious: pagination.isDisablePrevious,
237
+ isDisableNext: pagination.isDisableNext,
238
+ onNavigate: pagination.navigatePage
239
+ }
240
+ ) : null;
288
241
  default:
289
242
  return null;
290
243
  }
291
244
  };
292
-
293
- // Simple render function - avoid over-optimization that causes re-renders
294
- var renderPaginationContent = function renderPaginationContent() {
245
+ const renderPaginationContent = () => {
295
246
  if (navigation === "None" || navigation === "Scroll") {
296
247
  return null;
297
248
  }
298
- var navigationComponent = renderNavigation();
299
- var content = __jsx(_react["default"].Fragment, null, pageSizeSelector, navigationComponent);
300
-
301
- // Single-page datasets have no nav arrows or page-size row; still show Total records when enabled
249
+ const navigationComponent = renderNavigation();
250
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
251
+ pageSizeSelector,
252
+ navigationComponent
253
+ ] });
302
254
  if (!pageSizeSelector && !navigationComponent && !showrecordcount) {
303
255
  return null;
304
256
  }
305
-
306
- // Get the appropriate record count variant based on navigation type
307
- var recordCountVariant = pagination.navcontrols === "Classic" ? "Classic" : "Basic";
257
+ const recordCountVariant = pagination.navcontrols === "Classic" ? "Classic" : "Basic";
308
258
  return renderWithLayout(content, recordCountVariant);
309
259
  };
310
-
311
- // Render On-Demand navigation content
312
260
  if (pagination.navcontrols === "On-Demand") {
313
- // Check if there's data to show and it's more than one page worth
314
- // Don't show navigation if data is empty or already shows all items
315
- var hasEnoughData = pagination.dataSize > 0 && pagination.dataSize > pagination.currentMaxResults;
316
-
317
- // Determine if we should show Load More button
318
- // Only show when there's more data AND accumulated data is less than total
319
- var shouldShowLoadMore = hasEnoughData && pagination.hasMoreData && pagination.accumulatedDataCount < pagination.dataSize;
320
-
321
- // Determine if we should show View Less button
322
- // Show when all data is loaded, showviewlessbutton is true, and more than first page is loaded
323
- var shouldShowViewLess = hasEnoughData && !pagination.hasMoreData && showviewlessbutton && pagination.accumulatedDataCount > pagination.currentMaxResults;
324
-
325
- // Determine which button to show (if any)
326
- var showButton = shouldShowLoadMore || shouldShowViewLess;
327
-
328
- // If nothing to show and not loading, return null
261
+ const hasEnoughData = pagination.dataSize > 0 && pagination.dataSize > pagination.currentMaxResults;
262
+ const shouldShowLoadMore = hasEnoughData && pagination.hasMoreData && pagination.accumulatedDataCount < pagination.dataSize;
263
+ const shouldShowViewLess = hasEnoughData && !pagination.hasMoreData && showviewlessbutton && pagination.accumulatedDataCount > pagination.currentMaxResults;
264
+ const showButton = shouldShowLoadMore || shouldShowViewLess;
329
265
  if (!showButton && !pagination.isLoadingMore) {
330
266
  return null;
331
267
  }
332
-
333
- // Determine button properties based on state
334
- var buttonText = shouldShowViewLess ? viewlessmessage : ondemandmessage;
335
- var buttonAction = shouldShowViewLess ? pagination.resetAccumulatedData : pagination.loadMoreData;
336
- return __jsx(_Box["default"], {
337
- component: "div",
338
- className: (0, _clsx["default"])("on-demand-datagrid", className),
339
- sx: _objectSpread({}, styles),
340
- id: name
341
- }, pagination.isLoadingMore && __jsx(_Box["default"], {
342
- component: "div",
343
- className: "loading-data-msg spin-icon-in-center",
344
- sx: {
345
- textAlign: "center",
346
- padding: "16px"
347
- }
348
- }, __jsx(_Box["default"], {
349
- component: "span"
350
- }, __jsx(_Box["default"], {
351
- component: "i",
352
- className: "app-icon panel-icon fa-spin fa fa-circle-o-notch",
353
- "aria-hidden": "true"
354
- }), __jsx(_Box["default"], {
355
- component: "span",
356
- className: "sr-only"
357
- }, "Loading"), __jsx(_Box["default"], {
358
- component: "span",
359
- className: "loading-text",
360
- sx: {
361
- marginLeft: 1
268
+ const buttonText = shouldShowViewLess ? viewlessmessage : ondemandmessage;
269
+ const buttonAction = shouldShowViewLess ? pagination.resetAccumulatedData : pagination.loadMoreData;
270
+ return /* @__PURE__ */ jsxs(
271
+ Box,
272
+ {
273
+ component: "div",
274
+ className: clsx("on-demand-datagrid", className),
275
+ sx: __spreadValues({}, styles),
276
+ id: name,
277
+ children: [
278
+ pagination.isLoadingMore && /* @__PURE__ */ jsx(
279
+ Box,
280
+ {
281
+ component: "div",
282
+ className: "loading-data-msg spin-icon-in-center",
283
+ sx: { textAlign: "center", padding: "16px" },
284
+ children: /* @__PURE__ */ jsxs(Box, { component: "span", children: [
285
+ /* @__PURE__ */ jsx(
286
+ Box,
287
+ {
288
+ component: "i",
289
+ className: "app-icon panel-icon fa-spin fa fa-circle-o-notch",
290
+ "aria-hidden": "true"
291
+ }
292
+ ),
293
+ /* @__PURE__ */ jsx(Box, { component: "span", className: "sr-only", children: "Loading" }),
294
+ /* @__PURE__ */ jsx(Box, { component: "span", className: "loading-text", sx: { marginLeft: 1 }, children: "Loading..." })
295
+ ] })
296
+ }
297
+ ),
298
+ showButton && !pagination.isLoadingMore && /* @__PURE__ */ jsx(
299
+ Box,
300
+ {
301
+ component: "a",
302
+ className: "app-button btn btn-block on-demand-load-btn",
303
+ onClick: buttonAction,
304
+ sx: {
305
+ cursor: "pointer",
306
+ display: "block",
307
+ textAlign: "center",
308
+ padding: "10px",
309
+ "&:hover": {
310
+ textDecoration: "none"
311
+ }
312
+ },
313
+ children: buttonText
314
+ }
315
+ )
316
+ ]
362
317
  }
363
- }, "Loading..."))), showButton && !pagination.isLoadingMore && __jsx(_Box["default"], {
364
- component: "a",
365
- className: "app-button btn btn-block on-demand-load-btn",
366
- onClick: buttonAction,
367
- sx: {
368
- cursor: "pointer",
369
- display: "block",
370
- textAlign: "center",
371
- padding: "10px",
372
- "&:hover": {
373
- textDecoration: "none"
374
- }
375
- }
376
- }, buttonText));
318
+ );
377
319
  }
378
-
379
- // Render infinite scroll content
380
320
  if (pagination.navcontrols === "Scroll") {
381
- var _hasEnoughData = pagination.dataSize > 0 && pagination.dataSize > pagination.currentMaxResults;
382
- var shouldShowViewLessInScroll = _hasEnoughData && !pagination.hasMoreData && showviewlessbutton && pagination.accumulatedDataCount > pagination.currentMaxResults;
383
- var showVerticalScrollSentinel = listDirection === "column" || listDirection === "vertical";
384
- return __jsx(_Box["default"], {
385
- className: (0, _clsx["default"])("app-datanavigator clearfix", className),
386
- sx: _objectSpread(_objectSpread({}, styles), {}, {
387
- width: "100%",
388
- position: "relative"
389
- }),
390
- id: name
391
- }, pagination.isLoadingMore && __jsx(_Box["default"], {
392
- sx: {
393
- display: "flex",
394
- justifyContent: "center",
395
- alignItems: "center",
396
- padding: 2,
397
- width: "100%",
398
- textAlign: "center"
399
- }
400
- }, __jsx(_Box["default"], {
401
- className: "status"
402
- }, __jsx("i", {
403
- className: "fa fa-circle-o-notch fa-spin"
404
- }), __jsx(_Box["default"], {
405
- component: "span",
406
- className: "message",
407
- sx: {
408
- marginLeft: 1
321
+ const hasEnoughData = pagination.dataSize > 0 && pagination.dataSize > pagination.currentMaxResults;
322
+ const shouldShowViewLessInScroll = hasEnoughData && !pagination.hasMoreData && showviewlessbutton && pagination.accumulatedDataCount > pagination.currentMaxResults;
323
+ const showVerticalScrollSentinel = listDirection === "column" || listDirection === "vertical";
324
+ return /* @__PURE__ */ jsxs(
325
+ Box,
326
+ {
327
+ className: clsx("app-datanavigator clearfix", className),
328
+ sx: __spreadProps(__spreadValues({}, styles), {
329
+ width: "100%",
330
+ position: "relative"
331
+ }),
332
+ id: name,
333
+ children: [
334
+ pagination.isLoadingMore && /* @__PURE__ */ jsx(
335
+ Box,
336
+ {
337
+ sx: {
338
+ display: "flex",
339
+ justifyContent: "center",
340
+ alignItems: "center",
341
+ padding: 2,
342
+ width: "100%",
343
+ textAlign: "center"
344
+ },
345
+ children: /* @__PURE__ */ jsxs(Box, { className: "status", children: [
346
+ /* @__PURE__ */ jsx("i", { className: "fa fa-circle-o-notch fa-spin" }),
347
+ /* @__PURE__ */ jsx(Box, { component: "span", className: "message", sx: { marginLeft: 1 }, children: "Loading..." })
348
+ ] })
349
+ }
350
+ ),
351
+ shouldShowViewLessInScroll && /* @__PURE__ */ jsx(
352
+ Box,
353
+ {
354
+ component: "a",
355
+ className: "app-button btn btn-block on-demand-load-btn",
356
+ onClick: pagination.resetAccumulatedData,
357
+ children: viewlessmessage
358
+ }
359
+ ),
360
+ showVerticalScrollSentinel && /* @__PURE__ */ jsx(
361
+ Box,
362
+ {
363
+ ref: (el) => {
364
+ if (pagination.sentinelRef) {
365
+ pagination.sentinelRef.current = el;
366
+ }
367
+ },
368
+ sx: {
369
+ position: "absolute",
370
+ bottom: 0,
371
+ left: 0,
372
+ right: 0,
373
+ height: "1px",
374
+ visibility: "hidden",
375
+ pointerEvents: "none"
376
+ },
377
+ "aria-hidden": "true"
378
+ }
379
+ )
380
+ ]
409
381
  }
410
- }, "Loading..."))), shouldShowViewLessInScroll && __jsx(_Box["default"], {
411
- component: "a",
412
- className: "app-button btn btn-block on-demand-load-btn",
413
- onClick: pagination.resetAccumulatedData
414
- }, viewlessmessage), showVerticalScrollSentinel && __jsx(_Box["default"], {
415
- ref: function ref(el) {
416
- if (pagination.sentinelRef) {
417
- pagination.sentinelRef.current = el;
418
- }
419
- },
420
- sx: {
421
- position: "absolute",
422
- bottom: 0,
423
- left: 0,
424
- right: 0,
425
- height: "1px",
426
- visibility: "hidden",
427
- pointerEvents: "none"
428
- },
429
- "aria-hidden": "true"
430
- }));
382
+ );
431
383
  }
432
- return __jsx(_Box["default"], {
433
- className: (0, _clsx["default"])("app-datanavigator clearfix", className),
434
- sx: _objectSpread(_objectSpread({}, styles), {}, {
435
- width: "100%"
436
- }),
437
- id: name,
438
- onClick: function onClick(e) {
439
- return e.stopPropagation();
384
+ return /* @__PURE__ */ jsx(
385
+ Box,
386
+ {
387
+ className: clsx("app-datanavigator clearfix", className),
388
+ sx: __spreadProps(__spreadValues({}, styles), {
389
+ width: "100%"
390
+ }),
391
+ id: name,
392
+ onClick: (e) => e.stopPropagation(),
393
+ children: renderPaginationContent()
440
394
  }
441
- }, renderPaginationContent());
395
+ );
442
396
  });
443
397
  WmPagination.displayName = "WmPagination";
444
-
445
- /**
446
- * The WmPagination component is used to navigate through multiple pages of data.
447
- *
448
- * - [Playground](https://react-components.wavemaker.ai/?path=/story/data-pagination--showcase)
449
- *
450
- * - [Docs](https://react-components.wavemaker.ai/?path=/story/data-pagination--docs#tab-overview)
451
- *
452
- * @param props - {@link WmPaginationProps}
453
- */
454
- var _default = exports["default"] = WmPagination;
398
+ var pagination_default = WmPagination;
399
+ export {
400
+ pagination_default as default
401
+ };